Download OpenAPI specification:Download
Last updated: 2024-08-26
Required version of iCONECT: 12.3.0
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:
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.
New Features and Updates
Modified or Updated Endpoints
Bug Fixes
New Features and Updates
Breaking Changes
{iconectURL}/oauth/authorize
to https://{identityURL}/openid/authorize
.{iconectURL}/oauth/authorize
to https://{identityURL}/openid/token
.{apiURL}/oauth/authorize
to https://{identityURL}/openid/token
.iconect_api
scope is now required.Modified or Updated Endpoints
Bug Fixes
New Endpoints
Modified or Updated Endpoints
Bug Fixes
expires_in
would differ from the actual token life time.New Endpoints
Modified or Updated Endpoints
Bug Fixes
New Endpoints
Modified or Updated Endpoints
New Endpoints
Modified or Updated Endpoints
Modified or Updated Endpoints
New Endpoints
Modified or Updated Endpoints
Bug Fixes
application/json; charset=utf-8
are now permittedNew Features and Updates
404 - Not found
code when the object doesn't existAuthorization_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
/clients/:id/deactivate
: Client - Deactivate/projects/:id/deactivate
: Project - Deactivateprojects
and templates
. See Project List for more detailsfile
parameter should be provided in the body of the request: See Files for details.Bug Fixes
location
property description was updated to the correct enum: Panel - CreateThe 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.
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.
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 |
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.
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:
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' |
scope | string | The scope of the access request. The iconect_api and openid scopes are required. |
Once completed, an iCONECT authorization page displays. If the external application is authorized, iCONECT sends the authorization code to the redirect_uri
.
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 |
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 |
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&
scope=iconect_api%20openid
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 \
.
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}")
.field("scope", "iconect_api openid")
.asString();
Example response:
{
'access_token': 'dh2389yhf93h28f38fg239rf3g2f9823hf23fh2398f4',
'token_type': 'bearer',
'expires_in': 7200,
'refresh_token': 't3f389yhf93h28f38fg239rf3g2f9823hf23fh2398f4'
}
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
}
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}")
.field("scope", "iconect_api openid")
.asString();
Example response:
{
'access_token': 'dh2389yhf93h28f38fg239rf3g2f9823hf23fh2398f4',
'token_type': 'bearer',
'expires_in': 3559,
'refresh_token': 't3f389yhf93h28f38fg239rf3g2f9823hf23fh2398f4'
}
Retrieves the list of file stores in a project.
project_id required | integer <int64> Example: |
[- {
- "id": 100,
- "name": "File Store 1",
- "retention_days": 0,
- "type": 0,
- "local_config": {
- "path": "\\\\unc\\path\\to\\local\\filestore"
}, - "crednetial_id": 10,
- "set_file_store_areas": [
- 1,
- 2,
- 3
], - "management_type": 1,
- "description": "This is a file store",
- "created_date": "2021-01-01T00:00:00",
- "modified_date": "2021-01-01T00:00:00"
}
]
Retrieves the file store by ID.
project_id required | integer <int64> Example: |
filestore_id required | integer <int64> Example: |
{- "id": 100,
- "name": "File Store 1",
- "retention_days": 0,
- "type": 0,
- "local_config": {
- "path": "\\\\unc\\path\\to\\local\\filestore"
}, - "crednetial_id": 10,
- "set_file_store_areas": [
- 1,
- 2,
- 3
], - "management_type": 1,
- "description": "This is a file store",
- "created_date": "2021-01-01T00:00:00",
- "modified_date": "2021-01-01T00:00:00"
}
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.
project_id required | integer <int64> Example: |
filestore_id required | integer <int64> Example: |
chunk_index | integer <int32> Default: 1 Example: |
chunk_count | integer <int32> Default: 1 Example: |
{- "iconect_ok": "string"
}
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.
project_id required | integer <int64> Example: |
record_id required | integer <int64> Example: |
field_id required | integer <int64> Example: |
chunk_index | integer <int32> Default: 1 Example: |
chunk_count | integer <int32> Default: 1 Example: |
{- "iconect_error": "string"
}
Deletes a native file from a record.
project_id required | integer <int64> Example: |
record_id required | integer <int64> Example: |
field_id required | integer <int64> Example: |
{- "iconect_error": "string"
}
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.
Retrieves the list of jobs in a project. You can retrieve three job types:
project_id required | integer <int32> Example: |
start_row | integer <int64> Default: 0 |
job_count | integer <int64> Default: 20 |
types | Array of integers <int64> [ items <int64 > ] |
{- "jobs": [
- {
- "id": 30950,
- "type": 50006,
- "name": "Mass Action Delete Job",
- "description": "",
- "created_date": "2021-01-01T00:00:00",
- "last_run_utc": "2021-01-01T00:00:00",
- "status_message": "",
- "status": 5,
- "state": 0,
- "project_id": 28,
- "last_stop_utc": "",
- "details": {
- "type": 50006,
- "delete_active_data": true,
- "delete_passive_data": true,
- "do_not_create_backup": false,
- "hash_field_id": 0,
- "last_modified_field_id": 0,
- "full_path_field_id": 0,
- "principal_file_path_field_id": 0
}
}, - {
- "id": 36269,
- "type": 50007,
- "name": "Delimited Import",
- "description": "",
- "created_date": "2023-12-01T16:40:05Z",
- "last_run_utc": "2023-12-01T16:40:11Z",
- "status_message": "",
- "created_user_id": 130,
- "status": 5,
- "state": 0,
- "project_id": 28,
- "last_stop_utc": "2023-12-01T16:41:31Z",
- "details": {
- "file_store_id": 2147483645,
- "input_file": "Content/csv.csv",
- "file_format": 1,
- "encoding": 0,
- "map_file_column_to_field_id": {
- "0": 228,
- "1": 229,
- "2": 230,
- "3": 255,
- "4": 256,
- "5": 270
}, - "map_file_column_to_processing": {
- "0": 0,
- "1": 0,
- "2": 0,
- "3": 0,
- "4": 0,
- "5": 0
}, - "stop_on_error": true,
- "reindex_after_import": false
}, - "results": {
- "added_record_count": 100,
- "errors_were_encountered": false,
- "added_record_count_with_error": 0,
- "error_log_file": null,
- "error_count": 0,
- "warnings": false,
- "warnings_json": null,
- "expected_record_count_equals_actual_count": true,
- "record_count_not_added": 0,
- "record_count_not_added_with_error": 0
}
}, - {
- "id": 30950,
- "type": 50020,
- "name": "Zip File Extraction Job",
- "description": null,
- "created_date": "2021-01-01T00:00:00",
- "last_run_utc": "2021-01-01T00:00:00",
- "status_message": "",
- "status": 5,
- "state": 0,
- "project_id": 28,
- "last_stop_utc": "2021-01-01T00:00:00",
- "details": {
- "file_store_id": 100,
- "zip_file_path": "/relative/path/to/zip.zip",
- "delete_archive_on_success": false,
- "delete_output_on_failure": true,
- "delete_output_only": true,
- "append_job_id": true
}, - "results": {
- "log_file_path": null,
- "file_store_id": 100,
- "extracted_files_path": "/relative/path/to/output",
- "extracted_files_count": 3,
- "compressed_size": 157645
}
}, - {
- "id": 36269,
- "type": 50035,
- "name": "Native Import",
- "description": "",
- "created_date": "2023-12-01T16:40:05Z",
- "last_run_utc": "2023-12-01T16:40:11Z",
- "status_message": "Processing Job Finished Normally with Exceptions",
- "created_user_id": 130,
- "status": 8,
- "state": 0,
- "project_id": 28,
- "last_stop_utc": "2023-12-01T16:41:31Z",
- "details": {
- "source_file_store_id": 2147483645,
- "source_sub_dir": "36269",
- "output_file_store_id": 2147483646,
- "default_custodian": "NOT SPECIFIED",
- "map_custom_input_field_id_to_data": { },
- "filter_out_before_date": "",
- "filter_out_after_date": "",
- "folder_ids": [
- 2
], - "template_id": 20231,
- "from_fs": false,
- "directory_is_job_id": true,
- "processing_mode": -1,
- "nsrl_options": null,
- "filterout_file_extensions": null,
- "min_mru_date_time": null,
- "create_document_folders": false,
- "create_custodian_folders": false,
- "min_extracted_text_words": null,
- "only_add_root_parents": false,
- "cancelon_file_copy_errors": false,
- "filterout_file_names": null,
- "add_actual_file_name_as_custodian": false,
- "add_simple_email_header_to_text": false,
- "file_input_list": null
}, - "results": {
- "total_file_size": 157645,
- "total_file_count": 3
}
}
], - "count": 4
}
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.
project_id required | integer <int32> Example: |
type required | integer <int32> (iconect.api.structs.jobs.Type) Enum: 50006 50007 50020 50035 The type of the job. Members:
|
name required | string or null |
description | string or null |
required | DelimitedImportJob (object) or ZipFileExtractionJob (object) or MassActionDeleteJob (object) or NativeImportInfo (object) |
Mass Action Delete Job
{- "type": 50006,
- "name": "Mass Action Delete Job",
- "description": null,
- "details": {
- "type": 50006,
- "delete_active_data": true,
- "delete_passive_data": true,
- "do_not_create_backup": false,
- "hash_field_id": 0,
- "last_modified_field_id": 0,
- "full_path_field_id": 0,
- "principal_file_path_field_id": 0
}
}
Mass Action Delete Job
{- "id": 30950,
- "type": 50006,
- "name": "Mass Action Delete Job",
- "description": null,
- "created_date": "2021-01-01T00:00:00",
- "last_run_utc": null,
- "status_message": null,
- "status": 0,
- "state": 0,
- "project_id": 28,
- "last_stop_utc": null,
- "details": {
- "type": 50006,
- "delete_active_data": true,
- "delete_passive_data": true,
- "do_not_create_backup": false,
- "hash_field_id": 0,
- "last_modified_field_id": 0,
- "full_path_field_id": 0,
- "principal_file_path_field_id": 0
}, - "results": null
}
Retrieves the job by ID.
project_id required | integer <int32> Example: |
job_id required | integer <int32> Example: |
Mass Action Delete Job
{- "id": 30950,
- "type": 50006,
- "name": "Mass Action Delete Job",
- "description": "",
- "created_date": "2021-01-01T00:00:00",
- "last_run_utc": "2021-01-01T00:00:00",
- "status_message": "",
- "status": 5,
- "state": 0,
- "project_id": 28,
- "last_stop_utc": "",
- "details": {
- "type": 50006,
- "delete_active_data": true,
- "delete_passive_data": true,
- "do_not_create_backup": false,
- "hash_field_id": 0,
- "last_modified_field_id": 0,
- "full_path_field_id": 0,
- "principal_file_path_field_id": 0
}
}
Updates the name and description of a Job.
Returns the job with the updated details.
project_id required | integer <int32> Example: |
job_id required | integer <int32> Example: |
type required | integer <int32> (iconect.api.structs.jobs.Type) Enum: 50006 50007 50020 50035 The type of the job. Members:
|
name required | string or null |
description | string or null |
required | DelimitedImportJob (object) or ZipFileExtractionJob (object) or MassActionDeleteJob (object) or NativeImportInfo (object) |
Mass Action Delete Job
{- "type": 50006,
- "name": "Mass Action Delete Job",
- "description": null,
- "details": {
- "type": 50006,
- "delete_active_data": true,
- "delete_passive_data": true,
- "do_not_create_backup": false,
- "hash_field_id": 0,
- "last_modified_field_id": 0,
- "full_path_field_id": 0,
- "principal_file_path_field_id": 0
}
}
Mass Action Delete Job
{- "id": 30950,
- "type": 50006,
- "name": "Mass Action Delete Job",
- "description": null,
- "created_date": "2021-01-01T00:00:00",
- "last_run_utc": null,
- "status_message": null,
- "status": 0,
- "state": 0,
- "project_id": 28,
- "last_stop_utc": null,
- "details": {
- "type": 50006,
- "delete_active_data": true,
- "delete_passive_data": true,
- "do_not_create_backup": false,
- "hash_field_id": 0,
- "last_modified_field_id": 0,
- "full_path_field_id": 0,
- "principal_file_path_field_id": 0
}, - "results": null
}
Starts the delete records, delimited import or Zip file extraction job.
Note: The Post
request can also be used to complete this operation.
project_id required | integer <int32> Example: |
job_id required | integer <int32> Example: |
view_id | integer <int64> |
{- "view_id": 0
}
{- "iconect_ok": "string"
}
Starts the delete records, delimited import or Zip file extraction job.
Note: The Post
request can also be used to complete this operation.
project_id required | integer <int32> Example: |
job_id required | integer <int32> Example: |
view_id | integer <int64> |
{- "view_id": 0
}
{- "iconect_ok": "string"
}
Stops the delete records, delimited import or Zip file extraction job.
Note: The Post
request can also be used to complete this operation.
project_id required | integer <int32> Example: |
job_id required | integer <int32> Example: |
{- "iconect_ok": "string"
}
Stops the delete records, delimited import or Zip file extraction job.
Note: The Post
request can also be used to complete this operation.
project_id required | integer <int32> Example: |
job_id required | integer <int32> Example: |
{- "iconect_ok": "string"
}
Retrieves the selected record from the selected project.
The returned object contains an array with the requested record.
project_id required | integer <int64> Example: 322 The ID of the project. |
record_id required | integer <int64> Example: 1501 |
field_ids | Array of integers <int64> [ items <int64 > ] Optional array of comma separated field IDs. If none are provided, all fields are returned |
Get Record
{- "field_data": {
- "228": "Data for Field with ID 228"
}, - "id": 14,
- "version": 266001
}
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
.
project_id required | integer <int64> Example: 322 The ID of the project. |
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). |
Get Records
[- {
- "field_data": {
- "228": "Data for Field with ID 228"
}, - "id": 14,
- "version": 266001
}
]
Creates new records in a project. When creating a new record, you can also provide the following parameters:
project_id required | integer <int64> The ID of the project. |
hash_ids | Array of integers or null <int64> The list of field IDs that are used to identify duplicates. |
filestore_id | integer or null <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 or null <int64> The native file field in the project that is set up with the S3 file store. This ID must be present in the |
Array of objects or null (Record) |
Create Records
{- "records": [
- {
- "field_data": {
- "228": "Data for Field with ID 228",
- "229": "Data for Field with ID 229"
}
}
]
}
Records Created
{- "iconect_ok": "Records created.",
- "new_records_list": {
- "records": [
- {
- "field_data": {
- "228": "Data for Field with ID 228",
- "229": "Data for Field with ID 229"
}, - "id": 1,
- "version": 1
}
], - "record_status": {
- "results": [
- {
- "status": 0,
- "data": {
- "field_data": {
- "228": "Data for Field with ID 228",
- "229": "Data for Field with ID 229"
}, - "id": 0,
- "version": 0
}, - "field_errors": null
}
], - "added_record_ids": [
- 1
]
}
}, - "duplicate_list": null,
- "record_errors": null
}
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.
project_id required | integer <int64> The ID of the project. |
hash_ids | Array of integers or null <int64> The list of field IDs that are used to identify duplicates. |
filestore_id | integer or null <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 or null <int64> The native file field in the project that is set up with the S3 file store. This ID must be present in the |
Array of objects or null (Record) |
Update Records
{- "hash_ids": [
- 228
], - "filestore_id": 20,
- "native_field_id": 258,
- "records": [
- {
- "field_data": {
- "228": "Data for Field with ID 228",
- "229": "Data for Field with ID 229",
- "258": "/relative/path/to/file.text"
}, - "id": 14,
- "version": 266001
}
]
}
{- "iconect_ok": "string",
- "record_errors": [
- {
- "id": 0,
- "message": "string"
}
]
}
Creates a Client. The example code shows the structure of the object (see example).
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:
|
{- "name": "Client 1",
- "description": "This is a client",
- "state": 0
}
{- "id": 10,
- "name": "Client 1",
- "description": "This is a client",
- "state": 0
}
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.
client_id required | integer <int64> Example: |
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:
|
{- "name": "Client 1",
- "description": "This is a client",
- "state": 0
}
{- "id": 10,
- "name": "Client 1",
- "description": "This is a client",
- "state": 0
}
Retrieves the list of all fields in a project.
project_id required | integer <int64> Example: |
Fields - List
[- {
- "id": 31,
- "type": 0,
- "name": "CustodianList",
- "length": 0,
- "date_format": 0,
- "numeric_format": 3,
- "decimal_places": 0,
- "currency_format": 0,
- "time_format": 0,
- "duration_format": 0,
- "created_by_id": 130,
- "created_date": "2024-03-19 16:04:53",
- "default_value": "",
- "text_format": 0,
- "multi_value_delimiters": null
}, - {
- "id": 32,
- "type": 1,
- "name": "Full Text Field",
- "length": 64,
- "date_format": 0,
- "numeric_format": 3,
- "decimal_places": 0,
- "currency_format": 0,
- "time_format": 0,
- "duration_format": 0,
- "created_by_id": 130,
- "created_date": "2024-03-20 14:32:50",
- "default_value": "",
- "text_format": 2,
- "multi_value_delimiters": ";"
}
]
Creates fields for a project. You can add more than one field using this process. See example. Returns the objects created.
project_id required | integer <int32> Example: |
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:
|
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:
|
numeric_format | integer <int32> (iconect.api.structs.NumericFormat) Enum: 0 1 2 3 The display format of numeric values. Members:
|
decimal_format | integer <int32> |
currency_format | integer <int32> (iconect.api.structs.CurrencyFormat) Enum: 0 1 2 3 The format currencies are in. Members:
|
time_format | integer <int32> (iconect.api.structs.TimeFormat) Enum: 0 1 2 The formats times are in. Members:
|
duration_format | integer <int32> (iconect.api.structs.DurationFormat) Enum: 0 1 The format used for duration values. Members:
|
Create Field
[- {
- "type": 3,
- "name": "Numeric Field",
- "length": 32,
- "date_format": 0,
- "numeric_format": 3,
- "decimal_places": 0,
- "currency_format": 0,
- "time_format": 0,
- "duration_format": 0
}
]
Create Field
[- {
- "id": 33,
- "type": 3,
- "name": "Numeric Field",
- "length": 32,
- "date_format": 0,
- "numeric_format": 3,
- "decimal_places": 0,
- "currency_format": 0,
- "time_format": 0,
- "duration_format": 0,
- "created_by_id": 130,
- "created_date": "2024-08-22 19:51:21",
- "default_value": "",
- "text_format": 0,
- "multi_value_delimiters": null
}
]
Retrieves the Field by ID.
project_id required | integer <int64> Example: |
id required | integer <int64> Example: |
{- "id": 31,
- "type": 0,
- "name": "CustodianList",
- "length": 0,
- "date_format": 0,
- "numeric_format": 3,
- "decimal_places": 0,
- "currency_format": 0,
- "time_format": 0,
- "duration_format": 0,
- "created_by_id": 130,
- "created_date": "2024-03-19 16:04:53",
- "default_value": "",
- "text_format": 0,
- "multi_value_delimiters": null
}
Updates a field. The object submitted to the endpoint should follow the format specified. Returns the updated field.
project_id required | integer <int32> Example: |
field_id required | integer <int32> Example: |
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:
|
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:
|
numeric_format | integer <int32> (iconect.api.structs.NumericFormat) Enum: 0 1 2 3 The display format of numeric values. Members:
|
decimal_format | integer <int32> |
currency_format | integer <int32> (iconect.api.structs.CurrencyFormat) Enum: 0 1 2 3 The format currencies are in. Members:
|
time_format | integer <int32> (iconect.api.structs.TimeFormat) Enum: 0 1 2 The formats times are in. Members:
|
duration_format | integer <int32> (iconect.api.structs.DurationFormat) Enum: 0 1 The format used for duration values. Members:
|
Update Field
{- "type": 3,
- "name": "Numeric Field Updated",
- "length": 32,
- "date_format": 0,
- "numeric_format": 2,
- "decimal_places": 0,
- "currency_format": 0,
- "time_format": 0,
- "duration_format": 0
}
Update Field
{- "id": 33,
- "type": 3,
- "name": "Numeric Field Updated",
- "length": 32,
- "date_format": 0,
- "numeric_format": 2,
- "decimal_places": 0,
- "currency_format": 0,
- "time_format": 0,
- "duration_format": 0,
- "created_by_id": 130,
- "created_date": "2024-08-22 20:03:05",
- "default_value": "",
- "text_format": 0,
- "multi_value_delimiters": null
}
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.
project_id required | integer <int64> Example: |
panel_id required | integer <int64> Example: |
parent_id | integer <int64> Default: 0 Example: |
[- {
- "id": 225,
- "name": "Reviewed",
- "description": "",
- "panel_id": 200,
- "parent_id": 0,
- "has_children": false,
- "search_name": "|Review Workflow|Reviewed|",
- "folder_settings": {
- "icon": 1,
- "color": 16,
- "folder_order": 0
}
}
]
Creates a Folder and returns the newly created object.
project_id required | integer <int64> Example: |
panel_id required | integer <int64> Example: |
name | string or null |
description | string or null |
parent_id | integer <int64> |
object (FolderSettings) |
Create Folder
{- "id": 225,
- "name": "Reviewed",
- "description": "",
- "parent_id": 0,
- "folder_settings": {
- "icon": 1,
- "color": 16,
- "folder_order": 0
}
}
{- "id": 225,
- "name": "Reviewed",
- "description": "",
- "panel_id": 200,
- "parent_id": 0,
- "has_children": false,
- "search_name": "|Review Workflow|Reviewed|",
- "folder_settings": {
- "icon": 1,
- "color": 16,
- "folder_order": 0
}
}
Retrieves the selected folder from the selected project.
project_id required | integer <int64> The ID of the project. |
panel_id required | integer <int64> The ID of the panel that the folder is associated with. |
folder_id required | integer <int64> Default: 0 The ID of the folder that will be retrieved. |
Updates a folder.
project_id required | integer <int64> The ID of the project. |
panel_id required | integer <int64> Example: |
folder_id required | integer <int64> Example: |
name | string or null |
description | string or null |
parent_id | integer <int64> |
object (FolderSettings) |
Update Folder
{- "id": 225,
- "name": "Reviewed",
- "description": "",
- "parent_id": 0,
- "folder_settings": {
- "icon": 1,
- "color": 16,
- "folder_order": 0
}
}
{- "id": 225,
- "name": "Reviewed",
- "description": "",
- "panel_id": 200,
- "parent_id": 0,
- "has_children": false,
- "search_name": "|Review Workflow|Reviewed|",
- "folder_settings": {
- "icon": 1,
- "color": 16,
- "folder_order": 0
}
}
Deletes a folder.
project_id required | integer <int64> The ID of the project. |
panel_id required | integer <int64> Example: |
folder_id required | integer <int64> Example: |
{- "iconect_ok": "string"
}
Retrieves the records in a specific folder.
project_id required | integer <int64> The ID of the project. |
panel_id required | integer <int64> Example: |
folder_id required | integer <int64> Example: |
Folders - Get Records
[- {
- "field_data": {
- "228": "Data for Field with ID 228"
}, - "id": 14,
- "version": 266001
}
]
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.
project_id required | integer <int64> The ID of the project. |
panel_id required | integer <int64> Example: |
folder_id required | integer <int64> Example: |
The record IDs to be inserted into the folder.
Adds existing records to a folder.
[- 1,
- 2,
- 3
]
{- "iconect_ok": "string"
}
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.
project_id required | integer <int64> The ID of the project. |
panel_id required | integer <int64> Example: |
folder_id required | integer <int64> Example: |
The record IDs to be removed from the folder.
Removes existing records from a folder.
[- 1,
- 2,
- 3
]
{- "iconect_ok": "string"
}
Retrieves the list of all panels in a project.
project_id required | integer <int64> Example: |
type | string Default: "" |
Panels - List all
[- {
- "id": 7,
- "name": "GENERAL",
- "type": 0,
- "location": 0,
- "custom_related_settings": {
- "matching_field_ids": [ ],
- "display_field_ids": [ ]
}
}, - {
- "id": 8,
- "name": "REVIEW",
- "type": 0,
- "location": 0,
- "custom_related_settings": {
- "matching_field_ids": [ ],
- "display_field_ids": [ ]
}
}
]
Creates a panel.
project_id required | integer <int32> Example: |
name | string or null |
type | integer <int32> (iconect.api.structs.PanelType) Enum: 0 1 The type of the panel. Members:
|
location | integer <int64> |
object (CustomRelatedSettings) |
Create Panel
{- "name": "Review CR",
- "type": 1,
- "location": 2,
- "custom_related_settings": {
- "matching_field_ids": [
- 280
], - "display_field_ids": [
- 320,
- 321,
- 322
]
}
}
Create Panel
{- "id": 9,
- "name": "Review CR",
- "type": 1,
- "location": 0,
- "custom_related_settings": {
- "matching_field_ids": [
- 280
], - "display_field_ids": [
- 320,
- 321,
- 322
]
}
}
Retrieves a panel by its ID.
project_id required | integer <int32> Example: |
panel_id required | integer <int32> Example: |
{- "id": 7,
- "name": "GENERAL",
- "type": 0,
- "location": 0,
- "custom_related_settings": {
- "matching_field_ids": [ ],
- "display_field_ids": [ ]
}
}
Updates the properties of a panel.
project_id required | integer <int32> Example: |
panel_id required | integer <int32> Example: |
name | string or null |
location | integer <int64> |
object (CustomRelatedSettings) |
Update Panel
{- "name": "Review CR Update",
- "location": 2,
- "custom_related_settings": {
- "matching_field_ids": [
- 280
], - "display_field_ids": [
- 320,
- 321,
- 322,
- 323
]
}
}
Update Panel
{- "id": 9,
- "name": "Review CR Update",
- "type": 1,
- "location": 2,
- "custom_related_settings": {
- "matching_field_ids": [
- 280
], - "display_field_ids": [
- 320,
- 321,
- 322,
- 323
]
}
}
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).
type | integer <int32> (iconect.api.structs.DatabaseFilter) Default: 0 Enum: 0 1 2 Example: |
[- {
- "id": 28,
- "name": "Awesome iCONECT Project",
- "description": "",
- "state": 0,
- "type": 3
}
]
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.
dataservers_id required | integer <int64> The ID of the DataServer |
client_id required | integer <int64> The ID of the client |
project_template_id | integer or null <int32> Creates a project based on template from the |
name required | string or null |
description | string or null |
type | integer <int32> (iconect.api.structs.DatabaseType) Enum: 0 3 4 5 6 7 The type of the database. Members:
|
Create Project Payload
{- "name": "Awesome iCONECT Project",
- "client_id": 10,
- "dataservers_id": 5,
- "type": 3
}
{- "id": 28,
- "name": "Awesome iCONECT Project",
- "description": "",
- "state": 0,
- "type": 3
}
Updates a project name and description.
If the operation is successful, the return object will include the name and description of the updated Project.
project_id required | integer <int32> Example: |
name required | string non-empty The name of the project |
description required | string non-empty The description of the project |
Update Project Payload
{- "name": "Awesome iCONECT Project",
- "description": "An updated description."
}
{- "id": 28,
- "name": "Awesome iCONECT Project",
- "description": "An updated description.",
- "state": 0,
- "type": 3
}
Retrieves the settings for the specified project.
project_id required | integer <int64> Example: |
{- "field_associations": {
- "FROM": 0,
- "TO": 0,
- "CC": 0,
- "BCC": 0,
- "SUBJECT": 0,
- "SENTDATE": 0,
- "NATIVEFIELD": 0,
- "FILEICON": 0,
- "IMAGEFIELD": 0,
- "ICVMETA": 0,
- "ICVBOOKMARK": 0,
- "ICVSERVER": 0,
- "ICVVIDEO": 0,
- "ICVTHUMBNAIL": 0,
- "HASH": 0,
- "HASHTYPE": 0,
- "FILENAME": 0,
- "FILESIZE": 0,
- "FILETYPE": 0,
- "FILEEXTENSION": 0,
- "FILECREATEDDATE": 0,
- "FILEMODIFIEDDATE": 0,
- "FILEDURATION": 0,
- "HASHVALIDATION": 0,
- "HASHVALIDATIONDATE": 0,
- "PAGECOUNT": 0,
- "NATIVECONVERSIONERROR": 0,
- "DOCUMENTID": 0,
- "RETENTION_CHECK_FIELD": 0,
- "RETENTION_REMAINING": 0,
- "FILE_LAST_FOUND_DATE": 0,
- "FILE_LAST_SCAN_DATE": 0,
- "FILE_FOUND_FIELD": 0,
- "UPLOAD_USERNAME": 0,
- "UPLOAD_SOURCE": 0,
- "UPLOAD_METADATA_ONE": 0,
- "UPLOAD_METADATA_TWO": 0,
- "UPLOAD_GPS_LOCATION": 0,
- "PORTAL_DB_FIELD_FULL_NAME": 0,
- "PORTAL_DB_FIELD_EMAIL_ADDRESS": 0,
- "PORTAL_DB_FIELD_PHONE_NUMBER": 0,
- "PORTAL_DB_FIELD_BROWSER_INFO": 0,
- "PORTAL_DB_FIELD_IP_ADDRESS": 0,
- "PORTAL_DB_FIELD_INCIDENT": 0,
- "PORTAL_DB_FIELD_LOCAL_DATE_TIME": 0,
- "PORTAL_DB_FIELD_UPLOAD_ID": 0,
- "PORTAL_DB_FIELD_STATUS": 0,
- "REDACTED_NATIVE": 0,
- "IMPORT_BODY_TEXT": 0,
- "IMPORT_PARENT_ID": 0,
- "BATCH_NAME": 0,
- "BUSINESS_LINE": 0,
- "PRIORITY": 0,
- "STATE": 0,
- "IMPORTED_ON": 0,
- "WORKFLOW_START": 0,
- "CURRENT_USER": 0,
- "LAST_MODIFIED": 0,
- "DROP_FOLDER_PATH": 0,
- "EXPIRY_TIME": 0,
- "STATUS": 0,
- "DISPLAY_STATUS": 0,
- "DURATION": 0,
- "FORM_TAB_WRITEBACK_FIELD": 0,
- "PDF_OUTPUT_FIELD": 0,
- "FORM_CLASSIFICATION_FIELD": 0,
- "POBOX": 0,
- "EXPORT_PREFIX": 0,
- "FORM_CLASSIFICATION_ID_FIELD": 0,
- "CURRENT_USER_NAME": 0,
- "BIN_ID": 0,
- "SHIFT_ID": 0,
- "COVERSHEET": 0,
- "SOURCE_ID": 0,
- "FAX_NUMBER": 0,
- "PACKAGE_RECEIVED_DATE": 0,
- "ORIGINAL_PACKET_ID": 0,
- "SCAN_DATE": 0,
- "ACC_WRITE_OUT": 0,
- "EXPORT_DATE_TIME": 0,
- "DCSID": 0,
- "FILE_NUMBER": 0,
- "BOX_NUMBER": 0,
- "NPRCID": 0,
- "RMNID": 0,
- "OMPF_UPLOAD_STATUS": 0,
- "OMPF_IMAGE_ID": 0,
- "OMPF_PENDING_COUNT": 0,
- "OMPF_FIRST_NAME": 0,
- "OMPF_LAST_NAME": 0,
- "OMPF_MIDDLE_NAME": 0,
- "OMPF_MICROFICHE_TOTAL_COUNT": 0,
- "UPLOAD_DATE_TIME": 0,
- "EXCEL_HAS_COMMENTS": 0,
- "EXCEL_HAS_HIDDEN_COLUMNS": 0,
- "EXCEL_HAS_HIDDEN_ROWS": 0,
- "EXCEL_HAS_HIDDEN_WORKSHEETS": 0,
- "EXCEL_HAS_VERY_HIDDEN_WORKSHEETS": 0,
- "EXCEL_HAS_AUTOFILTER": 0,
- "EXCEL_HAS_PIVOT_TABLE_IN_WORKSHEET": 0,
- "EXCEL_HAS_PROTECTED_WORKBOOK": 0,
- "EXCEL_HAS_PROTECTED_WORKSHEET": 0,
- "EXCEL_HAS_REVISIONS": 0,
- "EXCEL_HAS_OVERSIZED_PAGES": 0,
- "POWERPOINT_HAS_HIDDEN_SLIDES": 0,
- "POWERPOINT_HAS_SPEAKER_NOTES": 0,
- "WORD_HAS_HIDDEN_TEXT": 0,
- "WORD_HAS_REVISIONS": 0,
- "WORD_HAS_COMMENTS": 0,
- "WORD_HAS_TRACK_CHANGES": 0,
- "EXCEL_HAS_HIDDEN_ROW_COL": 0,
- "PROCESSING_ACTION_FIELD": 0,
- "REDACTED_TEXT_FIELD": 0,
- "OCR_TEXT_FIELD": 0,
- "IMPORT_ISSUES": 0,
- "SOURCE_FIELD_ID": 0,
- "CUSTODIAN_FIELD_ID": 0,
- "CUSTODIANLIST_FIELD_ID": 0,
- "PROC_ID_FIELD": 0,
- "PATH_FIELD": 0,
- "FILE_METADATA_ONE": 0,
- "FILE_METADATA_TWO": 0,
- "FILE_METADATA_THREE": 0,
- "FILE_METADATA_FOUR": 0,
- "HIDDEN_CONTENT_NATIVEFIELD": 0,
- "ORIGINAL_FILE_PATH": 0,
- "DUPLICATE_FILE_SORT_FIELD": 0,
- "DUPLICATE_FLAG_FIELD": 0,
- "PRINCIPAL_FILE_PATH_WRITEBACK_FIELD": 0,
- "STORED_FILE_SIZE": 0,
- "FILE_TYPE_CATEGORY": 0,
- "ROOT_CONTAINER_ID_FIELD": 0,
- "FILE_CONTAINER_LEVEL": 0,
- "ROOT_CONTAINER_PATH_FIELD": 0,
- "FILE_LAST_ACCESS_TIME": 0,
- "DEFAULT_DATE_TIME_FIELD": 0,
- "RECYCLE_BIN_COUNT_FIELD": 0,
- "BATCH_AGE_DATE": 0,
- "BATCH_COUNT_DATE": 0
}
}
Retrieves the list of all native import templates in a project.
project_id required | integer <int64> Example: |
type required | integer <int64> Example: |
[- {
- "id": 200,
- "name": "Native Import Template",
- "description": "",
- "created_date": "2024-01-01T00:00:00Z",
- "created_user_id": 5,
- "field_template_file": "Default.csv",
- "processing_options_file": "Default.ini",
- "input_fields": null,
- "deduplication_level": 3,
- "use_nsrl": true,
- "use_detected_file_extensions": true,
- "extract_embedded_objects": 0,
- "create_placeholders": true,
- "numbering_prefix": "000000",
- "folder_ids": null,
- "processing_mode": 0,
- "nsrl_options": null,
- "filterout_file_extensions": null,
- "min_mru_date_time": null,
- "create_document_folders": true,
- "create_custodian_folders": true,
- "min_extracted_text_words": null,
- "only_add_root_parents": false,
- "cancelon_file_copy_errors": false,
- "filterout_file_names": null,
- "mapip_allowed": false,
- "add_simple_email_header_to_text": false
}
]
Creates a new View using selected record IDs or a search query
project_id required | integer <int64> Example: |
selected_ids | Array of integers or null <int64> A selection of Record IDs to be included in the View. Mutually exclusive with |
invert_selection | boolean If |
search_query | string or null The View will contain records that are returned with the given query term(s). Mutually exclusive with |
expiry_date | string <date-time> The date on which the View will expire. This must be a date in the future. |
{- "selected_ids": [
- 0
], - "invert_selection": true,
- "search_query": "string",
- "expiry_date": "2019-08-24T14:15:22Z"
}
{- "view_id": 0
}