swagger: '2.0'
info:
title: Mastercard Bill Payment Validator Account Opening Users API
description: This service is provided on behalf of the Mastercard Remote Payment and Presentment (RPPS) Bill Payment Processing Network, which supports consumer to business "push" bill payments (i.e. those which are not funded by debit/credit card transactions) in the U.S.
version: '1.0'
x-artifactId: billpay-api
contact:
name: Bill Pay Development Support
email: Bill_Pay_Development_Support@mastercard.com
host: sandbox.api.mastercard.com
basePath: /billpayAPI/v1
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: Users
paths:
/user-profiles/identity-searches:
post:
tags:
- Users
responses:
'200':
$ref: '#/components/responses/IdentitySearchResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
description: "Retrieve decrypted identities along with rotated PDS to present the user\nwith the registered identity in the TP app. Does not require a minimum authentication standard. \n**This API is mandatory.**\n"
summary: View an Identity
operationId: retrieveIdentities
parameters:
- $ref: '#/components/parameters/XUserIdentityParameter'
- $ref: '#/components/parameters/XEncryptedPayload'
requestBody:
$ref: '#/components/requestBodies/IdentitySearchRequest'
/user-profiles:
post:
tags:
- Users
responses:
'201':
$ref: '#/components/responses/UserProfilesResponse'
'400':
$ref: '#/components/responses/BadRequestError'
description: "- This endpoint registers a user profile using the given\n`user profile ID`.\n\n- An error will be returned if the user profile already exists. \n**This API is mandatory.**\n"
summary: Create a new user.
operationId: createUserProfile
requestBody:
$ref: '#/components/requestBodies/UserProfilesRequest'
delete:
tags:
- Users
responses:
'200':
$ref: '#/components/responses/UserProfilesResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
description: "Enable TP app to mark user account as deleted on Mastercard ID Network. Requires GPA authentication. \n**This API is mandatory.**\n"
summary: Delete an Identity.
operationId: deleteUserProfile
parameters:
- $ref: '#/components/parameters/UserProfileIdParameter'
- $ref: '#/components/parameters/UserConsentParameter'
/user-profiles/identity-attribute-deletions:
post:
tags:
- Users
responses:
'200':
$ref: '#/components/responses/IdentityAttributeDeletionsResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
description: "Delete an identity attribute from a PDS and update the affected assurance levels. Requires GPA authentication. \n**This API is mandatory.**\n"
summary: Delete Document.
operationId: deleteIdentityAttribute
parameters:
- $ref: '#/components/parameters/XUserIdentityParameter'
- $ref: '#/components/parameters/XEncryptedPayload'
requestBody:
$ref: '#/components/requestBodies/IdentityAttributeDeletionsRequest'
/user-account-activity-searches:
post:
tags:
- Users
responses:
'200':
$ref: '#/components/responses/UserAccountActivitySearchesResponse'
'400':
$ref: '#/components/responses/BadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
description: 'Retrieve decrypted user activities and present them to the user in the
TP app. Does not require a minimum authentication standard.
**This API is mandatory.**
'
summary: View identity lifecycle activities which have occurred in a time period.
operationId: retrieveUserActivities
parameters:
- $ref: '#/components/parameters/XUserIdentityParameter'
- $ref: '#/components/parameters/XEncryptedPayload'
requestBody:
$ref: '#/components/requestBodies/UserAccountActivitySearchRequest'
/claims/user-data-extractions:
post:
tags:
- Users
responses:
'200':
$ref: '#/components/responses/RPClaimsDataResponse'
'400':
$ref: '#/components/responses/BadRequestErrorClaimSharing'
'404':
$ref: '#/components/responses/NotFoundErrorClaimSharing'
description: 'Returns the user information from the PDS that is requested by the
Relying Party based on the ARID. Does not require a minimum authentication standard.
**This API is mandatory.**
'
summary: Share an Identity with an External RP - Provide the PDS to enable ID for TP to determine if these satisfy an RPs scope request.
operationId: extractClaimsUserData
parameters:
- $ref: '#/components/parameters/XEncryptedPayload'
requestBody:
$ref: '#/components/requestBodies/RPClaimsDataRequestData'
/claims/user-consents:
post:
tags:
- Users
responses:
'200':
$ref: '#/components/responses/UserConsentResponse'
'400':
$ref: '#/components/responses/BadRequestErrorClaimSharing'
'404':
$ref: '#/components/responses/NotFoundErrorClaimSharing'
description: "Inform the Trust Party about the user consent. If the consent is given,\nthe identity attributes will be shared with Relying Party. Does not require a minimum authentication standard. \n**This API is mandatory.**\n"
summary: Share an Identity with an External RP - Provide consent to share the identity attributes which satisfy an RPs scope request.
operationId: getUserConsentStatus
requestBody:
$ref: '#/components/requestBodies/UserConsentRequest'
/users:
post:
tags:
- Users
summary: Register a new user
description: This endpoint allows users to register a new user
operationId: Users
requestBody:
$ref: '#/components/requestBodies/User'
responses:
'201':
$ref: '#/components/responses/ResourceIdentifier'
'400':
$ref: '#/components/responses/BadRequestError_2'
'401':
$ref: '#/components/responses/UnauthorizedError_2'
'403':
$ref: '#/components/responses/ForbiddenError_2'
'404':
$ref: '#/components/responses/ResourceNotFoundError'
put:
tags:
- Users
summary: 'Updates personal information for currently enrolled users (cardholders), including their name, contact information, security question, and more.
'
description: Updates the existing user's demographic information.
operationId: updateUser
requestBody:
$ref: '#/components/requestBodies/UserUpdateRequest'
responses:
'200':
$ref: '#/components/responses/UserUpdateResponse'
'400':
$ref: '#/components/responses/ErrorsResponse'
/users/{user_guid}/virtual-card-accounts:
get:
tags:
- Users
summary: Retrieve a list of all virtual cards linked to a user
description: This endpoint allows users to retrieve a list of all virtual cards linked to a user
operationId: findVcnCardsByUser
parameters:
- $ref: '#/components/parameters/userGUID'
responses:
'200':
$ref: '#/components/responses/VirtualCards'
'400':
$ref: '#/components/responses/BadRequestError_2'
'401':
$ref: '#/components/responses/UnauthorizedError_2'
'403':
$ref: '#/components/responses/ForbiddenError_2'
'404':
$ref: '#/components/responses/ResourceNotFoundError'
post:
parameters:
- $ref: '#/components/parameters/userGUID'
tags:
- Users
summary: Register a virtual card linked to a user
description: This endpoint allows users to register a virtual card linked to a user
operationId: createVirtualCardWithControls
requestBody:
$ref: '#/components/requestBodies/NewVirtualCard'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/BadRequestError_2'
'401':
$ref: '#/components/responses/UnauthorizedError_2'
'403':
$ref: '#/components/responses/ForbiddenError_2'
'404':
$ref: '#/components/responses/ResourceNotFoundError'
/users/{user_guid}/virtual-card-accounts/{account_guid}:
get:
parameters:
- $ref: '#/components/parameters/userGUID'
- $ref: '#/components/parameters/accountGUID'
tags:
- Users
summary: Retrieve virtual card account details linked to a user
description: This endpoint allows users to retrieve virtual card account details linked to a user
operationId: findVcnCardByUser
responses:
'200':
$ref: '#/components/responses/VirtualCard'
'400':
$ref: '#/components/responses/BadRequestError_2'
'401':
$ref: '#/components/responses/UnauthorizedError_2'
'403':
$ref: '#/components/responses/ForbiddenError_2'
'404':
$ref: '#/components/responses/ResourceNotFoundError'
put:
parameters:
- $ref: '#/components/parameters/userGUID'
- $ref: '#/components/parameters/accountGUID'
tags:
- Users
summary: Update virtual card account details linked to a user
description: This endpoint allows users to update virtual card account details linked to a user
operationId: updateUserCardAndControls
requestBody:
$ref: '#/components/requestBodies/UpdatedVirtualCard'
responses:
'200':
$ref: '#/components/responses/OKResponse'
'400':
$ref: '#/components/responses/BadRequestError_2'
'401':
$ref: '#/components/responses/UnauthorizedError_2'
'403':
$ref: '#/components/responses/ForbiddenError_2'
'404':
$ref: '#/components/responses/ResourceNotFoundError'
delete:
tags:
- Users
summary: Delete a virtual card account linked to a user
description: This endpoint allows users to delete a virtual card account linked to a user
parameters:
- $ref: '#/components/parameters/userGUID'
- $ref: '#/components/parameters/accountGUID'
operationId: deleteUserVirtualCard
responses:
'204':
$ref: '#/components/responses/NOContentResponse'
'400':
$ref: '#/components/responses/BadRequestError_2'
'401':
$ref: '#/components/responses/UnauthorizedError_2'
'403':
$ref: '#/components/responses/ForbiddenError_2'
'404':
$ref: '#/components/responses/ResourceNotFoundError'
/users/{user_guid}:
get:
tags:
- Users
summary: Retrieve user details
description: This endpoint allows users to retrieve details of a particular user
operationId: getUserById
parameters:
- $ref: '#/components/parameters/userGUID'
responses:
'200':
$ref: '#/components/responses/User'
'400':
$ref: '#/components/responses/BadRequestError_2'
'401':
$ref: '#/components/responses/UnauthorizedError_2'
'403':
$ref: '#/components/responses/ForbiddenError_2'
'404':
$ref: '#/components/responses/ResourceNotFoundError'
put:
tags:
- Users
summary: Update a user
description: This endpoint allows users to update details of a particular user
operationId: updateUserById
parameters:
- $ref: '#/components/parameters/userGUID'
requestBody:
$ref: '#/components/requestBodies/User'
responses:
'200':
$ref: '#/components/responses/OKResponse'
'400':
$ref: '#/components/responses/BadRequestError_2'
'401':
$ref: '#/components/responses/UnauthorizedError_2'
'403':
$ref: '#/components/responses/ForbiddenError_2'
'404':
$ref: '#/components/responses/ResourceNotFoundError'
delete:
tags:
- Users
summary: Delete a user
description: This endpoint allows users to delete a particular user
parameters:
- $ref: '#/components/parameters/userGUID'
operationId: deleteUser
responses:
'204':
$ref: '#/components/responses/NOContentResponse'
'400':
$ref: '#/components/responses/BadRequestError_2'
'401':
$ref: '#/components/responses/UnauthorizedError_2'
'403':
$ref: '#/components/responses/ForbiddenError_2'
'404':
$ref: '#/components/responses/ResourceNotFoundError'
/users/{user_guid}/virtual-card-accounts/{account_guid}/tokens:
post:
parameters:
- $ref: '#/components/parameters/userGUID'
- $ref: '#/components/parameters/accountGUID'
tags:
- Users
summary: Register a token linked to a user and a virtual card
description: This endpoint allows users to register a token linked to a user and a virtual card
operationId: TokenCreate
requestBody:
$ref: '#/components/requestBodies/NewToken'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/BadRequestError_2'
'401':
$ref: '#/components/responses/UnauthorizedError_2'
'403':
$ref: '#/components/responses/ForbiddenError_2'
'404':
$ref: '#/components/responses/ResourceNotFoundError'
/users/{user_guid}/virtual-card-accounts/{account_guid}/tokens/{token_guid}:
get:
parameters:
- $ref: '#/components/parameters/userGUID'
- $ref: '#/components/parameters/accountGUID'
- $ref: '#/components/parameters/tokenGUID'
tags:
- Users
summary: Retrieve token details linked to a user and a virtual card
description: This endpoint allows users to retrieve token details linked to a user and a virtual card
operationId: getTokenById
responses:
'200':
$ref: '#/components/responses/Token'
'400':
$ref: '#/components/responses/BadRequestError_2'
'401':
$ref: '#/components/responses/UnauthorizedError_2'
'403':
$ref: '#/components/responses/ForbiddenError_2'
'404':
$ref: '#/components/responses/ResourceNotFoundError'
put:
tags:
- Users
parameters:
- $ref: '#/components/parameters/userGUID'
- $ref: '#/components/parameters/accountGUID'
- $ref: '#/components/parameters/tokenGUID'
summary: Update a token linked to a user and a virtual card
description: This endpoint allows users to update a token linked to a user and a virtual card
operationId: updateTokenById
requestBody:
$ref: '#/components/requestBodies/UpdatedToken'
responses:
'200':
$ref: '#/components/responses/OKResponse'
'400':
$ref: '#/components/responses/BadRequestError_2'
'401':
$ref: '#/components/responses/UnauthorizedError_2'
'403':
$ref: '#/components/responses/ForbiddenError_2'
'404':
$ref: '#/components/responses/ResourceNotFoundError'
delete:
tags:
- Users
parameters:
- $ref: '#/components/parameters/userGUID'
- $ref: '#/components/parameters/accountGUID'
- $ref: '#/components/parameters/tokenGUID'
summary: Delete a token linked to a user and a virtual card
description: This endpoint allows users to delete a token linked to a user and a virtual card
operationId: deleteTokenById
responses:
'204':
$ref: '#/components/responses/NOContentResponse'
'400':
$ref: '#/components/responses/BadRequestError_2'
'401':
$ref: '#/components/responses/UnauthorizedError_2'
'403':
$ref: '#/components/responses/ForbiddenError_2'
'404':
$ref: '#/components/responses/ResourceNotFoundError'
/users/{id}/verifications:
post:
tags:
- Users
summary: Verifies user
description: Verify user based on answers to the security questions.
operationId: verifyUser
parameters:
- $ref: '#/components/parameters/UserId'
- $ref: '#/components/parameters/VerifyUsersIdType'
x-mastercard-api-encrypted: true
requestBody:
$ref: '#/components/requestBodies/VerifyUserRequest'
responses:
'200':
$ref: '#/components/responses/VerifyUserResponse'
'400':
$ref: '#/components/responses/ErrorsResponse'
/users/{id}:
get:
tags:
- Users
summary: 'Retrieves a cardholder''s information, including their name, address, communication preferences, and more.
Users are unique cardholders, as compared to Accounts that are unique cards. Each User can have multiple Accounts.'
description: Retrieves Cardholder information.
operationId: getUser
parameters:
- $ref: '#/components/parameters/UserId'
- $ref: '#/components/parameters/UsersIdType'
- $ref: '#/components/parameters/IncludeVerificationDetails'
- $ref: '#/components/parameters/Language'
responses:
'200':
$ref: '#/components/responses/UserDetailsResponse'
'400':
$ref: '#/components/responses/ErrorsResponse'
/user-consents/{user_consent_id}:
delete:
operationId: revokeUserConsentById
summary: Revoke user consent using an identifier
description: A merchant/PSP can use this API to revoke the user consent for a user consent identifier (user_consent_id). Once the user consent is revoked (deleted), it will not be available via Retrieve User-Consent request.
tags:
- Users
responses:
'204':
$ref: '#/components/responses/DeleteConsentsSuccess'
'400':
$ref: '#/components/responses/DeleteConsentsBadRequestError'
'401':
$ref: '#/components/responses/UnAuthorizedMerchantError'
'404':
$ref: '#/components/responses/ResourceNotFoundError_2'
parameters:
- $ref: '#/components/parameters/user_consent_id'
get:
operationId: getUserConsentById
summary: Retrieve user consent by an identifier
description: Retrieve the user consent by an identifier. A Merchants/PSP can use this API to check whether the user consent for the user_consent_id exist or not.
tags:
- Users
parameters:
- $ref: '#/components/parameters/user_consent_id'
responses:
'200':
$ref: '#/components/responses/GetConsentsSuccess'
'400':
$ref: '#/components/responses/GetConsentsBadRequestError'
'401':
$ref: '#/components/responses/UnAuthorizedMerchantError'
'404':
$ref: '#/components/responses/ResourceNotFoundError_2'
/issuers/users:
post:
tags:
- Users
summary: Mastercard Allows Issuer to Enroll Cardholders to the Carbon Calculator Experience Platform.
description: "Used to enroll users for the Carbon Calculator Experience API so that\nthey can track the carbon usage for their transactions and provides\nthem with an option to donate towards tree plantation.\n\n**Note-**\n* If the issuer has opted for the Donation feature then the fields - *name, billing address, email, locale, cardholder name, card number, card base currency and card expiry date* fields are **mandatory** in the payload.\n* This endpoint uses the Mastercard payload\n encryption. Refer to the **[Payload\n Encryption](https://developer.mastercard.com/platform/documentation/security-and-authentication/securing-sensitive-data-using-payload-encryption/#mastercard-encryption)**\n page for implementation details.\n"
operationId: userRegistration
x-mastercard-api-encrypted: true
requestBody:
$ref: '#/components/requestBodies/UserProfile'
responses:
'200':
$ref: '#/components/responses/UserReference'
'400':
$ref: '#/components/responses/UserEnrolmentBadRequestError'
'401':
$ref: '#/components/responses/UserEnrolmentUnauthorisedError'
'404':
$ref: '#/components/responses/IssuerNotFoundError'
'415':
$ref: '#/components/responses/UnsupportedMediaTypeError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/issuers/users/{userid}:
put:
tags:
- Users
summary: Mastercard Allows Issuer to Update Enrolled User Information Onto Carbon Calculator Experience Platform.
description: Used to update the user's information for Carbon Calculator Experience.
operationId: updateUser
parameters:
- $ref: '#/components/parameters/UserID'
x-mastercard-api-encrypted: true
requestBody:
$ref: '#/components/requestBodies/UpdateUserProfile'
responses:
'200':
$ref: '#/components/responses/UpdateUserReference'
'400':
$ref: '#/components/responses/UserEnrolmentBadRequestError'
'401':
$ref: '#/components/responses/UpdateUserUnauthorisedError'
'404':
$ref: '#/components/responses/IssuerNotFoundError'
'415':
$ref: '#/components/responses/UnsupportedMediaTypeError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/issuers/users/{userid}/dashboards:
get:
tags:
- Users
summary: Mastercard Used to Retrieve the Short-lived Url of a User's Dashboard to View Their Carbon Footprints and Contributions to Priceless Planet.
description: It allows issuers to retrieve a short-lived URL for an enrolled user. An Issuer needs to load this URL within their application so that the user can view the dashboard in their preferred language. Currently, four languages are supported, including English, Spanish (Latin America), Swedish, and Polish.
operationId: getAuthToken
parameters:
- $ref: '#/components/parameters/UserID'
- $ref: '#/components/parameters/Lang'
responses:
'200':
$ref: '#/components/responses/Dashboard'
'400':
$ref: '#/components/responses/DashboardBadRequestError'
'401':
$ref: '#/components/responses/DashboardsUnauthorisedError'
'404':
$ref: '#/components/responses/DashboardNotFoundError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/issuers/users/{userid}/aggregate-carbon-scores:
get:
tags:
- Users
summary: Mastercard Fetches Monthly Aggregate Carbon Score for the Transactions Made for the Current Month.
description: Allows Issuers to retrieve an aggregate carbon footprint for the transactions done by a user.
operationId: getAggregateCarbonScore
parameters:
- $ref: '#/components/parameters/UserID'
responses:
'200':
$ref: '#/components/responses/AggregateCarbonScore'
'400':
$ref: '#/components/responses/AggregateCarbonScoreBadRequestError'
'401':
$ref: '#/components/responses/AggregateCarbonScoreUnauthorisedError'
'404':
$ref: '#/components/responses/AggregateCarbonScoreNotFoundError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/issuers/user-deletions:
post:
tags:
- Users
summary: Mastercard Delete One or More Users.
description:
- Allows a registered Service Provider to delete one or more users.
- Payment cards associated with the user will also be deleted.
- On a successful response from the Server, the Service Provider should remove all the requested users and associated payment cards from the system.
operationId: deleteUsers
requestBody:
$ref: '#/components/requestBodies/UserIDs'
responses:
'202':
$ref: '#/components/responses/UserIDs'
'400':
$ref: '#/components/responses/DeleteUserBadRequestError'
'401':
$ref: '#/components/responses/DeleteUserUnauthorisedError'
'404':
$ref: '#/components/responses/DeleteUserNotFoundError'
'415':
$ref: '#/components/responses/UnsupportedMediaTypeError'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/user-data-tokens:
post:
tags:
- Users
summary: Mastercard Create a User Data Token Which Is Used in the Redirection Url That Redirects the Cardholder to the Website for Submitting a New Claim.
description: Create a user data token for submitting claim.
operationId: createUserToken
x-mastercard-api-encrypted: true
requestBody:
$ref: '#/components/requestBodies/UserDataClaim'
responses:
'200':
$ref: '#/components/responses/UserDataToken'
'400':
$ref: '#/components/responses/UserBadRequestError'
'401':
$ref: '#/components/responses/UnauthorizedError_3'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
examples:
ClientIdentitiesSuccessfulExample:
value:
attributes:
dateOfBirth:
e95b7c68-ebcb-4a88-9978-c33d78cde128:
value: '1980-01-01'
lastVerifiedDate: '2022-04-04T02:49:27.915Z'
rotatedPds: ZGZnZGVmZ2RnZGVnZXJnZXJncmRnZXJ5aGdld3J0eWJld3J5dHdleXd5d3l3cmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
UserProfileDeletedErrorExample:
value:
Errors:
Error:
- Source: mids
ReasonCode: USER_PROFILE_DELETED
Description: 'USER_PROFILE_DELETED: ID of the deleted profile.'
Recoverable: false
redirectUri: https://sample-rp-redirect-uri.com?error=server_error&state=AJahbadinvjbdvdnvljkdnvdfhsrbghrtiu4w
ForbiddenExample:
value:
Errors:
Error:
- Source: mids
ReasonCode: CONSENT_NOT_GIVEN
Description: User Consent Not Given.
Recoverable: false
BadRequestARIDErrorExample:
value:
Errors:
Error:
- Source: mids
ReasonCode: VALIDATION_ERROR
Description: Invalid value null for ARID.
Recoverable: false
Details: Must not be null.
redirectUri: https://sample-rp-redirect-uri.com?error=server_error&state=AJahbadinvjbdvdnvljkdnvdfhsrbghrtiu4w
EncryptedPayloadWithRotatedPDSExample:
value:
encryptedData: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IoxNTE2MjM5MDIyf
rotatedPds: ZGZnZGVmZ2RnZGVnZXJnZXJncmRnZXJ5aGdld3J0eWJld3J5dHdleXd5d3l3cmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
NotFoundExample:
value:
Errors:
Error:
- Source: mids
ReasonCode: USER_PROFILE_ID_NOT_FOUND
Description: The provided user profile ID does not exist.
Recoverable: false
BadRequestPDSErrorExample:
value:
Errors:
Error:
- Source: mids
ReasonCode: VALIDATION_ERROR
Description: Invalid value null for PDS.
Recoverable: false
Details: Must not be null.
redirectUri: https://sample-rp-redirect-uri.com?error=server_error&state=AJahbadinvjbdvdnvljkdnvdfhsrbghrtiu4w
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
RPClaimsUserDataSuccessExample:
value:
transactionId: 1ec14310-e85c-11ea-adc1-0242ac120002
rpName: RP Name
rpLogoUrl: https://www.rpsite.com/logo.jpg
claimsData:
claimsAttributes:
postalCode:
claims:
postalCode: '63368'
dataMatch: FULL
dataMatch: FULL
redirectUri: null
rotatedPds: null
RPClaimsUserConsentDataSuccessExample:
value:
flow: APP2APP
pds: ZGZnZGVmZ2RnZGVnZXJnZXJncmRnZXJ5aGdld3J0eWJld3J5dHdleXd5d3l3cmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
rpSpecificIdentifier: 46eb72430ffeca3daf31360264fa0424ba4facfdcb69c6f43e73063f290a75a8
redirectUri: https://sample-rp-redirect-uri.com/?arid=2cd8ed7e-0cbc-44cc-b393-45e42915d6db&code=eyJ4NXQjUzI1NiI6Ildvank5ekFZQzFCWlMxMTJDeTIzM&state=random%20string%22
UnauthorizedExample:
value:
Errors:
Error:
- Source: mids
ReasonCode: UNAUTHORIZED_REQUEST
Description: Unauthorized request.
Recoverable: false
UserAccountActivitiesExample:
value:
userAccountActivities:
- action: ID Created
createdDate: '2020-01-28T13:16:01.714-05:00'
values:
- attributeName: legalName
previousValue: John Doe
value: John Dow
source: passport
rotatedPds: ZGZnZGVmZ2RnZGVnZXJnZXJncmRnZXJ5aGdld3J0eWJld3J5dHdleXd5d3l3cmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
NotFoundExampleARIDnotExists:
value:
Errors:
Error:
- Source: mids
ReasonCode: CLAIM_SHARING_ARID_DOES_NOT_EXIST
Description: 'CLAIM_SHARING_ARID_DOES_NOT_EXIST: ARID does not Exist'
Recoverable: false
Details: ARID does not exist.
redirectUri: https://sample-rp-redirect-uri.com/?arid=b6990018-73bb-4e8c-9658-556012c22a25&state=random%20string&error=server_error
RPClaimsUserConsentDataExampleConsentNotGiven:
value:
flow: APP2APP
pds: ZGZnZGVmZ2RnZGVnZXJnZXJncmRnZXJ5aGdld3J0eWJld3J5dHdleXd5d3l3cmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
rpSpecificIdentifier: null
redirectUri: https://sample-rp-redirect-uri.com/?arid=966eaf60-fa83-46d6-8ed5-7029609b4601&error_description=access_to_claims_denied&state=random%20string&error=access_denied
RPClaimsUserDataExampleClaimsNotSatisfied:
value:
transactionId: 1ec14310-e85c-11ea-adc1-0242ac120002
rpName: RP Name
rpLogoUrl: https://www.rpsite.com/logo.jpg
claimsData: null
redirectUri: https://sample-rp-redirect-uri.com/?arid=c00dc42f-fb5c-49a0-80c7-69faa65ac2af&error_description=scope_data_not_available&state=random%20string&error=invalid_scope
rotatedPds: null
Token:
value:
accountNumber: '1234567891234567'
expiry: 2021-11
accountGuid: 123e4567-e89b-12d3-a456-426614174000
tokenUniqueRef: DE9JOVYK6FVSO8I32DLDPHGTC9NZ7SLKPVLMDQ0RRGK3WYD2
paymentAppInstanceId: '128652974320250630'
status: ACTIVE
AuthorizationError:
value:
Errors:
Error:
- Source: token-management-service
ReasonCode: authorization.missing
Description: Error description
Recoverable: true
Details: Detail information
NotFoundError:
value:
Errors:
Error:
- Source: token-management-service
ReasonCode: not.found
Description: Error description
Recoverable: true
Details: Detail information
ForbiddenError:
value:
Errors:
Error:
- Source: token-management-service
ReasonCode: authorization.forbidden
Description: Error description
Recoverable: true
Details: Detail information
UpdateUserCardAndControl:
value:
firstName: Emerson
lastName: Bloggs
phone: '+353871123456'
expiry: 2021-11
description: This is the description of what the VCN will be used for
realCardBillingCurrencyCode: '840'
rules:
- action: A
alias: DAILY LIMIT
transactionLimits:
- amount: 12
negate: true
geographies:
- countryCodes:
- USA
negate: true
velocities:
- maxTrans: 12
cumulativeLimit: 1200
period: DAILY
availableBalance: 1200
currencyType: MERCHANT
currencyCode: '825'
negate: true
validityPeriods:
- from: '2020-10-06T11:09:42.10Z'
to: '2020-11-06T11:09:42.10Z'
strictPreAuthCheck: true
negate: true
amountRanges:
- minAmount: 1000
maxAmount: 10000
strictPreAuthCheck: true
currencyType: MERCHANT
currencyCode: '825'
negate: true
merchantIds:
- acceptorId: '123456789012345'
acquirerId: '123456'
negate: true
ageingVelocities:
- authorizationHoldDays: 1234
cumulativeLimit: 1000
timeZone: UTC-06:00
currencyType: MERCHANT
currencyCode: '825'
negate: true
curfews:
- fromTime: 08:20
toTime: '11:00'
timeZone: UTC
days:
- SUNDAY
negate: true
timeOfDays:
- times:
- day: SUNDAY
fromTime: 08:21
toTime: '12:40'
timeZone: UTC
negate: true
merchantCategories:
- negate: true
mccs:
- 1234
- 5678
CardDetails:
value:
- firstName: Emerson
lastName: Bloggs
phone: '+353871123456'
realCardAccountGuid: 123e4567-e89b-12d3-a456-426614174000
accountNumber: '1234567891234567'
expiry: 2021-11
accountGuid: 123e4567-e89b-12d3-a456-426614174000
description: This is the description of what the VCN will be used for
realCardBillingCurrencyCode: '840'
rules:
- action: A
alias: DAILY LIMIT
transactionLimits:
- amount: 12
negate: true
geographies:
- countryCodes:
- USA
negate: true
velocities:
- maxTrans: 12
cumulativeLimit: 1200
period: DAILY
availableBalance: 1200
currencyType: MERCHANT
currencyCode: '825'
endDate: '2020-10-06T11:09:42.10Z'
negate: true
validityPeriods:
- from: '2020-10-06T11:09:42.10Z'
to: '2020-11-06T11:09:42.10Z'
strictPreAuthCheck: true
negate: true
amountRanges:
- minAmount: 1000
maxAmount: 10000
strictPreAuthCheck: true
currencyType: MERCHANT
currencyCode: '825'
negate: true
merchantIds:
- acceptorId: '123456789012345'
acquirerId: '123456'
negate: true
ageingVelocities:
- authorizationHoldDays: 1234
cumulativeLimit: 1000
timeZone: UTC-06:00
availableBalance: 1000
currencyType: MERCHANT
currencyCode: '825'
negate: true
curfews:
- fromTime: 08:20
toTime: '11:00'
timeZone: UTC
days:
- SUNDAY
negate: true
timeOfDays:
- times:
- day: SUNDAY
fromTime: 08:21
toTime: '12:40'
timeZone: UTC
negate: true
merchantCategories:
- negate: true
mccs:
- 1234
- 5678
BadRequestError:
value:
Errors:
Error:
- Source: token-management-service
ReasonCode: invalid.parameter
Description: Error description
Recoverable: true
Details: Detail information
UserDetail:
value:
firstName: Emerson
lastName: Bloggs
phone: '+12345678910111'
email: emersonbloggs@gmail.com
TokenUpdate:
value:
accountNumber: '1234567891234567'
expiry: 2021-11
status: ACTIVE
IssuerInactiveError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: ACCOUNT_INACTIVE
Description: Your account is inactive, kindly contact your Mastercard associate to activate it. Until then you won't be able to access any service.
Recoverable: false
Details: Your account is inactive, kindly contact your Mastercard associate to activate it. Until then you won't be able to access any service.
IssuerNotFoundError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: SERVICE_PROVIDER_NOT_FOUND
Description: Service provider clientId is not Identified
Recoverable: false
Details: Client not found.
UserTerminatedError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: USER_TERMINATE_IN_PROGRESS
Description: User termination is in progress, kindly contact your Mastercard associate to activate it again. Until then you won't be able to access any service.
Recoverable: false
Details: 'User termination is in progress, kindly contact your Mastercard associate to activate it again. Until then you won''t be able to access any service. '
UserCountError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: INVALID_REQUEST_PARAMETER
Description: One of the request parameters is invalid, try again with correct request.
Recoverable: true
Details: Request body should have at least 1 or not more than 500 userIds
BadRequestError_2:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: INVALID_REQUEST_PARAMETER
Description: One of the request parameters is invalid, try again with correct request.
Recoverable: false
Details: 'Email must be in the format: xyz@mail.com'
BadRequestExample:
summary: When something went wrong with the request
value:
Errors:
Error:
- Source: AUTHENTICATION_CONSENT_SERVICE
ReasonCode: system.error
Description: Something went wrong with your request. Please try again later
Recoverable: false
InvalidUserIdError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: INVALID_REQUEST_PARAMETER
Description: One of the request parameters is invalid, try again with correct request.
Recoverable: false
Details: UserId should be of size 36
AggregateCarbonScore:
value:
carbonEmissionInGrams: '32.45'
aggregateDate: november-2020
UserBadRequestExample:
value:
Errors:
Error:
- Source: Loyalty Service - Insurance
ReasonCode: INVALID_FIELD
Description: Invalid Field(s).
Recoverable: false
Details: Invalid field - 'pan' is not a string.
InvalidUserNameError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: INVALID_REQUEST_PARAMETER
Description: One of the request parameters is invalid, try again with correct request.
Recoverable: false
Details: Username must only contain alphanumeric (A-Z, a-z, 0-9) and the characters ('), (,) and (')
UnAuthorizedMerchantRequest:
summary: When requestor is not authorized to perform requested operation
value:
Errors:
Error:
- Source: AUTHENTICATION_CONSENT_SERVICE
ReasonCode: unauthorized
Description: Unable to perform this operation as the requestor is unauthorized
Recoverable: false
UserInactiveError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: USER_INACTIVE
Description: The user is inactive, kindly contact your Mastercard associate to activate it. Until then you won't be able to access any service.
Recoverable: false
Details: The user is inactive, kindly contact your Mastercard associate to activate it. Until then you won't be able to access any service.
InvalidCardHolderNameError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: INVALID_REQUEST_PARAMETER
Description: One of the request parameters is invalid, try again with correct request.
Recoverable: false
Details: CardholderName must only contain alphanumeric (A-Z, a-z, 0-9), whitespace, and the characters ('), (,) and (')
UserIDs:
value:
- 4ba581a55-bcea-4c3e-8e0f-9b4726e5e6d3
- c5d88571-ac15-465a-a0d8-1ad1327b9a06
InvalidUserIdLengthError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: INVALID_REQUEST_PARAMETER
Description: One of the request parameters is invalid, try again with correct request.
Recoverable: false
Details: userId must match "^[0-9A-Fa-f\-]{36}"
EncryptedDataLengthError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: INVALID_REQUEST_PARAMETER
Description: One of the request parameters is invalid, try again with correct request.
Recoverable: false
Details: encryptedData size must be between 128 and 54000
UnauthorizedExample_2:
value:
Errors:
Error:
- Source: Gateway
ReasonCode: DECLINED
Description: Unauthorized - Access Not Granted.
Recoverable: false
Details: null
InvalidMerchantRequest:
summary: When registration for the requestor does not exist
value:
Errors:
Error:
- Source: AUTHENTICATION_CONSENT_SERVICE
ReasonCode: invalid.requestor
Description: The registration for the requestor does not exist
Recoverable: false
ResourceNotFoundExample:
summary: When resource not found
value:
Errors:
Error:
- Source: AUTHENTICATION_CONSENT_SERVICE
ReasonCode: resource.not.found
Description: The requested resource was not found
Recoverable: false
RequestDecryptionError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: CRYPTO_ERROR
Description: We are unable to decipher your request, kindly verify your request before trying again. If the problem persists then reach out to your Mastercard associate.
Recoverable: false
Details: ''
UserNotFoundError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: USER_NOT_FOUND
Description: We cannot find user details for provided userId. Kindly register the user through the enrollment process.
Recoverable: false
Details: Make sure the user is enrolled through /issuers/users API endpoint.
IssuerTerminatedError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: ACCOUNT_TERMINATED
Description: Your account has been terminated, you won't be able to access any service. Kindly register yourself again.
Recoverable: false
Details: Your account has been terminated, you won't be able to access any service. Kindly register yourself again.
UnsupportedMediaTypeError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: UNSUPPORTED_MEDIA_TYPE
Description: The requested media type is not supported, try again with supported media type.
Recoverable: false
Details: ''
IssuerSuspendedError:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: ACCOUNT_SUSPENDED
Description: Your account has been suspended temporarily, kindly contact your Mastercard associate to activate it again. Until then you won't be able to access any service.
Recoverable: false
Details: Your account has been suspended temporarily, kindly contact your Mastercard associate to activate it again. Until then you won't be able to access any service.
UpdateUserNotAccessible:
value:
Errors:
Error:
- Source: CARBON CALCULATOR EXPERIENCE
ReasonCode: UPDATE_USER_NOT_ACCESSIBLE
Description: You do not have permission to access this API. The Donate feature for your bank is disabled.
Recoverable: false
Details: You do not have permission to access this API. The Donate feature for your bank is disabled.
responses:
UnauthorizedError:
description: Unauthorized request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
UnauthorizedExample:
$ref: '#/components/examples/UnauthorizedExample'
NotFoundErrorClaimSharing:
description: The request didn't match an existing resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
NotFoundExampleARIDnotExists:
$ref: '#/components/examples/NotFoundExampleARIDnotExists'
BadRequestError:
description: Something was wrong with the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
UserProfileDeletedErrorExample:
$ref: '#/components/examples/UserProfileDeletedErrorExample'
UserAccountActivitySearchesResponse:
description: Success.
headers:
X-Transaction-ID:
schema:
type: string
description: A random 128-bit UUID represents the transaction.
X-User-Identity:
schema:
type: string
description: JWT token for session validation in subsequent API calls.
content:
application/json:
schema:
$ref: '#/components/schemas/UserAccountActivities'
examples:
UserAccountActivitySearchesUnencryptedResponse:
$ref: '#/components/examples/UserAccountActivitiesExample'
UserAccountActivitySearchesEncryptedResponse:
$ref: '#/components/examples/EncryptedPayloadWithRotatedPDSExample'
UserConsentResponse:
description: Success.
headers:
X-Transaction-ID:
schema:
type: string
description: A random 128-bit UUID represents the transaction.
content:
application/json:
schema:
$ref: '#/components/schemas/RPClaimsUserConsentData'
examples:
RPClaimsUserConsentDataSuccess:
$ref: '#/components/examples/RPClaimsUserConsentDataSuccessExample'
RPClaimsUserDataConsentNotGiven:
$ref: '#/components/examples/RPClaimsUserConsentDataExampleConsentNotGiven'
IdentityAttributeDeletionsResponse:
description: Success.
headers:
X-Transaction-ID:
schema:
type: string
description: A random 128-bit UUID represents the transaction.
X-User-Identity:
schema:
type: string
description: JWT token for session validation in subsequent API calls.
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityAttributeDeleted'
NotFoundError:
description: The request didn't match an existing resource.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
NotFoundExample:
$ref: '#/components/examples/NotFoundExample'
IdentitySearchResponse:
description: Success.
headers:
X-Transaction-ID:
schema:
type: string
description: A random 128-bit UUID represents the transaction.
X-User-Identity:
schema:
type: string
description: JWT token for session validation in subsequent API calls.
content:
application/json:
schema:
$ref: '#/components/schemas/ClientIdentities'
examples:
ClientIdentitiesSuccessfulExampleUnencrypted:
$ref: '#/components/examples/ClientIdentitiesSuccessfulExample'
ClientIdentitiesSuccessfulExampleEncrypted:
$ref: '#/components/examples/EncryptedPayloadWithRotatedPDSExample'
ForbiddenError:
description: Consent not given.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
ForbiddenExample:
$ref: '#/components/examples/ForbiddenExample'
ForbiddenExampleUnauthorizedScopedFields:
$ref: '#/components/examples/ForbiddenExampleUnauthorizedScopedFields'
UserProfilesResponse:
description: Success.
headers:
X-Transaction-ID:
schema:
type: string
description: A random 128-bit UUID represents the transaction.
BadRequestErrorClaimSharing:
description: Something was wrong with the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
examples:
BadRequestARIDErrorExample:
$ref: '#/components/examples/BadRequestARIDErrorExample'
BadRequestPDSErrorExample:
$ref: '#/components/examples/BadRequestPDSErrorExample'
RPClaimsDataResponse:
description: Success.
headers:
X-Transaction-ID:
schema:
type: string
description: A random 128-bit UUID represents the transaction.
content:
application/json:
schema:
$ref: '#/components/schemas/RPClaimsUserData'
examples:
RPClaimsUserDataUnencryptedSuccess:
$ref: '#/components/examples/RPClaimsUserDataSuccessExample'
RPClaimsUserDataEncryptedSuccess:
$ref: '#/components/examples/EncryptedPayloadWithRotatedPDSExample'
RPClaimsUserDataClaimsNotSatisfied:
$ref: '#/components/examples/RPClaimsUserDataExampleClaimsNotSatisfied'
UnauthorizedError_2:
description: Authentication Required
headers:
WWW-Authenticate:
description: Method of authentication
schema:
type: string
content:
application/json:
examples:
Unauthorized:
$ref: '#/components/examples/AuthorizationError'
schema:
$ref: '#/components/schemas/ErrorWrapper'
ResourceIdentifier:
description: Resource Created
headers:
Location:
description: location of the resource
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceIdentifier'
OKResponse:
description: OK
User:
description: User details
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetail'
examples:
UserDetail:
$ref: '#/components/examples/UserDetail'
ResourceNotFoundError:
description: Resource Not Found
content:
application/json:
examples:
ResourceNotFound:
$ref: '#/components/examples/NotFoundError'
schema:
$ref: '#/components/schemas/ErrorWrapper'
Token:
description: Token detail
content:
application/json:
schema:
$ref: '#/components/schemas/Token'
examples:
Token:
$ref: '#/components/examples/Token'
NOContentResponse:
description: No Content
ResourceCreated:
description: Resource Created
headers:
Location:
description: location of the resource
schema:
type: string
ForbiddenError_2:
description: Not Authorized
content:
application/json:
examples:
Forbidden:
$ref: '#/components/examples/ForbiddenError'
schema:
$ref: '#/components/schemas/ErrorWrapper'
VirtualCard:
description: Virtual card details
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualCardAccount'
examples:
VirtualCardAccount:
$ref: '#/components/examples/CardDetails'
VirtualCards:
description: List of virtual cards
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/VirtualCardAccount'
examples:
UserCardsDetails:
$ref: '#/components/examples/CardDetails'
BadRequestError_2:
description: Invalid Request
content:
application/json:
examples:
BadRequest:
$ref: '#/components/examples/BadRequestError'
schema:
$ref: '#/components/schemas/ErrorWrapper'
UserDetailsResponse:
description: Successfully retrieved user.
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetails'
ErrorsResponse:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorsWrapper'
UserUpdateResponse:
description: Ok
UserEnrollResponse:
description: Successfully enrolled user.
content:
application/json:
schema:
$ref: '#/components/schemas/EnrolledUser'
VerifyUserResponse:
description: Successfully verified user
content:
application/json:
schema:
$ref: '#/components/schemas/VerifiedUser'
UnauthorizedError_3:
description: Unauthorized - Access Not Granted
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorItems'
examples:
UnauthorizedExample:
$ref: '#/components/examples/UnauthorizedExample_2'
UpdateUserUnauthorisedError:
description: This response code is returned for unauthorized Issuer and User.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
IssuerInactiveError:
$ref: '#/components/examples/IssuerInactiveError'
IssuerSuspendedError:
$ref: '#/components/examples/IssuerSuspendedError'
IssuerTerminatedError:
$ref: '#/components/examples/IssuerTerminatedError'
UpdateUserNotAccessible:
$ref: '#/components/examples/UpdateUserNotAccessible'
UserEnrolmentUnauthorisedError:
description: This response code is returned for unauthorized Issuer.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
IssuerInactiveError:
$ref: '#/components/examples/IssuerInactiveError'
IssuerSuspendedError:
$ref: '#/components/examples/IssuerSuspendedError'
IssuerTerminatedError:
$ref: '#/components/examples/IssuerTerminatedError'
DeleteUserNotFoundError:
description: This response code is returned when a user or Issuer is not present.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
IssuerNotFoundError:
$ref: '#/components/examples/IssuerNotFoundError'
UserEnrolmentBadRequestError:
description: This response code is returned when a request is invalid or data in the request is not valid or a card user is already registered on the server.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
BadRequestError:
$ref: '#/components/examples/BadRequestError_2'
InvalidNameError:
$ref: '#/components/examples/InvalidUserNameError'
InvalidFirstNameError:
$ref: '#/components/examples/InvalidUserNameError'
InvalidLastNameError:
$ref: '#/components/examples/InvalidUserNameError'
InvalidCardHolderNameError:
$ref: '#/components/examples/InvalidCardHolderNameError'
EncryptedDataLengthError:
$ref: '#/components/examples/EncryptedDataLengthError'
RequestDecryptionError:
$ref: '#/components/examples/RequestDecryptionError'
UpdateUserReference:
description: The response object that contains userID and Payment Card information after successful updation of users personal information.
content:
application/json:
schema:
$ref: '#/components/schemas/UserReference'
UnsupportedMediaTypeError:
description: This response code is returned when the MediaType in the request is other than application/json format.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
UnsupportedMediaTypeError:
$ref: '#/components/examples/UnsupportedMediaTypeError'
DeleteConsentsBadRequestError:
description: Server is unable to parse the request data due to malformed json.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse_2'
examples:
InvalidMerchantRequest:
$ref: '#/components/examples/InvalidMerchantRequest'
BadRequestExample:
$ref: '#/components/examples/BadRequestExample'
UserIDs:
description: The response object contains a list of deleted user IDs
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UserID'
examples:
DeletedUserIds:
$ref: '#/components/examples/UserIDs'
AggregateCarbonScoreNotFoundError:
description: This response code is returned when a user or Issuer is not present.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
UserNotFoundError:
$ref: '#/components/examples/UserNotFoundError'
IssuerNotFoundError:
$ref: '#/components/examples/IssuerNotFoundError'
GetConsentsBadRequestError:
description: Server is unable to parse the request data due to malformed json.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse_2'
examples:
InvalidMerchantRequest:
$ref: '#/components/examples/InvalidMerchantRequest'
BadRequestExample:
$ref: '#/components/examples/BadRequestExample'
Dashboard:
description: The response object after decryption contains a short-lived URL along with an authentication token and its expiry time.
content:
application/json:
schema:
$ref: '#/components/schemas/Dashboard'
DeleteUserBadRequestError:
description: This response code is returned when a request is invalid or data in the request is not valid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
UserCountError:
$ref: '#/components/examples/UserCountError'
InvalidUserIdLengthError:
$ref: '#/components/examples/InvalidUserIdLengthError'
GetConsentsSuccess:
description: The success response for retrieving user consent
content:
application/json:
schema:
$ref: '#/components/schemas/UserConsent_2'
DashboardsUnauthorisedError:
description: This response code is returned when a user and the Issuer are unauthorized.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
IssuerInactiveError:
$ref: '#/components/examples/IssuerInactiveError'
UserInactiveError:
$ref: '#/components/examples/UserInactiveError'
IssuerSuspendedError:
$ref: '#/components/examples/IssuerSuspendedError'
UserTerminatedError:
$ref: '#/components/examples/UserTerminatedError'
IssuerTerminatedError:
$ref: '#/components/examples/IssuerTerminatedError'
DeleteConsentsSuccess:
description: The server successfully processed the request
DashboardBadRequestError:
description: This response code is returned when a request is invalid or data in the request is not valid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
InvalidUserIdError:
$ref: '#/components/examples/InvalidUserIdError'
AggregateCarbonScore:
description: The response object contains an aggregation of carbon footprint.
content:
application/json:
schema:
$ref: '#/components/schemas/AggregateCarbonScore'
examples:
AggregateCarbonScores:
$ref: '#/components/examples/AggregateCarbonScore'
UnAuthorizedMerchantError:
description: Requestor is not authorised to perform requested operation.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse_2'
examples:
UnAuthorizedMerchantRequest:
$ref: '#/components/examples/UnAuthorizedMerchantRequest'
UserDataToken:
description: The user data token generated from the request.
content:
application/json:
schema:
$ref: '#/components/schemas/SubmitClaimUserToken'
DeleteUserUnauthorisedError:
description: This response code is returned when a user is terminated or inactive.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
IssuerInactiveError:
$ref: '#/components/examples/IssuerInactiveError'
IssuerSuspendedError:
$ref: '#/components/examples/IssuerSuspendedError'
IssuerTerminatedError:
$ref: '#/components/examples/IssuerTerminatedError'
AggregateCarbonScoreBadRequestError:
description: This response code is returned when a request is invalid or data in the request is not valid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
InvalidUserIdError:
$ref: '#/components/examples/InvalidUserIdError'
AggregateCarbonScoreUnauthorisedError:
description: This response code is returned when a user is terminated or inactive.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
IssuerInactiveError:
$ref: '#/components/examples/IssuerInactiveError'
UserInactiveError:
$ref: '#/components/examples/UserInactiveError'
UserTerminatedError:
$ref: '#/components/examples/UserTerminatedError'
IssuerSuspendedError:
$ref: '#/components/examples/IssuerSuspendedError'
IssuerTerminatedError:
$ref: '#/components/examples/IssuerTerminatedError'
UserBadRequestError:
description: 'Bad Request
Reason Codes:
* MISSING_REQ_FIELD_GW - Missing required field(s)
* INVALID_FIELD - Invalid field(s)
'
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorItems'
examples:
UserBadRequestExample:
$ref: '#/components/examples/UserBadRequestExample'
DashboardNotFoundError:
description: This response code is returned when a user or Issuer is not present.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
UserNotFoundError:
$ref: '#/components/examples/UserNotFoundError'
IssuerNotFoundError:
$ref: '#/components/examples/IssuerNotFoundError'
ResourceNotFoundError_2:
description: The requested resource does not exist
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse_2'
examples:
ResourceNotFoundExample:
$ref: '#/components/examples/ResourceNotFoundExample'
IssuerNotFoundError:
description: This response code is returned when the server cannot find the account which has been used to call the API.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorWrapper_2'
examples:
IssuerNotFoundError:
$ref: '#/components/examples/IssuerNotFoundError'
UserReference:
description: The response object contains Payment Card information after a successful registration.
content:
application/json:
schema:
$ref: '#/components/schemas/UserReference'
schemas:
UserAccountActivitySearch:
required:
- pds
- startIndex
- endIndex
- userConsent
type: object
properties:
pds:
$ref: '#/components/schemas/PDS'
startIndex:
type: integer
description: Start index of the user account activity.
format: int32
minimum: 1
maximum: 999
example: 3
endIndex:
type: integer
description: End index of the user account activity.
format: int32
minimum: 1
maximum: 999
example: 10
userConsent:
$ref: '#/components/schemas/UserConsent'
sdkVersion:
$ref: '#/components/schemas/SdkVersion'
RPClaimsUserData:
required:
- transactionId
- rpName
- rpLogoUrl
- claimsData
type: object
properties:
transactionId:
type: string
description: A random 128-bit. UUID represents the MIDS transaction.
minLength: 36
maxLength: 36
example: 1ec14310-e85c-11ea-adc1-0242ac120002
rpName:
type: string
description: The display name of the RP.
minLength: 1
maxLength: 255
example: RP Name
rpLogoUrl:
type: string
description: The URL of the logo of the RP.
pattern: ^(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})$
minLength: 1
example: https://www.rpsite.com/logo.jpg
claimsData:
$ref: '#/components/schemas/ClaimsData'
redirectUri:
type: string
description: TP will use this URI to redirect to RP.
pattern: ^(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})$
minLength: 1
example: https://sample-rp-redirect-uri.com/?error=invalid_scope&state=AJahbadinvjbdvdnvljkdnvdfhsrbghrtiu4w&ARID=1234&error_description=claim_not_satisfied
rotatedPds:
type: string
description: A rotated PDS is created and returned when the encryption key expires and a new key is generated.
minLength: 1
pattern: ^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$
example: ZGZnZGVmZ2RnZGVnZXJnZXJncmRnZXJ5aGdld3J0eWJld3J5dHdleXd5d3l3cmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
UserAccountActivities:
required:
- userAccountActivities
properties:
userAccountActivities:
type: array
description: User account activity items.
items:
$ref: '#/components/schemas/UserAccountActivityItems'
rotatedPds:
type: string
description: A rotated PDS is created and returned when the encryption key expires and a new one is generated.
pattern: ^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$
minLength: 1
example: ZGZnZGVmZ2RnZGVnZXJnZXJncmRnZXJ5aGdld3J0eWJld3J5dHdleXd5d3l3cmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
UserAccountActivityItemContents:
required:
- value
properties:
attributeName:
type: string
description: Name of the updated attribute.
minLength: 1
maxLength: 255
example: legalName
previousValue:
type: string
description: Value before the update.
minLength: 1
maxLength: 255
example: John Doe
value:
type: string
description: Value after the update.
minLength: 1
maxLength: 255
example: John Dow
source:
type: string
description: The source document for the update.
minLength: 1
maxLength: 29
example: passport
Cnh:
allOf:
- $ref: '#/components/schemas/DriverLicenseCardNumber'
SdkVersion:
type: string
description: Mastercard SDK version integrated with TP App, it is a constant extracted from MIDS SDK Configurations (generated while bundling SDK artifacts). If the TP app supports split PDS, this attribute MUST be specified.
pattern: ^[0-9]{1,5}\.[0-9]{1,5}\.[0-9]{1,5}$
minLength: 5
maxLength: 255
example: 2.3.0
GovtId:
oneOf:
- $ref: '#/components/schemas/PassportIdentity'
- $ref: '#/components/schemas/DriverLicenseIdentity'
UserConsent:
enum:
- ACCEPT
- DECLINE
- REVOKE
- EXPIRE
type: string
description: Confirmation provided by the TP that the user has consented that the ID-Network can have access to their identity for the purposes of the API call. Should be ACCEPT, a forbidden exception will be thrown if it is any other value.
pattern: ^(ACCEPT|DECLINE|REVOKE|EXPIRE)$
minLength: 6
maxLength: 7
example: ACCEPT
ARID:
type: string
description: A unique identifier for any activity being executed arising out of a Claim Share request. This value is passed as a parameter in the URL redirecting a User to the TP Flow during a Claim Share.
format: uuid
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}$
minLength: 36
maxLength: 36
example: a15fa6de-b199-11eb-8529-0242ac130003
IdentityAttribute:
allOf:
- {}
- oneOf:
- $ref: '#/components/schemas/Address'
- $ref: '#/components/schemas/DateOfBirth'
- $ref: '#/components/schemas/Email'
- $ref: '#/components/schemas/FathersName'
- $ref: '#/components/schemas/MothersName'
- $ref: '#/components/schemas/LegalName'
- $ref: '#/components/schemas/Phone'
- $ref: '#/components/schemas/Selfie'
- $ref: '#/components/schemas/MobileIdEligibility'
- $ref: '#/components/schemas/GovtId'
- $ref: '#/components/schemas/GovtIdDetails'
- $ref: '#/components/schemas/GovtIdImage'
- $ref: '#/components/schemas/PassportIdentity'
- $ref: '#/components/schemas/PassportDetails'
- $ref: '#/components/schemas/PassportImage'
- $ref: '#/components/schemas/DriverLicenseIdentity'
- $ref: '#/components/schemas/DriverLicenseCardNumber'
- $ref: '#/components/schemas/DriverLicenseDetails'
- $ref: '#/components/schemas/DriverLicenseImage'
- $ref: '#/components/schemas/VisaMatched'
- $ref: '#/components/schemas/Cnh'
- $ref: '#/components/schemas/Cpf'
- $ref: '#/components/schemas/Rg'
RPClaimsUserConsent:
required:
- arid
- userConsent
- pds
type: object
properties:
arid:
$ref: '#/components/schemas/ARID'
userConsent:
type: string
enum:
- ACCEPT
- DECLINE
pattern: ^(ACCEPT|DECLINE)$
description: Confirmation provided by the TP that the user has consented that the ID-Network can have access to their identity for the purposes of the API call. Should be ACCEPT, a forbidden exception will be thrown if it is any other value.
example: ACCEPT
pds:
$ref: '#/components/schemas/PDS'
sdkAuditEvents:
type: array
description: Array of objects containing a record of any auditable steps occurring between the App and the SDK. A call must be made by the TP App from the MIDS Audit SDK prior to all API calls, with any audit events included in the subsequent call.
items:
$ref: '#/components/schemas/AuditEventsItem'
tpAuditMetadata:
$ref: '#/components/schemas/TpAuditMetadata'
sdkVersion:
$ref: '#/components/schemas/SdkVersion'
locale:
$ref: '#/components/schemas/Locale'
countryCode:
$ref: '#/components/schemas/CountryCode'
GovtIdImage:
oneOf:
- $ref: '#/components/schemas/PassportImage'
- $ref: '#/components/schemas/DriverLicenseImage'
PDS:
type: string
description: Encrypted Personal Device Storage (PDS) which hosts the users identity attributes. The PDS can be retrieved from the MIDS Core SDK, please refer to the SDK guide for details on how to retrieve this.
pattern: ^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$
minLength: 1
example: ZGZnZGVmZ2RnZGVnZXJnZXJncmRnZXJ5aGdld3J0eWJld3J5dHdleXd5d3l3cmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
DateOfBirth:
required:
- lastVerifiedDate
- value
type: object
properties:
value:
type: string
description: Value.
minLength: 1
maxLength: 255
example: '1996-07-10T00:00:00.000Z'
lastVerifiedDate:
type: string
description: Last verified date and time.
format: date-time
example: '2021-02-19T10:55:58.165Z'
MothersName:
required:
- lastVerifiedDate
- value
type: object
properties:
value:
type: string
description: Value.
minLength: 1
maxLength: 255
example: Jane Doe
lastVerifiedDate:
type: string
description: Last verified date and time.
format: date-time
example: '2021-02-19T10:55:58.165Z'
PassportIdentity:
type: object
properties:
lastName:
type: string
description: Last name.
minLength: 1
maxLength: 255
example: Doe
firstName:
type: string
description: First name.
minLength: 1
maxLength: 255
example: John
dateOfBirth:
type: string
description: Date of birth.
minLength: 10
maxLength: 10
example: '1996-07-10T00:00:00.000Z'
ErrorResponse:
required:
- Errors
type: object
description: The error response model used by all the API endpoints.
properties:
Errors:
required:
- Error
type: object
description: The error response model used by all the API endpoints.
properties:
Error:
type: array
description: A list of Error objects.
minItems: 1
items:
type: object
properties:
Source:
type: string
description: The source of the problem. That is where the error occurred.
example: mids
ReasonCode:
type: string
description: A code defining the error, as defined in documentation.
example: USER_PROFILE_ID_NOT_FOUND
Description:
type: string
description: A description of this specific occurrence of the Reason code.
example: The provided user profile ID does not exist.
Recoverable:
type: boolean
description: Whether or not retrying this request could result in a successful response.
example: false
Details:
type: string
description: More details of this specific error. This is an optional field and is sometimes used to give a more comprehensive description of the error that has occurred, when required.
example: User X was not found
redirectUri:
type: string
description: TP will use this URI to redirect to RP.
pattern: ^(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})$
example: https://sample-rp-redirect-uri.com/?error=invalid_scope&state=AJahbadinvjbdvdnvljkdnvdfhsrbghrtiu4w&ARID=1234&error_description=claim_not_satisfied
IdentityAttributeDeletions:
required:
- pds
- attributeName
- userConsent
- attributeId
type: object
properties:
pds:
$ref: '#/components/schemas/PDS'
userConsent:
$ref: '#/components/schemas/UserConsent'
attributeName:
type: string
description: The name of the attribute to be deleted.
enum:
- PASSPORT
- DRIVER_LICENSE
example: PASSPORT
attributeId:
type: string
description: The identifier of the attribute being queried. This can be retrieved from a call to either the authentication-decisions API, or the user-profiles/identity-searches API.
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}$
minLength: 1
example: cf11bb8d-b1b1-49c7-90ed-c63134cd1008
sdkAuditEvents:
type: array
description: Array of objects containing a record of any auditable steps occurring between the App and the SDK. A call must be made by the TP App from the MIDS Audit SDK prior to all API calls, with any audit events included in the subsequent call.
items:
$ref: '#/components/schemas/AuditEventsItem'
tpAuditMetadata:
$ref: '#/components/schemas/TpAuditMetadata'
sdkVersion:
$ref: '#/components/schemas/SdkVersion'
AuditEventsItem:
type: object
properties:
dateTime:
type: string
description: Date and time at which the event is created.
minLength: 1
maxLength: 29
example: '2020-01-28T13:16:01.714-05:00'
softwareVersion:
type: string
description: Software version.
minLength: 1
maxLength: 30
example: 1.0.0
userProfileId:
type: string
description: UUID identifying the user, which the TP App generates using the MIDS Core SDK.
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}$
example: df52649e-4096-456a-bca0-751ee470009f
sessionId:
type: string
description: UUID which uniquely identifies a set of transactions being executed within the same authentication session.
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}$
minLength: 36
maxLength: 36
example: 123ae1aa-6744-433e-879d-7da48d631234
transactionGroupId:
type: string
description: UUID which uniquely identifies a set of transactions being executed within a single use-case.
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}$
minLength: 36
maxLength: 36
example: 28eae1aa-6744-433e-879d-7da48d63e89a
logRequestFlow:
type: string
description: Log Request Flow.
minLength: 1
maxLength: 255
example: CoreSDK-TP
logEvent:
type: string
description: Log Event.
minLength: 0
maxLength: 255
example: ID Enrollment
logEventType:
type: string
description: Log Event Type.
minLength: 1
maxLength: 255
example: User Profile Creation
osVersion:
type: string
description: OS version.
minLength: 1
maxLength: 255
example: Android 5.0
deviceMake:
type: string
description: Device make.
minLength: 1
maxLength: 255
example: Samsung S10
type:
type: string
description: Type of the event.
minLength: 1
maxLength: 255
example: audit
audit:
type: object
description: Represents the audit event.
properties:
privacyPolicy:
type: string
description: Version user confirmed.
minLength: 1
maxLength: 20
example: 1.0.0
userBiometricConsent:
type: string
description: User consent to capture details.
enum:
- 'TRUE'
- 'FALSE'
- NA
minLength: 4
maxLength: 5
example: 'TRUE'
event:
type: string
description: Event.
minLength: 1
maxLength: 255
example: Document Scan
eventType:
type: string
description: EventType.
minLength: 1
maxLength: 255
example: Enrollment
result:
type: string
description: API Call result.
enum:
- 'TRUE'
- 'FALSE'
- FAIL
minLength: 4
maxLength: 5
example: 'TRUE'
eventGeneratedSource:
type: string
description: Event generated source.
minLength: 1
maxLength: 50
example: CoreSDK
owner:
type: string
description: Owner.
minLength: 2
maxLength: 4
example: TP
requestDetails:
type: object
description: Request Details.
example: Request URL
responseDetails:
type: object
description: Response Details.
example: Response Data
MobileIdEligibility:
required:
- lastVerifiedDate
- value
type: object
properties:
value:
type: boolean
description: Value of whether user is eligible for mobile id enrollment.
example: true
lastVerifiedDate:
type: string
description: Last verified date and time.
format: date-time
example: '2021-02-19T10:55:58.165Z'
ClaimsData:
type: object
properties:
dataMatch:
type: string
description: The overall data match the status result of the claim sharing request. Possible values are FULL or PARTIAL.
minLength: 4
maxLength: 7
example: FULL
claimsAttributes:
type: object
description: An object that represents the claims data.
example:
claims:
legalName: John
dataMatch: FULL
additionalProperties:
$ref: '#/components/schemas/Scopes'
Cpf:
type: string
description: CPF Number. This will only be available when the Brazilian DL is scanned.
minLength: 1
maxLength: 255
example: 12345
Address:
required:
- lastVerifiedDate
allOf:
- $ref: '#/components/schemas/AddressData'
- type: object
properties:
value:
type: string
description: Formatted address.
minLength: 1
maxLength: 255
example: 36271 GrandRiver Ave Building no 2 48335 Farmington MI USA
lastVerifiedDate:
type: string
description: Last verified date and time.
format: date-time
example: '2021-02-19T10:55:58.165Z'
DriverLicenseImage:
type: object
description: Driver License Images.
properties:
front:
type: string
description: Value.
minLength: 1
example: U29tZSBTdHJpbmc=
back:
type: string
description: Value.
minLength: 1
example: YGS75JHSljhs86K=
FathersName:
required:
- lastVerifiedDate
- value
type: object
properties:
value:
type: string
description: Value.
minLength: 1
maxLength: 255
example: Josh Doe
lastVerifiedDate:
type: string
description: Last verified date and time.
format: date-time
example: '2021-02-19T10:55:58.165Z'
PassportImage:
type: object
description: Passport License Images.
properties:
front:
type: string
description: Value.
minLength: 1
example: JH65ghKHG76KS=
Selfie:
required:
- lastVerifiedDate
- value
type: object
properties:
value:
type: string
description: Value.
minLength: 1
example: U29tZSBTdHJpbmc=
lastVerifiedDate:
type: string
description: Last verified date and time.
format: date-time
example: '2021-02-19T10:55:58.165Z'
UserAccountActivityItems:
required:
- action
- createdDate
properties:
action:
type: string
description: Type of the activity, possible values - ["ID Created", "Details Updated", "Add Drivers License", "Add Passport", "Add Health Card", "ID Backup", "ID Restore", "Attribute Deleted"].
minLength: 1
maxLength: 24
example: ID Created
createdDate:
type: string
description: Date of the event.
minLength: 1
maxLength: 29
example: '2020-01-28T13:16:01.714-05:00'
values:
type: array
description: Details of the activity.
items:
$ref: '#/components/schemas/UserAccountActivityItemContents'
IdentitySearch:
required:
- pds
- scopedFields
- userConsent
type: object
properties:
pds:
$ref: '#/components/schemas/PDS'
userConsent:
$ref: '#/components/schemas/UserConsent'
scopedFields:
type: array
description: 'Array of enums representing the identity attributes which the TP is requesting access to.
The acceptable values are any/all of: ''all'', ''legalName'', ''email'', ''phone'', ''dateOfBirth'', ''driverLicense'', ''passport'', ''address''
'
minItems: 1
items:
enum:
- all - legalName - email - phone - dateOfBirth - selfie - address - ageOver - ageUnder - city - postalCode - subDivision - govtId - govtIdDetails - govtIdImage - passportIdentity - passportDetails - passportImage - driverLicenseIdentity - driverLicenseCardNumber - driverLicenseDetails - driverLicenseImage - driverLicenseIssuingState - visaMatched - cpf - rgNumber - cnh - mothersName - fathersName
type: string
example: all
sdkVersion:
$ref: '#/components/schemas/SdkVersion'
DriverLicenseDetails:
properties:
expiryDate:
type: string
description: Expiry date.
minLength: 10
maxLength: 10
example: '1996-07-10T00:00:00.000Z'
issuingCountry:
type: string
description: Country code.
minLength: 1
maxLength: 255
example: USA
documentNumber:
type: string
description: Passport number.
minLength: 1
maxLength: 255
example: 1234567890
IdentityAttributesById:
type: object
additionalProperties:
$ref: '#/components/schemas/IdentityAttribute'
description: Identity attributes are keyed by attribute IDs.
minLength: 1
VisaMatched:
type: boolean
description: Flag indicating if the documentDetails are to be checked against a visa for a particular country.
example: false
Rg:
type: string
description: RG Number. This will only be available when the Brazilian DL is scanned.
minLength: 1
maxLength: 255
example: 12345
LegalName:
required:
- lastVerifiedDate
- value
type: object
properties:
value:
type: string
description: Value.
minLength: 1
maxLength: 255
example: John Doe
lastVerifiedDate:
type: string
description: Last verified date and time.
format: date-time
example: '2021-02-19T10:55:58.165Z'
TpAuditMetadata:
required:
- sessionId
- transactionGroupId
type: object
description: Object containing metadata related to the request.
properties:
sessionId:
type: string
description: UUID which uniquely identifies a set of transactions being executed within the same authentication session.
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}$
minLength: 36
maxLength: 36
example: be3ad617-04ad-43e1-a438-79425b6511b6
transactionGroupId:
type: string
description: UUID which uniquely identifies a set of transactions being executed within a single use-case.
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}$
minLength: 36
maxLength: 36
example: be3ad617-04ad-43e1-a438-79425b6511b6
Locale:
type: string
description: IETF BCP 47 code which identifies the language to be used in any dialogs being shown to the user during the flow. The default value is "en-US".
pattern: ^[a-z]{2}-[a-zA-Z]{2}$
example: en-US
AddressData:
type: object
properties:
addressLine1:
type: string
description: Address line 1.
minLength: 1
maxLength: 255
example: 36271 GrandRiver Ave
addressLine2:
type: string
description: Address line 2.
minLength: 1
maxLength: 255
example: Building no 2
addressZipCode:
type: string
description: Zip code.
minLength: 1
maxLength: 255
example: 48335
addressCity:
type: string
description: City.
minLength: 1
maxLength: 255
example: Farmington
addressSubdivision:
type: string
description: Subdivision of the user address, possible values include county, state, province, and municipality.
minLength: 2
maxLength: 2
example: MO
addressCountry:
type: string
description: Country provided in the address from the scanned document.
minLength: 1
maxLength: 255
example: USA
GovtIdDetails:
oneOf:
- $ref: '#/components/schemas/PassportDetails'
- $ref: '#/components/schemas/DriverLicenseDetails'
Phone:
required:
- lastVerifiedDate
- value
type: object
properties:
value:
type: string
description: Value.
minLength: 1
maxLength: 255
example: 11234567890
lastVerifiedDate:
type: string
description: Last verified date and time.
format: date-time
example: '2021-02-19T10:55:58.165Z'
RPClaimsUserDetails:
required:
- arid
- pds
type: object
properties:
arid:
$ref: '#/components/schemas/ARID'
pds:
$ref: '#/components/schemas/PDS'
sdkAuditEvents:
type: array
description: Array of objects containing a record of any auditable steps occurring between the App and the SDK. A call must be made by the TP App from the MIDS Audit SDK prior to all API calls, with any audit events included in the subsequent call.
items:
$ref: '#/components/schemas/AuditEventsItem'
tpAuditMetadata:
$ref: '#/components/schemas/TpAuditMetadata'
sdkVersion:
$ref: '#/components/schemas/SdkVersion'
locale:
$ref: '#/components/schemas/Locale'
countryCode:
$ref: '#/components/schemas/CountryCode'
DriverLicenseCardNumber:
type: string
description: Document number.
minLength: 1
maxLength: 255
example: 7435675436
IdentityAttributesByName:
type: object
additionalProperties:
$ref: '#/components/schemas/IdentityAttributesById'
description: Identity attributes keyed by IdentitySearch.scopedFields enum.
minLength: 1
example:
dateOfBirth:
e95b7c68-ebcb-4a88-9978-c33d78cde128:
value: '1980-01-01'
lastVerifiedDate: '2022-04-04T02:49:27.915Z'
RPClaimsUserConsentData:
required:
- flow
- pds
- rpSpecificIdentifier
- redirectUri
type: object
properties:
flow:
type: string
description: The user navigation flow for the RP Claim Sharing process.
minLength: 1
maxLength: 20
example: APP2APP
pds:
$ref: '#/components/schemas/PDS'
rpSpecificIdentifier:
type: string
description: The field rpSpecificIdentifier refers to a unique value for the Relying Party to identify the user for future reporting.
minLength: 64
maxLength: 64
example: 46eb72430ffeca3daf31360264fa0424ba4facfdcb69c6f43e73063f290a75a8
redirectUri:
type: string
description: TP will use this URI to redirect to RP.
pattern: ^(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})$
minLength: 1
example: https://sample-rp-redirect-uri.com/?error=invalid_scope&state=AJahbadinvjbdvdnvljkdnvdfhsrbghrtiu4w&ARID=1234&error_description=claim_not_satisfied
IdentityAttributeDeleted:
required:
- pds
type: object
properties:
pds:
$ref: '#/components/schemas/PDS'
Email:
required:
- lastVerifiedDate
- value
type: object
properties:
value:
type: string
description: Value.
minLength: 1
maxLength: 255
example: person@mastercard.com
lastVerifiedDate:
type: string
description: Last verified date and time.
format: date-time
example: '2021-02-19T10:55:58.165Z'
UserProfile:
required:
- countryCode
- userProfileId
type: object
properties:
userProfileId:
type: string
description: UUID identifying the user, which the TP App generates using the MIDS Core SDK.
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}$
example: c908bc7c-9917-48fd-b862-d901a0880fef
countryCode:
$ref: '#/components/schemas/CountryCode'
sdkAuditEvents:
type: array
description: Array of objects containing a record of any auditable steps occurring between the App and the SDK. A call must be made by the TP App from the MIDS Audit SDK prior to all API calls, with any audit events included in the subsequent call.
items:
$ref: '#/components/schemas/AuditEventsItem'
tpAuditMetadata:
$ref: '#/components/schemas/TpAuditMetadata'
arid:
$ref: '#/components/schemas/ARID'
sdkVersion:
$ref: '#/components/schemas/SdkVersion'
Scopes:
type: object
description: An object that represents a list of requested scopes and values.
properties:
claims:
type: object
description: The keys will be the scopes that come as part of the request and the data structure will be the data object named after the key.
example:
legalName: John
additionalProperties:
type: string
dataMatch:
description: The data match the status result of the individual scope.
type: string
minLength: 4
maxLength: 7
example: FULL
ClientIdentities:
required:
- attributes
type: object
properties:
rotatedPds:
type: string
description: A rotated PDS is created and returned when the encryption key expires and a new key is generated.
pattern: ^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$
minLength: 1
example: ZGZnZGVmZ2RnZGVnZXJnZXJncmRnZXJ5aGdld3J0eWJld3J5dHdleXd5d3l3cmFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFh
attributes:
$ref: '#/components/schemas/IdentityAttributesByName'
CountryCode:
type: string
description: The country code of the country where the transaction originates from.
pattern: ^[a-zA-Z]{2}$
example: US
DriverLicenseIdentity:
type: object
properties:
lastName:
type: string
description: Last name.
minLength: 1
maxLength: 255
example: Doe
firstName:
type: string
description: First name.
minLength: 1
maxLength: 255
example: John
dateOfBirth:
type: string
description: Date of birth.
minLength: 10
maxLength: 10
example: '1996-07-10T00:00:00.000Z'
PassportDetails:
type: object
properties:
expiryDate:
type: string
description: Expiry date.
minLength: 10
maxLength: 10
example: '1996-07-10T00:00:00.000Z'
issuingCountry:
type: string
description: Country code.
minLength: 1
maxLength: 255
example: USA
passportNumber:
type: string
description: Passport number.
minLength: 1
maxLength: 255
example: 1234567890
VelocityControl:
required:
- period
- negate
type: object
properties:
maxTrans:
minimum: 1
type: integer
description: Maximum number of transactions allowed
format: int32
example: 12
cumulativeLimit:
minimum: 0
type: number
description: Maximum allowed cumulative amount
example: 1200
format: float
period:
minLength: 5
maxLength: 10
type: string
description: Velocity period. Valid values are DAILY, WEEKLY, QUARTERLY, CONTINUOUS, MONTHLY, and YEARLY
example: DAILY
pattern: ^(DAILY|WEEKLY|QUARTERLY|CONTINUOUS|MONTHLY|YEARLY)
availableBalance:
minimum: 0
type: number
description: The cumulative spend available for the velocity control for the specified period
example: 1200
format: float
currencyType:
minLength: 4
maxLength: 8
type: string
description: Type of the currency being used. Valid values are BASE and MERCHANT
pattern: ^(BASE|MERCHANT)
example: MERCHANT
currencyCode:
minLength: 3
maxLength: 3
pattern: ^[0-9]{3}$
type: string
description: Mastercard supported International Organization for Standardization (ISO) 4217 currency codes
example: '825'
endDate:
type: string
format: date-time
description: End date until which the control is valid, in ISO 8601 extended format "YYYY-MM-DDThh:mm:ss[.sss]Z", where [.sss] is optional and can be 1 to 3 digits
example: '2020-10-06T11:09:42.10Z'
negate:
type: boolean
description: Defines if the rules should be negated
example: false
description: The VelocityControl can limit the frequency, and the total cumulative amount of authorizations performed on the cardholders account within a specified time period
CurfewControl:
required:
- days
- fromTime
- negate
- toTime
type: object
properties:
fromTime:
minLength: 5
maxLength: 5
pattern: ^([01][0-9]|2[0-3]):([0-5][0-9])$
type: string
description: The start time from which authorizations will be allowed
example: 08:20
toTime:
minLength: 5
maxLength: 5
pattern: ^([01][0-9]|2[0-3]):([0-5][0-9])$
type: string
description: The end time at which authorizations will be allowed
example: '11:00'
timeZone:
type: string
description: Time zone of the from and to times
example: UTC
days:
maxItems: 7
minItems: 1
type: array
description: Days of week. Valid values are SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, and SATURDAY
example: SUNDAY
pattern: ^(SUNDAY|MONDAY|TUESDAY|WEDNESDAY|THURSDAY|FRIDAY|SATURDAY)$
items:
type: string
negate:
type: boolean
description: Defines if the rules should be negated
example: false
description: Curfew Control
Vcn:
allOf:
- $ref: '#/components/schemas/Card'
- properties:
accountGuid:
type: string
format: uuid
description: The globally unique identifier of the virtual card account
example: 123e4567-e89b-12d3-a456-426614174000
description:
type: string
example: This is the description of what the VCN will be used for
description: The description of what the VCN will be used for
Token:
allOf:
- $ref: '#/components/schemas/Card'
properties:
accountGuid:
type: string
format: uuid
description: The globally unique identifier of the token
example: 123e4567-e89b-12d3-a456-426614174000
tokenUniqueRef:
type: string
maxLength: 64
description: The unique reference identifier of the token
example: DE9JOVYK6FVSO8I32DLDPHGTC9NZ7SLKPVLMDQ0RRGK3WYD2
paymentAppInstanceId:
type: string
maxLength: 64
description: The unique app device identifier
example: '128652974320250630'
status:
type: string
pattern: ^(ACTIVE|SUSPENDED)$
description: Token Status. Valid values are ACTIVE and SUSPENDED
example: ACTIVE
TransactionLimitControl:
required:
- amount
- negate
type: object
properties:
amount:
minimum: 0
type: number
description: The limit that will apply on a per transaction basis
example: 12
format: float
negate:
type: boolean
description: Defines if the rules should be negated
example: false
description: The TransactionLimit control provides the ability to limit individual transaction authorizations to a maximum amount
Error:
type: object
properties:
Source:
type: string
example: source
description: Source of error
ReasonCode:
type: string
description: A unique constant identifying the error
example: '123'
Description:
type: string
example: Error desc
description: Short description of the error
Recoverable:
type: boolean
example: true
description: Is recoverable error
Details:
type: string
example: Detail information
description: Optional detailed description of the issue
UpdateVirtualCardAccount:
type: object
required:
- expiry
allOf:
- $ref: '#/components/schemas/VcnUserDetail'
- $ref: '#/components/schemas/UpdateVCN'
- properties:
realCardBillingCurrencyCode:
pattern: ^[0-9]{3}$
type: string
description: Currency code of the RCN
example: '825'
rules:
$ref: '#/components/schemas/Controls'
VirtualCardAccount:
type: object
required:
- realCardAccountGuid
- accountGuid
allOf:
- $ref: '#/components/schemas/VcnUserDetail'
- $ref: '#/components/schemas/Vcn'
- properties:
realCardAccountGuid:
type: string
format: uuid
description: The globally unique identifier of the real card account
example: 123e4567-e89b-12d3-a456-426614174000
realCardBillingCurrencyCode:
pattern: ^[0-9]{3}$
type: string
description: Currency code of the RCN
example: '825'
rules:
$ref: '#/components/schemas/Controls'
MerchantIdControl:
required:
- acquirerId
- acceptorId
- negate
type: object
properties:
acceptorId:
minLength: 15
maxLength: 15
type: string
description: The Merchant Id
example: '123456789012345'
acquirerId:
minLength: 1
maxLength: 10
pattern: .*\S.*
type: string
description: The Acquiring Institution ID Code which identifies the acquiring institution (for example, merchant bank) or its agent
example: '123456'
negate:
type: boolean
description: Defines if the rules should be negated
example: false
description: The Merchant ID control provides the ability to limit authorizations to particular merchants
ResourceIdentifier:
description: A UUID which uniquely identifies a resource
type: string
format: uuid
example: c63de020-a446-11eb-bcbc-0242ac130002
ValidityPeriodControl:
required:
- from
- negate
- to
type: object
properties:
from:
type: string
format: date-time
description: The start date from which the control is valid, in ISO 8601 extended format "YYYY-MM-DDThh:mm:ss[.sss]Z", where [.sss] is optional and can be 1 to 3 digits
example: '2020-10-26T00:00:00Z'
to:
type: string
format: date-time
description: The end date till which the control is valid, in ISO 8601 extended format "YYYY-MM-DDThh:mm:ss[.sss]Z", where [.sss] is optional and can be 1 to 3 digits
example: '2020-11-06T23:59:59Z'
strictPreAuthCheck:
type: boolean
description: Defines if strict pre-auth check needs to be applied
default: false
example: true
negate:
type: boolean
description: Defines if the rules should be negated
example: false
description: The ValidityPeriod control provides the ability to limit authorization activity to a defined time period
MccControl:
required:
- mccs
- negate
type: object
properties:
negate:
type: boolean
description: Defines if the rules should be negated
example: false
mccs:
minItems: 1
type: array
description: List of merchant category codes
example:
- '1234'
- '5678'
items:
type: string
example: '1234'
uniqueItems: true
description: The Card Acceptor Business Codes (MCC) control can control the type of purchases for which a card is used
Controls:
type: array
description: In Control Card Controls
items:
$ref: '#/components/schemas/Control'
UserDetail:
type: object
required:
- firstName
- lastName
- phone
- email
properties:
firstName:
type: string
minLength: 1
maxLength: 100
pattern: .*\S.*
description: First Name of User
example: Emerson
lastName:
type: string
minLength: 1
maxLength: 100
pattern: .*\S.*
description: Last Name of User
example: Bloggs
phone:
type: string
minLength: 4
maxLength: 16
description: Phone number of User
example: '+12345678910111'
email:
type: string
minLength: 1
maxLength: 300
description: Email address of User
example: emersonbloggs@gmail.com
Card:
type: object
required:
- accountNumber
- expiry
properties:
accountNumber:
type: string
minLength: 12
maxLength: 19
pattern: ^[0-9]+
example: '1234567891234567'
description: Card Account Number
expiry:
minLength: 7
maxLength: 7
type: string
pattern: ^20[2-9][0-9]-(0[1-9]|1[012])$
description: Card expiry date in yyyy-MM format
example: 2021-11
ErrorWrapper:
type: object
required:
- Errors
properties:
Errors:
$ref: '#/components/schemas/Errors'
AgeingVelocityControl:
required:
- authorizationHoldDays
- cumulativeLimit
- timeZone
- negate
type: object
properties:
authorizationHoldDays:
type: integer
minimum: 0
maximum: 9999
description: Number of days an authorization holds before ageing off
format: int32
example: 1234
cumulativeLimit:
minimum: 0
type: number
description: Maximum allowed cumulative amount
example: 1000
format: float
timeZone:
type: string
description: Time zone that is used for age-off calculations
example: UTC-06:00
availableBalance:
minimum: 0
type: number
description: The cumulative spend available for the velocity control for the specified period
example: 1000
format: float
currencyType:
minLength: 4
maxLength: 8
type: string
description: Type of the currency being used. Valid values are BASE and MERCHANT
example: MERCHANT
pattern: ^(BASE|MERCHANT)
currencyCode:
minLength: 3
maxLength: 3
pattern: ^[0-9]{3}$
type: string
description: Mastercard supported International Organization for Standardization (ISO) 4217 currency codes
example: '825'
negate:
type: boolean
description: Defines if the rules should be negated
example: false
description: The AgingVelocityControl provides the requester with the ability to set a notional credit line through the CumulativeControl. This control keeps track of the current remaining available credit and approves a transaction only if the requested amount is less than or equal to the remaining available credit
AmountRangeControl:
required:
- currencyType
- maxAmount
- minAmount
- negate
type: object
properties:
minAmount:
minimum: 0
type: number
description: Minimum allowed amount
format: float
example: 1000
maxAmount:
minimum: 0
type: number
description: Maximum allowed amount
format: float
example: 10000
strictPreAuthCheck:
type: boolean
description: Defines if strict pre-auth check needs to be applied
default: false
example: true
currencyType:
minLength: 4
maxLength: 8
type: string
description: Type of the currency being used. Valid values are BASE and MERCHANT
example: MERCHANT
pattern: ^(BASE|MERCHANT)
currencyCode:
minLength: 3
maxLength: 3
pattern: ^[0-9]{3}$
type: string
description: Mastercard supported International Organization for Standardization (ISO) 4217 currency codes
example: '825'
negate:
type: boolean
description: Defines if the rules should be negated
example: false
description: The exact amount range control will approve a transaction only if the requested amount is equal or greater than MinAmount and less than or equal to MaxAmount. In other words, if Min Amount <= Amount <= Max Amount
VcnUserDetail:
type: object
required:
- firstName
- lastName
- phone
properties:
firstName:
type: string
minLength: 1
maxLength: 100
description: First Name of User
example: Emerson
lastName:
type: string
minLength: 1
maxLength: 100
description: Last Name of User
example: Bloggs
phone:
type: string
minLength: 4
maxLength: 16
description: Phone number of User
example: '+13556434378'
UpdateVCN:
type: object
properties:
expiry:
minLength: 7
maxLength: 7
type: string
pattern: ^20[2-9][0-9]-(0[1-9]|1[012])$
description: Expiry date in yyyy-MM format
example: 2021-11
description:
type: string
example: This is the description of what the VCN will be used for
description: The description of what the VCN will be used for
TokenUpdate:
allOf:
- $ref: '#/components/schemas/Card'
properties:
status:
type: string
pattern: ^(ACTIVE|SUSPENDED)$
description: Token Status. Valid values are ACTIVE and SUSPENDED
example: ACTIVE
TimeOfDayControl:
required:
- negate
- timeZone
- times
type: object
properties:
times:
maxItems: 7
minItems: 1
type: array
description: Times of day
items:
$ref: '#/components/schemas/TimeOfDay'
timeZone:
type: string
description: Time zone of the from and to times
example: UTC
negate:
type: boolean
description: Defines if the rules should be negated
example: false
description: The TimeOfDayControl provides the ability to limit authorization activity to defined time periods for each day
Errors:
type: object
required:
- Error
properties:
Error:
$ref: '#/components/schemas/ErrorList'
Control:
type: object
required:
- action
- alias
description: In Control Rule
properties:
action:
minLength: 1
maxLength: 1
type: string
description: control rule actions. Valid values are A (Approve), D (Decline), W (Warn), P (Promo) and F (Forced)
example: A
alias:
type: string
description: control rule alias name. alias should be unique
maxLength: 100
minLength: 1
pattern: .*\S.*
example: DAILY LIMIT
transactionLimits:
type: array
description: transaction limit controls provides the ability to limit individual transaction authorizations to a maximum amount
uniqueItems: true
items:
$ref: '#/components/schemas/TransactionLimitControl'
geographies:
type: array
description: geography controls provides the ability to control where a card is physically used
uniqueItems: true
items:
$ref: '#/components/schemas/GeographyControl'
velocities:
type: array
description: velocity controls can limit the frequency, and the total cumulative amount of authorizations performed on the cardholders account within a specified time period
items:
$ref: '#/components/schemas/VelocityControl'
validityPeriods:
type: array
description: validity period controls
items:
$ref: '#/components/schemas/ValidityPeriodControl'
amountRanges:
type: array
description: amount range controls
items:
$ref: '#/components/schemas/AmountRangeControl'
merchantIds:
type: array
description: merchant id controls
uniqueItems: true
items:
$ref: '#/components/schemas/MerchantIdControl'
ageingVelocities:
type: array
description: ageing velocity controls
items:
$ref: '#/components/schemas/AgeingVelocityControl'
curfews:
type: array
description: curfew controls allows you to limit authorization activity on a card to a certain time period during set days. You can also set the time zone for this control
items:
$ref: '#/components/schemas/CurfewControl'
timeOfDays:
type: array
description: time of day controls provides the ability to limit authorization activity to defined time periods for each day
items:
$ref: '#/components/schemas/TimeOfDayControl'
merchantCategories:
type: array
description: merchant category controls
uniqueItems: true
items:
$ref: '#/components/schemas/MccControl'
GeographyControl:
required:
- countryCodes
- negate
type: object
properties:
countryCodes:
minItems: 1
type: array
description: Country codes to be included in the rule
items:
type: string
example:
- '840'
negate:
type: boolean
description: Defines if the rules should be negated
example: false
description: The GeographicControl provides the ability to control where a card is physically used
ErrorList:
type: array
minItems: 1
items:
$ref: '#/components/schemas/Error'
TimeOfDay:
required:
- day
- fromTime
- toTime
type: object
properties:
day:
minLength: 6
maxLength: 9
type: string
example: SUNDAY
description: Days of week. Valid values are SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, and SATURDAY
pattern: ^(SUNDAY|MONDAY|TUESDAY|WEDNESDAY|THURSDAY|FRIDAY|SATURDAY)
fromTime:
minLength: 5
maxLength: 5
pattern: ^([01][0-9]|2[0-3]):([0-5][0-9])$
type: string
description: The start time from which authorizations will be allowed
example: 08:21
toTime:
minLength: 5
maxLength: 5
pattern: ^([01][0-9]|2[0-3]):([0-5][0-9])$
type: string
description: The end time from which authorizations will be allowed
example: '12:00'
VerifiedUser:
type: object
properties:
message:
type: string
description: result
example: Successfully verified user
EnrolledUser:
type: object
properties:
userId:
type: string
description: Unique identifier of the user.
example: '282947573008198049562610279575'
userIdType:
type: string
description: Identifier type for the given user.
example: RANCU
accountId:
type: string
description: The unique identifier for the given account.
example: '609330255453162553303101469598'
accountIdType:
type: string
description: Identifier type for the given account.
example: RANAC
AccountBase:
required:
- accountId
- accountIdType
- productCode
- programIdentifier
- status
type: object
description: This object will define the users initial account that is being enrolled at the same time as the user.
properties:
accountId:
maxLength: 30
minLength: 0
type: string
description: The unique identifier for the given account.
example: '5330333671236516'
accountIdType:
type: string
description: Identifier type for the given account. Supported identifier is BAN.
example: BAN
status:
type: string
description: Status of the user's account. Valid values are GOOD_STANDING and NEW.
example: NEW
enum:
- NEW
- GOOD_STANDING
productCode:
maxLength: 20
minLength: 0
type: string
description: The account's associated reward product identifier as defined by the client and configured during the implementation of the program.
example: FIDOCASHBACK
programIdentifier:
maxLength: 40
minLength: 0
type: string
description: Program identifier for the program in which the cardholder is enrolled. Program ID is created by Mastercard Rewards System.
example: PGM42051
openDate:
maxLength: 10
minLength: 0
pattern: ^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$
type: string
description: The date of account opening as defined by the client.
example: '2014-12-31'
format: date
enrollmentDate:
maxLength: 10
minLength: 0
pattern: ^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$
type: string
description: The date for when the account becomes eligible for the rewards program. If undefined, the enrollment date defaults to the date when Mastercard processes the enrollment.
example: '2018-03-10'
format: date
accruePoints:
type: boolean
description: This specifies if the account can accrue points. It is used in conjunction with Account Status to define earn and burn behavior for the account.
example: false
householdToken:
type: string
description: This field ties together multiple user accounts into one household. This value is typically assigned by the Client. To use this field, a rewards program must be configured to support the Token or Bank Customer Number householding scheme.
example: '254235'
primaryAccount:
type: boolean
description: Identifies if the account is primary for the User. A User may only have 1 primary account. In situations where householding is used, there may only be 1 primary account in the household, regardless of how many User accounts make up that household. A value of true indicates that the account is primary for the User or the household.
example: false
userDefined1:
maxLength: 40
minLength: 0
type: string
description: User Defined Field 1
example: UDF 1 Example
userDefined2:
maxLength: 40
minLength: 0
type: string
description: User Defined Field 2
example: UDF 2 Example
userDefined3:
maxLength: 40
minLength: 0
type: string
description: User Defined Field 3
example: UDF 3 Example
userDefined4:
maxLength: 40
minLength: 0
type: string
description: User Defined Field 4
example: UDF 4 Example
userDefined5:
maxLength: 20
minLength: 0
type: string
description: User Defined Field 5
example: UDF 5 Example
userDefined6:
maxLength: 20
minLength: 0
type: string
description: User Defined Field 6
example: UDF 6 Example
userDefined7:
maxLength: 20
minLength: 0
type: string
description: User Defined Field 7
example: UDF 7 Example
userDefined8:
maxLength: 20
minLength: 0
type: string
description: User Defined Field 8
example: UDF 8 Example
externalAccountId:
maxLength: 10
minLength: 0
type: string
description: Used for On-Soil customers when optional fields are turned on in the rewards system.
example: '2222332322'
cycleId:
type: integer
description: Bank cycle number that the cardholder/primary cardholder is assigned to.
format: int64
example: 1
cycled:
type: boolean
description: Flag to indicate whether a Rewards account has been cycled.
example: false
accountReferenceCode:
maxLength: 50
minLength: 0
type: string
description: Unique identifier the membership uses to identify an account.
example: 123456abcdef123456abcdef123456abcdef0
pcloAccountStatusCode:
type: string
description: Status of the user's account. Valid values are GOOD_STANDING, REDEEM_ONLY, NEW, ON_HOLD, CANCELLED, INACTIVE.
example: NEW
enum:
- NEW
- GOOD_STANDING
- REDEEM_ONLY
- CANCELLED
- ON_HOLD
- INACTIVE
UserUpdate:
required:
- userId
- userIdType
type: object
properties:
userId:
maxLength: 30
minLength: 0
type: string
description: Unique identifier for the user.
example: '268810378058708149455458707247'
userIdType:
type: string
description: Identifier type of the User. The value of RANCU or RANAC should be used for this field.
example: RANCU
firstName:
maxLength: 25
minLength: 0
type: string
description: User's first name.
example: John
lastName:
maxLength: 25
minLength: 0
type: string
description: User's last name.
example: Smith
motherMaidenName:
maxLength: 30
minLength: 0
type: string
description: User's mother's maiden name.
example: Jennifer
birthDate:
maxLength: 10
minLength: 0
pattern: ^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$
type: string
description: User's date of birth.
example: '1975-03-11'
format: date
nationalIdentifier:
maxLength: 11
minLength: 0
type: string
description: The user's unique identifier is assigned by the national or government system. For example, passport number or tax identification number.
example: 324-56-7574
businessPhoneNumber:
maxLength: 25
minLength: 0
type: string
description: User's unformatted business phone number. Provide an unformatted phone number, except for a leading "+" if including a country code.
example: '+11234567890'
mobilePhoneNumber:
maxLength: 25
minLength: 0
type: string
description: User's unformatted mobile phone number. Provide an unformatted phone number, except for a leading "+" if including a country code.
example: '+11234567890'
emailAddress:
maxLength: 120
minLength: 0
type: string
description: User's email address.
example: john.smith@mastercard.com
vip:
type: boolean
description: Used to assign VIP status to a user. The default value is false.
example: true
employee:
type: boolean
description: Used to assign Employee status to a user. The default value is false.
example: false
acceptTracking:
type: boolean
description: This field is to document if the user has agreed to their activity being tracked on a customer or partner-hosted experience.
example: true
managePromotionalEmail:
type: boolean
description: Specifies if the Promotional E-Mail contact preference on record is being managed by the user, instead of the issuer. True indicates that promotional participation is managed by the user.
example: true
managePromotionalParticipation:
type: boolean
description: Specifies if the Promotional participation preference on record is being managed by the user, instead of the issuer. True indicates that promotional participation is managed by the user.
example: true
managePromotionalSMS:
type: boolean
description: Specifies if the Promotional SMS contact preference on record is being managed by the user, instead of the issuer. True indicates that promotional participation is managed by the user.
example: true
authorizedUser1:
maxLength: 80
type: string
description: This is the first person authorized to access a user's rewards account(s). Authorized users only apply to designating a person that can call into the Rewards Call Center and be serviced. This Authorized user must still provide valid answers to the user's security questions.
example: testUser1
authorizedUser2:
maxLength: 80
type: string
description: This is the second person authorized to access a user's rewards account(s). Authorized users only apply to designating a person that can call into the Rewards Call Center and be serviced. This Authorized user must still provide valid answers to the user's security questions.
example: testUser2
comments:
maxLength: 200
type: string
description: Used to keep comments on updated accounts.
example: Account closed due to fraud.
customerReplaced:
type: boolean
description: Indicates that the Customer was replaced.
example: true
manageEmail:
type: boolean
description: Specifies if the email address on record is being managed by the user, instead of the issuer. True indicates that the email address is managed by the user.
example: true
faxPhoneNumber:
maxLength: 25
type: string
description: User's unformatted fax phone number. Provide an unformatted phone number, except for a leading "+" if including a country code.
example: '+11234567890'
genderCode:
type: string
description: 'The ISO code is used to specify the gender of the customer.
Valid values for ISO 5218 standard:
� NULL - not known
� 0 - not known
� 1 - male
� 2 - female
� 9 - not applicable'
example: '0'
homePhoneNumber:
maxLength: 25
type: string
description: User's unformatted home phone number. Provide an unformatted phone number, except for a leading "+" if including a country code.
example: '384579387593'
middleName:
maxLength: 25
type: string
description: Middle name of the primary cardholder.
example: test middle name
manageMobilePhone:
type: boolean
description: Specifies if the mobile phone on record is being managed by the user, instead of the issuer. True indicates that the mobile phone is managed by the user.
example: true
namePrefix:
maxLength: 4
type: string
description: Name prefix (Mr., Ms., etc) of the primary cardholder.
example: Mr
nameSuffix:
maxLength: 4
type: string
description: Name suffix (Jr., PhD., etc) of the primary cardholder.
example: Jr
preferredLanguage:
type: string
description: A code name for a global area or language combination. This is the language the cardholder wants to do business in. The ISO Language Code and ISO Country Code (separated by an underscore) will specify the default language for the user. ISO Language Code is 2-characters and lowercase. ISO Country Code is 2-characters and uppercase. For example, if the user spoke US English, the value for this field would be en_US.
example: en_US
programPreview:
type: boolean
description: Determines if the card is being used for program preview. Triggers the Internet Redemptions website to ask for preview date and language.
example: true
segmentationCluster:
maxLength: 50
type: string
description: The field stores proprietary segmentation cluster information for the purpose of segmenting users as determined by the customer.
example: Ruby
genericIdentification:
maxLength: 15
minLength: 0
type: string
description: Answer to the user's bank-provided custom verification question. Can be used as a Security Question data point by the Internet Redemptions website, Customer Service, or web services.
example: Duster
genericIdentificationDescription:
maxLength: 25
minLength: 0
type: string
description: The descriptive label for the user's bank-provided custom verification question. Can be used as a Security Question data point by the Internet Redemptions website, Customer Service, or web services.
example: Pet's name
userDefined1:
maxLength: 40
minLength: 0
type: string
description: User Defined Fields can be used to store partner-specific data that can be used for promotions and other business rules.
example: UDF 1 Example
userDefined2:
maxLength: 40
minLength: 0
type: string
description: User Defined Field 2
example: UDF 2 Example
userDefined3:
maxLength: 40
minLength: 0
type: string
description: User Defined Field 3
example: UDF 3 Example
userDefined4:
maxLength: 40
minLength: 0
type: string
description: User Defined Field 4
example: UDF 4 Example
acceptEmails:
type: boolean
description: Specifies if the user allows contact via email for promotional purposes. The default value is false.
example: false
acceptSms:
type: boolean
description: Specifies if the user allows contact to their mobile phone for promotional purposes. The default value is false.
example: false
acceptPromotionalInfo:
type: boolean
description: Specifies if the user is interested in receiving promotional information. The default value is false.
example: false
pcloUser:
$ref: '#/components/schemas/PCLOUser'
address:
$ref: '#/components/schemas/UserAddress'
PCLOUser:
type: object
description: This object should only be used by Personal Card Linked Offers (PCLO) users. This object will define the users communications preferences for PCLO.
properties:
pcloAcceptPromotionalOffers:
type: boolean
description: Specifies if the PCLO user would like to receive information about special promotional offers.
example: false
pcloAcceptEmails:
type: boolean
description: Specifies if the PCLO user allows contact via email for promotional purposes.
example: false
pcloAcceptSms:
type: boolean
description: Specifies if the PCLO user allows contact to their mobile phone for promotional purposes.
example: false
ErrorItem:
type: object
properties:
Source:
type: string
description: Source of the error
example: user-management
ReasonCode:
type: string
description: A unique constant identifying the error case encountered during API request processing.
example: INVALID_FIELD_FORMAT
Description:
type: string
description: Short description of the ReasonCode field.
example: Email Address must be in the valid format.
Recoverable:
type: boolean
description: Indicates whether this error will always be returned for this request, or retrying could change the outcome.
example: false
Details:
type: string
description: Where appropriate, indicates detailed information about the data received.
example: Invalid Details
description: Error Details
UserVerificationDetails:
type: object
properties:
code:
type: string
description: User verification question. Supported question codes are VALID_CUST_SSN_LAST_4, VALID_CUST_BIRTHDATE, VALID_CUST_MOTHERS_MAIDEN_NAME, VALID_CUST_POSTAL_CODE, VALID_CUST_GENERIC_IDENTIFIER_SW, VALID_CUST_GENERIC_IDENTIFIER_TXT - VALID_CUST_SSN_LAST_4 Verify the user SSN value. - VALID_CUST_BIRTHDATE Verify the user Birthdate. - VALID_CUST_MOTHERS_MAIDEN_NAME Verify the user Mothers Maiden Name. - VALID_CUST_POSTAL_CODE Verify the user Postal code. - VALID_CUST_GENERIC_IDENTIFIER_SW/VALID_CUST_GENERIC_IDENTIFIER_TXT Verify the user Generic Identifier description.
example: VALID_CUST_POSTAL_CODE
answer:
type: string
description: Answer to the User verification question
example: '638001'
VerificationDetails:
type: object
properties:
question:
type: string
description: Verification question description.
example: Zip Code
code:
type: string
description: Verification question code
example: VALID_CUST_POSTAL_CODE
answer:
type: string
description: Answer to the Verification question
example: '1234'
UserAddress:
type: object
description: This object will define the users default shipping/mailing address.
properties:
addressLine1:
maxLength: 80
minLength: 0
type: string
description: Address Line 1 of the User's address.
example: 10 Upper Bank Street
addressLine2:
maxLength: 80
minLength: 0
type: string
description: Address Line 2 of the User's address.
example: Chesterfield
addressLine3:
maxLength: 80
minLength: 0
type: string
description: Address Line 3 of the User's address.
example: Canary Wharf
addressLine4:
maxLength: 80
minLength: 0
type: string
description: Address Line 4 of the User's address.
example: Tower Hamlets
city:
maxLength: 30
minLength: 0
type: string
description: City name as per User's address.
example: London
countryCode:
maxLength: 3
minLength: 2
type: string
description: This value should be the 3-character ISO Country Code for the user.
example: ENG
postalCode:
maxLength: 14
minLength: 0
type: string
description: Postal Code as per User's address.
example: '63368'
stateProvinceCode:
maxLength: 3
minLength: 2
type: string
description: State Code as per User's address.
example: JS
VerifyUser:
required:
- userVerificationDetails
type: object
properties:
userVerificationDetails:
type: array
description: User Verification Details
items:
$ref: '#/components/schemas/UserVerificationDetails'
Errors_2:
required:
- Error
type: object
properties:
Error:
type: array
description: Error Details
items:
$ref: '#/components/schemas/ErrorItem'
UserDetails:
type: object
properties:
companyIca:
type: integer
description: The unique identifier of the company.
format: int64
example: 611532
userId:
type: string
description: A system generated unique User identifier such as random customer number.
example: '282947573008198049562610279575'
userIdType:
type: string
description: User identifier type. Supported identifier is RANCU.
example: RANCU
namePrefix:
type: string
description: User's name prefix.
example: R
firstName:
type: string
description: User's first name.
example: John
middleName:
type: string
description: User's middle name.
example: Robert
lastName:
type: string
description: User's last name.
example: Smith
motherMaidenName:
type: string
description: User's mother maiden name.
example: Jennifer
authorizedUser1:
type: string
description: First authorized user in primary cardholder's account.
example: testUser1
authorizedUser2:
type: string
description: Second authorized user in primary cardholder's account.
example: testUser2
birthDate:
type: string
description: User's Date of Birth.
example: Mon Mar 10 19:00:00 CDT 1975
nationalIdentifier:
type: string
description: National Identifier of the User.
example: 324-56-7574
businessPhoneNumber:
type: string
description: Valid business phone number used by the User.
example: +1(0)1234567890
mobilePhoneNumber:
type: string
description: Valid mobile phone number used by the User.
example: +1(0)1234567891
homePhoneNumber:
type: string
description: Valid home phone number used by the User.
example: +1(0)1234567891
faxPhoneNumber:
type: string
description: Valid fax phone number used by the User.
example: +1(0)1234567891
emailAddress:
type: string
description: Valid email address used by the User.
example: abc@example.com
vip:
type: boolean
description: Allows the user to hold VIP status, default value is false.
example: true
employee:
type: boolean
description: Allows the user to hold EMPLOYEE status, default value is false.
example: false
acceptEmails:
type: boolean
description: Specifies if the account holder can be contacted via email, default value is false.
example: false
acceptSms:
type: boolean
description: Specifies if the account holder can be contacted via SMS, default value is false.
example: false
acceptPromotionalInfo:
type: boolean
description: Specifies if the account holder is interested in receiving promotional information, the default value is false.
example: true
acceptTracking:
type: boolean
description: Specifies whether or not a particular customer has accepted tracking.
example: true
genericIdentification:
type: string
description: Answer to the user's verification question.
example: Duster
genericIdentificationDescription:
type: string
description: The user's custom verification question.
example: Pet's name
userDefined1:
maxLength: 40
minLength: 0
type: string
description: User Defined Field 1
example: UDF 1 Example
userDefined2:
maxLength: 40
minLength: 0
type: string
description: User Defined Field 2
example: UDF 2 Example
userDefined3:
maxLength: 40
minLength: 0
type: string
description: User Defined Field 3
example: UDF 3 Example
userDefined4:
maxLength: 40
minLength: 0
type: string
description: User Defined Field 4
example: UDF 4 Example
pcloUser:
$ref: '#/components/schemas/PCLOUser'
preferredLanguage:
type: string
description: Customer's preferred language.
example: en_US
address:
$ref: '#/components/schemas/UserAddress'
verificationDetails:
type: array
description: Cardholder verification details.
items:
$ref: '#/components/schemas/VerificationDetails'
UserEnroll:
required:
- account
- companyIca
- userId
- userIdType
type: object
properties:
companyIca:
type: integer
description: Interbank Card Association number assigned by Mastercard to the financial institution or partner. This is typically a 4-6 digit value.
format: int64
example: 9989
userId:
maxLength: 30
minLength: 0
type: string
description: Unique identifier for the user. This is typically referred to as the Bank Customer Number (BCN).
example: '5600000000000003000'
userIdType:
type: string
description: Identifier type for the given user. Supported identifier is BCN.
example: BCN
firstName:
maxLength: 25
minLength: 0
type: string
description: User's first name.
example: John
lastName:
maxLength: 25
minLength: 0
type: string
description: User's last name.
example: Smith
motherMaidenName:
maxLength: 30
minLength: 0
type: string
description: User's mother's maiden name. This field should be provided if Mother's Maiden Name will be used as a security data point.
example: Jennifer
birthDate:
maxLength: 10
minLength: 0
pattern: ^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$
type: string
description: User's date of birth. This field should be provided if Date of Birth will be used as a security data point.
example: '1975-03-10'
format: date
nationalIdentifier:
maxLength: 11
minLength: 0
type: string
description: User's unique identifier assigned by the national or government system. For example, passport number or tax identification number.
example: 324-56-7574
businessPhoneNumber:
maxLength: 25
minLength: 0
type: string
description: User's unformatted business phone number. Provide an unformatted phone number, except for a leading "+" if including a country code.
example: '+11234567890'
mobilePhoneNumber:
maxLength: 25
minLength: 0
type: string
description: User's unformatted mobile phone number. Provide an unformatted phone number, except for a leading "+" if including a country code.
example: '+11234567890'
homePhoneNumber:
type: string
description: User's unformatted home phone number. Provide an unformatted phone number, except for a leading "+" if including a country code.
example: '+11234567890'
faxPhoneNumber:
type: string
description: Valid fax phone number used by the user.
example: +1(0)1234567891
emailAddress:
maxLength: 120
minLength: 0
type: string
description: User's email address.
example: john.smith@mastercard.com
vip:
type: boolean
description: Used to assign VIP status to a user. The default value is false.
example: true
employee:
type: boolean
description: Used to assign Employee status to a user. The default value is false.
example: false
acceptEmails:
type: boolean
description: Specifies if the user allows contact via email for promotional purposes. The default value is false.
example: false
acceptSms:
type: boolean
description: Specifies if the user allows contact to their mobile phone for promotional purposes. The default value is false.
example: false
acceptPromotionalInfo:
type: boolean
description: Specifies if the user is interested in receiving promotional information. The default value is false.
example: false
genericIdentification:
maxLength: 15
minLength: 0
type: string
description: Answer to the user's bank-provided custom verification question. Can be used as a Security Question data point by the Internet Redemptions website, Customer Service, or web services.
example: Duster
genericIdentificationDescription:
maxLength: 25
minLength: 0
type: string
description: The descriptive label for the user's bank-provided custom verification question. Can be used as a Security Question data point by the Internet Redemptions website, Customer Service, or web services.
example: Pet's name
userDefined1:
maxLength: 40
minLength: 0
type: string
description: User Defined Fields can be used to store partner-specific data that can be used for promotions and other business rules.
example: UDF 1 Example
userDefined2:
maxLength: 40
minLength: 0
type: string
description: User Defined Fields can be used to store partner-specific data that can be used for promotions and other business rules.
example: UDF 2 Example
userDefined3:
maxLength: 40
minLength: 0
type: string
description: User Defined Fields can be used to store partner-specific data that can be used for promotions and other business rules.
example: UDF 3 Example
userDefined4:
maxLength: 40
minLength: 0
type: string
description: User Defined Fields can be used to store partner-specific data that can be used for promotions and other business rules.
example: UDF 4 Example
pcloUser:
$ref: '#/components/schemas/PCLOUser'
address:
$ref: '#/components/schemas/UserAddress'
account:
$ref: '#/components/schemas/AccountBase'
ErrorsWrapper:
required:
- Errors
type: object
properties:
Errors:
$ref: '#/components/schemas/Errors_2'
Error_2:
title: Error
type: object
description: Error object which contains details about a single error.
required:
- Source
- ReasonCode
- Description
- Recoverable
properties:
Source:
type: string
description: The application name that generated this error. If an error is generated and returned by the gateway, then this field will have value as `Gateway`. Other possible values are `CARBON CALCULATOR`, `DONATE`, `CARBON_CALCULATOR_EXPERIENCE` or `PRICELESS PLANET`.
minLength: 1
maxLength: 100
example: CARBON_CALCULATOR_EXPERIENCE
ReasonCode:
type: string
description: A unique constant identifying the error case encountered during request processing.
minLength: 1
maxLength: 100
example: INVALID_REQUEST_PARAMETER
Description:
type: string
description: Short description of the `ReasonCode` field.
minLength: 10
maxLength: 1000
example: One of the request parameters is invalid, try again with correct request.
Recoverable:
type: boolean
description: Indicates whether this error will always be returned for this request, or retrying could change the outcome.
example: false
Details:
type: string
description: (Optional) Where appropriate, indicates detailed information about data received and calculated during the request processing, to help the user with diagnosing errors.
minLength: 0
maxLength: 5000
example: email must not be null.
UserConsent_2:
type: object
description: The user consent resource
required:
- userConsentId
- consentLanguageId
- consentedDate
properties:
userConsentId:
type: string
description: User consent Identifier, generated at the time of store consent API to track the user consents.
example: 2c0743c0-fe6a-41a6-88c4-2c94786fb9c2
minLength: 36
maxLength: 36
consentLanguageId:
type: string
description: Unique Id for a specific consent language text. This Id will be available through GET consent-languages API.
example: 75c4f996-1910-420f-b82b-fcc3e5196b99
minLength: 36
maxLength: 36
consentedDate:
type: string
format: YYYYMMDDHHMMSS
description: Consented date (in UTC) at which the user is consented.
example: '20200223000001'
minLength: 14
maxLength: 14
Errors_2_2:
title: Errors
type: object
description: Error object which contains a list of error objects.
required:
- Error
properties:
Error:
type: array
items:
$ref: '#/components/schemas/Error_2'
example: []
UserReference:
title: UserReference
type: object
description: Successful user enrollment response
required:
- cardNumberLastFourDigits
- status
- userid
properties:
userid:
$ref: '#/components/schemas/UserID'
cardNumberLastFourDigits:
type: string
minLength: 4
maxLength: 4
pattern: ^\d{4}$
description: Last 4 digits of a full payment card number which were provided as enrollment request.
example: '4363'
status:
type: string
minLength: 6
maxLength: 7
description: Status of the user on Carbon Calculator Experience API. Possible values are ACTIVE and INACTIVE.
example: ACTIVE
SubmitClaimUserData:
type: object
required:
- pan
properties:
firstName:
type: string
description: First name
example: John
maxLength: 20
lastName:
type: string
description: Last name
example: Smith
maxLength: 40
addressLine1:
type: string
description: Address line 1
example: Rua Francisco Pereira da Silva 1480
maxLength: 40
addressLine2:
type: string
description: Address line 2
example: Apt. 302
maxLength: 40
city:
type: string
description: City
example: Guarulhos
maxLength: 20
state:
type: string
description: State
example: SP
postalCode:
type: string
description: Postal code
example: 07272-060
maxLength: 12
country:
type: string
description: Alpha-3 ISO 3166-1 country code
example: BRA
email:
type: string
description: Email address
example: john.smith@mail.com
maxLength: 40
phone:
type: string
description: Phone number
example: (11) 1111-1111
maxLength: 20
pan:
type: string
description: Payment card number
example: '5534782345678238'
UserName:
type: object
required:
- firstName
- lastName
properties:
firstName:
type: string
example: John
minLength: 1
maxLength: 100
description: Denotes the first name of the user.
lastName:
type: string
description: Denotes the last name of the user.
minLength: 1
maxLength: 100
example: Doe
title: Username
ErrorItem_2:
type: object
properties:
Source:
type: string
example: Error source
description: Source of the error.
Description:
type: string
example: Generic error description
description: Short description of the ReasonCode field.
ReasonCode:
type: string
example: REASON_CODE
description: A unique constant identifying the error case encountered during API request processing.
Recoverable:
type: boolean
description: Indicates whether this error will always be returned for this request, or retrying could change the outcome.
example: false
Details:
type: string
example: Detailed error description
description: Where appropriate, indicates detailed information about data received.
ErrorResponse_2:
type: object
required:
- Errors
properties:
Errors:
type: object
required:
- Error
properties:
Error:
$ref: '#/components/schemas/Errors_3'
CardExpiry:
type: object
properties:
month:
type: string
example: '10'
description: Denotes a month by when the card will be expired.
pattern: ^[0-9]{2}$
year:
type: string
description: Denotes a year by when the card will be expired.
example: '2024'
pattern: ^[0-9]{4}$
title: CardExpiry
Errors_3:
type: array
minItems: 1
items:
$ref: '#/components/schemas/Error_3'
SubmitClaimUserToken:
type: object
properties:
token:
type: string
description: Encrypted user data token to be used in the generated url that redirects the cardholder to the target website to submit a new claim.
example: EkRKarafAVJkljljfafkljeiwie
Address_2:
type: object
required:
- countryCode
- type
properties:
countryCode:
description: Denotes three-character country code.
type: string
example: USA
minLength: 3
maxLength: 3
locality:
description: Neighborhood.
type: string
minLength: 3
maxLength: 30
example: Rly Station
postalCode:
description: The postal code in the address is the ZIP code or equivalent and can be an alphanumeric value including whitespace (for example, PE7 8FT).
Note - Special characters and only whitespace characters are not allowed.
type: string
example: '11746'
maxLength: 12
state:
type: string
description: The state or region or province to which the address belongs.
example: New York
minLength: 3
maxLength: 20
city:
type: string
description: City.
example: Brooklyn
minLength: 3
maxLength: 20
line1:
type: string
description: Street Address line1.
minLength: 3
maxLength: 20
example: 83 Mayfair Street
line2:
type: string
description: Street Address line2.
minLength: 3
maxLength: 20
example: Main Road
line3:
type: string
description: Street Address line3.
minLength: 3
maxLength: 20
example: Snake Hill Ave
type:
type: string
description: Denotes the type of address. (For example, home or work)
example: work
minLength: 3
maxLength: 20
title: Address
CurrencyCode:
title: currencyCode
type: string
description: Currency code as per ISO 4217
pattern: ^[A-Za-z]{3}$
example: EUR
UserID:
type: string
minLength: 36
maxLength: 36
pattern: ^[0-9A-Fa-f-]{36}
description: Unique identifier for a user enrolled in the Carbon Calculator Experience platform.
example: f5d88571-ac15-465a-a0d8-1ad1327b9a06
CardNumber:
type: string
pattern: ^\d{16}$
description: Original payment card number in full.
example: '5344035171224363'
UpdateUserProfile:
title: UpdateUserProfile
type: object
description: The request object for updating a enrolled user onto Carbon Calculator Experience platform.
required:
- name
- locale
properties:
name:
$ref: '#/components/schemas/UserName'
billingAddress:
$ref: '#/components/schemas/Address_2'
locale:
type: string
description: Updating User locale which is registered with issuer.
minLength: 1
maxLength: 100
example: en-US
ErrorItems:
required:
- Errors
type: object
properties:
Errors:
required:
- Error
type: object
properties:
Error:
type: array
description: Error Details
items:
$ref: '#/components/schemas/ErrorItem_2'
example: example_value
Lang:
type: string
description: Language for the issuer.
example: en-US
AggregateCarbonScore:
type: object
required:
- carbonEmissionInGrams
- aggregateDate
properties:
carbonEmissionInGrams:
type: string
description: An aggregate value of CO2 emission in grams.
minLength: 1
maxLength: 10
example: '3245'
aggregateDate:
type: string
description: Denotes aggregate duration.
minLength: 1
maxLength: 20
example: november-2020
ErrorWrapper_2:
title: ErrorWrapper
type: object
description: The error response object gets returned in case of error.
required:
- Errors
properties:
Errors:
$ref: '#/components/schemas/Errors_2_2'
UserProfile_2:
title: UserProfile
type: object
description: The request object for enrolling a new user to Carbon Calculator Experience API.
required:
- cardNumber
- email
- expiryInfo
- cardBaseCurrency
- cardholderName
properties:
email:
$ref: '#/components/schemas/Email_2'
name:
$ref: '#/components/schemas/UserName'
cardholderName:
type: string
description: Name of the card-holder. (format- First Name Last Name)
minLength: 1
maxLength: 100
example: John Doe
cardNumber:
$ref: '#/components/schemas/CardNumber'
cardBaseCurrency:
$ref: '#/components/schemas/CurrencyCode'
expiryInfo:
$ref: '#/components/schemas/CardExpiry'
billingAddress:
$ref: '#/components/schemas/Address_2'
locale:
type: string
description: User locale which is registered with Issuer.
minLength: 1
maxLength: 100
example: en-US
Email_2:
type: object
properties:
type:
type: string
description: Denotes the type of email (For example, home)
minLength: 1
maxLength: 10
example: home
value:
type: string
description: Denotes email address.
minLength: 5
maxLength: 100
example: John.Doe@mail.com
title: Email
Dashboard:
type: object
required:
- url
- expiryInMillis
properties:
url:
type: string
description: This is the URL that needs to be rendered in web view with language code send by the issuer appended at the end of the URL.
minLength: 1
maxLength: 5000
example: https://ppctwebview.b221.net/home/?auth_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c&lang=en-US
expiryInMillis:
type: string
description: Denotes expiry limit for the URL.
minLength: 1
maxLength: 10
example: '300000'
Error_3:
type: object
required:
- Source
- ReasonCode
- Recoverable
properties:
Source:
type: string
description: The application that generated this error.
Possible values = GATEWAY/AUTHENTICATION_CONSENT_SERVICE
example: AUTHENTICATION_CONSENT_SERVICE
minLength: 1
maxLength: 50
ReasonCode:
type: string
description: A unique constant identifying the error case encountered during transaction processing
example: resource.not.found
minLength: 1
maxLength: 100
Description:
type: string
description: Description of the 'ReasonCode' field with additional details
example: The requested resource does not exist
minLength: 0
maxLength: 500
Recoverable:
type: boolean
description: Indicates whether this error will always be returned for this request, or retrying with same value could change the outcome. For example, if the request contains an invalid signature, retrying will never result in a success. However, if the error is related to some unexpected timeout with the service, retrying the call could result in a successful response.
example: false
Details:
type: string
description: Could be null, present for backwards compatibility or extra information
example: The provided acctNumber did not pass the Mod10 validation
minLength: 0
maxLength: 500
parameters:
UserConsentParameter:
name: user_consent
in: query
description: Confirmation provided by the TP that the user has consented that the ID-Network can have access to their identity for the purposes of the API call. Should be ACCEPT, a forbidden exception will be thrown if it is any other value.
example: ACCEPT
required: true
schema:
type: string
pattern: ^(ACCEPT|DECLINE|REVOKE|EXPIRE)$
XEncryptedPayload:
in: header
name: X-Encrypted-Payload
type: boolean
description: 'An indicator that the request is encrypted or indicates that the client is able to receive an encrypted response. If not set, the payload will be treated as plaintext.
'
example: true
schema: null
XUserIdentityParameter:
in: header
name: X-User-Identity
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
description: 'JWT token for session validation. Returned as response header in previous API calls with key X-User-Identity.
'
schema:
type: string
UserProfileIdParameter:
name: user_profile_id
in: query
description: UUID identifying the user, which the TP App generates using the MIDS Core SDK.
example: ee13a7ec-5a5a-4618-a55d-5e1ed016ccd5
required: true
schema:
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}$
tokenGUID:
name: token_guid
in: path
description: The globally unique identifier of the token being queried
required: true
schema:
$ref: '#/components/schemas/ResourceIdentifier'
example: 8f242496-b71a-11eb-8529-0242ac130003
accountGUID:
name: account_guid
in: path
description: The globally unique identifier of the card being queried
required: true
schema:
$ref: '#/components/schemas/ResourceIdentifier'
example: 8f242496-b71a-11eb-8529-0242ac130003
userGUID:
name: user_guid
in: path
description: The globally unique identifier of the user being queried
required: true
schema:
$ref: '#/components/schemas/ResourceIdentifier'
example: 8f242496-b71a-11eb-8529-0242ac130003
IncludeVerificationDetails:
name: include_verification_details
in: query
description: Cardholder verification details are included in the response if true.
required: false
schema:
type: boolean
example: true
UsersIdType:
name: user_id_type
in: query
description: Determines the type of user or account identification. Supported identifiers are RANAC or RANCU.
required: false
schema:
type: string
example: RANCU
Language:
name: language
in: query
description: Cardholder verification details are returned in the language requested.
required: false
schema:
type: string
example: en_US
UserId:
name: id
in: path
description: The unique identifier for the given user.
required: true
schema:
type: string
example: '268810378058708149455458707247'
VerifyUsersIdType:
name: user_id_type
in: query
description: Determines the type of user or account identification. Supported identifiers are RANAC or RANCU.
required: true
schema:
type: string
example: RANCU
Lang:
in: query
name: lang
description: Language preference (en-US - English, es-cr - Spanish (Costa Rica), es-cl - Spanish (Chile), sv - Swedish, pl-PL - Polish (Poland))
required: false
example: en-US
schema:
$ref: '#/components/schemas/Lang'
user_consent_id:
in: path
name: user_consent_id
required: true
schema:
type: string
minLength: 36
maxLength: 36
description: User Consent Identifier
example: 2c0743c0-fe6a-41a6-88c4-2c94786fb9c2
UserID:
in: path
name: userid
description: Unique identifier for a user enrolled into Carbon Calculator Experience platform.
required: true
example: f5d88571-ac15-465a-a0d8-1ad1327b9a06
schema:
$ref: '#/components/schemas/UserID'
requestBodies:
UserAccountActivitySearchRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/UserAccountActivitySearch'
required: true
UserProfilesRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/UserProfile'
required: true
RPClaimsDataRequestData:
content:
application/json:
schema:
$ref: '#/components/schemas/RPClaimsUserDetails'
required: true
IdentitySearchRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/IdentitySearch'
required: true
IdentityAttributeDeletionsRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/IdentityAttributeDeletions'
required: true
UserConsentRequest:
content:
application/json:
schema:
$ref: '#/components/schemas/RPClaimsUserConsent'
required: true
User:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserDetail'
examples:
UserDetail:
$ref: '#/components/examples/UserDetail'
NewToken:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Token'
examples:
Token:
$ref: '#/components/examples/Token'
UpdatedToken:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TokenUpdate'
examples:
TokenUpdate:
$ref: '#/components/examples/TokenUpdate'
NewVirtualCard:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VirtualCardAccount'
examples:
VirtualCardAccount:
$ref: '#/components/examples/CardDetails'
UpdatedVirtualCard:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateVirtualCardAccount'
examples:
UpdateVirtualCardAccount:
$ref: '#/components/examples/UpdateUserCardAndControl'
UserUpdateRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserUpdate'
UserEnrollRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserEnroll'
VerifyUserRequest:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/VerifyUser'
UserDataClaim:
content:
application/json:
schema:
$ref: '#/components/schemas/SubmitClaimUserData'
description: User data for the submitted claim.
required: true
UpdateUserProfile:
description: The request object for updating a enrolled user onto Carbon Calculator Experience platform. This endpoint uses the Mastercard payload encryption. Refer to the **[Payload Encryption](https://developer.mastercard.com/platform/documentation/security-and-authentication/securing-sensitive-data-using-payload-encryption/#mastercard-encryption)** page for implementation details.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateUserProfile'
UserProfile:
description: User's Personal and Card information needs to be registered to the Carbon Calculator Experience API.
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UserProfile_2'
UserIDs:
description: List of user ids
required: true
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UserID'
minItems: 1
maxItems: 500
examples:
UserIDs:
$ref: '#/components/examples/UserIDs'