Create & Manage an Entity

This guide provides an overview of how to create and manage entities using the FrankieOne KYC v2 API.

Create an Individual Entity

To create an individual entity eligible for verification, use the POST /v2/individuals API endpoint. This endpoint allows you to provide detailed information about the individual, such as their name, date of birth, address, and consents, to ensure accurate verification.

1POST /v2/individuals

When creating an individual entity, you can include various information in the request body. Here are some examples:

Name & Alternate Names

When creating an individual entity, you can specify their primary name and alternate names to ensure accurate identification and verification. The name object is used for the primary name, while the alternateNames array allows you to include additional names the individual may be known by.

The primary name is required, with the family name being the only mandatory field. Alternate names are optional and also require only the family name if provided.

Primary Name Example

1"name": {
2 "language": "eng",
3 "givenName": "John",
4 "middleName": "R",
5 "familyName": "Doe",
6 "otherName": null,
7 "prefix": "Dr.",
8 "suffix": "Jr.",
9 "displayName": "John Doe"
10}

Alternate Names Example

1"alternateNames": [
2 {
3 "language": "eng",
4 "givenName": "Johnny",
5 "middleName": "R",
6 "familyName": "Doe",
7 "otherName": null,
8 "prefix": "Dr.",
9 "suffix": "Jr.",
10 "displayName": "Johnny Doe",
11 "type": "PREVIOUS"
12 }
13]

Email Addresses & Phone Numbers

When creating an individual entity, you can include one or more email addresses and phone numbers using the emailAddresses and phoneNumbers arrays in the request body. These fields allow you to provide detailed contact information for the individual.

Both emailAddresses and phoneNumbers fields are optional. If included, the type field is required for each entry. The isPreferred field can be used to indicate the primary email address or phone number.

Email Address Example

1"emailAddresses": {
2 "type": "WORK",
3 "email": "jane.doe@company.com.au",
4 "isPreferred": true
5}

Phone Number Example

1"phoneNumbers": {
2 "isPreferred": true,
3 "type": "MOBILE",
4 "country": "AUS",
5 "number": "0412345678",
6 "unstructuredLongForm": "+61 412 345 678"
7}

Date of Birth

When creating an individual entity, you can include their date of birth using the dateOfBirth object in the request body. This ensures accurate identification and verification. Optionally, you can specify alternate dates of birth using the alternateDatesOfBirth object for cases where multiple formats or calendars are applicable.

Date of Birth Example

1"dateOfBirth": {
2 "year": "1990",
3 "month": "03",
4 "day": "27",
5 "unstructured": "12 Rajab 1445 AH",
6 "type": "GREGORIAN"
7},

Alternate Dates of Birth Example

1"alternateDatesOfBirth":
2 {
3 "year": "1445",
4 "month": "07",
5 "day": "12",
6 "unstructured": "12 Rajab 1445 AH",
7 "type": "ISLAMIC"
8}

Addresses & Place of Birth

When creating an individual entity, you can include one or more addresses using the addresses array in the request body. Each address object allows you to provide detailed information such as street name, street number, postal code, and more. Additionally, you can specify the individual’s place of birth using the placeOfBirth object, which provides similar fields to describe the location of birth.

While the addresses field is optional, if included, the country field is the only required field. The status field is also optional and can be set to CURRENT, PREVIOUS, or UNKNOWN to indicate the address’s relevance. Similarly, the placeOfBirth object is optional but can be used to provide detailed information about the individual’s birth location.

Address Example

1"addresses": {
2 "type": "RESIDENTIAL",
3 "typeDescription": "Residential address as registered in the Australian company registry",
4 "longForm": "Apartment 12B, 456 King Street, Melbourne VIC 3000, Australia",
5 "unitNumber": "12B",
6 "buildingName": "King Towers",
7 "streetName": "King",
8 "streetNumber": "456",
9 "streetType": "Street",
10 "neighborhood": "Melbourne CBD",
11 "locality": "Melbourne",
12 "district": "Inner Melbourne",
13 "subdivision": "VIC",
14 "country": "AUS",
15 "postalCode": "3000",
16 "careOf": "John Doe",
17 "status": "CURRENT"
18}

Place of Birth Example

1"placeOfBirth": {
2 "longForm": "Apartment 3A, 525 Kent Drive, Harlem NY 10037, USA",
3 "unitNumber": "3A",
4 "buildingName": "EQ Tower",
5 "streetName": "Kent",
6 "streetNumber": "525",
7 "streetType": "Drive",
8 "neighborhood": "Harlem",
9 "locality": "Manhattan",
10 "district": "New York County",
11 "subdivision": "NY",
12 "country": "USA",
13 "postalCode": "10037"
14}

Gender & Nationality

When creating an individual entity, you can specify their gender and nationality using the gender and/or nationality fields in the request body. These fields are optional but can help provide additional context for the individual.

The gender field accepts the following values: MALE, FEMALE, NON_BINARY, OTHER, and UNSPECIFIED. The nationality field should be a valid ISO 3166-1 alpha-3 country code (e.g., AUS for Australia).

Gender & Nationality Example

1{
2"gender": "MALE",
3"nationality": "AUS",
4},

External References

When creating an individual entity, you can include external references using the externalReferences array in the request body. This allows you to associate external identifiers with the individual for tracking, integration, or verification purposes.

The type field can have values such as SYSTEM, CUSTOMER, or OTHER. Both name and value fields are required for each external reference. Optionally, you can include a description to provide additional context.

External Reference Example

1"externalReferences":
2 {
3 "type": "CUSTOMER",
4 "name": "CUSTOMER-REFERENCE",
5 "value": "CUST-00001342",
6 "description": "This is the customer id in the core banking system"
7 }

Custom Attributes

When creating an individual entity, you can include custom attributes using the customAttributes object in the request body. This allows you to store additional information specific to your use case. Each custom attribute is represented as a key-value pair, where the key is the attribute name and the value contains the attribute details.

Custom Attributes Example

1"customAttributes": {
2 "additionalProp1":
3 "type": "string",
4 "value": "string"
5},

Consents

Consents are essential for ensuring compliance with legal and regulatory requirements when verifying an individual’s identity. Different types of consents are required depending on the verification type, such as general identity checks, document verification, or credit checks. Below is a detailed description of the available consent types:

These consents must be obtained before proceeding with any verification checks.

Consult with your AML team and the FrankieOne team to determine the appropriate consent flags for your use case.

Consent Example

1"consents": [
2 {
3 "type": "UNDER18"
4 },
5 {
6 "type": "PAYROLL"
7 }
8]

Documents & Attachments

When creating an individual entity, you can include documents and attachments using the documents array in the request body. This allows you to associate various types of documents with the individual for verification purposes. Each document object can contain multiple attachments, such as images or files.

Attachments within a document can include metadata such as file type, page number, and location. Ensure that all attachments are properly scanned and free of malware before submission.

Documents are classified into categories such as REPORT, SUPPORTING, IDENTITY, or OTHER. The type and country fields are mandatory for each document, while the subtype field is optional and can provide additional context about the document (e.g., FACIAL_COMPARISON).

TypeDescription
OTHERAny document that does not fall into predefined categories.
DRIVERS_LICENSEA driver’s license issued by a government authority.
PASSPORTA passport issued by a government authority.
VISAA visa document for travel or residency.
IMMIGRATIONImmigration-related documents.
NATIONAL_IDA national identification card.
TAX_IDA tax identification document.
NATIONAL_HEALTH_IDA national health identification card.
CONCESSIONA concession card for benefits or discounts.
HEALTH_CONCESSIONA health-related concession card.
PENSIONA pension-related document.
MILITARY_IDA military identification card.
BIRTH_CERTA birth certificate.
CITIZENSHIPA citizenship certificate.
MARRIAGE_CERTA marriage certificate.
DEATH_CERTA death certificate.
NAME_CHANGEA name change certificate.
UTILITY_BILLA utility bill (e.g., electricity, water).
BANK_STATEMENTA bank statement.
BANK_ACCOUNTA document related to a bank account.
PROOF_OF_ADDRESSA document proving the individual’s address.
WORK_PERMITA work permit document.
EMPLOYMENT_CERTIFICATEA certificate of employment.
SELF_IMAGEA self-image or selfie for verification purposes.
DEVICEA document related to a device (e.g., IMEI).

Documents Example

1"documents": {
2 "IDENTITY": [
3 {
4 "type": "PASSPORT",
5 "subtype": "FACIAL_COMPARISON",
6 "country": "AUS",
7 "primaryIdentifier": "P123456789",
8 "secondaryIdentifier": "AUS12345",
9 "issueDate": {
10 "year": "2020",
11 "month": "01",
12 "day": "15",
13 "type": "GREGORIAN"
14 },
15 "expiryDate": {
16 "year": "2030",
17 "month": "01",
18 "day": "15",
19 "type": "GREGORIAN"
20 },
21 "attachments": [
22 {
23 "attachmentId": "123e4567-e89b-12d3-a456-426614174000",
24 "filename": "passport_front.jpg",
25 "mimeType": "image/jpeg",
26 "pageNumber": 1,
27 "side": "FRONT",
28 "data": {
29 "uri": "https://example.com/passport_front.jpg"
30 }
31 },
32 {
33 "attachmentId": "123e4567-e89b-12d3-a456-426614174001",
34 "filename": "passport_back.jpg",
35 "mimeType": "image/jpeg",
36 "pageNumber": 2,
37 "side": "BACK",
38 "data": {
39 "uri": "https://example.com/passport_back.jpg"
40 }
41 }
42 ]
43 }
44 ],
45 "SUPPORTING": [
46 {
47 "type": "UTILITY_BILL",
48 "country": "AUS",
49 "primaryIdentifier": "UB123456789",
50 "issueDate": {
51 "year": "2023",
52 "month": "06",
53 "day": "01",
54 "type": "GREGORIAN"
55 },
56 "attachments": [
57 {
58 "attachmentId": "123e4567-e89b-12d3-a456-426614174002",
59 "filename": "utility_bill.pdf",
60 "mimeType": "application/pdf",
61 "data": {
62 "uri": "https://example.com/utility_bill.pdf"
63 }
64 }
65 ]
66 }
67 ]
68}

Sample Request

1curl --location 'http://api.{{env}}.frankie.one/v2/individuals' \
2--header 'api_key: {{your_apiKey}}' \
3--header 'X-Frankie-CustomerID: {{your_CustomerID}}' \
4--header 'Content-Type: application/json' \
5--header 'Accept: application/json' \
6--data-raw '{
7 "individual": {
8 "name": {
9 "language": "eng",
10 "givenName": "John",
11 "middleName": "R",
12 "familyName": "Doe",
13 "otherName": null,
14 "prefix": "Dr.",
15 "suffix": "Jr.",
16 "displayName": "John Doe"
17 },
18 "alternateNames": [
19 {
20 "language": "eng",
21 "givenName": "Johnny",
22 "middleName": "R",
23 "familyName": "Doe",
24 "otherName": null,
25 "prefix": "Dr.",
26 "suffix": "Jr.",
27 "displayName": "Johnny Doe",
28 "type": "PREVIOUS"
29 }
30 ],
31 "dateOfBirth": {
32 "year": "1990",
33 "month": "03",
34 "day": "27",
35 "unstructured": "12 Rajab 1445 AH",
36 "type": "GREGORIAN"
37 },
38 "alternateDatesOfBirth": [
39 {
40 "year": "1445",
41 "month": "07",
42 "day": "12",
43 "unstructured": "12 Rajab 1445 AH",
44 "type": "ISLAMIC"
45 }
46 ],
47 "gender": "MALE",
48 "nationality": "AUS",
49 "placeOfBirth": {
50 "longForm": "Apartment 3A, 525 Kent Drive, Harlem NY 10037, USA",
51 "unitNumber": "3A",
52 "buildingName": "EQ Tower",
53 "streetName": "Kent",
54 "streetNumber": "525",
55 "streetType": "Drive",
56 "neighborhood": "Harlem",
57 "locality": "Manhattan",
58 "district": "New York County",
59 "subdivision": "NY",
60 "country": "USA",
61 "postalCode": "10037"
62 },
63 "addresses": [
64 {
65 "type": "RESIDENTIAL",
66 "typeDescription": "Residential address as registered in the Australian company registry",
67 "longForm": "Apartment 12B, 456 King Street, Melbourne VIC 3000, Australia",
68 "unitNumber": "12B",
69 "buildingName": "King Towers",
70 "streetName": "King",
71 "streetNumber": "456",
72 "streetType": "Street",
73 "neighborhood": "Melbourne CBD",
74 "locality": "Melbourne",
75 "district": "Inner Melbourne",
76 "subdivision": "VIC",
77 "country": "AUS",
78 "postalCode": "3000",
79 "careOf": "John Doe",
80 "status": "CURRENT"
81 }
82 ],
83 "emailAddresses": [
84 {
85 "type": "WORK",
86 "email": "jane.doe@company.com.au",
87 "isPreferred": true
88 }
89 ],
90 "phoneNumbers": [
91 {
92 "isPreferred": true,
93 "type": "MOBILE",
94 "country": "AUS",
95 "number": "0412345678",
96 "unstructuredLongForm": "+61 412 345 678"
97 }
98 ],
99 "externalReferences": [
100 {
101 "type": "CUSTOMER",
102 "name": "CUSTOMER-REFERENCE",
103 "value": "CUST-00001342",
104 "description": "This is the customer id in the core banking system"
105 }
106 ],
107 "customAttributes": {
108 "additionalProp1": {
109 "type": "string",
110 "value": "string"
111 }
112 },
113 "consents": [
114 {
115 "type": "GENERAL"
116 },
117 {
118 "type": "DOCS"
119 },
120 {
121 "type": "CREDITHEADER"
122 }
123 ],
124 "documents": {
125 "IDENTITY": [
126 {
127 "type": "PASSPORT",
128 "subtype": "FACIAL_COMPARISON",
129 "country": "AUS",
130 "primaryIdentifier": "P123456789",
131 "secondaryIdentifier": "AUS12345",
132 "issueDate": {
133 "year": "2020",
134 "month": "01",
135 "day": "15",
136 "type": "GREGORIAN"
137 },
138 "expiryDate": {
139 "year": "2030",
140 "month": "01",
141 "day": "15",
142 "type": "GREGORIAN"
143 },
144 "attachments": [
145 {
146 "attachmentId": "123e4567-e89b-12d3-a456-426614174000",
147 "filename": "passport_front.jpg",
148 "mimeType": "image/jpeg",
149 "pageNumber": 1,
150 "side": "FRONT",
151 "data": {
152 "uri": "https://example.com/passport_front.jpg"
153 }
154 },
155 {
156 "attachmentId": "123e4567-e89b-12d3-a456-426614174001",
157 "filename": "passport_back.jpg",
158 "mimeType": "image/jpeg",
159 "pageNumber": 2,
160 "side": "BACK",
161 "data": {
162 "uri": "https://example.com/passport_back.jpg"
163 }
164 }
165 ]
166 }
167 ],
168 "SUPPORTING": [
169 {
170 "type": "UTILITY_BILL",
171 "country": "AUS",
172 "primaryIdentifier": "UB123456789",
173 "issueDate": {
174 "year": "2023",
175 "month": "06",
176 "day": "01",
177 "type": "GREGORIAN"
178 },
179 "attachments": [
180 {
181 "attachmentId": "123e4567-e89b-12d3-a456-426614174002",
182 "filename": "utility_bill.pdf",
183 "mimeType": "application/pdf",
184 "data": {
185 "uri": "https://example.com/utility_bill.pdf"
186 }
187 }
188 ]
189 }
190 ]
191 }
192 }
193}'

Sample Response

Success

Status: 201 Created

The response from the API will include the details of the created individual entity, including unique identifiers for various elements such as names, dates of birth, addresses, and documents. This information is crucial for tracking and managing the entity within the FrankieOne system.

The sample response below demonstrates the structure of the data returned when creating an individual entity. Key objects, such as entityId, nameId, and documentId, are generated by the FrankieOne system and serve as unique identifiers for the respective elements. These IDs are essential for managing and interacting with the created entity in subsequent API calls.

Ensure you collect the entityId from the response. This identifier is critical for performing further operations, such as updates, retrievals, or deletions, on the individual entity.

1{
2 "individual": {
3 "entityId": "{entityId}",
4 "entityType": "INDIVIDUAL",
5 "createdAt": "2024-01-31T23:21:57.296Z",
6 "schemaVersion": 2,
7 "name": {
8 "nameId": "{nameId}",
9 "language": "eng",
10 "givenName": "John",
11 "middleName": "R",
12 "familyName": "Doe",
13 "otherName": null,
14 "prefix": "Dr.",
15 "suffix": "Jr.",
16 "displayName": "John Doe"
17 },
18 "alternateNames": [
19 {
20 "nameId": "{alternateNameId}",
21 "language": "eng",
22 "givenName": "Johnny",
23 "middleName": "R",
24 "familyName": "Doe",
25 "otherName": null,
26 "prefix": "Dr.",
27 "suffix": "Jr.",
28 "displayName": "Johnny Doe",
29 "type": "PREVIOUS"
30 }
31 ],
32 "dateOfBirth": {
33 "dateOfBirthId": "{dateOfBirthId}",
34 "normalized": "1990-03-27",
35 "year": "1990",
36 "month": "03",
37 "day": "27",
38 "type": "GREGORIAN"
39 },
40 "alternateDatesOfBirth": [
41 {
42 "dateOfBirthId": "{alternateDateOfBirthId}",
43 "normalized": "1445-07-12",
44 "year": "1445",
45 "month": "07",
46 "day": "12",
47 "type": "ISLAMIC"
48 }
49 ],
50 "gender": "MALE",
51 "nationality": "AUS",
52 "placeOfBirth": {
53 "longForm": "Apartment 3A, 525 Kent Drive, Harlem NY 10037, USA",
54 "unitNumber": "3A",
55 "buildingName": "EQ Tower",
56 "streetName": "Kent",
57 "streetNumber": "525",
58 "streetType": "Drive",
59 "neighborhood": "Harlem",
60 "locality": "Manhattan",
61 "district": "New York County",
62 "subdivision": "NY",
63 "country": "USA",
64 "postalCode": "10037"
65 },
66 "addresses": [
67 {
68 "addressId": "{addressId}",
69 "type": "RESIDENTIAL",
70 "typeDescription": "Residential address as registered in the Australian company registry",
71 "longForm": "Apartment 12B, 456 King Street, Melbourne VIC 3000, Australia",
72 "unitNumber": "12B",
73 "buildingName": "King Towers",
74 "streetName": "King",
75 "streetNumber": "456",
76 "streetType": "Street",
77 "neighborhood": "Melbourne CBD",
78 "locality": "Melbourne",
79 "district": "Inner Melbourne",
80 "subdivision": "VIC",
81 "country": "AUS",
82 "postalCode": "3000",
83 "careOf": "John Doe",
84 "status": "CURRENT"
85 }
86 ],
87 "emailAddresses": [
88 {
89 "emailAddressId": "{emailAddressId}",
90 "type": "WORK",
91 "email": "jane.doe@company.com.au",
92 "isPreferred": true
93 }
94 ],
95 "phoneNumbers": [
96 {
97 "phoneNumberId": "{phoneNumberId}",
98 "isPreferred": true,
99 "type": "MOBILE",
100 "country": "AUS",
101 "number": "0412345678",
102 "unstructuredLongForm": "+61 412 345 678"
103 }
104 ],
105 "externalReferences": [
106 {
107 "referenceId": "{referenceId}",
108 "type": "CUSTOMER",
109 "name": "CUSTOMER-REFERENCE",
110 "value": "CUST-00001342",
111 "description": "This is the customer id in the core banking system"
112 }
113 ],
114 "customAttributes": {
115 "additionalProp1": {
116 "type": "string",
117 "value": "string"
118 }
119 },
120 "consents": [
121 {
122 "type": "GENERAL"
123 },
124 {
125 "type": "DOCS"
126 },
127 {
128 "type": "CREDITHEADER"
129 }
130 ],
131 "documents": {
132 "IDENTITY": [
133 {
134 "documentId": "{documentId}",
135 "type": "PASSPORT",
136 "subtype": "FACIAL_COMPARISON",
137 "country": "AUS",
138 "primaryIdentifier": "P123456789",
139 "secondaryIdentifier": "AUS12345",
140 "issueDate": {
141 "year": "2020",
142 "month": "01",
143 "day": "15",
144 "type": "GREGORIAN"
145 },
146 "expiryDate": {
147 "year": "2030",
148 "month": "01",
149 "day": "15",
150 "type": "GREGORIAN"
151 },
152 "attachments": [
153 {
154 "attachmentId": "{attachmentId1}",
155 "filename": "passport_front.jpg",
156 "mimeType": "image/jpeg",
157 "pageNumber": 1,
158 "side": "FRONT",
159 "data": {
160 "uri": "https://example.com/passport_front.jpg"
161 }
162 },
163 {
164 "attachmentId": "{attachmentId2}",
165 "filename": "passport_back.jpg",
166 "mimeType": "image/jpeg",
167 "pageNumber": 2,
168 "side": "BACK",
169 "data": {
170 "uri": "https://example.com/passport_back.jpg"
171 }
172 }
173 ]
174 }
175 ],
176 "SUPPORTING": [
177 {
178 "documentId": "{documentId2}",
179 "type": "UTILITY_BILL",
180 "country": "AUS",
181 "primaryIdentifier": "UB123456789",
182 "issueDate": {
183 "year": "2023",
184 "month": "06",
185 "day": "01",
186 "type": "GREGORIAN"
187 },
188 "attachments": [
189 {
190 "attachmentId": "{attachmentId3}",
191 "filename": "utility_bill.pdf",
192 "mimeType": "application/pdf",
193 "data": {
194 "uri": "https://example.com/utility_bill.pdf"
195 }
196 }
197 ]
198 }
199 ]
200 }
201 },
202 "requestId": "{requestId}"
203}

Manage an Entity

Once you’ve created an Individual Entity, you can manage the entity and its elements using various API endpoints. Below is a summary of the available endpoints for managing individual entities, including creating, updating, retrieving, and deleting records.

Get an Entity

To retrieve an individual entity, use the GET /v2/individuals/{entityId} endpoint. This endpoint allows you to fetch detailed information about the entity, including its names, dates of birth, addresses, and documents.

1GET /v2/individuals/{entityId}

Replace {entityId} with the unique identifier of the individual entity you want to retrieve.


Update an Entity

To update an individual entity, use the PATCH /v2/individuals/{entityId} endpoint. This endpoint allows you to modify existing information about the entity, such as names, addresses, and documents.

1PATCH /v2/individuals/{entityId}

Replace {entityId} with the unique identifier of the individual entity you want to update.

Key Considerations for Updating an Entity

  • Partial Updates: The PATCH method allows you to update only specific fields without affecting the entire entity. Include only the fields you want to update in the request body. Unspecified fields will remain unchanged.
  • Element-Specific Updates: To update specific elements of the entity (e.g., names, addresses, or documents), use the unique identifier of the element (e.g., nameId, addressId, or documentId) from the response of the GET /v2/individuals/{entityId} endpoint.
  • Validation: Always validate the data before sending the update request to avoid errors or inconsistencies in the entity’s information.
  • Permissions: Ensure you have the necessary permissions to update the entity and its elements. Unauthorized updates may result in data loss or corruption.
  • Sensitive Information: Be cautious when updating sensitive information, as incorrect updates may lead to compliance issues or data integrity problems.
  • Adding New Consents: When adding new consents, they won’t be duplicated. New consent types will simply be added if they are not already applied to the individual entity.

Example: Updating a Name

To update a name, include the nameId and the fields you want to modify in the request body.

1PATCH /v2/individuals/{entityId}/names/{nameId}

Request Body Example

1{
2 "name": {
3 "nameId": "{nameId}",
4 "givenName": "Jonathan",
5 "middleName": "R",
6 "familyName": "Doe",
7 "prefix": "Mr.",
8 "suffix": "Sr."
9 }
10}

Example: Updating an Address

To update an address, include the addressId and the fields you want to modify in the request body.

1PATCH /v2/individuals/{entityId}/addresses/{addressId}

Request Body Example

1{
2 "address": {
3 "addressId": "{addressId}",
4 "streetName": "Queen",
5 "streetNumber": "789",
6 "locality": "Sydney",
7 "subdivision": "NSW",
8 "postalCode": "2000",
9 "status": "CURRENT"
10 }
11}

Ensure that you include only the fields you want to update. Fields not included in the request body will remain unchanged.

The PATCH method is ideal for partial updates, allowing you to modify specific fields without overwriting the entire entity. This ensures data integrity and minimizes the risk of accidental data loss.


Managing Entity Documents

Documents associated with an individual entity can be managed using the following endpoints. These endpoints allow you to create, retrieve, update, and delete documents and their attachments.

Create a Document

To create a new document for an individual entity, use the POST /v2/individuals/{entityId}/documents endpoint. This allows you to associate a document with the entity for verification purposes.

1POST /v2/individuals/{entityId}/documents

Request Body Example

1{
2 "type": "PASSPORT",
3 "subtype": "FACIAL_COMPARISON",
4 "country": "AUS",
5 "primaryIdentifier": "P123456789",
6 "issueDate": {
7 "year": "2020",
8 "month": "01",
9 "day": "15",
10 "type": "GREGORIAN"
11 },
12 "expiryDate": {
13 "year": "2030",
14 "month": "01",
15 "day": "15",
16 "type": "GREGORIAN"
17 },
18 "attachments": [
19 {
20 "filename": "passport_front.jpg",
21 "mimeType": "image/jpeg",
22 "data": {
23 "uri": "https://example.com/passport_front.jpg"
24 }
25 }
26 ]
27}

Retrieve All Documents

To retrieve all documents associated with an individual entity, use the GET /v2/individuals/{entityId}/documents endpoint.

1GET /v2/individuals/{entityId}/documents

Response Example

1{
2 "documents": [
3 {
4 "documentId": "{documentId}",
5 "type": "PASSPORT",
6 "country": "AUS",
7 "expiryDate": {
8 "year": "2030",
9 "month": "01",
10 "day": "15",
11 "type": "GREGORIAN"
12 }
13 },
14 {
15 "documentId": "{documentId2}",
16 "type": "UTILITY_BILL",
17 "country": "AUS",
18 "issueDate": {
19 "year": "2023",
20 "month": "06",
21 "day": "01",
22 "type": "GREGORIAN"
23 }
24 }
25 ]
26}

Retrieve a Single Document

To retrieve a specific document by its ID, use the GET /v2/individuals/{entityId}/documents/{documentId} endpoint.

1GET /v2/individuals/{entityId}/documents/{documentId}

Response Example

1{
2 "documentId": "{documentId}",
3 "type": "PASSPORT",
4 "country": "AUS",
5 "expiryDate": {
6 "year": "2030",
7 "month": "01",
8 "day": "15",
9 "type": "GREGORIAN"
10 },
11 "attachments": [
12 {
13 "attachmentId": "{attachmentId}",
14 "filename": "passport_front.jpg",
15 "mimeType": "image/jpeg",
16 "data": {
17 "uri": "https://example.com/passport_front.jpg"
18 }
19 }
20 ]
21}

Update a Document

To update an existing document, use the PATCH /v2/individuals/{entityId}/documents/{documentId} endpoint. This allows you to modify specific fields of the document.

1PATCH /v2/individuals/{entityId}/documents/{documentId}

Request Body Example

1{
2 "expiryDate": {
3 "year": "2035",
4 "month": "12",
5 "day": "31"
6 }
7}

Delete a Document

To delete a document associated with an individual entity, use the DELETE /v2/individuals/{entityId}/documents/{documentId} endpoint.

1DELETE /v2/individuals/{entityId}/documents/{documentId}

Deleting a document is a permanent action and cannot be undone. Ensure that you have the necessary permissions and that you are certain about the deletion before proceeding.

Delete an Attachment

To delete a specific attachment from a document, use the DELETE /v2/individuals/{entityId}/documents/{documentId}/attachments/{attachmentId} endpoint.

1DELETE /v2/individuals/{entityId}/documents/{documentId}/attachments/{attachmentId}

Deleting an attachment does not delete the entire document. Only the specified attachment will be removed.


Delete an Entity

To delete an individual entity, use the DELETE /v2/individuals/{entityId} endpoint. This endpoint allows you to remove the entity and all associated records from the system.

1DELETE /v2/individuals/{entityId}
Warning

Deleting an entity is a permanent action and cannot be undone. Ensure that you have the necessary permissions and that you are certain about the deletion before proceeding. Please ensure you only delete entities that are no longer needed for any purpose, including audit or compliance.

Deleting Individual Entity Elements

To manage and delete specific elements of an individual entity, use the following endpoints. These endpoints allow you to remove names, dates of birth, addresses, email addresses, phone numbers, consents, external references, and document attachments.


Delete a Name

To delete a name associated with an individual entity, use the DELETE /v2/individuals/{entityId}/names/{nameId} endpoint.

1DELETE /v2/individuals/{entityId}/names/{nameId}

Replace {entityId} with the unique identifier of the individual entity and {nameId} with the unique identifier of the name you want to delete.


Delete a Date of Birth

To delete a date of birth associated with an individual entity, use the DELETE /v2/individuals/{entityId}/datesOfBirth/{dateOfBirthId} endpoint.

1DELETE /v2/individuals/{entityId}/datesOfBirth/{dateOfBirthId}

Replace {entityId} with the unique identifier of the individual entity and {dateOfBirthId} with the unique identifier of the date of birth you want to delete.


Delete an Address

To delete an address associated with an individual entity, use the DELETE /v2/individuals/{entityId}/addresses/{addressId} endpoint.

1DELETE /v2/individuals/{entityId}/addresses/{addressId}

Replace {entityId} with the unique identifier of the individual entity and {addressId} with the unique identifier of the address you want to delete.


Delete an Email Address

To delete an email address associated with an individual entity, use the DELETE /v2/individuals/{entityId}/emailaddresses/{emailAddressId} endpoint.

1DELETE /v2/individuals/{entityId}/emailaddresses/{emailAddressId}

Replace {entityId} with the unique identifier of the individual entity and {emailAddressId} with the unique identifier of the email address you want to delete.


Delete a Phone Number

To delete a phone number associated with an individual entity, use the DELETE /v2/individuals/{entityId}/phonenumbers/{phoneNumberId} endpoint.

1DELETE /v2/individuals/{entityId}/phonenumbers/{phoneNumberId}

Replace {entityId} with the unique identifier of the individual entity and {phoneNumberId} with the unique identifier of the phone number you want to delete.


To withdraw a previously provided consent, use the DELETE /v2/individuals/{entityId}/consents/{consentType} endpoint.

1DELETE /v2/individuals/{entityId}/consents/{consentType}

Replace {entityId} with the unique identifier of the individual entity and {consentType} with the type of consent you want to withdraw (e.g., GENERAL, DOCS, etc.).


Delete an External Reference

To delete an external reference associated with an individual entity, use the DELETE /v2/individuals/{entityId}/externalreferences/{referenceId} endpoint.

1DELETE /v2/individuals/{entityId}/externalreferences/{referenceId}

Replace {entityId} with the unique identifier of the individual entity and {referenceId} with the unique identifier of the external reference you want to delete.


Delete a Document

To delete a document associated with an individual entity, use the DELETE /v2/individuals/{entityId}/documents/{documentId} endpoint.

1DELETE /v2/individuals/{entityId}/documents/{documentId}

Deleting a document is a permanent action and cannot be undone. Ensure that you have the necessary permissions and that you are certain about the deletion before proceeding.


Delete an Attachment

To delete a specific attachment from a document, use the DELETE /v2/individuals/{entityId}/documents/{documentId}/attachments/{attachmentId} endpoint.

1DELETE /v2/individuals/{entityId}/documents/{documentId}/attachments/{attachmentId}

Deleting an attachment does not delete the entire document. Only the specified attachment will be removed.