User Registration
curl --request POST \
--url https://test-api-kore.kravata.co/api/v1/users/register \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-integration-register: <x-integration-register>' \
--data @- <<EOF
{
"external_user_id": "3f1a9c2e-7b6d-4e11-9a3f-2c8d6e0b5a17",
"first_name": "John",
"second_name": "Michael",
"first_surname": "Doe",
"second_surname": "Smith",
"birth_date": "1988-11-02",
"cell_phone_number": "3009876543",
"email": "john.doe@example.com",
"home_info": {
"neighborhood": "Downtown",
"address_home": "123 Main Street",
"country_home": "Colombia",
"city_home": "Medellin",
"department": "Antioquia"
},
"document_type": "CC",
"document_number": "1029384756",
"document_issue_date": "2015-03-22",
"document_issuance_country": "Colombia",
"occupation": "Desempleado",
"incomes": {
"monthly_incomes": 7200000
},
"expenses": {
"month_expenses": 4100000
},
"total_assets": 60000000,
"total_liabilities": 12000000,
"is_pep": false,
"kyc_validations": "{'status':'APPROVED'}"
}
EOFimport requests
url = "https://test-api-kore.kravata.co/api/v1/users/register"
payload = {
"external_user_id": "3f1a9c2e-7b6d-4e11-9a3f-2c8d6e0b5a17",
"first_name": "John",
"second_name": "Michael",
"first_surname": "Doe",
"second_surname": "Smith",
"birth_date": "1988-11-02",
"cell_phone_number": "3009876543",
"email": "john.doe@example.com",
"home_info": {
"neighborhood": "Downtown",
"address_home": "123 Main Street",
"country_home": "Colombia",
"city_home": "Medellin",
"department": "Antioquia"
},
"document_type": "CC",
"document_number": "1029384756",
"document_issue_date": "2015-03-22",
"document_issuance_country": "Colombia",
"occupation": "Desempleado",
"incomes": { "monthly_incomes": 7200000 },
"expenses": { "month_expenses": 4100000 },
"total_assets": 60000000,
"total_liabilities": 12000000,
"is_pep": False,
"kyc_validations": "{'status':'APPROVED'}"
}
headers = {
"x-integration-register": "<x-integration-register>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-integration-register': '<x-integration-register>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
external_user_id: '3f1a9c2e-7b6d-4e11-9a3f-2c8d6e0b5a17',
first_name: 'John',
second_name: 'Michael',
first_surname: 'Doe',
second_surname: 'Smith',
birth_date: '1988-11-02',
cell_phone_number: '3009876543',
email: 'john.doe@example.com',
home_info: {
neighborhood: 'Downtown',
address_home: '123 Main Street',
country_home: 'Colombia',
city_home: 'Medellin',
department: 'Antioquia'
},
document_type: 'CC',
document_number: '1029384756',
document_issue_date: '2015-03-22',
document_issuance_country: 'Colombia',
occupation: 'Desempleado',
incomes: {monthly_incomes: 7200000},
expenses: {month_expenses: 4100000},
total_assets: 60000000,
total_liabilities: 12000000,
is_pep: false,
kyc_validations: '{\'status\':\'APPROVED\'}'
})
};
fetch('https://test-api-kore.kravata.co/api/v1/users/register', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"user_id": "75fd9334-498d-473a-ab8b-b82bd94a5c6d",
"status": "success",
"message": "User registered successfully",
"data": {
"person": {
"id": "75fd9334-498d-473a-ab8b-b82bd94a5c6d",
"isJuridic": null,
"identificationType": "cc",
"identificationNro": "1000000001",
"verificateDigit": null,
"firstName": "John",
"firstSurname": "Doe",
"lastName": "Smith",
"middleName": "Michael",
"businessName": "John Michael Doe Smith",
"tradeName": null,
"pep": false,
"nationality": null,
"contactsData": [
{
"dataTypeContact": "email",
"dataValue": "john.doe@example.com",
"isVerified": true,
"personId": "75fd9334-498d-473a-ab8b-b82bd94a5c6d"
},
{
"dataTypeContact": "phone",
"dataValue": "+573001234567",
"isVerified": true,
"personId": "75fd9334-498d-473a-ab8b-b82bd94a5c6d"
}
],
"additionalInfo": [
{
"additionalInfoTypeSku": "onrampmultiplier",
"infoName": "on ramp multiplier",
"infoType": "number",
"infoValue": "None",
"personId": "75fd9334-498d-473a-ab8b-b82bd94a5c6d"
},
{
"additionalInfoTypeSku": "offrampmultiplier",
"infoName": "off ramp multiplier",
"infoType": "number",
"infoValue": "None",
"personId": "75fd9334-498d-473a-ab8b-b82bd94a5c6d"
}
],
"personFiles": [],
"persons": []
},
"status": "pending",
"complianceStatus": "pending",
"id": "75fd9334-498d-473a-ab8b-b82bd94a5c6d",
"isVip": false,
"tradeName": null,
"clientType": null,
"constitutionDate": "2026-07-03T14:41:13.466072",
"constitutionCountryId": null,
"constitutionCity": "Bogotá",
"constitutionState": "Colombia",
"countriesOperation": []
}
}Users
User Registration
By consuming this endpoint, you can register users by providing the required user information.
Request
| Field | Type | Required | Description |
|---|---|---|---|
| Authorization | Header | Yes | The access token that authenticates the request. |
| x-integration-register | Header | Yes | Unique integration identifier provided by Kravata |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| external_user_id | UUID | No | External unique identifier assigned to the user. |
| first_name | String | Yes | User’s first given name. |
| second_name | String | Yes | User’s second given name, if applicable. |
| first_surname | String | Yes | User’s first surname (family name). |
| second_surname | String | Yes | User’s second surname, if applicable. |
| birth_date | String | Yes | User’s date of birth. Format: YYYY-MM-DD. |
| cell_phone_number | String | Yes | User’s primary mobile phone number, including area code if applicable. |
| String | Yes | User’s email address used for communication and identification. Must be a valid email format. | |
| home_info | Object | Yes | Contains the user’s residential address information. |
| home_info.neighborhood | String | Yes | Neighborhood or district where the user resides. |
| home_info.address_home | String | Yes | User’s complete residential address. |
| home_info.country_home | String | Yes | Country of residence. |
| home_info.city_home | String | Yes | City of residence. |
| home_info.department | String | Yes | State, department, or province of residence. |
| document_type | String | Yes | Type of identification document. Allowed values: CC |
| document_number | String | Yes | Identification number corresponding to the specified identification type. |
| document_issue_date | String | Yes | Date on which the identification document was issued. Format: YYYY-MM-DD. |
| document_issuance_country | String | Yes | Country where the identification document was issued. |
| occupation | String | Yes | User’s current occupation. |
| incomes | Object | Yes | Contains information related to the user’s declared income. |
| incomes.monthly_incomes | Number | Yes | User’s declared average monthly income, expressed in the local currency. |
| expenses | Object | Yes | Contains information related to the user’s declared expenses. |
| expenses.month_expenses | Number | Yes | User’s declared average monthly expenses, expressed in the local currency. |
| total_assets | Number | Yes | Total estimated value of the user’s assets. |
| total_liabilities | Number | Yes | Total estimated value of the user’s liabilities or financial obligations. |
| international_operations_info | Object | No | Contains information about the user’s international financial operations. |
| international_operations_info.foreign_currency_products | String | No | Indicates whether the user owns foreign currency products (e.g., foreign bank accounts or investments). Example values: Yes, No |
| is_pep | Boolean | Yes | Indicates whether the user is a Politically Exposed Person (PEP). Accepted values: true or false. |
| identity_verification_result | String | No | Result of the identity verification process performed by the identity verification provider. Example values: Success, Failed, Pending. |
| document_verification_result | String | No | Result of the document authenticity verification. Example values: Success, Failed, Pending. |
| identity_verification_id | String | No | Unique identifier returned by the identity verification provider for the verification process. |
| identity_verification_date | String | No | Date when the identity verification was completed. |
| identity_verification_provider | String | No | Name of the identity verification provider used to validate the user’s identity. |
| origins_founds | String | No | Declared source of funds. Indicates the primary origin of the user’s financial resources. |
| kyc_validations | String | Yes | Contains the results of the user’s KYC validations. The information may be provided as a structured JSON object or as a Base64-encoded file containing the complete validation results. |
| identity_verification | String | Yes | Contains the results and evidence of the user’s identity verification process. The information may be provided as a structured JSON object or as a Base64-encoded file generated by the identity verification provider. |
| supporting_documents | Array | Yes | List of additional supporting documents associated with the user registration. |
POST
/
api
/
v1
/
users
/
register
User Registration
curl --request POST \
--url https://test-api-kore.kravata.co/api/v1/users/register \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-integration-register: <x-integration-register>' \
--data @- <<EOF
{
"external_user_id": "3f1a9c2e-7b6d-4e11-9a3f-2c8d6e0b5a17",
"first_name": "John",
"second_name": "Michael",
"first_surname": "Doe",
"second_surname": "Smith",
"birth_date": "1988-11-02",
"cell_phone_number": "3009876543",
"email": "john.doe@example.com",
"home_info": {
"neighborhood": "Downtown",
"address_home": "123 Main Street",
"country_home": "Colombia",
"city_home": "Medellin",
"department": "Antioquia"
},
"document_type": "CC",
"document_number": "1029384756",
"document_issue_date": "2015-03-22",
"document_issuance_country": "Colombia",
"occupation": "Desempleado",
"incomes": {
"monthly_incomes": 7200000
},
"expenses": {
"month_expenses": 4100000
},
"total_assets": 60000000,
"total_liabilities": 12000000,
"is_pep": false,
"kyc_validations": "{'status':'APPROVED'}"
}
EOFimport requests
url = "https://test-api-kore.kravata.co/api/v1/users/register"
payload = {
"external_user_id": "3f1a9c2e-7b6d-4e11-9a3f-2c8d6e0b5a17",
"first_name": "John",
"second_name": "Michael",
"first_surname": "Doe",
"second_surname": "Smith",
"birth_date": "1988-11-02",
"cell_phone_number": "3009876543",
"email": "john.doe@example.com",
"home_info": {
"neighborhood": "Downtown",
"address_home": "123 Main Street",
"country_home": "Colombia",
"city_home": "Medellin",
"department": "Antioquia"
},
"document_type": "CC",
"document_number": "1029384756",
"document_issue_date": "2015-03-22",
"document_issuance_country": "Colombia",
"occupation": "Desempleado",
"incomes": { "monthly_incomes": 7200000 },
"expenses": { "month_expenses": 4100000 },
"total_assets": 60000000,
"total_liabilities": 12000000,
"is_pep": False,
"kyc_validations": "{'status':'APPROVED'}"
}
headers = {
"x-integration-register": "<x-integration-register>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-integration-register': '<x-integration-register>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
external_user_id: '3f1a9c2e-7b6d-4e11-9a3f-2c8d6e0b5a17',
first_name: 'John',
second_name: 'Michael',
first_surname: 'Doe',
second_surname: 'Smith',
birth_date: '1988-11-02',
cell_phone_number: '3009876543',
email: 'john.doe@example.com',
home_info: {
neighborhood: 'Downtown',
address_home: '123 Main Street',
country_home: 'Colombia',
city_home: 'Medellin',
department: 'Antioquia'
},
document_type: 'CC',
document_number: '1029384756',
document_issue_date: '2015-03-22',
document_issuance_country: 'Colombia',
occupation: 'Desempleado',
incomes: {monthly_incomes: 7200000},
expenses: {month_expenses: 4100000},
total_assets: 60000000,
total_liabilities: 12000000,
is_pep: false,
kyc_validations: '{\'status\':\'APPROVED\'}'
})
};
fetch('https://test-api-kore.kravata.co/api/v1/users/register', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"user_id": "75fd9334-498d-473a-ab8b-b82bd94a5c6d",
"status": "success",
"message": "User registered successfully",
"data": {
"person": {
"id": "75fd9334-498d-473a-ab8b-b82bd94a5c6d",
"isJuridic": null,
"identificationType": "cc",
"identificationNro": "1000000001",
"verificateDigit": null,
"firstName": "John",
"firstSurname": "Doe",
"lastName": "Smith",
"middleName": "Michael",
"businessName": "John Michael Doe Smith",
"tradeName": null,
"pep": false,
"nationality": null,
"contactsData": [
{
"dataTypeContact": "email",
"dataValue": "john.doe@example.com",
"isVerified": true,
"personId": "75fd9334-498d-473a-ab8b-b82bd94a5c6d"
},
{
"dataTypeContact": "phone",
"dataValue": "+573001234567",
"isVerified": true,
"personId": "75fd9334-498d-473a-ab8b-b82bd94a5c6d"
}
],
"additionalInfo": [
{
"additionalInfoTypeSku": "onrampmultiplier",
"infoName": "on ramp multiplier",
"infoType": "number",
"infoValue": "None",
"personId": "75fd9334-498d-473a-ab8b-b82bd94a5c6d"
},
{
"additionalInfoTypeSku": "offrampmultiplier",
"infoName": "off ramp multiplier",
"infoType": "number",
"infoValue": "None",
"personId": "75fd9334-498d-473a-ab8b-b82bd94a5c6d"
}
],
"personFiles": [],
"persons": []
},
"status": "pending",
"complianceStatus": "pending",
"id": "75fd9334-498d-473a-ab8b-b82bd94a5c6d",
"isVip": false,
"tradeName": null,
"clientType": null,
"constitutionDate": "2026-07-03T14:41:13.466072",
"constitutionCountryId": null,
"constitutionCity": "Bogotá",
"constitutionState": "Colombia",
"countriesOperation": []
}
}Authorizations
Access token from POST /api/v1/client/token.
Headers
Body
application/json
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

