7.3.5. Population Registry Management

Get the OpenAPI file for this interface: pr.yaml

7.3.5.1. Services

7.3.5.1.1. Person

POST /v1/persons/{personId}

Create one person

Scope required: pr.person.write

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

Example request:

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

{
    "personId": "string",
    "status": "ACTIVE",
    "physicalStatus": "DEAD"
}

Example response:

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

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

Read one person

Scope required: pr.person.read

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

Example request:

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

Example response:

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

{
    "personId": "string",
    "status": "ACTIVE",
    "physicalStatus": "DEAD"
}

Example response:

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

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

Update one person

Scope required: pr.person.write

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

Example request:

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

{
    "personId": "string",
    "status": "ACTIVE",
    "physicalStatus": "DEAD"
}

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 identities

Scope required: pr.person.write

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

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 persons

Merge two person records into a single one. Identity ID are preserved and in case of duplicates an error is returned and no changes are done. If the operation is successful, the person merged is deleted.

Scope required: pr.person.write

Parameters:
  • personIdTarget (string) – the id of the person receiving new identities
  • personIdSource (string) – the id of the person giving the identities
Query Parameters:
 
  • transactionId (string) – The id of the transaction (Required)
Status Codes:

Example response:

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

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

7.3.5.1.2. Identity

GET /v1/persons/{personId}/identities

Read all the identities of a person

Scope required: pr.identity.read

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

Example request:

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

Example response:

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

[
    {
        "identityId": "string",
        "status": "CLAIMED",
        "galleries": [
            "string"
        ],
        "clientData": "c3RyaW5n",
        "contextualData": {
            "enrollmentDate": "2019-01-11"
        },
        "biographicData": {
            "firstName": "John",
            "lastName": "Doo",
            "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",
                "width": 1,
                "height": 1,
                "bitdepth": 1,
                "resolution": 1,
                "compression": "NONE"
            }
        ],
        "documents": [
            {
                "documentType": "ID_CARD",
                "instance": "string",
                "parts": [
                    {
                        "pages": [
                            1
                        ],
                        "data": "c3RyaW5n",
                        "dataRef": "https://example.com",
                        "width": 1,
                        "height": 1,
                        "format": "NONE",
                        "captureDate": "2020-07-01",
                        "captureDevice": "string"
                    }
                ]
            }
        ]
    }
]

Example response:

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

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

Create one identity and generate its id

Scope required: pr.identity.write

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

Example request:

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

{
    "identityId": "string",
    "status": "CLAIMED",
    "galleries": [
        "string"
    ],
    "clientData": "c3RyaW5n",
    "contextualData": {
        "enrollmentDate": "2019-01-11"
    },
    "biographicData": {
        "firstName": "John",
        "lastName": "Doo",
        "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",
            "width": 1,
            "height": 1,
            "bitdepth": 1,
            "resolution": 1,
            "compression": "NONE"
        }
    ],
    "documents": [
        {
            "documentType": "ID_CARD",
            "instance": "string",
            "parts": [
                {
                    "pages": [
                        1
                    ],
                    "data": "c3RyaW5n",
                    "dataRef": "https://example.com",
                    "width": 1,
                    "height": 1,
                    "format": "NONE",
                    "captureDate": "2020-07-01",
                    "captureDevice": "string"
                }
            ]
        }
    ]
}

Example response:

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

{
    "identityId": "string"
}

Example response:

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

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

Create one identity

Create one new identity for a person. The provided identityId is checked for validity and used for the new identity.

Scope required: pr.identity.write

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

Example request:

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

{
    "identityId": "string",
    "status": "CLAIMED",
    "galleries": [
        "string"
    ],
    "clientData": "c3RyaW5n",
    "contextualData": {
        "enrollmentDate": "2019-01-11"
    },
    "biographicData": {
        "firstName": "John",
        "lastName": "Doo",
        "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",
            "width": 1,
            "height": 1,
            "bitdepth": 1,
            "resolution": 1,
            "compression": "NONE"
        }
    ],
    "documents": [
        {
            "documentType": "ID_CARD",
            "instance": "string",
            "parts": [
                {
                    "pages": [
                        1
                    ],
                    "data": "c3RyaW5n",
                    "dataRef": "https://example.com",
                    "width": 1,
                    "height": 1,
                    "format": "NONE",
                    "captureDate": "2020-07-01",
                    "captureDevice": "string"
                }
            ]
        }
    ]
}

Example response:

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

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

Read one identity

Scope required: pr.identity.read

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

Example request:

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

Example response:

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

{
    "identityId": "string",
    "status": "CLAIMED",
    "galleries": [
        "string"
    ],
    "clientData": "c3RyaW5n",
    "contextualData": {
        "enrollmentDate": "2019-01-11"
    },
    "biographicData": {
        "firstName": "John",
        "lastName": "Doo",
        "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",
            "width": 1,
            "height": 1,
            "bitdepth": 1,
            "resolution": 1,
            "compression": "NONE"
        }
    ],
    "documents": [
        {
            "documentType": "ID_CARD",
            "instance": "string",
            "parts": [
                {
                    "pages": [
                        1
                    ],
                    "data": "c3RyaW5n",
                    "dataRef": "https://example.com",
                    "width": 1,
                    "height": 1,
                    "format": "NONE",
                    "captureDate": "2020-07-01",
                    "captureDevice": "string"
                }
            ]
        }
    ]
}

Example response:

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

{
    "code": 1,
    "message": "string"
}
PUT /v1/persons/{personId}/identities/{identityId}

Update one identity

Scope required: pr.identity.write

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

Example request:

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

{
    "identityId": "string",
    "status": "CLAIMED",
    "galleries": [
        "string"
    ],
    "clientData": "c3RyaW5n",
    "contextualData": {
        "enrollmentDate": "2019-01-11"
    },
    "biographicData": {
        "firstName": "John",
        "lastName": "Doo",
        "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",
            "width": 1,
            "height": 1,
            "bitdepth": 1,
            "resolution": 1,
            "compression": "NONE"
        }
    ],
    "documents": [
        {
            "documentType": "ID_CARD",
            "instance": "string",
            "parts": [
                {
                    "pages": [
                        1
                    ],
                    "data": "c3RyaW5n",
                    "dataRef": "https://example.com",
                    "width": 1,
                    "height": 1,
                    "format": "NONE",
                    "captureDate": "2020-07-01",
                    "captureDevice": "string"
                }
            ]
        }
    ]
}

Example response:

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

{
    "code": 1,
    "message": "string"
}
PATCH /v1/persons/{personId}/identities/{identityId}

Update partially one identity

Update partially an identity. Payload content is a partial identity object compliant with RFC7396.

Scope required: pr.identity.write

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

Example request:

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

{
    "galleries": [
        "G1",
        "G2"
    ],
    "biographicData": {
        "gender": null,
        "nationality": "FRA"
    }
}

Example response:

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

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

Delete one identity

Scope required: pr.identity.write

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

Example response:

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

{
    "code": 1,
    "message": "string"
}
PUT /v1/persons/{personId}/identities/{identityId}/status

Change the status of an identity

Scope required: pr.identity.write

Parameters:
  • personId (string) – the id of the person
  • identityId (string) – the id of the identity
Query Parameters:
 
  • status (string) – The status of the identity (Required)
  • transactionId (string) – The id of the transaction (Required)
Status Codes:

Example response:

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

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

7.3.5.1.3. Reference

PUT /v1/persons/{personId}/identities/{identityId}/reference

Define the reference

Scope required: pr.reference.write

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

Example response:

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

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

Read the reference

Scope required: pr.reference.read

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

Example request:

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

Example response:

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

{
    "identityId": "string",
    "status": "CLAIMED",
    "galleries": [
        "string"
    ],
    "clientData": "c3RyaW5n",
    "contextualData": {
        "enrollmentDate": "2019-01-11"
    },
    "biographicData": {
        "firstName": "John",
        "lastName": "Doo",
        "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",
            "width": 1,
            "height": 1,
            "bitdepth": 1,
            "resolution": 1,
            "compression": "NONE"
        }
    ],
    "documents": [
        {
            "documentType": "ID_CARD",
            "instance": "string",
            "parts": [
                {
                    "pages": [
                        1
                    ],
                    "data": "c3RyaW5n",
                    "dataRef": "https://example.com",
                    "width": 1,
                    "height": 1,
                    "format": "NONE",
                    "captureDate": "2020-07-01",
                    "captureDevice": "string"
                }
            ]
        }
    ]
}

Example response:

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

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

7.3.5.2. Data Model

To be completed