Download OpenAPI specification:Download
Swarm’s Onboarding API is a simple RESTful API working with JSON payloads. It expects parameters to be passed in valid JSON (except when stated otherwise) with the Content-Type: application/json
header being set.
To initiate a new onboarding request for your user, you will need to pass the user’s wallet address (for issuing the NFT permission token) and the source key provided to you to the Standard Onboarding endpoint. This will return an access token to your application which you can use to launch Onboarding SDK, allowing users to submit their information and documents.
Collect your user’s Source of Funds information via a form, and submit to the Source of Funds API endpoint. If all the information is correct it will automatically be sent for verification and the endpoint will respond with a successful submission status.
Once a user has submitted their documentation for KYC verification or Source of Funds, you can check the status of their application using the same Standard Onboarding endpoint as for initiating the onboarding.
Should the KYC documents provided by the user be incomplete or not meet our regulatory requirements, the user will receive an email with a link to resubmit the missing or incomplete information. Your app will receive an access token to allow the user to continue their KYC session.
For the Source of Funds verification, if the provided information is incomplete, the endpoint will return a status of in_progress_user
and the user will receive an email. In this case, present the user with the Source of Funds form in your application once again, such that they can resubmit their information.
address required | string address of the user being onboarded |
source_key required | any source key unique to the external party and assigned by swarm |
Success
Bad Request
Internal Server Error
Swarm Trade Backend
{- "data": {
- "type": "external_onboarding_status",
- "attributes": {
- "status": "in_progress_user",
- "kyc_passed": true,
- "kyc_sumsub_access_token": "string",
- "sof_passed": true
}
}
}
data required | object (SoFExternalVerificationForm) |
Created
Unauthorized
Forbidden
Conflict
Internal Server Error
Swarm Trade Backend
{- "data": {
- "type": "sof_external_verification_form",
- "attributes": {
- "address": "string",
- "terms_accepted": true,
- "answers_sof": {
- "amount": 150000,
- "source_of_income": "Salary",
- "show_other_source": true,
- "other_source": "Heritage",
- "invest_knowledge": "Poor/none",
- "annual_income": "Under $200,000",
- "net_worth": "Under $500,000",
}, - "answers_suitability": {
- "knowledge_stocks": "Yes",
- "knowledge_bonds": "Yes",
- "school_qualification": "Economic secondary",
- "held_positions": "Yes",
- "risk_comfortable": "Yes",
- "investment_goal": "Provision for old age",
- "support_issues": "Yes"
}
}
}
}
{- "errors": [
- {
- "title": "Unauthorized",
- "detail": "Session token is invalid. It either has expired or is corrupted. Please log in and obtain a new one.",
- "status": 401,
- "code": "session_token_not_found"
}
]
}