Get KYC requirements
Returns the countries, options, and file requirements to submit the customer's entity KYC (KYB) to the provider.
labelfollows the request language and is for display only. Submit thecode.- Without
customerUid,optionshas 8 keys. options["documents[].category"]lists reference values for the file category. It is not a complete list. Other values go to the provider unchanged, and the provider decides.- With
customerUid, a customer that has a profile at the provider also getsquestionnaire.purposes. For a new customer, the result has noquestionnaire.purposes. - On the first submission of a new customer,
questionnaire.purposescan use the reference valuesinvest_tradeandcrypto_fiat. This is not a complete list. The provider checks the values. - The first call takes about 10 seconds. Later calls hit the cache and are faster. Set the client timeout to at least 60 seconds.
For the full flow, see Provider KYC and account opening.
bearerAuthAuthorizationBearer <token>The access_token obtained from POST /oauth2/token. Header format: Authorization: Bearer {accessToken}.
customerUid?stringUID that the caller defines for the customer. If the customer has a profile at the provider, the result also has questionnaire.purposes. For a new customer, it does not.
X-Channel-Provider*stringProvider identifier. Provider KYC supports only LEGEND now.
The form dictionary.
application/json- response
code?integerBusiness status code
message?stringtraceId?stringRequest trace ID. Provide it when you contact technical support
data?Form dictionary to submit KYB.
curl -X GET 'https://api.test.stabofx.com/openapi/v1/customers/provider-kyc/requirements' \ -H 'X-Channel-Provider: LEGEND'{ "code": 200, "message": "OK", "traceId": "trace-uuid-string", "data": { "countries": [ { "code": "SG", "label": "Singapore" }, { "code": "HK", "label": "Hong Kong" } ], "options": { "questionnaire.currency": [ { "code": "USD", "label": "USD" } ], "documents[].category": [ { "code": "utility_bill", "label": "Utility bill" } ], "questionnaire.purposes": [ { "code": "invest_trade", "label": "<label>" }, { "code": "crypto_fiat", "label": "<label>" } ] }, "documents": [ { "type": "INCORPORATION", "owner": "COMPANY", "required": true, "categoryRequired": false }, { "type": "BUSINESS_ADDRESS", "owner": "COMPANY", "required": true, "categoryRequired": true }, { "type": "AML_POLICY", "owner": "COMPANY", "required": false, "requiredWhen": "business.regulatedFinancialInstitution=true", "categoryRequired": false } ], "fileConstraints": { "maxBytes": 2097152, "allowedContentTypes": [ "application/pdf", "image/jpeg", "image/png" ] } }}Query estimated transfer fee POST
Calculate the estimated fee based on the transfer type and amount.
Get KYC status GET
Gets the customer's KYC status at the provider. It is not the Stabo platform KYC status. - `providerCustomerId` can be empty while `SUBMITTED`. It is returned after `APPROVED`. You need it to open an account. - `failureReason` is returned only when `REJECTED`.