EFI File Delivery API
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Introduction
Welcome to the Elucidate API! If you are looking to integrate the Elucidate EFI APIs into your organisation then this is for you.
In order to begin integrating your software platform with Elucidate, you'll need to register and authenticate your service with our API. To do so please contact us at engineering@elucidate.co
We currently provide our documentation in the form of an OpenAPI 2.0 document. We do not support any code-generation at this time but feel free to use the specification.
Encryption
By default we leverage from Google encryption (https://cloud.google.com/security/encryption-at-rest/default-encryption/). The asset bucket has Google-managed key AES-256 as default, on top of that we have client side encryption RSA 4096.
Developer portal
A developer portal is available to test developed APIs. To access the portal, please contact us at engineering@elucidate.co
Errors
Error codes are listed associated with each API call.
401 error code
The basis for every API call is a valid token and user on the EFI platform. If either the token is expired, or the user has not been properly set up on the EFI platform, then a 401 error is returned.
Authorization
- API Key (apiKey)
- Parameter Name: Authorization, in: header.
We use Auth0 access tokens for authentication. The calling application will authenticate the user, and Auth0 will generate tokens that can be passed to your API. Further details on authentication workflow and implementation of API tokens can be found at: https://auth0.com/docs/tokens/concepts/access-tokens
- Parameter Name: Authorization, in: header.
Files
getFilesCollection
Code samples
GET /files HTTP/1.1
Accept: application/ld+json
# You can also use wget
curl -X GET /files \
-H 'Accept: application/ld+json' \
-H 'Authorization: API_KEY'
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/ld+json',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/files', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
import requests
headers = {
'Accept': 'application/ld+json',
'Authorization': 'API_KEY'
}
r = requests.get('/files', params={
}, headers = headers)
print r.json()
GET /files
Retrieves the collection of Files resources.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
properties[] | query | array[string] | false | Allows you to reduce the response to contain only the properties you need. If your desired property is nested, you can address it using nested arrays. Example: properties[]={propertyName}&properties[]={anotherPropertyName}&properties[{nestedPropertyParent}][]={nestedProperty} |
documentKey | query | string | false | none |
owner | query | string | false | none |
owner[] | query | array[string] | false | none |
uploadedBy | query | string | false | none |
uploadedBy[] | query | array[string] | false | none |
order[id] | query | string | false | none |
order[documentKey] | query | string | false | none |
order[createdAt] | query | string | false | none |
order[updatedAt] | query | string | false | none |
order[submittedAt] | query | string | false | none |
order[fileSize] | query | string | false | none |
order[mimeType] | query | string | false | none |
exists[submittedAt] | query | boolean | false | none |
page | query | integer | false | The collection page number |
perPage | query | integer | false | The number of items per page |
Enumerated Values
Parameter | Value |
---|---|
order[id] | asc |
order[id] | desc |
order[documentKey] | asc |
order[documentKey] | desc |
order[createdAt] | asc |
order[createdAt] | desc |
order[updatedAt] | asc |
order[updatedAt] | desc |
order[submittedAt] | asc |
order[submittedAt] | desc |
order[fileSize] | asc |
order[fileSize] | desc |
order[mimeType] | asc |
order[mimeType] | desc |
Example responses
200 Response
{
"type": "object",
"properties": {
"hydra:member": {
"type": "array",
"items": {
"type": "object",
"description": "File Object",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"documentKey": {
"type": "string"
},
"path": {
"type": "string"
},
"uploadedBy": {
"description": "| null",
"type": "string"
},
"owner": {
"type": "object",
"description": "",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"description": "If set, it means that the files are ready to be processed\nand we wont show the record anymore on the user-interface",
"type": "string",
"format": "date-time"
},
"encryptedAt": {
"type": "string",
"format": "date-time"
},
"fileSize": {
"type": "string"
},
"checksumMd5": {
"type": "string"
},
"checksumCrc": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"state": {
"type": "string"
},
"validationErrors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"hydra:totalItems": {
"type": "integer",
"minimum": 0
},
"hydra:view": {
"type": "object",
"properties": {
"@id": {
"type": "string",
"format": "iri-reference"
},
"@type": {
"type": "string"
},
"hydra:first": {
"type": "string",
"format": "iri-reference"
},
"hydra:last": {
"type": "string",
"format": "iri-reference"
},
"hydra:next": {
"type": "string",
"format": "iri-reference"
}
}
},
"hydra:search": {
"type": "object",
"properties": {
"@type": {
"type": "string"
},
"hydra:template": {
"type": "string"
},
"hydra:variableRepresentation": {
"type": "string"
},
"hydra:mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"@type": {
"type": "string"
},
"variable": {
"type": "string"
},
"property": {
"type": "string"
},
"required": {
"type": "boolean"
}
}
}
}
}
}
},
"required": [
"hydra:member"
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Files collection response | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» hydra:member | [Files:jsonld-file] | true | none | [File Object] |
»» @context | string | false | read-only | none |
»» @id | string | false | read-only | none |
»» @type | string | false | read-only | none |
»» id | string | false | read-only | none |
»» documentKey | string | false | none | none |
»» path | string | false | none | none |
»» uploadedBy | string | false | none | |
»» owner | Institution:jsonld-file | false | none | none |
»»» @context | string | false | read-only | none |
»»» @id | string | false | read-only | none |
»»» @type | string | false | read-only | none |
»»» id | string | false | read-only | none |
»»» name | string | true | none | none |
»»» bic | string | false | none | none |
»» createdAt | string(date-time) | false | none | none |
»» updatedAt | string(date-time) | false | none | none |
»» submittedAt | string(date-time) | false | none | If set, it means that the files are ready to be processed and we wont show the record anymore on the user-interface |
»» encryptedAt | string(date-time) | false | none | none |
»» fileSize | string | false | none | none |
»» checksumMd5 | string | false | none | none |
»» checksumCrc | string | false | none | none |
»» mimeType | string | false | none | none |
»» state | string | false | none | none |
»» validationErrors | [string] | false | none | none |
» hydra:totalItems | integer | false | none | none |
» hydra:view | object | false | none | none |
»» @id | string(iri-reference) | false | none | none |
»» @type | string | false | none | none |
»» hydra:first | string(iri-reference) | false | none | none |
»» hydra:last | string(iri-reference) | false | none | none |
»» hydra:next | string(iri-reference) | false | none | none |
» hydra:search | object | false | none | none |
»» @type | string | false | none | none |
»» hydra:template | string | false | none | none |
»» hydra:variableRepresentation | string | false | none | none |
»» hydra:mapping | [object] | false | none | none |
»»» @type | string | false | none | none |
»»» variable | string | false | none | none |
»»» property | string | false | none | none |
»»» required | boolean | false | none | none |
postFilesCollection
Code samples
POST /files HTTP/1.1
Content-Type: application/ld+json
Accept: application/ld+json
# You can also use wget
curl -X POST /files \
-H 'Content-Type: application/ld+json' \
-H 'Accept: application/ld+json' \
-H 'Authorization: API_KEY'
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/ld+json',
'Accept' => 'application/ld+json',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/files', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
import requests
headers = {
'Content-Type': 'application/ld+json',
'Accept': 'application/ld+json',
'Authorization': 'API_KEY'
}
r = requests.post('/files', params={
}, headers = headers)
print r.json()
POST /files
Creates a Files resource.
Body parameter
{
"type": "object",
"description": "File Object",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"documentKey": {
"type": "string"
},
"path": {
"type": "string"
},
"uploadedBy": {
"description": "| null",
"type": "string"
},
"owner": {
"type": "object",
"description": "",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"description": "If set, it means that the files are ready to be processed\nand we wont show the record anymore on the user-interface",
"type": "string",
"format": "date-time"
},
"encryptedAt": {
"type": "string",
"format": "date-time"
},
"fileSize": {
"type": "string"
},
"checksumMd5": {
"type": "string"
},
"checksumCrc": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"state": {
"type": "string"
},
"validationErrors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | Files:jsonld-file | false | The new Files resource |
Example responses
201 Response
{
"type": "object",
"description": "File Object",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"documentKey": {
"type": "string"
},
"path": {
"type": "string"
},
"uploadedBy": {
"description": "| null",
"type": "string"
},
"owner": {
"type": "object",
"description": "",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"description": "If set, it means that the files are ready to be processed\nand we wont show the record anymore on the user-interface",
"type": "string",
"format": "date-time"
},
"encryptedAt": {
"type": "string",
"format": "date-time"
},
"fileSize": {
"type": "string"
},
"checksumMd5": {
"type": "string"
},
"checksumCrc": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"state": {
"type": "string"
},
"validationErrors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Files resource created | Files-file |
400 | Bad Request | Invalid input | None |
404 | Not Found | Resource not found | None |
filesMissingTypesFilesCollection
Code samples
GET /files/missing-types HTTP/1.1
Accept: application/ld+json
# You can also use wget
curl -X GET /files/missing-types \
-H 'Accept: application/ld+json' \
-H 'Authorization: API_KEY'
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/ld+json',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/files/missing-types', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
import requests
headers = {
'Accept': 'application/ld+json',
'Authorization': 'API_KEY'
}
r = requests.get('/files/missing-types', params={
}, headers = headers)
print r.json()
GET /files/missing-types
Retrieves the collection of Files resources.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
properties[] | query | array[string] | false | Allows you to reduce the response to contain only the properties you need. If your desired property is nested, you can address it using nested arrays. Example: properties[]={propertyName}&properties[]={anotherPropertyName}&properties[{nestedPropertyParent}][]={nestedProperty} |
documentKey | query | string | false | none |
owner | query | string | false | none |
owner[] | query | array[string] | false | none |
uploadedBy | query | string | false | none |
uploadedBy[] | query | array[string] | false | none |
order[id] | query | string | false | none |
order[documentKey] | query | string | false | none |
order[createdAt] | query | string | false | none |
order[updatedAt] | query | string | false | none |
order[submittedAt] | query | string | false | none |
order[fileSize] | query | string | false | none |
order[mimeType] | query | string | false | none |
exists[submittedAt] | query | boolean | false | none |
page | query | integer | false | The collection page number |
perPage | query | integer | false | The number of items per page |
Enumerated Values
Parameter | Value |
---|---|
order[id] | asc |
order[id] | desc |
order[documentKey] | asc |
order[documentKey] | desc |
order[createdAt] | asc |
order[createdAt] | desc |
order[updatedAt] | asc |
order[updatedAt] | desc |
order[submittedAt] | asc |
order[submittedAt] | desc |
order[fileSize] | asc |
order[fileSize] | desc |
order[mimeType] | asc |
order[mimeType] | desc |
Example responses
200 Response
{
"type": "object",
"properties": {
"hydra:member": {
"type": "array",
"items": {
"type": "object",
"description": "File Object",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"documentKey": {
"type": "string"
},
"path": {
"type": "string"
},
"uploadedBy": {
"description": "| null",
"type": "string"
},
"owner": {
"type": "object",
"description": "",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"description": "If set, it means that the files are ready to be processed\nand we wont show the record anymore on the user-interface",
"type": "string",
"format": "date-time"
},
"encryptedAt": {
"type": "string",
"format": "date-time"
},
"fileSize": {
"type": "string"
},
"checksumMd5": {
"type": "string"
},
"checksumCrc": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"state": {
"type": "string"
},
"validationErrors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"hydra:totalItems": {
"type": "integer",
"minimum": 0
},
"hydra:view": {
"type": "object",
"properties": {
"@id": {
"type": "string",
"format": "iri-reference"
},
"@type": {
"type": "string"
},
"hydra:first": {
"type": "string",
"format": "iri-reference"
},
"hydra:last": {
"type": "string",
"format": "iri-reference"
},
"hydra:next": {
"type": "string",
"format": "iri-reference"
}
}
},
"hydra:search": {
"type": "object",
"properties": {
"@type": {
"type": "string"
},
"hydra:template": {
"type": "string"
},
"hydra:variableRepresentation": {
"type": "string"
},
"hydra:mapping": {
"type": "array",
"items": {
"type": "object",
"properties": {
"@type": {
"type": "string"
},
"variable": {
"type": "string"
},
"property": {
"type": "string"
},
"required": {
"type": "boolean"
}
}
}
}
}
}
},
"required": [
"hydra:member"
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Files collection response | Inline |
Response Schema
Status Code 200
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
» hydra:member | [Files:jsonld-file] | true | none | [File Object] |
»» @context | string | false | read-only | none |
»» @id | string | false | read-only | none |
»» @type | string | false | read-only | none |
»» id | string | false | read-only | none |
»» documentKey | string | false | none | none |
»» path | string | false | none | none |
»» uploadedBy | string | false | none | |
»» owner | Institution:jsonld-file | false | none | none |
»»» @context | string | false | read-only | none |
»»» @id | string | false | read-only | none |
»»» @type | string | false | read-only | none |
»»» id | string | false | read-only | none |
»»» name | string | true | none | none |
»»» bic | string | false | none | none |
»» createdAt | string(date-time) | false | none | none |
»» updatedAt | string(date-time) | false | none | none |
»» submittedAt | string(date-time) | false | none | If set, it means that the files are ready to be processed and we wont show the record anymore on the user-interface |
»» encryptedAt | string(date-time) | false | none | none |
»» fileSize | string | false | none | none |
»» checksumMd5 | string | false | none | none |
»» checksumCrc | string | false | none | none |
»» mimeType | string | false | none | none |
»» state | string | false | none | none |
»» validationErrors | [string] | false | none | none |
» hydra:totalItems | integer | false | none | none |
» hydra:view | object | false | none | none |
»» @id | string(iri-reference) | false | none | none |
»» @type | string | false | none | none |
»» hydra:first | string(iri-reference) | false | none | none |
»» hydra:last | string(iri-reference) | false | none | none |
»» hydra:next | string(iri-reference) | false | none | none |
» hydra:search | object | false | none | none |
»» @type | string | false | none | none |
»» hydra:template | string | false | none | none |
»» hydra:variableRepresentation | string | false | none | none |
»» hydra:mapping | [object] | false | none | none |
»»» @type | string | false | none | none |
»»» variable | string | false | none | none |
»»» property | string | false | none | none |
»»» required | boolean | false | none | none |
filesSubmitFilesCollection
Code samples
POST /files/submit HTTP/1.1
Content-Type: application/ld+json
Accept: application/ld+json
# You can also use wget
curl -X POST /files/submit \
-H 'Content-Type: application/ld+json' \
-H 'Accept: application/ld+json' \
-H 'Authorization: API_KEY'
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/ld+json',
'Accept' => 'application/ld+json',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/files/submit', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
import requests
headers = {
'Content-Type': 'application/ld+json',
'Accept': 'application/ld+json',
'Authorization': 'API_KEY'
}
r = requests.post('/files/submit', params={
}, headers = headers)
print r.json()
POST /files/submit
Creates a Files resource.
Body parameter
{
"type": "object",
"description": "File Object",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"documentKey": {
"type": "string"
},
"path": {
"type": "string"
},
"uploadedBy": {
"description": "| null",
"type": "string"
},
"owner": {
"type": "object",
"description": "",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"description": "If set, it means that the files are ready to be processed\nand we wont show the record anymore on the user-interface",
"type": "string",
"format": "date-time"
},
"encryptedAt": {
"type": "string",
"format": "date-time"
},
"fileSize": {
"type": "string"
},
"checksumMd5": {
"type": "string"
},
"checksumCrc": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"state": {
"type": "string"
},
"validationErrors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | Files:jsonld-file | false | The new Files resource |
Example responses
201 Response
{
"type": "object",
"description": "File Object",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"documentKey": {
"type": "string"
},
"path": {
"type": "string"
},
"uploadedBy": {
"description": "| null",
"type": "string"
},
"owner": {
"type": "object",
"description": "",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"description": "If set, it means that the files are ready to be processed\nand we wont show the record anymore on the user-interface",
"type": "string",
"format": "date-time"
},
"encryptedAt": {
"type": "string",
"format": "date-time"
},
"fileSize": {
"type": "string"
},
"checksumMd5": {
"type": "string"
},
"checksumCrc": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"state": {
"type": "string"
},
"validationErrors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Files resource created | Files-file |
400 | Bad Request | Invalid input | None |
404 | Not Found | Resource not found | None |
uploadFilesCollection
Code samples
POST /files/upload HTTP/1.1
Content-Type: multipart/form-data
Accept: application/ld+json
# You can also use wget
curl -X POST /files/upload \
-H 'Content-Type: multipart/form-data' \
-H 'Accept: application/ld+json' \
-H 'Authorization: API_KEY'
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'multipart/form-data',
'Accept' => 'application/ld+json',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/files/upload', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
import requests
headers = {
'Content-Type': 'multipart/form-data',
'Accept': 'application/ld+json',
'Authorization': 'API_KEY'
}
r = requests.post('/files/upload', params={
}, headers = headers)
print r.json()
POST /files/upload
Uploads a file resource to Elucidate servers
Uploads a file resource. The maximum supported upload size is 10 GB. If you want to upload bigger files, contact it@elucidate.co
Body parameter
type: object
properties:
file:
type: string
format: binary
documentKey:
type: string
enum:
- cbddq
- accounts
- account_holders
- account_holder_ref
- transactions
- employee_data
- product_report
- sanctions_screening
- transaction_monitoring
- vendors
- watchlist_management
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
body | body | object | false | none |
» file | body | string(binary) | false | none |
» documentKey | body | string | false | none |
Enumerated Values
Parameter | Value |
---|---|
» documentKey | cbddq |
» documentKey | accounts |
» documentKey | account_holders |
» documentKey | account_holder_ref |
» documentKey | transactions |
» documentKey | employee_data |
» documentKey | product_report |
» documentKey | sanctions_screening |
» documentKey | transaction_monitoring |
» documentKey | vendors |
» documentKey | watchlist_management |
Example responses
201 Response
{
"type": "object",
"description": "File Object",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"documentKey": {
"type": "string"
},
"path": {
"type": "string"
},
"uploadedBy": {
"description": "| null",
"type": "string"
},
"owner": {
"type": "object",
"description": "",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"description": "If set, it means that the files are ready to be processed\nand we wont show the record anymore on the user-interface",
"type": "string",
"format": "date-time"
},
"encryptedAt": {
"type": "string",
"format": "date-time"
},
"fileSize": {
"type": "string"
},
"checksumMd5": {
"type": "string"
},
"checksumCrc": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"state": {
"type": "string"
},
"validationErrors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
201 | Created | Files resource created | Files-file |
400 | Bad Request | Invalid input | None |
404 | Not Found | Resource not found | None |
getFilesItem
Code samples
GET /files/{id} HTTP/1.1
Accept: application/ld+json
# You can also use wget
curl -X GET /files/{id} \
-H 'Accept: application/ld+json' \
-H 'Authorization: API_KEY'
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'application/ld+json',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/files/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
import requests
headers = {
'Accept': 'application/ld+json',
'Authorization': 'API_KEY'
}
r = requests.get('/files/{id}', params={
}, headers = headers)
print r.json()
GET /files/{id}
Retrieves a Files resource.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
Example responses
200 Response
{
"type": "object",
"description": "File Object",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"documentKey": {
"type": "string"
},
"path": {
"type": "string"
},
"uploadedBy": {
"description": "| null",
"type": "string"
},
"owner": {
"type": "object",
"description": "",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"description": "If set, it means that the files are ready to be processed\nand we wont show the record anymore on the user-interface",
"type": "string",
"format": "date-time"
},
"encryptedAt": {
"type": "string",
"format": "date-time"
},
"fileSize": {
"type": "string"
},
"checksumMd5": {
"type": "string"
},
"checksumCrc": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"state": {
"type": "string"
},
"validationErrors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Files resource response | Files-file |
404 | Not Found | Resource not found | None |
deleteFilesItem
Code samples
DELETE /files/{id} HTTP/1.1
# You can also use wget
curl -X DELETE /files/{id} \
-H 'Authorization: API_KEY'
<?php
require 'vendor/autoload.php';
$headers = array(
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('DELETE','/files/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
import requests
headers = {
'Authorization': 'API_KEY'
}
r = requests.delete('/files/{id}', params={
}, headers = headers)
print r.json()
DELETE /files/{id}
Removes the Files resource.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
204 | No Content | Files resource deleted | None |
404 | Not Found | Resource not found | None |
putFilesItem
Code samples
PUT /files/{id} HTTP/1.1
Content-Type: application/ld+json
Accept: application/ld+json
# You can also use wget
curl -X PUT /files/{id} \
-H 'Content-Type: application/ld+json' \
-H 'Accept: application/ld+json' \
-H 'Authorization: API_KEY'
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/ld+json',
'Accept' => 'application/ld+json',
'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('PUT','/files/{id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
import requests
headers = {
'Content-Type': 'application/ld+json',
'Accept': 'application/ld+json',
'Authorization': 'API_KEY'
}
r = requests.put('/files/{id}', params={
}, headers = headers)
print r.json()
PUT /files/{id}
Replaces the Files resource.
Body parameter
{
"type": "object",
"description": "File Object",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"documentKey": {
"type": "string"
},
"path": {
"type": "string"
},
"uploadedBy": {
"description": "| null",
"type": "string"
},
"owner": {
"type": "object",
"description": "",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"description": "If set, it means that the files are ready to be processed\nand we wont show the record anymore on the user-interface",
"type": "string",
"format": "date-time"
},
"encryptedAt": {
"type": "string",
"format": "date-time"
},
"fileSize": {
"type": "string"
},
"checksumMd5": {
"type": "string"
},
"checksumCrc": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"state": {
"type": "string"
},
"validationErrors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
id | path | string | true | none |
body | body | Files:jsonld-file | false | The updated Files resource |
Example responses
200 Response
{
"type": "object",
"description": "File Object",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"documentKey": {
"type": "string"
},
"path": {
"type": "string"
},
"uploadedBy": {
"description": "| null",
"type": "string"
},
"owner": {
"type": "object",
"description": "",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"description": "If set, it means that the files are ready to be processed\nand we wont show the record anymore on the user-interface",
"type": "string",
"format": "date-time"
},
"encryptedAt": {
"type": "string",
"format": "date-time"
},
"fileSize": {
"type": "string"
},
"checksumMd5": {
"type": "string"
},
"checksumCrc": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"state": {
"type": "string"
},
"validationErrors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Files resource updated | Files-file |
400 | Bad Request | Invalid input | None |
404 | Not Found | Resource not found | None |
Schemas
Files-file
{
"type": "object",
"description": "File Object",
"properties": {
"id": {
"readOnly": true,
"type": "string"
},
"documentKey": {
"type": "string"
},
"path": {
"type": "string"
},
"uploadedBy": {
"description": "| null",
"type": "string"
},
"owner": {
"type": "object",
"description": "",
"properties": {
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"description": "If set, it means that the files are ready to be processed\nand we wont show the record anymore on the user-interface",
"type": "string",
"format": "date-time"
},
"encryptedAt": {
"type": "string",
"format": "date-time"
},
"fileSize": {
"type": "string"
},
"checksumMd5": {
"type": "string"
},
"checksumCrc": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"state": {
"type": "string"
},
"validationErrors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
File Object
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | read-only | none |
documentKey | string | false | none | none |
path | string | false | none | none |
uploadedBy | string | false | none | |
owner | Institution-file | false | none | none |
createdAt | string(date-time) | false | none | none |
updatedAt | string(date-time) | false | none | none |
submittedAt | string(date-time) | false | none | If set, it means that the files are ready to be processed and we wont show the record anymore on the user-interface |
encryptedAt | string(date-time) | false | none | none |
fileSize | string | false | none | none |
checksumMd5 | string | false | none | none |
checksumCrc | string | false | none | none |
mimeType | string | false | none | none |
state | string | false | none | none |
validationErrors | [string] | false | none | none |
Files:jsonld-file
{
"type": "object",
"description": "File Object",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"documentKey": {
"type": "string"
},
"path": {
"type": "string"
},
"uploadedBy": {
"description": "| null",
"type": "string"
},
"owner": {
"type": "object",
"description": "",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"submittedAt": {
"description": "If set, it means that the files are ready to be processed\nand we wont show the record anymore on the user-interface",
"type": "string",
"format": "date-time"
},
"encryptedAt": {
"type": "string",
"format": "date-time"
},
"fileSize": {
"type": "string"
},
"checksumMd5": {
"type": "string"
},
"checksumCrc": {
"type": "string"
},
"mimeType": {
"type": "string"
},
"state": {
"type": "string"
},
"validationErrors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
File Object
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
@context | string | false | read-only | none |
@id | string | false | read-only | none |
@type | string | false | read-only | none |
id | string | false | read-only | none |
documentKey | string | false | none | none |
path | string | false | none | none |
uploadedBy | string | false | none | |
owner | Institution:jsonld-file | false | none | none |
createdAt | string(date-time) | false | none | none |
updatedAt | string(date-time) | false | none | none |
submittedAt | string(date-time) | false | none | If set, it means that the files are ready to be processed and we wont show the record anymore on the user-interface |
encryptedAt | string(date-time) | false | none | none |
fileSize | string | false | none | none |
checksumMd5 | string | false | none | none |
checksumCrc | string | false | none | none |
mimeType | string | false | none | none |
state | string | false | none | none |
validationErrors | [string] | false | none | none |
Institution-file
{
"type": "object",
"description": "",
"properties": {
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | read-only | none |
name | string | true | none | none |
bic | string | false | none | none |
Institution:jsonld-file
{
"type": "object",
"description": "",
"properties": {
"@context": {
"readOnly": true,
"type": "string"
},
"@id": {
"readOnly": true,
"type": "string"
},
"@type": {
"readOnly": true,
"type": "string"
},
"id": {
"readOnly": true,
"type": "string"
},
"name": {
"type": "string"
},
"bic": {
"type": "string"
}
},
"required": [
"name"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
@context | string | false | read-only | none |
@id | string | false | read-only | none |
@type | string | false | read-only | none |
id | string | false | read-only | none |
name | string | true | none | none |
bic | string | false | none | none |