Mastercard Products API

Handles Products

Documentation

📖
Documentation
https://developer.mastercard.com/mastercard-id-for-tp/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/mastercard-id-for-idp/documentation/api-reference/
📖
GettingStarted
https://developer.mastercard.com/doconomy-aland-index/documentation/getting-started/
📖
Authentication
https://developer.mastercard.com/doconomy-aland-index/documentation/api-basics/#authentication
📖
Documentation
https://developer.mastercard.com/doconomy-aland-index/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/api-reference/
📖
GettingStarted
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/getting-started/
📖
Authentication
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/api-basics/authentication-and-encryption/#authentication
📖
Documentation
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/merchant-self-services/documentation/api-reference/
📖
Authentication
https://developer.mastercard.com/fld-suspected-fraud/documentation/api-basics/#authentication
📖
Documentation
https://developer.mastercard.com/fld-suspected-fraud/documentation/api-reference/
📖
Authentication
https://developer.mastercard.com/fld-fraud-submission/documentation/api-basics/#authentication
📖
Documentation
https://developer.mastercard.com/fld-fraud-submission/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/identity-insights-for-accounts/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/identity-insights-for-transactions/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/api-reference/
📖
Authentication
https://developer.mastercard.com/unified-installments/documentation/api-basics/#authentication
📖
Documentation
https://developer.mastercard.com/unified-installments/documentation/api-reference/
📖
GettingStarted
https://developer.mastercard.com/locations-merchants/documentation/quick-start-guide/
📖
Documentation
https://developer.mastercard.com/locations-merchants/documentation/api-reference/
📖
GettingStarted
https://developer.mastercard.com/locations/documentation/quick-start-guide/
📖
Documentation
https://developer.mastercard.com/locations/documentation/api-reference/
📖
GettingStarted
https://developer.mastercard.com/donations/documentation/getting-started/
📖
Documentation
https://developer.mastercard.com/donations/documentation/api-reference/
📖
Authentication
https://developer.mastercard.com/mastercard-insurance-programs/documentation/api-basics/#authentication
📖
Documentation
https://developer.mastercard.com/mastercard-insurance-programs/documentation/api-reference/
📖
GettingStarted
https://developer.mastercard.com/card-issuance/documentation/getting-started/
📖
Authentication
https://developer.mastercard.com/card-issuance/documentation/api-basics/#authentication
📖
Documentation
https://developer.mastercard.com/traditional-fulfillment-service/documentation/api-reference/
📖
Documentation
https://developer.mastercard.com/user-account-management-service/documentation/api-reference/

Specifications

Code Examples

💻
CodeExamples
https://developer.mastercard.com/mastercard-id-for-tp/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/mastercard-id-for-tp/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/mastercard-id-for-idp/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/doconomy-aland-index/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/doconomy-aland-index/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/merchant-self-services/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/merchant-self-services/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/fld-suspected-fraud/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/fld-fraud-submission/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/identity-insights-for-accounts/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/identity-insights-for-accounts/documentation/postman-collections/
💻
CodeExamples
https://developer.mastercard.com/identity-insights-for-transactions/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/identity-insights-for-transactions/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/unified-installments/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/unified-installments/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/locations-merchants/documentation/integration-and-testing/#insomnia
💻
CodeExamples
https://developer.mastercard.com/locations-merchants/documentation/integration-and-testing/#postman
💻
CodeExamples
https://developer.mastercard.com/locations-merchants/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/locations/documentation/integration-and-testing/#insomnia
💻
CodeExamples
https://developer.mastercard.com/locations/documentation/integration-and-testing/#postman
💻
CodeExamples
https://developer.mastercard.com/locations/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/donations/documentation/reference_app/
💻
CodeExamples
https://developer.mastercard.com/donations/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/card-issuance/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/traditional-fulfillment-service/documentation/reference-app/
💻
CodeExamples
https://developer.mastercard.com/traditional-fulfillment-service/documentation/postman-collection/
💻
CodeExamples
https://developer.mastercard.com/user-account-management-service/documentation/reference-app/

Other Resources

🔗
Security
https://developer.mastercard.com/mastercard-id-for-tp/documentation/api-basics/#api-security
🔗
Security
https://developer.mastercard.com/mastercard-id-for-tp/documentation/api-basics/#encryption
🔗
Sandbox
https://developer.mastercard.com/mastercard-id-for-tp/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/mastercard-id-for-tp/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/mastercard-id-for-tp/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/mastercard-id-for-tp/documentation/code-and-formats/
🔗
ChangeLog
https://developer.mastercard.com/mastercard-id-for-tp/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/mastercard-id-for-tp/documentation/support/#faqs
🔗
Support
https://developer.mastercard.com/mastercard-id-for-tp/documentation/support/#get-help
🔗
Security
https://developer.mastercard.com/mastercard-id-for-idp/documentation/api-basics/#api-security
🔗
Security
https://developer.mastercard.com/mastercard-id-for-idp/documentation/
🔗
Sandbox
https://developer.mastercard.com/mastercard-id-for-idp/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/mastercard-id-for-idp/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/mastercard-id-for-idp/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/mastercard-id-for-idp/documentation/code-and-formats/
🔗
ChangeLog
https://developer.mastercard.com/mastercard-id-for-idp/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/mastercard-id-for-idp/documentation/support/#faqs
🔗
Support
https://developer.mastercard.com/mastercard-id-for-idp/documentation/support/#help
🔗
Sandbox
https://developer.mastercard.com/doconomy-aland-index/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/doconomy-aland-index/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/doconomy-aland-index/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/doconomy-aland-index/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/doconomy-aland-index/documentation/support/#faqs
🔗
Support
https://developer.mastercard.com/doconomy-aland-index/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/announcements/
🔗
Security
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/api-basics/#environments
🔗
Tutorials
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/tutorials-and-guides/
🔗
UseCases
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/use-cases/
🔗
ErrorCodes
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/testing/
🔗
Sandbox
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/testing/#test-data
🔗
ChangeLog
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/ethoca-alerts-for-merchants/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/announcements/
🔗
Security
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/api-basics/authentication-and-encryption/#encryption
🔗
UseCases
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/testing/
🔗
ChangeLog
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/ethoca-consumer-clarity-for-merchants/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/merchant-self-services/documentation/announcements/
🔗
Security
https://developer.mastercard.com/merchant-self-services/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/merchant-self-services/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/merchant-self-services/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/merchant-self-services/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/merchant-self-services/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/merchant-self-services/documentation/testing/
🔗
ChangeLog
https://developer.mastercard.com/merchant-self-services/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/merchant-self-services/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/merchant-self-services/documentation/support/#get-help
🔗
Security
https://developer.mastercard.com/fld-suspected-fraud/documentation/api-basics/#encryption
🔗
Sandbox
https://developer.mastercard.com/fld-suspected-fraud/documentation/api-basics/#environment-descriptions
🔗
UseCases
https://developer.mastercard.com/fld-suspected-fraud/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/fld-suspected-fraud/documentation/tutorials/
🔗
ErrorCodes
https://developer.mastercard.com/fld-suspected-fraud/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/fld-suspected-fraud/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/fld-suspected-fraud/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/fld-fraud-submission/documentation/announcements/
🔗
Security
https://developer.mastercard.com/fld-fraud-submission/documentation/api-basics/#encryption
🔗
Sandbox
https://developer.mastercard.com/fld-fraud-submission/documentation/api-basics/#environment-descriptions
🔗
UseCases
https://developer.mastercard.com/fld-fraud-submission/documentation/use-cases/
🔗
Sandbox
https://developer.mastercard.com/fld-fraud-submission/documentation/use-cases/testing/
🔗
Tutorials
https://developer.mastercard.com/fld-fraud-submission/documentation/tutorials/
🔗
ErrorCodes
https://developer.mastercard.com/fld-fraud-submission/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/fld-fraud-submission/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/fld-fraud-submission/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/identity-insights-for-accounts/documentation/announcements/
🔗
Security
https://developer.mastercard.com/identity-insights-for-accounts/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/identity-insights-for-accounts/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/identity-insights-for-accounts/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/identity-insights-for-accounts/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/identity-insights-for-accounts/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/identity-insights-for-accounts/documentation/testing/
🔗
FAQ
https://developer.mastercard.com/identity-insights-for-accounts/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/identity-insights-for-accounts/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/identity-insights-for-transactions/documentation/announcements/
🔗
Security
https://developer.mastercard.com/identity-insights-for-transactions/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/identity-insights-for-transactions/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/identity-insights-for-transactions/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/identity-insights-for-transactions/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/identity-insights-for-transactions/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/identity-insights-for-transactions/documentation/testing/
🔗
ChangeLog
https://developer.mastercard.com/identity-insights-for-transactions/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/identity-insights-for-transactions/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/identity-insights-for-transactions/documentation/support/#get-help
🔗
Security
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/tutorials-and-guides/
🔗
Sandbox
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/testing/
🔗
ErrorCodes
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/support/#frequently-asked-questions
🔗
Support
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/support/#get-help
🔗
Glossary
https://developer.mastercard.com/in-control-for-mobile-payments/documentation/glossary/
🔗
ChangeLog
https://developer.mastercard.com/unified-installments/documentation/release-history/
🔗
Security
https://developer.mastercard.com/unified-installments/documentation/api-basics/#api-security
🔗
Security
https://developer.mastercard.com/unified-installments/documentation/api-basics/#encryption
🔗
Sandbox
https://developer.mastercard.com/unified-installments/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/unified-installments/documentation/use-cases/mastercard-installments-program-with-merchant-participation/
🔗
Tutorials
https://developer.mastercard.com/unified-installments/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/unified-installments/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/unified-installments/documentation/testing/
🔗
Support
https://developer.mastercard.com/unified-installments/documentation/support/
🔗
Security
https://developer.mastercard.com/locations-merchants/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/locations-merchants/documentation/api-basics/#environments
🔗
Sandbox
https://developer.mastercard.com/locations-merchants/documentation/integration-and-testing/
🔗
Sandbox
https://developer.mastercard.com/locations-merchants/documentation/integration-and-testing/#sandbox-test-data
🔗
UseCases
https://developer.mastercard.com/locations-merchants/documentation/use-cases/
🔗
ErrorCodes
https://developer.mastercard.com/locations-merchants/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/locations-merchants/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/locations-merchants/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/locations-merchants/documentation/announcements/
🔗
ChangeLog
https://developer.mastercard.com/locations-merchants/documentation/release-history/
🔗
Security
https://developer.mastercard.com/locations/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/locations/documentation/api-basics/#environments
🔗
Sandbox
https://developer.mastercard.com/locations/documentation/integration-and-testing/
🔗
Sandbox
https://developer.mastercard.com/locations/documentation/integration-and-testing/#sandbox-test-data
🔗
UseCases
https://developer.mastercard.com/locations/documentation/use-cases/
🔗
ErrorCodes
https://developer.mastercard.com/locations/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/locations/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/locations/documentation/support/#get-help
🔗
ReleaseNotes
https://developer.mastercard.com/locations/documentation/announcements/
🔗
ChangeLog
https://developer.mastercard.com/locations/documentation/release-history/
🔗
UseCases
https://developer.mastercard.com/donations/documentation/use-cases/
🔗
Sandbox
https://developer.mastercard.com/donations/documentation/api-basics/#environment-descriptions
🔗
ErrorCodes
https://developer.mastercard.com/donations/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/donations/documentation/support/#faqs
🔗
Support
https://developer.mastercard.com/donations/documentation/support/#get-help
🔗
Tutorials
https://developer.mastercard.com/donations/documentation/support/#guides
🔗
Tutorials
https://developer.mastercard.com/donations/documentation/tutorials/
🔗
Security
https://developer.mastercard.com/mastercard-insurance-programs/documentation/api-basics/#encryption
🔗
Sandbox
https://developer.mastercard.com/mastercard-insurance-programs/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/mastercard-insurance-programs/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/mastercard-insurance-programs/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/mastercard-insurance-programs/documentation/code-and-formats/
🔗
Sandbox
https://developer.mastercard.com/mastercard-insurance-programs/documentation/testing/
🔗
FAQ
https://developer.mastercard.com/mastercard-insurance-programs/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/mastercard-insurance-programs/documentation/support/#get-help
🔗
Glossary
https://developer.mastercard.com/card-issuance/documentation/getting-started/#glossary
🔗
Sandbox
https://developer.mastercard.com/card-issuance/documentation/api-basics/#encryption
🔗
Sandbox
https://developer.mastercard.com/card-issuance/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/card-issuance/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/card-issuance/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/card-issuance/documentation/code-and-formats/
🔗
FAQ
https://developer.mastercard.com/card-issuance/documentation/support/#faqs
🔗
Support
https://developer.mastercard.com/card-issuance/documentation/support/#get-help
🔗
Security
https://developer.mastercard.com/traditional-fulfillment-service/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/traditional-fulfillment-service/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/traditional-fulfillment-service/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/traditional-fulfillment-service/documentation/tutorials-and-guides/
🔗
ErrorCodes
https://developer.mastercard.com/traditional-fulfillment-service/documentation/code-and-formats/
🔗
ChangeLog
https://developer.mastercard.com/traditional-fulfillment-service/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/traditional-fulfillment-service/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/traditional-fulfillment-service/documentation/support/#get-help
🔗
Security
https://developer.mastercard.com/user-account-management-service/documentation/api-basics/#api-security
🔗
Sandbox
https://developer.mastercard.com/user-account-management-service/documentation/api-basics/#environments
🔗
UseCases
https://developer.mastercard.com/user-account-management-service/documentation/use-cases/
🔗
Tutorials
https://developer.mastercard.com/user-account-management-service/documentation/tutorials-and-guides/
🔗
Glossary
https://developer.mastercard.com/user-account-management-service/documentation/glossary/
🔗
ErrorCodes
https://developer.mastercard.com/user-account-management-service/documentation/code-and-formats/
🔗
ChangeLog
https://developer.mastercard.com/user-account-management-service/documentation/release-history/
🔗
FAQ
https://developer.mastercard.com/user-account-management-service/documentation/support/#faq
🔗
Support
https://developer.mastercard.com/user-account-management-service/documentation/support/#get-help

OpenAPI Specification

mastercard-products-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Mastercard Bill Payment Validator Account Opening Products 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: Products
  description: Handles Products
paths:
  /products/searches:
    post:
      tags:
      - Products
      description: Returns the product information using the card number provided for the requested date. If no date is provided, then current date will be used.
      summary: Search products
      operationId: searchProducts
      requestBody:
        $ref: '#/components/requestBodies/ProductSearch'
      responses:
        '200':
          $ref: '#/components/responses/SearchProducts'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
components:
  responses:
    UnauthorizedError:
      description: Unauthorized - Access Not Granted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorWrapper'
          examples:
            UnauthorizedExample:
              $ref: '#/components/examples/UnauthorizedExample'
    SearchProducts:
      description: Returns Products that match the search criteria
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/SearchProducts'
    BadRequestError:
      description: Something was wrong with the request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorWrapper'
          examples:
            BadRequestExample:
              $ref: '#/components/examples/BadRequestExample'
  schemas:
    Products:
      type: object
      properties:
        effectiveDate:
          description: Date for which benefits are to be determined. Defaults to the current date if not provided. Date is in YYYY-MM-DD format
          type: string
          example: '2022-12-15'
          pattern: ^\d{4}-\d{2}-\d{2}$
        cardNumber:
          description: Full card number or BIN number
          type: string
          example: '5308780000000000'
          minLength: 6
          maxLength: 19
      required:
      - cardNumber
    Errors:
      description: Object that contains the list of errors
      type: object
      required:
      - Error
      properties:
        Error:
          $ref: '#/components/schemas/ErrorList'
    ErrorWrapper:
      description: A top level object for errors
      type: object
      required:
      - Errors
      properties:
        Errors:
          $ref: '#/components/schemas/Errors'
    SearchProducts:
      type: object
      properties:
        icaBusinessName:
          description: Name of Issuer
          type: string
          example: Bank Group
          minLength: 0
          maxLength: 60
        icaCode:
          description: ICA code of the issuer
          type: string
          example: '7379'
        icaRegion:
          description: The geographical region of card issuer
          type: string
          example: US
          minLength: 2
          maxLength: 40
          pattern: '[A-Z]+'
        icaCountry:
          description: The country of the card issuer
          type: string
          example: USA
          maxLength: 3
          minLength: 3
          pattern: '[A-Z]+'
        icaState:
          description: The state of the card issuer
          type: string
          example: SOUTH DAKOTA
          minLength: 0
          maxLength: 300
        icaLegalName:
          description: This is the ICAs Legal name for MPI, MasterCard's Licensing database
          type: string
          example: Bank Group, N.A.
          minLength: 0
          maxLength: 300
        parentICACode:
          description: Code for Parent Issuer
          type: string
          example: '7379'
          minLength: 4
          maxLength: 9
        data:
          description: Array of Products
          type: array
          items:
            $ref: '#/components/schemas/Product'
    ErrorList:
      description: The list of errors
      type: array
      minItems: 1
      items:
        $ref: '#/components/schemas/Error'
    Product:
      type: object
      properties:
        productCode:
          description: 3 alpha character code of MasterCard Product. This is required if the BIN or card number has multiple Products associated with it.
          type: string
          example: MCC
          minLength: 3
          maxLength: 3
          pattern: ^[A-Z]{3}$
        productName:
          description: Name that corresponds to the Mastercard product
          type: string
          example: Mixed Product
          minLength: 1
          maxLength: 100
    Error:
      description: A single error
      type: object
      properties:
        Source:
          type: string
          minLength: 0
          maxLength: 200
          description: Information about where the error happened
          example: ELIGIBILITY_BENEFITS_API
        ReasonCode:
          type: string
          minLength: 0
          maxLength: 200
          description: An error code
          example: BAD_REQUEST
        Description:
          type: string
          minLength: 0
          maxLength: 10000
          description: A description of the error
          example: We couldn't handle your request
        Recoverable:
          type: boolean
          description: Indicates if the request can be presented again for processing
          example: false
        Details:
          type: string
          minLength: 0
          maxLength: 10000
          description: More details about the error
          example: Invalid JSON payload
  examples:
    UnauthorizedExample:
      value:
        Errors:
          Error:
          - Source: Gateway
            ReasonCode: DECLINED
            Description: Unauthorized - Access Not Granted
            Recoverable: false
            Details: null
    BadRequestExample:
      value:
        Errors:
          Error:
          - Source: Benefits Eligibility Service
            ReasonCode: BENEFITINFO_VAL_001
            Description: Validation Error  BIN Number should be numeric.
            Recoverable: false
  requestBodies:
    ProductSearch:
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Products'