IBExWalletAPI
PrivacyComplete a KYC/B

KYB enrollment

Enroll a business (KYB) for identity verification. The backend resolves the user from the JWT, then proxies the request to the upstream KYB enrollment service.

A session URL (chatbotFullURL) is returned so the client can upload ID documents directly to the KYB service via POST /ky/enroll/idDocument (Bearer session token).

Representative data (firstName, lastName, birthDate, birthCity) is automatically retrieved from Pappers using the SIREN number.

## Response statuses

| Status | Description |

|--------|-------------|

| pending_submit | Enrollment created, documents not yet submitted |

| pending_id_document | No documents yet — redirect user to chatbotFullURL |

POST
/v1.2/auth/enroll

Authorization

AuthorizationRequiredBearer <token>

In: header

Request Body

application/jsonRequired
emailRequiredstring

Contact email (no verification)

Format: "email"
companyRegistrationNumberRequiredstring

SIREN number (9 digits)

Pattern: "^[0-9]{9}$"
returnUrlstring

Redirect URL after document upload via web form

Format: "uri"
curl -X POST "https://passkeys-testnet.ibex.fi/v1.2/auth/enroll" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "user@example.com",
    "companyRegistrationNumber": "string",
    "returnUrl": "http://example.com"
  }'

Default Response

{
  "userId": "string",
  "status": "pending_submit",
  "sessionId": "string",
  "chatbotURL": "string",
  "chatbotFullURL": "string"
}