curl --request PUT \
--url https://api.example.com/api/v1/user/kyc \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"firstName": "<string>",
"lastName": "<string>",
"birthDate": "2023-12-25",
"isBusiness": true,
"entityName": "<string>",
"phone": "<string>",
"website": "<string>",
"address": {
"streetAddress": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>"
},
"avatarUrl": "<string>",
"contactInfo": "<string>",
"inviteCode": "<string>"
}
'import requests
url = "https://api.example.com/api/v1/user/kyc"
payload = {
"firstName": "<string>",
"lastName": "<string>",
"birthDate": "2023-12-25",
"isBusiness": True,
"entityName": "<string>",
"phone": "<string>",
"website": "<string>",
"address": {
"streetAddress": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>"
},
"avatarUrl": "<string>",
"contactInfo": "<string>",
"inviteCode": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
firstName: '<string>',
lastName: '<string>',
birthDate: '2023-12-25',
isBusiness: true,
entityName: '<string>',
phone: '<string>',
website: '<string>',
address: {
streetAddress: '<string>',
addressLine2: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>'
},
avatarUrl: '<string>',
contactInfo: '<string>',
inviteCode: '<string>'
})
};
fetch('https://api.example.com/api/v1/user/kyc', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"phone": "<string>",
"avatarUrl": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"contactInfo": "<string>",
"firstName": "<string>",
"middleName": "<string>",
"lastName": "<string>",
"entityName": "<string>",
"birthDate": "2023-12-25",
"birthCountry": "<string>",
"country": "<string>",
"jurisdiction": "<string>",
"address": {
"streetAddress": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "AF",
"zip": "<string>"
},
"fiatRails": [],
"isBusiness": true,
"plan": "free",
"subscription": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "<string>",
"planId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"endedAt": "2023-11-07T05:31:56Z",
"plan": "<string>",
"period": 123,
"cancelAtPeriodEnd": false,
"amountDue": "0",
"pendingChange": {
"plan": "base",
"period": 123,
"amount": "<string>",
"effectiveAt": "2023-11-07T05:31:56Z"
},
"spendPermissionActive": true,
"permission": {
"permissionHash": "<string>",
"account": "<string>",
"spender": "<string>",
"token": "<string>",
"allowance": "<string>",
"period": 123,
"start": 123,
"end": 123,
"salt": "<string>",
"status": "<string>"
}
},
"referrer": {
"name": "<string>",
"email": "<string>",
"avatarUrl": "<string>"
},
"affiliatedTo": {
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"email": "<string>",
"fullAccess": true,
"avatarUrl": "<string>",
"role": "member"
},
"pushNotificationAllowed": true,
"myIp": "<string>",
"bankRequested": {
"rails": {
"us": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"swift": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"eu": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"uae": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"br": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"mx": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"co": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"ar": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"uk": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
}
}
},
"tosTs": "2023-11-07T05:31:56Z",
"appId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Create or get current user
Create or update user profile data for KYC.
curl --request PUT \
--url https://api.example.com/api/v1/user/kyc \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"firstName": "<string>",
"lastName": "<string>",
"birthDate": "2023-12-25",
"isBusiness": true,
"entityName": "<string>",
"phone": "<string>",
"website": "<string>",
"address": {
"streetAddress": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>"
},
"avatarUrl": "<string>",
"contactInfo": "<string>",
"inviteCode": "<string>"
}
'import requests
url = "https://api.example.com/api/v1/user/kyc"
payload = {
"firstName": "<string>",
"lastName": "<string>",
"birthDate": "2023-12-25",
"isBusiness": True,
"entityName": "<string>",
"phone": "<string>",
"website": "<string>",
"address": {
"streetAddress": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>"
},
"avatarUrl": "<string>",
"contactInfo": "<string>",
"inviteCode": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
firstName: '<string>',
lastName: '<string>',
birthDate: '2023-12-25',
isBusiness: true,
entityName: '<string>',
phone: '<string>',
website: '<string>',
address: {
streetAddress: '<string>',
addressLine2: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>'
},
avatarUrl: '<string>',
contactInfo: '<string>',
inviteCode: '<string>'
})
};
fetch('https://api.example.com/api/v1/user/kyc', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"phone": "<string>",
"avatarUrl": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"contactInfo": "<string>",
"firstName": "<string>",
"middleName": "<string>",
"lastName": "<string>",
"entityName": "<string>",
"birthDate": "2023-12-25",
"birthCountry": "<string>",
"country": "<string>",
"jurisdiction": "<string>",
"address": {
"streetAddress": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "AF",
"zip": "<string>"
},
"fiatRails": [],
"isBusiness": true,
"plan": "free",
"subscription": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"status": "<string>",
"planId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"endedAt": "2023-11-07T05:31:56Z",
"plan": "<string>",
"period": 123,
"cancelAtPeriodEnd": false,
"amountDue": "0",
"pendingChange": {
"plan": "base",
"period": 123,
"amount": "<string>",
"effectiveAt": "2023-11-07T05:31:56Z"
},
"spendPermissionActive": true,
"permission": {
"permissionHash": "<string>",
"account": "<string>",
"spender": "<string>",
"token": "<string>",
"allowance": "<string>",
"period": 123,
"start": 123,
"end": 123,
"salt": "<string>",
"status": "<string>"
}
},
"referrer": {
"name": "<string>",
"email": "<string>",
"avatarUrl": "<string>"
},
"affiliatedTo": {
"userId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"email": "<string>",
"fullAccess": true,
"avatarUrl": "<string>",
"role": "member"
},
"pushNotificationAllowed": true,
"myIp": "<string>",
"bankRequested": {
"rails": {
"us": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"swift": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"eu": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"uae": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"br": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"mx": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"co": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"ar": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
},
"uk": {
"pooled": false,
"named": false,
"requestedAt": "2023-11-07T05:31:56Z"
}
}
},
"tosTs": "2023-11-07T05:31:56Z",
"appId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Body
Request schema for creating a user.
1 - 1001 - 100ISO 3166-1 alpha-2 country codes.
AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BQ, BA, BW, BV, BR, IO, BN, BG, BF, BI, CV, KH, CM, CA, KY, CF, TD, CL, CN, CX, CC, CO, KM, CG, CD, CK, CR, CI, HR, CU, CW, CY, CZ, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, SZ, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, VA, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, KP, KR, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, MK, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, RE, RO, RU, RW, BL, SH, KN, LC, MF, PM, VC, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, ZA, GS, SS, ES, LK, SD, SR, SJ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UG, UA, AE, GB, US, UM, UY, UZ, VU, VE, VN, VG, VI, WF, EH, YE, ZM, ZW ISO 3166-1 alpha-2 country codes.
AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BQ, BA, BW, BV, BR, IO, BN, BG, BF, BI, CV, KH, CM, CA, KY, CF, TD, CL, CN, CX, CC, CO, KM, CG, CD, CK, CR, CI, HR, CU, CW, CY, CZ, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, SZ, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, VA, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, KP, KR, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, MK, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, RE, RO, RU, RW, BL, SH, KN, LC, MF, PM, VC, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, ZA, GS, SS, ES, LK, SD, SR, SJ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UG, UA, AE, GB, US, UM, UY, UZ, VU, VE, VN, VG, VI, WF, EH, YE, ZM, ZW Birth date in ISO format
Country of birth in ISO 3166-1 alpha-2 format
AF, AX, AL, DZ, AS, AD, AO, AI, AQ, AG, AR, AM, AW, AU, AT, AZ, BS, BH, BD, BB, BY, BE, BZ, BJ, BM, BT, BO, BQ, BA, BW, BV, BR, IO, BN, BG, BF, BI, CV, KH, CM, CA, KY, CF, TD, CL, CN, CX, CC, CO, KM, CG, CD, CK, CR, CI, HR, CU, CW, CY, CZ, DK, DJ, DM, DO, EC, EG, SV, GQ, ER, EE, SZ, ET, FK, FO, FJ, FI, FR, GF, PF, TF, GA, GM, GE, DE, GH, GI, GR, GL, GD, GP, GU, GT, GG, GN, GW, GY, HT, HM, VA, HN, HK, HU, IS, IN, ID, IR, IQ, IE, IM, IL, IT, JM, JP, JE, JO, KZ, KE, KI, KP, KR, KW, KG, LA, LV, LB, LS, LR, LY, LI, LT, LU, MO, MG, MW, MY, MV, ML, MT, MH, MQ, MR, MU, YT, MX, FM, MD, MC, MN, ME, MS, MA, MZ, MM, NA, NR, NP, NL, NC, NZ, NI, NE, NG, NU, NF, MK, MP, NO, OM, PK, PW, PS, PA, PG, PY, PE, PH, PN, PL, PT, PR, QA, RE, RO, RU, RW, BL, SH, KN, LC, MF, PM, VC, WS, SM, ST, SA, SN, RS, SC, SL, SG, SX, SK, SI, SB, SO, ZA, GS, SS, ES, LK, SD, SR, SJ, SE, CH, SY, TW, TJ, TZ, TH, TL, TG, TK, TO, TT, TN, TR, TM, TC, TV, UG, UA, AE, GB, US, UM, UY, UZ, VU, VE, VN, VG, VI, WF, EH, YE, ZM, ZW Address schema for user.
Canonical field names: street_address, address_line_2, city, state, country, zip. Accepts legacy Align/IBAN field names (street_line_1, street_line_2, postal_code) for backward compatibility with existing JSONB data.
Show child attributes
Show child attributes
Invite code from referrer
Response
Successful Response
Schema for user response.
Address schema for user.
Canonical field names: street_address, address_line_2, city, state, country, zip. Accepts legacy Align/IBAN field names (street_line_1, street_line_2, postal_code) for backward compatibility with existing JSONB data.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Current subscription summary embedded into GET /user.
Show child attributes
Show child attributes
Lightweight info about the user who referred this user.
Show child attributes
Show child attributes
The affiliate behind this account, as seen from GET /user.
role is the affiliate's team seat on this account, or None when the
affiliate merely referred it and holds no seat — that distinction is what
separates a partner-managed company from a plain referral. full_access
mirrors the same seat: only an owner shares ownership of the account.
Show child attributes
Show child attributes
User bank-rail interest settings.
Show child attributes
Show child attributes
Was this page helpful?