Colombia — PPT (Temporary Protection Permit)
Verifik validates PPT (Permiso de Protección Temporal) 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
- Structured name fields and PPT document metadata
- Responses are signed and may be cached
API reference
Endpoint
GET https://api.verifik.co/v2/co/foreigner-id/ppt
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> |
Parameters
| name | type | required | description |
|---|---|---|---|
documentNumber | string | yes | PPT number without spaces or punctuation. |
expeditionDate | string | yes | Issue date in DD/MM/YYYY format (e.g. 07/03/2022). |
Request
- JavaScript
- Python
import axios from "axios";
const { data } = await axios.get("https://api.verifik.co/v2/co/foreigner-id/ppt", {
params: {
documentNumber: "123456789",
expeditionDate: "07/03/2022",
},
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/ppt"
headers = {"Accept": "application/json", "Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"}
params = {"documentNumber": "123456789", "expeditionDate": "07/03/2022"}
r = requests.get(url, headers=headers, params=params)
print(r.json())
Response
- 200
- 404
- 409
{
"data": {
"arrayName": ["JUAN", "MIGUEL", "CAMERO", "MORALES"],
"documentNumber": "2081381",
"documentType": "PPT",
"expeditionDate": "07/03/2022",
"expirationDate": "30/05/2031",
"firstName": "JUAN MIGUEL",
"fullName": "JUAN MIGUEL CAMERO MORALES",
"lastName": "CAMERO MORALES",
"status": "VIGENTE"
},
"signature": {
"dateTime": "May 13, 2025 11:52 PM",
"message": "Certified by Verifik.co"
},
"id": "JD24J"
}
{
"code": "NotFound",
"message": "Record not found."
}
{
"code": "MissingParameter",
"message": "expeditionDate must be a valid date in DD/MM/YYYY format"
}
Features
- Official PPT lookup against Migración Colombia’s public consultation flow
- Validity and lifecycle fields when returned by the source
Use cases
- Humanitarian and social programs that require proof of temporary protection status
- Employer and financial onboarding where Colombian immigration checks apply
Notes
expeditionDatemust matchDD/MM/YYYY; wrong formats typically return 409.GETandPOSTare both routed to the same handler; usePOSTif you prefer a JSON body.- Upstream portal or parsing changes may surface 404 / 500 when no row is found or the source is unavailable.