7.3.4. Biometrics

Download the OpenAPI file for this interface abis.yaml.

7.3.4.1. Services

7.3.4.1.1. CRUD

GET /v1/subjects/{subjectId}/{encounterId}/templates

Get biometrics templates

Parameters:
  • subjectId (string) – the id of the subject
  • 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
  • callback (string) – the callback address, where the result will be sent when available
  • priority (integer) – the request priority
Status Codes:

Example request:

GET /v1/subjects/{subjectId}/{encounterId}/templates HTTP/1.1
Host: example.com

Example response:

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

[
    {
        "biometricType": "FACE",
        "biometricSubType": "UNKNOWN",
        "template": "c3RyaW5n",
        "templateFormat": "ISO_19794_2",
        "quality": 1,
        "qualityFormat": "ISO_19794",
        "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: getTemplateResponse

POST ${request.query.callback}

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": "ISO_19794_2",
        "quality": 1,
        "qualityFormat": "ISO_19794",
        "vendor": "string",
        "algorithm": "string"
    }
]

Example response:

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

{
    "code": 1,
    "message": "string"
}
POST /v1/subjects/{subjectId}/{encounterId}

Insert one encounter

Parameters:
  • subjectId (string) – the id of the subject
  • encounterId (string) – the id of the encounter
Query Parameters:
 
  • transactionId (string) – The id of the transaction
  • 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/subjects/{subjectId}/{encounterId} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "galleries": [
        "string"
    ],
    "encounter": [
        {
            "encounterType": "string",
            "clientData": "c3RyaW5n",
            "contextualData": {
                "date": "2019-05-21"
            },
            "biographicData": {
                "dateOfBirth": "2019-05-21",
                "gender": "M",
                "nationality": "string"
            },
            "biometricData": [
                {
                    "biometricType": "FACE",
                    "biometricSubType": "UNKNOWN",
                    "image": "c3RyaW5n",
                    "imageRef": "https://example.com",
                    "captureDate": "2019-05-21",
                    "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: insertResponse

POST ${request.query.callback}

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

{
    "status": "OK",
    "subjectId": "string",
    "encounterId": "string"
}

Example response:

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

{
    "code": 1,
    "message": "string"
}
GET /v1/subjects/{subjectId}/{encounterId}

Read one encounter

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

Example request:

GET /v1/subjects/{subjectId}/{encounterId} HTTP/1.1
Host: example.com

Example response:

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

{
    "galleries": [
        "string"
    ],
    "encounter": {
        "encounterType": "string",
        "clientData": "c3RyaW5n",
        "contextualData": {
            "date": "2019-05-21"
        },
        "biographicData": {
            "dateOfBirth": "2019-05-21",
            "gender": "M",
            "nationality": "string"
        },
        "biometricData": [
            {
                "biometricType": "FACE",
                "biometricSubType": "UNKNOWN",
                "image": "c3RyaW5n",
                "imageRef": "https://example.com",
                "captureDate": "2019-05-21",
                "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}

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

{
    "galleries": [
        "string"
    ],
    "encounter": {
        "encounterType": "string",
        "clientData": "c3RyaW5n",
        "contextualData": {
            "date": "2019-05-21"
        },
        "biographicData": {
            "dateOfBirth": "2019-05-21",
            "gender": "M",
            "nationality": "string"
        },
        "biometricData": [
            {
                "biometricType": "FACE",
                "biometricSubType": "UNKNOWN",
                "image": "c3RyaW5n",
                "imageRef": "https://example.com",
                "captureDate": "2019-05-21",
                "captureDevice": "string",
                "impressionType": "LIVE_SCAN_PLAIN",
                "width": 1,
                "height": 1,
                "bitdepth": 1,
                "resolution": 1,
                "compression": "NONE"
            }
        ]
    }
}

Example response:

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

{
    "code": 1,
    "message": "string"
}
PUT /v1/subjects/{subjectId}/{encounterId}

Update one encounter

Parameters:
  • subjectId (string) – the id of the subject
  • encounterId (string) – the id of the encounter
Query Parameters:
 
  • transactionId (string) – The id of the transaction
  • 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/subjects/{subjectId}/{encounterId} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "galleries": [
        "string"
    ],
    "encounter": [
        {
            "encounterType": "string",
            "clientData": "c3RyaW5n",
            "contextualData": {
                "date": "2019-05-21"
            },
            "biographicData": {
                "dateOfBirth": "2019-05-21",
                "gender": "M",
                "nationality": "string"
            },
            "biometricData": [
                {
                    "biometricType": "FACE",
                    "biometricSubType": "UNKNOWN",
                    "image": "c3RyaW5n",
                    "imageRef": "https://example.com",
                    "captureDate": "2019-05-21",
                    "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}

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 response:

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

{
    "code": 1,
    "message": "string"
}
DELETE /v1/subjects/{subjectId}/{encounterId}

Delete one encounter

Parameters:
  • subjectId (string) – the id of the subject
  • encounterId (string) – the id of the encounter
Query Parameters:
 
  • transactionId (string) – The id of the transaction
  • 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}

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 response:

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

{
    "code": 1,
    "message": "string"
}
POST /v1/subjects

Insert one encounter and generate ID for both the subject and the encounter

Query Parameters:
 
  • transactionId (string) – The id of the transaction
  • 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:
  • 200 OK – Insertion successful
  • 202 Accepted – Request received successfully and correct, result will be returned through the callback. The transaction ID is returned (if no transaction ID was provided, one is generated by the server)
  • 400 Bad Request – Bad request
  • 403 Forbidden – Insertion not allowed
  • 500 Internal Server Error – Unexpected error

Example request:

POST /v1/subjects HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "galleries": [
        "string"
    ],
    "encounter": [
        {
            "encounterType": "string",
            "clientData": "c3RyaW5n",
            "contextualData": {
                "date": "2019-05-21"
            },
            "biographicData": {
                "dateOfBirth": "2019-05-21",
                "gender": "M",
                "nationality": "string"
            },
            "biometricData": [
                {
                    "biometricType": "FACE",
                    "biometricSubType": "UNKNOWN",
                    "image": "c3RyaW5n",
                    "imageRef": "https://example.com",
                    "captureDate": "2019-05-21",
                    "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

{
    "status": "OK",
    "subjectId": "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: insertResponse

POST ${request.query.callback}

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

{
    "status": "OK",
    "subjectId": "string",
    "encounterId": "string"
}

Example response:

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

{
    "code": 1,
    "message": "string"
}
POST /v1/subjects/{subjectId}

Insert one encounter and generate its ID

Parameters:
  • subjectId (string) – the id of the subject
Query Parameters:
 
  • transactionId (string) – The id of the transaction
  • 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:
  • 200 OK – Insertion successful
  • 202 Accepted – Request received successfully and correct, result will be returned through the callback. The transaction ID is returned (if no transaction ID was provided, one is generated by the server)
  • 400 Bad Request – Bad request
  • 403 Forbidden – Insertion not allowed
  • 500 Internal Server Error – Unexpected error

Example request:

POST /v1/subjects/{subjectId} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "galleries": [
        "string"
    ],
    "encounter": [
        {
            "encounterType": "string",
            "clientData": "c3RyaW5n",
            "contextualData": {
                "date": "2019-05-21"
            },
            "biographicData": {
                "dateOfBirth": "2019-05-21",
                "gender": "M",
                "nationality": "string"
            },
            "biometricData": [
                {
                    "biometricType": "FACE",
                    "biometricSubType": "UNKNOWN",
                    "image": "c3RyaW5n",
                    "imageRef": "https://example.com",
                    "captureDate": "2019-05-21",
                    "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

{
    "status": "OK",
    "subjectId": "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: insertResponse

POST ${request.query.callback}

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

{
    "status": "OK",
    "subjectId": "string",
    "encounterId": "string"
}

Example response:

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

{
    "code": 1,
    "message": "string"
}
DELETE /v1/subjects/{subjectId}

Delete a subject and all its encounters

Parameters:
  • subjectId (string) – the id of the subject
Query Parameters:
 
  • transactionId (string) – The id of the transaction
  • 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}

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 response:

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

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

7.3.4.2. Data Model

To be completed