Mastercard Business Payment Controls

Business Payment Controls is an application programming interface (API) based solution that simplifies business payments by using configurable controls to limit spending on real and virtual cards, while allowing finance teams to reconcile payments using transaction-level reporting.

OpenAPI Specification

mastercard-business-payment-controls-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Mastercard Business Payment Controls
  version: 1.0.0
  description: >-
    Business Payment Controls is an application programming interface (API)
    based solution that simplifies business payments by using configurable
    controls to limit spending on real and virtual cards, while allowing finance
    teams to reconcile payments using transaction-level reporting.
  contact:
    name: API Support
    email: [email protected]
    url: https://developer.mastercard.com/support
servers:
  - url: https://apiedge.mastercard.com/commercial
    description: Production Server
  - url: https://sandbox.apiedge.mastercard.com/commercial
    description: Sandbox Server
tags:
  - name: Entities
    description: >-
      Entities Search - Fetch entity identifiers which can be used to register
      Real Cards at the appropriate hierarchy level
  - name: Real Card
    description: >-
      Real Card Operations - Registering a card, updating, deleting or searching
      registered real cards.
  - name: Contact
    description: >-
      Contact Operations - Linking a contact to a card, updating, deleting or
      searching for contacts associated with real cards.
  - name: Funding Source
    description: >-
      Funding Source Operations - Creating a funding source with controls,
      updating, deleting or retrieving controls associated with a funding
      source.
  - name: Virtual Card
    description: >-
      Virtual Card Operations - Generating a VCN with controls, updating,
      deleting or searching created virtual cards.
  - name: Custom Data Fields
    description: >-
      Custom Data Fields (CDF) Operations - Create, read, update, delete and 
      search custom data fields entries attached to an issuer or a corporate and
      linked to a particular card (real or virtual) for reporting. against the
      RCN/VCN.
  - name: Authorization Report
    description: >-
      Authorization Report Operations - Creating an Authorization Report that
      lists the authorizations that have occurred against the RCN/VCN or
      retrieving reports previously created.
  - name: Clearing Report
    description: >-
      Clearing Report Operations - Creating a Clearing Report that list details
      of the transactions that have been cleared against the RCN/VCN or
      retrieving reports previously created.
  - name: Clearing Summary Report
    description: >-
      Clearing Summary Report Operations - Creating a Clearing Summary Report
      that will list summary details of transactions that have been cleared
      against the RCN
  - name: Retail Api Migration
    description: >-
      Retail Api Migration Operations - Migrating real and virtual cards from
      Retail API to Business Payment Controls.
paths:
  /real-card-accounts:
    post:
      tags:
        - Card
        - Accounts
      summary: Registering a real card
      description: This endpoint allows users to register a real card account
      operationId: addRealCard
      requestBody:
        $ref: '#/components/requestBodies/RealCardAccount'
      responses:
        '201':
          $ref: '#/components/responses/RealCardAccount'
        '400':
          $ref: '#/components/responses/RealCardBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
  /real-card-accounts/searches:
    post:
      tags:
        - Card
        - Accounts
        - Searches
      summary: Retrieve real card account details
      description: >-
        This endpoint allows users to search for real card accounts using
        various search parameters
      operationId: searchRealCards
      requestBody:
        $ref: '#/components/requestBodies/RealCardAccountSearch'
      responses:
        '200':
          $ref: '#/components/responses/RealCardSearch'
        '400':
          $ref: '#/components/responses/CardSearchBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
  /real-card-accounts/{account_guid}:
    get:
      tags:
        - Card
        - Accounts
        - Real  Card
      summary: Retrieve card account details by AccountGuid
      description: >-
        This endpoint allows users to retrieve details of a particular card
        account by using the account_guid
      operationId: getRealCardByGuid
      parameters:
        - $ref: '#/components/parameters/rc_account_guid'
        - $ref: '#/components/parameters/unmasked_account_number'
      responses:
        '200':
          $ref: '#/components/responses/RealCardDetails'
        '400':
          $ref: '#/components/responses/AccountBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/RealCardNotFoundError'
    put:
      tags:
        - Card
        - Accounts
        - Real  Card
      operationId: updateRealCardByGuid
      summary: Update card account
      description: >-
        This endpoint allows users to update different attributes of an existing
        card account. This endpoint can be used for use cases like updating the
        expiry date or name on card.
      parameters:
        - $ref: '#/components/parameters/rc_account_guid'
      requestBody:
        $ref: '#/components/requestBodies/RealCardAccountUpdate'
      responses:
        '200':
          $ref: '#/components/responses/RealCardAccountUpdate'
        '400':
          $ref: '#/components/responses/RealCardBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/RealCardNotFoundError'
    delete:
      tags:
        - Card
        - Accounts
        - Real  Card
      summary: Delete card account
      description: >-
        This endpoint allows users to delete details of a particular card
        account by using the account_guid
      operationId: deleteRealCardByGuid
      parameters:
        - $ref: '#/components/parameters/rc_account_guid'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/AccountBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/RealCardNotFoundError'
  /virtual-card-accounts:
    post:
      tags:
        - Virtual
        - Card
        - Accounts
      summary: Registering a virtual card
      description: This endpoint allows users to register a virtual card account
      operationId: addVirtualCard
      requestBody:
        $ref: '#/components/requestBodies/VirtualCardAccountCreation'
      responses:
        '201':
          $ref: '#/components/responses/VirtualCardAccount'
        '400':
          $ref: '#/components/responses/VirtualCardBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
  /virtual-card-accounts/searches:
    post:
      tags:
        - Virtual
        - Card
        - Accounts
        - Searches
      summary: Retrieve virtual card account details
      description: >-
        This endpoint allows users to search for virtual card accounts using
        various search parameters
      operationId: searchVirtualCards
      requestBody:
        $ref: '#/components/requestBodies/VirtualCardAccountSearch'
      responses:
        '200':
          $ref: '#/components/responses/VirtualCardSearch'
        '400':
          $ref: '#/components/responses/CardSearchBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
  /funding-sources:
    post:
      tags:
        - Funding
        - Sources
      summary: Registering a funding source
      description: This endpoint allows users to register a funding source
      operationId: addFundingSource
      requestBody:
        $ref: '#/components/requestBodies/FundingSource'
      responses:
        '201':
          $ref: '#/components/responses/FundingSource'
        '400':
          $ref: '#/components/responses/FundingSourceBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
  /funding-sources/searches:
    post:
      tags:
        - Funding
        - Sources
        - Searches
      operationId: searchFundingSource
      summary: Retrieve funding source details
      description: >-
        This endpoint allows users to search for funding sources using various
        search parameters
      requestBody:
        $ref: '#/components/requestBodies/FundingSourceSearch'
      responses:
        '200':
          $ref: '#/components/responses/FundingSourceSearch'
        '400':
          $ref: '#/components/responses/FundingSourceBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
  /funding-sources/{funding_source_guid}:
    get:
      tags:
        - Funding
        - Sources
        - Funding  Source
      summary: Retrieve funding source details
      description: >-
        This endpoint allows users to retrieve details of a particular funding
        source by using the funding_source_guid
      operationId: getFundingSourceByGuid
      parameters:
        - $ref: '#/components/parameters/funding_source_guid'
      responses:
        '200':
          $ref: '#/components/responses/FundingSourceDetails'
        '400':
          $ref: '#/components/responses/AccountBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/FundingSourceNotFoundError'
    put:
      tags:
        - Funding
        - Sources
        - Funding  Source
      summary: Update funding source
      description: >-
        This endpoint allows users to update different attributes of an existing
        funding source.
      operationId: updateFundingSourceByGuid
      requestBody:
        $ref: '#/components/requestBodies/FundingSource'
      parameters:
        - $ref: '#/components/parameters/funding_source_guid'
      responses:
        '200':
          $ref: '#/components/responses/FundingSourceDetails'
        '400':
          $ref: '#/components/responses/FundingSourceBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/FundingSourceNotFoundError'
    delete:
      tags:
        - Funding
        - Sources
        - Funding  Source
      summary: Delete funding source
      description: >-
        This endpoint allows users to delete details of a particular funding
        source by using the funding_source_guid
      operationId: deleteFundingSourceByGuid
      parameters:
        - $ref: '#/components/parameters/funding_source_guid'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/AccountBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/FundingSourceNotFoundError'
  /funding-sources/{funding_source_guid}/status:
    put:
      tags:
        - Funding
        - Sources
        - Status
      summary: Update funding source status
      description: This endpoint allows users to update the status of a funding source.
      operationId: updateFundingSourceStatusByGuid
      requestBody:
        $ref: '#/components/requestBodies/FundingSourceStatusUpdate'
      parameters:
        - $ref: '#/components/parameters/funding_source_guid'
      responses:
        '200':
          $ref: '#/components/responses/FundingSourceStatus'
        '400':
          $ref: '#/components/responses/FundingSourceBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/FundingSourceNotFoundError'
  /virtual-card-accounts/{account_guid}:
    delete:
      tags:
        - Virtual
        - Card
        - Accounts
        - Virtual  Card
      summary: Delete virtual card
      description: >-
        This endpoint allows users to delete a created virtual card account by
        using the account guid.
      operationId: deleteVirtualCardByGuid
      parameters:
        - $ref: '#/components/parameters/vc_account_guid'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/AccountBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/VirtualCardNotFoundError'
    get:
      tags:
        - Virtual
        - Card
        - Accounts
        - Virtual  Card
      summary: Retrieve virtual card account details
      description: >-
        This endpoint allows users to retrieve details of a particular virtual
        card account by using the account_guid
      operationId: getVirtualCardByGuid
      parameters:
        - $ref: '#/components/parameters/vc_account_guid'
        - $ref: '#/components/parameters/unmasked_account_number'
      responses:
        '200':
          $ref: '#/components/responses/VirtualCardDetails'
        '400':
          $ref: '#/components/responses/AccountBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/VirtualCardNotFoundError'
    put:
      tags:
        - Virtual
        - Card
        - Accounts
        - Virtual  Card
      summary: Update virtual card account
      description: >-
        This endpoint allows users to update different attributes of an existing
        virtual card account
      operationId: updateVirtualCardByGuid
      requestBody:
        $ref: '#/components/requestBodies/VirtualCardAccountUpdate'
      parameters:
        - $ref: '#/components/parameters/vc_account_guid'
      responses:
        '200':
          $ref: '#/components/responses/VirtualCardDetails'
        '400':
          $ref: '#/components/responses/VirtualCardBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/VirtualCardNotFoundError'
  /virtual-card-accounts/{account_guid}/status:
    put:
      tags:
        - Virtual
        - Card
        - Accounts
        - Status
      summary: Update virtual card status
      description: This endpoint allows users to update the status of a virtual card.
      operationId: updateVirtualCardStatusByGuid
      requestBody:
        $ref: '#/components/requestBodies/VirtualCardStatusUpdate'
      parameters:
        - $ref: '#/components/parameters/vc_account_guid'
      responses:
        '200':
          $ref: '#/components/responses/VirtualCardAccountStatus'
        '400':
          $ref: '#/components/responses/BadStatusRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/VirtualCardNotFoundError'
  /virtual-card-accounts/{account_guid}/end-user:
    post:
      tags:
        - Virtual
        - Card
        - Accounts
        - User
      summary: Registering end user contact details linked to a virtual card
      description: >-
        This endpoint allows users to provision a virtual card account and use
        it via mobile
      operationId: createVirtualCardEndUser
      requestBody:
        $ref: '#/components/requestBodies/AccountEndUser'
      parameters:
        - $ref: '#/components/parameters/vc_account_guid'
      responses:
        '201':
          $ref: '#/components/responses/AccountEndUserCreated'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/ResourceNotFoundError'
    get:
      tags:
        - Virtual
        - Card
        - Accounts
        - User
      summary: Retrieve end user contact details for a virtual card
      description: >-
        This endpoint allows users to retrieve details for an existing
        provisioned virtual card account
      operationId: getVirtualCardEndUser
      parameters:
        - $ref: '#/components/parameters/vc_account_guid'
      responses:
        '200':
          $ref: '#/components/responses/AccountEndUser'
        '400':
          $ref: '#/components/responses/AccountBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/ResourceNotFoundError'
    put:
      tags:
        - Virtual
        - Card
        - Accounts
        - User
      summary: Update end user contact details for a virtual card
      description: >-
        This endpoint allows users to update different attributes for an
        existing provisioned virtual card account
      operationId: updateVirtualCardEndUser
      requestBody:
        $ref: '#/components/requestBodies/AccountEndUser'
      parameters:
        - $ref: '#/components/parameters/vc_account_guid'
      responses:
        '200':
          $ref: '#/components/responses/AccountEndUser'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/ResourceNotFoundError'
  /real-card-accounts/{account_guid}/contacts:
    post:
      tags:
        - Card
        - Accounts
        - Contacts
      summary: Register a new contact linked to a real card
      description: This endpoint allows users to register a contact
      operationId: addContact
      parameters:
        - $ref: '#/components/parameters/rc_account_guid'
      requestBody:
        $ref: '#/components/requestBodies/Contact'
      responses:
        '201':
          $ref: '#/components/responses/Contact'
        '400':
          $ref: '#/components/responses/ContactBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
    get:
      tags:
        - Card
        - Accounts
        - Contacts
      summary: Retrieve all contact details under a real card account
      description: >-
        This endpoint allows users to retrieve details of all contacts under a
        real card account by using the account_guid
      operationId: getRealCardContacts
      parameters:
        - $ref: '#/components/parameters/rc_account_guid'
        - $ref: '#/components/parameters/page'
        - $ref: '#/components/parameters/page_length'
      responses:
        '200':
          $ref: '#/components/responses/Contacts'
        '400':
          $ref: '#/components/responses/AccountBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/RealCardNotFoundError'
  /real-card-accounts/{account_guid}/contacts/{contact_guid}:
    get:
      tags:
        - Card
        - Accounts
        - Contacts
        - Guid
      summary: Retrieve contact details
      description: >-
        This endpoint allows users to retrieve details of a particular contact
        associated with a card by using the account guid and the contact guid.
      operationId: getContactByGuid
      parameters:
        - $ref: '#/components/parameters/rc_account_guid'
        - $ref: '#/components/parameters/contact_guid'
      responses:
        '200':
          $ref: '#/components/responses/ContactDetails'
        '400':
          $ref: '#/components/responses/AccountBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/RealCardNotFoundError'
    put:
      tags:
        - Card
        - Accounts
        - Contacts
        - Guid
      operationId: updateContactByGuid
      summary: Update a contact
      description: >-
        This endpoint allows users to update different attributes of an existing
        contact using the account_guid and the contact_guid
      parameters:
        - $ref: '#/components/parameters/rc_account_guid'
        - $ref: '#/components/parameters/contact_guid'
      requestBody:
        $ref: '#/components/requestBodies/UpdatedContact'
      responses:
        '200':
          $ref: '#/components/responses/UpdatedContactDetails'
        '400':
          $ref: '#/components/responses/ContactBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/RealCardNotFoundError'
    delete:
      tags:
        - Card
        - Accounts
        - Contacts
        - Guid
      operationId: deleteContactByGuid
      summary: Delete a contact
      description: >-
        This endpoint allows users to delete details of a particular contact by
        using the account_guid and the contact_guid
      parameters:
        - $ref: '#/components/parameters/rc_account_guid'
        - $ref: '#/components/parameters/contact_guid'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/AccountBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/RealCardNotFoundError'
  /funding-sources/{funding_source_guid}/controls:
    post:
      tags:
        - Funding
        - Sources
        - Controls
      summary: Register controls to a funding source
      description: This endpoint allows users to register controls to a funding source
      operationId: addFundingSourceControls
      parameters:
        - $ref: '#/components/parameters/funding_source_guid'
      requestBody:
        $ref: '#/components/requestBodies/SimpleControl'
      responses:
        '201':
          $ref: '#/components/responses/SimpleControl'
        '400':
          $ref: '#/components/responses/FundingSourceBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
    put:
      tags:
        - Funding
        - Sources
        - Controls
      summary: Update controls linked to a funding source
      description: >-
        This endpoint allows users to update existing controls linked to a
        funding source.
      operationId: updateFundingSourceControls
      parameters:
        - $ref: '#/components/parameters/funding_source_guid'
      requestBody:
        $ref: '#/components/requestBodies/SimpleControl'
      responses:
        '200':
          $ref: '#/components/responses/SimpleControlDetails'
        '400':
          $ref: '#/components/responses/FundingSourceBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/FundingSourceNotFoundError'
    delete:
      tags:
        - Funding
        - Sources
        - Controls
      summary: Delete controls linked to a funding source
      description: >-
        This endpoint allows users to delete controls linked to a funding source
        by using the funding_source_guid
      operationId: deleteFundingSourceControlsByGuid
      parameters:
        - $ref: '#/components/parameters/funding_source_guid'
      responses:
        '204':
          description: No Content
        '400':
          $ref: '#/components/responses/AccountBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/FundingSourceNotFoundError'
    get:
      tags:
        - Funding
        - Sources
        - Controls
      summary: Retrieve controls linked to a funding source
      description: >-
        This endpoint allows users to retrieve existing controls linked to a
        funding source by using the funding source guid.
      operationId: getFundingSourceControlsByGuid
      parameters:
        - $ref: '#/components/parameters/funding_source_guid'
      responses:
        '200':
          $ref: '#/components/responses/SimpleControlDetails'
        '400':
          $ref: '#/components/responses/AccountBadRequestError'
        '401':
          $ref: '#/components/responses/AccountUnauthorizedError'
        '403':
          $ref: '#/components/responses/AccountForbiddenError'
        '404':
          $ref: '#/components/responses/FundingSourceNotFoundError'
  /authorization-reports:
    post:
      description: >-
        This endpoint allows users to create an authorization report that lists
        the authorizations that have occurred against the RCN/VCN within the
        time period specified.
      summary: Create an Authorization Report
      operationId: createAuthorizationReport
      tags:
        - Authorization
        - Reports
      requestBody:
        $ref: '#/components/requestBodies/AuthorizationReport'
      responses:
        '201':
          $ref: '#/components/responses/AuthorizationReportStatus'
        '400':
          $ref: '#/components/responses/ReportingServiceBadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
    get:
      description: >-
        This endpoint allows users to retrieve status of all created RCN/VCN
        authorizations reports.
      summary: Get all Authorization Reports Status
      operationId: getAuthorizationReports
      tags:
        - Authorization
        - Reports
      parameters:
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          $ref: '#/components/responses/AuthorizationReport'
        '400':
          $ref: '#/components/responses/PaginationOffSetBadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
  /authorization-reports/{guid}:
    get:
      description: >-
        This endpoint allows users to retrieve status of a previously created
        RCN/VCN Authorization Report by using the GUID.
      summary: Get Authorization Report Status By GUID
      operationId: getAuthorizationReportByGuid
      tags:
        - Authorization
        - Reports
        - Authorization  Report
      parameters:
        - $ref: '#/components/parameters/guid'
      responses:
        '200':
          $ref: '#/components/responses/AuthorizationReportSummary'
        '400':
          $ref: '#/components/responses/GuidInvalidBadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /authorization-reports/{guid}/data:
    get:
      description: >-
        This endpoint allows users to fetch data from the previously created
        Authorisation Report. Authorisation Report data is returned paginated.
      summary: Fetch Authorization Report Data
      operationId: getAuthorizationReportContent
      tags:
        - Authorization
        - Reports
        - Data
      parameters:
        - $ref: '#/components/parameters/guid'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/datalimit'
      responses:
        '200':
          $ref: '#/components/responses/Authorization'
        '400':
          $ref: '#/components/responses/GuidInvalidBadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /clearing-reports:
    post:
      description: >-
        This endpoint allows users to create a clearing report that list details
        of the transactions that have been cleared against the RCN or VCN within
        the time period specified.
      summary: Create a Clearing Report
      operationId: createClearingReport
      tags:
        - Clearing
        - Reports
      requestBody:
        $ref: '#/components/requestBodies/ClearingReport'
      responses:
        '201':
          $ref: '#/components/responses/ClearingReport'
        '400':
          $ref: '#/components/responses/ReportingServiceBadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
    get:
      description: >-
        This endpoint allows users to retrieve status of previously created
        RCN/VCN Clearing Reports.
      summary: Get all Clearing Reports Status
      operationId: getClearingReports
      tags:
        - Clearing
        - Reports
      parameters:
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
      responses:
        '200':
          $ref: '#/components/responses/ClearingReportSummaryList'
        '400':
          $ref: '#/components/responses/PaginationOffSetBadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
  /clearing-reports/{guid}:
    get:
      description: >-
        This endpoint allows users to retrieve status of a previously created
        RCN/VCN Clearing Report by using the GUID.
      summary: Get Clearing Report Status By GUID
      operationId: getClearingReportByGuid
      tags:
        - Clearing
        - Reports
        - Clearing  Report
      parameters:
        - $ref: '#/components/parameters/guid'
      responses:
        '200':
          $ref: '#/components/responses/ClearingReportSummary'
        '400':
          $ref: '#/components/responses/GuidInvalidBadRequestError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
  /clearing-reports/{guid}/data:
    get:
      description: >-
        This endpoint allows users to fetch data for a previously created
        Clearing Report. Clearing Report data is returned paginated.
      summary: Fetch Clearing Report Data
      operationId: getClearingReportContent
      tags:
        - Clearing
        - Reports
        - Data
      parameters:
        - $ref: '#/components/parameters/guid'
        - $ref: '#/components/parameters/offset'
   

# --- truncated at 32 KB (206 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mastercard/refs/heads/main/openapi/mastercard-business-payment-controls-openapi.yml