Colombia — CE (Cédula de Extranjería)
Verifik validates CE (Cédula de Extranjería) records published by Migración Colombia for KYC, eligibility, and compliance workflows.
What this API returns
- Status (e.g. VIGENTE) and key dates, including expedition and expiration where provided
- Structured name fields and CE document metadata when returned by the source
- Responses are signed and may be cached
API reference
Endpoint
GET https://api.verifik.co/v2/co/foreigner-id/ce
The same integration is available as POST with a JSON body containing the same fields. GET uses query parameters as shown below.
Headers
| Name | Value |
|---|---|
| Accept | application/json |
| Authorization | Bearer <token> |
Document requirements
Who is this for? Foreign nationals legally residing in Colombia who hold a Cédula de Extranjería (CE). This is not for Colombian citizens (use Colombian Citizen with CC) and not for Venezuelan PPT or immigration PEP permits.
| Field | Guidance |
|---|---|
documentNumber | CE number, digits only (no spaces or punctuation). In Colombia, CE numbers are usually 6 or 7 digits (variable length — not a fixed 10-digit NUIP). Examples: 712046, 1156043. |
expeditionDate | Issue date on the CE, format DD/MM/YYYY (e.g. 15/06/2020). Required — wrong format typically returns 409. |
Full comparison: Colombia identity documents guide.
Parameters
| name | type | required | description |
|---|---|---|---|
documentNumber | string | yes | CE number, digits only. Typically 6–7 digits in Colombia. Examples: 712046, 1156043. |
expeditionDate | string | yes | Issue date in DD/MM/YYYY format (e.g. 15/06/2020). Must match the date on the document. |
Request
- JavaScript
- Python
import axios from "axios";
const { data } = await axios.get("https://api.verifik.co/v2/co/foreigner-id/ce", {
params: {
documentNumber: "987654321",
expeditionDate: "15/06/2020",
},
headers: {
Accept: "application/json",
Authorization: `Bearer ${process.env.VERIFIK_TOKEN}`,
},
});
console.log(data);
import os, requests
url = "https://api.verifik.co/v2/co/foreigner-id/ce"
headers = {"Accept": "application/json", "Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"}
params = {"documentNumber": "987654321", "expeditionDate": "15/06/2020"}
r = requests.get(url, headers=headers, params=params)
print(r.json())
Response
- 200
- 404
- 409
{
"data": {
"documentNumber": "987654321",
"documentType": "CE",
"expirationDate": "15/06/2030",
"firstName": "MARIA",
"fullName": "MARIA EJEMPLO PEREZ",
"lastName": "EJEMPLO PEREZ",
"status": "VIGENTE"
},
"signature": {
"dateTime": "April 20, 2026 10:00 AM",
"message": "Certified by Verifik.co"
},
"id": "CE01A"
}
{
"code": "NotFound",
"message": "Record not found."
}
{
"code": "MissingParameter",
"message": "expeditionDate must be a valid date in DD/MM/YYYY format"
}
Features
- Official CE lookup against Migración Colombia’s consultation flow
- Validity and lifecycle fields when returned by the source
Use cases
- Onboarding for foreign residents holding a Colombian CE
- Banking, employment, and compliance where immigration status must be confirmed
Notes
expeditionDatemust matchDD/MM/YYYY; wrong formats typically return 409.GETandPOSTare both routed to the same handler; usePOSTif you prefer a JSON body.- Do not send CE numbers to
/v2/co/cedula— that endpoint only acceptsCCandPPT. See the documents guide. - Upstream portal or parsing changes may surface 404 / 500 when no row is found or the source is unavailable.