Understand the context object and schema
When integrating with the GBG GO API, you will pass customer data using the context object. This object contains structured information required for identity verification, document processing, and biometric validation.This page documents the input schema for API requests. For information about API response data, see the Response advice schema page.
What is the context object?
The context object is a structured data model that holds customer details and other metadata needed during a journey. It consists of multiple nested objects, each representing different aspects of the customer’s identity and verification details.Where does the schema come from?
Each customer journey is designed in the GBG GO platform, and every published journey has a schema that defines the expected structure of the context object. You should:- Retrieve the schema for a journey from the Journey Dashboard in the GBG GO platform.
- Use the schema as the source of truth when structuring API requests.
- Ensure that data types and required fields match those defined in the schema.
Why is the schema important?
- It dictates the format in which data should be sent.
- It ensures compatibility between the API and the verification modules.
- It reduces errors by validating input data before submission.
Key objects in the context schema
The schema defines multiple objects within the context, each containing required and optional fields, such as:- Identity Object: Contains personal details such as name, date of birth, and contact information.
- Documents Array: Simple document identifiers (type, number, country) used for data verification checks in
context.subject.documents. - IdentityDocument Object: Full document verification schema including images, classification, and validation details.
- Biometrics Object: Stores biometric data such as face images used for verification.
The schema may vary depending on the journey configuration. Always refer to the schema retrieved from the Journey Dashboard for the most up-to-date structure.
How to use the table below
The following table provides a detailed breakdown of all possible fields in the context object. It includes field names, descriptions, expected data types, and whether the field is required or optional. Use this reference when constructing API requests to ensure all necessary data is included in the correct format:Person
This schema represents the structure ofcontext.subject or context.subject.identity depending on your journey configuration.
| Property | Type | Description |
|---|---|---|
| uid | string | Unique identifier for the subject |
| title | string | Title of the individual |
| firstName | string | Given name of the individual |
| middleNames | array of strings | Any additional registered names |
| lastNames | array of strings | Family names of the individual |
| lastNamesAtBirth | array of strings | Family names at birth |
| aliases | array of NamesObject | Alternative names used by the person |
| relatedPersons | array of RelatedPerson | Related persons with relationship type |
| dateOfBirth | Date | Birth date of the individual |
| gender | string | Gender of the individual |
| currentAddress | Address | Current residence of the individual |
| previousAddresses | array of PreviousAddress | Past residences with date range |
| placeOfBirth | Address | Birthplace of the individual |
| documents | array of Documents | Identity documents with type, number, and country |
| phones | array of Phones | Contact numbers |
| emails | array of Emails | Email addresses |
| socials | array of Socials | Social media accounts |
Sample data
Supporting Schemas
RelatedPerson
| Property | Type | Description |
|---|---|---|
| relationship | string | Relationship type, for example, "mother", "father", "maternalGrandFather", etc.) |
| title | string | Title of the related person |
| firstName | string | Given name of the related person |
| middleNames | array of strings | Additional registered names of the related person |
| lastNames | array of strings | Family names of the related person |
| lastNamesAtBirth | array of strings | Family names at birth of the related person |
PreviousAddress
Phones
| Property | Type | Description | Example |
|---|---|---|---|
| type | string | Type of phone (landline, mobile, fax, etc.) | "mobile" |
| number | string | Phone number in international format | "+44 207 4281250" |
Sample data
Documents
This is a simplified document schema used incontext.subject.documents for data verification checks. For full document verification with images and classification, see the IdentityDocument schema below.
| Property | Type | Description | Example |
|---|---|---|---|
| type | string | Type of document, for example, Passport, and CPF Number | "CPF Number" |
| number | string | The document number | "87565779318" |
| country | string | Country code (ISO 3166-1 alpha-2 or alpha-3) | "BRA" |
Sample data
Emails
| Property | Type | Description | Example |
|---|---|---|---|
| type | string | Type of email (home, work, etc.) | "home" |
| string | Email address | "[email protected]" |
Sample data
Address
| Property | Type | Description | Example |
|---|---|---|---|
| lines | array of strings | Address in multiple lines | ["128 Queen Victoria Street", "London"] |
| addressString | string | Address in a single line | "128 Queen Victoria Street, London, EC4V 4BJ, GBR" |
| premise | string | Building number | "128" |
| building | string | Building number (alternative) | "792" |
| thoroughfare | string | Street name | "Queen Victoria Street" |
| locality | string | City or town | "London" |
| postalCode | string | Postal or ZIP code | "EC4V 4BJ" |
| country | string | ISO2 or ISO3 country code | "GBR" |
| administrativeArea | string | State or administrative region | "RJ" |
| organization | string | Associated company or organization | "GB Group" |
Sample data
NamesObject
| Property | Type | Description | Example |
|---|---|---|---|
| title | string | Title of the individual | "Mr" |
| firstName | string | Given name | "David" |
| middleNames | array of strings | Additional registered names | ["James"] |
| lastNames | array of strings | Family names | ["Jones"] |
| lastNamesAtBirth | array of strings | Family names at birth | ["Smith"] |
Sample data
DateTime
An ISO 8601 timestamp, with no optional bits:- Hyphens MUST be used to separate the date components.
- Day and month should be 2 digits.
- Colons MUST be used to separate the time components.
- Timestamps MUST NOT contain milliseconds.
- Timestamp MUST indicate the timezone, either as a time offset or a Zulu time indicator.
| Property | Type | Format | Pattern | |
|---|---|---|---|---|
| DateTime | string | date-time | `^\d4-\d2-\d2T\d2:\d2:\d2(([+-]\d2:\d2) | Z)$` |
Sample data
TimeRange
Sample data
Date
| Property | Type | Description |
|---|---|---|
| Date | string | Specified in year, month, and day separated by - (ISO 8601 format) |
Sample data
DateRange
Sample data
Location
| Property | Type | Description |
|---|---|---|
| latitude | string | Latitude of the location |
| longitude | string | Longitude of the location |
| geoAccuracy | string | Accuracy of the geolocation data |
| what3words | string | A What3Words designation with . separator |
Sample data
ResponseErrors
Typical error response format returned by a GBG API.| Property | Type | Description |
|---|---|---|
| status | int | The HTTP status code, for example, 404 |
| message | string | A human-readable message giving more detail about the error |
| error | string | message describing the error for troubleshooting purposes |
Sample data
Some error responses may also include additional information about the error, such as API path or timestamp.
Sample data
IdentityDocument
| Property | Type | Description |
|---|---|---|
| id | string | Unique identifier for the identity document |
| device | CaptureDeviceInfo | Information about the device used for document capture |
| side1Image | string | Image of the front side of the document |
| side2Image | string | Image of the back side of the document |
| mrz | string | Machine-readable zone (MRZ) extracted from the document |
| classification | DocumentClassificationInfoV1 | Classification details of the document |
| extraction | DocumentExtractionInfoV1 | Extracted information from the document |
| validation | DocumentValidationInfoV1 | Validation details of the document |
| category | string | General category of the document, for example, passport and ID card |
| type | string | Specific type of document |
| subType | string | Sub-type of the document |
| format | string | Format of the document |
| number | string | Unique identification number on the document |
| issueDate | string (date) | Date when the document was issued |
| expiryDate | string (date) | Date when the document expires |
| subject | Identity | Personal details of the document holder |
| country | Country | Country of issuance (ISO 3166-1 alpha-2 country code) |
Sample data
Country
| Property | Type | Description |
|---|---|---|
| Country | string | ISO 3166-1 alpha-2 country code |
Sample data
Identity
| Property | Type | Description |
|---|---|---|
| firstName | string | Given name of the individual |
| lastName | string | Family name of the individual |
| dateOfBirth | string (date) | Date of birth in YYYY-MM-DD format |
| gender | string | Gender of the individual |
| nationality | string | Nationality (ISO 3166-1 alpha-2 country code) |
Sample data
FaceImageBiometricsCapture
| Property | Type | Description |
|---|---|---|
| id | string (nullable) | Unique identifier for the biometric capture |
| faceImage | Base64StringOrImageId | Face image in Base64 format or an image ID reference |
Sample data
FaceImageCompareBiometricsCapture
| Property | Type | Description |
|---|---|---|
| id | string (nullable) | Unique identifier for the biometric comparison |
| face1Image | Base64StringOrImageId | First face image in Base64 format or an image ID reference |
| face2Image | Base64StringOrImageId | Second face image in Base64 format or an image ID reference |