KYC verification

Identity verification process required to operate on the platform. The user must upload identity documents to be reviewed by the compliance team.


Flow

1. Upload file

Upload document file to storage using POST /base/upload_file/ and obtain resulting URL.

2. Submit documents to profile

Send obtained URLs to user profile with POST /profile_documents/.

3. Wait for approval

Compliance team reviews documents. Status is reflected in GET /profile_documents/. Once approved, user moves to level 5 (fully verified).


Endpoint 1 - Upload file

POST /base/upload_file/

Required headers:

Authorization: Bearer [ACCESS_TOKEN]
x-api-key: [API_KEY]
Content-Type: multipart/form-data

FormData:

FieldDescription
fileFile object with uri, name, and type
signSecurity signature
file_typeFile type (e.g. documents)
file_nameFile name

Successful response: URL of uploaded file in storage.


Endpoint 2 - Submit documents to profile

POST /profile_documents/

Required headers:

Authorization: Bearer [ACCESS_TOKEN]
x-api-key: [API_KEY]
Content-Type: application/json

Body:

{
  "documents": [
    {
      "code_name": "national_id_front",
      "url": "https://storage.colurs.co/documents/archivo.jpg",
      "type_document_id": 1
    }
  ]
}

Endpoint 3 - Check document status

GET /profile_documents/

Required headers:

Authorization: Bearer [ACCESS_TOKEN]
x-api-key: [API_KEY]

Optional query params: by_validation3=false, type_document=1

Response: List of submitted documents with review status.


Verification levels

The level field in user profile (GET /user/) indicates verification status:

LevelStatusDescription
0UnverifiedNewly created user, cannot perform transactions
1PendingDocuments submitted, under compliance review
2With issuesDocuments rejected, user must resubmit
5VerifiedFull verification, access to all features

Only users at level 5 can perform financial operations on the platform (funding, payments, exchange).