NoRamp Docs
Search
K

KYC

ENDPOINTS
GET /apps/:app_id/kycs
POST /apps/:app_id/kycs
GET /apps/:app_id/kycs/:kyc_id
PATCH /apps/:app_id/kycs/:kyc_id
DELETE /apps/:app_id/kycs/:kyc_id
PATCH /apps/:app_id/kycs/:kyc_id/refresh-token

Create Seller KYC

If the identifier exists, then it will return the KYC found. We highly recommend calling this endpoint every time you want to display the KYC or Payout widget. Use the returned edit_token to render the widget.

Create Seller KYC

POST /apps/:app_id/kycs
Body Params
identifier required string minLength 2 maxLength 1024
Use a unique identifier for your seller, for example their wallet address.
email string
Seller email, if specified we'll autocomplete it during the KYC process.
cURL
Node
Python
1 curl -X POST https://api.noramp.io/apps/{app_id}/kycs \
2 -u API_KEY: \
3 -H 'Content-Type: application/json' \
4 -d '{"identifier":"unique_client_identifier"}'
------------------------------------------------------------------------------------------
JSON Response:
{
"data": {
"id": "kyc_1kFTIsxg9pKspqCsWxgqbm",
"identifier": "identifier_id",
"edit_token": "f52b20441d7e8e0e702f98f5f46c4d288185a6d95590102a07bffe368526e327",
"type": "app-user",
"account_exists": false,
"account_type": "express",
"country": null,
"email": null,
"business_status": "pending",
"details_submitted": false,
"charges_enabled": false,
"payouts_enabled": false,
"needs_documents": true,
"payout_schedule": null,
"required_documents": null,
"capabilities": null,
"bank_accounts": null,
"cards": null,
"app": {
"id": "app_6Up9GoHjp9tiObHtWW9b8s",
"name": "App Name",
"type": "individual",
"status": "active",
"use_explorer": true,
"created_at": "2022-08-03T17:13:36.275Z",
"updated_at": "2022-08-27T20:06:22.000Z",
"kyc_return_url": "https://myapp.com/settings/kyc",
"app_fee": 0
},
"created_at": "2022-08-27T21:29:50.113Z",
"updated_at": "2022-08-27T21:29:50.113Z"
}
}
---------------------------------------------------------------------------------------------------------------
Response Object:
id string
account_type custom express standard
account_exists boolean
app App
type app app-user
identifier string
edit_token string
country string
email string
business_status pending completed incomplete
details_submitted boolean
charges_enabled boolean
payouts_enabled boolean
needs_documents boolean
payout_schedule PayoutSchedule
required_documents array
capabilities Capabilities
bank_accounts array
cards array
created_at string
updated_at string
1 const data = {
2 "identifier": "unique_client_identifier"
3 };
4
5 const response = await fetch('https://api.noramp.io/apps/{app_id}/kycs', {
6 method: "POST",
7 headers: {
8 'content-type': 'application/json',
9 'authorization': 'Bearer {API_KEY}',
10 },
11 body: JSON.stringify(data)
12 })
13
14 console.log('response', await response.json());
-----------------------------------------------------------------------------------------------------------------------------
JSON Response:
{
"data": {
"id": "kyc_1kFTIsxg9pKspqCsWxgqbm",
"identifier": "identifier_id",
"edit_token": "f52b20441d7e8e0e702f98f5f46c4d288185a6d95590102a07bffe368526e327",
"type": "app-user",
"account_exists": false,
"account_type": "express",
"country": null,
"email": null,
"business_status": "pending",
"details_submitted": false,
"charges_enabled": false,
"payouts_enabled": false,
"needs_documents": true,
"payout_schedule": null,
"required_documents": null,
"capabilities": null,
"bank_accounts": null,
"cards": null,
"app": {
"id": "app_6Up9GoHjp9tiObHtWW9b8s",
"name": "App Name",
"type": "individual",
"status": "active",
"use_explorer": true,
"created_at": "2022-08-03T17:13:36.275Z",
"updated_at": "2022-08-27T20:06:22.000Z",
"kyc_return_url": "https://myapp.com/settings/kyc",
"app_fee": 0
},
"created_at": "2022-08-27T21:29:50.113Z",
"updated_at": "2022-08-27T21:29:50.113Z"
}
}
---------------------------------------------------------------------------------------------------------------
Response Object:
id string
account_type custom express standard
account_exists boolean
app App
type app app-user
identifier string
edit_token string
country string
email string
business_status pending completed incomplete
details_submitted boolean
charges_enabled boolean
payouts_enabled boolean
needs_documents boolean
payout_schedule PayoutSchedule
required_documents array
capabilities Capabilities
bank_accounts array
cards array
created_at string
updated_at string
1 import requests
2 import json
3
4 url = "https://api.noramp.io/apps/{app_id}/kycs"
5
6 headers = {
7 'Content-Type': 'application/json',
8 'Authorization': 'Bearer {API_KEY}',
9 }
10
11 payload = json.dumps({
12 "identifier": "unique_client_identifier"
13 })
14
15 response = requests.request("POST", url, headers=headers, data=payload)
16
17 print(response.text)
--------------------------------------------------------------------------------------------
JSON Response:
{
"data": {
"id": "kyc_1kFTIsxg9pKspqCsWxgqbm",
"identifier": "identifier_id",
"edit_token": "f52b20441d7e8e0e702f98f5f46c4d288185a6d95590102a07bffe368526e327",
"type": "app-user",
"account_exists": false,
"account_type": "express",
"country": null,
"email": null,
"business_status": "pending",
"details_submitted": false,
"charges_enabled": false,
"payouts_enabled": false,
"needs_documents": true,
"payout_schedule": null,
"required_documents": null,
"capabilities": null,
"bank_accounts": null,
"cards": null,
"app": {
"id": "app_6Up9GoHjp9tiObHtWW9b8s",
"name": "App Name",
"type": "individual",
"status": "active",
"use_explorer": true,
"created_at": "2022-08-03T17:13:36.275Z",
"updated_at": "2022-08-27T20:06:22.000Z",
"kyc_return_url": "https://myapp.com/settings/kyc",
"app_fee": 0
},
"created_at": "2022-08-27T21:29:50.113Z",
"updated_at": "2022-08-27T21:29:50.113Z"
}
}
---------------------------------------------------------------------------------------------------------------
Response Object:
id string
account_type custom express standard
account_exists boolean
app App
type app app-user
identifier string
edit_token string
country string
email string
business_status pending completed incomplete
details_submitted boolean
charges_enabled boolean
payouts_enabled boolean
needs_documents boolean
payout_schedule PayoutSchedule
required_documents array
capabilities Capabilities
bank_accounts array
cards array
created_at string
updated_at string

Get Seller KYC

GET /apps/:app_id/kycs/:kyc_id
cURL
Node
Python
1 curl -X GET https://api.noramp.io/apps/{app_id}/kycs/{kyc_id} \
2 -u API_KEY: \
3 -H 'Content-Type: application/json'
------------------------------------------------------------------------------------------------------
JSON Response:
{
"data": {
"id": "kyc_1kFTIsxg9pKspqCsWxgqbm",
"identifier": "identifier_id",
"edit_token": "f52b20441d7e8e0e702f98f5f46c4d288185a6d95590102a07bffe368526e327",
"type": "app-user",
"account_exists": false,
"account_type": "express",
"country": null,
"email": null,
"business_status": "pending",
"details_submitted": false,
"charges_enabled": false,
"payouts_enabled": false,
"needs_documents": true,
"payout_schedule": null,
"required_documents": null,
"capabilities": null,
"bank_accounts": null,
"cards": null,
"app": {
"id": "app_6Up9GoHjp9tiObHtWW9b8s",
"name": "App Name",
"type": "individual",
"status": "active",
"use_explorer": true,
"created_at": "2022-08-03T17:13:36.275Z",
"updated_at": "2022-08-27T20:06:22.000Z",
"kyc_return_url": "https://myapp.com/settings/kyc",
"app_fee": 0
},
"created_at": "2022-08-27T21:29:50.113Z",
"updated_at": "2022-08-27T21:29:50.113Z"
}
}
1 const response = await fetch('https://api.noramp.io/apps/{app_id}/kycs/{kyc_id}', {
2 method: "GET",
3 headers: {
4 'content-type': 'application/json',
5 'authorization': 'Bearer {API_KEY}',
6 },
7 })
8
9 console.log('response', await response.json());
------------------------------------------------------------------------------------------------
JSON Response:
{
"data": {
"id": "kyc_1kFTIsxg9pKspqCsWxgqbm",
"identifier": "identifier_id",
"edit_token": "f52b20441d7e8e0e702f98f5f46c4d288185a6d95590102a07bffe368526e327",
"type": "app-user",
"account_exists": false,
"account_type": "express",
"country": null,
"email": null,
"business_status": "pending",
"details_submitted": false,
"charges_enabled": false,
"payouts_enabled": false,
"needs_documents": true,
"payout_schedule": null,
"required_documents": null,
"capabilities": null,
"bank_accounts": null,
"cards": null,
"app": {
"id": "app_6Up9GoHjp9tiObHtWW9b8s",
"name": "App Name",
"type": "individual",
"status": "active",
"use_explorer": true,
"created_at": "2022-08-03T17:13:36.275Z",
"updated_at": "2022-08-27T20:06:22.000Z",
"kyc_return_url": "https://myapp.com/settings/kyc",
"app_fee": 0
},
"created_at": "2022-08-27T21:29:50.113Z",
"updated_at": "2022-08-27T21:29:50.113Z"
}
}
1 import requests
2 import json
3
4 url = "https://api.noramp.io/apps/{app_id}/kycs/{kyc_id}"
5
6 headers = {
7 'Content-Type': 'application/json',
8 'Authorization': 'Bearer {API_KEY}',
9 }
10
11
12 response = requests.request("GET", url, headers=headers, data=payload)
13
14 print(response.text)
----------------------------------------------------------------------------------------------------
JSON Response:
{
"data": {
"id": "kyc_1kFTIsxg9pKspqCsWxgqbm",
"identifier": "identifier_id",
"edit_token": "f52b20441d7e8e0e702f98f5f46c4d288185a6d95590102a07bffe368526e327",
"type": "app-user",
"account_exists": false,
"account_type": "express",
"country": null,
"email": null,
"business_status": "pending",
"details_submitted": false,
"charges_enabled": false,
"payouts_enabled": false,
"needs_documents": true,
"payout_schedule": null,
"required_documents": null,
"capabilities": null,
"bank_accounts": null,
"cards": null,
"app": {
"id": "app_6Up9GoHjp9tiObHtWW9b8s",
"name": "App Name",
"type": "individual",
"status": "active",
"use_explorer": true,
"created_at": "2022-08-03T17:13:36.275Z",
"updated_at": "2022-08-27T20:06:22.000Z",
"kyc_return_url": "https://myapp.com/settings/kyc",
"app_fee": 0
},
"created_at": "2022-08-27T21:29:50.113Z",
"updated_at": "2022-08-27T21:29:50.113Z"
}
}

Update Seller KYC

PATCH /apps/:app_id/kycs/:kyc_id
cURL
Node
Python
1 curl -X PATCH https://api.noramp.io/apps/{app_id}/kycs/{kyc_id} \
2 -u API_KEY: \
3 -H 'Content-Type: application/json' \
4 -d '{"active":false}'
-----------------------------------------------------------------------------------------------
JSON Response:
{
"data": {
"id": "kyc_1kFTIsxg9pKspqCsWxgqbm",
"identifier": "identifier_id",
"edit_token": "f52b20441d7e8e0e702f98f5f46c4d288185a6d95590102a07bffe368526e327",
"type": "app-user",
"account_exists": false,
"account_type": "express",
"country": null,
"email": null,
"business_status": "pending",
"details_submitted": false,
"charges_enabled": false,
"payouts_enabled": false,
"needs_documents": true,
"payout_schedule": null,
"required_documents": null,
"capabilities": null,
"bank_accounts": null,
"cards": null,
"app": {
"id": "app_6Up9GoHjp9tiObHtWW9b8s",
"name": "App Name",
"type": "individual",
"status": "active",
"use_explorer": true,
"created_at": "2022-08-03T17:13:36.275Z",
"updated_at": "2022-08-27T20:06:22.000Z",
"kyc_return_url": "https://myapp.com/settings/kyc",
"app_fee": 0
},
"created_at": "2022-08-27T21:29:50.113Z",
"updated_at": "2022-08-27T21:29:50.113Z"
}
}
1 const data = {
2 "active": false
3 };
4
5 const response = await fetch('https://api.noramp.io/apps/{app_id}/kycs/{kyc_id}', {
6 method: "PATCH",
7 headers: {
8 'content-type': 'application/json',
9 'authorization': 'Bearer {API_KEY}',
10 },
11 body: JSON.stringify(data)
12 })
13
14 console.log('response', await response.json());
--------------------------------------------------------------------------------------------------------------------------------------------
JSON Response:
{
"data": {
"id": "kyc_1kFTIsxg9pKspqCsWxgqbm",
"identifier": "identifier_id",
"edit_token": "f52b20441d7e8e0e702f98f5f46c4d288185a6d95590102a07bffe368526e327",
"type": "app-user",
"account_exists": false,
"account_type": "express",
"country": null,
"email": null,
"business_status": "pending",
"details_submitted": false,
"charges_enabled": false,
"payouts_enabled": false,
"needs_documents": true,
"payout_schedule": null,
"required_documents": null,
"capabilities": null,
"bank_accounts": null,
"cards": null,
"app": {
"id": "app_6Up9GoHjp9tiObHtWW9b8s",
"name": "App Name",
"type": "individual",
"status": "active",
"use_explorer": true,
"created_at": "2022-08-03T17:13:36.275Z",
"updated_at": "2022-08-27T20:06:22.000Z",
"kyc_return_url": "https://myapp.com/settings/kyc",
"app_fee": 0
},
"created_at": "2022-08-27T21:29:50.113Z",
"updated_at": "2022-08-27T21:29:50.113Z"
}
}
1 import requests
2 import json
3
4 url = "https://api.noramp.io/apps/{app_id}/kycs/{kyc_id}"
5
6 headers = {
7 'Content-Type': 'application/json',
8 'Authorization': 'Bearer {API_KEY}',
9 }
10
11 payload = json.dumps({
12 "active": false
13 })
14
15 response = requests.request("PATCH", url, headers=headers, data=payload)
16
17 print(response.text)
-----------------------------------------------------------------------------------------------------------------------------
JSON Response:
{
"data": {
"id": "kyc_1kFTIsxg9pKspqCsWxgqbm",
"identifier": "identifier_id",
"edit_token": "f52b20441d7e8e0e702f98f5f46c4d288185a6d95590102a07bffe368526e327",
"type": "app-user",
"account_exists": false,
"account_type": "express",
"country": null,
"email": null,
"business_status": "pending",
"details_submitted": false,
"charges_enabled": false,
"payouts_enabled": false,
"needs_documents": true,
"payout_schedule": null,
"required_documents": null,
"capabilities": null,
"bank_accounts": null,
"cards": null,
"app": {
"id": "app_6Up9GoHjp9tiObHtWW9b8s",
"name": "App Name",
"type": "individual",
"status": "active",
"use_explorer": true,
"created_at": "2022-08-03T17:13:36.275Z",
"updated_at": "2022-08-27T20:06:22.000Z",
"kyc_return_url": "https://myapp.com/settings/kyc",
"app_fee": 0
},
"created_at": "2022-08-27T21:29:50.113Z",
"updated_at": "2022-08-27T21:29:50.113Z"
}
}

Delete Seller KYC

DELETE /apps/:app_id/kycs/:kyc_id
cURL
Node
Python
1 curl -X DELETE https://api.noramp.io/apps/{app_id}/kycs/{kyc_id} \
2 -u API_KEY: \
3 -H 'Content-Type: application/json'
1 const response = await fetch('https://api.noramp.io/apps/{app_id}/kycs/{kyc_id}', {
2 method: "DELETE",
3 headers: {
4 'content-type': 'application/json',
5 'authorization': 'Bearer {API_KEY}',
6 },
7 })
8
9 console.log('response', await response.json());
1 import requests
2 import json
3
4 url = "https://api.noramp.io/apps/{app_id}/kycs/{kyc_id}"
5
6 headers = {
7 'Content-Type': 'application/json',
8 'Authorization': 'Bearer {API_KEY}',
9 }
10
11
12 response = requests.request("DELETE", url, headers=headers, data=payload)
13
14 print(response.text)

Refresh KYC EDIT TOKEN

PATCH /apps/:app_id/kycs/:kyc_id/refresh-token
cURL
Node
Python
1 curl -X PATCH https://api.noramp.io/apps/{app_id}/kycs/{kyc_id}/refresh-token \
2 -u API_KEY: \
3 -H 'Content-Type: application/json'
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
JSON Response:
{
"data": {
"id": "kyc_1kFTIsxg9pKspqCsWxgqbm",
"identifier": "identifier_id",
"edit_token": "f52b20441d7e8e0e702f98f5f46c4d288185a6d95590102a07bffe368526e327",
"type": "app-user",
"account_exists": false,
"account_type": "express",
"country": null,
"email": null,
"business_status": "pending",
"details_submitted": false,
"charges_enabled": false,
"payouts_enabled": false,
"needs_documents": true,
"payout_schedule": null,
"required_documents": null,
"capabilities": null,
"bank_accounts": null,
"cards": null,
"app": {
"id": "app_6Up9GoHjp9tiObHtWW9b8s",
"name": "App Name",
"type": "individual",
"status": "active",
"use_explorer": true,
"created_at": "2022-08-03T17:13:36.275Z",
"updated_at": "2022-08-27T20:06:22.000Z",
"kyc_return_url": "https://myapp.com/settings/kyc",
"app_fee": 0
},
"created_at": "2022-08-27T21:29:50.113Z",
"updated_at": "2022-08-27T21:29:50.113Z"
}
}
1 const response = await fetch('https://api.noramp.io/apps/{app_id}/kycs/{kyc_id}/refresh-token', {
2 method: "PATCH",
3 headers: {
4 'content-type': 'application/json',
5 'authorization': 'Bearer {API_KEY}',
6 },
7 })
8
9 console.log('response', await response.json());
---------------------------------------------------------------------------------------------------------------------------------------
JSON Response:
{
"data": {
"id": "kyc_1kFTIsxg9pKspqCsWxgqbm",
"identifier": "identifier_id",
"edit_token": "f52b20441d7e8e0e702f98f5f46c4d288185a6d95590102a07bffe368526e327",
"type": "app-user",
"account_exists": false,
"account_type": "express",
"country": null,
"email": null,
"business_status": "pending",
"details_submitted": false,
"charges_enabled": false,
"payouts_enabled": false,
"needs_documents": true,
"payout_schedule": null,
"required_documents": null,
"capabilities": null,
"bank_accounts": null,
"cards": null,
"app": {
"id": "app_6Up9GoHjp9tiObHtWW9b8s",
"name": "App Name",
"type": "individual",
"status": "active",
"use_explorer": true,
"created_at": "2022-08-03T17:13:36.275Z",
"updated_at": "2022-08-27T20:06:22.000Z",
"kyc_return_url": "https://myapp.com/settings/kyc",
"app_fee": 0
},
"created_at": "2022-08-27T21:29:50.113Z",
"updated_at": "2022-08-27T21:29:50.113Z"
}
}
1 import requests
2 import json
3
4 url = "https://api.noramp.io/apps/{app_id}/kycs/{kyc_id}/refresh-token"
5
6 headers = {
7 'Content-Type': 'application/json',
8 'Authorization': 'Bearer {API_KEY}',
9 }
10
11
12 response = requests.request("PATCH", url, headers=headers, data=payload)
13
14 print(response.text)
------------------------------------------------------------------------------------------------------------------------
JSON Response:
{
"data": {
"id": "kyc_1kFTIsxg9pKspqCsWxgqbm",
"identifier": "identifier_id",
"edit_token": "f52b20441d7e8e0e702f98f5f46c4d288185a6d95590102a07bffe368526e327",
"type": "app-user",
"account_exists": false,
"account_type": "express",
"country": null,
"email": null,
"business_status": "pending",
"details_submitted": false,
"charges_enabled": false,
"payouts_enabled": false,
"needs_documents": true,
"payout_schedule": null,
"required_documents": null,
"capabilities": null,
"bank_accounts": null,
"cards": null,
"app": {
"id": "app_6Up9GoHjp9tiObHtWW9b8s",
"name": "App Name",
"type": "individual",
"status": "active",
"use_explorer": true,
"created_at": "2022-08-03T17:13:36.275Z",
"updated_at": "2022-08-27T20:06:22.000Z",
"kyc_return_url": "https://myapp.com/settings/kyc",
"app_fee": 0
},
"created_at": "2022-08-27T21:29:50.113Z",
"updated_at": "2022-08-27T21:29:50.113Z"
}
}