Skip to main content

Political Exposed Persons

Description​

Screening service that checks whether an individual or company — identified by CURP or RFC — appears on national and international Politically Exposed Persons (PEP) lists, sanction and restrictive lists, and the SAT 69 / 69-B fiscal lists. The search is performed by CURP or by RFC.

HTTP method POST​

Endpoint​

https://api.msla-id.com/experience-background-pep-api-v1/api/idv-govcheck/v1/mx-identity/peps
[SANDBOX Environment]

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

info

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

Request header parameter​

NAMEREQUIREDTYPEDESCRIPTION
Authorization✅stringbearer jwt token

Body request (JSON)​

The screening accepts a single search key: either curp or rfc. Exactly one of the two must be present — sending both, returns an error.

NAMEREQUIREDTYPEDESCRIPTION
curp Required if rfc is not sentstringCURP (18 characters). Search by CURP.
rfc Required if curp is not sentstringRFC — individual (13 characters) or company (12 characters). Search by RFC.

Accepted combinations

BodyResult
curpValid — search by CURP
rfcValid — search by RFC
curp and rfc together400 IDV-3001
neither curp nor rfc400 IDV-3001
{
"curp": "PEPJ800101HDFRRN09"
}

Status code responses​

CodeDescription
200 OK. Returns data.resultCount and data.results.
400 IDV-3001 Bad request - Invalid or incomplete input data
401 Unauthorized
404 IDV-1002 Data not found
500 IDV-1008 Internal server error
504 IDV-1100 Gateway timeout

The full documentation error codes can be found here.

note

A screening with no matches is a 200 response with data.resultCount = 0 and an empty data.results array. It is not an HTTP 404.

Response 200 status code​

{
"traceId": "123456789010101",
"timestamp": "yyyy-mm-dd HH:MM:SS",
"data": {
"validationCode": "bl1788324399.0171921",
"resultCount": 1,
"results": [
{
"fullName": "JUAN PEREZ LOPEZ",
"list": "Personas Politicamente Expuestas Nacionales",
"listType": "ppe",
"similarity": 100,
"curp": null,
"taxId": "XAXX010101000",
"active": true,
"country": "MX",
"address": "CHIAPAS, MEXICO",
"agency": "Tesorero Municipal",
"alias": "CONTADOR DEL RAMO 33"
}
]
}
}

Response fields​

FIELDTYPEDESCRIPTION
data.validationCodestringUnique identifier of the query. Keep it for traceability.
data.resultCountintegerTotal number of matches. 0 means results is empty.
data.results[].fullNamestringName of the person or entity found.
data.results[].liststringList where the match was found.
data.results[].listTypestringList category, as reported by the source (e.g. ppe).
data.results[].similarityintegerMatch similarity percentage.
data.results[].curpstring | nullReported CURP when available.
data.results[].taxIdstring | nullReported RFC or tax identifier when available.
data.results[].activebooleanWhether the record is reported as active in the source.
data.results[].countrystring | nullCountry associated with the result.
data.results[].addressstring | nullReported address or location when available.
data.results[].agencystring | nullAgency, institution or related position when available.
data.results[].aliasstring | nullAlias or additional description when available.

Response 400 status code​

{
"traceId": "542fc743fffda052",
"timestamp": "yyyy-mm-dd HH:MM:SS",
"code": "IDV-3001",
"message": "Bad request - Invalid or incomplete input data",
"data": null
}

Response 401 status code​

{
"timestamp": "YYYY-MM-DDTHH:mm:ss.sssZ",
"status": 401,
"error": "Unauthorized",
"path": "/api/idv-govcheck/v1/mx-identity/peps"
}

Response 404 status code​

{
"traceId": "43a20f33d4e8730d",
"timestamp": "yyyy-mm-dd HH:MM:SS",
"code": "IDV-1002",
"message": "Data not found."
}

Response 500 status code​

{
"traceId": "43a20f33d4e8730d",
"timestamp": "yyyy-mm-dd HH:MM:SS",
"code": "IDV-1008",
"message": "Error in the source of origin, please contact an administration.",
"data": null
}

Response 504 status code​

{
"traceId": "43a20f33d4e8730d",
"timestamp": "yyyy-mm-dd HH:MM:SS",
"code": "IDV-1100",
"message": "Gateway Timeout",
"data": null
}