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: - 201 Created – Operation successful
- 400 Bad Request – Bad request
- 403 Forbidden – Operation not allowed
- 500 Internal Server Error – Unexpected error
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: - 200 OK – Read successful
- 400 Bad Request – Bad request
- 403 Forbidden – Read not allowed
- 404 Not Found – Unknown record
- 500 Internal Server Error – Unexpected error
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: - 204 No Content – Update successful
- 400 Bad Request – Bad request
- 403 Forbidden – Update not allowed
- 404 Not Found – Unknown record
- 500 Internal Server Error – Unexpected error
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: - 204 No Content – Delete successful
- 400 Bad Request – Bad request
- 403 Forbidden – Delete not allowed
- 404 Not Found – Unknown record
- 500 Internal Server Error – Unexpected error
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: - 204 No Content – Merge successful
- 400 Bad Request – Bad request
- 403 Forbidden – Merge not allowed
- 404 Not Found – Unknown record
- 500 Internal Server Error – Unexpected error
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: - 200 OK – Operation successful
- 400 Bad Request – Bad request
- 403 Forbidden – Operation not allowed
- 404 Not Found – Unknown record
- 500 Internal Server Error – Unexpected error
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: - 200 OK – Insertion successful
- 400 Bad Request – Bad request
- 403 Forbidden – Insertion not allowed
- 500 Internal Server Error – Unexpected error
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: - 201 Created – Insertion successful
- 400 Bad Request – Bad request
- 403 Forbidden – Insertion not allowed
- 500 Internal Server Error – Unexpected error
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: - 200 OK – Read successful
- 400 Bad Request – Bad request
- 403 Forbidden – Read not allowed
- 404 Not Found – Unknown record
- 500 Internal Server Error – Unexpected error
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: - 204 No Content – Update successful
- 400 Bad Request – Bad request
- 403 Forbidden – Update not allowed
- 404 Not Found – Unknown record
- 500 Internal Server Error – Unexpected error
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: - 204 No Content – Update successful
- 400 Bad Request – Bad request
- 403 Forbidden – Update not allowed
- 404 Not Found – Unknown record
- 500 Internal Server Error – Unexpected error
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: - 204 No Content – Delete successful
- 400 Bad Request – Bad request
- 403 Forbidden – Delete not allowed
- 404 Not Found – Unknown record
- 500 Internal Server Error – Unexpected error
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: - 204 No Content – Operation successful
- 400 Bad Request – Bad request
- 403 Forbidden – Operation not allowed
- 500 Internal Server Error – Unexpected error
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: - 204 No Content – Operation successful
- 400 Bad Request – Bad request
- 403 Forbidden – Operation not allowed
- 500 Internal Server Error – Unexpected error
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: - 200 OK – Read successful
- 400 Bad Request – Bad request
- 403 Forbidden – Read not allowed
- 404 Not Found – Unknown record
- 500 Internal Server Error – Unexpected error
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.1.4. Gallery¶
-
GET
/v1/galleries
¶ Read the ID of all the galleries
Scope required:
pr.gallery.read
Query Parameters: - transactionId (string) – The id of the transaction (Required)
Status Codes: - 200 OK – Operation successful
- 400 Bad Request – Bad request
- 403 Forbidden – Read not allowed
- 500 Internal Server Error – Unexpected error
Example request:
GET /v1/galleries?transactionId=string HTTP/1.1 Host: example.com Authorization: Bearer cn389ncoiwuencr
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ "string" ]
Example response:
HTTP/1.1 500 Internal Server Error Content-Type: application/json { "code": 1, "message": "string" }
-
GET
/v1/galleries/{galleryId}
¶ Read the content of one gallery
Scope required:
pr.gallery.read
Parameters: - galleryId (string) – the id of the gallery
Query Parameters: - transactionId (string) – The id of the transaction (Required)
Status Codes: - 200 OK – Operation successful
- 400 Bad Request – Bad request
- 403 Forbidden – Read not allowed
- 404 Not Found – Unknown record
- 500 Internal Server Error – Unexpected error
Example request:
GET /v1/galleries/{galleryId}?transactionId=string HTTP/1.1 Host: example.com Authorization: Bearer cn389ncoiwuencr
Example response:
HTTP/1.1 200 OK Content-Type: application/json [ { "personId": "string", "identityId": "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