/get_verifications/<verification_uuid>

Advanced KYC endpoint that returns a single, specified verification record.

👍

This doc has been updated with Priority specifications.

🚧

Advanced KYC ONLY

Only use this endpoint if you are utilizing the new Advanced KYC.

Returns detailed information for a single verification record, including reasons needed to determine the type of documentation for and end user that goes into a status of documents_required. Use /get_verifications for a full, less detailed, list of all verification records for a single entity.

Please use our webhooks instead of polling this endpoint. Sila retains the prerogative to impose rate limits if deemed necessary.

  • kyc_status
    • Fires on the transition between pass/fail. Rely on kyc_action for all updates in between.
  • kyc_action
    • Fires on documents_required updates. Rely on kyc_status for pass/fail update.

❗️

Do not display the returned reasons to your end users

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/get_verifications/<verification_uuid> 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>"
  }
}

***

HTTP/1.1 200 OK

{
  "success": true,
  "verification_id": "28772779-f411-46eb-8f2d-c7dea439a303",
  "requested_at": 1753312417,
  "updated_at": 1753312435,
  "entity_type": "User",
  "verification_status": "passed",
  "flow": "c9bed594-9368-4fd8-8094-b78df7850ba0",
  "checks_performed": [
    "priority_kyc"
  ],
  "parent_verification": null,
  "reasons": {
    "for_kyc_response": []
  },
  "kyc_action": null,
  "certification_status": null,
  "reference": "1753312571",
  "status": "SUCCESS",
  "sila_reference_id": "req_8g0y4xdgle5x84pap49b7wcai8",
  "response_time_ms": "327"
}

Request Attributes

KeyTypeDescription
headerJSON objectRequired.

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 handle
user_handle - the user_handle to pull verification data for

Optional 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
verification_uuidstringRequired.

The UUID of the verification record you want to see. Can be found in responses from either /kyc or /get_verifications. Goes in the URL rather than the request body.

Verification Statuses

Verification StatusDescription
'unverified'Entity has not had a KYC evaluation
'passed'Entity has passed KYC
'pending'An entity's KYC evaluation is in progress
'review'Under manual review by Sila
'failed'Entity has failed KYC
'member_failed'Business member failed KYC. KYB will need to be re-requested to begin a new verification attempt
'member_review'Happens when a business member is under manual review. Documents may or may not be required for verification
'member_pending'A business member's KYC evaluation is in progress
'documents_required'Upload documents for further verification
'documents_received'Documents were received and will be reviewed

If your end user receives documents_required

🚧

Automatic failure after 30 days

If you have an end user that has remained in a documents_required status for 30 days, they will automatically fail KYC.

If you have an end user in this situation, please upload documents as normal, then reach out to us so we can assist.

This means that further verification is required to pass this end user through KYC successfully, and documents need to be uploaded with /documents.

  • Use the reasons provided by /get_verifications/<verification_uuid> to determine the type of doc to upload, then use /documents to upload any necessary docs. Make sure to provide the verification_uuid in the /documents call so it is uploaded for the correct verification record on the correct entity.
    • reasons are returned as an array of strings. A few examples include:
      • Unable to verify business name, address, TIN and phone on business records
      • Unable to verify SSN/TIN
      • Unable to verify date-of-birth
    • There are approximately 130 possible reason strings. We have that full list mapped to the type of verification needed available upon request.
  • If a verification record goes to documents_required and documents are not uploaded within 30 days, that verification record will automatically fail.
    • Upload a document for a verification record in this state to restart that verification.
  • Not a requirement, but you may consider reviewing the PII provided for the entity during /register and updating anything that may be incorrect.
  • If the doc is incomplete in some way, such as missing a signature, you will be prompted to upload the doc again.
  • If the doc provided does not provide enough further verification to pass KYC, you will be prompted to upload a different doc.
  • Priority estimates an approximately 24 hour turnaround time for reviewing uploaded docs.
  • There is NOT a limit on the number of times the same or different docs can be uploaded for a single verification record, but each entity is limited to a single verification record. If an entity has already begun the KYC process, you will receive an error if you call /kyc again.

Responses

Status CodeSuccess AttributeDescription
200true
403falseEntity has already passed KYC.

"Entity for_kyc_response has already passed identity verification within the last 30 days."
403falseEntity has an existing verification record in progress (has not yet passed KYC).

"User <user_handle> already has a Priority verification in progress for KYC-PRIORITY."
404falseRequested verification_uuid not found.

"No KYC verification record can be found matching id {_uuid}"