auth header.kyb_link and password to complete corporate verification (Know Your Business) through the onboarding form.auth header.| Header | Type | Required | Description |
|---|---|---|---|
auth | string | Yes | Integration authentication token |
Content-Type | string | Yes | application/json |
application/json)| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | Company contact email. Max 254 characters. Must be a valid email format. |
company_name | string | Yes | Legal or commercial name of the company. Max 255 characters. |
{
"email": "contact@acmecorp.com",
"company_name": "Acme Corporation S.L."
}200 OK){
"status": "ok",
"data": {
"id": 1234,
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"kyb_link": "https://b2b.example.com/kyb/550e8400-e29b-41d4-a716-446655440000",
"password": "xK9mP2nQ4rTv"
}
}| Field | Type | Description |
|---|---|---|
id | integer | Internal user ID of the created company |
uuid | string | Public UUID of the company user |
kyb_link | string | Public URL to access the KYB onboarding form |
password | string | Access password for the KYB form (12 characters, auto-generated) |
Note: Store kyb_linkandpasswordsecurely. They are required to complete the KYB process. The link expires 90 days after creation.
{
"status": "error",
"error": "authorization_incorrect"
}{
"status": "error",
"error": "user_already_exists"
}{
"status": "error",
"error": "email_not_allowed"
}422){
"message": "The email field is required. (and 1 more error)",
"errors": {
"email": ["The email field is required."],
"company_name": ["The company name field is required."]
}
}{
"status": "error",
"error": "unexpected_error"
}| Error code | HTTP Status | Description |
|---|---|---|
authorization_incorrect | 200 | Invalid or missing authentication token |
user_already_exists | 200 | A user with this email is already registered |
email_not_allowed | 200 | Email uses a disposable/temporary domain |
unexpected_error | 200 | Internal server error |
| Validation errors | 422 | Missing or invalid email / company_name |
Integration API Platform
| |
| POST /register/company |
|--------------------------->|
| | Create company user
| | Create KYB record (draft)
| | Generate KYB link (90 days)
| { kyb_link, password } |
|<---------------------------|
| |
| Share link + password |
| with the company |
| |
| Company completes KYB |
| form via kyb_link |
|--------------------------->|curl --location 'https://sandbox.cryptopocket.io/api/register/company' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "contact@acmecorp.com",
"company_name": "Acme Corporation S.L."
}'{
"status": "ok",
"data": {
"id": 1234,
"uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"kyb_link": "https://b2b.example.com/kyb/550e8400-e29b-41d4-a716-446655440000",
"password": "xK9mP2nQ4rTv"
}
}