userUser Management

Endpoints to create and manage user accounts

Verify API key authentication

get
/api/v1/partner/verify-auth

Verifies that the provided API key is valid and authentication is working correctly.

Authorizations
X-API-KeystringRequired

Partner API key for authentication. Required for all partner account endpoints.

Responses
chevron-right
200

Authentication successful

application/json
successbooleanRequired

Indicates if the request was successful

Example: true
get
/api/v1/partner/verify-auth

Create or get partner user

post
/api/v1/partner/users

Creates a new user relation or returns existing if already created. Returns user_ref (same as input) for subsequent API calls. Partners can only access their own users.

Authorizations
X-API-KeystringRequired

Partner API key for authentication. Required for all partner account endpoints.

Body
user_refstringRequired

Partner's unique user ID (usually primary key or UUID)

Example: partner_unique_id_123
emailstring · emailRequired

User's email address

Example: [email protected]
Responses
chevron-right
200

User already exists

application/json
successbooleanRequired

Indicates if the request was successful

Example: true
post
/api/v1/partner/users

Partner user by ID

get
/api/v1/partner/users/{user_uuid}

Get user details including KYC status and payment profiles using the user_uuid returned during user creation. Partners can only access their own users.

Authorizations
X-API-KeystringRequired

Partner API key for authentication. Required for all partner account endpoints.

Path parameters
user_uuidstring · uuidRequired

The user_uuid returned by POST /partner/users. Partners can only access their own users.

Example: 550e8400-e29b-41d4-a716-446655440000
Responses
chevron-right
200

User found

application/json
successbooleanRequired

Indicates if the request was successful

Example: true
get
/api/v1/partner/users/{user_uuid}

Submit KYC data for a partner user

post
/api/v1/partner/users/{user_uuid}/kyc-submissions

Submit KYC (Know Your Customer) data for a partner user. Supports three methods:

  • direct_data: Partner submits PII data directly, user is verified

  • external_token: Partner provides external KYC provider credentials (SumSub token or Persona inquiry_id)

  • handoff: Unigox handles KYC verification and generates verification URL

Important for EUR/AUD/GBP off-ramp: EUR, AUD, and GBP payouts require the user's physical address. Include address, city, and postal_code in the PII data when submitting KYC. If not provided at submission time, you can add them later with PATCH /partner/users/{user_uuid}/kyc. Without address, EUR/AUD/GBP orders will be created with status pending_address until the address is provided.

Authorizations
X-API-KeystringRequired

Partner API key for authentication. Required for all partner account endpoints.

Path parameters
user_uuidstring · uuidRequired

The user_uuid returned by POST /partner/users. Partners can only access their own users.

Example: 550e8400-e29b-41d4-a716-446655440000
Body
or
or
Responses
chevron-right
200

KYC submitted successfully

application/json
successbooleanRequired

Indicates if the request was successful

Example: true
post
/api/v1/partner/users/{user_uuid}/kyc-submissions

Upload KYC document for a partner user

post
/api/v1/partner/users/{user_uuid}/kyc/documents

Upload a KYC document for a partner user. Choose one of two upload methods:


Method 1: File Upload

Send the document as a file attachment.

POST /api/v1/partner/users/{user_uuid}/kyc/documents
Content-Type: multipart/form-data

document: <file>
document_type: identity_front

Method 2: Single URL Upload

Send a URL pointing to one document image.

{
  "upload_method": "url_link",
  "document_type": "identity_front",
  "url": "https://example.com/id-front.jpg"
}

Method 3: Batch URL Upload

Upload multiple documents in one call (up to 10).

URL requirements: HTTPS only, 10MB per file, JPEG/PNG/GIF/PDF.


Supported document types: identity_front (required), selfie (required), identity_back, passport, national_id, driver_license, and more.

Automatic Verification: After uploading all required documents (selfie + identity_front), verification starts automatically.

Authorizations
X-API-KeystringRequired

Partner API key for authentication. Required for all partner account endpoints.

Path parameters
user_uuidstring · uuidRequired

Public UUID of the user

Example: 550e8400-e29b-41d4-a716-446655440000
Body
or
or
Responses
chevron-right
200

Document uploaded successfully

application/json
successbooleanOptionalExample: true
post
/api/v1/partner/users/{user_uuid}/kyc/documents

Update KYC data for a partner user

patch
/api/v1/partner/users/{user_uuid}/kyc

Update optional PII fields on existing KYC data. The user stays verified. Only optional fields can be updated. Required fields (first_name, last_name, country_code) cannot be changed.

For EUR/AUD/GBP offramp, provide address, city, and postal_code here. These will auto-populate into payment details for EUR/AUD/GBP payouts.

Authorizations
X-API-KeystringRequired

Partner API key for authentication. Required for all partner account endpoints.

Path parameters
user_uuidstring · uuidRequired

The user_uuid returned by POST /partner/users.

Example: 550e8400-e29b-41d4-a716-446655440000
Body
addressstringOptional

Street address

Example: Svitrigailos g 29
citystringOptional

City

Example: Vilnius
postal_codestringOptionalExample: 03229
dobstring · dateOptionalExample: 1990-01-01
phone_numberstringOptional

E.164 format

Example: +37012345678
middle_namestringOptional
id_numberstringOptional
id_typestring · enumOptionalPossible values:
Responses
chevron-right
200

KYC data updated successfully

application/json
successbooleanOptionalExample: true
patch
/api/v1/partner/users/{user_uuid}/kyc

Verification status for a partner user

get
/api/v1/partner/users/{user_uuid}/verification-status

Get the current verification status for a partner user. This endpoint checks the verification status with the KYC provider (e.g., AiPrise) and returns the current status, verification URL (if available), and other relevant information. Optionally, you can provide a verification_id to check a specific verification session.

Interpretation of terminal states:

  • VERIFIED — verification passed and the user is approved

  • VERIFICATION_REJECTED — verification completed with a rejection outcome

  • FAILED — verification could not be completed due to an error

  • COMPLETED — provider workflow finished processing, but partners should still treat VERIFIED as the success state and VERIFICATION_REJECTED / FAILED as terminal non-success states

Authorizations
X-API-KeystringRequired

Partner API key for authentication. Required for all partner account endpoints.

Path parameters
user_uuidstring · uuidRequired

The user_uuid returned by POST /partner/users. Partners can only access their own users.

Example: 550e8400-e29b-41d4-a716-446655440000
Query parameters
verification_idstringOptional

Optional verification session ID. If not provided, the latest verification session for the user will be checked.

Example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
Responses
chevron-right
200

Successfully retrieved verification status

application/json
successbooleanRequired

Indicates if the request was successful

Example: true
get
/api/v1/partner/users/{user_uuid}/verification-status

Payment details for a partner user

get
/api/v1/partner/users/{user_uuid}/payment-details

Retrieve all payment details (payment profiles) for a partner user. Returns all saved beneficiary details that can be used for offramp operations. Partners can only access their own users.

Authorizations
X-API-KeystringRequired

Partner API key for authentication. Required for all partner account endpoints.

Path parameters
user_uuidstring · uuidRequired

The user_uuid returned by POST /partner/users. Partners can only access their own users.

Example: 550e8400-e29b-41d4-a716-446655440000
Responses
chevron-right
200

Successfully retrieved payment details

application/json
successbooleanRequired

Indicates if the request was successful

Example: true
get
/api/v1/partner/users/{user_uuid}/payment-details

Create payment details for a partner user

post
/api/v1/partner/users/{user_uuid}/payment-details

Create payment details (beneficiary details) for a partner user. Used for offramp operations where crypto is converted to fiat and sent to the user's payment account. Partners can only access their own users.

Institution handling:

  • for most rails, institution_id must be provided from /api/v1/supported/institutions

  • partners may omit institution_id only for the explicitly supported rails below; the backend will assign the generic other-bank payment method automatically

Currently supported omission rails:

  • iban-sepa

  • nip-nigeria

Authorizations
X-API-KeystringRequired

Partner API key for authentication. Required for all partner account endpoints.

Path parameters
user_uuidstring · uuidRequired

The user_uuid returned by POST /partner/users. Partners can only access their own users.

Example: 550e8400-e29b-41d4-a716-446655440000
Body

Conditional request schema for partner payment details. institution_id may be omitted only for iban-sepa and nip-nigeria.

or
Responses
post
/api/v1/partner/users/{user_uuid}/payment-details

Delete payment details for a partner user

delete
/api/v1/partner/users/{user_uuid}/payment-details/{payment_details_id}

Delete a specific payment details (payment profile) for a partner user by its ID. Partners can only access their own users.

Authorizations
X-API-KeystringRequired

Partner API key for authentication. Required for all partner account endpoints.

Path parameters
user_uuidstring · uuidRequired

The user_uuid returned by POST /partner/users. Partners can only access their own users.

Example: 550e8400-e29b-41d4-a716-446655440000
payment_details_idstringRequired

The payment_details_id returned when creating payment details.

Example: 987
Responses
chevron-right
200

Payment details deleted successfully

application/json
successbooleanOptionalExample: true
delete
/api/v1/partner/users/{user_uuid}/payment-details/{payment_details_id}

Last updated