Colombia — COPNIA professional license by matrícula
Verifik queries COPNIA (Consejo Profesional Nacional de Ingeniería) using a single licenseNumber (matrícula). Use this when you already have the registration number and need the holder and license status.
What this API returns
- Identity fields:
documentType,documentNumber,firstName,lastName,fullName,arrayName - Flattened license fields:
licenseNumber,licenseStatus,licenseType,profession,resolutionDate,resolutionNumber - A signed Verifik response (no
licenses[]array)
API reference
Endpoint
GET https://api.verifik.co/v2/co/copnia/matricula
Send licenseNumber as a query parameter. The handler returns the person and the six license fields on the same object. Typical values look like 091132-0839078 CNDC (6–40 characters after trim).
Headers
| Name | Value |
|---|---|
| Accept | application/json |
| Authorization | Bearer <token> |
Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
licenseNumber | string | Yes | COPNIA registration number (matrícula), 6–40 characters. Spaces are allowed. | 091132-0839078 CNDC |
Request
- Node.js
- Python
import axios from "axios";
const { data } = await axios.get("https://api.verifik.co/v2/co/copnia/matricula", {
params: {
licenseNumber: "091132-0839078 CNDC",
},
headers: {
Accept: "application/json",
Authorization: `Bearer ${process.env.VERIFIK_TOKEN}`,
},
});
console.log(data);
import os, requests
url = "https://api.verifik.co/v2/co/copnia/matricula"
headers = {"Accept": "application/json", "Authorization": f"Bearer {os.getenv('VERIFIK_TOKEN')}"}
params = {"licenseNumber": "091132-0839078 CNDC"}
r = requests.get(url, headers=headers, params=params)
print(r.json())
Response
- 200
- 404
- 409
{
"data": {
"arrayName": ["HENRY", "ANDRES", "CASTANEDA", "ACOSTA"],
"documentNumber": "80176161",
"documentType": "CC",
"firstName": "HENRY ANDRES",
"fullName": "HENRY ANDRES CASTANEDA ACOSTA",
"lastName": "CASTANEDA ACOSTA",
"licenseNumber": "091132-0839078 CNDC",
"licenseStatus": "VIGENTE",
"licenseType": "MATRICULA PROFESIONAL",
"profession": "INGENIERIA DE SOFTWARE",
"resolutionDate": "2026-07-27",
"resolutionNumber": "RN2026NALA032094"
},
"signature": {
"dateTime": "September 15, 2026 9:00 PM",
"message": "Certified by Verifik.co"
},
"id": "ABCDE"
}
{
"code": "NotFound",
"message": "Record not found."
}
{
"code": "MissingParameter",
"message": "licenseNumber length must be at least 6 characters long"
}
Features
- Lookup by matrícula without sending a document number
- GET query parameters only
- Sandbox echoes a fixed COPNIA-shaped payload for the sample license
- Responses are signed and billed as an
apiRequesthybrid feature
Use cases
- Confirm a printed or submitted COPNIA registration number
- Recheck status (
VIGENTEvs other source values) during onboarding - Cross-check a license found earlier via COPNIA by document
Notes
- Sandbox license example:
091132-0839078 CNDC. The matching sandbox person isCC/80176161. - Values that normalize to an empty string after cleanup return
409(invalid_license_number). - A source or session failure can return
409withtimeout_data_source. - Treat responses as sensitive personal data and follow Colombian habeas data rules.