Skip to main content
POST
/
v1
/
compliance
/
kyb
Submit KYB
curl --request POST \
  --url https://api.example.com/v1/compliance/kyb \
  --header 'Content-Type: <content-type>' \
  --header 'X-API-Key: <x-api-key>' \
  --data '
{
  "businessName": "<string>",
  "registrationNumber": "<string>",
  "country": "<string>",
  "uboName": "<string>",
  "uboNationalId": "<string>",
  "documents": [
    {
      "documents[].type": "<string>",
      "documents[].url": "<string>"
    }
  ]
}
'
{
  "id": "<string>",
  "status": "<string>",
  "businessName": "<string>",
  "submittedAt": "<string>"
}
Submit a KYB application for your partner account. Thiqwave performs automated verification including document review, identity checks, and registry cross-referencing for Saudi and UAE entities. You will receive a status update via webhook once the review is complete.

Request

Headers

X-API-Key
string
required
Your Thiqwave API key.
Content-Type
string
required
Must be application/json.

Body

businessName
string
required
Your legal business name exactly as it appears on your commercial registration certificate.
registrationNumber
string
required
Your commercial registration number (CR number for Saudi Arabia, trade license number for UAE).
country
string
required
ISO 3166-1 alpha-2 country code for your registered jurisdiction. Accepted values: "SA" or "AE".
uboName
string
required
Full legal name of the Ultimate Beneficial Owner (UBO) — the individual who owns or controls 25% or more of the business.
uboNationalId
string
required
National ID number or passport number of the UBO.
documents
object[]
required
Array of document objects supporting your application. You must include at least one document of each required type.

Example

cURL
curl --request POST \
  --url https://api.thiqwave.com/v1/compliance/kyb \
  --header "X-API-Key: your-api-key" \
  --header "Content-Type: application/json" \
  --data '{
    "businessName": "Riyadh Logistics Co.",
    "registrationNumber": "1010123456",
    "country": "SA",
    "uboName": "Abdullah Al-Rashid",
    "uboNationalId": "1098765432",
    "documents": [
      {
        "type": "trade_license",
        "url": "https://storage.example.com/docs/trade-license.pdf"
      },
      {
        "type": "memorandum_of_association",
        "url": "https://storage.example.com/docs/moa.pdf"
      },
      {
        "type": "ubo_id",
        "url": "https://storage.example.com/docs/ubo-id.pdf"
      }
    ]
  }'

Response

id
string
Unique compliance check ID. Use this to query status via GET /v1/compliance/:id.
status
string
Initial status of the application. Always "pending_review" immediately after submission.
businessName
string
Legal business name as submitted.
submittedAt
string
ISO 8601 timestamp of submission.

What happens next

After you submit:
  1. Your application enters pending_review status and is queued for review.
  2. Thiqwave’s compliance team reviews your documents within 1–3 business days.
  3. If additional information is needed, your status changes to more_information_required and you receive a webhook with details of what to provide.
  4. Once approved, your account status moves to approved and you can start processing live transactions.
Subscribe to the compliance.status_updated webhook event to receive real-time notifications instead of polling GET /v1/compliance/:id.