iCONECT API Documentation 0.10.0 (v1)

Download OpenAPI specification:Download

Last updated: 2024-02-29

Required version of iCONECT: 11.2.5

Introduction

The iCONECT API allows developers to work with objects in iCONECT, including advanced functionality like managing clients, projects, records and files, using OpenID Connect authentication. This API uses common RESTful verbs, like GET, POST, PUT, and DELETE requests with JSON arguments and responses. Use this documentation to start making API calls.

The iCONECT API is a set of stateless services that uses endpoints to manage the following objects:

  • Clients: create, manage, and retrieve project association
  • Projects: create, manage, assign to a client and retrieve client association
  • Fields: create and manage fields in a project
  • Panels: create and manage panels in a project
  • Folders: create, manage, and assign to panels or parent folders
  • Records: create, manage, and assign to folders
  • Upload native files: manage the files linked to a record
  • Jobs: manage jobs in a project
  • Views: create and manage views in a project
  • File Stores: access file stores in a project
  • Templates: access templates in a project

Release Notes

Use these notes to review the latest iCONECT API and documentation updates. This section lists API operations and fields that were added, changed, or removed.

Changes in Beta 10

New Features and Updates

  • The REST API is now running on ASP.NET Core 6.0.
  • Documentation is now automatically updated with each build.
  • The REST API now authenticates with the iCONECT Identity Provider using OpenID Connect.

Breaking Changes

Modified or Updated Endpoints

  • Authorization: The REST API now uses OpenID Connect for authentication and authorization. The API access tokens are now in the form of a JSON Web Token (JWT) that is signed by the primary web UI instance.
  • Authorization: Password Grant will no longer issue a refresh token. It is advised to transition any Password Grant flows to different authentication.

Bug Fixes

  • Folders by ID: Added missing documentation for this endpoint.
  • Record Count: Added missing documentation for this endpoint.
  • Folders for Record: Added missing documentation for this endpoint.
  • Multiple corrections to the naming of enums, including brief descriptions of each value.

Changes in Beta 9

New Endpoints

  • Upload Target: Retrieves the project ID that has been configured in iCONECT for uploading data to.

Modified or Updated Endpoints

  • File Store Upload: The File Stores endpoint now supports functionality to upload files directly.
  • Authorization: Password Credentials Grant now issues a refresh token. See the Password Credentials Grant section for more details.
  • Create Records:
    • The Create Records endpoint now additionally supports adding references to Amazon S3 Buckets as native files.
    • The Create Records endpoint now returns more detailed error reporting.
  • Update Records: The Update Records endpoint now additionally supports adding references to Amazon S3 Buckets as native files.

Bug Fixes

Changes in Beta 8

New Endpoints

Modified or Updated Endpoints

  • Authorization: Proof Key for Code Exchange (PKCE) is now required when using the Authorization Code flow.

Bug Fixes

  • Fixed an issue in File Upload where users would not be able to upload a file in some cases.

Changes in Beta 7

  • This version did not have any API interface changes

Changes in Beta 6

New Endpoints

  • Templates: Access Native Import template objects in a project

Modified or Updated Endpoints

  • Jobs: Supported job types now include Native Imports
  • Records - List: Records List can now optionally accept a View ID
  • File - Upload: Improved performance when uploading a file in a single request (or chunk)

Changes in Beta 5

New Endpoints

  • Views: create and manage views in a project

Modified or Updated Endpoints

Changes in Beta 4

Modified or Updated Endpoints

  • Error handling for the update records endpoint was adjusted. If there is an issue on one record passed in, all other records will still be updated. A 200 response will be returned along with an array that lists the specific records that could not be updated: Records - Update

Changes in Beta 3

New Endpoints

  • Jobs: manage jobs in a project
  • File Stores: access file store objects in a project

Modified or Updated Endpoints

  • The endpoint to upload a file now includes support for large files, with the ability to use chunked uploads. This endpoint now also requires the set up of a Native File Upload File Store for the project. See File - Upload
  • Error handling for the update records endpoint was adjusted. If there is an issue on one record passed in, all other records will still be updated. The returned error will contain information for every failure that happened during the update: Records - Update

Bug Fixes

  • Requests with the content type application/json; charset=utf-8 are now permitted

Changes in Beta 2

New Features and Updates

  • This iCONECT REST API is in a new format .
  • All endpoints return more specific codes. See Response Codes for details.
  • Endpoints that query objects by ID now return 404 - Not found code when the object doesn't exist
  • Authorization_code flow was introduced to the OAuth authentication replacing the password flow from Beta 1. See the Authorization section for more details on how the access and refresh token is retrieved.

New Endpoints

Modified or Updated Endpoints

  • The endpoint to deactivate a Client is renamed to /clients/:id/deactivate: Client - Deactivate
  • The endpoint to deactivate a Project is renamed to /projects/:id/deactivate: Project - Deactivate
  • The project list endpoint now allows filtering projects and templates. See Project List for more details
  • Null and empty fields are now handled and validated when creating or updating records: Records - Update
  • Files: parameters are now provided in the path. Only the file parameter should be provided in the body of the request: See Files for details.

Bug Fixes

  • The Panel location property description was updated to the correct enum: Panel - Create
  • The create records endpoint now returns all successfully create records: Records - Create
  • Fixed an issue where querying a record by ID returned a list instead of a single record
  • Fixed an issue where querying an empty folder returned records
  • Fixed an issue where querying a folder by ID returned a list instead of a single folder
  • Fixed an issue where updating multiple records that contained an invalid record could cause a failure to update all records

Terms of Use

The material in this document is the sole and exclusive intellectual property or iCONECT Development, LLC and/or iCONECT Worldwide Inc. Collectively (“iCONECT”). ICONECT believes the information in this publication is accurate as of its publication date. The information is subject to change without notice. The information in this publication is provided “as is”. ICONECT makes no representation or warranties of any kind with respect to the information in this publication and specifically disclaims implied warranties of merchantability or fitness for a particular purpose. Using, copying, and distribution of any ICONECT software described in this publication requires an applicable software license which is available by contacting info@iconect.com .

The information in this document is provided for use with ICONECT products. No licence, express or implied, to any intellectual property associated with this document or such products is granted by this document.

All ICONECT products described in this document are owned by ICONECT (or those companies that have licensed technology to ICONECT) and are protected by patents, trade secrets, copyrights or other industrial property rights worldwide.

The ICONECT products described in this document may still be in development. The final form of each product and release date thereof is at the sole and absolute discretion of ICONECT. Your purchase, license and/or use of ICONECT products shall be subject to ICONECT’s then current sales terms and conditions.

Downloading and/or use of any component herein confirms your agreement with these Terms of Use and you agree to be bound by these Terms of Use without signature.

Product Support

If you need more information about using the iCONECT API, contact iCONECT Support at (855) 915-8888 (non-US +1 519-645-6190) or email support@iconect.com.

Response Codes

The iCONECT API uses standard REST response status codes to indicate the success or failure of the calls.

The body of the response will be JSON in the following format for errors:

  { "iconect_error": "message" }

And for success codes:

  { "iconect_ok": "message" } 

The response code will be included in the header of the response and can be one of the following:

Response Code Explanation Description
200 OK The request was completed
201 Created The object was created
400 Bad Request Incorrect request. Please check the parameters
401 Unauthorized Access is not yet authorized
403 Forbidden The endpoint is not available with the level of access
404 Not found The object was not found
415 Unsupported Media Type The request was sent with an incorrect media type
500 Internal Server Error An internal server error has occurred

Authorization

The iCONECT Rest API supports OpenID Connect authenication and authorization.

The authorization code grant permits external application access to the API, which acts on behalf of the authorizing user and is the recommended flow. An external application must be registered with iCONECT before it can use OpenID Connect to authenticate users using the authorization code grant.

The password credentials grant is only recommended when a single user will act on behalf of a 3rd party application.

Authorization Code Grant

Administrators can create, and Users need to authorize access of external applications to the API. Before this can be done you need to ensure the external applications are authorized to access the API. You can revoke the access to the authorized application at any time.

Authorizing via OIDC requires the following steps:

  1. Create the application in iCONECT
    • Register for a new application. Log into iCONECT using your Administrator account.
    • Open Administration. The application menu will be displayed in the left sidebar.
    • Click New Application. This button can be found in the top right corner of the page.
    • Enter the name of the application and its redirect URI. If this application is a web UI, consider adding a Logout Redirect URI. Click Create.
    • Once the application is created go to the Application page and click on its name to get the client ID and client secret key.
  2. Get authorization from the user
  3. Retrieve the access code and token
  4. Make Authenticated Requests with the token

Obtaining an Authentication Code

The application accessing the Rest API needs to be registered on iCONECT v10. Administrators can provide the client_id and client_secret to the external application after it is created in iCONECT.

The external application can obtain an access code (to get the access token) sending a GET request to:

https://{identityURL}/openid/authorize
Parameter Type Explanation
client_id string The client_id provided by an iCONECT administrator
response_type string Must be 'code'
redirect_uri string Redirect_URI must match the URL registered with the external application in iCONECT v10
state string A hash code used by the external application to validate iCONECT's response
code_challenge string A code computed using a unique code verifier and the specified hash method
code_challenge_method string Must be 'S256'

Once completed, an iCONECT authorization page displays. If the external application is authorized, iCONECT sends the authorization code to the redirect_uri.

Getting Access Token with Authentication Code

The external application can request an access token using the code obtained from the https://{identityURL}/openid/authorize endpoint along with the other parameters provided, sending a POST request to:

https://{identityURL}/openid/token
Parameter Type Explanation
code string The code returned from the /openid/token endpoint.
client_id string The client_id provided by an iCONECT administrator.
client_secret string The client_secret provided by an iCONECT administrator. This parameter should be omitted for non-confidential applications.
grant_type string 'authorization_code'
redirect_uri string Redirect_URI must match the URL registered with the application in iCONECT.
code_verifier string The string used to generate the code_challenge above.

If the response is successful, you are returned with a JSON string that contains the access, refresh tokens, and the expiry time in seconds.

Note: Once a refresh token has been used to acquire a new access token, it is considered to be consumed and is no longer valid.\

{'access_token': 'dh2389yhf93h28f38fg239rf3g2f9823hf23fh2398f4','token_type': 'bearer','expires_in': 3559,'refresh_token': 't3f389yhf93h28f38fg239rf3g2f9823hf23fh2398f4'
}

The external application can obtain access to the Rest API points using the token provided.

Response Code Explanation
200 OK JSON string with the access token
400 Bad Request Incorrect request. Please check the parameters
401 Unauthorized Missing, incorrectly formatted or invalid combination of parameters
500 Server Error An internal server error has occurred

Getting Access Token with Refresh Token

The external application can request the access token using the refresh_token obtained from the https://{identityURL}/openid/token endpoint along with the other parameters provided, sending a POST request to:

https://{identityURL}/openid/token
Parameter Type Explanation
grant_type string 'refresh_token'
refresh_token string The refresh_token is provided with every token request.
client_id string The client_id provided by an iCONECT administrator.

If the response is successful, you are returned with a a JSON string that contains the access, refresh tokens, and the expiry time in seconds:

{'access_token': 'dh2389yhf93h28f38fg239rf3g2f9823hf23fh2398f4','token_type': 'bearer','expires_in': 3559
}

The external application can obtain access to the Rest API points using the token provided.

Response Code Explanation
200 OK JSON string with the access token
400 Bad Request Incorrect request. Please check the parameters
401 Unauthorized Missing, incorrectly formatted or invalid combination of parameters
500 Server Error An internal server error has occurred

Authorization flow

1. Request authorization code

To request the authorization code, redirect the user to the https://{identityURL}/openid/authorize endpoint with the following GET parameters:

https://{identityURL}/openid/authorize?
    client_id=APP_ID&
    redirect_uri=REDIRECT_URI&
    response_type=code&
    state=YOUR_UNIQUE_STATE_HASH
    code_challenge=YOUR_UNIQUELY_GENERATED_HASH
    code_challenge_method=S256
    grant_type=client_credential
        

This will open the iCONECT login page to approve the application's access to their account and then redirect back to REDIRECT_URI that you provided. The redirect will includes a code parameter. For example if the REDIRECT_URI is https://mywebapp.com/oauth/redirect then the redirected URL will be:

https://mywebapp.com/oauth/redirect?code=1234567890&state=YOUR_UNIQUE_STATE_HASH

Use this code to request an access token. Note that: https is required and the REDIRECT_URI given in the request must be the same as the URI that is used when registering the application. For example https://mywebapp.com is not the same as https://mywebapp.com/ do not match because there is an extra \.

2. Request access token with authorization code

Once you have the authorization code you can request an access_token using any HTTP client. In the following example, we are using Java's Unirest library:

HttpResponse<String> response = Unirest.post("https://{identityURL}/openid/token")
.header("Content-Type", "application/x-www-form-urlencoded")
.field("client_id", "{client_id}")
.field("code", "{code}")
.field("redirect_uri", "{wwww}")
.field("grant_type", "client_credentials")
.field("code_verifier", "{pkce_code_verifier}")
.asString();

Example response:

{'access_token': 'dh2389yhf93h28f38fg239rf3g2f9823hf23fh2398f4','token_type': 'bearer','expires_in': 7200,'refresh_token': 't3f389yhf93h28f38fg239rf3g2f9823hf23fh2398f4'
}

3. Request access token with refresh token

Since the access token is set to expire you can request for a new access token using the refresh_token using any HTTP client. In the following example, we are using Java's Unirest library:

HttpResponse<String> response = Unirest.post("https://{identityURL}/openid/token")
    .header("Content-Type", "application/x-www-form-urlencoded")
    .field("client_id", "{client_id}")
    .field("refresh_token", "{refresh_token}")
    .field("grant_type", "refresh_token")
    .asString();

Example response:

{'access_token': 'dh2389yhf93h28f38fg239rf3g2f9823hf23fh2398f4','token_type': 'bearer','expires_in': 3559
}

Password Credentials Grant

The Password Credentials Grant allows a 3rd party application to authenticate by providing the username and password for a single user that will perform all API Actions. An OAuth request is made providing the credentials.

A single request is made to obtain an access token which is then used as a bearer token for further requests.

In the following example, we are using Java's Unirest library:

HttpResponse<String> response = Unirest.post("https://{identityURL}/openid/token")
.header("Content-Type", "application/x-www-form-urlencoded")
.field("grant_type", "password")
.field("username", "jsmith")
.field("password", "Password1234")
.field("client_id", "{client_id}")
.asString();

Example response:

{'access_token': 'dh2389yhf93h28f38fg239rf3g2f9823hf23fh2398f4','token_type': 'bearer','expires_in': 3559,'refresh_token': 't3f389yhf93h28f38fg239rf3g2f9823hf23fh2398f4'
}

DataServers

Endpoints to manage data servers in iCONECT.

List of Data Servers

Retrieves the list of all available data servers in the system.

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Data Server for a Project

Retrieves the ID of the data server for a specific project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "type": 0
}

Files

Endpoints to manage the files linked to a record in a project

File - Download

Downloads a file from the record.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 322

record_id
required
integer <int64>

Example: 1501

field_id
required
integer <int64>

Example: 2

Responses

Response samples

Content type
application/json
"string"

File - Upload

Uploads a native file to a record.

This endpoint requires a Native File Upload File Store configured for the project.

You can upload a file using a single request or upload a large file using a series of requests.For large files, you can use the chunk_index and chunk_count parameters to upload each chunk in sequence.Because of the performance cost of resassembling the complete file on the server, it is recommended to upload files in one single chunk when possible.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 322
The ID of the project

record_id
required
integer <int64>

Example: 1501
The ID of the record

field_id
required
integer <int64>

Example: 2
The ID of the field

query Parameters
chunk_index
integer <int32>
Default: 1

Example: chunk_index=1
The index of the chunk. Note that the index should start at 1

chunk_count
integer <int32>
Default: 1

Example: chunk_count=6
The total number of chunks used for the file

Responses

Response samples

Content type
application/json
{
  • "iconect_error": "string"
}

File - Delete

Deletes a native file from a record.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 322

record_id
required
integer <int64>

Example: Example: 1501

field_id
required
integer <int64>

Example: 2

Responses

Response samples

Content type
application/json
{
  • "iconect_error": "string"
}

Filestores

Endpoints to manage file stores in a project.

File Stores - List

Retrieves the list of file stores in a project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 310

Responses

Response samples

Content type
application/json
[
  • {
    }
]

File Store by ID

Retrieves the file store by ID.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 83

filestore_id
required
integer <int64>

Example: 318

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "retention_days": 0,
  • "type": 0,
  • "local_config": {
    },
  • "credential_id": 0,
  • "set_file_store_areas": 0,
  • "management_type": 0,
  • "description": "string",
  • "created_date": "string",
  • "modified_date": "string"
}

File Store - Upload

Upload a file directly to a File Store

You can upload a file using a single request or upload a large file using a series of requests.For large files, you can use the chunk_index and chunk_count parameters to upload each chunk in sequence.Because of the performance cost of resassembling the complete file on the server, it is recommended to upload files in one single chunk when possible.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 83

filestore_id
required
integer <int64>

Example: 1

query Parameters
chunk_index
integer <int32>
Default: 1

Example: chunk_index=1
The index of the chunk.Note that the index should start at 1

chunk_count
integer <int32>
Default: 1

Example: chunk_count=6
The total number of chunks used for the file

Responses

Response samples

Content type
application/json
{
  • "iconect_ok": "string"
}

Jobs

Endpoints to initiate a delete records, native import, delimited import, or zip file extraction job. Delimited import and zip file extraction jobs are used for processed imports in a project.

Jobs - List

Retrieves the list of jobs in a project. You can retrieve three job types:

  • Delete records
  • Delimited import
  • Zip file extraction
Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 310

query Parameters
start_row
integer <int64>
Default: 0
job_count
integer <int64>
Default: 20
types
Array of integers <int64> [ items <int64 > ]

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Jobs - Create

Creates a delete records, native import, delimited, or zip file extraction job.

The details object needs be provided according to the type of job selected(see example).

Returns the objects created.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

Request Body schema: application/json
id
integer <int64>
type
integer <int32> (iconect.api.structs.jobs.Type)
Enum: 50006 50007 50020 50035

The type of the job.

Members:

  • 50006 - iconect.api.structs.jobs.Type.MassActionDelete
  • 50007 - iconect.api.structs.jobs.Type.DelimitedImport
  • 50020 - iconect.api.structs.jobs.Type.ZipFileExtraction
  • 50035 - iconect.api.structs.jobs.Type.NativeImport

name
string or null
description
string or null
created_date
string or null
last_run_utc
string or null
status_message
string or null
created_user_id
integer <int64>
status
integer <int32> (iconect.api.structs.jobs.Status)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

The status of the job.

Members:

  • 0 - iconect.api.structs.jobs.Status.Not_Started
  • 1 - iconect.api.structs.jobs.Status.Scheduled
  • 2 - iconect.api.structs.jobs.Status.NotFound
  • 3 - iconect.api.structs.jobs.Status.Error
  • 4 - iconect.api.structs.jobs.Status.Cancelled
  • 5 - iconect.api.structs.jobs.Status.Completed
  • 6 - iconect.api.structs.jobs.Status.Working
  • 7 - iconect.api.structs.jobs.Status.WaitingForWorker
  • 8 - iconect.api.structs.jobs.Status.CompletedWithErrors
  • 9 - iconect.api.structs.jobs.Status.Undoing
  • 10 - iconect.api.structs.jobs.Status.Undone
  • 11 - iconect.api.structs.jobs.Status.UndoFailed
  • 12 - iconect.api.structs.jobs.Status.ManualInterventionRequired
  • 13 - iconect.api.structs.jobs.Status.CompletedWithWarnings
  • 14 - iconect.api.structs.jobs.Status.CompletedWithStatus
  • 15 - iconect.api.structs.jobs.Status.BlockedByOtherWork

state
integer <int32> (iconect.api.structs.jobs.State)
Enum: 0 1 2 3 4

The state of the job.

Members:

  • 0 - iconect.api.structs.jobs.State.Stopped
  • 1 - iconect.api.structs.jobs.State.Starting
  • 2 - iconect.api.structs.jobs.State.Running
  • 3 - iconect.api.structs.jobs.State.Cancelling
  • 4 - iconect.api.structs.jobs.State.Paused

project_id
integer <int64>
last_stop_utc
string or null
required
DelimitedImportJob (object) or ZipFileExtractionJob (object) or MassActionDeleteJob (object) or NativeImportInfo (object)
(DelimitedImportJobResult (object or null)) or (ZipFileExtractionResult (object or null)) or (MassActionDeleteJob (object or null)) or (NativeImportJob (object or null))

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "type": 50006,
  • "name": "string",
  • "description": "string",
  • "created_date": "string",
  • "last_run_utc": "string",
  • "status_message": "string",
  • "created_user_id": 0,
  • "status": 0,
  • "state": 0,
  • "project_id": 0,
  • "last_stop_utc": "string",
  • "details": {
    },
  • "results": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": 50006,
  • "name": "string",
  • "description": "string",
  • "created_date": "string",
  • "last_run_utc": "string",
  • "status_message": "string",
  • "created_user_id": 0,
  • "status": 0,
  • "state": 0,
  • "project_id": 0,
  • "last_stop_utc": "string"
}

Jobs by ID

Retrieves the job by ID.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 83

job_id
required
integer <int32>

Example: 219115

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": 50006,
  • "name": "string",
  • "description": "string",
  • "created_date": "string",
  • "last_run_utc": "string",
  • "status_message": "string",
  • "created_user_id": 0,
  • "status": 0,
  • "state": 0,
  • "project_id": 0,
  • "last_stop_utc": "string"
}

Jobs - Update

Updates the name and description of a Job.

Returns the job with the updated details.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

job_id
required
integer <int32>

Example: 31

Request Body schema: application/json
id
integer <int64>
type
integer <int32> (iconect.api.structs.jobs.Type)
Enum: 50006 50007 50020 50035

The type of the job.

Members:

  • 50006 - iconect.api.structs.jobs.Type.MassActionDelete
  • 50007 - iconect.api.structs.jobs.Type.DelimitedImport
  • 50020 - iconect.api.structs.jobs.Type.ZipFileExtraction
  • 50035 - iconect.api.structs.jobs.Type.NativeImport

name
string or null
description
string or null
created_date
string or null
last_run_utc
string or null
status_message
string or null
created_user_id
integer <int64>
status
integer <int32> (iconect.api.structs.jobs.Status)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

The status of the job.

Members:

  • 0 - iconect.api.structs.jobs.Status.Not_Started
  • 1 - iconect.api.structs.jobs.Status.Scheduled
  • 2 - iconect.api.structs.jobs.Status.NotFound
  • 3 - iconect.api.structs.jobs.Status.Error
  • 4 - iconect.api.structs.jobs.Status.Cancelled
  • 5 - iconect.api.structs.jobs.Status.Completed
  • 6 - iconect.api.structs.jobs.Status.Working
  • 7 - iconect.api.structs.jobs.Status.WaitingForWorker
  • 8 - iconect.api.structs.jobs.Status.CompletedWithErrors
  • 9 - iconect.api.structs.jobs.Status.Undoing
  • 10 - iconect.api.structs.jobs.Status.Undone
  • 11 - iconect.api.structs.jobs.Status.UndoFailed
  • 12 - iconect.api.structs.jobs.Status.ManualInterventionRequired
  • 13 - iconect.api.structs.jobs.Status.CompletedWithWarnings
  • 14 - iconect.api.structs.jobs.Status.CompletedWithStatus
  • 15 - iconect.api.structs.jobs.Status.BlockedByOtherWork

state
integer <int32> (iconect.api.structs.jobs.State)
Enum: 0 1 2 3 4

The state of the job.

Members:

  • 0 - iconect.api.structs.jobs.State.Stopped
  • 1 - iconect.api.structs.jobs.State.Starting
  • 2 - iconect.api.structs.jobs.State.Running
  • 3 - iconect.api.structs.jobs.State.Cancelling
  • 4 - iconect.api.structs.jobs.State.Paused

project_id
integer <int64>
last_stop_utc
string or null
required
DelimitedImportJob (object) or ZipFileExtractionJob (object) or MassActionDeleteJob (object) or NativeImportInfo (object)
(DelimitedImportJobResult (object or null)) or (ZipFileExtractionResult (object or null)) or (MassActionDeleteJob (object or null)) or (NativeImportJob (object or null))

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "type": 50006,
  • "name": "string",
  • "description": "string",
  • "created_date": "string",
  • "last_run_utc": "string",
  • "status_message": "string",
  • "created_user_id": 0,
  • "status": 0,
  • "state": 0,
  • "project_id": 0,
  • "last_stop_utc": "string",
  • "details": {
    },
  • "results": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": 50006,
  • "name": "string",
  • "description": "string",
  • "created_date": "string",
  • "last_run_utc": "string",
  • "status_message": "string",
  • "created_user_id": 0,
  • "status": 0,
  • "state": 0,
  • "project_id": 0,
  • "last_stop_utc": "string"
}

Jobs - Delete

Deletes a job.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

job_id
required
integer <int32>

The ID of the job

query Parameters
delete_data
boolean
Default: false

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": 50006,
  • "name": "string",
  • "description": "string",
  • "created_date": "string",
  • "last_run_utc": "string",
  • "status_message": "string",
  • "created_user_id": 0,
  • "status": 0,
  • "state": 0,
  • "project_id": 0,
  • "last_stop_utc": "string"
}

Jobs - Start

Starts the delete records, delimited import or Zip file extraction job.

Note: The Post request can also be used to complete this operation.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

job_id
required
integer <int32>

Example: 31

Request Body schema: application/json
view_id
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "view_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": 50006,
  • "name": "string",
  • "description": "string",
  • "created_date": "string",
  • "last_run_utc": "string",
  • "status_message": "string",
  • "created_user_id": 0,
  • "status": 0,
  • "state": 0,
  • "project_id": 0,
  • "last_stop_utc": "string"
}

Jobs - Start

Starts the delete records, delimited import or Zip file extraction job.

Note: The Post request can also be used to complete this operation.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

job_id
required
integer <int32>

Example: 31

Request Body schema: application/json
view_id
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "view_id": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": 50006,
  • "name": "string",
  • "description": "string",
  • "created_date": "string",
  • "last_run_utc": "string",
  • "status_message": "string",
  • "created_user_id": 0,
  • "status": 0,
  • "state": 0,
  • "project_id": 0,
  • "last_stop_utc": "string"
}

Jobs - Stop

Stops the delete records, delimited import or Zip file extraction job.

Note: The Post request can also be used to complete this operation.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

job_id
required
integer <int32>

Example: 31

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": 50006,
  • "name": "string",
  • "description": "string",
  • "created_date": "string",
  • "last_run_utc": "string",
  • "status_message": "string",
  • "created_user_id": 0,
  • "status": 0,
  • "state": 0,
  • "project_id": 0,
  • "last_stop_utc": "string"
}

Jobs - Stop

Stops the delete records, delimited import or Zip file extraction job.

Note: The Post request can also be used to complete this operation.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

job_id
required
integer <int32>

Example: 31

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": 50006,
  • "name": "string",
  • "description": "string",
  • "created_date": "string",
  • "last_run_utc": "string",
  • "status_message": "string",
  • "created_user_id": 0,
  • "status": 0,
  • "state": 0,
  • "project_id": 0,
  • "last_stop_utc": "string"
}

Records

Endpoints to manage the records in a project

Records by ID

Retrieves the selected record from the selected project.

The returned object contains an array with the requested record.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>
Example: 322

The ID of the project.

record_id
required
integer <int64>
Example: 1501
query Parameters
field_ids
Array of integers <int64> [ items <int64 > ]

Optional array of comma separated field IDs. If none are provided, all fields are returned

Responses

Response samples

Content type
application/json
{
  • "field_data": {
    },
  • "id": 0,
  • "version": 0
}

Record - Delete

Deletes a record.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

The ID of the project.
Example: 322

record_id
required
integer <int64>

Example: 1509

Responses

Response samples

Content type
application/json
{
  • "iconect_ok": "string"
}

Records - List

Retrieves the records for a project. If no parameters are provided, the API will return 100 records.

The returned object contains an array of records.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>
Example: 322

The ID of the project.

query Parameters
field_ids
Array of integers <int64> [ items <int64 > ]

Optional list of field IDs to be included.

record_ids
Array of integers <int64> [ items <int64 > ]

Optional list of record IDs to select (mutually exclusive with view_id).

page
integer <int64>
Default: 1

Which page to begin fetching from.

page_size
integer <int32>
Default: 50

The number of records to be returned per page.

size_limit
integer <int64>
Default: 100

The maximum length of the field.

view_id
integer <int64>

(optional) filtering view ID (mutually exclusive with record_ids).

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create New Records

Creates new records in a project. When creating a new record, you can also provide the following parameters:

  • identify when incoming records are duplicates of existing records: use hash_ids
  • add references to native files hosted in Amazon Web Services(AWS) S3: use filestore_id and native_field_id.This will add a reference to the native file field for an S3 identifier.
The response will return on an object, either with the list of newly created records new_records_list, or duplicated duplicated_list.The list duplicated_list are objects not inserted into the project because they are identified as duplicates.
Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

The ID of the project.
Example: 322

Request Body schema: application/json
hash_ids
Array of integers or null <int64>
filestore_id
integer <int64>

The S3 file store. This file store contains the credentials that will be used to access the Amazon S3 bucket.

native_field_id
integer <int32>

The native file field in the project that is set up with the S3 file store. This ID must be present in the field_data object.

Array of objects or null (Record)

Responses

Request samples

Content type
application/json
{
  • "hash_ids": [
    ],
  • "filestore_id": 0,
  • "native_field_id": 0,
  • "records": [
    ]
}

Response samples

Content type
application/json
{
  • "iconect_ok": "string",
  • "new_records_list": {
    },
  • "duplicate_list": {
    },
  • "record_errors": [
    ]
}

Records - Update

Updates a list of records. If any records could not be updated, other records are still updated and 200 OK is returned. The record_errors portion of the response will contain information on failed records.

To update a record's native file with a file hosted in AWS S3, optionally include the filestore_id and native_field_id in the request body. This will add a reference to the native file field for an S3 Identifier.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

The ID of the project.
Example: 322

Request Body schema: application/json
hash_ids
Array of integers or null <int64>
filestore_id
integer <int64>

The S3 file store. This file store contains the credentials that will be used to access the Amazon S3 bucket.

native_field_id
integer <int32>

The native file field in the project that is set up with the S3 file store. This ID must be present in the field_data object.

Array of objects or null (Record)

Responses

Request samples

Content type
application/json
{
  • "hash_ids": [
    ],
  • "filestore_id": 0,
  • "native_field_id": 0,
  • "records": [
    ]
}

Response samples

Content type
application/json
{
  • "iconect_ok": "string",
  • "record_errors": [
    ]
}

Records - Count

Retrieves the number of records for a project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

The ID of the project.
Example: 322

Responses

Folders for Record

Retrieves the folder IDs that are associated with the given record_id.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

The ID of the project.
Example: 322

record_id
required
integer <int64>

Responses

Response samples

Content type
application/json
[
  • 0
]

Clients

Clients

Retrieves a list of all clients in the system.

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Client - Create

Creates a Client. The example code shows the structure of the object (see example).

Authorizations:
Bearer
Request Body schema: application/json
required
name
required
string non-empty
description
required
string non-empty
state
required
integer <int32> (iconect.api.structs.State)
Enum: 0 2

The active status of the object.

Members:

  • 0 - iconect.api.structs.State.Active
  • 2 - iconect.api.structs.State.Disabled

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "state": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "state": 0
}

Client by ID

Retrieves the client by ID.

Authorizations:
Bearer
path Parameters
client_id
required
integer <int64>

Example: 83

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "state": 0
}

Client - Delete

Deletes a client.

Authorizations:
Bearer
path Parameters
client_id
required
integer <int64>

Responses

Response samples

Content type
application/json
{
  • "iconect_ok": "string"
}

Client - Update


Updates the properties of a Client. This structure is similar to the post (create) request. The URL needs to include the id of the Client that you want to update.
If the operation is successful, the return object will include the id of the updated client and the parameters passed in the request.
Note: This action can also be achieved using the /activate and /deactivate endpoints.

Authorizations:
Bearer
path Parameters
client_id
required
integer <int64>

Example: 83

Request Body schema: application/json
required
name
required
string non-empty
description
required
string non-empty
state
required
integer <int32> (iconect.api.structs.State)
Enum: 0 2

The active status of the object.

Members:

  • 0 - iconect.api.structs.State.Active
  • 2 - iconect.api.structs.State.Disabled

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "state": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "state": 0
}

Client - Activate

Activates a client.

Authorizations:
Bearer
path Parameters
client_id
required
integer <int64>

Example: 83

Responses

Response samples

Content type
application/json
{
  • "iconect_ok": "string"
}

Client - Deactivate

Deactivates a client.

Authorizations:
Bearer
path Parameters
client_id
required
integer <int64>

Example: 83

Responses

Response samples

Content type
application/json
{
  • "iconect_ok": "string"
}

Fields

Fields - List

Retrieves the list of all fields in a project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 310

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Fields - Create

Creates fields for a project. You can add more than one field using this process. See example. Returns the objects created.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

Request Body schema: application/json
Array
id
integer <int32>
type
required
integer <int32> (iconect.api.structs.FieldType)
Enum: 0 1 2 3 4 5 6 7 8 9 10

The type of the field.

Members:

  • 0 - iconect.api.structs.FieldType.LIMITED_TEXT
  • 1 - iconect.api.structs.FieldType.FULL_TEXT
  • 2 - iconect.api.structs.FieldType.DATE
  • 3 - iconect.api.structs.FieldType.NUMERIC
  • 4 - iconect.api.structs.FieldType.NATIVE_FILE
  • 5 - iconect.api.structs.FieldType.IMAGE_LINK
  • 6 - iconect.api.structs.FieldType.CURRENCY
  • 7 - iconect.api.structs.FieldType.DATETIME
  • 8 - iconect.api.structs.FieldType.DURATION
  • 9 - iconect.api.structs.FieldType.IDENTITY
  • 10 - iconect.api.structs.FieldType.COMPUTED

name
required
string non-empty
length
integer <int32>
date_format
integer <int32> (iconect.api.structs.DateFormat)
Enum: 0 1 2 3 4 5 6 7

The formats dates are in.

Members:

  • 0 - iconect.api.structs.DateFormat.NOT_APPLICABLE
  • 1 - iconect.api.structs.DateFormat.DDMMYY
  • 2 - iconect.api.structs.DateFormat.DDMMYYYY
  • 3 - iconect.api.structs.DateFormat.MMDDYY
  • 4 - iconect.api.structs.DateFormat.MMDDYYYY
  • 5 - iconect.api.structs.DateFormat.YYMMDD
  • 6 - iconect.api.structs.DateFormat.YYYYMMDD
  • 7 - iconect.api.structs.DateFormat.YYYYMMDDNOSPLIT

numeric_format
integer <int32> (iconect.api.structs.NumericFormat)
Enum: 0 1 2 3

The display format of numeric values.

Members:

  • 0 - iconect.api.structs.NumericFormat.NOT_APPLICABLE
  • 1 - iconect.api.structs.NumericFormat.NORMAL
  • 2 - iconect.api.structs.NumericFormat.ZERO_FILLED
  • 3 - iconect.api.structs.NumericFormat.PERCENTAGE

decimal_format
integer <int32>
currency_format
integer <int32> (iconect.api.structs.CurrencyFormat)
Enum: 0 1 2 3

The format currencies are in.

Members:

  • 0 - iconect.api.structs.CurrencyFormat.NOT_APPLICABLE
  • 1 - iconect.api.structs.CurrencyFormat.DOLLARS
  • 2 - iconect.api.structs.CurrencyFormat.EUROS
  • 3 - iconect.api.structs.CurrencyFormat.POUND

time_format
integer <int32> (iconect.api.structs.TimeFormat)
Enum: 0 1 2

The formats times are in.

Members:

  • 0 - iconect.api.structs.TimeFormat.NOT_APPLICABLE
  • 1 - iconect.api.structs.TimeFormat.HHMMSSAMPM
  • 2 - iconect.api.structs.TimeFormat.HHMMSS

duration_format
integer <int32> (iconect.api.structs.DurationFormat)
Enum: 0 1

The format used for duration values.

Members:

  • 0 - iconect.api.structs.DurationFormat.NOT_APPLICABLE
  • 1 - iconect.api.structs.DurationFormat.DAYS_PLUS_HHMMSS

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": 0,
  • "name": "string",
  • "length": 0,
  • "date_format": 0,
  • "numeric_format": 0,
  • "decimal_places": 0,
  • "currency_format": 0,
  • "time_format": 0,
  • "duration_format": 0,
  • "created_by_id": 0,
  • "created_date": "string",
  • "default_value": "string",
  • "text_format": 0,
  • "multi_value_delimiters": "string"
}

Field by ID

Retrieves the Field by ID.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 322

id
required
integer <int64>

Example: 31

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": 0,
  • "name": "string",
  • "length": 0,
  • "date_format": 0,
  • "numeric_format": 0,
  • "decimal_places": 0,
  • "currency_format": 0,
  • "time_format": 0,
  • "duration_format": 0,
  • "created_by_id": 0,
  • "created_date": "string",
  • "default_value": "string",
  • "text_format": 0,
  • "multi_value_delimiters": "string"
}

Fields - Update

Updates a field. The object submitted to the endpoint should follow the format specified. Returns the updated field.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

field_id
required
integer <int32>

Example: 31

Request Body schema: application/json
id
integer <int32>
type
required
integer <int32> (iconect.api.structs.FieldType)
Enum: 0 1 2 3 4 5 6 7 8 9 10

The type of the field.

Members:

  • 0 - iconect.api.structs.FieldType.LIMITED_TEXT
  • 1 - iconect.api.structs.FieldType.FULL_TEXT
  • 2 - iconect.api.structs.FieldType.DATE
  • 3 - iconect.api.structs.FieldType.NUMERIC
  • 4 - iconect.api.structs.FieldType.NATIVE_FILE
  • 5 - iconect.api.structs.FieldType.IMAGE_LINK
  • 6 - iconect.api.structs.FieldType.CURRENCY
  • 7 - iconect.api.structs.FieldType.DATETIME
  • 8 - iconect.api.structs.FieldType.DURATION
  • 9 - iconect.api.structs.FieldType.IDENTITY
  • 10 - iconect.api.structs.FieldType.COMPUTED

name
required
string non-empty
length
integer <int32>
date_format
integer <int32> (iconect.api.structs.DateFormat)
Enum: 0 1 2 3 4 5 6 7

The formats dates are in.

Members:

  • 0 - iconect.api.structs.DateFormat.NOT_APPLICABLE
  • 1 - iconect.api.structs.DateFormat.DDMMYY
  • 2 - iconect.api.structs.DateFormat.DDMMYYYY
  • 3 - iconect.api.structs.DateFormat.MMDDYY
  • 4 - iconect.api.structs.DateFormat.MMDDYYYY
  • 5 - iconect.api.structs.DateFormat.YYMMDD
  • 6 - iconect.api.structs.DateFormat.YYYYMMDD
  • 7 - iconect.api.structs.DateFormat.YYYYMMDDNOSPLIT

numeric_format
integer <int32> (iconect.api.structs.NumericFormat)
Enum: 0 1 2 3

The display format of numeric values.

Members:

  • 0 - iconect.api.structs.NumericFormat.NOT_APPLICABLE
  • 1 - iconect.api.structs.NumericFormat.NORMAL
  • 2 - iconect.api.structs.NumericFormat.ZERO_FILLED
  • 3 - iconect.api.structs.NumericFormat.PERCENTAGE

decimal_format
integer <int32>
currency_format
integer <int32> (iconect.api.structs.CurrencyFormat)
Enum: 0 1 2 3

The format currencies are in.

Members:

  • 0 - iconect.api.structs.CurrencyFormat.NOT_APPLICABLE
  • 1 - iconect.api.structs.CurrencyFormat.DOLLARS
  • 2 - iconect.api.structs.CurrencyFormat.EUROS
  • 3 - iconect.api.structs.CurrencyFormat.POUND

time_format
integer <int32> (iconect.api.structs.TimeFormat)
Enum: 0 1 2

The formats times are in.

Members:

  • 0 - iconect.api.structs.TimeFormat.NOT_APPLICABLE
  • 1 - iconect.api.structs.TimeFormat.HHMMSSAMPM
  • 2 - iconect.api.structs.TimeFormat.HHMMSS

duration_format
integer <int32> (iconect.api.structs.DurationFormat)
Enum: 0 1

The format used for duration values.

Members:

  • 0 - iconect.api.structs.DurationFormat.NOT_APPLICABLE
  • 1 - iconect.api.structs.DurationFormat.DAYS_PLUS_HHMMSS

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "type": 0,
  • "name": "string",
  • "length": 0,
  • "date_format": 0,
  • "numeric_format": 0,
  • "decimal_format": 0,
  • "currency_format": 0,
  • "time_format": 0,
  • "duration_format": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": 0,
  • "name": "string",
  • "length": 0,
  • "date_format": 0,
  • "numeric_format": 0,
  • "decimal_places": 0,
  • "currency_format": 0,
  • "time_format": 0,
  • "duration_format": 0,
  • "created_by_id": 0,
  • "created_date": "string",
  • "default_value": "string",
  • "text_format": 0,
  • "multi_value_delimiters": "string"
}

Fields - Delete

Deletes a field.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 322

field_id
required
integer <int64>

Example: 29

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": 0,
  • "name": "string",
  • "length": 0,
  • "date_format": 0,
  • "numeric_format": 0,
  • "decimal_places": 0,
  • "currency_format": 0,
  • "time_format": 0,
  • "duration_format": 0,
  • "created_by_id": 0,
  • "created_date": "string",
  • "default_value": "string",
  • "text_format": 0,
  • "multi_value_delimiters": "string"
}

Folders

Folders - List all

Retrieves the folders in a panel. The immediate child folders will be returned.

If you specify the parent_id, then the immediate children of the parent folder will be returned.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 322

panel_id
required
integer <int64>

Example: 135

query Parameters
parent_id
integer <int64>
Default: 0

Example: parent_id=135
The ID of the parent folder, which can be entered to return the immediate children of that folder.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Folders - Create

Creates a Folder and returns the newly created object.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 322

panel_id
required
integer <int64>

Example: 135

Request Body schema: application/json
id
integer <int64>
name
string or null
description
string or null
panel_id
integer <int64>
parent_id
integer <int64>
has_children
boolean
object (FolderSettings)

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "panel_id": 0,
  • "parent_id": 0,
  • "has_children": true,
  • "folder_settings": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "parent_id": 0,
  • "group_id": 0,
  • "tab_id": 0,
  • "personal": true,
  • "colour": "string",
  • "full_name": "string",
  • "description": "string",
  • "created_by": "string",
  • "type": 0,
  • "child_id": 0,
  • "prev_sibling_id": 0,
  • "next_sibling_id": 0,
  • "related_field_id": 0,
  • "related_field_name": "string",
  • "action": 0,
  • "separator": "string",
  • "icon_id": 0,
  • "read_only": 0,
  • "folder_position": 0,
  • "folder_security": {
    },
  • "optional_config": {
    },
  • "folder_order": 0
}

Folders by ID

Retrieves the selected folder from the selected project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

The ID of the project.
Example: 322

panel_id
required
integer <int64>

The ID of the panel that the folder is associated with.
Example: 15

folder_id
required
integer <int64>
Default: 0

The ID of the folder that will be retrieved.
Example: 135
Passing 0 for this parameter will return all folders.

Responses

Folders - Update

Updates a folder.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

The ID of the project.
Example: 322

panel_id
required
integer <int64>

Example: 135

folder_id
required
integer <int64>

Example: 8312

Request Body schema: application/json
id
integer <int64>
name
string or null
description
string or null
panel_id
integer <int64>
parent_id
integer <int64>
has_children
boolean
object (FolderSettings)

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "panel_id": 0,
  • "parent_id": 0,
  • "has_children": true,
  • "folder_settings": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "parent_id": 0,
  • "group_id": 0,
  • "tab_id": 0,
  • "personal": true,
  • "colour": "string",
  • "full_name": "string",
  • "description": "string",
  • "created_by": "string",
  • "type": 0,
  • "child_id": 0,
  • "prev_sibling_id": 0,
  • "next_sibling_id": 0,
  • "related_field_id": 0,
  • "related_field_name": "string",
  • "action": 0,
  • "separator": "string",
  • "icon_id": 0,
  • "read_only": 0,
  • "folder_position": 0,
  • "folder_security": {
    },
  • "optional_config": {
    },
  • "folder_order": 0
}

Folders - Delete

Deletes a folder.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

The ID of the project.
Example: 322

folder_id
required
integer <int64>

Example: 8305

panel_id
required
string

Responses

Response samples

Content type
application/json
{
  • "iconect_ok": "string"
}

Folders - Get Records

Retrieves the records in a specific folder.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

The ID of the project.
Example: 322

folder_id
required
integer <int64>

Example: 6539

panel_id
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Folders - Add Records

Adds existing records to a folder.

Note that this action does not add records to the project, it simply creates the association of the records to the specified folder.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

The ID of the project.
Example: 322

folder_id
required
integer <int64>

Example: 8312

panel_id
required
string
Request Body schema: application/json
Array of objects or null (Record)

Responses

Request samples

Content type
application/json
{
  • "records": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "parent_id": 0,
  • "group_id": 0,
  • "tab_id": 0,
  • "personal": true,
  • "colour": "string",
  • "full_name": "string",
  • "description": "string",
  • "created_by": "string",
  • "type": 0,
  • "child_id": 0,
  • "prev_sibling_id": 0,
  • "next_sibling_id": 0,
  • "related_field_id": 0,
  • "related_field_name": "string",
  • "action": 0,
  • "separator": "string",
  • "icon_id": 0,
  • "read_only": 0,
  • "folder_position": 0,
  • "folder_security": {
    },
  • "optional_config": {
    },
  • "folder_order": 0
}

Folders - Remove Records

Removes records from a folder.

Note that this action does not delete records from the project, it simply removes the association of the records from the specified folder.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

The ID of the project.
Example: 322

folder_id
required
integer <int64>

Example: 8312

panel_id
required
string
Request Body schema: application/json

`

Array of objects or null (Record)

Responses

Request samples

Content type
application/json
{
  • "records": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "parent_id": 0,
  • "group_id": 0,
  • "tab_id": 0,
  • "personal": true,
  • "colour": "string",
  • "full_name": "string",
  • "description": "string",
  • "created_by": "string",
  • "type": 0,
  • "child_id": 0,
  • "prev_sibling_id": 0,
  • "next_sibling_id": 0,
  • "related_field_id": 0,
  • "related_field_name": "string",
  • "action": 0,
  • "separator": "string",
  • "icon_id": 0,
  • "read_only": 0,
  • "folder_position": 0,
  • "folder_security": {
    },
  • "optional_config": {
    },
  • "folder_order": 0
}

Panels

Panels - List all

Retrieves the list of all panels in a project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 322

query Parameters
type
string
Default: ""

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Panel - Create

Creates a panel.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

Request Body schema: application/json
id
integer <int64>
name
string or null
type
integer <int32> (iconect.api.structs.PanelType)
Enum: 0 1

The type of the panel.

Members:

  • 0 - iconect.api.structs.PanelType.STANDARD
  • 1 - iconect.api.structs.PanelType.CUSTOM_RELATED

location
integer <int64>
object (CustomRelatedSettings)

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "type": 0,
  • "location": 0,
  • "custom_related_settings": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "type": 0,
  • "location": 0,
  • "custom_related_settings": {
    }
}

Panel by ID

Retrieves a panel by its ID.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

panel_id
required
integer <int32>

Example: 38

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "type": 0,
  • "location": 0,
  • "custom_related_settings": {
    }
}

Panel - Update

Updates the properties of a panel.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

panel_id
required
integer <int32>

Example: 38

Request Body schema: application/json
id
integer <int64>
name
string or null
type
integer <int32> (iconect.api.structs.PanelType)
Enum: 0 1

The type of the panel.

Members:

  • 0 - iconect.api.structs.PanelType.STANDARD
  • 1 - iconect.api.structs.PanelType.CUSTOM_RELATED

location
integer <int64>
object (CustomRelatedSettings)

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "type": 0,
  • "location": 0,
  • "custom_related_settings": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "type": 0,
  • "location": 0,
  • "custom_related_settings": {
    }
}

Panel - Delete

Deletes a panel.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

panel_id
required
integer <int32>

Example: 169

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "type": 0,
  • "location": 0,
  • "custom_related_settings": {
    }
}

Projects

Projects - List

Retrieves a list of projects. The type query parameter can be used to retrive the list of templates and both projects and templates (see bellow).

Authorizations:
Bearer
query Parameters
type
integer <int32> (DatabaseFilter)
Enum: 0 1 2

Example: type=1
Optional parameter that filters the type of projects to be returned:

0: returns only projects (equivalent to /projects)

1: returns only project templates; and

2: returns projects and templates

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Project - Create

Creates a new project.

If the operation is successful, the return object will include the id of the newly created Project together with the parameters passed in the request.If no state is provided the Project will be created as Active (0).

To create a new project using a template the project_template_id should be provided and specifies the template project that will be used to create the new project.

Authorizations:
Bearer
Request Body schema: application/json
required
dataservers_id
integer <int64>

The ID of the DataServer

client_id
integer <int64>

The ID of the client

project_template_id
integer or null <int32>

Creates a project based on template from the id provided

id
integer <int64>
name
string or null
description
string or null
state
integer <int32> (iconect.api.structs.State)
Enum: 0 2

The active status of the object.

Members:

  • 0 - iconect.api.structs.State.Active
  • 2 - iconect.api.structs.State.Disabled

type
integer <int32> (DatabaseType)
Enum: 0 3 4 5 6

Members:

  • 0 - iconect.api.structs.DatabaseType.ALL
  • 3 - iconect.api.structs.DatabaseType.DOCUMENTS
  • 4 - iconect.api.structs.DatabaseType.XTRACT_DOCUMENTS
  • 5 - iconect.api.structs.DatabaseType.XTRACT_TEMPLATE
  • 6 - iconect.api.structs.DatabaseType.DATA_MINIMIZATION

Responses

Request samples

Content type
application/json
{
  • "dataservers_id": 0,
  • "client_id": 0,
  • "project_template_id": 0,
  • "id": 0,
  • "name": "string",
  • "description": "string",
  • "state": 0,
  • "type": 0
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "LID": 0
}

Project by ID

Retrieves the properties in a project by its ID.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 28

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "LID": 0
}

Project - Update

Updates a project name and description.

If the operation is successful, the return object will include the name and description of the updated Project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 28

Request Body schema: application/json
name
required
string non-empty

The name of the project

description
required
string non-empty

The description of the project

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "LID": 0
}

Project - Delete

Deletes a project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 9066

Responses

Response samples

Content type
application/json
{
  • "iconect_ok": "string"
}

Project - Activate

Activates a project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

Responses

Response samples

Content type
application/json
{
  • "iconect_ok": "string"
}

Project - Deactivate

Deactivates a project

Authorizations:
Bearer
path Parameters
project_id
required
integer <int32>

Example: 322

Responses

Response samples

Content type
application/json
{
  • "iconect_ok": "string"
}

Project - Add a client

Adds a client to a project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 322

client_id
required
integer <int64>

Example: 1

Responses

Response samples

Content type
application/json
{
  • "iconect_ok": "string"
}

Project - Remove a client

Removes a client from a project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 9177

client_id
required
integer <int64>

Example: 1

Responses

Response samples

Content type
application/json
{
  • "iconect_ok": "string"
}

Clients by Project ID

Retrieves the client for a specific project. Currently, only one client can be associated with a project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 322

Responses

Response samples

Content type
application/json
{
  • "iconect_ok": "string"
}

Project - Settings

Retrieves the settings for the specified project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 9066

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "LID": 0
}

System Information

System Information

Retrieves a summary of information about the iCONECT system and the REST API.

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Upload Target

Retrieves the project ID configured in iCONECT for receiving uploaded data.

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Templates

List of Templates

Retrieves the list of all native import templates in a project.

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 322

query Parameters
type
required
integer <int64>

Example: type=1
Specifies the type of template to be returned. Currently only Native Import Templates are supported.

7: returns Native Import Templates

Responses

Response samples

Content type
application/json
[
  • {
    }
]

User

User

Endpoints to discover information about the authorized user.

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "username": "string",
  • "first_name": "string",
  • "last_name": "string",
  • "phone_number": "string",
  • "email": "string",
  • "description": "string",
  • "state": 0
}

Views

Create View

Creates a new View using selected record IDs or a search query

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 83

Request Body schema: application/json
selected_ids
Array of integers or null <int64>

A selection of Record IDs to be included in the View. Mutually exclusive with search_query

invert_selection
boolean

If true the View will include all records not included in selected_ids

search_query
string or null

The View will contain records that are returned with the given query term(s). Mutually exclusive with selected_ids

expiry_date
string <date-time>

The date on which the View will expire. This must be a date in the future.

Responses

Request samples

Content type
application/json
{
  • "selected_ids": [
    ],
  • "invert_selection": true,
  • "search_query": "string",
  • "expiry_date": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "LID": 0
}

Delete View

Deletes an existing View

Authorizations:
Bearer
path Parameters
project_id
required
integer <int64>

Example: 83

view_id
required
integer <int64>

Example: 12345

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "LID": 0
}