7.3.6. Biometrics

Get the OpenAPI file for this interface: abis.yaml

7.3.6.1. Services

7.3.6.1.1. CRUD

POST /v1/persons

Create one encounter and generate ID for both the person and the encounter

Scope required: abis.encounter.write

Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
  • callback (string) – the callback address, where the result will be sent when available
  • priority (integer) – the request priority
  • algorithm (string) – Hint about the algorithm to be used
Status Codes:

Example request:

POST /v1/persons?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer cn389ncoiwuencr

{
    "encounterId": "string",
    "status": "ACTIVE",
    "encounterType": "string",
    "galleries": [
        "string"
    ],
    "clientData": "c3RyaW5n",
    "contextualData": {
        "date": "2019-01-11"
    },
    "biographicData": {
        "dateOfBirth": "1985-11-30",
        "gender": "M",
        "nationality": "FRA"
    },
    "biometricData": [
        {
            "biometricType": "FACE",
            "biometricSubType": "UNKNOWN",
            "image": "c3RyaW5n",
            "imageRef": "https://example.com",
            "captureDate": "2020-07-01",
            "captureDevice": "string",
            "impressionType": "LIVE_SCAN_PLAIN",
            "width": 1,
            "height": 1,
            "bitdepth": 1,
            "resolution": 1,
            "compression": "NONE"
        }
    ]
}

Example response:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "personId": "string",
    "encounterId": "string"
}

Example response:

HTTP/1.1 202 Accepted
Content-Type: application/json

"123e4567-e89b-12d3-a456-426655440000"

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}

Callback: createResponse

POST ${request.query.callback}

Create one encounter and generate both IDs response callback

Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
Status Codes:

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "personId": "string",
    "encounterId": "string"
}

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/error+json

{
    "code": 1,
    "message": "string"
}

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}
POST /v1/persons/{personId}/encounters

Create one encounter and generate its ID

Create one encounter in the person identified by his/her id. If the person does not yet exist, it is created automatically.

Scope required: abis.encounter.write

Parameters:
  • personId (string) – the id of the person
Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
  • callback (string) – the callback address, where the result will be sent when available
  • priority (integer) – the request priority
  • algorithm (string) – Hint about the algorithm to be used
Status Codes:

Example request:

POST /v1/persons/{personId}/encounters?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer cn389ncoiwuencr

{
    "encounterId": "string",
    "status": "ACTIVE",
    "encounterType": "string",
    "galleries": [
        "string"
    ],
    "clientData": "c3RyaW5n",
    "contextualData": {
        "date": "2019-01-11"
    },
    "biographicData": {
        "dateOfBirth": "1985-11-30",
        "gender": "M",
        "nationality": "FRA"
    },
    "biometricData": [
        {
            "biometricType": "FACE",
            "biometricSubType": "UNKNOWN",
            "image": "c3RyaW5n",
            "imageRef": "https://example.com",
            "captureDate": "2020-07-01",
            "captureDevice": "string",
            "impressionType": "LIVE_SCAN_PLAIN",
            "width": 1,
            "height": 1,
            "bitdepth": 1,
            "resolution": 1,
            "compression": "NONE"
        }
    ]
}

Example response:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "personId": "string",
    "encounterId": "string"
}

Example response:

HTTP/1.1 202 Accepted
Content-Type: application/json

"123e4567-e89b-12d3-a456-426655440000"

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}

Callback: createResponse

POST ${request.query.callback}

Create one encounter and generate its ID response callback

Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
Status Codes:

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "personId": "string",
    "encounterId": "string"
}

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/error+json

{
    "code": 1,
    "message": "string"
}

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}
GET /v1/persons/{personId}/encounters

Read all encounters of one person

Scope required: abis.encounter.read

Parameters:
  • personId (string) – the id of the person
Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
  • callback (string) – the callback address, where the result will be sent when available
  • priority (integer) – the request priority
Status Codes:

Example request:

GET /v1/persons/{personId}/encounters?transactionId=string HTTP/1.1
Host: example.com
Authorization: Bearer cn389ncoiwuencr

Example response:

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "encounterId": "string",
        "status": "ACTIVE",
        "encounterType": "string",
        "galleries": [
            "string"
        ],
        "clientData": "c3RyaW5n",
        "contextualData": {
            "date": "2019-01-11"
        },
        "biographicData": {
            "dateOfBirth": "1985-11-30",
            "gender": "M",
            "nationality": "FRA"
        },
        "biometricData": [
            {
                "biometricType": "FACE",
                "biometricSubType": "UNKNOWN",
                "image": "c3RyaW5n",
                "imageRef": "https://example.com",
                "captureDate": "2020-07-01",
                "captureDevice": "string",
                "impressionType": "LIVE_SCAN_PLAIN",
                "width": 1,
                "height": 1,
                "bitdepth": 1,
                "resolution": 1,
                "compression": "NONE"
            }
        ]
    }
]

Example response:

HTTP/1.1 202 Accepted
Content-Type: application/json

"123e4567-e89b-12d3-a456-426655440000"

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}

Callback: readAllResponse

POST ${request.query.callback}

Read all encounters response callback

Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
Status Codes:

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json

[
    {
        "encounterId": "string",
        "status": "ACTIVE",
        "encounterType": "string",
        "galleries": [
            "string"
        ],
        "clientData": "c3RyaW5n",
        "contextualData": {
            "date": "2019-01-11"
        },
        "biographicData": {
            "dateOfBirth": "1985-11-30",
            "gender": "M",
            "nationality": "FRA"
        },
        "biometricData": [
            {
                "biometricType": "FACE",
                "biometricSubType": "UNKNOWN",
                "image": "c3RyaW5n",
                "imageRef": "https://example.com",
                "captureDate": "2020-07-01",
                "captureDevice": "string",
                "impressionType": "LIVE_SCAN_PLAIN",
                "width": 1,
                "height": 1,
                "bitdepth": 1,
                "resolution": 1,
                "compression": "NONE"
            }
        ]
    }
]

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/error+json

{
    "code": 1,
    "message": "string"
}

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}
POST /v1/persons/{personId}/encounters/{encounterId}

Create one encounter

Create one encounter in the person identified by his/her id. If the person does not yet exist, it is created automatically.

If the encounter already exists, an error 403 is returned.

Scope required: abis.encounter.write

Parameters:
  • personId (string) – the id of the person
  • encounterId (string) – the id of the encounter
Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
  • callback (string) – the callback address, where the result will be sent when available
  • priority (integer) – the request priority
  • algorithm (string) – Hint about the algorithm to be used
Status Codes:

Example request:

POST /v1/persons/{personId}/encounters/{encounterId}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer cn389ncoiwuencr

{
    "encounterId": "string",
    "status": "ACTIVE",
    "encounterType": "string",
    "galleries": [
        "string"
    ],
    "clientData": "c3RyaW5n",
    "contextualData": {
        "date": "2019-01-11"
    },
    "biographicData": {
        "dateOfBirth": "1985-11-30",
        "gender": "M",
        "nationality": "FRA"
    },
    "biometricData": [
        {
            "biometricType": "FACE",
            "biometricSubType": "UNKNOWN",
            "image": "c3RyaW5n",
            "imageRef": "https://example.com",
            "captureDate": "2020-07-01",
            "captureDevice": "string",
            "impressionType": "LIVE_SCAN_PLAIN",
            "width": 1,
            "height": 1,
            "bitdepth": 1,
            "resolution": 1,
            "compression": "NONE"
        }
    ]
}

Example response:

HTTP/1.1 202 Accepted
Content-Type: application/json

"123e4567-e89b-12d3-a456-426655440000"

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}

Callback: createResponse

POST ${request.query.callback}

Create one encounter response callback

Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
Status Codes:

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "personId": "string",
    "encounterId": "string"
}

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/error+json

{
    "code": 1,
    "message": "string"
}

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}
GET /v1/persons/{personId}/encounters/{encounterId}

Read one encounter

Scope required: abis.encounter.read

Parameters:
  • personId (string) – the id of the person
  • encounterId (string) – the id of the encounter
Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
  • callback (string) – the callback address, where the result will be sent when available
  • priority (integer) – the request priority
Status Codes:

Example request:

GET /v1/persons/{personId}/encounters/{encounterId}?transactionId=string HTTP/1.1
Host: example.com
Authorization: Bearer cn389ncoiwuencr

Example response:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "encounterId": "string",
    "status": "ACTIVE",
    "encounterType": "string",
    "galleries": [
        "string"
    ],
    "clientData": "c3RyaW5n",
    "contextualData": {
        "date": "2019-01-11"
    },
    "biographicData": {
        "dateOfBirth": "1985-11-30",
        "gender": "M",
        "nationality": "FRA"
    },
    "biometricData": [
        {
            "biometricType": "FACE",
            "biometricSubType": "UNKNOWN",
            "image": "c3RyaW5n",
            "imageRef": "https://example.com",
            "captureDate": "2020-07-01",
            "captureDevice": "string",
            "impressionType": "LIVE_SCAN_PLAIN",
            "width": 1,
            "height": 1,
            "bitdepth": 1,
            "resolution": 1,
            "compression": "NONE"
        }
    ]
}

Example response:

HTTP/1.1 202 Accepted
Content-Type: application/json

"123e4567-e89b-12d3-a456-426655440000"

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}

Callback: readResponse

POST ${request.query.callback}

Read one encounter response callback

Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
Status Codes:

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "encounterId": "string",
    "status": "ACTIVE",
    "encounterType": "string",
    "galleries": [
        "string"
    ],
    "clientData": "c3RyaW5n",
    "contextualData": {
        "date": "2019-01-11"
    },
    "biographicData": {
        "dateOfBirth": "1985-11-30",
        "gender": "M",
        "nationality": "FRA"
    },
    "biometricData": [
        {
            "biometricType": "FACE",
            "biometricSubType": "UNKNOWN",
            "image": "c3RyaW5n",
            "imageRef": "https://example.com",
            "captureDate": "2020-07-01",
            "captureDevice": "string",
            "impressionType": "LIVE_SCAN_PLAIN",
            "width": 1,
            "height": 1,
            "bitdepth": 1,
            "resolution": 1,
            "compression": "NONE"
        }
    ]
}

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/error+json

{
    "code": 1,
    "message": "string"
}

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}
PUT /v1/persons/{personId}/encounters/{encounterId}

Update one encounter

Scope required: abis.encounter.write

Parameters:
  • personId (string) – the id of the person
  • encounterId (string) – the id of the encounter
Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
  • callback (string) – the callback address, where the result will be sent when available
  • priority (integer) – the request priority
  • algorithm (string) – Hint about the algorithm to be used
Status Codes:

Example request:

PUT /v1/persons/{personId}/encounters/{encounterId}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json
Authorization: Bearer cn389ncoiwuencr

{
    "encounterId": "string",
    "status": "ACTIVE",
    "encounterType": "string",
    "galleries": [
        "string"
    ],
    "clientData": "c3RyaW5n",
    "contextualData": {
        "date": "2019-01-11"
    },
    "biographicData": {
        "dateOfBirth": "1985-11-30",
        "gender": "M",
        "nationality": "FRA"
    },
    "biometricData": [
        {
            "biometricType": "FACE",
            "biometricSubType": "UNKNOWN",
            "image": "c3RyaW5n",
            "imageRef": "https://example.com",
            "captureDate": "2020-07-01",
            "captureDevice": "string",
            "impressionType": "LIVE_SCAN_PLAIN",
            "width": 1,
            "height": 1,
            "bitdepth": 1,
            "resolution": 1,
            "compression": "NONE"
        }
    ]
}

Example response:

HTTP/1.1 202 Accepted
Content-Type: application/json

"123e4567-e89b-12d3-a456-426655440000"

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}

Callback: updateResponse

POST ${request.query.callback}

Update one encounter response callback

Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
Status Codes:

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json

"OK"

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/error+json

{
    "code": 1,
    "message": "string"
}

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}
DELETE /v1/persons/{personId}/encounters/{encounterId}

Delete one encounter

Delete one encounter from the person identified by his/her id. If this is the last encounter in the person, the person is also deleted.

Scope required: abis.encounter.write

Parameters:
  • personId (string) – the id of the person
  • encounterId (string) – the id of the encounter
Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
  • callback (string) – the callback address, where the result will be sent when available
  • priority (integer) – the request priority
Status Codes:

Example response:

HTTP/1.1 202 Accepted
Content-Type: application/json

"123e4567-e89b-12d3-a456-426655440000"

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}

Callback: deleteResponse

POST ${request.query.callback}

Delete one encounter response callback

Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
Status Codes:

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json

"OK"

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/error+json

{
    "code": 1,
    "message": "string"
}

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}
POST /v1/persons/{personIdTarget}/merge/{personIdSource}

Merge two sets of encounters

Merge two sets of encounters into a single set. Merging a set of N encounters with a set of M encounters will result in a single set of N+M encounters. Encounter ID are preserved and in case of duplicates an error is returned and no changes are done.

Scope required: abis.encounter.write

Parameters:
  • personIdTarget (string) – the id of the person receiving new encounters
  • personIdSource (string) – the id of the person giving the encounters
Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
  • callback (string) – the callback address, where the result will be sent when available
  • priority (integer) – the request priority
Status Codes:

Example response:

HTTP/1.1 202 Accepted
Content-Type: application/json

"123e4567-e89b-12d3-a456-426655440000"

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}

Callback: mergeResponse

POST ${request.query.callback}

Merge two persons response callback

Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
Status Codes:

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json

"OK"

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/error+json

{
    "code": 1,
    "message": "string"
}

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}
PUT /persons/{personId}/encounters/{encounterId}/status

Update status of an encounter

Scope required: abis.encounter.write

Parameters:
  • personId (string) – the id of the person
  • encounterId (string) – the id of the encounter
Query Parameters:
 
  • status (string) – New status of encounter (Required)
  • transactionId (string) – The id of the transaction (Required)
  • callback (string) – the callback address, where the result will be sent when available
Status Codes:

Example response:

HTTP/1.1 202 Accepted
Content-Type: application/json

"123e4567-e89b-12d3-a456-426655440000"

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}

Callback: updateEncounterStatusResponse

POST ${request.query.callback}

Update encounter status response callback

Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
Status Codes:

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json

"OK"

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/error+json

{
    "code": 1,
    "message": "string"
}

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}
GET /v1/persons/{personId}/encounters/{encounterId}/templates

Read biometrics templates

Scope required: abis.encounter.read

Parameters:
  • personId (string) – the id of the person
  • encounterId (string) – the id of the encounter
Query Parameters:
 
  • biometricType (string) – the type of biometrics to return
  • biometricSubType (string) – the sub-type of biometrics to return
  • templateFormat (string) – the format of the template to return
  • qualityFormat (string) – the format of the quality to return
  • transactionId (string) – The id of the transaction (Required)
  • callback (string) – the callback address, where the result will be sent when available
  • priority (integer) – the request priority
Status Codes:

Example request:

GET /v1/persons/{personId}/encounters/{encounterId}/templates?transactionId=string HTTP/1.1
Host: example.com
Authorization: Bearer cn389ncoiwuencr

Example response:

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "biometricType": "FACE",
        "biometricSubType": "UNKNOWN",
        "template": "c3RyaW5n",
        "templateFormat": "string",
        "quality": 1,
        "qualityFormat": "string",
        "vendor": "string",
        "algorithm": "string"
    }
]

Example response:

HTTP/1.1 202 Accepted
Content-Type: application/json

"123e4567-e89b-12d3-a456-426655440000"

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}

Callback: readTemplateResponse

POST ${request.query.callback}

Read biometrics templates response callback

Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
Status Codes:

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json

[
    {
        "biometricType": "FACE",
        "biometricSubType": "UNKNOWN",
        "template": "c3RyaW5n",
        "templateFormat": "string",
        "quality": 1,
        "qualityFormat": "string",
        "vendor": "string",
        "algorithm": "string"
    }
]

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/error+json

{
    "code": 1,
    "message": "string"
}

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}
DELETE /v1/persons/{personId}

Delete a person and all its encounters

Scope required: abis.encounter.write

Parameters:
  • personId (string) – the id of the person
Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
  • callback (string) – the callback address, where the result will be sent when available
  • priority (integer) – the request priority
Status Codes:

Example response:

HTTP/1.1 202 Accepted
Content-Type: application/json

"123e4567-e89b-12d3-a456-426655440000"

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}

Callback: deleteResponse

POST ${request.query.callback}

Delete a person response callback

Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
Status Codes:

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/json

"OK"

Example request:

POST ${request.query.callback}?transactionId=string HTTP/1.1
Host: example.com
Content-Type: application/error+json

{
    "code": 1,
    "message": "string"
}

Example response:

HTTP/1.1 500 Internal Server Error
Content-Type: application/json

{
    "code": 1,
    "message": "string"
}

7.3.6.2. Data Model

To be completed