1. Overview

Copyright © 2015-2025 IDnow - All Rights Reserved

1.1. Version information

Version : 2.49.0

1.2. Contact information

Contact : IDnow
Contact Email : support@idnow.io

1.3. URI scheme

Host : localhost:1443
BasePath : /
Schemes : HTTPS

1.4. Tags

  • Auth : Authenticated user information

  • Document : Document management

  • Event : Event log management

  • File : File management

  • Health : Health indicator

  • Realm : Realm management. Requires admin privileges

  • Task : Asynchronous task management

2. Compatibility policy

Wherever possible, REST resources and their representations will be maintained in a backwards compatible manner.

If it is necessary to change a representation in a way that is not backwards compatible, a new resource (or media type) will be created using the new representation, and the old resource (or media type) will be maintained in accordance with the deprecation policy, attached at the end of this document.

The behaviour of an API may change without warning if the existing behaviour is incorrect or constitutes a security vulnerability.

2.1. Backwards compatibility

An API is Backwards Compatible if a program written against one version of that API will continue to work the same way, without modification, against future versions of the API.
Stable URIs

If a resource exists at a particular URI, that same resource will continue to exist with the same meaning in future versions. This means:

  • The meaning of HTTP response codes can be trusted. If a URI that used to 200 now returns a 404, you know it is because the resource cannot be found, not because the resource has moved to another location

  • A resource MAY support additional query parameters in future versions but they WILL NOT be mandatory. The absence of a value or a default value (as appropriate) will maintain prior behaviour

  • If a resource accepts a representation (e.g. via POST or PUT), it will continue to accept the same representation in future versions. Any additional properties that are recognised in a resource WILL NOT be mandatory, and the default value assumed in their absence will be chosen to maintain the previous meaning of the resource

  • A resource MAY be modified to return a "redirection" response code (e.g. 301, 302) instead of directly returning the resource. Clients MUST handle HTTP-level redirects, and respect HTTP headers (e.g. Location)

  • The canonical URI of a resource used in "self links" or used by other resources to point to the resource MAY change

2.1.1. Stable representations

If the resource at a URI is documented as being available in a specific media type (e.g. via the Content-Type header), that media type will be maintained. If a resource returns a default media type in the absence of content negotiation, that default will be maintained.

2.1.2. Structured representations (application/json)

Resources with a media type of application/json have additional stability guarantees.

If a property exists in a JSON object returned by the REST API, it will continue to be returned with the same name, and the same value type (i.e. String, number, array or object). If that value is an array, the type of the contents of the array will not change. If the value is an object, that object will satisfy the same compatibility guarantees as the document as a whole:

  • If a property has a primitive type and the API documentation does not explicitly limit its possible values, clients MUST NOT assume the values are constrained to a particular set of possible responses

  • If a property of an object is not explicitly declared as mandatory in the API, clients MUST NOT assume it will be present

  • New properties MAY be added to a representation at any time, but a new property MUST NOT alter the meaning of an existing property

  • If a property of an object is a URI, then the resource identified by that URI MUST maintain the same compatibility guarantee

2.1.3. Resource/rate limits and paging

Resource and rate limits, and the default and maximum sizes of paged data ARE NOT considered part of the API and may change (possibly dynamically). It is the responsibility of the client to read the road signs and obey the speed limit.

2.2. API versioning

Responses will not be tagged with the version of the API. Clients should be aware that the deployed API version might change without notice, even between requests. The recommended way for a client to proactively determine if a particular capability is available in the API is to request it and see if it is there, and handle failure gracefully if that capability becomes unavailable during an interaction.

2.3. Forward compatibility

An API is Forwards Compatible if a program written against one version of the API will also work the same way, without modification, against previous versions of the API.

We make no guarantee of Forwards Compatibility in our REST APIs, but we provide the following non-normative guidelines about our approach to forwards compatibility.

Postel’s Law
Be conservative in what you do, be liberal in what you accept from others

Where possible, we follow the Robustness Principle above. This means that the API will determine what to do with a request based only on the parts of that it recognises.

  • Request query parameters that are not recognised by the server will be ignored

  • Properties of structured (i.e. JSON) data submitted via mutative requests that are not recognised by the server will be ignored

3. API Endpoints

The CIS API involves two distinct endpoints :

  • The authentication service. It is an OpendID Connect server whom token endpoint has to be used to gain access to the main CIS API

  • The main CIS API, protected with OpendID Connect

3.1. Credentials

To connect to the authentication endpoint, you will need the following elements:

  • User login

  • User password

  • Client Id ("cis-api-client" unless explicitly mentioned)

  • Realm name

Connecting to the CIS main API requires

  • A token generated on the authentication endpoint

  • Realm name

3.2. URLs

3.2.1. Sandbox

For testing purpose, AriadNEXT provides a dedicated platform that can be accessed at the following URLs:

Authentication URL

https://api.idcheck-sandbox.ariadnext.io/auth/realms/customer-identity/protocol/openid-connect/token

CIS API base URL

https://api.idcheck-sandbox.ariadnext.io/gw/cis/

For example, searching the files in the "testing" realm is possible via a request to the URL:

https://api.idcheck-sandbox.ariadnext.io/gw/cis/rest/v1/testing/file/search

3.2.2. Production

Authentication URL

https://api.idcheck.ariadnext.io/auth/realms/customer-identity/protocol/openid-connect/token

CIS API base URL

https://api.idcheck.ariadnext.io/gw/cis

For example, searching the files in the "testing" realm is possible via a request to the URL:

https://api.idcheck.ariadnext.io/gw/cis/rest/v1/testing/file/search

4. Resources

4.1. Auth

Authenticated user information

4.1.1. Get user info

GET /rest/v1/{realm}/auth/userInfo
Description

Get user info

Parameters
Type Name Description Schema

Path

realm
required

Realm name

string

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.2. Document

Document management

4.2.1. Create document

POST /rest/v1/{realm}/document
Description

Create document

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Query

fileUid
optional

File identifier

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Body

request
required

Document request

Responses
HTTP Code Description Schema

201

Created (synchronous mode)

202

Accepted (asynchronous mode)

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.2.2. Create and check document

POST /rest/v1/{realm}/document/check
Description

Create and check document (not allowed for documents of type "DATA")

Parameters
Type Name Description Schema

Path

realm
required

Realm name

string

Query

fileUid
optional

File identifier

string

Body

request
required

Document request

Responses
HTTP Code Description Schema

201

Created

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.2.3. Search documents

GET /rest/v1/{realm}/document/search
Description

Search documents matching given criteria

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Query

direction
optional

Direction

enum (asc, desc)

"desc"

Query

evidenceKey
optional

EvidenceKey

string

Query

fileUid
optional

File uid

string

Query

fromCreationDate
optional

From creation date (format RFC-339 date or date-time)

string (date-time)

Query

fromExpirationDate
optional

From expiration date (format RFC-339 date or date-time)

string (date-time)

Query

fromLastUpdateDate
optional

From last update date (format RFC-339 date or date-time)

string (date-time)

Query

isFromUI
optional

Is this request performed from cis backoffice interface

boolean

"false"

Query

lastAnalysisStatuses
optional

Last analysis statuses

< enum (OK, IN_PROGRESS, MANUAL_IN_PROGRESS, LIVENESS_IN_PROGRESS, EMRTD_IN_PROGRESS, VIDEOSCAN_IN_PROGRESS, CORRELATION_SEARCH_IN_PROGRESS, EXTRA_ANALYSIS_IN_PROGRESS, ERROR) > array(multi)

Query

lastReportStatuses
optional

Last report statuses

< enum (NONE, OK, WARN, ERROR, OBSOLETE) > array(multi)

Query

limit
optional

Number of documents returned (1 to 50)

integer (int32)

10

Query

locations
optional

Locations

< string > array(multi)

Query

offset
optional

Offset

integer (int32)

0

Query

order
optional

Order

enum (lastReportStatus, creationDate, lastUpdateDate, expirationDate)

"creationDate"

Query

owner
optional

Owner

string

Query

toCreationDate
optional

To creation date (format RFC-339 date or date-time)

string (date-time)

Query

toExpirationDate
optional

To expiration date (format RFC-339 date or date-time)

string (date-time)

Query

toLastUpdateDate
optional

To last update date (format RFC-339 date or date-time)

string (date-time)

Query

totalOnly
optional

Return only the number of results found

boolean

"false"

Query

types
optional

Document types

< enum (ID, IBAN, CHEQUE, TAX_SHEET, PAY_SLIP, ADDRESS_PROOF, CREDIT_CARD, PORTRAIT, LEGAL_ENTITY, CAR_REGISTRATION, LIVENESS, DATA) > array(multi)

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.2.4. Get document

GET /rest/v1/{realm}/document/{uid}
Description

Get document with the given uid

Parameters
Type Name Description Schema

Path

realm
required

Realm name

string

Path

uid
required

Document uid

string

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.2.5. Update document

PUT /rest/v1/{realm}/document/{uid}
Description

Update document

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

Document uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Body

updateRequest
required

Update request

Responses
HTTP Code Description Schema

200

OK (synchronous mode)

202

Accepted (asynchronous mode)

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.2.6. Delete document

DELETE /rest/v1/{realm}/document/{uid}
Description

Delete document with the given uid

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

Document uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Responses
HTTP Code Description Schema

202

Accepted (asynchronous mode)

204

No content (synchronous mode)

object

Consumes
  • application/json

  • */*

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.2.7. Add images to document

POST /rest/v1/{realm}/document/{uid}/addImages
Description

Add images to document

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

Document uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Body

images
required

Image requests

< ImageRequest > array

Responses
HTTP Code Description Schema

200

OK (synchronous mode)

< ImageResponse > array

202

Accepted (asynchronous mode)

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.2.8. Check document

POST /rest/v1/{realm}/document/{uid}/check
Description

Check document with given uid

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

Document uid

string

Query

disableManualAnalysis
optional

Deprecated - use manualAnalysis = DISABLE instead

boolean

"false"

Query

forceDocumentAnalysis
optional

Force document analysis

boolean

"false"

Query

manualAnalysis
optional

Manage manual analysis (FORCE or DISABLE)

enum (DISABLE, FORCE)

Query

synchronous
optional

Synchronous (Required to set to "false" for analysis type = "DATA")

boolean

"false"

Responses
HTTP Code Description Schema

200

OK (synchronous mode)

202

Accepted (asynchronous mode)

204

No content (synchronous mode)

object

Consumes
  • application/json

  • */*

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.2.9. Get document check report

GET /rest/v1/{realm}/document/{uid}/check/{checkUid}
Description

Get document check report with the given uid

Parameters
Type Name Description Schema

Path

checkUid
required

check report uid

string

Path

realm
required

Realm name

string

Path

uid
required

Document uid

string

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.2.10. Clone document

POST /rest/v1/{realm}/document/{uid}/clone
Description

Clone document

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

uid

string

Query

fileUid
optional

fileUid

string

Query

synchronous
required

Synchronous

boolean

"false"

Responses
HTTP Code Description Schema

200

Cloned file

201

Task accepted

Consumes
  • */*

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.2.11. Get image

GET /rest/v1/{realm}/document/{uid}/image/{imageUid}
Description

Get image with the given uid

Parameters
Type Name Description Schema Default

Path

imageUid
required

Image uid

string

Path

realm
required

Realm name

string

Path

uid
required

Document uid

string

Query

doWatermarking
optional

Force image watermarking if user has enough privileges

boolean

"false"

Responses
HTTP Code Description Schema

200

OK

string (byte)

Consumes
  • application/json

Produces
  • */*

Security
Type Name Scopes

oauth2

secured

4.2.12. Delete image

DELETE /rest/v1/{realm}/document/{uid}/image/{imageUid}
Description

Delete image with the given uid

Parameters
Type Name Description Schema Default

Path

imageUid
required

Image uid

string

Path

realm
required

Realm name

string

Path

uid
required

Document uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Responses
HTTP Code Description Schema

202

Accepted (asynchronous mode)

204

No content (synchronous mode)

object

Consumes
  • application/json

  • */*

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.2.13. Get image thumbnail

GET /rest/v1/{realm}/document/{uid}/image/{imageUid}/thumbnail
Description

Get image thumbnail corresponding to the given image uid

Parameters
Type Name Description Schema Default

Path

imageUid
required

Image uid

string

Path

realm
required

Realm name

string

Path

uid
required

Document uid

string

Query

doWatermarking
optional

Force image watermarking if user has enough privileges

boolean

"false"

Responses
HTTP Code Description Schema

200

OK

string (byte)

Consumes
  • application/json

Produces
  • */*

Security
Type Name Scopes

oauth2

secured

4.2.14. Get PDF report

GET /rest/v1/{realm}/document/{uid}/report
Description

Get PDF document report for the given document uid

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

Document uid

string

Query

doWatermarking
optional

Force PDF watermarking if user has enough privileges

boolean

"false"

Query

pdfaCompliance
optional

PDF report will be PDF/A-3 compliant

boolean

"false"

Responses
HTTP Code Description Schema

200

OK

string (byte)

Consumes
  • application/json

Produces
  • */*

Security
Type Name Scopes

oauth2

secured

4.2.15. Get document preview

GET /rest/v1/{realm}/document/{uid}/thumbnail
Description

Get thumbnail for the given document uid

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

Document uid

string

Query

doWatermarking
optional

Force thumbnail watermarking if user has enough privileges

boolean

"false"

Query

part
optional

Document part

enum (RECTO, VERSO, OTHER)

Query

type
optional

Image type

enum (DL, IR, UV)

"DL"

Responses
HTTP Code Description Schema

200

OK

string (byte)

Consumes
  • application/json

Produces
  • */*

Security
Type Name Scopes

oauth2

secured

4.3. Event

Event log management

4.3.1. Search events

GET /rest/v1/{realm}/events
Description

Search events matching given criteria

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Query

direction
optional

Direction

enum (asc, desc)

"desc"

Query

eventStatus
optional

Event status

enum (OK, KO)

Query

eventTypes
optional

Event types

< enum (CREATE_FILE, CLONE_FILE, UPDATE_FILE, REMOVE_FILE, CHECK_FILE, LINK_DOCUMENT, UNLINK_DOCUMENT, ADD_COMMENT, UPDATE_COMMENT, REMOVE_COMMENT, ADD_ATTACHMENT, UPDATE_ATTACHMENT, REMOVE_ATTACHMENT, CREATE_DOCUMENT, CLONE_DOCUMENT, UPDATE_DOCUMENT, REMOVE_DOCUMENT, CHECK_DOCUMENT, FASTCHECK_DOCUMENT, ADD_IMAGE, REMOVE_IMAGE, START_MANUAL_ANALYSIS, MANUAL_ANALYSIS_RESULT, START_LIVENESS, LIVENESS_ANALYSIS_RESULT, START_CORRELATION_SEARCH, CORRELATION_SEARCH_RESULT, START_STOLEN_LOST_DOCUMENTS_VERIFICATION, STOLEN_LOST_DOCUMENTS_RESULT, START_IBAN_OWNERSHIP_VERIFICATION, IBAN_OWNERSHIP_VERIFICATION_RESULT, START_EMRTD, EMRTD_READING, START_VIDEOSCAN, VIDEOSCAN_RESULT, START_CPF_VERIFICATION, CPF_VERIFICATION_RESULT) > array(multi)

Query

fromEventDate
optional

From event date (format RFC-339 date or date-time)

string (date-time)

Query

isFromUI
optional

Is this request performed from cis backoffice interface

boolean

"false"

Query

limit
optional

Number of events returned (1 to 200)

integer (int32)

50

Query

offset
optional

Offset

integer (int32)

0

Query

order
optional

Order

enum (eventDate, eventStatus, eventType)

"eventDate"

Query

owner
optional

Owner

string

Query

toEventDate
optional

To event date (format RFC-339 date or date-time)

string (date-time)

Query

totalOnly
optional

Return only the number of results found

boolean

"false"

Query

uid
optional

uid

string

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4. File

File management

4.4.1. Create file

POST /rest/v1/{realm}/file
Description

Create file

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Body

request
required

File request

Responses
HTTP Code Description Schema

201

Created (synchronous mode)

202

Accepted (asynchronous mode)

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.2. Search files

GET /rest/v1/{realm}/file/search
Description

Search files matching search criteria

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Query

direction
optional

Direction

enum (asc, desc)

"desc"

Query

fromCreationDate
optional

From creation date (format RFC-339 date or date-time)

string (date-time)

Query

fromLastUpdateDate
optional

From last update date (format RFC-339 date or date-time)

string (date-time)

Query

isFromUI
optional

Is this request performed from cis backoffice interface

boolean

"false"

Query

lastAnalysisStatuses
optional

Last analysis statuses

< enum (OK, IN_PROGRESS, MANUAL_IN_PROGRESS, LIVENESS_IN_PROGRESS, EMRTD_IN_PROGRESS, VIDEOSCAN_IN_PROGRESS, CORRELATION_SEARCH_IN_PROGRESS, EXTRA_ANALYSIS_IN_PROGRESS, ERROR) > array(multi)

Query

lastReportStatuses
optional

Last report statuses

< enum (NONE, OK, WARN, ERROR, OBSOLETE) > array(multi)

Query

limit
optional

Number of files returned (1 to 50)

integer (int32)

10

Query

locations
optional

Locations

< string > array(multi)

Query

name
optional

Name

string

Query

offset
optional

Offset

integer (int32)

0

Query

order
optional

Order

enum (creationDate, lastReportStatus, lastUpdateDate)

"creationDate"

Query

owner
optional

Owner

string

Query

states
optional

states

< string > array(multi)

Query

tag
optional

Tag

string

Query

toCreationDate
optional

To creation date (format RFC-339 date or date-time)

string (date-time)

Query

toLastUpdateDate
optional

To last update date (format RFC-339 date or date-time)

string (date-time)

Query

totalOnly
optional

Return only the number of results found

boolean

"false"

Query

type
optional

Type

string

Query

uid
optional

file uid

string

Query

validities
optional

Validities

< enum (VALID, INVALID, NOT_VALIDATED) > array(multi)

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.3. Get file

GET /rest/v1/{realm}/file/{uid}
Description

Get file with the given uid

Parameters
Type Name Description Schema

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.4. Update file

PUT /rest/v1/{realm}/file/{uid}
Description

Update file

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Body

request
required

file Request

Responses
HTTP Code Description Schema

200

OK (synchronous mode)

202

Accepted (asynchronous mode)

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.5. Delete file

DELETE /rest/v1/{realm}/file/{uid}
Description

Delete file with the given uid

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

File uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Responses
HTTP Code Description Schema

202

Accepted (asynchronous mode)

204

No content (synchronous mode)

object

Consumes
  • application/json

  • */*

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.6. Add attachment to file

POST /rest/v1/{realm}/file/{uid}/attachment
Description

Add attachment to file

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Body

attachment
required

Attachment

Responses
HTTP Code Description Schema

200

OK (synchronous mode)

202

Accepted (asynchronous mode)

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.7. Get attachment

GET /rest/v1/{realm}/file/{uid}/attachment/{attachmentUid}
Description

Get attachment

Parameters
Type Name Description Schema

Path

attachmentUid
required

Attachment uid

string

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.8. Update attachment

PUT /rest/v1/{realm}/file/{uid}/attachment/{attachmentUid}
Description

Update attachment

Parameters
Type Name Description Schema Default

Path

attachmentUid
required

Attachment uid

string

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Body

attachment
required

Attachment

Responses
HTTP Code Description Schema

200

OK (synchronous mode)

202

Accepted (asynchronous mode)

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.9. Delete attachment

DELETE /rest/v1/{realm}/file/{uid}/attachment/{attachmentUid}
Description

Delete attachment

Parameters
Type Name Description Schema Default

Path

attachmentUid
required

Attachment uid

string

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Responses
HTTP Code Description Schema

202

Accepted (asynchronous mode)

204

No content (synchronous mode)

object

Consumes
  • application/json

  • */*

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.10. Download attachment

GET /rest/v1/{realm}/file/{uid}/attachment/{attachmentUid}/download
Description

Download attachment

Parameters
Type Name Description Schema

Path

attachmentUid
required

Attachment uid

string

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Responses
HTTP Code Description Schema

200

OK

string (byte)

Consumes
  • application/json

Produces
  • */*

Security
Type Name Scopes

oauth2

secured

4.4.11. Download attachment thumbnail

GET /rest/v1/{realm}/file/{uid}/attachment/{attachmentUid}/thumbnail
Description

Download attachment thumbnail

Parameters
Type Name Description Schema

Path

attachmentUid
required

Attachment uid

string

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Responses
HTTP Code Description Schema

200

OK

string (byte)

Consumes
  • application/json

Produces
  • */*

Security
Type Name Scopes

oauth2

secured

4.4.12. Check file

POST /rest/v1/{realm}/file/{uid}/check
Description

Check file with given uid

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

File uid

string

Query

disableManualAnalysis
optional

Deprecated - use manualAnalysis = DISABLE instead

boolean

"false"

Query

forceDocumentAnalysis
optional

Force document analysis

boolean

"false"

Query

manualAnalysis
optional

Manage manual analysis (FORCE or DISABLE)

enum (DISABLE, FORCE)

Query

synchronous
optional

Synchronous mode

boolean

"false"

Responses
HTTP Code Description Schema

200

OK (synchronous mode)

202

Accepted (asynchronous mode)

204

No content (synchronous mode)

object

Consumes
  • application/json

  • */*

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.13. Get file check report

GET /rest/v1/{realm}/file/{uid}/check/{checkUid}
Description

Get file check report with the given uid

Parameters
Type Name Description Schema

Path

checkUid
required

Check report uid

string

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.14. Clone file

POST /rest/v1/{realm}/file/{uid}/clone
Description

Clone file

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

uid

string

Query

newFileUid
optional

newFileUid

string

Query

synchronous
required

Synchronous

boolean

"false"

Responses
HTTP Code Description Schema

200

Cloned file

201

Task accepted

Consumes
  • */*

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.15. Add comment to file

POST /rest/v1/{realm}/file/{uid}/comment
Description

Add comment to file

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Body

comment
required

Comment

Responses
HTTP Code Description Schema

200

OK (synchronous mode)

202

Accepted (asynchronous mode)

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.16. Update comment

PUT /rest/v1/{realm}/file/{uid}/comment/{commentUid}
Description

Update comment

Parameters
Type Name Description Schema Default

Path

commentUid
required

Comment uid

string

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Body

comment
required

Comment

Responses
HTTP Code Description Schema

200

OK (synchronous mode)

202

Accepted (asynchronous mode)

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.17. Delete comment

DELETE /rest/v1/{realm}/file/{uid}/comment/{commentUid}
Description

Delete comment

Parameters
Type Name Description Schema Default

Path

commentUid
required

Comment uid

string

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Responses
HTTP Code Description Schema

202

Accepted (asynchronous mode)

204

No content (synchronous mode)

object

Consumes
  • application/json

  • */*

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.18. Link document to file

POST /rest/v1/{realm}/file/{uid}/link/{documentUid}
Description

Link document to file

Parameters
Type Name Description Schema Default

Path

documentUid
required

Document uid

string

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Responses
HTTP Code Description Schema

202

Accepted (asynchronous mode)

204

No content (synchronous mode)

object

Consumes
  • application/json

  • */*

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.19. Unlink document from file

DELETE /rest/v1/{realm}/file/{uid}/link/{documentUid}
Description

Unlink document from file

Parameters
Type Name Description Schema Default

Path

documentUid
required

Document uid

string

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Query

synchronous
optional

Synchronous mode

boolean

"false"

Responses
HTTP Code Description Schema

202

Accepted (asynchronous mode)

204

No content (synchronous mode)

object

Consumes
  • application/json

  • */*

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.4.20. Get PDF report

GET /rest/v1/{realm}/file/{uid}/report
Description

Get PDF file report for the given file uid

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

uid
required

file uid

string

Query

doWatermarking
optional

Force PDF watermarking if user has enough privileges

boolean

"false"

Query

pdfaCompliance
optional

PDF report will be PDF/A-3 compliant

boolean

"false"

Responses
HTTP Code Description Schema

200

OK

string (byte)

Consumes
  • application/json

Produces
  • */*

Security
Type Name Scopes

oauth2

secured

4.5. Health

Health indicator

4.5.1. Get health

GET /rest/health
Description

Get health

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

4.6. Realm

Realm management. Requires admin privileges

4.6.1. Get realm

GET /rest/v1/realm/{realm}
Description

Get realm with given name

Parameters
Type Name Description Schema

Path

realm
required

Realm name

string

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.6.2. Update realm

PUT /rest/v1/realm/{realm}
Description

Update realm

Parameters
Type Name Description Schema

Path

realm
required

Realm name

string

Body

realmRequest
required

Realm request

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.6.3. Create a notification endpoint

POST /rest/v1/realm/{realm}/endpoint
Description

Create a notification endpoint

Parameters
Type Name Description Schema

Path

realm
required

realm

string

Body

request
required

request

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.6.4. Get a notification endpoint

GET /rest/v1/realm/{realm}/endpoint/{clientId}
Description

Get a notification endpoint

Parameters
Type Name Description Schema

Path

clientId
required

clientId

string

Path

realm
required

realm

string

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.6.5. Update a notification endpoint

PUT /rest/v1/realm/{realm}/endpoint/{clientId}
Description

Update a notification endpoint

Parameters
Type Name Description Schema

Path

clientId
required

clientId

string

Path

realm
required

realm

string

Body

request
required

Request

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.6.6. Delete notification endpoint

DELETE /rest/v1/realm/{realm}/endpoint/{clientId}
Description

Delete notification endpoint

Parameters
Type Name Description Schema

Path

clientId
required

clientId

string

Path

realm
required

realm

string

Responses
HTTP Code Description Schema

200

OK

No Content

Consumes
  • */*

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.6.7. Create a notification event

POST /rest/v1/realm/{realm}/endpoint/{clientId}/event
Description

Create a notification event

Parameters
Type Name Description Schema

Path

clientId
required

endpoint clientId

string

Path

realm
required

realm

string

Body

request
required

request

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.6.8. Delete a notification event

DELETE /rest/v1/realm/{realm}/endpoint/{clientId}/event
Description

Delete a notification event

Parameters
Type Name Description Schema

Path

clientId
required

clientId

string

Path

realm
required

realm

string

Query

kind
optional

kind

enum (FILE, DOCUMENT)

Query

method
optional

method

enum (CREATE, UPDATE, DELETE)

Query

operation
optional

operation

enum (DEFAULT, CLONE, STATE, VALIDITY, CHECK, CHECK_DOCUMENT, START_MANUAL_ANALYSIS, START_MANUAL_ANALYSIS_DOCUMENT, START_CORRELATION_SEARCH, START_CORRELATION_SEARCH_DOCUMENT, START_STOLEN_LOST_DOCUMENTS_VERIFICATION, START_STOLEN_LOST_DOCUMENTS_VERIFICATION_DOCUMENT, START_IBAN_OWNERSHIP_VERIFICATION, START_IBAN_OWNERSHIP_VERIFICATION_DOCUMENT, ADD_DOCUMENT, REMOVE_DOCUMENT, ADD_IMAGE, REMOVE_IMAGE, ADD_COMMENT, UPDATE_COMMENT, REMOVE_COMMENT, ADD_ATTACHMENT, UPDATE_ATTACHMENT, REMOVE_ATTACHMENT, START_CPF_VERIFICATION)

Responses
HTTP Code Description Schema

200

OK

No Content

Consumes
  • */*

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.6.9. Get notification endpoints

GET /rest/v1/realm/{realm}/endpoints
Description

Get notification endpoints

Parameters
Type Name Description Schema

Path

realm
required

realm

string

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

4.7. Task

Asynchronous task management

4.7.1. Get task

GET /rest/v1/{realm}/task/{taskId}
Description

Get task with the given uid

Parameters
Type Name Description Schema Default

Path

realm
required

Realm name

string

Path

taskId
required

Task uid

string

Query

waitTime
optional

Wait time (in msec)

integer (int64)

0

Responses
HTTP Code Description Schema

200

OK

Consumes
  • application/json

Produces
  • application/json

Security
Type Name Scopes

oauth2

secured

5. Security

5.1. OAuth2

Name Description

secured

Resource is secured, user needs to be authenticated to access it.

6. Definitions

6.1. AttachmentRequest

Name Description Schema

contentBase64
required

base64 content

string

description
optional

Description

string

fileName
required

file name

string

technicalData
optional

Technical data

< MapItem > array

title
optional

Title

string

type
optional

Type. Max. length: 45

string

6.2. AttachmentResponse

Name Description Schema

date
required

creation date

string (date-time)

description
optional

description

string

fileName
required

file name

string

fileUid
required

file identifier

string

technicalData
optional

Technical data

< MapItem > array

title
optional

title

string

type
optional

type

string

uid
required

attachment identifier

string

6.3. AttachmentSummary

Name Description Schema

date
required

creation date

string (date-time)

description
optional

description

string

fileName
required

file name

string

mediaType
required

media type

string

title
optional

title

string

type
optional

type

string

uid
required

attachment identifier

string

6.4. AttachmentUpdateRequest

Name Description Schema

description
optional

Description

string

technicalData
optional

Technical data

< MapItem > array

title
optional

Title

string

type
optional

Type. Max length: 45

string

6.5. Check

Name Description Schema

dataReferences
optional

Data references

< DataReference > array

documentUid
optional

Document uid

string

errorCause
optional

Error cause

fileUid
optional

File uid

string

identifier
required

Check identifier

string

message
required

Complete message

string

status
required

Check status

enum (NONE, OK, WARN, ERROR, OBSOLETE)

subChecks
optional

Sub checks

< Check > array

title
required

Title

string

type
required

Check type

enum (DOCUMENT_VALIDITY, DOCUMENT_ACCEPTABILITY, DATA_ACCEPTABILITY, DATA_CONSISTENCY, FILE_COMPLETENESS, OTHER, UNKNOWN)

6.6. CustomerIdentity

Name Description Schema

addressData
optional

Address data

chequeData
optional

Cheque data

creationDate
required

Creation date

string (date-time)

documentUids
required

Bound documents

< string > array

extraDocuments
optional

Extra documents

< ExtraDocuments > array

financeData
optional

Finance data

identityData
optional

Identity data

jobData
optional

Job data

legalEntityData
optional

Legal entity data

role
optional

Role

uid
required

Unique identifier

string

vehicleData
optional

Vehicle data

6.7. DataReference

Name Description Schema

expectedReference
optional

Expected reference

string

expectedValue
optional

Expected value

string

givenReference
optional

Given reference

string

givenValue
optional

Given value

string

6.8. DeviceInfo

Name Description Schema

model
optional

Device model

string

nfcAvailable
optional

NFC is available on the device
Example : false

boolean

osVersion
optional

Device OS version

string

sdk
optional

SDK used for capturing this document

string

sdkEmrtdActivated
optional

SDK is configured to read NFC chips
Example : false

boolean

sdkVersion
optional

SDK version embedded on the device

string

sdkVideoScanActivated
optional

SDK is configured to do a video of ID documents
Example : false

boolean

sensorLabel
optional

Name of the camera used during the capture

string

6.9. DocumentCustomer

Name Description Schema

customers
required

List of generated customers

< string > array

documentUid
required

Document identifier

string

6.10. DocumentInputData

Name Description Schema

clientData
optional

Client data

infoData
optional

Info data

persons
optional

Persons

< InputPerson > array

6.11. DocumentReference

Name Description Schema

evidenceKey
optional

Evidence key

string

subType
optional

Document sub type

enum (ID, PASSPORT, RESIDENCE_PERMIT, DRIVING_LICENSE, HEALTH_CARD, VISA, IBAN, CHEQUE, ADDRESS, TAX, PAY, CREDIT_CARD, PORTRAIT, COMPANY, COMPANY_REG_CERT, CAR_REGISTRATION, LIVENESS, DATA, UNKNOWN)

type
optional

Document type

enum (ID, IBAN, CHEQUE, TAX_SHEET, PAY_SLIP, ADDRESS_PROOF, CREDIT_CARD, PORTRAIT, LEGAL_ENTITY, CAR_REGISTRATION, LIVENESS, DATA)

uid
required

Document identifier

string

6.12. DocumentReport

Name Description Schema

backendResultId
required

backend result id

string

checks
required

Performed checks

< Check > array

clientData
optional

Client data

fromManualAnalysis
optional

true if this report is built from a manual analysis
Example : false

boolean

generationDate
required

Report generation date

string (date-time)

globalStatus
required

report global status

enum (NONE, OK, WARN, ERROR, OBSOLETE)

info
optional

Info

issuance
optional

Document issuance

persons
optional

Persons

referenceValues
optional

Reference values

uid
required

Report identifier

string

6.13. DocumentReportInfo

Name Description Schema

cardAccessNumber
optional

Card access number

documentNumber
optional

Document number

documentType
optional

Document type

expirationDate
optional

Expiration date

expirationDay
optional

Expiration day (deprecated since CIS 2.3. Use expirationDate.day instead)

expirationMonth
optional

Expiration month (deprecated since CIS 2.3. Use expirationDate.month instead)

expirationYear
optional

Expiration year (deprecated since CIS 2.3. Use expirationDate.year instead)

extra
optional

Extra

< ReportDataMapItem > array

personalNumber
optional

Personal number

readExpirationDate
optional

Read expiration date

sidesIssue
optional

Sides issue. One of MISSING_VERSO, INVALID_VERSO, MISSING_RECTO or INVALID_RECTO

6.14. DocumentReportIssuance

Name Description Schema

extra
optional

Extra

< ReportDataMapItem > array

issueDate
optional

Issue date

issueDay
optional

Issue day (deprecated since CIS 2.3. Use issueDate.day instead)

issueMonth
optional

Issue month (deprecated since CIS 2.3. Use issueDate.month instead)

issueYear
optional

Issue year (deprecated since CIS 2.3. Use issueDate.year instead)

issuingAuthority
optional

Issuing authority

issuingCountry
optional

Issuing country

6.15. DocumentReportPerson

Name Description Schema

addressData
optional

Address data

chequeData
optional

cheque data

consumptionData
optional

Consumption address data

financeData
optional

Finance data

identityData
optional

Identity data

jobData
optional

Job data

legalEntityData
optional

Legal entity data

role
optional

Role

vehicleData
optional

Vehicle data

6.16. DocumentRequest

Name Description Schema

biometricConsent
optional

Consent for Data processing of biometric documents. Mandatory for biometric documents
Example : false

boolean

country
optional

Country (Alpha2 or Alpha3 code) as defined in ISO 3166-1

string

enableNotifications
optional

Enable callback notifications, default false
Example : false

boolean

evidenceKey
optional

Evidence key. Must be unique per file. Max. length: 100

string

images
optional

Images

< ImageRequest > array

inputData
optional

Input data

location
optional

Document location. Max. length: 512

string

technicalData
optional

Technical data

< MapItem > array

type
required

Document type

enum (ID, IBAN, CHEQUE, TAX_SHEET, PAY_SLIP, ADDRESS_PROOF, CREDIT_CARD, PORTRAIT, LEGAL_ENTITY, CAR_REGISTRATION, LIVENESS, DATA)

6.17. DocumentResponse

Name Description Schema

biometricConsent
optional

Consent for Data processing of biometric documents
Example : false

boolean

classId
optional

Class identifier

string

country
optional

Country (Alpha3 code) as defined in ISO 3166-1

string

creationDate
required

Creation date

string (date-time)

enableNotifications
optional

Enable callback notifications
Example : false

boolean

evidenceKey
optional

Evidence key. Must be unique per file

string

extraData
optional

Additional data

fileUid
optional

File identifier (in case the document is part of a file)

string

images
optional

Images

< ImageResponse > array

inputData
optional

Input data

lastAnalysisStatus
optional

last analysis status

enum (OK, IN_PROGRESS, MANUAL_IN_PROGRESS, LIVENESS_IN_PROGRESS, EMRTD_IN_PROGRESS, VIDEOSCAN_IN_PROGRESS, CORRELATION_SEARCH_IN_PROGRESS, EXTRA_ANALYSIS_IN_PROGRESS, ERROR)

lastReport
optional

Last report generated for this document

lastUpdateDate
optional

Last update date

string (date-time)

location
optional

Location

string

owner
optional

Owner

string

prettyName
optional

Pretty name

string

qualityIssues
optional

Image quality issues

< ImageQualityIssues > array

reports
optional

All reports generated for this document

< ReportSummary > array

subType
optional

Subtype

enum (ID, PASSPORT, RESIDENCE_PERMIT, DRIVING_LICENSE, HEALTH_CARD, VISA, IBAN, CHEQUE, ADDRESS, TAX, PAY, CREDIT_CARD, PORTRAIT, COMPANY, COMPANY_REG_CERT, CAR_REGISTRATION, LIVENESS, DATA, UNKNOWN)

technicalData
optional

Technical data

< MapItem > array

type
required

Type

enum (ID, IBAN, CHEQUE, TAX_SHEET, PAY_SLIP, ADDRESS_PROOF, CREDIT_CARD, PORTRAIT, LEGAL_ENTITY, CAR_REGISTRATION, LIVENESS, DATA)

uid
required

Document identifier

string

6.18. DocumentSearchResponse

Name Description Schema

rows
optional

Matching documents

< DocumentSummary > array

total
optional

Total number of matching documents

integer (int32)

6.19. DocumentSummary

Name Description Schema

creationDate
optional

Creation date

string (date-time)

enableNotifications
optional

Enable callback notifications
Example : false

boolean

evidenceKey
optional

Evidence key. Must be unique per file

string

fileUid
optional

File identifier (in case the document is part of a file)

string

lastAnalysisStatus
optional

Last analysis status

enum (OK, IN_PROGRESS, MANUAL_IN_PROGRESS, LIVENESS_IN_PROGRESS, EMRTD_IN_PROGRESS, VIDEOSCAN_IN_PROGRESS, CORRELATION_SEARCH_IN_PROGRESS, EXTRA_ANALYSIS_IN_PROGRESS, ERROR)

lastReportStatus
optional

Last report status for this document

enum (NONE, OK, WARN, ERROR, OBSOLETE)

lastUpdateDate
optional

Last update date

string (date-time)

owner
optional

Owner

string

type
required

Type

enum (ID, IBAN, CHEQUE, TAX_SHEET, PAY_SLIP, ADDRESS_PROOF, CREDIT_CARD, PORTRAIT, LEGAL_ENTITY, CAR_REGISTRATION, LIVENESS, DATA)

uid
required

Document identifier

string

6.20. DocumentUpdateRequest

Name Description Schema

country
optional

Country (Alpha2 or Alpha3 code) as defined in ISO 3166-1

string

enableNotifications
optional

Enable notifications
Example : false

boolean

evidenceKey
optional

Evidence key. Must be unique per file. Max length: 100

string

inputData
optional

Input data

location
optional

Document location. Max. length: 512

string

technicalData
optional

Technical data

< MapItem > array

6.21. EMRTDData

Name Description Schema

deviceCompatible
optional

Device is compatible with eMRTD (not blacklisted)
Example : false

boolean

errorMessage
optional

Error message if eMRTD session is FINISHED_ERROR

string

nfcAuthorized
optional

User accepted NFC activation
Example : false

boolean

sessionStatus
optional

Status of the eMRTD reading session

enum (IN_PROGRESS, FINISHED_OK, FINISHED_ERROR)

6.22. EventResponse

Name Description Schema

documentUid
optional

Event document uid

string

entityDetail
optional

Event entity detail

string

entityType
required

Event entity type

enum (FILE, DOCUMENT, IMAGE)

entityUid
optional

Event entity uid

string

eventDate
required

Event date

string (date-time)

eventId
required

Event identifier

integer (int64)

eventMessage
optional

Event message

string

eventMessageKey
optional

Event message key

string

eventStatus
required

Event status

enum (OK, KO)

eventType
required

Event type

enum (CREATE_FILE, CLONE_FILE, UPDATE_FILE, REMOVE_FILE, CHECK_FILE, LINK_DOCUMENT, UNLINK_DOCUMENT, ADD_COMMENT, UPDATE_COMMENT, REMOVE_COMMENT, ADD_ATTACHMENT, UPDATE_ATTACHMENT, REMOVE_ATTACHMENT, CREATE_DOCUMENT, CLONE_DOCUMENT, UPDATE_DOCUMENT, REMOVE_DOCUMENT, CHECK_DOCUMENT, FASTCHECK_DOCUMENT, ADD_IMAGE, REMOVE_IMAGE, START_MANUAL_ANALYSIS, MANUAL_ANALYSIS_RESULT, START_LIVENESS, LIVENESS_ANALYSIS_RESULT, START_CORRELATION_SEARCH, CORRELATION_SEARCH_RESULT, START_STOLEN_LOST_DOCUMENTS_VERIFICATION, STOLEN_LOST_DOCUMENTS_RESULT, START_IBAN_OWNERSHIP_VERIFICATION, IBAN_OWNERSHIP_VERIFICATION_RESULT, START_EMRTD, EMRTD_READING, START_VIDEOSCAN, VIDEOSCAN_RESULT, START_CPF_VERIFICATION, CPF_VERIFICATION_RESULT)

fileUid
optional

Event file uid

string

owner
required

Event owner

string

6.23. EventSearchResponse

Name Description Schema

rows
required

Rows

< EventResponse > array

total
required

Total number of rows

integer (int32)

6.24. ExtraData

Name Description Schema

deviceInfo
optional

Info about the device that captured documents

emrtdData
optional

eMRTD analysis related data (NFC chip embedded in some documents)

envelopeKeys
optional

Available envelope keys

< string > array

livenessData
optional

Liveness data (biometric liveness)

videoScanData
optional

Videoscan related data

6.25. ExtraDocuments

Name Description Schema

available
optional

number of available documents

integer (int32)

missing
optional

number of missing documents

integer (int32)

type
required

document type

string

unwanted
optional

number of unwanted documents

integer (int32)

6.26. FileComment

Name Description Schema

comment
optional

Comment value

string

commentDate
optional

Comment creation date

string (date-time)

issuer
optional

Issuer

string

type
required

Comment type

string

uid
optional

Comment identifier

string

6.27. FileCommentRequest

Name Description Schema

comment
required

Comment value

string

type
optional

Comment type. Max. length: 100

string

6.28. FileInputData

Name Description Schema

clientData
optional

Client data

persons
optional

Persons

< InputPerson > array

pluginConfiguration
optional

Plugin configuration

< MapItem > array

6.29. FileReport

file report

Name Description Schema

checks
required

Performed checks

< Check > array

clientData
required

Client data

customerIdentities
optional

Customer identities

< CustomerIdentity > array

documents
required

Documents

< DocumentCustomer > array

generationDate
required

Generation date of the report

string (date-time)

globalStatus
required

Global report status

enum (NONE, OK, WARN, ERROR, OBSOLETE)

referenceValues
optional

Reference values

uid
required

Report identifier

string

6.30. FileRequest

Name Description Schema

enableNotifications
optional

enable notifications, default false
Example : false

boolean

inputData
optional

Input data

location
optional

Location

string

state
optional

State. Max. length: 45

string

tags
optional

Tags. Total max. length: 200

< string > array

technicalData
optional

Technical data

< MapItem > array

type
optional

Type. Max. length: 45

string

uid
optional

file identifier. Max. length: 45

string

validity
optional

Validity

enum (VALID, INVALID, NOT_VALIDATED)

6.31. FileResponse

Name Description Schema

attachments
optional

Attachment

< AttachmentSummary > array

comments
optional

Comments

< FileComment > array

creationDate
optional

file creation date

string (date-time)

documents
optional

List of all bound documents

< DocumentReference > array

enableNotifications
optional

Enable callback notifications
Example : false

boolean

inputData
optional

Input data

lastAnalysisStatus
optional

file last analysis status

enum (OK, IN_PROGRESS, MANUAL_IN_PROGRESS, LIVENESS_IN_PROGRESS, EMRTD_IN_PROGRESS, VIDEOSCAN_IN_PROGRESS, CORRELATION_SEARCH_IN_PROGRESS, EXTRA_ANALYSIS_IN_PROGRESS, ERROR)

lastReport
optional

Last report generated for this file

lastReportStatus
optional

file last report status

enum (NONE, OK, WARN, ERROR, OBSOLETE)

lastUpdateDate
optional

file update date

string (date-time)

location
optional

file location

string

owner
optional

file owner

string

reports
optional

List of generated reports

< ReportSummary > array

state
optional

State

string

tags
optional

Tags

< string > array

technicalData
optional

Technical data

< MapItem > array

type
optional

Type

string

uid
optional

file identifier

string

validity
optional

Validity

enum (VALID, INVALID, NOT_VALIDATED)

verdict
optional

Verdict

6.32. FileSearchResponse

Name Description Schema

rows
optional

Matching files

< FileSummary > array

total
optional

Total number of matching files

integer (int32)

6.33. FileSummary

Name Description Schema

creationDate
optional

Creation date

string (date-time)

enableNotifications
optional

Enable callback notifications
Example : false

boolean

lastAnalysisStatus
optional

file last analysis status

enum (OK, IN_PROGRESS, MANUAL_IN_PROGRESS, LIVENESS_IN_PROGRESS, EMRTD_IN_PROGRESS, VIDEOSCAN_IN_PROGRESS, CORRELATION_SEARCH_IN_PROGRESS, EXTRA_ANALYSIS_IN_PROGRESS, ERROR)

lastReportStatus
optional

Last report status

enum (NONE, OK, WARN, ERROR, OBSOLETE)

lastUpdateDate
optional

Update date

string (date-time)

owner
optional

file owner

string

state
optional

state

string

uid
optional

file identifier

string

validity
optional

Validity

enum (VALID, INVALID, NOT_VALIDATED)

6.34. HealthResponse

Name Description Schema

apiVersion
required

API version

string

serverStatus
optional

Server status (UP/DOWN)

string

serverVersion
required

Server version

string

6.35. ImageQualityIssues

Name Description Schema

imageUid
required

Image uid

string

issues
required

Quality issues associated to this image

< enum (TRUNCATED_MRZ, HETEROGENEOUS_MRZ, TRUNCATED_DOCUMENT, PICTURE_RESOLUTION_INSUFFICIENT_OCR, PICTURE_BLURRED_WARN, PICTURE_BLURRED_ERROR, PICTURE_COLOR_GREY_OR_BW, PICTURE_FROM_SCREEN_CAPTURE) > array

6.36. ImageRequest

Name Description Schema

data
required

Image data (base64 encoded)

string

documentPart
optional

Image part (default value RECTO). For ID documents (incl. PASSPORT, DRIVING LICENCE, RESIDENCE PERMIT…), send RECTO or VERSO. For other document types, any value is accepted.

enum (RECTO, VERSO, OTHER)

type
optional

Image lightning type (default value DL). IR and UV images are only accepted for IDs.

enum (DL, IR, UV)

6.37. ImageResponse

Name Description Schema

documentPart
required

Image part

enum (RECTO, VERSO, OTHER)

origin
required

Image origin

string

source
optional

Image source

enum (ORIGINAL, CROPPED)

sourceImageUid
optional

Source image uid for cropped images

string

type
required

Image lightning type

enum (DL, IR, UV)

uid
required

Image identifier

string

6.38. InputAddressData

Input address data

Name Description Schema

city
optional

City

string

extra
optional

Extra

< MapItem > array

lines
optional

Address lines

< string > array

zipCode
optional

Zip code

string

6.39. InputClientData

Input client data

Name Description Schema

extra
optional

Extra

< MapItem > array

reference
optional

Client reference

string

6.40. InputFinanceData

Input finance data

Name Description Schema

accountKey
optional

Account key

string

accountNumber
optional

Account number

string

accountOwner
optional

Account owner

string

accountOwnerAddress
optional

Account owner address

string

bankAddress
optional

Bank address

string

bankAddressLines
optional

Bank address lines (deprecated since CIS 2.31.95. Use bankAddress instead)

string

bankCode
optional

Bank code

string

bankName
optional

Branch name

string

bic
optional

Bic

string

branchCode
optional

Branch code

string

extra
optional

Extra

< MapItem > array

iban
optional

Iban

string

ibanCountry
optional

Iban country

string

6.41. InputIdentityData

Input identity data

Name Description Schema

birthDay
optional

Birth day

string

birthDepartment
optional

Birth department

string

birthMonth
optional

Birth month

string

birthPlace
optional

Birth place

string

birthYear
optional

Birth year

string

extra
optional

Extra

< MapItem > array

firstNames
optional

First names

< string > array

fullName
optional

Full name

string

gender
optional

Gender

string

lastName
optional

Last name

string

nationality
optional

Nationality

string

personalNumber
optional

Personal number

string

ssn
optional

Social security number

string

usageName
optional

Usage name

string

6.42. InputInfoData

Input info data

Name Description Schema

documentNumber
optional

Document number

string

documentType
optional

Document type

string

expirationDay
optional

Expiration day

string

expirationMonth
optional

Expiration month

string

expirationYear
optional

Expiration year

string

extra
optional

Extra

< MapItem > array

personalNumber
optional

Personal number

string

readExpirationDay
optional

Read expiration day

string

readExpirationMonth
optional

Read expiration month

string

readExpirationYear
optional

Read expiration year

string

referenceDocument
optional

Reference document uid

string

6.43. InputJobData

Input job data

Name Description Schema

employer
optional

Employer name

string

extra
optional

Extra

< MapItem > array

income
optional

Income

string

siret
optional

Siret/Siren

string

6.44. InputLegalEntityData

Input legal entity data

Name Description Schema

uid
optional

Siret/Siren

string

6.45. InputPerson

Input person

Name Description Schema

addressData
optional

Address data

financeData
optional

Finance data

identityData
optional

Identity data

jobData
optional

Job data

legalEntityData
optional

Legal entity data

pluginConfiguration
optional

Plugin configuration

< MapItem > array

role
optional

Role

string

6.46. LivenessData

Name Description Schema

livenessReadiness
optional

If document meets the requirements as a reference document to start a liveness

enum (LIVENESS_READY, OTHER_SIDE_NEEDED, NO_FACE_DETECTED, LIVENESS_NOT_ALLOWED)

6.47. LocalizedValueOfstring

Name Description Schema

identifier
optional

Identifier

enum (DEVICE_ISSUE, DOCUMENT_ISSUE, NETWORK_ISSUE, TECHNICAL_ISSUE, USER_ISSUE, USER_CANCEL, MODEL_NFC_PROTOCOL_DEVICE_LIMITATION, BIOMETRIC_CONSENT, BAD_REFERENCE, MISSING_DATA, NO_FACE, TOO_MANY_FACES, FACE_MASK, FACE_TECHNICAL_ISSUE, OTHER_QA, CUT_CORNER, BLACKLISTED_CAMERA, INJECTION_ATTACK, CHALLENGES_NOT_PERFORMED, BARCODE_NOT_FOUND, ISSUER_TYPE_MATCH, BARCODE_TEST, SUPPORT_LEVEL_BASIC, SUPPORT_LEVEL_STANDARD, VISIBLE_FIELDS_READING_FAILED, MODEL_FIELDS_MISSING, FIELDS_EXTRACTION_FAILED, BLACKLIST_MATCH, WHITELIST_NOT_MATCH, PICTURE_COLOR_GREY_OR_BW, CORRELATION_WITH_DIFFERENT_IDENTITY, MISSING_IDENTITY_DATA, PAID_ONLY, NOT_AVAILABLE, INTERNAL_VERIFICATION, EXTERNAL_VERIFICATION, FORBIDDEN_WORDS_FOUND, MULTIPLE_DOCUMENTS_DETECTED, AGE_INFERIOR, AGE_SUPERIOR, BAD_CONFIGURATION, SUSPENDED, DECEASED_HOLDER, REGULARIZATION_PENDING, CANCELED_MULTIPLICITY, FRAUD_DETECTED, CANCELED_CRAFT, MINOR, NUMBER_NOT_FOUND, INVALID_NUMBER, SERVICE_ERROR, SERVICE_TIMEOUT, OWNER_NAME_NOT_MATCH, OWNER_BIRTHDATE_NOT_MATCH, NONEXISTENT_OR_CLOSED_ACCOUNT, INCORRECT_HOLDER_TYPE, OWNER_NAME_AND_BIRTHDATE_NOT_MATCH, BANK_DETAILS_NOT_ELIGIBLE, ADDITIONAL_IDENTITIES_NOT_MATCH_BARCODE)

key
required

key

string

message
required

Localized message

string

parameters
optional

parameters

< string > array

6.48. MapItem

Name Description Schema

key
required

key

string

value
required

value

string

6.49. Menu

Name Description Schema

includeDefaultMenu
optional

include default menu
Example : false

boolean

items
optional

menu items

< MenuItem > array

6.50. MenuItem

Name Description Schema

icon
optional

Icon (fontawesome or glyphicon css classes)

string

label
required

Label

string

target
optional

Target

enum (_self, _blank)

tooltip
optional

ToolTip

string

url
required

Url

string

6.51. NotificationEndpoint

Name Description Schema

active
optional

Optional activation field.
Example : false

boolean

clientId
required

Client id, unique for each endpoint

string

events
optional

event

< NotificationEvent > array

secret
optional

secret.

string

securityHeaderField
optional

Security header field

supportEmail
optional

Email used to send warnings when there are callbacks issue. For example if your callback server is not available or throws an error. Works with new notifications format only.

string

url
required

URL

string

6.52. NotificationEndpointRequest

Name Description Schema

active
optional

Optional activation field. Default: true
Example : false

boolean

clientId
required

Client id. Max. length: 100

string

secret
optional

Secret. Max. length: 100. Deprecated: prefer SecurityHeaderField for more flexibility.

string

securityHeaderField
optional

Security header field

supportEmail
optional

Email used to send warnings when there are callbacks issue. For example if your callback server is not available or throws an error. Works with new notifications format only. Max. length: 100

string

url
required

URL. Max. length: 255

string

6.53. NotificationEvent

Name Description Schema

eventKind
required

event kind

enum (FILE, DOCUMENT)

method
optional

event method

enum (CREATE, UPDATE, DELETE)

operation
optional

event operation

enum (DEFAULT, CLONE, STATE, VALIDITY, CHECK, CHECK_DOCUMENT, START_MANUAL_ANALYSIS, START_MANUAL_ANALYSIS_DOCUMENT, START_CORRELATION_SEARCH, START_CORRELATION_SEARCH_DOCUMENT, START_STOLEN_LOST_DOCUMENTS_VERIFICATION, START_STOLEN_LOST_DOCUMENTS_VERIFICATION_DOCUMENT, START_IBAN_OWNERSHIP_VERIFICATION, START_IBAN_OWNERSHIP_VERIFICATION_DOCUMENT, ADD_DOCUMENT, REMOVE_DOCUMENT, ADD_IMAGE, REMOVE_IMAGE, ADD_COMMENT, UPDATE_COMMENT, REMOVE_COMMENT, ADD_ATTACHMENT, UPDATE_ATTACHMENT, REMOVE_ATTACHMENT, START_CPF_VERIFICATION)

6.54. NotificationEventRequest

Name Description Schema

eventKind
required

Event kind.

enum (FILE, DOCUMENT)

method
optional

Event method.

enum (CREATE, UPDATE, DELETE)

operation
optional

Event operation.

enum (DEFAULT, CLONE, STATE, VALIDITY, CHECK, CHECK_DOCUMENT, START_MANUAL_ANALYSIS, START_MANUAL_ANALYSIS_DOCUMENT, START_CORRELATION_SEARCH, START_CORRELATION_SEARCH_DOCUMENT, START_STOLEN_LOST_DOCUMENTS_VERIFICATION, START_STOLEN_LOST_DOCUMENTS_VERIFICATION_DOCUMENT, START_IBAN_OWNERSHIP_VERIFICATION, START_IBAN_OWNERSHIP_VERIFICATION_DOCUMENT, ADD_DOCUMENT, REMOVE_DOCUMENT, ADD_IMAGE, REMOVE_IMAGE, ADD_COMMENT, UPDATE_COMMENT, REMOVE_COMMENT, ADD_ATTACHMENT, UPDATE_ATTACHMENT, REMOVE_ATTACHMENT, START_CPF_VERIFICATION)

6.55. Realm

Name Description Schema

backOfficeMenu
required

Menu for back office application

description
optional

Realm description

string

documentTtlDays
required

Unlinked documents time to live in days, default value 30 days

integer (int32)

enableNotificationsByDefault
required

Enable callback notifications (callbacks) by default, default value false
Example : false

boolean

enableOtherAlphabet
optional

boolean

eventTtlDays
required

Events time to live in days, default value 30 days

integer (int32)

fileTtlDays
required

file time to live in days, default value 30 days

integer (int32)

locale
required

Realm locale, default value FR

enum (FR, EN)

name
required

Realm name

string

newNotificationFormat
required

New notification format, default value false
Example : false

boolean

signFeature
required

Sign feature, default value false
Example : false

boolean

states
required

Validity states

< StateWorkFlowStep > array

useHeaderLocaleForMessages
required

Use HTTP header 'Accept-Language' to localize error messages, default value true
Example : false

boolean

6.56. ReportAddressData

Name Description Schema

city
optional

City

country
optional

Country

extra
optional

Extra

< ReportDataMapItem > array

fullAddress
optional

Full address lines as read on document

lane
optional

Lane

laneNumber
optional

Lane number

zipCode
optional

Zip code

6.57. ReportAdministratorData

Name Description Schema

birthDate
optional

birthDate

name
optional

Name

string

title
optional

Title

string

6.58. ReportChequeData

Name Description Schema

chequeNumber
optional

cheque number

cmc7
optional

cmc7

cmc7Raw
optional

cmc7 (read value)

extra
optional

Extra

< ReportDataMapItem > array

rlmc
optional

rlmc

zib
optional

zib

zin
optional

zin

6.59. ReportClientData

Name Description Schema

extra
optional

Extra

< ReportDataMapItem > array

reference
optional

Client reference

6.60. ReportDataItem

Name Description Schema

extraAlphabetValues
optional

Extra Alphabet Value

< string, string > map

label
optional

Label

string

origin
optional

Origin

enum (DOCUMENT_INPUT, FILE_INPUT, DOCUMENT)

originUid
optional

Origin uid

string

value
optional

Value

string

valueLabel
optional

Labeled value

string

6.61. ReportDataListItem

Name Description Schema

extraAlphabetValues
optional

Extra Alphabet Value
Example : "{\"key1\":[\"value1\",\"value2\"],\"key2\":[\"value3\",\"value4\"]}"

object

label
optional

Label

string

origin
optional

Origin

enum (DOCUMENT_INPUT, FILE_INPUT, DOCUMENT)

originUid
optional

Origin uid

string

values
optional

Values

< string > array

6.62. ReportDataMapItem

Name Description Schema

extraAlphabetValues
optional

Extra Alphabet Values

< string, string > map

key
required

key

string

label
required

Label

string

origin
optional

Origin

enum (DOCUMENT_INPUT, FILE_INPUT, DOCUMENT)

originUid
optional

Origin uid

string

value
required

Value

string

valueLabel
optional

Labeled value

string

6.63. ReportDateItem

Name Description Schema

day
optional

Day

integer (int32)

label
optional

Label

string

month
optional

Month

integer (int32)

origin
optional

Origin

enum (DOCUMENT_INPUT, FILE_INPUT, DOCUMENT)

originUid
optional

Origin uid

string

value
optional

Value

string

year
optional

Year

integer (int32)

6.64. ReportFinanceData

Name Description Schema

accountKey
optional

Account key

accountNumber
optional

Account number

accountOwner
optional

Account owner

accountOwnerAddress
optional

Account owner address. Deprecated, use accountOwnerAddressLines instead

accountOwnerAddressLines
optional

Account owner address

bankAddressLines
optional

Bank address lines

bankCode
optional

Bank code

bankName
optional

Branch name

bic
optional

Bic

branchCode
optional

Branch code

extra
optional

Extra

< ReportDataMapItem > array

iban
optional

Iban

ibanCountry
optional

Iban country

6.65. ReportIdentityData

Name Description Schema

birthDate
optional

Birth date

birthDay
optional

Birth day (deprecated since CIS 2.3. Use birthDate.day instead)

birthDepartment
optional

Birth department

birthMonth
optional

Birth month (deprecated since CIS 2.3. Use birthDate.month instead)

birthPlace
optional

Birth place

birthPlaceCity
optional

Birth place city

birthPlaceCountry
optional

Birth place country

birthYear
optional

Birth year (deprecated since CIS 2.3. Use birthDate.year instead)

extra
optional

Extra

< ReportDataMapItem > array

faceUrl
optional

face URL

firstNames
optional

First names

fullName
optional

Full name

gender
optional

Gender

lastName
optional

Last name

nationalRegistrationNumber
optional

National registration number

nationality
optional

Nationality

ssn
optional

Social security number

usageName
optional

Usage name

6.66. ReportJobData

Name Description Schema

employer
optional

Employer name

employerAddress
optional

Employer address

extra
optional

Extra

< ReportDataMapItem > array

income
optional

Income

siret
optional

Employer identifier. Deprecated since 2.8, use field 'uid' instead

uid
optional

Employer identifier

6.67. ReportLegalEntityData

Name Description Schema

activity
optional

activity

activityCode
optional

activity code

addressLines
optional

address lines

administrators
optional

administrators

capitalAmount
optional

capital amount

capitalCurrency
optional

capital current

capitalType
optional

capital type

city
optional

city

commercialName
optional

commercial name

country
optional

country

directors
optional

directors (deprecated since 2.28. Use administrators instead)

extra
optional

extra

< string, ReportDataItem > map

headOfficeUid
optional

company head office uid

legalForm
optional

legal form

name
optional

company name

registrationDate
optional

registration date

uid
optional

company uid

zipCode
optional

zip code

6.68. ReportReferenceValues

Name Description Schema

references
required

References

< ReportDataMapItem > array

6.69. ReportSummary

Name Description Schema

generationDate
required

Report generation date

string (date-time)

globalStatus
required

Report global status

enum (NONE, OK, WARN, ERROR, OBSOLETE)

uid
required

Report UID

string

6.70. ReportVehicleData

Name Description Schema

bodyType
optional

body type

brand
optional

brand

extra
optional

extra

< string, ReportDataItem > map

firstRegistrationDate
optional

first registation date

model
optional

model

plateNum
optional

extra

type
optional

type

vin
optional

vehicle identification number

6.71. SecurityHeaderField

Name Description Schema

name
required

Name of the header.

string

value
required

Value of the header.

string

6.72. StateWorkFlowStep

Name Description Schema

attachable
required

Attachable. If false, attachments cannot be modified for all files with this state.
Example : false

boolean

checkable
required

Checkable. If false, all files with this state cannot be checked.
Example : false

boolean

initial
required

Initial step. If no state is specified at creation, file is initiated with this state. Only one 'initial' step is allowed.
Example : false

boolean

label
required

Label

string

name
required

Name

string

next
required

Available next steps. Each steps must exist.

< string > array

updatable
required

Updatable. If false, all files with this state cannot be updated.
Example : false

boolean

6.73. TaskResponse

Name Description Schema

endDate
optional

Ended task date

string (date-time)

handledUid
optional

Identifier for handled object

string

issuerType
optional

issuer type

string

issuerUid
optional

issuer uid

string

message
optional

Message

string

startDate
optional

Started task date

string (date-time)

status
required

Task status

enum (SUBMITTED, STARTED, MANUAL_ANALYSIS_STARTED, LIVENESS_STARTED, EMRTD_STARTED, VIDEOSCAN_STARTED, CORRELATION_SEARCH_STARTED, EXTRA_ANALYSIS_STARTED, ENDED, FAILED)

uid
required

Task identifier

string

6.74. UserInfo

Name Description Schema

locations
optional

User locations

< string > array

login
required

User login

string

menu
optional

Menu

privileges
required

User privileges

< string > array

states
optional

States

< StateWorkFlowStep > array

6.75. Verdict

Name Description Schema

causeOfRejection
optional

Cause of rejection

enum (DATA_NOT_MATCH, DOC_FIELDS_UNREADABLE, MISSING_SIDE, DOC_NOT_ORIGINAL, DOC_EXPIRED, DOC_NOT_ACCEPTED, NFC_ISSUE, VIDEO_QUALITY, MANUAL_TREATMENT_TIMEOUT, CHALLENGES_NOT_PERFORMED)

errorCauseMessage
optional

Error cause message

string

status
required

verdict status

enum (SUCCESS, REJECTED, FRAUDULENT_IDENTITY_SUSPICION, INTERNAL_ERROR, NOT_COMPLETE)

6.76. VideoScanData

Name Description Schema

errorMessage
optional

Error message if one of videoScan sessions is FINISHED_ERROR

string

sessionRectoStatus
optional

Status of the videoScan Recto side reading session

enum (IN_PROGRESS, FINISHED_OK, FINISHED_ERROR)

sessionVersoStatus
optional

Status of the videoScan Verso side reading session

enum (IN_PROGRESS, FINISHED_OK, FINISHED_ERROR)

7. Asynchronous mode

In asynchronous mode, response body contains the task status:

{
  "uid": "dfdf3201-81bb-4255-99bc-e693a0ff8f68",
  "status": "STARTED",
  "startDate": "2020-01-21T10:24:48+0200"
}

Use Get task to view last task status.

8. Configuration

8.1. Identity completeness configuration

When submitting a file, identity completeness can be defined in "pluginConfiguration" section using "IDENTITY_COMPLETENESS" key.

  • inputData/pluginConfiguration/IDENTITY_COMPLETENESS: default completeness for all generated identities

  • inputData/persons[i]/pluginConfiguration/IDENTITY_COMPLETENESS: completeness for identity corresponding to this person

{
  "uid": "123456789",
  "inputData": {
    "persons": [
      {
         "role" : "PERSON_1",
          "pluginConfiguration" : [
            {
                "key" : "IDENTITY_COMPLETENESS",
                 "value" : "ID=0,1;PAY_SLIP=1,*"
            }
          ]
          ...
      },
      {
         "role" : "PERSON_2"
         ...
      }
    ],
    "pluginConfiguration" : [
      {
         "key" : "IDENTITY_COMPLETENESS",
         "value" : "ID=0,2;PAY_SLIP=3,5"
      }
    ]
  }
  ...
}

"IDENTITY_COMPLETENESS" is a semicolon separated list of key/value pairs:

  • key corresponds to document types (see Document request for available values)

  • value defines the minimum and maximum number of documents required.

  • * character means "any number of times"

For example:

  • ID=* means any number of ID document (even 0)

  • ID=1;PAY_SLIP=1,* means exactly 1 ID document and minimum 1 pay slip

  • ID=0,1;PAY_SLIP=1,* means between 0 and 1 ID document and minimum 1 pay slip

  • ID=0,2;PAY_SLIP=3,5 means up to 2 IDs and 3 to 5 pay slips

  • ID=0,2;PAY_SLIP,IBAN=3,5 means up to 2 IDs and 3 to 5 pay slips or ibans

We can also define document subtype(s) for each type of document: they are defined between [ and ] and separated by |.
For example:

  • ID[PASSPORT]=1 means one PASSPORT document is required

  • ID[VISA|PASSPORT]=1 means a VISA or a PASSPORT document is required (not both, not other ID document subtype)

The result of identity completeness is stored in extraDocuments section of each generated customer identities

If "IDENTITY_COMPLETENESS" is not defined, extracDocuments is null.

Control returns:

  • OK: identity is complete

  • WARNING: identity contains extra documents

  • ERROR: some documents are missing

8.2. Callbacks configuration

Only users with realm_management or notification_management privilege can create endpoints and notifications.

8.2.1. Callback definition

A callback is defined by its endpoint.

Each endpoint is defined by

  • a clientId (identifier)

  • an activation property (defaults to true)

  • an URL. Notifications will be sent to this URL.

  • a security header field composed of a name and a value. If used, both name and value have to be set. The header will be sent "as is".

  • a secret. This secret will be sent as an "X-Request-ID" header, with its value set to: clientId:secret encoded in base64.

  • a set of events. Each time this event is raised, notification is launched.

Note that only one of "Security Header Field" or "secret" is allowed.

To subscribe to an event, you have to define its kind, method(s) and operation(s).

To subscribe to all events concerning files just set event kind to "FILE" (no method, no operation), to subscribe to all events concerning file updates just set kind to "FILE" and method to "UPDATE" (no operation), and so on…​

Kind Method Operation Event description

FILE

CREATE

DEFAULT

File has been created

CLONE

File has been cloned

DELETE

DEFAULT

File has been deleted

UPDATE

DEFAULT

File has been updated using update method

STATE

File state has changed

VALIDITY

File validity has changed

CHECK

File has been checked

CHECK_DOCUMENT

Document has been checked during a file check

START_MANUAL_ANALYSIS_DOCUMENT

Document is sent to manual analysis during a file check

START_CORRELATION_SEARCH_DOCUMENT

Document is sent to correlation search during a file check

ADD_DOCUMENT

Document has been added to file

REMOVE_DOCUMENT

Document has been removed from file

ADD_COMMENT

Comment has been added to file

REMOVE_COMMENT

Comment has been removed from file

ADD_ATTACHMENT

Attachment has been added file

UPDATE_ATTACHMENT

Attachment has been updated

REMOVE_ATTACHMENT

Attachment has been removed from file

DOCUMENT

CREATE

DEFAULT

Document has been created

DELETE

DEFAULT

Document has been deleted

UPDATE

DEFAULT

Document has been updated user update method

CHECK

Document has been checked

START_MANUAL_ANALYSIS

Document is sent to manual analysis

START_CORRELATION_SEARCH

Document is sent to correlation search

ADD_IMAGE

Image has been added to document

REMOVE_IMAGE

Image has been removed from document

8.2.2. Callback activation

To activate notification, "enableNotifications" field has to be set to "true" in each file or document.
If "enableNotifications" is not set, "enableNotificationsByDefault" realm parameter is used.

There is 2 formats for notification. First (defined as "old notification format") lets the CIS send itself the notification. Second (defined as "new format") uses a dedicated service that manages notifications. In order to activate the new notification format, "newNotificationFormat" needs to be set to true in realm update request.
Note that "old notification format" is deprecated and should not be used for new customers.

8.2.3. Callback notification

When a notification is fired, a json object is sent to endpoint URL using POST.

JSON object may contain the following fields (depending on event):

Tip
Fields marked by (*) must be set. Others are optional. When two fields name are specified, the name depends weather it’s the "old notification format" or the "new notification format".
  • (*) "date" (old) or "eventDate" (new): event date

  • (*) "realm": realm name

  • (*) "issuer" (old) or "accountId" (new): issuer

  • (*) "event_kind" (old) or "resourceType" (new): event kind, see Notification event

  • (*) "method" (old): event method, see Notification event

  • (*) "operation" (old): event operation, see Notification event

  • (*) "event" (new): the concatenation of "event method" and "event operation" (whith underscore separator).

  • (*) "event_status": event status ("OK" if everything went well, otherwise, an error message, or "KO" is no error message is available)

  • "check_status": enum (NONE, OK, WARNING, ERROR, OBSOLETE)

  • "file_uid": file UID

  • "new_state": new file state

  • "old_state": old file state

  • "new_validity": new file validity

  • "old_validity": old file validity

  • "document_uid": document UID

  • "document_type": enum (ID, IBAN, CHEQUE, TAX, PAY, ADDRESS, CREDIT_CARD, PORTRAIT, LEGAL_ENTITY, CAR_REGISTRATION, LIVENESS)

  • "image_uid": image UID

  • "image_side": image side enum (RECTO, VERSO, OTHER)

Example:

When a file check ends, the following request is sent to the endPoint defined in the notification:

{
    "date" : "2019-01-01T11:11:11+0100",
    "realm" : "MyCompany",
    "issuer" : "sarah connor",
    "event_kind" : "FILE",
    "method" : "UPDATE",
    "operation" : "CHECK",
    "event_status" : "OK",
    "file_uid" : "SOME_FILE_UID",
    "check_status" : "OK"
 }

If new notification format is used, a part of the previous JSON object corresponds to the "eventData" sub-object of the following exemple

(note that some fields won’t be present as they are already in the main object of the response: "event_kind", "method", "operation", "date" and "issuer")

{
    "accountId": "sarah connor",
    "appId": "CIS-SERVER",
    "resourceId": "SOME_FILE_UID",
    "resourceType": "FILE",
    "event": "UPDATE_CHECK",
    "eventDate": "2019-01-01T11:11:11+0100",
    "eventData": {
        "realm" : "MyCompany",
        "event_status" : "OK",
        "file_uid" : "SOME_FILE_UID",
        "check_status" : "OK"
    },
    "_links": [{
    }]
}

The endPoint should respond with Http status OK (code 200).
It should also treat the callback asynchronously so that the HTTP connection is not held too long.
Note that if the return code isn’t 2XX or if the endpoint is not responding, retries will be performed a few times before warning our teams that the endpoint has an issue.

8.3. File states configuration

Each file comes with a "state" field.

States workflow is defined at realm level and can be modified with Update realm method.

States workflow is also returned in Get user info method.

Default state workflow:

[
  {
    "name": "INITIAL",
    "label": "Initial",
    "next": [
      "IN_PROGRESS",
      "FINAL"
    ],
    "initial": true,
    "updatable" : true,
    "checkable" : true,
    "attachable" : true
   },
  {
    "name": "IN_PROGRESS",
    "label": "In progress",
    "next": [
      "INITIAL",
      "FINAL"
    ],
    "updatable" : true,
    "checkable" : true,
    "attachable" : true
  },
  {
    "name": "FINAL",
    "label": "Final",
    "next": [
      "INITIAL",
      "IN_PROGRESS"
    ],
    "updatable" : true,
    "checkable" : true,
    "attachable" : true
  }
]

9. Error codes

When an error occurs, message body contains an error code, an error message and optionally some parameters.
Response is formatted in JSON.

{
  "errorCode": "CIS_DOCUMENT_UNKNOWN",
  "errorMessage": "Unknown document [someDocument]",
  "parameters": {
    "documentUid": "someDocument"
  }
}

9.1. Available error codes

Error code Cause Http code

CIS_API_BAD_REQUEST

Generic 400 error

400

CIS_API_FORBIDDEN

Generic 403 error

403

CIS_API_NOT_FOUND

Generic 404 error

404

CIS_API_INTERNAL_ERROR

Generic 500 error

500

CIS_NOT_IMPLEMENTED

Method not implemented

501

CIS_IMAGE_TOO_LARGE

Submitted image is too large (max. 4Mb)

413

CIS_ATTACHMENT_TOO_LARGE

Submitted attachment is too large (max. 10 Mb)

413

CIS_INVALID_CONTENT

An input data field is invalid

415

CIS_CUSTOMER_FILE_UNKNOWN

Unknown customer file [{fileUid}]

404

CIS_CUSTOMER_FILE_INVALID

Invalid customer file [{fileUid}]

400

CIS_CUSTOMER_FILE_FORMAT_INVALID

Invalid customer file format [{fileUid}]

400

CIS_CUSTOMER_FILE_NO_DOCUMENT

No document linked to customer file [{fileUid}]

400

CIS_CUSTOMER_FILE_NO_REPORT

No report for customer file [{fileUid}]

400

CIS_CUSTOMER_FILE_REQUIRED

Customer file is required

400

CIS_CUSTOMER_FILE_EMAIL_REQUIRED

Email is required for customer file [{fileUid}]

400

CIS_CUSTOMER_FILE_EMAIL_FORMAT_INVALID

Email format is customer file [{fileEmail}]

400

CIS_CUSTOMER_FILE_PASSWORD_REQUIRED

Password is required for customer file [{fileUid}]

400

CIS_CUSTOMER_FILE_ALREADY_EXISTS

Customer file [{fileUid}] already exists

409

CIS_CUSTOMER_FILE_EMAIL_ALREADY_USED

Email [{fileEmail}] is already used

409

CIS_CUSTOMER_FILE_COMMENT_UNKNOWN

Unknown comment [{commentUid}] for customer file [{fileUid}]

404

CIS_CUSTOMER_FILE_COMMENT_INVALID

Invalid comment [{commentUid}] for customer file [{fileUid}]

400

CIS_CUSTOMER_FILE_ATTACHMENT_UNKNOWN

Unknown attachment [{attachmentUid}] for customer file [{fileUid}]

404

CIS_CUSTOMER_FILE_ATTACHMENT_INVALID

Invalid attachment [{attachmentUid}] for customer file [{fileUid}]

400

CIS_CUSTOMER_FILE_STATE_UNKNOWN

Unknown value for state [{state}]

400

CIS_CUSTOMER_FILE_STATE_INVALID

Cannot update state to [{state}]

400

CIS_CUSTOMER_FILE_NOT_UPDATABLE

Customer file [{fileUid}] is locked and cannot be updated

400

CIS_CUSTOMER_FILE_NOT_CHECKABLE

Customer file [{fileUid}] is locked and cannot be checked

400

CIS_CUSTOMER_FILE_NOT_ATTACHABLE

Attachments on customer file [{fileUid}] cannot be modified

400

CIS_CUSTOMER_FILE_MAX_DOCUMENTS_REACHED

Max. number of documents reached for customer file [{fileUid}]

400

CIS_CUSTOMER_FILE_MAX_ATTACHMENTS_REACHED

Max. number of attachments reached for customer file [{fileUid}]

400

CIS_THUMBNAIL_INVALID_REQUEST

Thumbnail is available only for images and PDF attachments

400

CIS_CUSTOMER_TAG_INVALID

Tag must not contain ',' character

400

CIS_DOCUMENT_UNKNOWN

Unknown document [{documentUid}]

404

CIS_DOCUMENT_INVALID

Invalid document [{documentUid}]

400

CIS_DOCUMENT_UNKNOWN_FOR_REALM

Unknown document [{documentUid}] for this realm [{realm}]

400

CIS_DOCUMENT_NOT_LINKED

Document [{documentUid}] not linked to customer file [{fileUid}]

400

CIS_DOCUMENT_ALREADY_LINKED

Document [{documentUid}] already linked to customer file [{fileUid}]

409

CIS_DOCUMENT_ALREADY_LINKED_OTHER

Document [{documentUid}] already linked to another customer file

409

CIS_DOCUMENT_NO_REPORT

No report for document [{documentUid}]

400

CIS_DOCUMENT_INVALID_EVIDENCE_KEY

Evidence key already exists for customer file [{fileUid}]

409

CIS_DOCUMENT_INVALID_REFERENCE

Invalid reference document [{documentUid}]

400

CIS_DOCUMENT_NO_BIOMETRIC_REFERENCE

Reference document [{documentUid}] cannot be used for biometric analysis

400

CIS_DOCUMENT_COUNTRY_NOT_SUPPORTED

This country is not supported for this kind of document

400

CIS_IMAGE_UNKNOWN

Unknown image [{imageUid}] for realm [{realm}]

404

CIS_IMAGE_CONTENT_REQUIRED

Image content is required

400

CIS_IMAGE_SIDE_REQUIRED

Image side is required

400

CIS_IMAGE_TYPE_REQUIRED

Image type is required

400

CIS_IMAGE_REQUIRED

Image is required

400

CIS_IMAGE_LIST_NOT_EMPTY

Image list must not be empty

400

CIS_IMAGE_DOCUMENT_INVALID

Image [{imageUid}] does not belong to document [{documentUid}]

400

CIS_CHECK_CONFLICT

Check conflict on document [{documentUid}]. Newer analysis is available

409

CIS_CHECK_REPORT_UNKNOWN

Unknown check report [{checkReportUid}]

404

CIS_CHECK_REPORT_INVALID_FOR_REALM

Unknown check report [{checkReportUid}] for realm [{realm}]

400

CIS_CHECK_REPORT_CUSTOMER_FILE_REQUIRED

Customer file is required

400

CIS_CHECK_REPORT_DOCUMENT_REQUIRED

ONBOARDING_ID header is required for SDKs calls

400

CIS_CHECK_REPORT_ISSUER_REQUIRED

Issuer is required

400

CIS_CHECK_REPORT_ISSUER_TYPE_REQUIRED

Issuer type is required

400

CIS_TASK_UNKNOWN

Unknown task [{taskUid}]

404

CIS_BACKEND_IMAGE_TYPE_INVALID

Request does not contain required image types (DL or DL + IR + UV)

400

CIS_BACKEND_NO_RECTO_OR_VERSO

Request must contain at least a RECTO and/or a VERSO image

400

CIS_BACKEND_NO_DL

Request must contain at least a daylight image

400

CIS_BACKEND_DOCUMENT_TYPE_INCOMPATIBLE

Document type [{documentType}] returned by backend analysis is incompatible with category [{documentCategory}]

400

CIS_REALM_UNKNOWN

Unknown realm [{realm}]

404

CIS_REALM_INVALID

Invalid realm [{realm}]

400

CIS_REALM_PARAMETER_VALUE_INVALID

Invalid value for parameter [{realmParameter}]

400

CIS_REALM_ALREADY_EXISTS

The realm [{realm}] already exists

409

CIS_REALM_READ_ONLY

The realm [{realm}] contains data and cannot be modified or deleted

400

CIS_REALM_ENDPOINT_UNKNOWN

Unknown endpoint [{clientId}]

404

CIS_REALM_ENDPOINT_INVALID

Invalid endpoint [{clientId}]

400

CIS_REALM_ENDPOINT_CLIENT_ID_INVALID

Invalid endpoint client id [{clientId}]

400

CIS_REALM_ENDPOINT_CLIENT_ID_ALREADY_EXISTS

Endpoint with client id [{clientId}] already exists

400

CIS_REALM_ENDPOINT_URL_INVALID

Endpoint URL cannot be null

400

CIS_DOCUMENT_MANUAL_ANALYSIS_IN_PROGRESS

Cannot check document [{documentUid}], manual analysis in progress

409

CIS_DOCUMENT_LIVENESS_IN_PROGRESS

Cannot check document [{documentUid}], liveness analysis in progress

409

CIS_DOCUMENT_EMRTD_IN_PROGRESS

Cannot check document [{documentUid}], a NFC reading is in progress

409

CIS_DOCUMENT_VIDEOSCAN_IN_PROGRESS

Cannot check document [{documentUid}], a video capture is in progress

409

CIS_DOCUMENT_OPERATION_IN_PROGRESS

Cannot update document [{documentUid}], an operation is in progress

409

CIS_LIVENESS_NO_REFERENCE

Document [{documentUid}] does not contain liveness reference document

400

CIS_LIVENESS_NO_PORTRAIT

Document [{documentUid}] does not contain portrait

400

CIS_LIVENESS_CANNOT_CREATE_DOCUMENT

Creation of liveness documents is not allowed. Please use "startLiveness" method to start session

405

CIS_LIVENESS_INVALID_FILE

File [{fileUid}] is different from reference document file

409

CIS_ONE_LIVENESS_BY_FILE

The file [{fileUid}] already contains a liveness document.

400

CIS_LIVENESS_CANNOT_CREATE_DOCUMENT

Creation of liveness documents is not allowed. Please use "startLiveness" method to start session

405

CIS_LIVENESS_CANNOT_UPDATE_DOCUMENT

Update of liveness documents is not allowed. Please use "startLiveness" method to start session

405

CIS_LIVENESS_CANNOT_CHECK_DOCUMENT

Check of liveness documents is not allowed. Please use "startLiveness" method to start session

406

CIS_LIVENESS_INVALID_FILE

File [{fileUid}] is different from reference document file

409

CIS_SYNCHRONOUS_CHECK_NOT_AVAILABLE

Synchronous check is not available for document [{documentUid}]

400

CIS_CONCURRENT_FILE_CHECK

A check for the file [{fileUid}] is already running

406

CIS_CONCURRENT_DOCUMENT_CHECK

A check for the document [{documentUid}] is already running

406

CIS_INTERNAL_ERROR

Internal server error

500

CIS_BAD_REQUEST

Bad request

400

CIS_FORBIDDEN

Forbidden

403

CIS_NOT_FOUND

Not found

404

CIS_PDF_DIMENSIONS_INVALID

The PDF contains pages with dimensions that exceed the allowed limits or fall below the minimum required size.

400

9.2. Message parameters

Error code Description

realm

Realm name

fileUid

File identifier

fileEmail

File email

documentUid

Document identifier

documentType

Document type

documentCategory

Document category

checkReportUid

Check report identifier

imageUid

Image identifier

commentUid

Comment identifier

attachmentUid

Attachment identifier

taskUid

Task identifier

clientId

Endpoint client id

state

File state

10. Changelog

10.1. 2.41 to 2.41.1

10.3. 2.38 to 2.39

10.7. 2.34 to 2.35

  • Technical improvements

10.8. 2.33 to 2.34

  • Technical improvements

10.9. 2.32 to 2.33

  • Technical improvements

10.10. 2.31 to 2.32

  • Technical improvements

10.11. 2.30 to 2.31

  • Add "CIS_NOT_IMPLEMENTED" error code.

  • Add an option to download a PDF/A compliant PDF of report.

  • Add "CORRELATION_SEARCH_STARTED" task status, "CORRELATION_SEARCH_IN_PROGRESS" analysis status and "START_CORRELATION_SEARCH" and "CORRELATION_SEARCH_RESULT" events enum values.

  • Remove "CIS_CUSTOMER_FILE_UID_REQUIRED" error code.

  • Make uid field as optional in the FileRequest definition.

  • Some changes on the bank and account owner addresses

  • Fix missing mapping for PICTURE_COLOR_GREY_OR_BW errorCause

  • Extend REQUIRED_FIELDS_EXTRACTION scope (ID documents)

  • Generate PDF report in the PDF/A standard

  • Remove usage of realm parameters for analyses timeouts

  • [SLD] Handle CIS calls to SLD

  • Manage forbidden words for unstructured document - add FORBIDEN_WORDS_FOUND control

  • Handle new fields for ID documents (birthPlaceCity, birthPlaceCountry)

  • Handle new cause for barcode on unstructured documents

  • Handle the new cause from FIFRAUD: MISSING_IDENTITY_DATA

  • Map REGISTRATION_STATUS control from Brazilian CPF call

  • Add missing error cause (NUMBER_NOT_FOUND)

  • Add a new RND_ARCHIVING parameter in CIS realm

  • Detect overlapped documents

  • Add "update_all" right to role ROLE_SUPERVISOR

10.14. 2.27 to 2.28

10.15. 2.26 to 2.27

  • Add "securityHeaderField" field in NotificationEndpoint to add flexibility to notification callback security headers

10.16. 2.25 to 2.26

10.18. 2.23 to 2.24

  • Remove PICTURE_RESOLUTION_INSUFFISCIENT_OCR quality issue value (typo), replaced by PICTURE_RESOLUTION_INSUFFICIENT_OCR

10.20. 2.21 to 2.22

10.22. 2.19 to 2.20

  • Add new 'CHECK_DOCUMENT' and 'START_MANUAL_ANALYSIS_DOCUMENT' notifications in file check mode.

  • Add 'disableManualAnalysis' parameter to StartLiveness request.

10.23. 2.18 to 2.19

10.25. 2.16 to 2.17

10.27. 2.14 to 2.15

  • Add 'options' to StartLivenessRequest for internal tweeking of OCR layers

  • Add 'errorCause' to Check to add a level of info on some controls with ERROR status (available only for EMRTD Controls at the moment)

  • ReportAddressData 'lines' field has been removed.

10.28. 2.13 to 2.14

10.29. 2.12 to 2.13

10.30. 2.11 to 2.12

  • Extended IdentityCompleteness control.

  • 'biometricConsent' parameter is now mandatory for biometric documents.

  • Add mother and father’s name to identity extra data.

  • Add employer address to job data.

10.31. 2.10 to 2.11

  • Add a thumbnail endpoint to get a preview of any image of a document.

10.32. 2.9 to 2.10

  • 'dataProcessingConsent' field in startLiveness has been removed, use required field 'biometricConsent' instead.

  • Date fields marked as deprecated since CIS 2.3 should not be used anymore.
    They will be removed within the next two releases.

  • ReportJobData 'siret' field marked as deprecated since CIS 2.8 should not be used anymore.
    It will be removed in a future release.

  • ReportAddressData 'lines' field is now deprecated and should be removed in a future release.
    Use fullAddress instead.

10.33. 2.8 to 2.9

  • Add "classId" field to DocumentResponse

  • Add "CIS_DOCUMENT_NO_BIOMETRIC_REFERENCE" error code.

10.34. 2.7 to 2.8

  • Add Technical data map to File, Document, Attachment (read and write of this data need permission), useful for storing data related to the object.

  • Add a request parameter to force documents watermarking

10.35. 2.6 to 2.7

  • Add "CIS_DOCUMENT_INVALID_REFERENCE", "CIS_DOCUMENT_COUNTRY_NOT_SUPPORTED", "CIS_CHECK_CONFLICT", "CIS_LIVENESS_INVALID_FILE", "CIS_ONE_LIVENESS_BY_FILE", "CIS_LIVENESS_CANNOT_CREATE_DOCUMENT", "CIS_LIVENESS_CANNOT_UPDATE_DOCUMENT", "CIS_LIVENESS_CANNOT_CHECK_DOCUMENT" error codes.

  • Add support for portuguese IBAN analysis

  • Add support for italian and spanish address proof analysis

  • Add biometric consent for face recognition analysis

10.36. 2.5 to 2.6

  • Add liveness management

    • New document type/subtype "LIVENESS" in DocumentRequest and DocumentResponse

    • Add "CIS_CUSTOMER_FILE_REQUIRED", "CIS_DOCUMENT_LIVENESS_IN_PROGRESS", "CIS_FILE_LIVENESS_IN_PROGRESS", "CIS_LIVENESS_NO_REFERENCE", "CIS_LIVENESS_NO_PORTRAIT", "CIS_SYNCHRONOUS_CHECK_NOT_AVAILABLE", "CIS_LIVENESS_INVALID_FILE", "CIS_LIVENESS_CANNOT_CREATE_DOCUMENT", "CIS_CONCURRENT_FILE_CHECK", "CIS_CONCURRENT_DOCUMENT_CHECK" error codes.

  • Add new service to create and check document on the same request

  • Check files and documents : add parameter to disable manual analysis

10.37. 2.4 to 2.5

  • Add "fullName" to document response and request

  • Add "evidenceKey" to document (create, read, update, search).
    Document evidence key should be unique per file.

  • Add "CIS_DOCUMENT_INVALID_EVIDENCE_KEY" error code.

  • Add Clone document method.

10.38. 2.3 to 2.4

10.39. 2.2 to 2.3

  • Add support for "legal entity" document type.

  • Add support for "car registration" document type.

10.40. 2.1 to 2.2

  • Add identity completeness management.

  • Add callback management.

  • Add state field to file.

  • Add method to clone file.

  • Add methods to manage some realm parameters

  • Check submitted images and attachments.
    See "CIS_IMAGE_TOO_LARGE", "CIS_ATTACHMENT_TOO_LARGE", "CIS_INVALID_CONTENT" error codes.

  • Add "CIS_CUSTOMER_FILE_STATE_UNKNOWN", "CIS_CUSTOMER_FILE_STATE_INVALID", "CIS_CUSTOMER_FILE_NOT_UPDATABLE", "CIS_CUSTOMER_FILE_NOT_CHECKABLE", "CIS_CUSTOMER_FILE_NOT_ATTACHABLE" error codes.

10.41. 2.0 to 2.1

10.41.1. Attachment management