Skip to main content

Professional & Occupational Verification

Description​

Check the registration status of each professional registered with the Professional Council in Colombia. The following table shows the Professional Councils available for this IDV solution:

Council values​

CouncilName
ELECTRICAL_MECHANICAL_ENGINEERINGConsejo Profesional Nacional de Ingenierías Eléctrica, Mecánica y Profesiones Afines
ENGINEERINGConsejo Profesional Nacional de Ingeniería
PETROLEUM_ENGINEERINGConsejo Profesional de Ingeniería de Petróleos
CHEMICAL_ENGINEERINGConsejo Profesional de Ingeniería Química de Colombia
ELECTRICAL_TECHNOLOGISTSConsejo Profesional Nacional de Tecnólogos en Electricidad, Electromecánica, Electrónica y Afines
ARCHITECTUREConsejo Profesional Nacional de Arquitectura y sus Profesiones Auxiliares
SURVEYINGConsejo Profesional Nacional de Topografía
BUSINESS_ADMINISTRATIONConsejo Profesional de Administración de Empresas
VETERINARY_MEDICINEConsejo Profesional de Medicina Veterinaria y Zootecnia de Colombia
BIOLOGYConsejo Profesional de Biología
HEALTHRegistro Único Nacional del Talento Humano en Salud
LAWUnidad de Registro Nacional de Abogados y Auxiliares de la Justicia
Asynchronous flow
  1. Create the request: send the document number and receive a requestId with status PENDING.
  2. Retrieve the result: poll the status endpoint with the requestId while the status is PROCESSING, until it changes to SUCCESS. When the query finishes without a result, the status endpoint returns an error status code.
info

Before proceeding, make sure you have your jwt token, if you don't, check the login documentation.

Step 1 — Create the request​

HTTP method POST​

Endpoint​

https://api.msla-id.com/experience-idv-professionalassociations-api-v1/api/idv-govcheck/v1/co-identity/professional-association-ticket
[SANDBOX Environment]

For testing purposes, use the base domain: apidev.msla-id.com

Request header parameter​

NAMEREQUIREDTYPEDESCRIPTION
Authorization✅stringbearer jwt token
Content-Type✅stringapplication/json

Request body parameter​

NAMEREQUIREDTYPEDESCRIPTION
documentNumber✅stringColombian citizenship card number, digits only, 6 to 10 characters.
{
"documentNumber": "1020304050"
}

Status code responses​

CodeDescription
200 Request created.
400 Bad request
401 Unauthorized
500 Internal server error.
504 Gateway timeout.

The full documentation error codes can be found here.

Response fields​

NAMETYPENULLABLEDESCRIPTION
requestIdstringNoRequest identifier, used to retrieve the result.
statusstringNoAlways PENDING when the request is created.

Response 200 status code​

{
"traceId": "35f34a6de6cf095c",
"timestamp": "2026-09-24 10:08:07",
"data": {
"requestId": "3f6c2a1e-8b4d-4e7a-9c15-2d8f0b7e6a41",
"status": "PENDING"
}
}

Response 400 status code​

{
"traceId": "542fc743fffda052",
"timestamp": "2026-09-24 15:26:08",
"code": "IDV-3002",
"message": "Document number is invalid, it must be a number!"
}

Response 500 status code​

{
"traceId": "43a20f33d4e8730d",
"timestamp": "2026-09-24 10:12:41",
"code": "IDV-1001",
"message": "A generic error has occurred."
}

Response 504 status code​

{
"traceId": "5b8d2e7f1a3c9046",
"timestamp": "2026-09-24 10:13:05",
"code": "IDV-1100",
"message": "Gateway Timeout"
}

Step 2 — Retrieve the result​

HTTP method GET​

Endpoint​

https://api.msla-id.com/experience-idv-professionalassociations-api-v1/api/idv-govcheck/v1/co-identity/professional-association/{requestId}
[SANDBOX Environment]

For testing purposes, use the base domain: apidev.msla-id.com

Request header parameter​

NAMEREQUIREDTYPEDESCRIPTION
Authorization✅stringbearer jwt token
Content-Type✅stringapplication/json

Request path parameter​

NAMEREQUIREDTYPEDESCRIPTION
requestId✅stringRequest identifier returned by Step 1.

Process status​

StatusDescription
PROCESSINGThe query of the sources is in progress. Message Processing.
SUCCESSThe query finished and the response contains the professional registrations found. Message Completed.

Status code responses​

CodeDescription
200 Processing or result.
401 Unauthorized
404 Ticket not found, or no registration in any of the councils listed in Council values.
500 Internal server error.
504 Gateway timeout.

The full documentation error codes can be found here.

Response fields​

NAMETYPENULLABLEDESCRIPTION
statusstringNoPROCESSING or SUCCESS.
messagestringNoProcess status message.
documentNumberstringNoCitizenship card number queried. Only with SUCCESS.
fullNamestringYesHolder's full name. Only with SUCCESS.
registrationsarrayNoOne element per registration found: one per council, and one per professional title in the health professionals registry. Empty when no registration was found and one or more sources were not available. Only with SUCCESS.
registrations[].councilstring (enum)NoCouncil identifier. See Council values.
registrations[].councilNamestringNoOfficial name of the council.
registrations[].professionstringYesProfession or degree as published by the council.
registrations[].registrationNumberstringYesProfessional registration number.
registrations[].registrationDatestring (yyyy-mm-dd)YesDate published by the council: issue, resolution, application or practice start date.
registrations[].hasSanctionsbooleanYestrue or false when the council reports sanctions; null when the council does not report them.
registrations[].statusstringYesRegistration status text as published by the council.
unavailableCouncilsarray of string (enum)NoCouncils whose source was not available for this request. Only with SUCCESS.

Response 200 status code — Processing​

{
"traceId": "72a998a62bc0f4cd",
"timestamp": "2026-09-24 10:08:40",
"data": {
"status": "PROCESSING",
"message": "Processing."
}
}

Response 200 status code — Success​

{
"traceId": "3c9e1a7f5b2d8e40",
"timestamp": "2026-09-24 10:09:47",
"data": {
"status": "SUCCESS",
"message": "Completed.",
"documentNumber": "1020304050",
"fullName": "JUAN CARLOS TORRES ROJAS",
"registrations": [
{
"council": "ELECTRICAL_MECHANICAL_ENGINEERING",
"councilName": "Consejo Profesional Nacional de Ingenierías Eléctrica, Mecánica y Profesiones Afines",
"profession": "TELECOMUNICACIONES",
"registrationNumber": "SN291-73512",
"registrationDate": "2007-07-03",
"hasSanctions": false,
"status": null
},
{
"council": "ENGINEERING",
"councilName": "Consejo Profesional Nacional de Ingeniería",
"profession": "INGENIERIA DE SISTEMAS",
"registrationNumber": "25202-123456",
"registrationDate": "2022-11-02",
"hasSanctions": null,
"status": "VIGENTE"
}
],
"unavailableCouncils": []
}
}

Response 404 status code — Data not found​

{
"traceId": "ef2407b8c0df635c",
"timestamp": "2026-09-24 10:10:55",
"code": "IDV-1002",
"message": "Data not found."
}

Note: The person has no registration in any of the councils listed in Council values.

Response 404 status code — Ticket not found​

{
"traceId": "c3c48a6057bb0cbc",
"timestamp": "2026-09-24 11:11:48",
"code": "IDV-PRA1002",
"message": "Ticket not found."
}

Response 500 status code​

{
"traceId": "86c6eda02b615604",
"timestamp": "2026-09-24 15:44:32",
"code": "IDV-1008",
"message": "Error in the source of origin, please contact an administrator!"
}

Response 504 status code​

{
"traceId": "9c1e5a7b2d04f3a8",
"timestamp": "2026-09-24 10:15:02",
"code": "IDV-1100",
"message": "Gateway Timeout"
}