Skip to main content
POST
Register a settlement account

Authorizations

x-api-key
string
header
required

API key for service-to-service or merchant authentication.

Headers

x-idempotency-key
string<uuid>
required

Unique key for idempotent request processing. Retrying with the same key and body returns the original result; reusing a key with a different body returns 409.

Example:

"baf6a8e2-0c89-46ef-9ca5-faa65b99bcd5"

x-correlation-id
string<uuid>

Unique identifier for request tracing. Generated by the client or server if not provided.

Example:

"550e8400-e29b-41d4-a716-446655440000"

Body

application/json

Settlement account details

Request to register a settlement account (seller bank account)

name
string
required

Account holder name. Must match the name on the bank account.

Maximum string length: 255
Example:

"Mohammed Ali Alharbi"

national_id
string
required

Account holder National ID (starts with 1) or Iqama number (starts with 2). Must own the IBAN.

Pattern: ^[12][0-9]{9}$
Example:

"1012345678"

iban
string
required

Saudi IBAN of the account holder

Pattern: ^SA[0-9]{2}[0-9A-Z]{20}$
Example:

"SA0380000000608010167519"

currency
enum<string>
default:SAR

ISO 4217 currency code

Available options:
SAR
Example:

"SAR"

Response

Settlement account details.

A settlement account (seller bank account) that can receive payouts from an acceptance account

id
string<uuid>
required

Unique settlement account identifier

Example:

"4b0f6c1e-2d3a-4f5b-8c7d-9e0f1a2b3c4d"

status
required

Verified and able to receive payouts

Allowed value: "ACTIVE"
name
string
required

Account holder name as submitted, verified against the bank records

Example:

"Mohammed Ali Alharbi"

masked_national_id
string
required

Account holder National ID or Iqama number, masked

Example:

"1*******78"

masked_iban
string
required

Account IBAN, masked

Example:

"SA03****************7519"

currency
string
required

ISO 4217 currency code

Example:

"SAR"

created_at
string<date-time>
required

Timestamp when the account was registered

Example:

"2026-09-29T10:00:00.000Z"

updated_at
string<date-time>
required

Timestamp of the last update

Example:

"2026-09-29T10:00:00.000Z"