Skip to main content
POST
/
partner
/
v1
/
kyc
/
applications
Submit KYC application data
curl --request POST \
  --url https://api.machines.cash/partner/v1/kyc/applications \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "firstName": "John",
  "lastName": "Smith",
  "birthDate": "1990-01-01",
  "nationalId": "123456789",
  "countryOfIssue": "US",
  "email": "[email protected]",
  "address": {
    "line1": "123 Main St",
    "line2": "Unit 4",
    "city": "New York",
    "region": "NY",
    "postalCode": "10001",
    "countryCode": "US"
  },
  "occupation": "49-3023",
  "annualSalary": "<40k",
  "accountPurpose": "everyday spend",
  "expectedMonthlyVolume": "under $1k"
}
'
{
  "ok": true,
  "data": {
    "status": "not_submitted",
    "isTermsOfServiceAccepted": true,
    "reason": "<string>",
    "completionLink": "<string>",
    "externalVerificationLink": "<string>",
    "isActive": true
  },
  "summary": "<string>",
  "errors": [
    {
      "code": "invalid_request",
      "message": "missing required field",
      "field": "<string>"
    }
  ],
  "next": {
    "pollAfterMs": 1,
    "suggestedTool": "<string>",
    "suggestedArgs": {}
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Open-Responses
enum<string>

Return Open Responses-compatible output when set (replaces the default response envelope).

Available options:
1,
true
X-Open-Responses-Call-Id
string

Tool call id used for function_call_output items when Open Responses mode is enabled.

Minimum string length: 1

Body

application/json
firstName
string
required
Maximum string length: 50
lastName
string
required
Maximum string length: 50
birthDate
string
required

YYYY-MM-DD

Example:

"1990-01-01T00:00:00.000Z"

nationalId
string
required
countryOfIssue
string
required

ISO-3166-1 alpha-2 country code (e.g., US). Case-insensitive.

Required string length: 2
Example:

"US"

email
string<email>
required
address
object
required
occupation
string
required

SOC occupation code (e.g., 49-3023). See GET /kyc/values.

Example:

"49-3023"

annualSalary
enum<string>
required
Available options:
<40k,
50k–99k,
100k–149k,
150k+
Example:

"<40k"

accountPurpose
enum<string>
required
Available options:
everyday spend,
subscriptions,
business expenses,
testing,
other
Example:

"everyday spend"

expectedMonthlyVolume
enum<string>
required
Available options:
under $1k,
$1k–$5k,
$5k–$20k,
$20k+
Example:

"under $1k"

phoneCountryCode
string

Country calling code digits only (e.g., 1).

Maximum string length: 3
Example:

"1"

phoneNumber
string

Phone number digits only (include area code).

Maximum string length: 15
Example:

"4155551234"

Response

KYC application submitted

ok
boolean
required
data
object
required
summary
string
required
errors
object[]
required
next
object