Skip to main content

Veriph.One's API (1.X.X)

Download OpenAPI specification:Download

This is the documentation for Veriph.One's integration and service APIs. You can find more information about our company at www.veriph.one.

Introduction

This API is grouped into specific categories based on common platform use-cases; for example:

  • The SDK Integration group is used to make a complete integration with our platform and use all of our verification methods insided your mobile and web apps. This is the most common use case.
  • The Helper Services section aggregates endpoints used for more complex interactions with our platforms where you want to go beyond our SDK's functionality.
  • The Identity Validation category aggregates endpoints relevant to complement identity verifications during a KYC flow.
  • The Insights bracket helps your company perform deep analysis of a user profile to protect against fraud and identity theft without adding friction to your user experience.
  • Lastly, the Misc category is used to interact and monitor our infrastructure.

OpenAPI Specification

This API is documented in OpenAPI format and can also be explored using Swagger via its standalone website, or its JSON and YAML definitions.

Authentication

The endpoints shown here are offered under API-Key-based authentication. Please consider that some endpoints require only your API Key, while others need your Secret as well. Keep your credentials safe and never include them in your code repositories as plain text. Also, don't expose your API Secret to client-side code, as it can be reverse-engineered.

Versioning

Our versioning strategy goes beyond a global API version, and we follow a pattern where endpoints have individual versions instead of the API as a whole. This allows for more versatility and better backwards compatibility. Please consider that only major versions (e.g., v1.X.X or v2.X.X) will be incompatible to endpoints with previous versions.

1. SDK Integration

Start a verification session

Create a verification session for the SDK using the configuration of the API Key provide as credentials. It can be further customized by passing the optional configuration parameter. Please ensure that the metadata object is correctly filled as it is used to configure the user experience and detect fraud. Additionally, if you pass an object to the optional prefilledPhoneNumber, you can set up a 2FA/MFA flow or one where the user will need to verify a specific number; this interacts prefilledPhoneNumber.userCanEdit to allow them to change the number to be verified.

header Parameters
x-api-key
required
string

Your Veriph.One API Key

Request Body schema: application/json
required
object

This object determines whether the verification process will capture an unknown number or do a 2FA/MFA flow with a known one. In case of the latter, the verification will be rejected if the user verifies a different number.

required
object

Necessary data to detect bots, unique transactions, fraudsters, and user's approximate location.

object

Used to setup the verification process based on context provided by your application.

Responses

Request samples

Content type
application/json
{
  • "prefilledPhoneNumber": {
    },
  • "metadata": {
    },
  • "configuration": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "redirectionUrl": "string"
}

Get verification result (v1.0.0)

Obtain the results of a verification using a session UUID and your API Key credentials. This endpoint should never be called from client-side software to avoid leaking your API Key.

query Parameters
sessionUuid
required
string
header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Responses

Response samples

Content type
application/json
{
  • "prefilledCountryCode": "string",
  • "prefilledPhoneNumber": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "closedAt": "2019-08-24T14:15:22Z",
  • "userId": "string",
  • "firstSuccessfulAttempt": {
    },
  • "attempts": [
    ]
}

Get verification result (v1.1.0)

Obtain the results of a verification using a session UUID and your API Key credentials. This endpoint should never be called from client-side software to avoid leaking your API Key. Version 1.1.0 also includes data enrichment objects that contain information on the phone number that was verified and the context of the verification process. These data points are optional and can be ommitted to reduce latency.

query Parameters
sessionUuid
required
string
enrichmentType
required
number
Default: 0

Determines the type of enrichment you want to obtain. Take into consideration that if you request all of the data points, the payload will increase in size substantially and latency might be introduced. We recommend only getting the data points you need based on the context around the verification. By default, no enrichment is done. See catalog of possible values here.

header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Responses

Response samples

Content type
application/json
{
  • "uuid": "string",
  • "createdAt": "2019-08-24T14:15:22Z",
  • "closedAt": "2019-08-24T14:15:22Z",
  • "initialConfiguration": {
    },
  • "type": "string",
  • "result": {
    },
  • "verificationMetadata": {
    }
}

2. Helper Services

Get phone country codes

Obtain the full list of country codes including ISO 3166-2 codes.

header Parameters
x-api-key
required
string

Your Veriph.One API Key

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Send a non-SDK OTP

This endpoint is a standalone service that allows your application to send OTP messages via SMS, WhatsApp (requires initial setup; contact us for more information), and phone call without using the Veriph.One SDK. Please note that this service has an independent billing scheme (per message sent not successful verification), and by using it you are losing SMS pumping protection and other important security features.

header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Request Body schema: application/json
required
countryCode
required
string

Expected number's country code, without '+' sign or non-numeric characters

cellphoneNumber
required
string

Expected phone number without country code or non-numeric characters

channel
required
number

The channel to use for the message. Values: SMS [0], WhatsApp [1], Phone Call [2].

otpCode
required
string

The OTP to include in the message template. Enforced string length range: 4-16. Only alphanumeric characters accepted (no diacritics, whitespace or symbols): 0-9, a-z, and A-Z.

brandLabel
required
string

A string ignored for WhatsApp but used for other channels with the purpose of letting the user know who is sending the OTP. Use a short brand/product name, at least 2 characters long. The string might be shortened if space is needed to fit the message inside a single SMS message. The string is shown inside parentheses for SMS; for example, in english: ({brandLabel}) Your verification code is ${otpCode}. Do not share it with others. For phone calls, the structure is as follows: Your verification code for ${brandLabel} is ${otpCode}. Do not share it with others..

locale
required
string
Default: "en"

String determining the language of the message to be sent in ISO 639-1 format. Currently, only en and es are supported.

userAgent
required
string or null

Used to detect fraudsters, bots, and identity theft; please ensure that you are sending proper values as obtained by your server.

ipAddress
required
string or null

The user's IP address captured by your server. This is a critical data point to detect fraud, offer the best verification methods available, among other operations.

Responses

Request samples

Content type
application/json
{
  • "countryCode": "string",
  • "cellphoneNumber": "string",
  • "channel": 0,
  • "otpCode": "string",
  • "brandLabel": "string",
  • "locale": "en",
  • "userAgent": "string",
  • "ipAddress": "string"
}

Response samples

Content type
application/json
{
  • "createdAt": "2019-08-24T14:15:22Z",
  • "countryCode": "string",
  • "phoneNumber": "string",
  • "channel": 0,
  • "locale": "string",
  • "referenceId": "string"
}

4. Insights

(Deprecated) Phone number and IP address insights Deprecated

(Deprecation notice: This web service will be removed by March 31st 2026, please migrate to version 1.2.1 of the phone insights service and 1.0.0 of the IP insights service to avoid service interruption) This endpoint is our most complete phone and IP address insights service that allows your application to get critical data on an IP address and/or phone number. It can be used to better understand user profiles, feed risk and credit models, stop fraud, detect hackers, and more. Please note that this service has an independent billing scheme. Even though your app can send either phone number or IP address, we recommend sending both for better results. Finally, this service is only available to paid plans and accounts with a minimum balance of 1 USD.

header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Request Body schema: application/json
required
transactionUuid
string

An optional UUID used to identify a group of identity validation requests as a unique transaction. Used for billing and data-coherence analysis of a single end-user identity. If one isn't provided, a new one will be provided as part of the response if the request was successful and useTransaction is set to true.

useTransaction
boolean

A boolean value that governs whether the request will create a request-bundling transaction if transactionUuid wasn't provided (ignored otherwise). The default is false. It is recommended to use transactions if you will query multiple web services to validate or obtain insights for a single user's identity; by doing so, you can leverage lower pricing (if your plan allows it) and obtain additional data points and better scoring (as we integrate more sources in our data-coherence analysis).

requestUuid
string

An optional string containing a UUID provided by your application to leverage idempotency and retrieve the results of the request in case of an interrupted connection.

dataPackages
required
Array of strings
Items Enum: "standard" "pro" "premium"

The desired data bundles to return in the form of a string array, please consider that this is directly linked to pricing and omitting a package will return some fields as null. Morever, including a package might increase the cost of your request and make it slower (as more data is queried and generated). Contact your sales representative for more details.

required
object or null

The phone number to enrich; can be provided as a string in E.164 format (e.g., +14155552671) or an object containing country code and number separately. Can only be null if ipAddress is provided.

ipAddress
required
string or null

The IP address to enrich; must be in IPv4 or IPv6 format. Can only be null if phoneNumber is provided. Please note that invalid, reserved, private, or local IP addresses (e.g., 127.0.0.1) will return no information.

Responses

Request samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "useTransaction": true,
  • "requestUuid": "string",
  • "dataPackages": [
    ],
  • "phoneNumber": {
    },
  • "ipAddress": "string"
}

Response samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "phoneNumberData": {
    },
  • "ipAddressData": {
    }
}

Digital footprint search

Search for a phone number's and/or email address's presence in social media, popular mobile apps, and over 100 platforms. This process can help detect fraudsters and identity theft events. The service operates under two modes:

  • Quick search: returns a record-based payload from a limited number of sites (+30); data uses inference in some cases, so it can be outdated or imprecise.
  • Deep search: a robust process that leverage several real-time inquiry methods to obtain up-to-date and precise data on accounts; this type can take minutes to complete. Please note that this service operates under an independent billing scheme, and each search type has a distinct price. Although your app can send either a phone number or an email address, we recommend sending both for better results. Finally, this service is only available to paid plans and accounts with a minimum balance of 1 USD.
header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Request Body schema: application/json
required
transactionUuid
string

An optional UUID used to identify a group of identity validation requests as a unique transaction. Used for billing and data-coherence analysis of a single end-user identity. If one isn't provided, a new one will be provided as part of the response if the request was successful and useTransaction is set to true.

useTransaction
boolean

A boolean value that governs whether the request will create a request-bundling transaction if transactionUuid wasn't provided (ignored otherwise). The default is false. It is recommended to use transactions if you will query multiple web services to validate or obtain insights for a single user's identity; by doing so, you can leverage lower pricing (if your plan allows it) and obtain additional data points and better scoring (as we integrate more sources in our data-coherence analysis).

requestUuid
string

An optional string containing a UUID provided by your application to leverage idempotency and retrieve the results of the request in case of an interrupted connection.

required
object or null

The phone number to use for the search. It can be provided as a string in E.164 format (e.g., +14155552671) or an object containing the country code and number separately. Can only be null if an email is provided.

email
required
string or null

The email address to use for the search. Must be a valid email address; if the email is invalid, the service will treat it as null. Can only be null if phoneNumber is provided.

searchTypes
required
Array of strings
Items Enum: "quick" "deep"

The desired search method to be used in the form of a string array, please consider that this is directly linked to pricing and using quick search will return some fields as null. Morever, including a search method might increase the cost of your request and make it slower (as more data is queried and generated). Contact your sales representative for more details.

Responses

Request samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "useTransaction": true,
  • "requestUuid": "string",
  • "phoneNumber": {
    },
  • "email": "string",
  • "searchTypes": [
    ]
}

Response samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "stats": {
    },
  • "accountMatches": [
    ],
  • "dataLeaks": {
    }
}

Phone number insights

This endpoint is our most complete phone insights service that allows your application to get critical data on a phone number. It can be used to better understand user profiles, feed risk and credit models, stop fraud, detect hackers, and more. Please note that this service has an independent billing scheme. Finally, this service is only available to paid plans and accounts with a minimum balance of 1 USD.

header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Request Body schema: application/json
required
transactionUuid
string

An optional UUID used to identify a group of identity validation requests as a unique transaction. Used for billing and data-coherence analysis of a single end-user identity. If one isn't provided, a new one will be provided as part of the response if the request was successful and useTransaction is set to true.

useTransaction
boolean

A boolean value that governs whether the request will create a request-bundling transaction if transactionUuid wasn't provided (ignored otherwise). The default is false. It is recommended to use transactions if you will query multiple web services to validate or obtain insights for a single user's identity; by doing so, you can leverage lower pricing (if your plan allows it) and obtain additional data points and better scoring (as we integrate more sources in our data-coherence analysis).

requestUuid
string

An optional string containing a UUID provided by your application to leverage idempotency and retrieve the results of the request in case of an interrupted connection.

dataPackages
required
Array of strings
Items Enum: "standard" "pro" "premium"

The desired data bundles to return in the form of a string array, please consider that this is directly linked to pricing and omitting a package will return some fields as null. Morever, including a package might increase the cost of your request and make it slower (as more data is queried and generated). Contact your sales representative for more details.

required
object or null

The phone number to obtain insights from. It can be provided as a string in E.164 format (e.g., +14155552671) or an object containing the country code and number separately.

Responses

Request samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "useTransaction": true,
  • "requestUuid": "string",
  • "dataPackages": [
    ],
  • "phoneNumber": {
    }
}

Response samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "countryIsoCode3166_2": "string",
  • "phoneCode": "string",
  • "phoneNumber": "string",
  • "serviceProvider": {
    },
  • "placeOfRegistration": {
    },
  • "lineType": "string",
  • "liveDataTier1": {
    },
  • "liveDataTier2": {
    },
  • "portability": {
    },
  • "riskAndFraudScoring": {
    },
  • "associatedIdentities": {
    },
  • "linkedIpAddresses": {
    },
  • "blacklistMatches": {
    },
  • "knownCapabilities": {
    },
  • "telcoScoring": {
    }
}

Email analysis and insights

This service analyzes an email address to generate relevant data points on the risk of interacting with it; ranging from detecting disposable accounts, flagging fraudlent and malicious addresses, and obtaining behavioral information. Please note that this service has an independent billing scheme and each search type has a different pricing. Finally, this service is only available to paid plans and accounts with a minimum balance of 1 USD.

header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Request Body schema: application/json
required
transactionUuid
string

An optional UUID used to identify a group of identity validation requests as a unique transaction. Used for billing and data-coherence analysis of a single end-user identity. If one isn't provided, a new one will be provided as part of the response if the request was successful and useTransaction is set to true.

useTransaction
boolean

A boolean value that governs whether the request will create a request-bundling transaction if transactionUuid wasn't provided (ignored otherwise). The default is false. It is recommended to use transactions if you will query multiple web services to validate or obtain insights for a single user's identity; by doing so, you can leverage lower pricing (if your plan allows it) and obtain additional data points and better scoring (as we integrate more sources in our data-coherence analysis).

requestUuid
string

An optional string containing a UUID provided by your application to leverage idempotency and retrieve the results of the request in case of an interrupted connection.

required
object or null

Options and potential configurations for your request that determine sensitivity levels and the type of analysis you want to perform. Sending this value as null will set all of the underlying properties to their defaults.

email
required
string

The email address that you want to analyze and obtain insights from.

Responses

Request samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "useTransaction": true,
  • "requestUuid": "string",
  • "configuration": {
    },
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "normalizedEmail": "string",
  • "potentiallyCorrectDomain": "string",
  • "basicChecks": {
    },
  • "traits": {
    },
  • "linkedIdentities": {
    },
  • "riskAnalysis": {
    },
  • "technicalTraits": {
    }
}

IP address analysis and insights

This service analyzes an IP address and web interaction metadata (user agent, language headers) to generate relevant data points on the risk of interacting with it; ranging from anonymous connections, flagging fraudlent and malicious addresses, and obtaining behavioral information. The process also returns information about the IP address's geolocation and performs reverse geocoding. Please note that this service has an independent billing scheme and each search type has a different pricing. Finally, this service is only available to paid plans and accounts with a minimum balance of 1 USD.

header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Request Body schema: application/json
required
transactionUuid
string

An optional UUID used to identify a group of identity validation requests as a unique transaction. Used for billing and data-coherence analysis of a single end-user identity. If one isn't provided, a new one will be provided as part of the response if the request was successful and useTransaction is set to true.

useTransaction
boolean

A boolean value that governs whether the request will create a request-bundling transaction if transactionUuid wasn't provided (ignored otherwise). The default is false. It is recommended to use transactions if you will query multiple web services to validate or obtain insights for a single user's identity; by doing so, you can leverage lower pricing (if your plan allows it) and obtain additional data points and better scoring (as we integrate more sources in our data-coherence analysis).

requestUuid
string

An optional string containing a UUID provided by your application to leverage idempotency and retrieve the results of the request in case of an interrupted connection.

ipAddress
required
string

The IP address to obtain insights from; must be in IPv4 or IPv6 format. Please note that invalid, reserved, private, or local IP addresses (e.g., 127.0.0.1) will return no information.

userAgent
string or null

The user agent string associated with the IP address, which we strongly recommend you provide if possible. If sent, we will run additional checks to detect bots and suspicious/invalid browsers. The value is also used to generate the fraud score and can improve scoring accuracy by over 20%.

userLanguage
string or null

The user's language header associated with the IP address; if provided, the value will improve the resulting fraud score. Example of expected value: en-US.

connectionIsMobileApp
boolean
Default: false

If set to true, the process will ignore the user agent string and treat the IP address as a connection from a mobile app, rather than a browser. Use this field carefully, as it can cause unexpected results if the IP address is not coming from a mobile device. Default value is false.

object

A configuration object to override default settings. It is recommended to use this field to fine-tune the insight-generation process. We strongly suggest that if your application is not time-sensitive, you enable forensic checks to obtain the most accurate results.

Responses

Request samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "useTransaction": true,
  • "requestUuid": "string",
  • "ipAddress": "string",
  • "userAgent": "string",
  • "userLanguage": "string",
  • "connectionIsMobileApp": false,
  • "configuration": {
    }
}

Response samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "mostLikelyGeolocation": {
    },
  • "alternativeGeolocation": {
    },
  • "technicalTraits": {
    },
  • "usageTraits": {
    },
  • "securityChecks": {
    },
  • "fraudAnalysis": {
    },
  • "userAgentStringAnalysis": {
    }
}

Geolocation insights and area analysis

This endpoint provides comprehensive geolocation information including reverse geocoding, area statistics and nearby infrastructure analysis. It returns address details (with accuracy-based masking), security statistics, quality of life indicators, and financial infrastructure information for a given latitude and longitude. The accuracy radius parameter controls the precision of the returned address information. Even though the reverse geocoding service is available globally, statistics and risk location analysis are only available for locations within Mexico. The service also requires a paid plan.

header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Request Body schema: application/json
required
transactionUuid
string

An optional UUID used to identify a group of identity validation requests as a unique transaction. Used for billing and data-coherence analysis of a single end-user identity. If one isn't provided, a new one will be provided as part of the response if the request was successful and useTransaction is set to true.

useTransaction
boolean

A boolean value that governs whether the request will create a request-bundling transaction if transactionUuid wasn't provided (ignored otherwise). The default is false. It is recommended to use transactions if you will query multiple web services to validate or obtain insights for a single user's identity; by doing so, you can leverage lower pricing (if your plan allows it) and obtain additional data points and better scoring (as we integrate more sources in our data-coherence analysis).

requestUuid
string

An optional string containing a UUID provided by your application to leverage idempotency and retrieve the results of the request in case of an interrupted connection.

latitude
required
number [ -90 .. 90 ]

Latitude coordinate between -90 and 90

longitude
required
number [ -180 .. 180 ]

Longitude coordinate between -180 and 180

accuracyRadiusInMeters
number [ 0 .. 50000 ]
Default: 0

Accuracy radius in meters (max 50000). If not provided, defaults to 0. Note: High-precision security signals (e.g., isInsidePrison) are only computed when accuracy <= 500 meters; otherwise those fields will be null to avoid false positives.

financialSearchRadiusInMeters
number [ 100 .. 10000 ]
Default: 3000

Custom radius in meters for the financial infrastructure search (defaults to 3000 when omitted).

language
string
Default: "en"
Enum: "af" "sq" "am" "ar" "hy" "az" "eu" "be" "bn" "bs" "bg" "my" "ca" "zh" "zh-CN" "zh-HK" "zh-TW" "hr" "cs" "da" "nl" "en" "en-AU" "en-GB" "et" "fa" "fi" "fil" "fr" "fr-CA" "gl" "ka" "de" "el" "gu" "iw" "hi" "hu" "is" "id" "it" "ja" "kn" "kk" "km" "ko" "ky" "lo" "lv" "lt" "mk" "ms" "ml" "mr" "mn" "ne" "no" "pl" "pt" "pt-BR" "pt-PT" "pa" "ro" "ru" "sr" "sr-Latn" "si" "sk" "sl" "es" "es-419" "sw" "sv" "ta" "te" "th" "tr" "uk" "ur" "uz" "vi" "zu"

IETF language code used to localize the reverse geocoded address (e.g., zh-CN, fr, es-419).

Responses

Request samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "useTransaction": true,
  • "requestUuid": "string",
  • "latitude": 19.4326,
  • "longitude": -99.1332,
  • "accuracyRadiusInMeters": 1000,
  • "financialSearchRadiusInMeters": 1500,
  • "language": "es"
}

Response samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "address": {
    },
  • "stats": {
    }
}

3. Identity Validation

Proof of address validation (OCR + Attestation)

Send a PDF or JPG file of a proof-of-address document to extract its contents using Optical Character Recognition (OCR), and, if the type of document is supported, validate its authenticity (attestation) against the company or institution that creates that type of document. Supported types:

  • Mexico: OCR (Comisión Federal de Electricidad / CFE, Telmex, Telcel, Megacable, Sky, Izzi) & Attestation (Comisión Federal de Electricidad / CFE).

Please note, the resulting payload and billing will change depending on the the type of document provided and if attestation is supported.

header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Request Body schema: application/json
required
transactionUuid
string

An optional UUID used to identify a group of identity validation requests as a unique transaction. Used for billing and data-coherence analysis of a single end-user identity. If one isn't provided, a new one will be provided as part of the response if the request was successful and useTransaction is set to true.

useTransaction
boolean

A boolean value that governs whether the request will create a request-bundling transaction if transactionUuid wasn't provided (ignored otherwise). The default is false. It is recommended to use transactions if you will query multiple web services to validate or obtain insights for a single user's identity; by doing so, you can leverage lower pricing (if your plan allows it) and obtain additional data points and better scoring (as we integrate more sources in our data-coherence analysis).

requestUuid
string

An optional string containing a UUID provided by your application to leverage idempotency and retrieve the results of the request in case of an interrupted connection.

documentB64
required
string

A PDF document or JPG image of the Proof of Address to validate encoded as a Base64 string. For better performance and reduced response time, use JPG images and keep the file size as small as possible without compromising readability (please keep in mind that that if the image is too small or pixelated, the OCR will fail and the service can have unintended results). Usually a reasonable file size is within 1 to 3 MBs.

timeoutInSeconds
number [ 1 .. 3600 ]

An optional value that governs how long the service will wait for an attestation response from the PoA's issuer. If the third-party is under heavy load or facing availability issues, requests can hang or be delayed. If not provided, the service will default to 60 seconds. The value must be an integer between 1 and 3600.

Responses

Request samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "useTransaction": true,
  • "requestUuid": "string",
  • "documentB64": "string",
  • "timeoutInSeconds": 1
}

Response samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "ocrExtractedData": {
    },
  • "basicCoherenceChecks": [
    ],
  • "validityChecks": {
    },
  • "issuerProvidedData": {
    },
  • "attestationResultCode": "ATTESTATION_UNSUPPORTED",
  • "validationAnalysis": {
    }
}

Proof of address OCR

Note: This service, along with the attestation service, is a split form of the overall Proof of Address validation service; we recommend using that one, unless your use case requires the separation of OCR and attestation processes.

Send a PDF or JPG file of a proof-of-address document to extract its contents using Optical Character Recognition (OCR). Supported types:

  • Mexico: OCR (Comisión Federal de Electricidad / CFE, Telmex, Telcel, Megacable, Sky, Izzi).

Please note, the resulting payload and billing will change depending on the the type of document provided.

header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Request Body schema: application/json
required
transactionUuid
string

An optional UUID used to identify a group of identity validation requests as a unique transaction. Used for billing and data-coherence analysis of a single end-user identity. If one isn't provided, a new one will be provided as part of the response if the request was successful and useTransaction is set to true.

useTransaction
boolean

A boolean value that governs whether the request will create a request-bundling transaction if transactionUuid wasn't provided (ignored otherwise). The default is false. It is recommended to use transactions if you will query multiple web services to validate or obtain insights for a single user's identity; by doing so, you can leverage lower pricing (if your plan allows it) and obtain additional data points and better scoring (as we integrate more sources in our data-coherence analysis).

requestUuid
required
string

A string containing a UUID provided by your application to leverage idempotency and retrieve the results of the request in case of an interrupted connection.

documentB64
required
string

A PDF document or JPG image of the Proof of Address to validate encoded as a Base64 string. For better performance and reduced response time, use JPG images and keep the file size as small as possible without compromising readability (please keep in mind that that if the image is too small or pixelated, the OCR will fail and the service can have unintended results). Usually a reasonable file size is within 1 to 3 MBs.

Responses

Request samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "useTransaction": true,
  • "requestUuid": "string",
  • "documentB64": "string"
}

Response samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "ocrExtractedData": {
    },
  • "basicCoherenceChecks": [
    ],
  • "validityChecks": {
    }
}

Proof of address attestation

Note: This service, along with the OCR service, is a split form of the overall Proof of Address validation service; we recommend using that one, unless your use case requires the separation of OCR and attestation processes.

Trigger the attestation process of a proof-of-address document previously sent to our OCR processing service to validate its authenticity (attestation) against the company or institution that creates that type of document. Supported types:

  • Mexico: Attestation (Comisión Federal de Electricidad / CFE).

Please note, the resulting payload and billing will change depending on the the type of document provided and if attestation is supported.

header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Request Body schema: application/json
required
transactionUuid
string

An optional UUID used to identify a group of identity validation requests as a unique transaction. Used for billing and data-coherence analysis of a single end-user identity. If one isn't provided, a new one will be provided as part of the response if the request was successful and useTransaction is set to true.

useTransaction
boolean

A boolean value that governs whether the request will create a request-bundling transaction if transactionUuid wasn't provided (ignored otherwise). The default is false. It is recommended to use transactions if you will query multiple web services to validate or obtain insights for a single user's identity; by doing so, you can leverage lower pricing (if your plan allows it) and obtain additional data points and better scoring (as we integrate more sources in our data-coherence analysis).

timeoutInSeconds
number [ 1 .. 3600 ]

An optional value that governs how long the service will wait for an attestation response from the PoA's issuer. If the third-party is under heavy load or facing availability issues, requests can hang or be delayed. If not provided, the service will default to 60 seconds. The value must be an integer between 1 and 3600.

ocrRequestUuid
required
string

A string containing the UUID provided by your application to the OCR endpoint. The attestation process will be executed against the information extracted by that service. This service is idempotent, and repeated calls with the same ocrRequestUuid will return the same result (unless the result is not ready).

Responses

Request samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "useTransaction": true,
  • "timeoutInSeconds": 1,
  • "ocrRequestUuid": "string"
}

Response samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "issuerProvidedData": {
    },
  • "attestationResultCode": "ATTESTATION_UNSUPPORTED",
  • "validationAnalysis": {
    }
}

Tax ID validation

An endpoint that validates a person's tax ID or national ID in the country's governmental official database. Supported types:

  • Mexico: RFC or CURP (When using CURP, the tax ID number will be built from scratch and might lead to a lower accuracy).

Please note, the resulting payload and billing will change depending on the the type of ID provided.

header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Request Body schema: application/json
required
transactionUuid
string

An optional UUID used to identify a group of identity validation requests as a unique transaction. Used for billing and data-coherence analysis of a single end-user identity. If one isn't provided, a new one will be provided as part of the response if the request was successful and useTransaction is set to true.

useTransaction
boolean

A boolean value that governs whether the request will create a request-bundling transaction if transactionUuid wasn't provided (ignored otherwise). The default is false. It is recommended to use transactions if you will query multiple web services to validate or obtain insights for a single user's identity; by doing so, you can leverage lower pricing (if your plan allows it) and obtain additional data points and better scoring (as we integrate more sources in our data-coherence analysis).

requestUuid
string

An optional string containing a UUID provided by your application to leverage idempotency and retrieve the results of the request in case of an interrupted connection.

required
object

The search parameters for the tax ID validation request.

Responses

Request samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "useTransaction": true,
  • "requestUuid": "string",
  • "searchParams": {
    }
}

Response samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "normalizedTaxId": "string",
  • "isValid": true,
  • "personType": "Individual",
  • "name": "string",
  • "mexico": {
    }
}

Education history search

A service that searches for a person's educational history (undergrad and postgrad degrees) in the country's governmental official database. Supported countries:

  • Mexico (your application can provide a full name (and optional date of birth) or a national ID (CURP) to perform the search).

Please note, the resulting payload and billing will change depending on the the type of data used provided for the search.

header Parameters
authorization
required
string

Your Veriph.One API Key Secret; using the Basic auth structure: Basic XXXX...XXXX

x-api-key
required
string

Your Veriph.One API Key

Request Body schema: application/json
required
transactionUuid
string

An optional UUID used to identify a group of identity validation requests as a unique transaction. Used for billing and data-coherence analysis of a single end-user identity. If one isn't provided, a new one will be provided as part of the response if the request was successful and useTransaction is set to true.

useTransaction
boolean

A boolean value that governs whether the request will create a request-bundling transaction if transactionUuid wasn't provided (ignored otherwise). The default is false. It is recommended to use transactions if you will query multiple web services to validate or obtain insights for a single user's identity; by doing so, you can leverage lower pricing (if your plan allows it) and obtain additional data points and better scoring (as we integrate more sources in our data-coherence analysis).

requestUuid
string

An optional string containing a UUID provided by your application to leverage idempotency and retrieve the results of the request in case of an interrupted connection.

required
object

The search parameters for the education history search request. Please note that using national ID for the search will incur in additional costs.

Responses

Request samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "useTransaction": true,
  • "requestUuid": "string",
  • "searchParams": {
    }
}

Response samples

Content type
application/json
{
  • "transactionUuid": "string",
  • "searchResults": [
    ],
  • "metadata": {
    }
}

5. Misc

Health Check

Simple endpoint to check on our servers' availability.

Responses

Response samples

Content type
application/json
{
  • "module": "string",
  • "now": "string"
}