curl --request PATCH \
--url https://api.enterprise.sandbox.uphold.com/core/kyc/processes/profile \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"input": {
"details": {
"fullName": "John Doe",
"primaryCitizenship": "GB",
"birthdate": "1987-01-01"
}
}
}
'{
"profile": {
"status": "ok",
"input": {
"details": {
"fullName": "John Doe",
"primaryCitizenship": "GB",
"birthdate": "1987-01-01"
}
},
"hint": {
"type": "form",
"schema": {
"type": "object",
"additionalProperties": false,
"properties": null,
"details": {
"title": "Details",
"type": "object",
"additionalProperties": false,
"properties": null,
"fullName": {
"title": "What is your full name?",
"type": "string",
"pattern": "^\\S+\\s+\\S+(\\s+\\S+)*$",
"minLength": 2,
"maxLength": 255
},
"primaryCitizenship": {
"title": "What is your primary citizenship?",
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"birthdate": {
"title": "What is your date of birth?",
"type": "string",
"format": "date"
}
}
},
"uiSchema": {
"type": "Categorization",
"elements": [
{
"label": "Details",
"type": "Category",
"elements": [
{
"label": "Full name",
"type": "Control",
"scope": "#/properties/details/fullName"
},
{
"label": "Primary citizenship",
"type": "Control",
"scope": "#/properties/details/primaryCitizenship"
},
{
"label": "Date of birth",
"type": "Control",
"scope": "#/properties/details/birthdate"
}
]
}
]
}
}
}
}Update the profile process for a user.
curl --request PATCH \
--url https://api.enterprise.sandbox.uphold.com/core/kyc/processes/profile \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"input": {
"details": {
"fullName": "John Doe",
"primaryCitizenship": "GB",
"birthdate": "1987-01-01"
}
}
}
'{
"profile": {
"status": "ok",
"input": {
"details": {
"fullName": "John Doe",
"primaryCitizenship": "GB",
"birthdate": "1987-01-01"
}
},
"hint": {
"type": "form",
"schema": {
"type": "object",
"additionalProperties": false,
"properties": null,
"details": {
"title": "Details",
"type": "object",
"additionalProperties": false,
"properties": null,
"fullName": {
"title": "What is your full name?",
"type": "string",
"pattern": "^\\S+\\s+\\S+(\\s+\\S+)*$",
"minLength": 2,
"maxLength": 255
},
"primaryCitizenship": {
"title": "What is your primary citizenship?",
"type": "string",
"pattern": "^[A-Z]{2}$"
},
"birthdate": {
"title": "What is your date of birth?",
"type": "string",
"format": "date"
}
}
},
"uiSchema": {
"type": "Categorization",
"elements": [
{
"label": "Details",
"type": "Category",
"elements": [
{
"label": "Full name",
"type": "Control",
"scope": "#/properties/details/fullName"
},
{
"label": "Primary citizenship",
"type": "Control",
"scope": "#/properties/details/primaryCitizenship"
},
{
"label": "Date of birth",
"type": "Control",
"scope": "#/properties/details/birthdate"
}
]
}
]
}
}
}
}OAuth 2.0 authentication.
Dynamic form input following the JSON Forms specification, enabling progressive disclosure of properties and anytime submissions to keep profile details up to date.
KYC profile process updated.
The KYC profile object.
Show child attributes
Status of the KYC process.
ok, failed, running, pending, exempt The declared profile details.
Hints for the KYC process.
Show child attributes
The type of the hint.
form The definition of the structure and validation rules for this KYC process form.
It follows the JSON Schema specification with the power of JSON Forms.
The schema is iterative, meaning that new questions and properties can be added dynamically as the KYC process evolves. This allows for a flexible and adaptive form structure that can accommodate changes and new requirements over time.
The uiSchema property defines the general layout and presentation of the form by means of different UI schema elements.
It follows the JSON Forms specification and is used to customize the appearance and behavior of the form fields.
The uiSchema includes the following elements:
Layouts: Used to structure the form layout. It includes properties like type to define the layout type (e.g., Categorization) and elements to define the child elements.Controls: Used to define the form controls. It includes properties like scope to point to the corresponding schema property and label to define the control's label.Rules: Used to define conditional visibility rules for form controls. It includes properties like effect to define the rule effect (e.g., SHOW) and condition to define the rule condition.The uiSchema is iterative, meaning that new controls and layout elements can be added dynamically as the KYC process evolves. This allows for a flexible and dynamic form layout, enhancing the user experience by providing a structured and intuitive form design that can adapt to new requirements and changes over time.
The id of the form.