openapi: 3.2.0 info: description: The Alias Directory API enables a set of operations to store and manage users' information safely for sending funds between them. version: v1 title: Alias Directory Payment Instruments API contact: email: support@novopaymen.com servers: - description: Sandbox url: https://sandbox-api.novopayment.com/aliasdirectory/v1 security: - oAuth2ClientCredentials: [] tags: - name: Payment Instruments description: Payment Instruments, cards management paths: /alias/paymentinstruments: post: tags: - Payment Instruments operationId: createPayment summary: Create Payment Instrument description: This operation creates a new payment instrument and associates it to an existing alias. requestBody: $ref: '#/components/requestBodies/CreatePaymentInstrumentRequest' responses: '200': $ref: '#/components/responses/RSAddPaymentInstrument200' '400': $ref: '#/components/responses/RSAddPaymentInstrument400' '401': $ref: '#/components/responses/RS401' '500': $ref: '#/components/responses/RS500' default: $ref: '#/components/responses/RS500' /alias/paymentinstruments/primary: put: tags: - Payment Instruments summary: Set Primary Payment Instrument description: 'This operation sets a primary payment instrument associated to an alias. An alias can only have one primary payment Instrument. Only a payment instrument in active status can be a primary payment instrument.' operationId: SetPrimaryPaymentInstrument requestBody: $ref: '#/components/requestBodies/PaymentInstrumentPrimaryRequest' responses: '200': $ref: '#/components/responses/RSSetPrimaryPaymentInstrument200' '400': $ref: '#/components/responses/RSSetPrimaryPaymentInstrument400' '401': $ref: '#/components/responses/RS401' '500': $ref: '#/components/responses/RS500' default: $ref: '#/components/responses/RS500' /alias/paymentinstruments/status: put: tags: - Payment Instruments summary: Update Payment Instrument Status description: Update the payment instrument status. operationId: UpdatePaymentInstrumentStatus requestBody: $ref: '#/components/requestBodies/UpdateStatusPaymentInstrumentCoreRequest' responses: '200': $ref: '#/components/responses/RSUpdatePaymentInstrumentStatus200' '400': $ref: '#/components/responses/RSUpdatePaymentInstrumentStatus400' '401': $ref: '#/components/responses/RS401' '500': $ref: '#/components/responses/RS500' default: $ref: '#/components/responses/RS500' /alias/{aliasId}/paymentinstruments/{paymentInstrumentId}: delete: tags: - Payment Instruments summary: Delete Payment Instrument description: 'Disable the payment Instrument associated with an alias. __*A__ Primary Payment Instrument cannot be deleted, the user must set another payment instrument as primary before deletion.' operationId: DeletePaymentInstrument parameters: - in: path name: aliasId required: true schema: type: string maxLength: 32 minLength: 32 pattern: ^[0-9a-fA-F]{32}$ description: Identificator from Alias Parent. example: c3c90deb537246ea8689ed6f5a9a3d23 - $ref: '#/components/parameters/paymentInstrumentId' responses: '200': $ref: '#/components/responses/RSDeletePaymentInstrument200' '400': $ref: '#/components/responses/RSDeletePaymentInstrument400' '401': $ref: '#/components/responses/RS401' '500': $ref: '#/components/responses/RS500' default: $ref: '#/components/responses/RS500' components: requestBodies: UpdateStatusPaymentInstrumentCoreRequest: content: application/json: schema: $ref: '#/components/schemas/UpdateStatusPaymentInstrumentCoreRequest' examples: Update Payment Instrument Status: $ref: '#/components/examples/RQEndpointUpdatePaymentInstrumentStatus' required: true PaymentInstrumentPrimaryRequest: content: application/json: schema: $ref: '#/components/schemas/PaymentInstrumentPrimaryRequest' examples: Set Primary Payment Instrument AliasId: $ref: '#/components/examples/RQEndpointSetPrimaryPaymentInstrumentAliasId' required: true CreatePaymentInstrumentRequest: content: application/json: schema: $ref: '#/components/schemas/CreatePaymentInstrumentRequest' examples: Create Payment Instrument: $ref: '#/components/examples/RQEndpointCreatePaymentInstrument' required: true responses: RSAddPaymentInstrument200: description: OK content: application/json: schema: $ref: '#/components/schemas/RSAddPaymentInstrument200' examples: Get Alias By Payment Instrument: value: code: 201.09.000 message: Process OK datetime: '2022-05-17T15:44:11.656Z' data: aliasId: 5d1bf399902e42f79681c5be8dfdcb02 paymentInstrumentId: 5900902eea614137b5ba00ae7e7a6f2f RS401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/RS401' examples: Invalid Access Token: $ref: '#/components/examples/InvalidAccessToken' Access Token Not Approved: $ref: '#/components/examples/AccessTokenNotApproved' Invalid Signature: $ref: '#/components/examples/InvalidSignature' Access Token Expired: $ref: '#/components/examples/AccessTokenExpired' RSDeletePaymentInstrument200: description: OK content: application/json: schema: $ref: '#/components/schemas/DeletePaymentInstrumentResponse' examples: Delete Payment Instrument: value: code: 200.09.000 datetime: '2023-02-13T21:31:38.252Z' message: Process Ok data: alias: 519-990808 aliasType: MOBILE cardHolder: address: name: Home country: USA city: Austin line1: 801 Metro Center Blv line2: Provisioning Boulevard postalCode: '78759' state: TX documentNumber: '3146787' documentType: code: GOVERNMENT_ID email: adr@gmail.com firstName: Andres lastName: Rendon directoryCountry: USA paymentInstruments: bankAccountNumber: '35426789' brandType: VISA cardToken: Maz9oPb4PpW0QxPU0pAA6KYzE2vlEkNitMc+bmibFgo= description: InterBanco RSUpdatePaymentInstrumentStatus400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/RSGeneric400' examples: Card Is Invalid: $ref: '#/components/examples/CardIsInvalid' Card Has The Status Of The Requested aliasAction: $ref: '#/components/examples/CardHasTheSameStatus' Invalid Parameters: $ref: '#/components/examples/InvalidParameters' Tenant Not Found: $ref: '#/components/examples/TenantNotFound' Invalid Card Status: $ref: '#/components/examples/InvalidCardStatus' RSSetPrimaryPaymentInstrument400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/RSGeneric400' examples: Invalid Tenant Id: $ref: '#/components/examples/InvalidTenantId' Invalid Parameters: $ref: '#/components/examples/InvalidParameters' Card Is Invalid: $ref: '#/components/examples/CardIsInvalid' Card Is Not Active: $ref: '#/components/examples/CardIsNotActive' RS500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/RS500' examples: Internal Server Error: $ref: '#/components/examples/InternalServerError' RSUpdatePaymentInstrumentStatus200: description: OK content: application/json: schema: $ref: '#/components/schemas/RSUpdatePaymentInstrumentStatus200' examples: Update Payment Instrument Status: value: code: 200.09.000 message: Process OK datetime: '2022-05-17T15:44:11.656Z' data: paymentInstrumentStatus: ACTIVE paymentInstrumentId: 258aeef8fc7343a2a5b17c723c46185f RSSetPrimaryPaymentInstrument200: description: OK content: application/json: schema: $ref: '#/components/schemas/RSSetPrimaryPaymentInstrument200' examples: Set Primary Payment Instrument: value: code: 200.09.000 message: Process OK datetime: '2022-05-17T15:44:11.656Z' data: aliasId: 1ec407924bd24dc2863785b941fe6157 paymentInstrumentId: df84dbd0894c491e8611b432709bced0 RSDeletePaymentInstrument400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/RSGeneric400' examples: Header Params Required: $ref: '#/components/examples/HeaderParamsRequired' Card not found: $ref: '#/components/examples/CardNotFound' Invalid Parameters: $ref: '#/components/examples/InvalidParametersDeletePI' Invalid tenant id: $ref: '#/components/examples/InvalidTenantId' Deletion of the primary payment instrument is not allowed: $ref: '#/components/examples/DeletionPrimaryPaymentInstrumentIsNoAllowed' RSAddPaymentInstrument400: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/RSGeneric400' examples: Invalid Parameters: $ref: '#/components/examples/InvalidParameters' Invalid Card Status: $ref: '#/components/examples/InvalidCardStatus' Alias Not Found: $ref: '#/components/examples/AliasNotFound' Invalid Tenant Id: $ref: '#/components/examples/InvalidTenantId' Card not allowed: $ref: '#/components/examples/CardNotAllowed' schemas: RSAddPaymentInstrument200: type: object additionalProperties: false required: - code - message - datetime - data properties: code: type: string example: 200.01.000 description: Operation response code minLength: 10 maxLength: 10 pattern: ^[0-9]{3}.[0-9]{2}.[0-9]{3}$ message: type: string example: Process Ok description: Response code description maxLength: 140 pattern: '[a-zA-Z0-9:.\s]{1,140}' datetime: type: string example: '2020-01-03T16:05:56.517Z' description: Operation Time Stamp in ISO 8601 format format: date-time maxLength: 24 data: $ref: '#/components/schemas/CreatePaymentInstrumentResponse' PaymentInstrument: additionalProperties: false type: object required: - cardToken - cvvNumber - brandType - issuerCountryCode description: 'Object Payment Instrument Contains information of the payment instrument to be stored, Conditional if not account is present ' properties: cardToken: type: string description: 'Card data encrypted with the AES256 algorithm. __The cardToken attribute is composed of the following values:__ __PAN:__ Card’s primary account number or token __Expiration Date:__ Card expiration date __SALT:__ Random Value StringWith the cardToken 48101473592090212201245 the digits in the position 1-16 are the PAN, the next 4 expiration date, and the last 3 the random value. When the cardToken is saved in the database, it changes from saltNumber to the saltNumber configured for the tenant. ' example: Maz9oPb4PpW0QxPU0pAA6KYzE2vlEkNitMc+bmibFgo= maxLength: 44 minLength: 44 pattern: \s*|[\w\d=/+]{44} cvvNumber: type: string description: 'Encrypted form for static security code for a card using AES256 algorithm. ' example: i5eMuNnaVHqIjz4PFHj23w== maxLength: 24 minLength: 24 pattern: \s*|[\w\d=/+]{24} description: type: string description: 'Payment instrument description. ' example: Visa Card maxLength: 20 minLength: 1 pattern: ([\w\dñÑäÄëËïÏöÖüÜáéíóúáéíóúÁÉÍÓÚÂÊÎÔÛâêîôûàèìòùÀÈÌÒÙ]+[\s]{0,1})+ brandType: type: string description: 'Name of the issuing network of the card. ' example: VISA maxLength: 10 minLength: 1 issuerName: type: string description: 'Consumer Card Issuer name. ' example: Interbank maxLength: 30 pattern: ([\w\dñÑäÄëËïÏöÖüÜáéíóúáéíóúÁÉÍÓÚÂÊÎÔÛâêîôûàèìòùÀÈÌÒÙ]+[\s]{0,1})+ bankAccountNumber: type: string description: 'User’s bank account number ' example: '35426789' maxLength: 30 issuerCountryCode: type: string description: 'Issuer country code in ISO 3166 alpha-3 code or Country Code (numeric) of payment instrument ' example: USA maxLength: 3 minLength: 3 pattern: ^[^\s]{3}$ CreatePaymentInstrumentRequest: type: object required: - aliasId - paymentInstrument additionalProperties: false properties: aliasId: type: string description: Unique identifier of an Alias in NovoPayment. This data is for personal use, it is required for administration and management of your alias. example: 5d1bf399902e42f79681c5be8dfdcb02 maxLength: 32 minLength: 32 pattern: ^[0-9a-fA-F]{32}$ paymentInstrument: $ref: '#/components/schemas/PaymentInstrument' RS500: type: object additionalProperties: false required: - code - message - datetime properties: code: type: string example: 500.01.999 description: Operation response code minLength: 10 maxLength: 10 pattern: ^[0-9]{3}.[0-9]{2}.[0-9]{3}$ message: type: string example: Internal Server Error description: Response code description minLength: 1 maxLength: 140 pattern: '[a-zA-Z0-9:.\s]{1,140}' datetime: type: string example: '2020-01-03T16:05:56.517Z' format: date-time maxLength: 24 RSUpdatePaymentInstrumentStatus200: type: object additionalProperties: false required: - code - message - datetime - data properties: code: type: string example: 200.01.000 description: Operation response code minLength: 10 maxLength: 10 pattern: ^[0-9]{3}.[0-9]{2}.[0-9]{3}$ message: type: string example: Process Ok description: Response code description maxLength: 140 minLength: 1 pattern: '[a-zA-Z0-9:.\s]{1,140}' datetime: type: string example: '2020-01-03T16:05:56.517Z' description: Operation Time Stamp in ISO 8601 format format: date-time maxLength: 24 data: $ref: '#/components/schemas/UpdateStatusPaymentInstrumentCoreResponse' RS401: type: object additionalProperties: false properties: code: type: string example: 401.09.990 description: Operation response code minLength: 10 maxLength: 10 pattern: ^[0-9]{3}.[0-9]{2}.[0-9]{3}$ message: type: string example: Invalid Access Token description: Response code description maxLength: 140 minLength: 1 pattern: '[a-zA-Z0-9:.\s]{1,140}' datetime: type: string example: '2020-01-03T16:05:56.517Z' format: date-time maxLength: 24 DeletePaymentInstrumentResponse: type: object additionalProperties: false required: - code - message - datetime properties: code: type: string example: 200.01.000 description: Operation response code minLength: 10 maxLength: 10 pattern: ^[0-9]{3}.[0-9]{2}.[0-9]{3}$ message: type: string example: Process Ok description: Response code description maxLength: 140 minLength: 1 pattern: '[a-zA-Z0-9:.\s]{1,140}' datetime: type: string example: '2020-01-03T16:05:56.517Z' description: Operation Time Stamp in ISO 8601 format format: date-time maxLength: 24 data: type: object additionalProperties: false description: Customized data object. required: - alias - aliasType - directoryCountry - cardHolder - paymentInstruments properties: alias: type: string description: Attribute that identifies the alias associated to the cardholder. example: 002-00005 maxLength: 50 pattern: ^(?!\s)(?!.*\s$).{1,50}$ aliasType: type: string description: '__Allowed values:__ __MOBILE,__ __EMAIL,__ __IDENTIFICATION,__ __IBAN,__ __CUSTOM__ ' pattern: (\s)*|MOBILE|EMAIL|IDENTIFICATION|IBAN|CUSTOM example: MOBILE maxLength: 14 directoryCountry: type: string description: Consumer country in ISO 3166 alpha-3 code. example: USA maxLength: 3 minLength: 3 pattern: ^[A-Z]{3}$ cardHolder: $ref: '#/components/schemas/CardHolder' paymentInstruments: type: object additionalProperties: false description: Array payment Instruments. required: - brandType - cardToken - description properties: bankAccountNumber: type: string description: Bank account number that can be used for an transaction example: '35426789' maxLength: 30 brandType: type: string description: 'Name of the issuing network of the card. __Refer to:__ [Brand type](https://developer.novopayment.com/api/request-and-response-codes#item-networkschemebrandtype) ' example: VISA maxLength: 10 minLength: 1 cardToken: type: string maxLength: 44 minLength: 44 example: Maz9oPb4PpW0QxPU0pAA6KYzE2vlEkNitMc+bmibFgo= pattern: \s*|[\w\d=/+]{44} description: 'Card data encrypted with the AES256 algorithm. __The cardToken attribute is composed of the following values:__ __PAN:__ Card’s primary account number or token __Expiration Date:__ Card expiration date __SALT:__ Random Value StringWith the cardToken 48101473592090212201245 the digits in the position 1-16 are the PAN, the next 4 expiration date, and the last 3 the random value. When the cardToken is saved in the database, it changes from saltNumber to the saltNumber configured for the tenant. ' description: type: string description: Payment instrument description. example: InterBanco maxLength: 20 minLength: 1 issuerName: type: string description: Consumer Card Issuer. example: VISA_CARD maxLength: 30 Address: type: object additionalProperties: false required: - country - line1 - city description: 'Address object Conditional field when the configuration of the clients requires it. ' properties: name: type: string description: 'Name assigned to the registered address. ' example: Home maxLength: 20 minLength: 0 pattern: ^(?!\s*$).+ country: type: string description: 'Country code in ISO 3166 alpha-3 code or Country Code (numeric). ' example: USA minLength: 3 maxLength: 3 pattern: ^(?!\s)(?!.*\s$).{3,3}$ line1: type: string description: 'First line of the address. Usually for the complete address, this is Required for the US and Canada. ' example: 801 Metro Center Blv maxLength: 20 minLength: 1 pattern: ^(?!\s*$).+ line2: type: string description: 'Second line, usually corresponds to house, apartment, suite, etc. ' example: Provisioning Boulevard maxLength: 80 minLength: 0 pattern: ^(?!\s*$).+ city: type: string description: 'Name of the city. ' example: Austin maxLength: 20 minLength: 1 pattern: ^(?!\s*$).+ state: type: string description: 'State code in the country, is required if the country is from the USA or Canada. This field must be valid for the respective country. ' example: TX maxLength: 3 minLength: 2 pattern: ^(?!\s*$).+ postalCode: type: string description: "Postal Code. \nThe postal code is required if the country is from the USA or Canada.\n" example: '78759' maxLength: 9 minLength: 5 pattern: ^\d{5,9}$ CreatePaymentInstrumentResponse: additionalProperties: false type: object description: Create Payment Instrument Response required: - aliasId - paymentInstrumentId properties: aliasId: type: string description: 'Unique identifier of an Alias in NovoPayment. This data is for personal use, it is required for administration and management of your alias. ' example: 5d1bf399902e42f79681c5be8dfdcb02 maxLength: 32 minLength: 32 pattern: ^[0-9a-fA-F]{32}$ paymentInstrumentId: type: string description: 'Unique identifier for a Payment Instrument in NovoPayment. ' example: 5900902eea614137b5ba00ae7e7a6f2f maxLength: 32 minLength: 32 pattern: ^[0-9a-fA-F]{32}$ CardHolder: type: object additionalProperties: false required: - firstName - lastName - documentType - documentNumber - address description: 'Customized object cardHolder Contains personal information of the cardholder ' properties: firstName: type: string description: 'Cardholder’s First Name, who will be registered in the alias directory. ' example: Andres maxLength: 35 minLength: 1 pattern: ([\w\dñÑäÄëËïÏöÖüÜáéíóúáéíóúÁÉÍÓÚÂÊÎÔÛâêîôûàèìòùÀÈÌÒÙ]+[\s]{0,1})+ lastName: type: string description: 'Cardholder’s Last Name, who will be registered in the alias directory. ' example: Rendon maxLength: 35 minLength: 1 pattern: ([\w\dñÑäÄëËïÏöÖüÜáéíóúáéíóúÁÉÍÓÚÂÊÎÔÛâêîôûàèìòùÀÈÌÒÙ]+[\s]{0,1})+ documentType: $ref: '#/components/schemas/DocumentType' documentNumber: type: string description: 'Identification Number ' example: '3346756' maxLength: 35 minLength: 1 pattern: ^\d{1,35}$ email: type: string description: 'Cardholder''s Email ' example: jane@client.com maxLength: 50 minLength: 0 pattern: .+[@].+[\.].+ address: $ref: '#/components/schemas/Address' UpdateStatusPaymentInstrumentCoreResponse: type: object additionalProperties: false required: - paymentInstrumentId - paymentInstrumentStatus properties: paymentInstrumentId: type: string example: 258aeef8fc7343a2a5b17c723c46185f description: Unique identifier for a Payment Instrument in NovoPayment. maxLength: 32 minLength: 32 pattern: ^[0-9a-fA-F]{32}$ paymentInstrumentStatus: type: string description: Payment Instrument Status, possible values ACTIVE, VAL_PENDING, FAILED example: ACTIVE pattern: VAL_PENDING|ACTIVE|FAILED|(\\s)* maxLength: 11 UpdateStatusPaymentInstrumentCoreRequest: type: object required: - alias - aliasType - paymentInstrumentId - paymentInstrumentStatus - detail additionalProperties: false properties: alias: type: string description: 'Attribute that identifies the alias associated to the cardholder If it is a number, it must be in an international format with the 1-3 digit country calling code. Required If the alias id is not sent. ' example: 519-990808 maxLength: 50 minLength: 1 pattern: ^(?!\s)(?!.*\s$).{1,50}$ aliasType: type: string description: "__Allowed values:__\n__MOBILE,__\n__EMAIL,__\n__IDENTIFICATION,__\n__IBAN,__\n__CUSTOM__\n This field is required if the aliasId is not sent.\n" example: MOBILE pattern: (\s)*|MOBILE|EMAIL|IDENTIFICATION|IBAN|CUSTOM maxLength: 14 minLength: 4 paymentInstrumentId: type: string description: 'Payment instrument identificator. ' example: 258aeef8fc7343a2a5b17c723c46185f maxLength: 32 minLength: 32 pattern: ^[0-9a-fA-F]{32}$ paymentInstrumentStatus: type: string description: 'Record the payment instrument status. __Possible values:__ __ACTIVE,__ __VAL_PENDING,__ __FAILED__ ' example: ACTIVE maxLength: 26 minLength: 6 pattern: VAL_PENDING|ACTIVE|FAILED|(\\s)* detail: description: Detail about the validation method applied to the card type: object required: - method additionalProperties: false properties: method: description: Card validation method type: string example: TOKENIZATION minLength: 1 maxLength: 20 pattern: TOKENIZATION|MICRODEBIT metadata: description: Additional information for validation, it is required when the validation method is tokenization type type: array maxItems: 10 items: type: object required: - field - value additionalProperties: false properties: field: description: Field validation method type: string minLength: 1 maxLength: 20 example: TOKEN pattern: ([\w\dñÑäÄëËïÏöÖüÜáéíóúáéíóúÁÉÍÓÚÂÊÎÔÛâêîôûàèìòùÀÈÌÒÙ]+[\s]{0,1})+ value: description: Value validation method minLength: 1 maxLength: 20 type: string example: TK**4565341354125 pattern: ([\w\dñÑäÄëËïÏöÖüÜáéíóúáéíóúÁÉÍÓÚÂÊÎÔÛâêîôûàèìòùÀÈÌÒÙ]+[\s]{0,1})+ DocumentType: type: object additionalProperties: false required: - code description: 'Document Type object. Contains the document code ' properties: code: type: string description: 'Type of identification __Refer to:__ [here](https://developer.novopayment.com/api/request-and-response-codes#item-documenttype) ' example: GOVERNMENT_ID maxLength: 25 minLength: 1 RSSetPrimaryPaymentInstrument200: type: object additionalProperties: false required: - code - message - datetime - data properties: code: type: string example: 200.01.000 description: Operation response code minLength: 10 maxLength: 10 pattern: ^[0-9]{3}.[0-9]{2}.[0-9]{3}$ message: type: string example: Process Ok description: Response code description maxLength: 140 pattern: '[a-zA-Z0-9:.\s]{1,140}' datetime: type: string example: '2020-01-03T16:05:56.517Z' description: Operation Time Stamp in ISO 8601 format format: date-time maxLength: 24 data: type: object additionalProperties: false description: Customized data object. required: - aliasId - paymentInstrumentId properties: aliasId: type: string description: 'Unique identifier of an Alias in NovoPayment. This data is for personal use, it is required for administration and management of your alias. ' example: 5d1bf399902e42f79681c5be8dfdcb02 maxLength: 32 minLength: 32 pattern: ^[0-9a-fA-F]{32}$ paymentInstrumentId: type: string description: 'Unique identifier for a Payment Instrument in NovoPayment. ' example: 5900902eea614137b5ba00ae7e7a6f2f maxLength: 32 minLength: 32 pattern: ^[0-9a-fA-F]{32}$ PaymentInstrumentPrimaryRequest: type: object additionalProperties: false required: - aliasId - paymentInstrumentId properties: aliasId: type: string description: 'Unique identifier of an Alias in NovoPayment. This data is for personal use, it is required for administration and management of your alias. ' example: 1ec407924bd24dc2863785b941fe6157 maxLength: 32 minLength: 32 pattern: ^[0-9a-fA-F]{32}$ paymentInstrumentId: type: string description: 'Payment instrument identificator. ' example: df84dbd0894c491e8611b432709bced0 maxLength: 32 minLength: 32 pattern: ^[0-9a-fA-F]{32}$ RSGeneric400: type: object additionalProperties: false required: - code - message - datetime properties: code: type: string example: 400.08.003 description: Operation response code minLength: 10 maxLength: 10 pattern: ^[0-9]{3}.[0-9]{2}.[0-9]{3}$ message: type: string example: Params required description: Response code description maxLength: 140 minLength: 1 pattern: '[a-zA-Z0-9:.\s]{1,140}' datetime: type: string example: '2020-01-03T16:05:56.517Z' format: date-time maxLength: 24 data: type: object additionalProperties: false properties: errors: type: array maxItems: 50 items: type: object additionalProperties: false properties: message: type: string description: Error Detail pattern: ^[a-zA-Z0-9:.\s]{1,300}$ examples: InvalidTenantId: value: code: 400.09.004 message: Invalid Tenant ID datetime: '2020-01-03T16:05:56.517Z' InvalidAccessToken: value: code: 401.09.990 message: Invalid Access Token datetime: '2020-01-03T16:05:56.517Z' RQEndpointCreatePaymentInstrument: value: aliasId: 5d1bf399902e42f79681c5be8dfdcb02 paymentInstrument: cardToken: VPEEIIsMLff5b+uwX2rwexWuS+vAtSWm4ZjlYNKeK84= cvvNumber: i5eMuNnaVHqIjz4PFHj23w== description: Visa Card brandType: VISA issuerName: Interbank bankAccountNumber: '3542677745586' issuerCountryCode: USA RQEndpointSetPrimaryPaymentInstrumentAliasId: value: aliasId: 1ec407924bd24dc2863785b941fe6157 paymentInstrumentId: 8d24929d0981421395fc02b9591474c4 InvalidSignature: value: code: 401.09.992 message: Invalid signature datetime: '2020-01-03T16:05:56.517Z' AliasNotFound: value: code: 400.09.448 message: Alias not found datetime: '2020-01-03T16:05:56.517Z' CardNotFound: value: code: 400.09.487 message: Card not found datetime: '2020-01-03T16:05:56.517Z' InvalidParameters: value: code: 400.09.396 message: Invalid parameters. datetime: '2020-01-03T16:05:56.517Z' data: errors: - message: 'Field aliasType: invalid alias type' InvalidCardStatus: value: code: 400.09.362 message: Invalid card status datetime: '2020-01-03T16:05:56.517Z' DeletionPrimaryPaymentInstrumentIsNoAllowed: value: code: 400.09.539 message: Deletion of the primary payment instrument is not allowed datetime: '2020-01-03T16:05:56.517Z' CardHasTheSameStatus: value: code: 400.09.393 message: The card has the status of the requested action. datetime: '2020-01-03T16:05:56.517Z' CardIsNotActive: value: code: 400.09.367 message: The card is not active datetime: '2020-01-03T16:05:56.517Z' CardIsInvalid: value: code: 400.09.427 message: Card is invalid datetime: '2020-01-03T16:05:56.517Z' InvalidParametersDeletePI: value: code: 400.09.396 message: Invalid parameters. datetime: '2020-01-03T16:05:56.517Z' data: errors: - message: 'paymentInstrumentId: must not be blank' InternalServerError: value: code: 500.09.999 message: Internal Server Error datetime: '2020-01-03T16:05:56.517Z' TenantNotFound: value: code: 400.09.357 message: Tenant not found. datetime: '2020-01-03T16:05:56.517Z' RQEndpointUpdatePaymentInstrumentStatus: value: alias: 519-990808 aliasType: MOBILE paymentInstrumentId: 258aeef8fc7343a2a5b17c723c46185f paymentInstrumentStatus: ACTIVE detail: method: TOKENIZATION metadata: - field: TOKEN value: TK**4565341354125 CardNotAllowed: value: code: 400.09.101 message: Card not allowed datetime: '2020-01-03T16:05:56.517Z' HeaderParamsRequired: value: code: 400.09.001 message: Header Params Required datetime: '2020-01-03T16:05:56.517Z' AccessTokenExpired: value: code: 401.09.993 message: Access token expired datetime: '2020-01-03T16:05:56.517Z' AccessTokenNotApproved: value: code: 401.09.991 message: Access Token not approved datetime: '2020-01-03T16:05:56.517Z' parameters: paymentInstrumentId: name: paymentInstrumentId in: path description: 'Payment instrument identificator. ' required: true schema: type: string maxLength: 32 minLength: 32 pattern: ^[0-9a-fA-F]{32}$ example: 8d24929d0981421395fc02b9591474c4 securitySchemes: oAuth2ClientCredentials: type: oauth2 description: 'See [Oauth2 API](https://developer.novopayment.com/api/authentication-method-and-encryption/oauth2-api) ' flows: clientCredentials: tokenUrl: https://sandbox-api.novopayment.com/oauth2/token scopes: {}