Barclays Payment Product External API External Account API

OAS3 External Account APIs

Operations 2

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 #

Documentation

📖
Documentation
https://developer.barclays.com/apis/barclays-bank-ireland-confirmation-of-funds/8cd8be1f-4bdc-45fe-8fef-c7a569cfe603.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/barclays-bank-ireland-confirmation-of-funds/8cd8be1f-4bdc-45fe-8fef-c7a569cfe603.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/account-and-transactions/20e74071-13fb-44eb-b98f-2c89d6251ad8.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/account-and-transactions/20e74071-13fb-44eb-b98f-2c89d6251ad8.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/barclays-bank-ireland-account-information/696e2ef6-255f-481c-9546-4b5bda44b2e4.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/barclays-bank-ireland-account-information/696e2ef6-255f-481c-9546-4b5bda44b2e4.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/barclays-bank-ireland-payment-initiation/d41f070a-3b3b-4f2d-b28a-6afdc690a42d.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/barclays-bank-ireland-payment-initiation/d41f070a-3b3b-4f2d-b28a-6afdc690a42d.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/confirmation-of-funds/1c914db2-e592-4e5c-89c8-7b9e76d53303.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/confirmation-of-funds/1c914db2-e592-4e5c-89c8-7b9e76d53303.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/dynamic-client-registration/ace18310-2523-49f0-a66d-4c6e37aae59f.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/dynamic-client-registration/ace18310-2523-49f0-a66d-4c6e37aae59f.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/event-notification/d71a398f-620b-4a65-8b85-382ca1eb7ede.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/event-notification/d71a398f-620b-4a65-8b85-382ca1eb7ede.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/payment-initiation/1f6ad5c5-e397-41c0-8d3b-c35446491402.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/payment-initiation/1f6ad5c5-e397-41c0-8d3b-c35446491402.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/atm-locator/c9e28aaa-51a1-4c9b-b8d4-f2b7ac090aa7.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/atm-locator/c9e28aaa-51a1-4c9b-b8d4-f2b7ac090aa7.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/branch-locator/d9b83b29-42e2-4cb3-ad8f-100d2c9a6314.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/branch-locator/d9b83b29-42e2-4cb3-ad8f-100d2c9a6314.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/fca-service-metrics/59f96026-03d6-4c4e-9567-c3db4dd83e3a.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/fca-service-metrics/59f96026-03d6-4c4e-9567-c3db4dd83e3a.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/product-details/436bee89-6e7e-4f54-9cd9-e9dc6cb90d8f.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/product-details/436bee89-6e7e-4f54-9cd9-e9dc6cb90d8f.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/accounts/097976bb-311e-4bb1-89b1-c81e2f1de572.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/accounts/097976bb-311e-4bb1-89b1-c81e2f1de572.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/authentication/4f4800dd-6a0f-42fe-b6da-5cb2ba8891f5.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/authentication/4f4800dd-6a0f-42fe-b6da-5cb2ba8891f5.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/card-application/372df8da-72cb-4fe5-b4fb-7e0bcaac7d20.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/card-application/372df8da-72cb-4fe5-b4fb-7e0bcaac7d20.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/cryptography-key-exchange/15f2194b-7bda-4e81-b90e-f671efbc28c1.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/cryptography-key-exchange/15f2194b-7bda-4e81-b90e-f671efbc28c1.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/digital-wallet/b55293c3-316f-4932-8ac6-b4e94641382a.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/digital-wallet/b55293c3-316f-4932-8ac6-b4e94641382a.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/payments/5286713c-e65f-4c16-aceb-493115142bea.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/payments/5286713c-e65f-4c16-aceb-493115142bea.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/rewards-loyalty-sync/52e2b51b-9937-4f12-901b-3275b0aeb2a8.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/rewards-loyalty-sync/52e2b51b-9937-4f12-901b-3275b0aeb2a8.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/rewards-pay-with-points/1941d4a3-35e3-462c-a209-34101c518b7f.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/rewards-pay-with-points/1941d4a3-35e3-462c-a209-34101c518b7f.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/transactions/b3b4410d-56a7-403c-863c-3af1e939f1c2.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/transactions/b3b4410d-56a7-403c-863c-3af1e939f1c2.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/variable-recurring-payment/0756dc5a-00ca-4b1d-b91d-f6c558d05fc3.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/variable-recurring-payment/0756dc5a-00ca-4b1d-b91d-f6c558d05fc3.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/card-control/fb39ed1a-d10a-47f7-92bb-7ecbb6bbe39e.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/card-control/fb39ed1a-d10a-47f7-92bb-7ecbb6bbe39e.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/account-management/a56c70ec-e909-4527-96f0-83ff0cedbddd.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/account-management/a56c70ec-e909-4527-96f0-83ff0cedbddd.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/statements-retriever/bbd4bc7d-30cd-46a5-bc9a-169e7472ab2a.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/statements-retriever/bbd4bc7d-30cd-46a5-bc9a-169e7472ab2a.bdn/documentation
📖
Documentation
https://developer.barclays.com/apis/rewards-earn/556aab79-528f-41bf-b75e-29aa4874061a.bdn/documentation
📖
APIReference
https://developer.barclays.com/apis/rewards-earn/556aab79-528f-41bf-b75e-29aa4874061a.bdn/documentation

Specifications

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/barclays-paymentproductexternalapi-externalaccount-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-paymentproductexternalapi-externalaccount-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Payments Payment Product External API External Account API
  description: Enables customers to easily create, update, or cancel payments
  version: '2.0'
tags:
- name: paymentProductExternalAPI-ExternalAccount
  description: OAS3 External Account APIs
paths:
  /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
components:
  schemas:
    ExternalAccountLast4:
      type: object
      additionalProperties: false
      deprecated: false
      description: Get all external account response
      properties:
        bankDetails:
          $ref: '#/components/schemas/ExternalBankDetails'
        bankAccountNickname:
          $ref: '#/components/schemas/BankAccountNickname'
        bankAccountId:
          $ref: '#/components/schemas/BankAccountId'
        bankAccountNumberLast4:
          $ref: '#/components/schemas/BankAccountNumberLast4'
        bankAccountType:
          $ref: '#/components/schemas/BankAccountType'
      nullable: false
    ExternalBankAccountDetailsLast4:
      type: object
      additionalProperties: false
      deprecated: false
      description: Bank account details
      properties:
        bankDetails:
          $ref: '#/components/schemas/ExternalBankDetails'
        bankAccountNickname:
          $ref: '#/components/schemas/BankAccountNickname'
        bankAccountId:
          $ref: '#/components/schemas/BankAccountId'
        bankAccountNumberLast4:
          $ref: '#/components/schemas/BankAccountNumberLast4'
        bankAccountType:
          $ref: '#/components/schemas/BankAccountType'
      nullable: false
    BankAccountId:
      type: string
      deprecated: false
      description: ID of bank account added as payment source
      example: '123456789'
      maxLength: 12
      minLength: 1
      pattern: ^([0-9]{1,12})$
      nullable: false
    BankRoutingNumber:
      type: string
      deprecated: false
      description: Bank routing number of the bank account added as payment source
      example: '123455645'
      maxLength: 9
      minLength: 9
      pattern: ^([0-9]{9})$
    ErrorResponseType:
      type: object
      additionalProperties: false
      deprecated: false
      description: 'An API error response.

        '
      properties:
        meta:
          type: object
          additionalProperties: true
          description: Contains Non-standard meta information
        errors:
          type: array
          description: 'Contains one or more error messages and is mutually exclusive with the data item.

            This will not be returned in success scenarios.

            '
          items:
            $ref: '#/components/schemas/ErrorType'
          maxItems: 50
          minItems: 0
      nullable: false
    BankAccountType:
      type: string
      deprecated: false
      description: Account type of the bank account used as payment source
      enum:
      - CHECKING
      - SAVINGS
      example: CHECKING
      nullable: false
    BankAccountNickname:
      type: string
      deprecated: false
      description: Nickname for bank account added as payment source
      example: ASHES
      maxLength: 24
      minLength: 1
      pattern: ^([a-zA-Z0-9 .,&()#'-]{1,24})$
      nullable: false
    ErrorType:
      type: object
      additionalProperties: true
      description: Message details - additional operation execution information.
      properties:
        id:
          type: string
          description: Generated message identifier for particular request, helping to locate server logs.
          example: 9709-4675-2456-7801
          maxLength: 50
          minLength: 1
          pattern: ^[a-zA-Z0-9\-]{1,50}$
        code:
          type: string
          description: Machine readable, unique code of the message related to particular case within operation execution.
          example: ACCOUNT_NUMBER_NOT_FOUND
          maxLength: 100
          minLength: 1
          pattern: ^[a-zA-Z0-9_]{1,100}$
        title:
          type: string
          description: Short description of the error. Not for displaying purposes.
          example: The authorization credentials required for this request are invalid.
          maxLength: 250
          minLength: 1
          pattern: ^[a-zA-Z0-9\s"=,.']{1,250}$
        detail:
          type: string
          description: Provides additional low-level details about the error to assist with troubleshooting. Not for displaying purposes.
          maxLength: 250
          minLength: 1
          pattern: ^[a-zA-Z0-9\s"=,.']{1,250}$
        meta:
          type: object
          additionalProperties: true
          description: Object containing non-standard meta-information about the error.
      required:
      - code
      - id
      - title
    GetAllExternalAccountsResponseDataLast4:
      type: object
      additionalProperties: false
      deprecated: false
      description: All external bank accounts response data
      properties:
        data:
          $ref: '#/components/schemas/ExternalAccountListLast4'
      required:
      - data
      nullable: false
    GetExternalAccountResponseDataLast4:
      type: object
      additionalProperties: false
      deprecated: false
      description: external bank account response data
      properties:
        data:
          $ref: '#/components/schemas/ExternalAccountLast4'
      required:
      - data
      nullable: false
    ExternalAccountListLast4:
      type: array
      additionalProperties: false
      deprecated: false
      description: Get all external account list
      items:
        $ref: '#/components/schemas/ExternalBankAccountDetailsLast4'
      maxItems: 2000
      minItems: 0
      nullable: false
    BankAccountNumberLast4:
      type: string
      deprecated: false
      description: Last 4 digits of Bank account number to be added as a payment source
      example: '1234'
      maxLength: 4
      minLength: 4
      pattern: ^([a-zA-Z0-9]{4,4})$
    ExternalBankDetails:
      type: object
      additionalProperties: false
      deprecated: false
      properties:
        bankName:
          $ref: '#/components/schemas/BankName'
        isValidBank:
          type: boolean
          deprecated: false
          description: Signifies the validity of the bank routing number
          example: false
          nullable: false
        bankNewRoutingNumber:
          $ref: '#/components/schemas/BankRoutingNumber'
        bankRoutingNumber:
          $ref: '#/components/schemas/BankRoutingNumber'
    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})$
  examples:
    ExternalAccountResLast4:
      value:
        data:
          bankDetails:
            bankRoutingNumber: '037736634'
            isValidBank: false
            bankNewRoutingNumber: '908982053'
            bankName: TD RETAIL CARD SERVICES
          bankAccountNickname: 'BX)#C8) '
          bankAccountId: '414'
          bankAccountNumberLast4: '4513'
          bankAccountType: SAVINGS
    example-error-500:
      value:
        errors:
        - id: 9709-4675-2456-7801
          code: INTERNAL_SERVER_ERROR
          title: The request failed due to an internal error.
    example-error-404:
      value:
        errors:
        - id: 9709-4675-2456-7801
          code: RESOURCE_NOT_FOUND
          title: The requested operation failed because a resource associated with the request could not be found.
    example-error-401:
      value:
        errors:
        - id: 9709-4675-2456-7801
          code: AUTHENTICATION_ERROR
          title: The user could not be authenticated for this request.
    AllExternalAccountsResLast4:
      value:
        data:
        - bankDetails:
            bankRoutingNumber: '397827963'
            isValidBank: false
            bankNewRoutingNumber: '863153389'
            bankName: TD RETAIL CARD SERVICES
          bankAccountNickname: 79n#9vn5#)
          bankAccountId: 08
          bankAccountNumberLast4: '4110'
          bankAccountType: SAVINGS
    example-error-503:
      value:
        errors:
        - id: 9709-4675-2456-7801
          code: SERVICE_UNAVAILABLE
          title: The server is currently unavailable
  responses:
    Unauthorized:
      description: 'The user could not be authenticated for this request.

        '
      headers:
        Cache-Control:
          $ref: '#/components/headers/Cache-Control'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseType'
          examples:
            Unauthorized:
              $ref: '#/components/examples/example-error-401'
    ExternalAccountResLast4:
      description: Get an external bank account
      headers:
        Cache-Control:
          $ref: '#/components/headers/Cache-Control'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GetExternalAccountResponseDataLast4'
          examples:
            ExternalAccountRes:
              $ref: '#/components/examples/ExternalAccountResLast4'
    ServiceUnavailable:
      description: "temporary maintenance of service, try again later. The implication \nis that this is a temporary condition which will be alleviated \nafter some delay. If known, the length of the delay will be \nindicated in a Retry-After header. If no Retry-After is given, \nthe client SHOULD handle the response as it would for a 500 response. \nNote: The existence of the 503 status code does not imply that a \nserver will use it when becoming overloaded. Servers may simply \nrefuse the connection.\n"
      headers:
        Cache-Control:
          $ref: '#/components/headers/Cache-Control'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseType'
          examples:
            ServiceUnavailable:
              $ref: '#/components/examples/example-error-503'
    NotFound:
      description: "Server has not found a resource with that URI. This may be \ntemporary and permanent condition. This status code is \ncommonly used when the server does not wish to reveal \nexactly why the request has been refused, or when no other \nresponse is applicable.\n"
      headers:
        Cache-Control:
          $ref: '#/components/headers/Cache-Control'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseType'
          examples:
            NotFound:
              $ref: '#/components/examples/example-error-404'
    InternalServerError:
      description: "Server encountered an error processing request. This should not \nhappen normally, but it is a generic error message, given when \nno more specific message is suitable.\n"
      headers:
        Cache-Control:
          $ref: '#/components/headers/Cache-Control'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseType'
          examples:
            InternalServerError:
              $ref: '#/components/examples/example-error-500'
    AllExternalAccountsResLast4:
      description: Gets all external bank accounts
      headers:
        Cache-Control:
          $ref: '#/components/headers/Cache-Control'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GetAllExternalAccountsResponseDataLast4'
          examples:
            AllExternalAccountsRes:
              $ref: '#/components/examples/AllExternalAccountsResLast4'
  headers:
    Cache-Control:
      description: GIS mandatory response header. This is added by the Cognac sidecar.
      schema:
        type: string
        default: no-cache, no-store, must-revalidate
        deprecated: false
        example: no-cache, no-store, must-revalidate
        maxLength: 35
        minLength: 35
        pattern: ^no-cache, no-store, must-revalidate$
        nullable: false
  securitySchemes:
    ExternalTiaaUsCCAuth:
      type: oauth2
      description: OAuth2.0 Client Credentials Grant authentication using TIAA-US for external APIs
      flows:
        clientCredentials:
          tokenUrl: https://token.tiaa-dev.us.barclays.intranet:8443/as/token.oauth2
          scopes:
            read: read only
            write: write only