1. Users
CryptopocketAPI
  • Common
    • Authentication
      POST
    • Token Price
      GET
    • Get Available Assets
      GET
  • Users
    • List customers
      GET
    • Create customer
      POST
    • Create customer with delegated KYC
      POST
    • Create company customer
      POST
    • Retrieve KYC/KYB verification status
      GET
    • Create enhanced verification link
      POST
    • Upload Customer Document
      POST
    • Find User
      GET
  • OnRamp
    • List payment methods
      GET
    • Get Quote
      GET
    • Create Payment Intend
      POST
    • Create guided payment intent
      POST
    • Retrieve payment
      GET
    • List on-ramp transactions
      GET
  • OffRamp
    • Get quote
      GET
    • Create OffRamp Transaction
      POST
    • Retrieve off-ramp transaction status
      GET
    • List off-ramp transactions
      GET
  • Bank Accounts
    • List bank accounts
      GET
    • List account transactions
      GET
    • Reconcile payment with bank transaction
      POST
  • Webhooks
    • Available webhooks
    • Webhook Event Subscribe
    • Webhook Event Update
  • Docs
    • Sandbox Environment Instructions
    • CryptoPocket Integration Guide — Buy Flow (On-Ramp)
  • Raíz
  • Schemas
    • FindUserSuccess
    • ReconcilePaymentRequest
    • IntegrationError
    • BankAccount
    • ReconcilePaymentSuccessResponse
    • BankAccountsListResponse
    • ErrorResponse
    • BankAccountTransaction
    • Pagination
    • BankAccountTransactionsResponse
  1. Users

Create company customer

Entorno sandbox
https://sandbox.cryptopocket.io/api
Entorno sandbox
https://sandbox.cryptopocket.io/api
POST
/register/company

Summary#

Registers a new corporate customer (KYB) and returns a link to complete the onboarding form.

Description#

Use this endpoint to create a new company customer in the platform. The integration must be authenticated via the auth header.
The client should use kyb_link and password to complete corporate verification (Know Your Business) through the onboarding form.
Authentication: Required. Valid integration token in the auth header.
Restrictions:
The email must not already be registered.
Disposable/temporary email domains are not allowed.

Headers#

HeaderTypeRequiredDescription
authstringYesIntegration authentication token
Content-TypestringYesapplication/json

Request Body (application/json)#

FieldTypeRequiredDescription
emailstringYesCompany contact email. Max 254 characters. Must be a valid email format.
company_namestringYesLegal or commercial name of the company. Max 255 characters.

Example Request#

{
  "email": "contact@acmecorp.com",
  "company_name": "Acme Corporation S.L."
}

Success Response (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"
  }
}

Response fields#

FieldTypeDescription
idintegerInternal user ID of the created company
uuidstringPublic UUID of the company user
kyb_linkstringPublic URL to access the KYB onboarding form
passwordstringAccess password for the KYB form (12 characters, auto-generated)
Note: Store kyb_link and password securely. They are required to complete the KYB process. The link expires 90 days after creation.

Error Responses#

Authentication error#

{
  "status": "error",
  "error": "authorization_incorrect"
}

Email already registered#

{
  "status": "error",
  "error": "user_already_exists"
}

Disposable email not allowed#

{
  "status": "error",
  "error": "email_not_allowed"
}

Validation error (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."]
  }
}

Internal error#

{
  "status": "error",
  "error": "unexpected_error"
}

Error codes#

Error codeHTTP StatusDescription
authorization_incorrect200Invalid or missing authentication token
user_already_exists200A user with this email is already registered
email_not_allowed200Email uses a disposable/temporary domain
unexpected_error200Internal server error
Validation errors422Missing or invalid email / company_name

Business flow#

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         |
     |--------------------------->|

Solicitud

Parámetros de Header

Parámetros del Body application/json

Ejemplos

Respuestas

🟢200
application/json
Bodyapplication/json

Solicitud Ejemplo de Solicitud
Shell
JavaScript
Java
Swift
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."
}'
Respuesta Ejemplo de Respuesta
{
    "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"
    }
}
Modificado en 2026-06-26 01:40:22
Anterior
Create customer with delegated KYC
Siguiente
Retrieve KYC/KYB verification status
Built with