Types
CredentialRequest
Full Definition
We recommend looking at the partial definitions below under the integration type tabs (Hosted, Semi-Hosted, and Non-Hosted) because they show only the properties relevant to the integration type you choose. The full definition here shows all possible properties, but some may not be relevant to your integration type.
{
type: string,
mandatory?: "yes" | "no" | "if_available",
children?: CredentialRequest[],
description?: string,
allowUserInput?: boolean
}
Property | Required? | Type | Format | Default | Description | Example |
---|---|---|---|---|---|---|
type | required |
| PascalCase | none | The type of user data a credential has | "FirstNameCredential" |
mandatory | optional | enum | snake_case | "no" | Whether the credential is required, not required, or required if available (accepted values "yes" , "no" , and "if_available" ) | "if_available" |
children | optional | CredentialRequest[] | See CredentialRequest | none | List of child CredentialRequest s relative to the parent CredentialRequest | Child CredentialRequest s with type s "FirstNameCredential" and "LastNameCredential" relative to a parent CredentialRequest with type "FullNameCredential" |
description | optional | string | Sentence case | none | Text shown to the user on the form field corresponding to the credential | "We are required by federal regulation to collect your SSN" |
allowUserInput | optional | boolean | boolean | true | Whether to allow user input on the form field corresponding to the credential | false |
- Hosted
- Semi-Hosted
- Non-Hosted
With the Hosted tab active above, your brand's integration type setting should be set to Hosted in the Dashboard. See Determine integration type if you need help deciding which type is right for you.
{
type: string,
mandatory?: "yes" | "no" | "if_available",
children?: CredentialRequest[],
description?: string,
allowUserInput?: boolean
}
Property | Required? | Type | Format | Default | Description | Example |
---|---|---|---|---|---|---|
type | required |
| PascalCase | none | The type of user data a credential has | "FirstNameCredential" |
mandatory | optional | enum | snake_case | "no" | Whether the credential is required, not required, or required if available (accepted values "yes" , "no" , and "if_available" ) | "if_available" |
children | optional | CredentialRequest[] | See CredentialRequest | none | List of child CredentialRequest s relative to the parent CredentialRequest | Child CredentialRequest s with type s "FirstNameCredential" and "LastNameCredential" relative to a parent CredentialRequest with type "FullNameCredential" |
description | optional | string | Sentence case | none | Text shown to the user on the form field corresponding to the credential | "We are required by federal regulation to collect your SSN" |
allowUserInput | optional | boolean | boolean | true | Whether to allow user input on the form field corresponding to the credential | false |
With the Semi-Hosted tab active above, your brand's integration type setting should be set to Semi-Hosted in the Dashboard. See Determine integration type if you need help deciding which type is right for you.
{
type: string,
mandatory?: "yes" | "no" | "if_available",
children?: CredentialRequest[],
}
Property | Required? | Type | Format | Default | Description | Example |
---|---|---|---|---|---|---|
type | required |
| PascalCase | none | The type of user data a credential has | "FirstNameCredential" |
mandatory | optional | enum | snake_case | "no" | Whether the credential is required, not required, or required if available (accepted values "yes" , "no" , and "if_available" ) | "if_available" |
children | optional | CredentialRequest[] | See CredentialRequest | none | List of child CredentialRequest s relative to the parent CredentialRequest | Child CredentialRequest s with type s "FirstNameCredential" and "LastNameCredential" relative to a parent CredentialRequest with type "FullNameCredential" |
With the Non-Hosted tab active above, your brand's integration type setting should be set to Non-Hosted in the Dashboard. See Determine integration type if you need help deciding which type is right for you.
{
type: string,
mandatory?: "yes" | "no" | "if_available",
children?: CredentialRequest[],
}
Property | Required? | Type | Format | Default | Description | Example |
---|---|---|---|---|---|---|
type | required |
| PascalCase | none | The type of user data a credential has | "FirstNameCredential" |
mandatory | optional | enum | snake_case | "no" | Whether the credential is required, not required, or required if available (accepted values "yes" , "no" , and "if_available" ) | "if_available" |
children | optional | CredentialRequest[] | See CredentialRequest | none | List of child CredentialRequest s relative to the parent CredentialRequest | Child CredentialRequest s with type s "FirstNameCredential" and "LastNameCredential" relative to a parent CredentialRequest with type "FullNameCredential" |
Example
- Hosted
- Semi-Hosted
- Non-Hosted
With the Hosted tab active above, your brand's integration type setting should be set to Hosted in the Dashboard. See Determine integration type if you need help deciding which type is right for you.
{
"type": "FullNameCredential",
"children": [
{
"type": "FirstNameCredential",
"mandatory": "no",
"allowUserInput": true
},
{
"type": "LastNameCredential",
"mandatory": "if_available",
"allowUserInput": false
}
]
}
With the Semi-Hosted tab active above, your brand's integration type setting should be set to Semi-Hosted in the Dashboard. See Determine integration type if you need help deciding which type is right for you.
{
"type": "FullNameCredential",
"children": [
{
"type": "FirstNameCredential",
"mandatory": "no",
},
{
"type": "LastNameCredential",
"mandatory": "if_available",
}
]
}
With the Non-Hosted tab active above, your brand's integration type setting should be set to Non-Hosted in the Dashboard. See Determine integration type if you need help deciding which type is right for you.
{
"type": "FullNameCredential",
"children": [
{
"type": "FirstNameCredential",
"mandatory": "no",
},
{
"type": "LastNameCredential",
"mandatory": "if_available",
}
]
}
1ClickEntity
{
"identifiers": {
[identifierKey: string]: string
},
"credentials": {
[credentialKey: string]: string
},
"metadata": {
"identifiers": {
[identifierKey: string]: {
[metadataKey: string]: string
}
},
"credentials": {
[credentialKey: string]: {
[metadataKey: string]: string
}
}
}
}
Property | Type | Format | Description | Example |
---|---|---|---|---|
identifiers | Object | See above | User identifiers, keyed on identifierKey | See Example 1ClickEntity |
identifierKey |
| camelCase | The type of identifier | "phone" |
credentials | Object | See above | User credentials, keyed on credentialKey | See Example 1ClickEntity |
credentialKey |
| camelCase | The type of user data a credential has | "firstName" |
metadata | Object | See above | Metadata, keyed on metadataKey | See Example 1ClickEntity |
metadataKey |
| camelCase | Any additional data that's not a user's identity data (identifiers or credentials) | "verificationMethod" |
Example
{
"identifiers": {
"phone": "+10123456789"
},
"credentials": {
"email": "richard@piedpiper.net",
"fullName": {
"firstName": "Richard",
"lastName": "Hendricks"
},
"address": {
"line1": "5320 Newell Rd",
"city": "Palo Alto",
"state": "CA",
"zip": "94303",
"country": "US"
},
"birthDate": "1989-08-01",
"ssn": "123456789"
},
"metadata": {
"identifiers": {
"verificationMethod": {
"phone": "otp"
}
},
"credentials": {
"id": {
"email": "8a1d4e35-413d-496b-b499-8810b55cfb5c",
"fullName": {
"firstName": "2e6a7b9a-e93e-43ba-98a9-c554f4e16457",
"lastName": "9a5817ef-e621-4277-8c48-c8ee3776b6c4"
},
"address": {
"line1": "f5a4dc93-bc06-4bb8-bd05-17b5ba912bcd",
"city": "efd3820f-676a-4db1-b63e-695b66ed8ba0",
"state": "b65022a2-2016-41df-88f3-252e8e3a29c5",
"zip": "b747ff84-39d8-4df9-98f9-24a465f1a9ae",
"country": "d57a7bca-2a7c-4671-86ad-5647731cad02"
},
"birthDate": "ec1ef0ce-eeed-46a4-94a9-29b46e64403d",
"ssn": "ec1ef0ce-eeed-46a4-94a9-29b46e64403d"
},
"verificationMethod": {
"email": "self_attested",
"fullName": {
"firstName": "phone_carrier",
"lastName": "phone_carrier"
},
"address": {
"line1": "credit_bureau",
"city": "credit_bureau",
"state": "credit_bureau",
"zip": "credit_bureau",
"country": "credit_bureau"
},
"birthDate": "phone_carrier",
"ssn": "phone_carrier"
},
"status": {
"email": "valid",
"fullName": {
"firstName": "valid",
"lastName": "valid"
},
"address": {
"line1": "valid",
"city": "valid",
"state": "valid",
"zip": "valid",
"country": "valid"
},
"birthDate": "valid",
"ssn": "valid"
},
"expirationDate": {
"email": "1871839024044",
"fullName": {
"firstName": "1871839024044",
"lastName": "1871839024044"
},
"address": {
"line1": "1871839024044",
"city": "1871839024044",
"state": "1871839024044",
"zip": "1871839024044",
"country": "1871839024044"
},
"birthDate": null,
"ssn": null
}
}
}
}