openapi: 3.1.0
info:
title: MetaMap Authentication GovChecks API
version: '1.4'
description: MetaMap (formerly Mati) identity verification REST API. Start and manage user verifications, retrieve verification media, run watchlist, email, phone, credit, court-record, and government database checks across Latin America, Africa, and Asia.
contact:
name: MetaMap
url: https://metamap.com
license:
name: MetaMap Terms of Service
url: https://metamap.com/legal/terms-of-service
servers:
- url: https://api.prod.metamap.com
description: Production
security:
- bearerAuth: []
tags:
- name: GovChecks
paths:
/govchecks/v1/gh/verify-card-facematch:
post:
summary: 'GovCheck: Ghana Verify Card (Facematch)'
description: Validates national identity information and performs biometric face verification against the government’s biometric database.
operationId: govcheck-ghana-verify-card-facematch
parameters:
- name: Content-Type
in: header
schema:
type: string
default: application/json
requestBody:
content:
application/json:
schema:
type: object
required:
- personalNumber
- imageBase64
- callbackUrl
properties:
personalNumber:
type: string
imageBase64:
type: string
callbackUrl:
type: string
metadata:
type: string
description: '{"key":"value"}'
format: json
responses:
'202':
description: '202'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'422':
description: '422'
content:
application/json:
examples:
Result:
value: "{\n \"name\": \"ValidationError\",\n \"message\": \"Parameters validation error!\",\n \"code\": 422,\n \"type\": \"VALIDATION_ERROR\",\n \"data\": [\n {\n \"keyword\": \"required\",\n \"dataPath\": \"\",\n \"schemaPath\": \"#/required\",\n \"params\": {\n \"missingProperty\": \"documentNumber\"\n },\n \"message\": \"should have required property 'documentNumber'\",\n \"nodeID\": \"safety-85b9845fc5-fgznw-1\",\n \"action\": \"govChecks.getpanamaTseFacematch\"\n }\n ]\n}"
VALIDATION ERRROR imageBase64:
value: "{\n \"name\": \"ValidationError\",\n \"message\": \"Parameters validation error!\",\n \"code\": 422,\n \"type\": \"VALIDATION_ERROR\",\n \"data\": [\n {\n \"keyword\": \"required\",\n \"dataPath\": \"\",\n \"schemaPath\": \"#/required\",\n \"params\": {\n \"missingProperty\": \"selfie\"\n },\n \"message\": \"should have required property 'selfie'\",\n \"nodeID\": \"safety-7f546fd8b8-crsr8-1\",\n \"action\": \"govChecks.getPanamaTseFacematch\"\n }\n ]\n}"
schema:
oneOf:
- type: object
properties:
name:
type: string
example: ValidationError
message:
type: string
example: Parameters validation error!
code:
type: integer
example: 422
default: 0
type:
type: string
example: VALIDATION_ERROR
data:
type: array
items:
type: object
properties:
keyword:
type: string
example: required
dataPath:
type: string
example: ''
schemaPath:
type: string
example: '#/required'
params:
type: object
properties:
missingProperty:
type: string
example: documentNumber
message:
type: string
example: should have required property 'documentNumber'
nodeID:
type: string
example: safety-85b9845fc5-fgznw-1
action:
type: string
example: govChecks.getpanamaTseFacematch
- title: VALIDATION ERRROR imageBase64
type: object
properties:
name:
type: string
example: ValidationError
message:
type: string
example: Parameters validation error!
code:
type: integer
example: 422
default: 0
type:
type: string
example: VALIDATION_ERROR
data:
type: array
items:
type: object
properties:
keyword:
type: string
example: required
dataPath:
type: string
example: ''
schemaPath:
type: string
example: '#/required'
params:
type: object
properties:
missingProperty:
type: string
example: selfie
message:
type: string
example: should have required property 'selfie'
nodeID:
type: string
example: safety-7f546fd8b8-crsr8-1
action:
type: string
example: govChecks.getPanamaTseFacematch
deprecated: false
x-readme:
code-samples:
- language: curl
code: "curl --request POST \\\n --url https://api.prod.metamap.com/govchecks/v1/gh/verify-card-facematch \\\n --header 'Content-Type: application/json' \\\n --header 'accept: application/json' \\\n --header 'authorization: Bearer token' \\\n --data '\n{\n \"personalNumber\": \"GH-000000000-0\",\n \"imageBase64\": \"iVBORw0KGgoAAAANSUhEU...\",\n \"callbackUrl\": \"https://yourdomain.com/webhook-listener\",\n \"metadata\": \"{\"key\":\"value\"}\"\n}\n'"
samples-languages:
- curl
tags:
- GovChecks
/govchecks/v1/gh/verify-card:
post:
summary: 'GovCheck: Ghana Verify Card'
description: Validates national identity information by checking against Ghana’s National Identification Authority (NIA) database for the Ghana Card.
operationId: govcheck-ghana-verify-card
parameters:
- name: Content-Type
in: header
schema:
type: string
default: application/json
requestBody:
content:
application/json:
schema:
type: object
required:
- personalNumber
- callbackUrl
properties:
personalNumber:
type: string
callbackUrl:
type: string
metadata:
type: string
description: '{"key":"value"}'
format: json
responses:
'202':
description: '202'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'422':
description: '422'
content:
application/json:
examples:
Result:
value: "{\n \"name\": \"ValidationError\",\n \"message\": \"Parameters validation error!\",\n \"code\": 422,\n \"type\": \"VALIDATION_ERROR\",\n \"data\": [\n {\n \"keyword\": \"required\",\n \"dataPath\": \"\",\n \"schemaPath\": \"#/required\",\n \"params\": {\n \"missingProperty\": \"personalNumber\"\n },\n \"message\": \"should have required property 'personalNumber'\",\n \"nodeID\": \"safety-7f5400d8b8-df9f8-1\",\n \"action\": \"govChecks.getGhanaianVerifyCard\"\n }\n ]\n}"
schema:
type: object
properties:
name:
type: string
example: ValidationError
message:
type: string
example: Parameters validation error!
code:
type: integer
example: 422
default: 0
type:
type: string
example: VALIDATION_ERROR
data:
type: array
items:
type: object
properties:
keyword:
type: string
example: required
dataPath:
type: string
example: ''
schemaPath:
type: string
example: '#/required'
params:
type: object
properties:
missingProperty:
type: string
example: personalNumber
message:
type: string
example: should have required property 'personalNumber'
nodeID:
type: string
example: safety-7f5400d8b8-df9f8-1
action:
type: string
example: govChecks.getGhanaianVerifyCard
deprecated: false
x-readme:
code-samples:
- language: curl
code: "curl --request POST \\\n --url https://api.prod.metamap.com/govchecks/v1/gh/verify-card \\\n --header 'Content-Type: application/json' \\\n --header 'accept: application/json' \\\n --header 'authorization: Bearer 1' \\\n --data '\n{\n \"personalNumber\": \"GH-00000000-0\",\n \"callbackUrl\": \"https://yourdomain.com/webhook-listener\",\n \"metadata\": \"{\"key\":\"value\"}\"\n}\n'"
samples-languages:
- curl
tags:
- GovChecks
/govchecks/v1/mx/pep:
post:
summary: 'GovChecks: Mexico PEP'
description: Check whether a user is a Politically Exposed Person
operationId: govcheck-mexico-pep
requestBody:
content:
application/json:
schema:
type: object
required:
- callbackUrl
- fullName
properties:
callbackUrl:
type: string
description: Webhook URL
fullName:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
User is Not a Politically Exposed Person:
value: "{\n \"error\": null,\n \"data\": {\n \"pep\": false,\n \"country\": \"MX\",\n \"fullName\": \"Jose Antonio Saavedra Hernandez\",\n \"PEPdata\": null\n }\n}"
schema:
type: object
properties:
error: {}
data:
type: object
properties:
pep:
type: boolean
example: false
default: true
country:
type: string
example: MX
fullName:
type: string
example: Jose Antonio Saavedra Hernandez
PEPdata: {}
'202':
description: '202'
content:
application/json:
examples:
User is a Politically Exposed Person:
value: "{\n\"error\": {\n \"type\":\"legacy.error\",\n \"code\":\"mxPepError.matchFound\",\n \"message\":\"The user was found to be a PEP\"\n },\n \"data\": {\n \"pep\": true,\n \"country\": \"MX\",\n \"fullName\": \"Jose Antonio Saavedra Hernandez\",\n \"PEPdata\": \n [{\n \"PEPfullName\": \"Jose Antonio Saavedra Hernandez\",\n \"state\":\"Tamaulipas\",\n \"institution\": \"Sistema para el Desarrollo Integral de la Familia del Municipio de Victoria.\",\n \"position\": \"AUXILIAR DE PROGRAMA\",\n \"period\":\"01/10/2020 - 31/12/2020\"\n }\n ]\n }\n}"
schema:
type: object
properties:
error:
type: object
properties:
type:
type: string
example: legacy.error
code:
type: string
example: mxPepError.matchFound
message:
type: string
example: The user was found to be a PEP
data:
type: object
properties:
pep:
type: boolean
example: true
default: true
country:
type: string
example: MX
fullName:
type: string
example: Jose Antonio Saavedra Hernandez
PEPdata:
type: array
items:
type: object
properties:
PEPfullName:
type: string
example: Jose Antonio Saavedra Hernandez
state:
type: string
example: Tamaulipas
institution:
type: string
example: Sistema para el Desarrollo Integral de la Familia del Municipio de Victoria.
position:
type: string
example: AUXILIAR DE PROGRAMA
period:
type: string
example: 01/10/2020 - 31/12/2020
'503':
description: '503'
content:
application/json:
examples:
Service is Unavailable:
value: "{\n \"error\": {\n \"type\": \"systemError\",\n \"code\": \"system.serviceUnavailable\",\n \"message\": \"The PEP Service is unavailable\"\n },\n \"data\": null\n }\n}"
deprecated: false
x-readme:
code-samples:
- language: curl
code: "curl --request POST \\\n --url https://api.getmati.com/govchecks/v1/mx/pep \\\n --header 'Accept: application/json'\n --data-raw '{\n \t\t\"fullName\": \"JOHN JAY DOE\"\n }'"
samples-languages:
- curl
tags:
- GovChecks
/govchecks/v1/mx/rfc:
post:
summary: 'GovChecks: Mexico RFC'
description: Validate CURP and RFC numbers to validate users are eligible to pay taxes
operationId: govcheck-mexico-rfc
requestBody:
content:
application/json:
schema:
type: object
required:
- callbackUrl
- CURP
properties:
callbackUrl:
type: string
description: Webhook URL
CURP:
type: string
description: User's CURP or RFC number
responses:
'200':
description: '200'
content:
application/json:
examples:
Registered taxpayer:
value: "{\n \"error\": null,\n \"data\": {\n \"curp\": \"AAAA000000HCHLRN00\",\n \"registeredTaxPayer\": true\n }\n}"
schema:
type: object
properties:
error: {}
data:
type: object
properties:
curp:
type: string
example: AAAA000000HCHLRN00
registeredTaxPayer:
type: boolean
example: true
default: true
deprecated: false
x-readme:
code-samples:
- language: curl
code: "curl --request POST \\\n --url https://api.getmati.com/govchecks/v1/mx/rfc \\\n --header 'Accept: application/json' \\\n --data-raw {\n \"curp\": \"AAAA000000HCHLRN00\",\n \"callbackUrl\": \"https://some.webhook.url\"\n }\n "
samples-languages:
- curl
tags:
- GovChecks
/govchecks/v1/py/rcp:
post:
summary: 'GovCheck: Paraguay RCP'
description: Validates national identity information by checking against Paraguay’s RCP database for the Cédula de Identidad Civil.
operationId: govcheck-paraguay-rcp
requestBody:
content:
application/json:
schema:
type: object
required:
- documentNumber
- dateOfBirth
- callbackUrl
properties:
documentNumber:
type: string
dateOfBirth:
type: string
description: DD/MM/YYYY
callbackUrl:
type: string
metadata:
type: string
description: '{"key":"value"}'
format: json
responses:
'200':
description: '200'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
'400':
description: '400'
content:
application/json:
examples:
Result:
value: '{}'
schema:
type: object
properties: {}
deprecated: false
x-readme:
code-samples:
- language: curl
code: "curl --request POST \\\n --url https://api.prod.metamap.com/govchecks/v1/py/rcp \\\n --header 'Content-Type: application/json' \\\n --header 'accept: application/json' \\\n --header 'authorization: Bearer 1' \\\n --data '\n{\n \"documentNumber\": \"0000000\",\n \"dateOfBirth\": \"31/01/1999\",\n \"callbackUrl\": \"https://yourdomain.com/webhook-listener\",\n \"metadata\": {\"key\":\"value\"}\n}\n'"
samples-languages:
- curl
tags:
- GovChecks
/govchecks/v1/br/cnpj-extended:
post:
summary: 'GovChecks: Brazil CNPJ Extended Validation'
description: Validate a business's National Registry of Legal Entities number
operationId: govchecks-brazil-cnpj-extended-validation
requestBody:
content:
application/json:
schema:
type: object
required:
- cnpj
- callbackURL
properties:
cnpj:
type: string
callbackURL:
type: string
responses:
'200':
description: '200'
content:
application/json:
examples:
Valid and Active CNPJ:
value: "{\n \"error\": null,\n \"data\": {\n \"registrationNumber\": \"00000000000000\",\n \"tipoEstabelecimento\": \"1\",\n \"companyName\": \"METAMAP\",\n \"legalName\": \"METAMAP\",\n \"cadastralStatus\": {\n \"registrationStatus\": \"2\",\n \"statusDate\": \"2016-01-01\",\n \"reason\": \"\"\n },\n \"legalNature\": {\n \"legalCode\": \"2054\",\n \"legalDescription\": \"Sociedade Anônima Fechada\"\n },\n \"registrationDate\": \"2016-01-01\",\n \"cnaePrincipal\": {\n \"cnaeCode\": \"4751201\",\n \"cnaeDescription\": \"Comércio varejista especializado de equipamentos e suprimentos de informática\"\n },\n \"address\": {\n \"street\": \"RUA\",\n \"locality\": \"CARLOS GOMES\",\n \"areaNumber\": \"1234\",\n \"additionalAddress\": \"ANDAR 10A 10\",\n \"postcode\": \"80013\",\n \"localitySector\": \"CENTRO\",\n \"federationUnit\": \"SP\",\n \"country\": {\n \"code\": \"105\",\n \"description\": \"BRASIL\"\n },\n \"county\": {\n \"administrativeCode\": \"6639\",\n \"administrativeName\": \"LIMEIRA\"\n }\n },\n \"municipalitiesJurisdiction\": {\n \"code\": \"0811200\",\n \"description\": \"LIMEIRA\"\n },\n \"phones\": [\n {\n \"phoneCode\": \"19\",\n \"phoneNumber\": \"21138250\"\n }\n ],\n \"email\": \"welcome@metamap.com\",\n \"capitalSocial\": 77766517900,\n \"companySize\": \"05\",\n \"situacaoEspecial\": \"\",\n \"dataSituacaoEspecial\": \"\",\n \"informacoesAdicionais\": {\n \"optanteSimples\": \"NÃO\",\n \"optanteMei\": \"NÃO\",\n \"listaPeriodosSimples\": []\n },\n \"shareholdersInfo\": [\n {\n \"shareholderType\": \"2\",\n \"cpfNumber\": \"00000000000\",\n \"shareholderName\": \"FILIP VICTOR\",\n \"qualificacao\": \"10\",\n \"assignationDate\": \"2022-07-06\",\n \"country\": {\n \"code\": \"105\",\n \"description\": \"BRASIL\"\n },\n \"legalRepresentation\": {\n \"representativeCpf\": \"00000000000\",\n \"representativeName\": \"\",\n \"qualificacao\": \"00\"\n }\n },\n {\n \"shareholderType\": \"2\",\n \"cpfNumber\": \"00000000000\",\n \"shareholderName\": \"MEGHNA MANN\", \n \"qualificacao\": \"10\",\n \"assignationDate\": \"2022-07-06\",\n \"country\": {\n \"code\": \"105\",\n \"description\": \"BRASIL\"\n },\n \"legalRepresentation\": {\n \"representativeCpf\": \"00000000000\",\n \"representativeName\": \"\",\n \"qualificacao\": \"00\"\n }\n }\n ]\n }\n}"
schema:
type: object
properties:
error: {}
data:
type: object
properties:
registrationNumber:
type: string
example: '00000000000000'
tipoEstabelecimento:
type: string
example: '1'
companyName:
type: string
example: METAMAP
legalName:
type: string
example: METAMAP
cadastralStatus:
type: object
properties:
registrationStatus:
type: string
example: '2'
statusDate:
type: string
example: '2016-01-01'
reason:
type: string
example: ''
legalNature:
type: object
properties:
legalCode:
type: string
example: '2054'
legalDescription:
type: string
example: Sociedade Anônima Fechada
registrationDate:
type: string
example: '2016-01-01'
cnaePrincipal:
type: object
properties:
cnaeCode:
type: string
example: '4751201'
cnaeDescription:
type: string
example: Comércio varejista especializado de equipamentos e suprimentos de informática
address:
type: object
properties:
street:
type: string
example: RUA
locality:
type: string
example: CARLOS GOMES
areaNumber:
type: string
example: '1234'
additionalAddress:
type: string
example: ANDAR 10A 10
postcode:
type: string
example: '80013'
localitySector:
type: string
example: CENTRO
federationUnit:
type: string
example: SP
country:
type: object
properties:
code:
type: string
example: '105'
description:
type: string
example: BRASIL
county:
type: object
properties:
administrativeCode:
type: string
example: '6639'
administrativeName:
type: string
example: LIMEIRA
municipalitiesJurisdiction:
type: object
properties:
code:
type: string
example: 0811200
description:
type: string
example: LIMEIRA
phones:
type: array
items:
type: object
properties:
phoneCode:
type: string
example: '19'
phoneNumber:
type: string
example: '21138250'
email:
type: string
example: welcome@metamap.com
capitalSocial:
type: integer
example: 77766517900
default: 0
companySize:
type: string
example: '05'
situacaoEspecial:
type: string
example: ''
dataSituacaoEspecial:
type: string
example: ''
informacoesAdicionais:
type: object
properties:
optanteSimples:
type: string
example: NÃO
optanteMei:
type: string
example: NÃO
listaPeriodosSimples:
type: array
items:
type: object
properties: {}
shareholdersInfo:
type: array
items:
type: object
properties:
shareholderType:
type: string
example: '2'
cpfNumber:
type: string
example: '00000000000'
shareholderName:
type: string
example: FILIP VICTOR
qualificacao:
type: string
example: '10'
assignationDate:
type: string
example: '2022-07-06'
country:
type: object
properties:
code:
type: string
example: '105'
description:
type: string
example: BRASIL
legalRepresentation:
type: object
properties:
representativeCpf:
type: string
example: '00000000000'
representativeName:
type: string
example: ''
qualificacao:
type: string
example: '00'
'204':
description: '204'
content:
application/json:
examples:
Not found:
value: "{\n \"data\": null,\n \"error\": {\n \"type\": \"govCheckError\",\n \"code\": \"brazilianCnpjExtended.notFound\",\n \"message\": \"No results were found in the Brazilian CNPJ database\"\n }\n}"
Not valid parameters:
value: "{\n \"data\": null,\n \"error\": {\n \"type\": \"govCheckError\",\n \"code\": \"brazilianCnpjExtended.notValidParams\",\n \"message\": \"The data
# --- truncated at 32 KB (188 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/metamap/refs/heads/main/openapi/metamap-govchecks-api-openapi.yml