NAV

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

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