Barclays Payments API

Securely make and receive payments with fraud detection and real-time tracking.

Operations 11

PATCH /cards/accounts/{extAccountId}/payments/subscriptions/{subscriptionId} Update an AutoPay subscription - update attributes or cancel #
PATCH /cards/accounts/{extAccountId}/payments/{referenceNumber} Modify One-time Payment for partner #
GET /cards/accounts/{extAccountId}/payments/subscriptions Retrieve the most recent and active AutoPay subscription #
POST /cards/accounts/{extAccountId}/payments/subscriptions Create an AutoPay subscription #
GET /cards/accounts/{extAccountId}/payments/external-accounts/{bankAccountId} Get an external bank account for partner provided external bank account ID #
GET /cards/accounts/{extAccountId}/payments/external-accounts Get all external bank accounts for partner provided accountId #
GET /cards/accounts/{extAccountId}/payments/payment-options Payment options for the accountId from partner #
GET /cards/accounts/{extAccountId}/payments Payment activity for the accountId from partner #
POST /cards/accounts/{extAccountId}/payments Make a One-time Payment for account id from partner #
GET /cards/accounts/{extAccountId}/payments/subscriptions/options Retrieve options for setting up an AutoPay subscription #
PATCH /cards/accounts/{extAccountId}/auto-payments/{referenceNumber} Modify Autopay Payment for current cycle #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/payments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

barclays-payments-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Payments
  description: Enables customers to easily create, update, or cancel payments
  version: '2.0'
x-method: searched
x-source: https://developer.barclays.com/api/apis/versions/41c4465b-4997-4934-93e2-7db9607ad4a0.bdn/design?specification=oas31
x-harvested: '2026-09-04'
x-harvested-note: Verbatim OpenAPI 3.1 design export from the Barclays API Exchange registry (developer.barclays.com), fetched
  anonymously. The untouched export is in openapi/_original/barclays-payments-openapi.json. The UK Open Banking documents
  carry OBIE (openbanking.org.uk) in info.contact/termsOfService because they are the OBIE standard contract as Barclays implements
  and publishes it — the API, the registry record and the host are Barclays'.
tags:
- name: paymentProductExternalAPI-OneTimePayment
  description: OAS3 External Onetime Payment APIs
- name: paymentProductExternalAPI-AutoPay
  description: OAS3 External AutoPay APIs
- name: paymentProductExternalAPI-ExternalAccount
  description: OAS3 External Account APIs
paths:
  /cards/accounts/{extAccountId}/payments/subscriptions/{subscriptionId}:
    summary: Update AutoPay subscription for AccountId from Partner
    description: Update an AutoPay subscription using this end point
    patch:
      tags:
      - paymentProductExternalAPI-AutoPay
      summary: Update an AutoPay subscription - update attributes or cancel
      description: Update the amount, pay option or cancel an AutoPay subscription
      operationId: updateSubscriptionV2
      parameters:
      - name: extAccountId
        in: path
        description: External Account ID received from the partner
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 36
          minLength: 1
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^c[\d]{1,12}$|^m[\d]{1,20}$
        example: e17e3338-344b-403c-8a87-f7d8006d6e33
      - name: subscriptionId
        in: path
        description: Subscription ID
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 17
          minLength: 1
          pattern: ^[0-9]{1,17}$
        example: 1234
      - name: Correlation-ID
        in: header
        description: "Unique end-to-end trace ID. The initiating system (such as a Channel or \nBatch Job), must generate\
          \ this unique ID, then this must be passed \nthrough the API call stack. This is required to maintain compliance\
          \ with the current Barclays REST Standard."
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 36
          minLength: 36
          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: 7d444840-9dc0-11d1-b245-5ffdce74fad2
      - name: Authorization
        in: header
        description: TIAA-US External token
        required: true
        deprecated: false
        schema:
          type: string
        example: Bearer <token>
      - name: Content-Type
        in: header
        description: Content-Type
        required: true
        deprecated: false
        schema:
          type: string
        example: application/json
      requestBody:
        description: Modify Subscription Request Data
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModifySubscriptionReqData'
            examples:
              ModifySubscriptionReq:
                $ref: '#/components/examples/ModifySubscriptionReq'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/ModifySubscriptionRes'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '404':
          $ref: '#/components/responses/NotFound'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      deprecated: false
  /cards/accounts/{extAccountId}/payments/{referenceNumber}:
    summary: Operations on one time Payment by Reference Number
    description: Operations on one time Payment by Reference Number for a given account id from partner
    patch:
      tags:
      - paymentProductExternalAPI-OneTimePayment
      summary: Modify One-time Payment for partner
      description: 'The API accepts account ID and payment reference number and allows to update a one time payment.

        It allows to update amount, bank account ID, amount option type and payment date for any payment. It also allows

        to cancel a scheduled payment. It  performs certain business validations before the payment is updated or canceled.'
      operationId: updatePaymentV2
      parameters:
      - name: extAccountId
        in: path
        description: External Account ID received from the partner
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 36
          minLength: 1
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^c[\d]{1,12}$|^m[\d]{1,20}$
        example: e17e3338-344b-403c-8a87-f7d8006d6e33
      - name: referenceNumber
        in: path
        description: Payment Reference Number
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 18
          minLength: 1
          pattern: ^[0-9]{1,18}$
        example: 6897656
      - name: Correlation-ID
        in: header
        description: "Unique end-to-end trace ID. The initiating system (such as a Channel or \nBatch Job), must generate\
          \ this unique ID, then this must be passed \nthrough the API call stack. This is required to maintain compliance\
          \ with the current Barclays REST Standard."
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 36
          minLength: 36
          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: 7d444840-9dc0-11d1-b245-5ffdce74fad2
      - name: Authorization
        in: header
        description: TIAA-US External token
        required: true
        deprecated: false
        schema:
          type: string
        example: Bearer <token>
      - name: Content-Type
        in: header
        description: Content-Type
        required: true
        deprecated: false
        schema:
          type: string
        example: application/json
      requestBody:
        description: Modify Payment Request Data To Update Or Cancel A Payment
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModifyPaymentRequestData'
            examples:
              ModifyPaymentReq:
                $ref: '#/components/examples/ModifyPaymentReq'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/ModifyPaymentRes'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      deprecated: false
  /cards/accounts/{extAccountId}/payments/subscriptions:
    summary: Manage AutoPay subscription for the account id provided by Partner
    description: View or Add an AutoPay subscription using this end point
    get:
      tags:
      - paymentProductExternalAPI-AutoPay
      summary: Retrieve the most recent and active AutoPay subscription
      description: Retrieve the most recent and active AutoPay subscription for viewing by the customer
      operationId: getSubscriptionV2
      parameters:
      - name: extAccountId
        in: path
        description: External Account ID received from the partner
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 36
          minLength: 1
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^c[\d]{1,12}$|^m[\d]{1,20}$
        example: e17e3338-344b-403c-8a87-f7d8006d6e33
      - name: Correlation-ID
        in: header
        description: "Unique end-to-end trace ID. The initiating system (such as a Channel or \nBatch Job), must generate\
          \ this unique ID, then this must be passed \nthrough the API call stack. This is required to maintain compliance\
          \ with the current Barclays REST Standard."
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 36
          minLength: 36
          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: 7d444840-9dc0-11d1-b245-5ffdce74fad2
      - name: Authorization
        in: header
        description: TIAA-US External token
        required: true
        deprecated: false
        schema:
          type: string
        example: Bearer <token>
      responses:
        '200':
          $ref: '#/components/responses/SubscriptionRes'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '404':
          $ref: '#/components/responses/NotFound'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      deprecated: false
    post:
      tags:
      - paymentProductExternalAPI-AutoPay
      summary: Create an AutoPay subscription
      description: Set up a new AutoPay subscription using the options present to the customer
      operationId: addSubscriptionV2
      parameters:
      - name: extAccountId
        in: path
        description: External Account ID received from the partner
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 36
          minLength: 1
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^c[\d]{1,12}$|^m[\d]{1,20}$
        example: e17e3338-344b-403c-8a87-f7d8006d6e33
      - name: Correlation-ID
        in: header
        description: "Unique end-to-end trace ID. The initiating system (such as a Channel or \nBatch Job), must generate\
          \ this unique ID, then this must be passed \nthrough the API call stack. This is required to maintain compliance\
          \ with the current Barclays REST Standard."
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 36
          minLength: 36
          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: 7d444840-9dc0-11d1-b245-5ffdce74fad2
      - name: Content-Type
        in: header
        description: Content-Type
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 35
          minLength: 16
          pattern: ^[a-zA-Z0-9\-/= ]{16,35}$
        example: application/json
      - name: Authorization
        in: header
        description: TIAA-US External token
        required: true
        deprecated: false
        schema:
          type: string
        example: Bearer <token>
      requestBody:
        description: Create Subscription Request Data
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddSubscriptionReqData'
            examples:
              AddSubscriptionReq:
                $ref: '#/components/examples/AddSubscriptionReq'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/AddSubscriptionRes'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '404':
          $ref: '#/components/responses/NotFound'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      deprecated: false
  /cards/accounts/{extAccountId}/payments/external-accounts/{bankAccountId}:
    summary: External Bank Account management for a given external bank account ID from Partner
    description: Offers external bank management options for a given external bank account ID
    get:
      tags:
      - paymentProductExternalAPI-ExternalAccount
      summary: Get an external bank account for partner provided external bank account ID
      description: Get an external bank account configured for a user
      operationId: getExternalAccountV2
      parameters:
      - name: extAccountId
        in: path
        description: External Account ID received from the partner
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 36
          minLength: 1
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^c[\d]{1,12}$|^m[\d]{1,20}$
        example: e17e3338-344b-403c-8a87-f7d8006d6e33
      - name: bankAccountId
        in: path
        description: Internal sequence number generated for external account
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 12
          minLength: 1
          pattern: ^[0-9]{1,12}$
        example: 0013467801
      - name: Correlation-ID
        in: header
        description: "Unique end-to-end trace ID. The initiating system (such as a Channel or \nBatch Job), must generate\
          \ this unique ID, then this must be passed \nthrough the API call stack. This is required to maintain compliance\
          \ with the current Barclays REST Standard."
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 36
          minLength: 36
          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: 7d444840-9dc0-11d1-b245-5ffdce74fad2
      - name: Authorization
        in: header
        description: TIAA-US External token
        required: true
        deprecated: false
        schema:
          type: string
        example: Bearer <token>
      responses:
        '200':
          $ref: '#/components/responses/ExternalAccountResLast4'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '404':
          $ref: '#/components/responses/NotFound'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      deprecated: false
  /cards/accounts/{extAccountId}/payments/external-accounts:
    summary: External Bank Account management
    description: Offers external bank account management
    get:
      tags:
      - paymentProductExternalAPI-ExternalAccount
      summary: Get all external bank accounts for partner provided accountId
      description: Get all external bank accounts configured for a user.
      operationId: getAllExternalAccountsV2
      parameters:
      - name: extAccountId
        in: path
        description: External Account ID received from the partner
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 36
          minLength: 1
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^c[\d]{1,12}$|^m[\d]{1,20}$
        example: e17e3338-344b-403c-8a87-f7d8006d6e33
      - name: Correlation-ID
        in: header
        description: "Unique end-to-end trace ID. The initiating system (such as a Channel or \nBatch Job), must generate\
          \ this unique ID, then this must be passed \nthrough the API call stack. This is required to maintain compliance\
          \ with the current Barclays REST Standard."
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 36
          minLength: 36
          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: 7d444840-9dc0-11d1-b245-5ffdce74fad2
      - name: Authorization
        in: header
        description: TIAA-US External token
        required: true
        deprecated: false
        schema:
          type: string
        example: Bearer <token>
      responses:
        '200':
          $ref: '#/components/responses/AllExternalAccountsResLast4'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '404':
          $ref: '#/components/responses/NotFound'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      deprecated: false
  /cards/accounts/{extAccountId}/payments/payment-options:
    summary: Existing endpoint to Get Payment Options for an account
    description: The API accepts account ID and return all payment options available to a customer on the account. These payment
      options include date options and amount options. Date options are due date , custom date range to schedule future payments
      and pay now date. Amount options are minimum due, statement balance, current balance, remaining statement balance and
      remaining minimum due.
    get:
      tags:
      - paymentProductExternalAPI-OneTimePayment
      summary: Payment options for the accountId from partner
      description: Payment options for the accountId from partner
      operationId: getPaymentOptionsV2
      parameters:
      - name: extAccountId
        in: path
        description: External Account ID received from the partner
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 36
          minLength: 1
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^c[\d]{1,12}$|^m[\d]{1,20}$
        example: e17e3338-344b-403c-8a87-f7d8006d6e33
      - name: Correlation-ID
        in: header
        description: "Unique end-to-end trace ID. The initiating system (such as a Channel or \nBatch Job), must generate\
          \ this unique ID, then this must be passed \nthrough the API call stack. This is required to maintain compliance\
          \ with the current Barclays REST Standard."
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 36
          minLength: 36
          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: 7d444840-9dc0-11d1-b245-5ffdce74fad2
      - name: Authorization
        in: header
        description: TIAA-US External token
        required: true
        deprecated: false
        schema:
          type: string
        example: Bearer <token>
      responses:
        '200':
          $ref: '#/components/responses/PaymentOptionsRes'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '404':
          $ref: '#/components/responses/NotFound'
      deprecated: false
  /cards/accounts/{extAccountId}/payments:
    summary: Base Payment Path for v2
    description: Base Payment Path for v2
    get:
      tags:
      - paymentProductExternalAPI-OneTimePayment
      summary: Payment activity for the accountId from partner
      description: Payment activity for the accountId from partner
      operationId: getPaymentSummaryV2
      parameters:
      - name: extAccountId
        in: path
        description: External Account ID received from the partner
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 36
          minLength: 1
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^c[\d]{1,12}$|^m[\d]{1,20}$
        example: e17e3338-344b-403c-8a87-f7d8006d6e33
      - name: Correlation-ID
        in: header
        description: "Unique end-to-end trace ID. The initiating system (such as a Channel or \nBatch Job), must generate\
          \ this unique ID, then this must be passed \nthrough the API call stack. This is required to maintain compliance\
          \ with the current Barclays REST Standard."
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 36
          minLength: 36
          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: 7d444840-9dc0-11d1-b245-5ffdce74fad2
      - name: fromDate
        in: query
        description: Start date of date range which customer needs to view payments from
        required: false
        deprecated: false
        schema:
          type: string
          format: date
        example: '2021-02-28'
      - name: toDate
        in: query
        description: End date of date range which customer needs to view payments from
        required: false
        deprecated: false
        schema:
          type: string
          format: date
        example: '2021-02-28'
      - name: status
        in: query
        description: Payment Status to filter out the payments
        required: false
        deprecated: false
        schema:
          type: string
          enum:
          - CANCELLED
          - IN_PROCESS
          - RETURNED
          - UNSUCCESSFUL
          - SCHEDULED
          - PAID
        example: RETURNED
      - name: paymentInitiationSource
        in: query
        description: Inititiation source of payments that could be internal, external or both
        required: false
        deprecated: false
        schema:
          type: string
          enum:
          - INTERNAL
          - THIRD_PARTY
          - BOTH
        example: BOTH
      - name: size
        in: query
        description: Number of items on each page
        required: false
        deprecated: false
        schema:
          type: integer
          default: 20
          maximum: 2147483647
          minimum: 1
        example: 10
      - name: page
        in: query
        description: Page index
        required: false
        deprecated: false
        schema:
          type: integer
          default: 1
          maximum: 2147483647
          minimum: 1
        example: 10
      - name: Authorization
        in: header
        description: TIAA-US External token
        required: true
        deprecated: false
        schema:
          type: string
        example: Bearer <token>
      responses:
        '200':
          $ref: '#/components/responses/PaymentSummaryRes'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '404':
          $ref: '#/components/responses/NotFound'
      deprecated: false
    post:
      tags:
      - paymentProductExternalAPI-OneTimePayment
      summary: Make a One-time Payment for account id from partner
      description: 'The API accepts account ID and allows to schedule a onetime payment.

        It also performs certain business validations before the payment is scheduled and

        return certain information such as reference number, projected credit date, payment date and status.'
      operationId: schedulePaymentV2
      parameters:
      - name: extAccountId
        in: path
        description: External Account ID received from the partner
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 36
          minLength: 1
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^c[\d]{1,12}$|^m[\d]{1,20}$
        example: e17e3338-344b-403c-8a87-f7d8006d6e33
      - name: Correlation-ID
        in: header
        description: "Unique end-to-end trace ID. The initiating system (such as a Channel or \nBatch Job), must generate\
          \ this unique ID, then this must be passed \nthrough the API call stack. This is required to maintain compliance\
          \ with the current Barclays REST Standard."
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 36
          minLength: 36
          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: 7d444840-9dc0-11d1-b245-5ffdce74fad2
      - name: Content-Type
        in: header
        description: Content-Type
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 35
          minLength: 16
          pattern: ^[a-zA-Z0-9\-/= ]{16,35}$
        example: application/json
      - name: Authorization
        in: header
        description: TIAA-US External token
        required: true
        deprecated: false
        schema:
          type: string
        example: Bearer <token>
      requestBody:
        description: Payment Request Data To schedule A Payment
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchedulePaymentRequestData'
            examples:
              SchedulePaymentReq:
                $ref: '#/components/examples/SchedulePaymentReq'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/SchedulePaymentRes'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      deprecated: false
  /cards/accounts/{extAccountId}/payments/subscriptions/options:
    summary: Manage options for setting up an AutoPay subscription for the account id provided by Partner
    description: 'Manage options for date & payment options (e.g. ''Minimum Due'') using which the customer can

      set up an AutoPay subscription'
    get:
      tags:
      - paymentProductExternalAPI-AutoPay
      summary: Retrieve options for setting up an AutoPay subscription
      description: 'Retrieve options for date (e.g. 5 days before Due Date)

        & payment options (e.g. ''Minimum Due'') using which the customer can set up an AutoPay subscription'
      operationId: getSubscriptionOptionsV2
      parameters:
      - name: extAccountId
        in: path
        description: External Account ID received from the partner
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 36
          minLength: 1
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^c[\d]{1,12}$|^m[\d]{1,20}$
        example: e17e3338-344b-403c-8a87-f7d8006d6e33
      - name: Correlation-ID
        in: header
        description: "Unique end-to-end trace ID. The initiating system (such as a Channel or \nBatch Job), must generate\
          \ this unique ID, then this must be passed \nthrough the API call stack. This is required to maintain compliance\
          \ with the current Barclays REST Standard."
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 36
          minLength: 36
          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: 7d444840-9dc0-11d1-b245-5ffdce74fad2
      - name: Authorization
        in: header
        description: TIAA-US External token
        required: true
        deprecated: false
        schema:
          type: string
        example: Bearer <token>
      responses:
        '200':
          $ref: '#/components/responses/SubscriptionOptionsRes'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '404':
          $ref: '#/components/responses/NotFound'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      deprecated: false
  /cards/accounts/{extAccountId}/auto-payments/{referenceNumber}:
    summary: Operations on Autopay Payment by Reference Number
    description: Operations on auto Payment by Reference Number
    patch:
      tags:
      - paymentProductExternalAPI-OneTimePayment
      summary: Modify Autopay Payment for current cycle
      description: 'The API accepts account ID and payment reference number and allows to update an autopay payment.

        It allows to update amount, bank account ID, amount option type and payment date for any payment. It also allows

        to cancel a scheduled autopayment. It  performs certain business validations before the autoPayment is updated or
        canceled.'
      operationId: modifyAutoPayPayment
      parameters:
      - name: extAccountId
        in: path
        description: External Account ID received from the partner
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 36
          minLength: 1
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^c[\d]{1,12}$|^m[\d]{1,20}$
        example: e17e3338-344b-403c-8a87-f7d8006d6e33
      - name: referenceNumber
        in: path
        description: Payment Reference Number
        required: true
        deprecated: false
        schema:
          type: string
          maxLength: 18
          minLength: 1
          pattern: ^[0-9]{1,18}$
        example: 6897656
      - name: Correlation-ID
        in: header
        description: "Unique end-to-end trace ID. The initiating system (such as a Channel or \nBatch Job), must generate\
          \ this unique ID, then this must be passed \nthrough the API call stack. This is required to maintain compliance\
          \ with the current Barclays REST Standard."
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 36
          minLength: 36
          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: 7d444840-9dc0-11d1-b245-5ffdce74fad2
      - name: Authorization
        in: header
        description: TIAA-US External token
        required: true
        deprecated: false
        schema:
          type: string
        example: Bearer <token>
      - name: Content-Type
        in: header
        description: Content-Type
        required: true
        deprecated: false
        schema:
          type: string
        example: application/json
      requestBody:
        description: Modify Payment Request Data to Update Current Cycle AutoPayment
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ModifyPaymentRequestData'
            examples:
              ModifyPaymentReq:
                $ref: '#/components/examples/ModifyPaymentReq'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/ModifyAutoPaymentRes'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      deprecated: false
components:
  schemas:
    BankName:
      type: string
      deprecated: false
      description: Bank name of the bank account added as payment source
      example: bankName
      maxLength: 255
      minLength: 1
      pattern: ^([A-Za-z0-9 &,.'#+$=()_/-]{1,255})$
    AmountOptions_minimumDue:
      type: object
      additionalProperties: false
      deprecated: false
      description: Minimum due amount that customer needs to pay
      properties:
        amount:
          $ref: '#/components/schemas/amt'
        currencyCode:
          $ref: '#/components/schemas/currency'
      required:
      - amount
      - currencyCode
      nullable: false
    SchedulePaymentRequestData:
      type: object
      additionalProperties: false
      deprecated: false
      description: Schedule Payment Request Data
      properties:
        data:
          $ref: '#/components/schemas/PaymentRequest'
      required:
      - data
      nullable: false
    ModifySubscriptionDetails:
      type: object
      additionalProperties: false
      deprecated: false
      description: Object holding the subscription information after enrollment
      properties:
        subscriptionId:
          $re

# --- truncated at 32 KB (92 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/barclays/refs/heads/main/openapi/barclays-payments-openapi.yml