POST
/
api
/
platform
/
kyb
/
submit-kyb
/
{user_id}
Submit KYB data for a user.
curl --request POST \
  --url https://api.sandbox.paywint.com/api/platform/kyb/submit-kyb/{user_id} \
  --header 'Content-Type: application/json' \
  --header 'X-Platform-ID: <x-platform-id>' \
  --header 'X-Signature: <x-signature>' \
  --data '{
  "business_name": "<string>",
  "dba": "<string>",
  "business_phone": "<string>",
  "business_email": "<string>",
  "address": "<string>",
  "city": "<string>",
  "state": "<string>",
  "zip": "<string>",
  "country": "<string>",
  "business_description": "<string>",
  "website": "<string>",
  "mcc": "<string>",
  "entity_type": "<string>",
  "formation_date": "<string>",
  "ein": "<string>",
  "document_1": "<string>",
  "document_2": "<string>",
  "document_3": "<string>",
  "document_4": "<string>",
  "document_5": "<string>"
}'
{
  "success": true,
  "message": "Operation completed.",
  "data": {
    "user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "business_name": "<string>",
    "dba": "<string>",
    "business_phone": "<string>",
    "business_email": "<string>",
    "address": "<string>",
    "city": "<string>",
    "state": "<string>",
    "zip": "<string>",
    "country": "<string>",
    "business_description": "<string>",
    "business_id_type": "<string>",
    "website": "<string>",
    "mcc": "<string>",
    "formation_date": "<string>",
    "entity_type": "<string>",
    "status": "<string>",
    "document_1": "<string>",
    "document_2": "<string>",
    "document_3": "<string>",
    "document_4": "<string>",
    "document_5": "<string>"
  },
  "queryGeneratedTime": 1718006400
}

Headers

X-Platform-ID
string<uuid>
required

Unique platform identifier (UUID). You receive this during onboarding. Must be sent with every API request.

X-Signature
string
required

HMAC-SHA256 request signature for authentication. Use your platform secret key to compute it as: METHOD + PATH + QUERY + BODY_HASH.

Path Parameters

user_id
string<uuid>
required

Unique identifier (UUID) of the user for whom KYB is being submitted.

Body

application/json
business_name
string
required

The legally registered name of the business.

Maximum length: 100
business_phone
string
required

Primary phone number used for business contact.

Maximum length: 15
address
string
required

Street address of the business headquarters or main location.

Maximum length: 300
city
string
required

City where the business is physically located.

Maximum length: 50
state
string
required

State, province, or region associated with the business address.

Maximum length: 50
zip
string
required

Postal or ZIP code for the business location.

Maximum length: 10
country
string
required

Country where the business is registered. Use ISO-3166 alpha-2 format (e.g., US, CA).

Maximum length: 50
mcc
string
required

Four-digit Merchant Category Code reflecting the primary line of business.View Merchant Category Code (MCC) List

Maximum length: 20
entity_type
string
required

Legal structure of the business (e.g., 'ent1', 'ent2'). View Entity Type Code List.

Maximum length: 50
formation_date
string
required

Date the business entity was officially formed (format: YYYY-MM-DD).

Maximum length: 20
ein
string
required

Employer Identification Number (EIN) or applicable tax identification number.

Maximum length: 50
document_1
string | null
required

First supporting document for KYB verification (e.g., business license or proof of address). Must be a valid, publicly accessible URL (string) pointing to the document image.

document_2
string | null
required

Second supporting document. Must be a valid, publicly accessible URL (string).

dba
string | null

"Doing Business As" name if it differs from the legal name

Maximum length: 100
business_email
string | null

Primary email address used for business communication.

Maximum length: 150
business_description
string | null

Brief description of the business, including products or services offered.

Maximum length: 500
website
string | null

Public-facing business website. Must be a valid URL.

Maximum length: 100
document_3
string | null

Third supporting document. Optional. Must be a valid, publicly accessible URL (string).

document_4
string | null

Fourth supporting document. Optional. Must be a valid, publicly accessible URL (string).

document_5
string | null

Fourth supporting document. Optional. Must be a valid, publicly accessible URL (string).

Response

Successful Response

success
boolean
default:true

Indicates whether the request was processed successfully.

Example:

true

message
string
default:Success

A short, human-readable message describing the result of the request.

Example:

"Operation completed."

data
object | null

The main response payload, if applicable

queryGeneratedTime
number | null
default:1756883312.350897

The Unix timestamp (in seconds) indicating when the response was generated.

Example:

1718006400