openapi: 3.0.3
info:
title: Mastercard ID Verification
description: >-
In this digital world, user identity fraud is on the rise due to inadequate
digital identity verification methods. The ID Networkopens in a new tab
model provides users with greater control of their digital identityopens in
a new tab and enables organizations to provide seamless digital interactions
with reduced risk. The ID network protects personal data and privacy by
allowing individuals to control when and with whom their identity data is
shared.
contact:
name: API Support
email: apisupport@mastercard.com
url: https://developer.mastercard.com/support
version: 1.0.2
servers:
- url: https://api.mastercard.com.au/idverify
description: Production server (uses live data)
- url: https://sandbox.api.mastercard.com.au/idverify
description: Sandbox server (testing environment)
tags:
- name: SMS OTP
description: SMS One Time Password generation and validation related operations.
- name: Email OTP
description: Email One Time Password generation and validation related operations.
- name: ID Document Data Extraction
description: ID document proofing, binding and data retrieval related operations.
- name: ID Document Data Source Verification
description: ID document data source verfication operations.
paths:
/data-extractions/access-tokens:
post:
x-mastercard-api-encrypted: true
tags:
- Data
- Extractions
- Access
- Tokens
responses:
'200':
$ref: '#/components/responses/AccessTokenSuccessResponse'
'400':
$ref: '#/components/responses/BadRequestError'
description: Return a provider token to be passed to the MIDS Liveness SDK module.
summary: The provider token is retrieved by country code and SDK version
operationId: retrieveDataExtractionAccessToken
requestBody:
$ref: '#/components/requestBodies/AccessTokenRequest'
parameters:
- $ref: '#/components/parameters/EncryptedPayloadParameter'
/data-extractions/facematch:
post:
summary: Verifies the details of a selfie with an identity verification provider
tags:
- Data
- Extractions
- I D Document Data Extraction
responses:
'200':
$ref: '#/components/responses/FacematchResult'
'400':
$ref: '#/components/responses/BadRequestError'
'403':
$ref: '#/components/responses/ForbiddenError'
description: >-
Returns the Status of the Source Verification that has been processed by
a trusted IVP.
operationId: facematchVerification
parameters:
- $ref: '#/components/parameters/EncryptedPayloadParameter'
requestBody:
$ref: '#/components/requestBodies/SelfieVerificationRequest'
/sms-otps:
post:
x-mastercard-api-encrypted: true
summary: Creates and Send a One-Time Passcode (OTP) via SMS
tags:
- Otps
responses:
'200':
$ref: '#/components/responses/SmsOtpGenerationSuccessResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
description: >-
Create and Send a One-Time Passcode (OTP) via SMS to the address
provided.
operationId: sendSmsOtp
requestBody:
$ref: '#/components/requestBodies/SmsOtpGenerationRequest'
parameters:
- $ref: '#/components/parameters/EncryptedPayloadParameter'
/email-otps:
post:
x-mastercard-api-encrypted: true
summary: Creates and Send a One-Time Passcode (OTP) via Email
tags:
- Email
- Email O T P
responses:
'200':
$ref: '#/components/responses/EmailOtpGenerationSuccessReponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
description: >-
Create and Send a One-Time Passcode (OTP) via Email to the address
provided.
operationId: sendEmailOtp
requestBody:
$ref: '#/components/requestBodies/EmailOtpGenerationRequest'
parameters:
- $ref: '#/components/parameters/EncryptedPayloadParameter'
/sms-otp-verifications:
post:
x-mastercard-api-encrypted: true
summary: Verifies the provided code matches the SMS OTP
tags:
- Verifications
responses:
'200':
$ref: '#/components/responses/SmsOtpVerificationSuccessResponses'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
description: Verify provided code matches the SMS OTP.
operationId: verifySmsOtp
requestBody:
$ref: '#/components/requestBodies/SmsOtpVerificationRequest'
parameters:
- $ref: '#/components/parameters/EncryptedPayloadParameter'
/email-otp-verifications:
post:
x-mastercard-api-encrypted: true
summary: Verifies the provided code matches the Email OTP
tags:
- Email
- Verifications
responses:
'200':
$ref: '#/components/responses/EmailOtpVerificationResponses'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
description: >-
Verify that the provided code matches One-Time Passcode (OTP) sent via
Email during `/email-otps`.
operationId: verifyEmailOtp
requestBody:
$ref: '#/components/requestBodies/EmailOtpVerficationRequest'
parameters:
- $ref: '#/components/parameters/EncryptedPayloadParameter'
/data-extractions/scans/{scan_id}:
get:
x-mastercard-api-encrypted: true
summary: Returns the status of the document verification.
tags:
- Data
- Extractions
- Scans
responses:
'200':
$ref: '#/components/responses/DataExtractionSuccessResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
description: >-
Returns the status of the document verification as it's being processed
by the vendor.
operationId: extractScannedDocumentData
parameters:
- $ref: '#/components/parameters/ScanIdParameter'
- $ref: '#/components/parameters/UserConsentParameter'
- $ref: '#/components/parameters/RetrieveSelfieParameter'
- $ref: '#/components/parameters/RetrieveDocumentImagesParameter'
- $ref: '#/components/parameters/RetrieveFacemapParameter'
- $ref: '#/components/parameters/DocumentTypeParameter'
- $ref: '#/components/parameters/CountryParameter'
- $ref: '#/components/parameters/EncryptedPayloadParameter'
/source-verifications/{issuing_country}/medicare-cards:
post:
x-mastercard-api-encrypted: true
summary: >-
Verifies the details of a medicare card document with an identity
verification provider
tags:
- Sources
- Verifications
- Issuing
- Countries
- Cards
responses:
'200':
$ref: '#/components/responses/MedicareCardSourceVerificationResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
description: >-
Returns the status of the Medicare Card source verification as it's
being processed by the vendor. Biometrics are not used with this API,
which means document scanning is not required for the users to verify
their identity. This will be a one-time verification with no data being
stored.
operationId: verifyMedicareCard
parameters:
- $ref: '#/components/parameters/IssuingCountryParameter'
- $ref: '#/components/parameters/EncryptedPayloadParameter'
requestBody:
$ref: '#/components/requestBodies/MedicareCardSourceVerificationRequest'
/source-verifications/{issuing_country}/passports:
post:
x-mastercard-api-encrypted: true
summary: >-
Verifies the details of a passport document with an identity
verification provider
tags:
- Sources
- Verifications
- Issuing
- Countries
- I D Document Data Source Verification
responses:
'200':
$ref: '#/components/responses/PassportSourceVerificationResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'403':
$ref: '#/components/responses/ForbiddenError'
description: >-
Returns the Status of the Source Verification that has been processed by
a trusted IVP.
operationId: verifyPassport
parameters:
- $ref: '#/components/parameters/IssuingCountryParameter'
- $ref: '#/components/parameters/EncryptedPayloadParameter'
requestBody:
$ref: '#/components/requestBodies/PassportSourceVerificationRequest'
/source-verifications/{issuing_country}/driving-licenses:
post:
x-mastercard-api-encrypted: true
summary: >-
Verifies the details of a driving license document with an identity
verification provider
tags:
- Sources
- Verifications
- Issuing
- Countries
- Driving
- Licenses
responses:
'200':
$ref: '#/components/responses/DriversLicenseSourceVerificationResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'403':
$ref: '#/components/responses/ForbiddenError'
description: >-
Returns the Status of the Source Verification that has been processed by
a trusted IVP.
operationId: verifyDriversLicense
parameters:
- $ref: '#/components/parameters/IssuingCountryParameter'
- $ref: '#/components/parameters/EncryptedPayloadParameter'
requestBody:
$ref: '#/components/requestBodies/DriversLicenseSourceVerificationRequest'
components:
schemas:
DocumentVerificationExtractedDataDocumentData:
description: Document Data.
required:
- dateOfBirth
- documentNumber
- documentStatus
- documentType
- expiryDate
- firstName
- gender
- issuingCountry
- issuingDate
- lastName
type: object
properties:
documentNumber:
description: Document Number.
example: N1234567
type: string
minLength: 1
maxLength: 255
documentStatus:
description: Document Status. SUCCESS OR PENDING.
example: SUCCESS
type: string
minLength: 1
maxLength: 7
documentType:
description: Document Type. PASSPORT OR DRIVER_LICENSE OR ID_CARD.
example: PASSPORT
type: string
minLength: 1
maxLength: 50
pattern: ^(DRIVING_LICENSE|PASSPORT|ID_CARD)$
dateOfBirth:
description: YYYY-MM-DD format.
example: '2020-09-09'
type: string
minLength: 10
maxLength: 10
firstName:
description: Users First Name.
example: John
type: string
minLength: 1
maxLength: 255
lastName:
description: Users Last Name.
example: Smith
type: string
minLength: 1
maxLength: 255
expiryDate:
description: Document expiration date in YYYY-MM-DD format.
example: '2020-10-10'
type: string
format: date
minLength: 10
maxLength: 10
gender:
description: M/F.
example: M
type: string
minLength: 1
maxLength: 1
issuingCountry:
description: Document issuing country.
example: AUS
type: string
minLength: 3
maxLength: 3
issuingDate:
description: Document issuing date.
example: '2020-09-09'
type: string
format: date
minLength: 10
maxLength: 10
issuingPlace:
description: Document issuing place.
example: New York
type: string
minLength: 1
maxLength: 50
issuingAuthority:
description: Document issuing authority.
example: United States
type: string
minLength: 1
maxLength: 50
placeOfBirth:
description: Users place of birth.
example: Boston
type: string
minLength: 1
maxLength: 255
addressLine1:
description: Users Address Line 1.
example: 123 Main St.
type: string
minLength: 1
maxLength: 255
addressLine2:
description: Users Address Line 2.
example: New York
type: string
minLength: 1
maxLength: 255
addressZipCode:
description: Users zip code.
example: '10021'
type: string
minLength: 1
maxLength: 50
addressCity:
description: Users City.
example: New York
type: string
minLength: 1
maxLength: 100
addressCountry:
description: Users Country.
example: USA
type: string
minLength: 2
maxLength: 3
addressSubdivision:
description: Users Subdivision.
example: MO
type: string
minLength: 2
maxLength: 100
issuingState:
description: Users State.
example: MO
type: string
minLength: 2
maxLength: 100
formattedAddress:
description: Users formatted Address.
example: 220 BLVD O FALLON MO
type: string
minLength: 1
maxLength: 200
selfie:
description: Users Selfie Binary data, Base64 encoded.
example: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
type: string
minLength: 1
documentImageFront:
description: Users document front binary data, Base64 encoded.
example: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
type: string
minLength: 1
documentImageBack:
description: Users document back binary data, Base64 encoded.
example: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
type: string
minLength: 1
facemap:
description: Users document facemap binary data, Base64 encoded.
example: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
type: string
minLength: 1
rgNumber:
type: string
minLength: 1
maxLength: 255
description: RG Number.
example: 12345
cpf:
type: string
minLength: 1
maxLength: 255
description: CPF Number.
example: 12345
fathersName:
type: string
minLength: 1
maxLength: 255
description: Father's Name.
example: John Smith
mothersName:
type: string
minLength: 1
maxLength: 255
description: Mother's Name.
example: Paula Smith
DocumentVerificationExtractedData:
required:
- status
- transactionId
type: object
properties:
documentData:
$ref: '#/components/schemas/DocumentVerificationExtractedDataDocumentData'
status:
description: The status of the Status API, possible values are SUCCESS / PENDING.
example: SUCCESS
type: string
minLength: 1
maxLength: 7
transactionId:
description: >-
The transaction ID provided in the API response must be logged by
the Relying Party. The Relying Party is required to provide the
transaction ID when contacting the Mastercard customer support team.
example: 1ec14310-e85c-11ea-adc1-0242ac120002
type: string
minLength: 36
maxLength: 36
AccessToken:
required:
- apiDataCenter
- sdkToken
- transactionId
type: object
properties:
transactionId:
description: >-
The transaction ID provided in the API response must be logged by
the Relying Party. The Relying Party is required to provide the
transaction ID when contacting the Mastercard customer support team.
type: string
example: 1ec14310-e85c-11ea-adc1-0242ac120002
minLength: 36
maxLength: 36
accountId:
description: >-
The accountId is an identifier for the client's account on the
identity verification provider used by ID Verification.
type: string
example: 14c01794-926a-426f-ad72-c45f8fbf78a4
minLength: 36
maxLength: 36
workflowId:
description: >-
The workflowId is the identifier for the scan on the identity
verification provider used by ID Verification.
type: string
example: 5226539e-78e7-45ac-a924-072d1301c24c
minLength: 36
maxLength: 36
sdkToken:
description: Token to initialize the SDK.
type: string
example: >-
eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAB3NQQpCMQwE0Lt0baBJ0yZ159KtN0jTBgTBjYgg3t3__3KGN8w3rc_llc4JG6KUhrmoYjolc7_OvWfPKJ2hUzNgagE2hcC5hsYIUeOdH7gStVr6AtElwNUcrBNDFppYMjqxb9hvKzb9fNzfa4_HVkORomdoggsYp8HgPqAWF43VtsOcfn_stx4UsAAAAA.tDRVowYYcpQ03Vlt7D3MiovleiyRFQMv4qzXb7Lf_6CarphRrlWXan8-jE-YesNiAiT8tk0b-i8TKHGrcgT1VQ
minLength: 1
maxLength: 328
apiDataCenter:
description: API Data Center. The accepted values are US, EU or SG.
type: string
example: US
minLength: 1
maxLength: 2
documentVerificationUrl:
description: Web url to display in iframe.
type: string
example: >-
https://mastercard.web.apac-1.jumio.link/web/v4/app?authorizationToken=eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAJXOQQ5CIQxF0b0wtkmBFqgzh07_Dkp_iWM10cS4d0FX4PTm5OW9gj9P93AMsaRaS845CVM4BDU776sLi5JGiM06UGGDLiUCRaLa0rDR6uJf7FH6mBwYtUyCBcSywBznbmMfGdPEj-H_cNt8TL35zfVql1V-12o0SZ3AGysQ1wKNFCGbsjlyUsTw_gANOZ5b4gAAAA.2bo6KfOvGIswNRNTXv6QtoGvHyNYp_j3LwHia9DtuWna3y_LLI1VgPZle46Q5cFHuuMJB7g7y4wHbtogBX2HfQ&locale=en-US
RetrieveAccessToken:
required:
- countryCode
- channelType
type: object
properties:
countryCode:
type: string
example: US
pattern: ^[a-zA-Z]{2}$
description: >-
The ISO 3166-1 alpha2 code which corresponds to the country from
where the request to ID is originating from.
channelType:
type: string
example: WEB
description: The platform where the request is generated from.
enum:
- WEB
- SDK
minLength: 3
maxLength: 3
sdkVersion:
type: string
example: 1.0.0
pattern: ^[0-9]{1,5}\.[0-9]{1,5}\.[0-9]{1,5}$
description: >-
The SDK's version that the application is using. Required if the
channelType is `SDK`.
livenessType:
type: string
example: GPA
description: >-
The preferred liveness type to be applied; Liveness Assurance (LA)
or Genuine Presence Assurance (GPA), where GPA provides LA
capability and also additional checks that ensure the user is
genuinely present.
enum:
- GPA
- LA
minLength: 2
maxLength: 3
successUrl:
type: string
example: https://www.rp.com/success
description: >-
The URL to be redirected to if the token request is successful. Must
be present if the channelType is WEB.
pattern: >-
^((https):\/\/)([-\w.])+(:[0-9]+)?\/?(\/[-.\w]*)*((\?|\&)([^=]+)\=([^&]*))*$
errorUrl:
type: string
example: https://www.rp.com/error
description: >-
The URL to be redirected to if the token request is not successful.
Must be present if the channelType is WEB.
pattern: >-
^((https):\/\/)([-\w.])+(:[0-9]+)?\/?(\/[-.\w]*)*((\?|\&)([^=]+)\=([^&]*))*$
locale:
description: >-
The IETF BCP 47 value which determines the language variant to be
applied in the subsequent scanning dialogs accessed via the token.
type: string
default: en-US
example: en-GB
pattern: ^[a-z]{2}-[a-zA-Z]{2}$
document:
type: object
description: >-
An optional object which allows the Relying Party to limit the
country and type of document which can be submitted, by not
displaying a document selection screen within the user journey. If
only one of the document type or issuing country fields is
populated, then the associated dialog option on the document
selection screen will continue be displayed.
properties:
issuingCountry:
type: string
example: USA
pattern: ^[A-Z]{3}$
description: >-
Element used to restrict the issuing country of the document
that can be uploaded by the user. Inclusion of a value for this
element will result in the issuing country option being removed
from the Document Selection screen. If a value is also included
for the documentType element, then the Document Selection screen
will not be displayed at all. The value submitted needs to
comply to the ISO 3166-1 Alpha 3 standard.
documentType:
type: string
example: DRIVING_LICENSE
description: >-
Element used to restrict the type of document that can be
uploaded by the user. Inclusion of a value for this element will
result in the document type option being removed from the
Document Selection screen. If a value is also included for the
issuingCountry element, then the Document Selection screen will
not be displayed at all. The value submitted must be one of the
following enum values.
enum:
- DRIVING_LICENSE
- ID_CARD
- PASSPORT
workflowDefinition:
type: String
example: DOCUMENT_EXTRACTION_FACEMATCH_LIVENESS
description: >-
Value which indicates the capabilities which are to be executed
within the flow:
- Document Extraction Verifies a
document is genuine and provides an extract of the details contained
in that document.
- Document Extraction, Facematch and
Liveness Verifies a document is genuine, provides an extract of
the details contained in that document, and verifies the user is
live and is the subject of that document.
- Facematch
Matches a user to a previously verified document.
If no
value is supplied then the full document extraction, liveness and
face matching capability will be enacted by default.
enum:
- DOCUMENT_EXTRACTION
- DOCUMENT_EXTRACTION_FACEMATCH_LIVENESS
- FACEMATCH
accountId:
type: string
example: 14c01794-926a-426f-ad72-c45f8fbf78a4
pattern: ^[a-zA-Z][0-9][-]{*}$
description: >-
Required only when the FACEMATCH enum is specified in the
workflowDefinition field.
The accountId value returned to the
client in a previous access token call for the document which is to
form the basis for the face-match.
workflowId:
type: string
example: 5226539e-78e7-45ac-a924-072d1301c24c
pattern: ^[a-zA-Z][0-9][-]{*}$
description: >-
Required only when the FACEMATCH enum is specified in the
workflowDefinition field.
The workflowId value returned to the
client in a previous access token call for the document which is to
form the basis for the face-match.
OtpVerificationResult:
required:
- responseCode
- responseMessage
- transactionId
type: object
properties:
responseCode:
description: '`SUCCESS`, `FAILURE` or `ATTEMPTS_EXCEEDED`.'
type: string
example: SUCCESS
minLength: 1
maxLength: 17
responseMessage:
description: A short message describing the response code.
type: string
example: OTP verified
minLength: 1
maxLength: 255
transactionId:
description: >-
The transaction ID provided in the API response must be logged by
the Relying Party. The Relying Party is required to provide the
transaction ID when contacting the Mastercard customer support team.
type: string
example: 28eae1aa-6744-433e-879d-7da48d63e89a
minLength: 36
maxLength: 36
attemptsRemaining:
description: >-
The number of attempts remaining. This field is only populated for
the `FAILURE` response code.
type: integer
format: int32
example: 2
Otp:
required:
- otpId
- transactionId
type: object
properties:
otpId:
description: A random 128-bit UUID representing otp request.
type: string
example: 471dddb6-7204-4ac6-a94a-fdeb7a094a85
minLength: 36
maxLength: 36
transactionId:
description: >-
The transaction ID provided in the API response must be logged by
the Relying Party. The Relying Party is required to provide the
transaction ID when contacting the Mastercard customer support team.
type: string
example: bd400bde-8ae1-4d7b-a39e-ebebb94e6d08
minLength: 36
maxLength: 36
OtpVerification:
required:
- code
- countryCode
- otpId
type: object
properties:
code:
description: The 6-digit code which was sent to the user.
type: string
example: '123456'
pattern: ^[0-9]{6}$
minLength: 6
maxLength: 6
otpId:
minLength: 36
maxLength: 36
description: The otpId in the response body of create otp request.
type: string
example: 63d04933-02b6-4ea4-adf9-68696e675a01
pattern: >-
^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$
countryCode:
minLength: 2
maxLength: 2
description: >-
The ISO 3166-1 alpha2 code which corresponds to the country from
where the request to ID is originating from.
type: string
pattern: ^[a-zA-Z]{2}$
example: BR
userConsent:
description: >-
The value which best reflects the input of the User with regard to
consent to use their data.
enum:
- ACCEPT
- DECLINE
- REVOKE
- EXPIRE
type: string
example: ACCEPT
EmailOtp:
required:
- countryCode
- emailAddress
type: object
properties:
countryCode:
description: >-
The ISO 3166-1 alpha2 code which corresponds to the country from
where the request to ID is originating from.
type: string
example: BR
pattern: ^[a-zA-Z]{2}$
minLength: 2
maxLength: 2
emailAddress:
description: The email address in which to send the OTP to.
type: string
pattern: ^[\w-\.\'\\]+@([\w-]+\.)+[\w-]{2,4}$
example: john.dunne@domain.com
minLength: 1
locale:
description: >-
The IETF BCP 47 value which determines the language variant to be
applied in the OTP messages.
type: string
default: en-US
example: en-GB
pattern: ^[a-z]{2}-[a-zA-Z]{2}$
userConsent:
description: >-
The value which best reflects the input of the User with regard to
consent to use their data.
enum:
- ACCEPT
- DECLINE
- REVOKE
- EXPIRE
type: string
example: ACCEPT
SMSOtp:
required:
- countryCode
- phoneNumber
type: object
properties:
countryCode:
maxLength: 2
description: >-
The ISO 3166-1 alpha2 code which corresponds to the country from
where the request to ID is originating from.
type: string
example: BR
pattern: ^[a-zA-Z]{2}$
phoneNumber:
maxLength: 15
description: >-
The phone number in which to send the OTP to. It should be prefixed
with the international dialing code, without the '+'.
type: string
pattern: ^[1-9]\d{2,14}$
example: '553453554563'
locale:
description: >-
The IETF BCP 47 value which determines the language variant to be
applied in the OTP messages.
type: string
example: en-GB
default: en-US
pattern: ^[a-z]{2}-[a-zA-Z]{2}$
userConsent:
description: >-
The value which best reflects the input of the User with regard to
consent to use their data.
enum:
- ACCEPT
- DECLINE
- REVOKE
- EXPIRE
type: string
example: ACCEPT
MedicareCardSourceVerificationRequestAttributes:
required:
- userConsent
- cardColor
- nameLine1
- medicareCardNo
- individualReferenceNo
- countryCode
- expiryDate
properties:
userConsent:
description: >-
The value which best reflects the input of the User with regard to
consent to use their data.
enum:
- ACCEPT
- DECLINE
- REVOKE
- EXPIRE
type: string
example: ACCEPT
minLength: 6
maxLength: 7
cardColor:
description: Medicard Color can be GREEN, BLUE OR YELLOW.
enum:
- GREEN
- BLUE
- YELLOW
type: string
example: BLUE
minLength: 4
maxLength: 6
nameLine1:
description: Name Line 1.
example: Smith
type: string
minLength: 1
maxLength: 27
pattern: ^[a-zA-Z\s ,.'-]{1,27}$
medicareCardNo:
description: Unique number for Medicare card.
type: string
maxLength: 10
example: '1234567890'
pattern: ^[0-9]{10}$
individualReferenceNo:
description: Individual Reference Number.
type: string
maxLength: 1
example: '1'
pattern: ^[0-9]{1}$
countryCode:
description: >-
Country code (case insensitive) as described in the ISO 3166-1
alpha-3 international standard.
type: string
example: AUS
pattern: ^[a-zA-Z]{3}
expiryDate:
example: '2000-12-31'
description: >-
The expiry date as it appears on the card, following the color and
format. Green card YYYY-MM, Yellow or Blue card YYYY-MM-DD.
type: string
minLength: 7
maxLength: 10
nameLine2:
description: Name Line 2.
example: Steve
type: string
minLength: 1
maxLength: 25
pattern: ^[a-zA-Z\s ,.'-]{1,25}$
nameLine3:
description: Name Line 3.
example: Baven
type: string
minLength: 1
maxLength: 23
pattern: ^[a-zA-Z\s ,.'-]{1,23}$
nameLine4:
description: Name Line 4.
example: Mike
type: string
minLength: 1
maxLength: 21
pattern: ^[a-zA-Z\s ,.'-]{1,21}$
birthDate:
example: '2010-10-25'
description: YYYY-MM-DD format.
type: string
format: date
minLength: 10
maxLength: 10
pattern: ^[0-9]{4}-[0-1][0-9]-[0-3][0-9]
MedicareCardSourceVerificationResult:
required:
- verificationResult
type: object
properties:
verificationResult:
type: string
example: DOCUMENT_VERIFIED
description: >-
Verification Results, following : DOCUMENT_VERIFIED - Document
matches with the IVP registered document, DOCUMENT_NOT_VERIFIED -
Document does not match with any of the IVP registered document,
DOCUMENT_INVALID - Document is invalid or not electronically
captured.
minLength: 16
maxLength: 21
FacematchSourceVerificationResult:
required:
- verificationResult
- accountId
- workflowId
type: object
properties:
verificationResult:
type: string
example: DOCUMENT_VERIFIED
description: >-
Verification Results, following: DOCUMENT_VERIFIED - Document
matches with the IVP registered document, DOCUMENT_NOT_VERIFIED -
Document does not match with any of the IVP registered document,
DOCUMENT_INVALID - Document is invalid or not electronically
captured
workflowId:
description: >-
The workflowId is the identifier for the scan on the identity
verification provider used by ID Verification.
type: string
example: 5226539e-78e7-45ac-a924-072d1301c24c
minLength: 36
maxLength: 36
accountId:
description: >-
The accountId is an identifier for the client's account on the
identity verification provider used by ID Verification.
type: string
example: 14c01794-926a-426f-ad72-c45f8fbf78a4
minLength: 36
maxLength: 36
PassportSourceVerificationRequestAttributes:
required:
- documentNumber
- userConsent
- firstName
- lastName
- dateOfBirth
type: object
properties:
documentNumber:
description: Document Number.
type: string
example: N1234567
pattern: ^[0-9a-zA-Z\-]{1,50}$
userConsent:
description: >-
The value which best reflects the input of the User with regard to
consent to use their data.
enum:
- ACCEPT
- DECLINE
- REVOKE
- EXPIRE
type: string
example: ACCEPT
minLength: 6
maxLength: 7
dateOfBirth:
description: YYYY-MM-DD format.
type: string
format: date
example: '1990-01-01'
pattern: ^[0-9]{4}-[0-1][0-9]-[0-3][0-9]$
firstName:
description: Users First Name.
type: string
example: John
pattern: ^[a-zA-Z\s ,.'-]{1,255}$
lastName:
description: Users Last Name.
type: string
example: Smith
pattern: ^[a-zA-Z\s ,.'-]{1,255}$
gender:
description: Users Gender.
type: string
example: M
pattern: ^[M|F|X]$
visaMatched:
type: boolean
description: Whether visa verification is required.
example: true
visaIssuingCountry:
description: Visa issuing country.
type: string
example: AUS
pattern: ^[A-Z]{3}$
DriversLicenseSourceVerificationRequestAttributes:
required:
- documentNumber
- userConsent
- firstName
- lastName
- dateOfBirth
- stateCode
- cardNumber
type: object
properties:
documentNumber:
description: Document Number.
type: string
example: AB001234567
pattern: ^[0-9a-zA-Z\-]{1,50}$
userConsent:
description: >-
The value which best reflects the input of the User with regard to
consent to use their data.
enum:
- ACCEPT
- DECLINE
- REVOKE
- EXPIRE
type: string
example: ACCEPT
minLength: 6
maxLength: 7
dateOfBirth:
description: YYYY-MM-DD format.
type: string
format: date
example: '1990-01-01'
pattern: ^[0-9]{4}-[0-1][0-9]-[0-3][0-9]$
firstName:
description: Users First Name.
type: string
example: John
pattern: ^[a-zA-Z\s ,.'-]{1,255}$
lastName:
description: Users Last Name.
type: string
example: Smith
pattern: ^[a-zA-Z\s ,.'-]{1,255}$
stateCode:
description: State code.
type: string
example: NSW
pattern: ^[a-zA-Z]{2,3}$
cardNumber:
description: Users DVS Card Number.
type: string
example: AB45864
SelfieVerificationRequest:
required:
- accountId
- selfie
- channelType
- livenessType
type: object
properties:
accountId:
description: User account ID
example: 14c01794-926a-426f-ad72-c45f8fbf78a4
type: string
selfie:
description: Base 64 selfie
example: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
type: string
livenessType:
type: string
example: GPA
description: >-
liveness type, GPA takes longer and provides more accuracy, LA is
faster
enum:
- GPA
- LA
channelType:
type: string
example: WEB
description: the platform of enrollment process
enum:
- WEB
- SDK
SourceVerificationResult:
required:
- verificationResult
type: object
properties:
verificationResult:
type: string
description: >-
Verification Results, following : DOCUMENT_VERIFIED - Document
matches with the IVP registered document, DOCUMENT_NOT_VERIFIED -
Document does not match with any of the IVP registered document,
DOCUMENT_INVALID - Document is invalid or not electronically
captured.
example: DOCUMENT_VERIFIED
minLength: 16
maxLength: 21
IdentityVerification:
type: object
properties:
transactionId:
type: string
example: 970b1f6f-d46b-4435-487a-6e4357b25430
description: >-
The transaction ID provided in the API response must be logged by
the Relying Party. The Relying Party is required to provide the
transaction ID when contacting the Mastercard customer support team.
pattern: >-
^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$
name:
type: object
properties:
firstName:
type: integer
format: int32
example: 100
description: The user's first name.
minLength: 1
maxLength: 3
lastName:
type: integer
format: int32
example: 100
description: The user's last name.
minLength: 1
maxLength: 3
nameScore:
type: integer
format: int32
example: 100
description: The user's name score.
minLength: 1
maxLength: 3
address:
type: object
properties:
streetNumber:
type: integer
format: int32
example: 100
description: The user's street number.
minLength: 1
maxLength: 3
street:
type: boolean
example: true
description: Response from identity verification provider.
city:
type: boolean
example: true
description: Response from identity verification provider.
region:
type: boolean
example: true
description: Response from identity verification provider.
postalCode:
type: boolean
example: true
description: Response from identity verification provider.
addressScore:
type: integer
format: int32
example: 100
description: The user's address score.
description: The user's address.
identifiers:
type: object
properties:
last4ssn:
type: boolean
example: true
description: Response from identity verification provider.
nationalId:
type: boolean
example: true
description: Response from identity verification provider.
dob:
type: boolean
example: true
description: Response from identity verification provider.
email:
type: object
properties:
emailAddress:
type: boolean
example: true
description: Response from identity verification provider.
phoneNumber:
type: string
example: '19999999998'
description: The user's phone number.
pattern: ^[1-9]\d{1,14}$
reasonCodes:
minItems: 0
type: array
example:
- LP
- LS
items:
type: string
example: AC
description: >
An array of indicators that provide additional context about the
Transaction. For complete list.
| Reason Code | Description |
|:--------------|:------------------|
|AC|Normalized address was used to complete empty address fields
prior to match.|
|AU|Address Undeliverable.|
|BA|Business Address.|
|BL|Mobile Business Line.|
|CN|First and Last name combined in one field.|
|DA|Dual address (Ex. 123 Main St PO Box 99).|
|DI|Death Indicator found on data.|
|DT|Data retrieval timeout (verify API only).|
|DV|High device change velocity.|
|FN|Family name found and used in matching.|
|GL|Mobile Government Line.|
|HR|High-rise; address contains apartment or building sub-units.|
|HV|High velocity of change events associated with phone.|
|IA|Inactive address.|
|LA|Low Tenure Address.|
|LP|Low Tenure Device.|
|LS|Low Tenure SIM.|
|LT|Low Tenure Mobile Identity.|
|MA|Address in the request associated with multiple active
addresses.|
|MI|Military address.|
|NA|Address is valid and has been normalized prior to calculating
the match score.|
|NC|Name & Address information is not available.|
|ND|Network Status information is not available.|
|NM|Not a mobile line type.|
|NN|Nick name found and used in matching. For example Bill matches
with William.|
|NP|Non personal line.|
|NS|Names were swapped (first/last).|
|NU|Phone number has been updated.|
|NV|Phone number not valid.|
|OL|How long the identity has been associated to a phone number.
Long Tenure > 90 days.|
|OS|How long the identity has been associated to a phone number.
Short Tenure between 8 and 90 days.|
|OU|The date attributes associated to the phone number is not
available. Ownership Tenure is Unknown.|
|OV|How long the identity has been associated to a phone number.
Very Short < 7 days.|
|P3|Postal code submitted matched first 3 digits.|
|P5|Postal code submitted matched first 5 digits.|
|P9|Postal code submitted matched first 9 digits.|
|PM|Address associated with a Private Mailbox operator (Ex. UPS
Store).|
|PN|Mobile Phone number is not active.|
|PO|Address is a PO Box.|
|PT|Phone Number is currently in a ported state.|
|RA|Raw Address matched better than normalized Address.|
|RL|Phone Number is associated with a high-risk linetype (Non-Fixed
`VoIP` or Prepaid `MVNO`).|
|RM|Matching used only Raw data.|
|SA|Sub-account line.|
|UV|Unable to verify address.|
|VA|Address is vacant (unoccupied in the past 90 days).|
More details see
[link](http://docs.payfone.com/v1.0/reference#reason-codes)
verified:
type: boolean
example: true
description: Whether a user identity is verified.
lineType:
type: string
example: Mobile
description: >-
The line type. It can be either ``Mobile``, ``Landline``,
``FixedVoIP`` or ``NonFixedVoIP``.
minLength: 5
maxLength: 12
Identity:
required:
- scopedFields
- transactionId
type: object
description: The fields to be scoped.
properties:
transactionId:
type: string
example: 970b1f6f-d46b-4435-487a-6e4357b25430
description: >-
The transaction ID provided in the API response must be logged by
the Relying Party. The Relying Party is required to provide the
transaction ID when contacting the Mastercard customer support team.
pattern: >-
^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$
scopedFields:
type: object
properties:
firstName:
type: string
example: John
description: The user's first name.
pattern: ^[a-zA-Z\d ,.'-]{1,50}$
lastName:
type: string
example: Doe
description: The user's last name.
pattern: ^[a-zA-Z\d ,.'-]{1,50}$
dob:
type: string
example: '19810627'
description: The user's date of birth (YYYYMMDD).
pattern: ^([12]\d{3}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01]))$
nationalId:
type: string
example: 123456789
description: The national identification number.
minLength: 2
maxLength: 50
address:
type: object
properties:
address:
type: string
example: 123 Main St
description: The user's address description.
pattern: ^[a-zA-Z\d ,.'-]{1,50}$
extendedAddress:
type: string
example: Apt. 202
description: The user's extended address.
pattern: ^[a-zA-Z\d ,.'-]{1,50}$
city:
type: string
example: San Francisco
description: The user's city.
pattern: ^[a-zA-Z ,.'-]{1,50}$
region:
type: string
example: CA
description: The user's region.
pattern: ^[a-zA-Z]{2}$
postalCode:
type: string
example: 94015
description: The user's postal code.
pattern: ^[a-zA-Z\d ,.'-]{1,50}$
description: The user's address.
emailAddress:
type: string
example: abc@def.com
description: The user's email address.
pattern: ^[\w\.\'\\-]+@([\w-]+\.)+[\w-]{2,4}$
IdentityVerificationUserInfo:
required:
- countryCode
- optedInConsentStatus
- phoneNumber
type: object
properties:
countryCode:
type: string
example: US
pattern: ^[a-zA-Z]{2}$
description: >-
Country code (case insensitive) as described in the ISO 3166-1
alpha-2 international standard.
optedInConsentStatus:
type: boolean
example: true
description: Should be true, validation exception will be thrown if it is false.
phoneNumber:
type: string
example: '19999999999'
pattern: ^[1-9]\d{1,14}$
description: >-
The phone number being queried in standard international format. It
should be prefixed with the international dialling code, without the
'+'.
dob:
type: string
example: '1984-01-15'
pattern: ^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$
description: >-
The user's date of birth format YYYY-MM-DD. One of either dob or
last4ssn is required.
last4ssn:
type: string
example: '1234'
pattern: ^\d{4}$
description: >-
The User's last four social security number digits. One of either
dob or last4ssn is required. If the countryCode is US then, last4ssn
or nationalId is required.
nationalId:
minLength: 2
maxLength: 50
type: string
example: '123456789'
description: >-
The national identification number. If the countryCode is US then,
last4ssn or nationalId is required. If both nationalId and last4ssn
are present then, use only the nationalId.
firstName:
type: string
example: John
pattern: ^[a-zA-Z\d ,.'-]{1,50}$
description: The user's first name.
lastName:
type: string
example: Doe
pattern: ^[a-zA-Z\d ,.'-]{1,50}$
description: The user's last name.
address:
type: string
example: 123 Main St
pattern: ^[a-zA-Z\d ,.'-]{1,50}$
description: The user's address.
extendedAddress:
type: string
example: Apt. 202
pattern: ^[a-zA-Z\d ,.'-]{1,50}$
description: The user's address complement.
city:
type: string
example: San Francisco
pattern: ^[a-zA-Z ,.'-]{1,50}$
description: The user's city.
region:
type: string
example: CA
pattern: ^[a-zA-Z]{2}$
description: The user's region.
postalCode:
type: string
example: '94015'
pattern: ^[a-zA-Z\d ,.'-]{1,50}$
description: >-
If address matching is desired at a minimum ``postalCode`` is
required.
emailAddress:
type: string
pattern: ^[\w\.\'\\-]+@([\w-]+\.)+[\w-]{2,4}$
example: abc@def.com
description: The user's email address.
IdentityPrefill:
required:
- countryCode
- optedInConsentStatus
- phoneNumber
- scopedFields
type: object
properties:
countryCode:
type: string
example: US
pattern: ^[a-zA-Z]{2}$
description: >-
Country code (case insensitive) as described in the ISO 3166-1
alpha-2 international standard.
phoneNumber:
type: string
pattern: ^[1-9]\d{1,14}$
example: '19999999999'
description: >-
The phone number being queried in standard international format. It
should be prefixed with the international dialling code, without the
'+'.
scopedFields:
minItems: 1
type: array
example:
- firstName
- lastName
- emailAddress
items:
type: string
description: >-
The fields to be scoped. At least one field in the array should be
present.
optedInConsentStatus:
type: boolean
example: true
description: Should be true, validation exception will be thrown if it is false.
dob:
type: string
example: '1984-01-15'
pattern: ^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$
description: Date of birth.
last4ssn:
type: string
example: '1234'
pattern: ^[0-9]{4}$
description: >-
The User's last four social security number digits. One of either
dob or last4ssn is required. If the countryCode is US then, last4ssn
or nationalId is required.
nationalId:
type: string
example: '123456789'
description: >-
The national identification number. If the countryCode is US then,
last4ssn or nationalId is required. If both nationalId and last4ssn
are present then, use only the nationalId. If the countryCode is US
then this field must be a numeric value that is 9 digits long.
minLength: 2
maxLength: 50
performEligibilityCheck:
type: boolean
default: true
example: true
description: If false will not perform an eligibility check.
DeviceIpAddress:
required:
- countryCode
- deviceIp
- optedInConsentStatus
type: object
properties:
countryCode:
type: string
pattern: ^[a-zA-Z]{2}$
example: US
description: >-
Country code (case insensitive) as described in the ISO 3166-1
alpha-2 international standard.
optedInConsentStatus:
type: boolean
example: true
description: Should be true, validation exception will be thrown if it is false.
deviceIp:
maxLength: 45
type: string
example: 166.137.217.20
pattern: ^([a-fA-F0-9:]+|(\d{1,3}\.){3}\d{1,3})$
description: Both IPv4 and IPv6 are supported.
DevicePhoneNumber:
required:
- phoneNumber
- transactionId
type: object
properties:
transactionId:
type: string
example: 970b1f6f-d46b-4435-487a-6e4357b25430
description: >-
The transaction ID provided in the API response must be logged by
the Relying Party. The Relying Party is required to provide the
transaction ID when contacting the Mastercard customer support team.
pattern: >-
^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$
phoneNumber:
type: string
example: '19999999999'
description: >-
The phone number of the originating phone, prefixed with the
international dialling code, without the ``+``.
pattern: ^[1-9]\d{1,14}$
DeviceVerificationFingerprint:
required:
- countryCode
- optedInConsentStatus
- verificationFingerprint
type: object
properties:
countryCode:
type: string
example: US
pattern: ^[a-zA-Z]{2}$
description: >-
Country code (case insensitive) as described in the ISO 3166-1
alpha-2 international standard.
verificationFingerprint:
type: string
example: >-
4f544a6a596a4d304d3249745a4752684f5330304d3249794c5745324e7a41744d44646d5a5459314d57526a593245306644413d3a4e5af1cf7e052335e57a51f3e0b1362fa58d4c220d9adef9179895b4c4beda59
pattern: ^[a-zA-Z0-9]{128,2096}$
description: Retrieved by calling the `redirectTargetUrl`.
optedInConsentStatus:
type: boolean
example: true
description: Should be true, validation exception will be thrown if it is false.
ApiError:
required:
- Errors
type: object
properties:
Errors:
$ref: '#/components/schemas/Errors'
Errors:
description: List of Errors.
example:
$ref: '#/components/examples/NotFoundExample'
required:
- Error
type: object
properties:
Error:
$ref: '#/components/schemas/ErrorList'
ErrorList:
description: Error Details.
type: array
minItems: 1
items:
$ref: '#/components/schemas/Error'
Error:
type: object
properties:
Source:
type: string
description: Source of where the error occured.
example: mids
ReasonCode:
type: string
description: Code of the error.
example: USER_PROFILE_ID_NOT_FOUND
Description:
type: string
description: The cause of the error
example: The provided userProfileId does not exist
Recoverable:
type: boolean
description: Indiciates if the error can be recovered from.
example: false
Details:
type: string
description: Contains information about the error.
example: IOException Occured
responses:
NotFoundError:
description: Request didn't match an existing resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
NotFoundExample:
$ref: '#/components/examples/NotFoundExample'
BadRequestError:
description: Something was wrong with the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
BadRequestExampleUserConsent:
$ref: '#/components/examples/BadRequestExampleUserConsent'
BadRequestExampleCountryCode:
$ref: '#/components/examples/BadRequestExampleCountryCode'
BadRequestExamplePhoneNumber:
$ref: '#/components/examples/BadRequestExamplePhoneNumber'
BadRequestExampleIVPConnectionTimeout:
$ref: '#/components/examples/BadRequestExampleIVPConnectionTimeout'
BadRequestExampleIVPSystemError:
$ref: '#/components/examples/BadRequestExampleIVPSystemError'
BadRequestExampleMedicareExpireDate:
$ref: '#/components/examples/BadRequestExampleMedicareExpireDate'
BadRequestExampleMedicareName:
$ref: '#/components/examples/BadRequestExampleMedicareName'
BadRequestExampleMedicareIndividualReferenceNo:
$ref: >-
#/components/examples/BadRequestExampleMedicareIndividualReferenceNo
BadRequestExampleMedicareMedicareNumber:
$ref: '#/components/examples/BadRequestExampleMedicareMedicareNumber'
BadRequestExampleMedicareCountryCode:
$ref: '#/components/examples/BadRequestExampleMedicareCountryCode'
BadRequestExampleMedicareUserConsent:
$ref: '#/components/examples/BadRequestExampleMedicareUserConsent'
BadRequestExampleDocumentMismatch:
$ref: '#/components/examples/BadRequestExampleDocumentMismatch'
UnauthorizedError:
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
UnauthorizedExample:
$ref: '#/components/examples/UnauthorizedExample'
ForbiddenError:
description: Consent not given.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
examples:
ForbiddenExample:
$ref: '#/components/examples/ForbiddenExample'
ForbiddenExampleUnauthorizedScopedFields:
$ref: '#/components/examples/ForbiddenExampleUnauthorizedScopedFields'
DataExtractionSuccessResponse:
description: Success.
headers:
X-Transaction-ID:
$ref: '#/components/headers/X-Transaction-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentVerificationExtractedData'
examples:
DocumentDataDriverLicense:
$ref: '#/components/examples/DocumentDataExampleDriverLicense'
DocumentDataPassaport:
$ref: '#/components/examples/DocumentDataExamplePassport'
DocumentDataExampleIDCard:
$ref: '#/components/examples/DocumentDataExampleIDCard'
SmsOtpGenerationSuccessResponse:
description: Success.
headers:
X-Transaction-ID:
$ref: '#/components/headers/X-Transaction-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Otp'
examples:
OtpExample:
$ref: '#/components/examples/OtpExample'
EncryptedPayloadExample:
$ref: '#/components/examples/EncryptedPayloadExample'
EmailOtpGenerationSuccessReponse:
description: Success.
headers:
X-Transaction-ID:
$ref: '#/components/headers/X-Transaction-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/Otp'
examples:
OtpExample:
$ref: '#/components/examples/OtpExample'
EncryptedPayloadExample:
$ref: '#/components/examples/EncryptedPayloadExample'
SmsOtpVerificationSuccessResponses:
description: Success.
headers:
X-Transaction-ID:
$ref: '#/components/headers/X-Transaction-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/OtpVerificationResult'
examples:
OtpVerificationSuccessfulExample:
$ref: '#/components/examples/OtpVerificationSuccessfulExample'
IncorrectOtpCodeProvidedExample:
$ref: '#/components/examples/IncorrectOtpCodeProvidedExample'
OtpDoesNotExistExample:
$ref: '#/components/examples/OtpDoesNotExistExample'
EncryptedPayloadExample:
$ref: '#/components/examples/EncryptedPayloadExample'
EmailOtpVerificationResponses:
description: Success.
headers:
X-Transaction-ID:
$ref: '#/components/headers/X-Transaction-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/OtpVerificationResult'
examples:
OtpVerificationSuccessfulExample:
$ref: '#/components/examples/OtpVerificationSuccessfulExample'
IncorrectOtpCodeProvidedExample:
$ref: '#/components/examples/IncorrectOtpCodeProvidedExample'
OtpDoesNotExistExample:
$ref: '#/components/examples/OtpDoesNotExistExample'
EncryptedPayloadExample:
$ref: '#/components/examples/EncryptedPayloadExample'
AccessTokenSuccessResponse:
description: Success.
headers:
X-Transaction-ID:
$ref: '#/components/headers/X-Transaction-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/AccessToken'
examples:
AccessTokensResponsePayload:
$ref: '#/components/examples/AccessTokensResponsePayload'
EncryptedPayloadExample:
$ref: '#/components/examples/EncryptedPayloadExample'
FacematchResult:
description: Success
headers:
X-Transaction-ID:
$ref: '#/components/headers/X-Transaction-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/FacematchSourceVerificationResult'
MedicareCardSourceVerificationResponse:
description: Success.
headers:
X-Transaction-ID:
$ref: '#/components/headers/X-Transaction-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/MedicareCardSourceVerificationResult'
examples:
MedicareSuccessExample:
$ref: '#/components/examples/MedicareSuccessExample'
MedicareDataNotMatchedExample:
$ref: '#/components/examples/MedicareDataNotMatchedExample'
MedicareDocumentInvalidExample:
$ref: '#/components/examples/MedicareDocumentInvalidExample'
DriversLicenseSourceVerificationResponse:
description: Success.
headers:
X-Transaction-ID:
$ref: '#/components/headers/X-Transaction-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SourceVerificationResult'
PassportSourceVerificationResponse:
description: Success.
headers:
X-Transaction-ID:
$ref: '#/components/headers/X-Transaction-ID'
content:
application/json:
schema:
$ref: '#/components/schemas/SourceVerificationResult'
requestBodies:
SmsOtpGenerationRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/SMSOtp'
examples:
SMSOtpExemple:
$ref: '#/components/examples/SMSOtpExample'
EncryptedPayloadExample:
$ref: '#/components/examples/EncryptedPayloadExample'
required: true
EmailOtpGenerationRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/EmailOtp'
examples:
EmailOtpExemple:
$ref: '#/components/examples/EmailOtpExample'
EncryptedPayloadExample:
$ref: '#/components/examples/EncryptedPayloadExample'
required: true
SmsOtpVerificationRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/OtpVerification'
examples:
OtpVerificationExample:
$ref: '#/components/examples/OtpVerificationExample'
EncryptedPayloadExample:
$ref: '#/components/examples/EncryptedPayloadExample'
required: true
EmailOtpVerficationRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/OtpVerification'
examples:
EmailVerificationExample:
$ref: '#/components/examples/EmailVerificationExample'
EncryptedPayloadExample:
$ref: '#/components/examples/EncryptedPayloadExample'
required: true
AccessTokenRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/RetrieveAccessToken'
required: true
MedicareCardSourceVerificationRequest:
content:
application/json:
schema:
$ref: >-
#/components/schemas/MedicareCardSourceVerificationRequestAttributes
required: true
PassportSourceVerificationRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/PassportSourceVerificationRequestAttributes'
examples:
SourceVerPassportExample:
$ref: '#/components/examples/SourceVerPassportExample'
EncryptedPayloadExample:
$ref: '#/components/examples/EncryptedPayloadExample'
required: true
DriversLicenseSourceVerificationRequest:
content:
application/json:
schema:
$ref: >-
#/components/schemas/DriversLicenseSourceVerificationRequestAttributes
examples:
SourceVerDrivingLicenceExample:
$ref: '#/components/examples/SourceVerDrivingLicenceExample'
required: true
SelfieVerificationRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/SelfieVerificationRequest'
examples:
EncryptedPayloadExample:
value:
encryptedData: >-
eyJraWQiOiIwMTQyNmRhY2JlMmRjYzA3NmQ1OWU1NDQ5N2NiNjBiMjdjZmQwMDE0ZjZmMGQyYTJiN2FmNjExNDg2NjYyMj...
OtpVerificationSuccessfulExample:
value:
responseCode: SUCCESS
responseMessage: Verification Successful
transactionId: 9060c8ca-c5ec-11ea-87d0-0242ac130003
IncorrectOtpCodeProvidedExample:
value:
responseCode: FAILURE
responseMessage: Incorrect code provided
attemptsRemaining: 2
transactionId: 9060c8ca-c5ec-11ea-87d0-0242ac130003
OtpDoesNotExistExample:
value:
responseCode: FAILURE
responseMessage: The otp request does not exist or has timed out
transactionId: 9060c8ca-c5ec-11ea-87d0-0242ac130003
NotFoundExample:
value:
Errors:
Error:
- Source: mids
ReasonCode: USER_PROFILE_ID_NOT_FOUND
Description: The provided userProfileId does not exist.
Recoverable: false
UnauthorizedExample:
value:
Errors:
Error:
- Source: mids
ReasonCode: UNAUTHORIZED_REQUEST
Description: Unauthorized request.
Recoverable: false
ForbiddenExample:
value:
Errors:
Error:
- Source: mids
ReasonCode: CONSENT_NOT_GIVEN
Description: User Consent Not Given.
Recoverable: false
ForbiddenExampleUnauthorizedScopedFields:
value:
Errors:
Error:
- Source: mids
ReasonCode: UNAUTHORIZED_SCOPED_FIELDS
Description: >-
UNAUTHORIZED_SCOPED_FIELDS: Requested scoped fields are not part
of whitelisted fields.
Recoverable: false
Details: null
BadRequestExampleUserConsent:
value:
Errors:
Error:
- Source: mids
ReasonCode: VALIDATION_ERROR
Description: Unexpected value 'Invalid' for enumerate field.
Recoverable: false
Details: null
BadRequestExampleCountryCode:
value:
Errors:
Error:
- Source: mids
ReasonCode: VALIDATION_ERROR
Description: Invalid value US4 for 'countryCode'.
Recoverable: false
Details: null
BadRequestExamplePhoneNumber:
value:
Errors:
Error:
- Source: mids
ReasonCode: VALIDATION_ERROR
Description: Invalid value ASD for 'phoneNumber'.
Recoverable: false
Details: null
BadRequestExampleIVPConnectionTimeout:
value:
Errors:
Error:
- Source: mids
ReasonCode: IVP_CONNECTION_TIMEOUT
Description: >-
Connection timeout when trying to connect with the Identity
Verification Provider. Please look at 'details' for additional
information.
Recoverable: false
Details: Received Connection TimeOut Exception
BadRequestExampleIVPSystemError:
value:
Errors:
Error:
- Source: mids
ReasonCode: IVP_SYSTEM_ERROR
Description: >-
Received system error from the Identity Verification Provider.
Please look at 'details' for additional information.
Recoverable: false
Details: System Error Received
BadRequestExampleMedicareExpireDate:
value:
Errors:
Error:
- Source: mids
ReasonCode: VALIDATION_ERROR
Description: Invalid value for 'expiry date'.
Recoverable: false
Details: null
BadRequestExampleMedicareName:
value:
Errors:
Error:
- Source: mids
ReasonCode: VALIDATION_ERROR
Description: >-
Invalid value for 'nameLine' field OR value exceeds allowed max
characters.
Recoverable: false
Details: null
BadRequestExampleMedicareIndividualReferenceNo:
value:
Errors:
Error:
- Source: mids
ReasonCode: VALIDATION_ERROR
Description: Invalid value for 'INDIVIDUAL_REFERENCE_NO'.
Recoverable: false
Details: null
BadRequestExampleMedicareMedicareNumber:
value:
Errors:
Error:
- Source: mids
ReasonCode: VALIDATION_ERROR
Description: Invalid value for 'Medicare card number'.
Recoverable: false
Details: null
BadRequestExampleMedicareCountryCode:
value:
Errors:
Error:
- Source: mids
ReasonCode: VALIDATION_ERROR
Description: Invalid value for 'Country code'.
Recoverable: false
Details: null
BadRequestExampleMedicareUserConsent:
value:
Errors:
Error:
- Source: mids
ReasonCode: VALIDATION_ERROR
Description: User consent not given.
Recoverable: false
Details: null
BadRequestExampleDocumentMismatch:
value:
Errors:
Error:
- Source: mids
ReasonCode: BAD_REQUEST
Description: >-
The document uploaded by the User does not comply to the
document type/country specified by the client in the originating
access-token request.
Recoverable: false
Details: null
MedicareSuccessExample:
value:
verificationResult: DOCUMENT_VERIFIED
MedicareDataNotMatchedExample:
value:
verificationResult: DOCUMENT_NOT_VERIFIED
MedicareDocumentInvalidExample:
value:
verificationResult: DOCUMENT_INVALID
reason: Provided data is invalid or not electronically captured
DocumentDataExampleDriverLicense:
value:
status: SUCCESS
transactionId: 1ec14310-e85c-11ea-adc1-0242ac120002
documentData:
documentNumber: AB001234567
documentStatus: SUCCESS
documentType: DRIVER_LICENSE
dateOfBirth: '2020-09-09'
firstName: MIRIAM
lastName: Smith
expiryDate: '2020-10-10'
gender: F
cardNumber: '1234567890'
issuingCountry: AUS
issuingDate: '2020-09-09'
issuingPlace: Sydney
issuingAuthority: Australia
placeOfBirth: Sydney
addressLine1: 10 Boronia Street
addressLine2: 09 Boronia Street
addressZipCode: '10021'
addressCity: SYDNEY
addressCountry: Users Country
addressSubdivision: NSW
issuingState: NSW
formattedAddress: 22 Melville Street, Hobart 7000
selfie: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
documentImageFront: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
documentImageBack: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
facemap: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
DocumentDataExamplePassport:
value:
status: PENDING
transactionId: 1ec14310-e85c-11ea-adc1-0242ac120002
documentData:
documentNumber: N1234567
documentStatus: PENDING
documentType: PASSPORT
dateOfBirth: '2020-09-09'
firstName: John
lastName: Smith
expiryDate: '2020-10-10'
gender: F
issuingCountry: USA
issuingDate: '2020-09-09'
issuingPlace: New York
issuingAuthority: United States
placeOfBirth: Boston
addressLine1: 123 Main St.
addressLine2: New York
addressZipCode: '10021'
addressCity: New York
addressCountry: Users Country
addressSubdivision: MO
issuingState: MO
formattedAddress: 220 BLVD O FALLON
selfie: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
documentImageFront: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
documentImageBack: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
facemap: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
DocumentDataExampleIDCard:
value:
status: SUCCESS
transactionId: 5f4b0b79-8f7a-4731-b828-5e9db6e39e5a
documentData:
lastName: SMITH
gender: M
fathersName: WILLIAM SMITH
documentType: ID_CARD
issuingDate: '2010-01-01'
documentNumber: C204050123
expiryDate: '2030-12-31T00:00:00.000Z'
issuingPlace: null
formattedAddress: null
cpf: 000.000.000-00
addressLine1: null
documentStatus: SUCCESS
addressLine2: null
addressCity: null
addressZipCode: null
addressCountry: null
placeOfBirth: null
dateOfBirth: '1980-01-01'
issuingState: null
firstName: JOHN
issuingAuthority: null
issuingCountry: BRA
mothersName: JANE SMITH
addressSubdivision: null
rgNumber: F204050123
selfie: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
documentImageFront: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
documentImageBack: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
facemap: >-
/mJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanq.........................
SourceVerPassportExample:
value:
documentNumber: N1234567
userConsent: ACCEPT
dateOfBirth: '1990-01-01'
firstName: John
lastName: Smith
gender: M
visaMatched: true
visaIssuingCountry: AUS
SourceVerDrivingLicenceExample:
value:
documentNumber: AB001234567
userConsent: ACCEPT
dateOfBirth: '1990-01-01'
firstName: John
lastName: Smith
stateCode: NSW
cardNumber: '1867530950'
UserIdentitiesExample:
value:
countryCode: US
phoneNumber: '19999999999'
optedInConsentStatus: true
scopedFields:
- firstName
- lastName
- emailAddress
- dob
- nationalId
- address
dob: '1984-01-15'
last4ssn: '1234'
nationalId: '123456789'
performEligibilityCheck: false
AccessTokensResponsePayload:
value:
transactionId: f64d44f8-3b0c-449c-8b79-9e2bbe0b2f3b
sdkToken: >-
eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAJXNQWsCMRAF4P-Scwcym0km8eahVKGwthRtT5JkZlFBLKKuWPrf3fUfeH18770_o9fpyUwMBscWPZOLMZkXk2udy5AXSkoePWCoCKTeQkIXgS1JQ2IpqIz8gVNmYVECT64AZRcgDrPQZBz3Uy4BB9x3-gyvn9oNelFu6_d9uz0f3w69NnPys1nbL1_bjy9cXX7P37tNt1vVH8oq0Wocm4-b3ChJSAyWWIFcEEgqBYpnRsZcXULzfwdxCwYuCgEAAA.KaJPW0KH5yL5xFBcyxGIQnUsW895RPc1ohRXyx_JaIMrAlpIRga7WH6SyIylCBKHxSYd4gW9f-O5qabYPzQE7g
accountId: 14c01794-926a-426f-ad72-c45f8fbf78a4
workflowId: 5226539e-78e7-45ac-a924-072d1301c24c
apiDataCenter: US
documentVerificationUrl: >-
https://mastercard.web.apac-1.jumio.link/web/v4/app?authorizationToken=eyJhbGciOiJIUzUxMiIsInppcCI6IkdaSVAifQ.H4sIAAAAAAAAAJXOQQ5CIQxF0b0wtkmBFqgzh07_Dkp_iWM10cS4d0FX4PTm5OW9gj9P93AMsaRaS845CVM4BDU776sLi5JGiM06UGGDLiUCRaLa0rDR6uJf7FH6mBwYtUyCBcSywBznbmMfGdPEj-H_cNt8TL35zfVql1V-12o0SZ3AGysQ1wKNFCGbsjlyUsTw_gANOZ5b4gAAAA.2bo6KfOvGIswNRNTXv6QtoGvHyNYp_j3LwHia9DtuWna3y_LLI1VgPZle46Q5cFHuuMJB7g7y4wHbtogBX2HfQ&locale=en-US
UserIdentitiesResponsePayload:
value:
transactionId: 4e854df5-8c8c-4e9b-ba63-b43d03903427
scopedFields:
firstName: John
lastName: Doe
dob: '19810627'
nationalId: 123456789
address:
address: 123 Main St
extendedAddress: Apt. 202
city: San Francisco
region: CA
postalCode: 94015
emailAddress: abc@def.com
addresses:
address: 123 Main St
extendedAddress: Apt. 202
city: San Francisco
region: CA
postalCode: 94015
DeviceVerificationFingerprintExample:
value:
countryCode: US
optedInConsentStatus: true
verificationFingerprint: >-
4f544a6a596a4d304d3249745a4752684f5330304d3249794c5745324e7a41744d44646d5a5459314d57526a593245306644413d3a4e5af1cf7e052335e57a51f3e0b1362fa58d4c220d9adef9179895b4c4beda59
SMSOtpExample:
value:
countryCode: BR
phoneNumber: '553453554563'
locale: en-GB
userConsent: ACCEPT
OtpExample:
value:
otpId: 568def8e-d17b-11ea-87d0-0242ac12343
transactionId: 689def8e-d17b-89ea-87d0-0242ac12343
OtpVerificationExample:
value:
code: '123456'
otpId: 63d04933-02b6-4ea4-adf9-68696e675a01
countryCode: BR
userConsent: ACCEPT
EmailOtpExample:
value:
countryCode: BR
emailAddress: john.dunne@domain.com
locale: en-GB
userConsent: ACCEPT
EmailVerificationExample:
value:
code: '123456'
otpId: 63d04933-02b6-4ea4-adf9-68696e675a01
countryCode: BR
userConsent: ACCEPT
parameters:
IssuingCountryParameter:
name: issuing_country
in: path
description: >-
Country of issue for the document in the ISO 3166-1 alpha-3 format, only
AUS is an acceptable value for this parameter.
example: AUS
required: true
schema:
type: string
pattern: ^[A-Z]{3}
ScanIdParameter:
name: scan_id
in: path
description: >-
UUID returned to the application/webpage on completion of the users
interactions with the ID-V SDK.
example: 5226539e-78e7-45ac-a924-072d1301c24c
required: true
schema:
maxLength: 36
minLength: 36
type: string
pattern: >-
^[0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12}$
UserConsentParameter:
name: user_consent
in: query
description: >-
The value which best reflects the input of the User with regard to
Consent to use their data (ACCEPT, DECLINE, REVOKE, EXPIRE).
example: ACCEPT
required: true
schema:
type: string
pattern: ^(ACCEPT|DECLINE|REVOKE|EXPIRE)$
RetrieveSelfieParameter:
name: retrieve_selfie
in: query
description: Flag indicating if the selfie needs to be retrieved.
example: 'true'
required: true
schema:
type: string
pattern: ^(true|false)$
RetrieveDocumentImagesParameter:
name: retrieve_document_images
in: query
description: Flag indicating if the document images needs to be retrieved.
example: 'true'
required: true
schema:
type: string
pattern: ^(true|false)$
RetrieveFacemapParameter:
name: retrieve_facemap
in: query
description: Flag indicating if the facemap needs to be retrieved.
example: 'true'
required: true
schema:
type: string
pattern: ^(true|false)$
DocumentTypeParameter:
name: document_type
in: query
description: The type of document scanned (DRIVING_LICENSE, PASSPORT, ID_CARD).
example: DRIVING_LICENSE
nullable: true
schema:
type: string
pattern: ^(DRIVING_LICENSE|PASSPORT|ID_CARD)$
CountryParameter:
name: user_selected_country
in: query
description: >-
The ISO 3166-1 alpha3 code which corresponds to the country from where
the request to ID is originating from.
example: USA
nullable: true
schema:
type: string
pattern: ^[A-Z]{3}
WorkflowDefinitionParameter:
name: workflowDefinition
in: query
description: worklflow definition parameter
example: DOCUMENT_EXTRACTION_FACEMATCH_LIVENESS
schema:
type: string
nullable: true
pattern: >-
^(DOCUMENT_EXTRACTION|DOCUMENT_EXTRACTION_FACEMATCH_LIVENESS|FACEMATCH)$
EncryptedPayloadParameter:
name: X-Encrypted-Payload
in: header
description: >-
Whether the request payload is encrypted with the Encyption Key
generated from the Developer Zone Portal.
example: true
required: false
schema:
type: boolean
headers:
X-Transaction-ID:
schema:
type: string
example: 2d077b9c-3c06-44ac-b00e-d78fe8cce606
description: A random 128-bit UUID representing the transaction.