PaymentFiat Account

List opening options

GET
/openapi/v1/fiat-accounts/opening-options

List the available opening routes and fees for a customer. currency and bankCountry are both optional. Without both, all options of the customer are returned. partnerBanks are candidate banks only; the account detail shows the bank actually used. Applies to LEGEND only. GLDB does not support it and returns openapi.channel.unsupported.

Authorization

bearerAuth
headerAuthorizationBearer <token>

The access_token obtained from POST /oauth2/token. Header format: Authorization: Bearer {accessToken}.

Query Parameters

providerCustomerId*string

Customer identifier on the provider side, supplied by the caller. For Legend, it is the user_short_id.

currency?string

ISO 4217 currency code. Length 3. Optional. Without it, options are not filtered by currency.

bankCountry?string

ISO 3166-1 alpha-2 country code. Length 2. Optional. Without it, options are not filtered by country.

Header Parameters

X-Channel-Provider*string

Provider identifier, such as GLDB

Response Body

Returns the list of opening options.

application/json
  1. response
code?integer

Business status code

message?string
traceId?string

Request trace ID. Provide it when you contact technical support

data?
Example Request
curl -X GET 'https://api.test.stabofx.com/openapi/v1/fiat-accounts/opening-options?providerCustomerId=usr_user123' \  -H 'X-Channel-Provider: GLDB'
Example Response
{  "code": 200,  "message": "OK",  "traceId": "t_xxxxxxxx",  "data": {    "options": [      {        "openingOptionId": "brt_abcdefghijklmnopqrstuvwxyz",        "currency": "SGD",        "bankCountry": "SG",        "partnerBanks": [          {            "bankCode": "DBS",            "bankName": "DBS Bank"          },          {            "bankCode": "SCB",            "bankName": "Standard Chartered Bank"          }        ],        "transferMethods": {          "deposit": [            "fast"          ],          "payout": [            "fast",            "swift"          ]        },        "feeSchedule": {          "accountOpenFee": "10.00",          "monthlyFee": "5.00",          "depositFee": {            "rate": "0.001",            "flat": "0.50",            "min": "1.00",            "max": "50.00"          },          "payoutFee": {            "rate": "0.001",            "flat": "0.50",            "min": "1.00"          }        },        "nameMatchRequired": true      }    ]  }}

Create a fiat account POST

Create a fiat account. The request format depends on the provider: LEGEND uses `application/json`, and GLDB uses `multipart/form-data`. **LEGEND** - `Idempotency-Key` is required. - On synchronous success, the standard account is returned directly, and the status can be `ACTIVE`. If `PENDING` is returned, query the account detail. - If `fiat.account.channel.detail_unavailable` is returned, query with the account ID in the message. Do not open the account again. - A request body with undefined fields is rejected. **GLDB** - Do not send `Idempotency-Key`. If you send it, `fiat.account.idempotency_key.unsupported` is returned. - `currency` accepts only one currency. Multi-currency applications are not supported. - Account opening requires manual review. Create returns `PENDING`, and `accountId` is the application number. Use it to poll the account detail. After approval, the status changes to `ACTIVE`. - No Webhook is sent for status changes. If you send a field that belongs to the other provider, `fiat.account.field.unsupported` is returned. If a field that this provider requires is missing, `fiat.account.field.required` is returned.

Retrieve an account GET

Retrieve the account detail by account ID. **GLDB** - `accountId` is the application number returned by create. - Do not send `providerCustomerId`. - The status is `PENDING` during review and `ACTIVE` after approval. If the account is later deactivated or closed, the status is `INACTIVE` or `CLOSED`. If the review is rejected or the application is cancelled, the status is `FAILED`. - After the account is opened, `accountNumber`, `bankName`, `bankAddress`, `swiftBic`, `iban`, `bankCountry`, and `accountHolderName` are returned. `openedAt` is returned only when the status is `ACTIVE`. - No Webhook is sent for status changes. Poll this endpoint. - If the account does not exist, `fiat.account.not_found` is returned. Only single-currency accounts are supported. A query for a multi-currency account returns `fiat.account.multi_currency_unsupported`.