/kyc
Advanced KYC system endpoint to kick off the KYC verification process for a registered user_handle.
Advanced KYC ONLY
Only use this endpoint if you are utilizing the new Advanced KYC. Otherwise, use /request_kyc.
After creating a user_handle with /register, begin the KYC verification process with this endpoint. Check results with /get_verifications or /get_verifications/<verification_uuid>. This endpoint supports both ECDSA and JWT, but we recommend using JWT. This endpoint is not SDK-supported.
Note that if you call /kyc and you get a status other than passed or failed (like documents_required
) the verification will expire after 30 days if it's not updated. Verification status will transition to failed
and this will count against the max (2 per entity) number of attempts.
CONSOLE KYC FLOW REQUIRED
You must have set up a KYC Flow in the Sila console to hit this endpoint. See this section of our implementation guide.
Request
Authorization / Authentication
Apps using Access Token Authorization
Use a valid access token in an Authorization: Bearer request header.
See Auth Token Overview for more details.
NOTE: Though we recommend using JWT, you can use this endpoint with ECDSA.
POST /0.2/kyc HTTP/1.1
sandbox.silamoney.com
Content-Type: application/json
Authorization: Bearer [GENERATED JWT TOKEN HERE]
{
"header": {
"created": 1234567890, //required
"app_handle": "<your app_handle>", //required
"user_handle":"user_handle", //required
"version": "0.2",
"reference": "<your unique id>"
},
"flow": <uuid of KYC flow>, //required
}
***
HTTP/1.1 202 OK
{
"success": True,
"reference": reference_id,
"message": "KYC successfully requested using flow <uuid>",
"verification_ids": [{
"entity": <user_handle>,
"verification_id": <verification_uuid>
}],
"flow_requested": <uuid of KYCFlow>,
"checks_requested": [
<list of strings, for example address, birthdate, etc>
]
}
Request Attributes
Key | Type | Description |
---|---|---|
header | JSON object | Required. Required keys: created - Unix epoch timestamp in seconds. Must not be future-dated and must not be dated more than 5 minutes in the past.app_handle - your app handleuser_handle - the user_handle to go through KYCOptional keys: reference : Can be any value for your own reference. If not provided, one will be assigned.version : Cannot be null if key is present. Valid values: 0.2, v0.2, V0.2 |
flow | string | Required. UUID of the desired KYC Flow to use. Can be found in the KYC Flow details in the Console. |
Responses
Status Code | Success Attribute | Description | error_code |
---|---|---|---|
202 | true | ||
400 | false | End user data has not been entered into Sila's system. "Missing required verification data: []" | |
400 | false | IDV for this entity has failed twice within the past 30 days. "{user_handle} has reached the maximum number of attempts for ID verification. Further attempts are not allowed at this time." | KYC_ATTEMPTS_EXCEEDED |
403 | false | When a KYC Flow exists but hasn't been approved by Compliance. "KYC Flow <request_uuid> is not yet approved for use." | KYC_FLOW_NOT_APPROVED |
403 | false | A KYC application has already been submitted for an entity, within the past 15 min. "There has already been a pending KYC request submitted within the last 15 min for the entity." | KYC_REQUEST_DUPLICATE_PENDING |
403 | false | There is already a passed identity verification within the last 30 days. "There has already ben a passed identity verification within the last {window}." | RECENTLY_PASSED_ID_VERIFICATION |
404 | false | A non-existent KYC Flow UUID was entered. "KYC flow <request_uuid> not found." | KYC_FLOW_DNE |
Updated about 1 month ago