Barclays Card Account Details Inquiry External API

The card account details inquiry external API is Barclays US’s credit cards acquisitions solution which will orchestrate the Internal API calls providing account information, such as account peek/summary for an account

Operations 3

POST /cards/accounts/{accountId}/card-details Retrieve card-details by account Id and last four digits of the card. #
GET /cards/customers/{customerId}/accounts/summary Get multi cards account summary #
POST /cards/customers/search/accounts Account Lookup by SSN. #

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-card-account-details-inquiry-external-api-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-card-account-details-inquiry-external-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Accounts Card Account Details Inquiry External API
  description: Enables the user to quickly and securely view snapshot of key account details
  version: '2.0'
tags:
- name: card-account-details-inquiry-external-api
  description: The card account details inquiry external API is Barclays US’s credit cards acquisitions solution which will orchestrate the Internal API calls providing account information, such as account peek/summary for an account
paths:
  /cards/accounts/{accountId}/card-details:
    summary: retrieve card-details api
    description: To get the customer full card details by account Id and last four digits of the card
    post:
      tags:
      - card-account-details-inquiry-external-api
      summary: Retrieve card-details by account Id and last four digits of the card.
      description: To get the customer full card details by account Id and last four digits of the card
      operationId: retrieveCardDetailsV2
      parameters:
      - 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: accountId
        in: path
        description: External Account Id
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 36
          minLength: 36
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
        example: c8de699e-ff6d-11eb-9a03-0242ac130003
      - 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: Request Payload for Retrieve Card-Details
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RetrieveCardDetailsRequestData'
            examples:
              RetrieveCardDetailsRequestData:
                $ref: '#/components/examples/RetrieveCardDetailsRequestData'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/RetrieveCardDetailsResV2'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      deprecated: false
  /cards/customers/{customerId}/accounts/summary:
    summary: multi cards account summary
    description: get the multi cards account summary information for a customer id
    get:
      tags:
      - card-account-details-inquiry-external-api
      summary: Get multi cards account summary
      description: this endpoint is used to get the multi cards account summary for a customer id
      operationId: getMultiCardsAccountSummaryV2
      parameters:
      - 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: customerId
        in: path
        description: External Customer Id
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
          maxLength: 36
          minLength: 36
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
        example: c8de699e-ff6d-11eb-9a03-0242ac130003
      - name: Authorization
        in: header
        description: TIAA-US External token
        required: true
        deprecated: false
        schema:
          type: string
        example: Bearer <token>
      responses:
        '200':
          $ref: '#/components/responses/MultiCardAccountSummaryResV2'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      deprecated: false
  /cards/customers/search/accounts:
    summary: account lookup api
    description: To get the multi card account lookup of a customer by full SSN
    post:
      tags:
      - card-account-details-inquiry-external-api
      summary: Account Lookup by SSN.
      description: To get the multi card account lookup of a customer by full SSN
      operationId: accountLookupBySSNV2
      parameters:
      - 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: Request Payload for Account Lookup
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountLookupRequestDataV2'
            examples:
              AccountLookupRequestDataV2:
                $ref: '#/components/examples/AccountLookupRequestDataV2'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/AccountLookupRes'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      deprecated: false
components:
  schemas:
    RetrieveCardDetailsResponseDataV2:
      type: object
      additionalProperties: false
      deprecated: false
      description: Retrieve Card-Details Response Data
      properties:
        data:
          $ref: '#/components/schemas/RetrieveCardDetailsResponseV2'
      required:
      - data
      nullable: false
    RetrieveCardDetailsRequest:
      type: object
      additionalProperties: false
      deprecated: false
      description: Retrieve Card Details Request
      properties:
        accountLookupToken:
          $ref: '#/components/schemas/AccountLookupToken'
        isIdentityVerified:
          $ref: '#/components/schemas/IsIdentityVerified'
        posMetaData:
          $ref: '#/components/schemas/POSMetaData'
      required:
      - accountLookupToken
      - posMetaData
      nullable: false
    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
    MultiCardAccountSummaryResAttributesV2:
      type: object
      additionalProperties: false
      deprecated: false
      description: Multi Card Account Summary Response.
      properties:
        summaryInfo:
          type: array
          description: List of account summary for customer id.
          items:
            $ref: '#/components/schemas/AccountSummaryResAttributesV2'
          maxItems: 50
          minItems: 0
      required:
      - summaryInfo
      nullable: false
    POSMetaData:
      type: object
      additionalProperties: false
      description: Fraud Analysis Data
      properties:
        channel:
          type: string
          description: Channel originating the request
          example: Mob_123456789
          maxLength: 30
          minLength: 3
          pattern: ^[a-zA-Z0-9\-_]{3,30}$
        storeId:
          type: string
          description: Store Id where the request made
          example: Gap_345678987
          maxLength: 30
          minLength: 3
          pattern: ^[a-zA-Z0-9\-_]{3,30}$
        terminalId:
          type: string
          description: POS terminal id where the request was made
          example: Ter-567898765
          maxLength: 30
          minLength: 3
          pattern: ^[a-zA-Z0-9\-_]{3,30}$
        zipCode:
          type: string
          description: ZipCode where the request originated
          example: '19555'
          maxLength: 20
          minLength: 5
          pattern: ^[a-zA-Z0-9\-_\s]{5,20}$
      required:
      - channel
      - storeId
      - terminalId
      - zipCode
    AccountInfo:
      type: object
      additionalProperties: false
      description: Holds Accounts data
      properties:
        accountId:
          type: string
          description: account id.
          example: baef47ce-14a6-11ec-82a8-0242ac130003
          maxLength: 36
          minLength: 36
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
        cardLast4:
          $ref: '#/components/schemas/CardLast4'
        cardType:
          $ref: '#/components/schemas/CardType'
        brandCode:
          type: string
          description: Brand code
          example: Old Navy Card
          maxLength: 250
          minLength: 1
          pattern: ^[a-zA-Z0-9\s"=,.']{1,250}$
      required:
      - accountId
      - brandCode
      - cardLast4
      - cardType
    AccountLookupResponseData:
      type: object
      additionalProperties: false
      deprecated: false
      description: Account Lookup Response Data.
      properties:
        data:
          $ref: '#/components/schemas/AccountLookupResponse'
      required:
      - data
      nullable: false
    AccountSummaryResAttributesV2:
      type: object
      additionalProperties: false
      deprecated: false
      description: Account Summary Response.
      properties:
        cardLast4:
          $ref: '#/components/schemas/CardLast4'
        accountId:
          type: string
          description: account id.
          example: baef47ce-14a6-11ec-82a8-0242ac170007
          maxLength: 36
          minLength: 36
          pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
        currentBalance:
          $ref: '#/components/schemas/Amount'
        availableCredit:
          $ref: '#/components/schemas/Amount'
        statementBalance:
          $ref: '#/components/schemas/Amount'
        paymentDueDate:
          type: string
          format: date
          description: Payment due date of the account.
          example: '2021-09-20'
          maxLength: 10
          minLength: 0
        lastPaymentReceivedDate:
          type: string
          format: date
          description: Last payment received date of the account.
          example: '2021-09-19'
          maxLength: 10
          minLength: 0
        cardArtCode:
          type: string
          description: Card Art Code.
          example: ON04ZA04
          maxLength: 250
          minLength: 1
          pattern: ^[a-zA-Z0-9\s"=,.']{1,250}$
        cardDescription:
          type: string
          description: Card Description.
          example: OLD NAVY
          maxLength: 250
          minLength: 1
          pattern: ^[a-zA-Z0-9\s"=,.']{1,250}$
        creditLimit:
          $ref: '#/components/schemas/Amount'
      required:
      - accountId
      - availableCredit
      - cardArtCode
      - cardDescription
      - cardLast4
      - currentBalance
      - lastPaymentReceivedDate
      - paymentDueDate
      - statementBalance
      nullable: false
    Amount:
      type: object
      additionalProperties: false
      description: Holds currency data
      properties:
        value:
          type: number
          format: BigDecimal
          example: 5000.0
          maximum: 9223372036854775807
          minimum: 0
          multipleOf: 0.01
        currencyCode:
          $ref: '#/components/schemas/CurrencyCode'
    AccountLookupToken:
      type: string
      description: Account Lookup request reference Id
      example: c8de699e-ff6d-11eb-9a03-0242ac130003
      maxLength: 36
      minLength: 36
      pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
    MultiCardAccountSummaryResponseDataV2:
      type: object
      additionalProperties: false
      deprecated: false
      description: Multi Card Account Summary Response Data.
      properties:
        data:
          $ref: '#/components/schemas/MultiCardAccountSummaryResAttributesV2'
      required:
      - data
      nullable: false
    RetrieveCardDetailsRequestData:
      type: object
      additionalProperties: false
      deprecated: false
      description: Retrieve Card-Details Request Data
      properties:
        data:
          $ref: '#/components/schemas/RetrieveCardDetailsRequest'
      required:
      - data
      nullable: false
    CurrencyCode:
      type: string
      description: List of allowed currency codes.
      enum:
      - USD
    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
    CardType:
      type: string
      description: Card's allowed type
      enum:
      - CBCC
      - PLCC
    AccountLookupRequestV2:
      type: object
      additionalProperties: false
      deprecated: false
      description: Account Lookup Request
      properties:
        ssn:
          type: string
          description: Social Security Number
          example: '115200045'
          maxLength: 9
          minLength: 9
          pattern: ^[0-9]{9,9}$
        posMetaData:
          $ref: '#/components/schemas/POSMetaData'
      required:
      - posMetaData
      - ssn
      nullable: false
    AccountLookupRequestDataV2:
      type: object
      additionalProperties: false
      deprecated: false
      description: Account Lookup Request Data.
      properties:
        data:
          $ref: '#/components/schemas/AccountLookupRequestV2'
      required:
      - data
      nullable: false
    CardLast4:
      type: string
      description: Card's last four digits.
      example: '9761'
      maxLength: 4
      minLength: 4
      pattern: ^(\d{4})$
    AccountLookupResponse:
      type: object
      additionalProperties: false
      deprecated: false
      description: Account Lookup Response
      properties:
        accountLookupToken:
          $ref: '#/components/schemas/AccountLookupToken'
        firstName:
          type: string
          description: Customer's first name
          example: DAGLEY
          maxLength: 32
          minLength: 1
          pattern: ^[a-zA-Z\s]{1,32}$
        lastName:
          type: string
          description: Customer's last name
          example: BEATE
          maxLength: 32
          minLength: 1
          pattern: ^[a-zA-Z\s]{1,32}$
        accounts:
          type: array
          description: Array of Customer's account
          items:
            $ref: '#/components/schemas/AccountInfo'
          maxItems: 10
          minItems: 0
      required:
      - accountLookupToken
      - accounts
      - firstName
      - lastName
      nullable: false
    IsIdentityVerified:
      type: string
      description: Possible values of identity verification
      enum:
      - Y
      - N
    RetrieveCardDetailsResponseV2:
      type: object
      additionalProperties: false
      deprecated: false
      description: Retrieve Card Details Response
      properties:
        firstName:
          type: string
          description: First name to fetch customer's account information.
          example: First
          maxLength: 32
          minLength: 1
          pattern: ^[a-zA-Z\s]{1,32}$
        lastName:
          type: string
          description: Last name to fetch customer's account information.
          example: Last
          maxLength: 32
          minLength: 1
          pattern: ^[a-zA-Z\s]{1,32}$
        cardDetails:
          $ref: '#/components/schemas/CardDetails'
      required:
      - cardDetails
      - firstName
      - lastName
      nullable: false
    CardDetails:
      type: object
      additionalProperties: false
      deprecated: false
      description: Card Details of the account
      properties:
        cardNumber:
          type: string
          description: Card number
          example: '6119030242130003'
          maxLength: 16
          minLength: 16
          pattern: ^[0-9]{16}$
        cardType:
          type: string
          description: Card Type
          example: PLCC
          maxLength: 16
          minLength: 1
          pattern: ^[a-zA-Z\s]{1,16}$
        expiryDate:
          type: string
          description: Card expiry date
          example: 0920
          maxLength: 4
          minLength: 4
          pattern: ^[0-9]{4,4}$
      required:
      - cardNumber
      - cardType
      - expiryDate
      nullable: false
  examples:
    example-error-400-bad-request:
      value:
        errors:
        - id: 9709-4675-2456-7801
          code: BAD_REQUEST
          title: The request is invalid or not properly formed.
    example-error-403:
      value:
        errors:
        - id: 9709-4675-2456-7801
          code: ACCESS_FORBIDDEN
          title: The user is not permitted to access the requested operation and it cannot be completed.
    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.
    RetrieveCardDetailsRequestData:
      value:
        data:
          accountLookupToken: c8de699e-ff6d-11eb-9a03-0242ac130003
          isIdentityVerified: Y
          posMetaData:
            channel: Mob_123456789
            storeId: Gap_345678987
            terminalId: Ter-567898765
            zipCode: '19555'
    example-error-401:
      value:
        errors:
        - id: 9709-4675-2456-7801
          code: AUTHENTICATION_ERROR
          title: The user could not be authenticated for this request.
    AccountLookupRequestDataV2:
      value:
        data:
          ssn: '545123808'
          posMetaData:
            channel: Mob_123456789
            storeId: Gap_345678987
            terminalId: Ter-567898765
            zipCode: '19555'
    example-error-503:
      value:
        errors:
        - id: 9709-4675-2456-7801
          code: SERVICE_UNAVAILABLE
          title: The server is currently unavailable
    AccountLookupResponseData:
      value:
        data:
          accountLookupToken: c8de699e-ff6d-11eb-9a03-0242ac130003
          firstName: DAGLEY
          lastName: BEATE
          accounts:
          - accountId: aebf47ce-14a6-11ec-82a8-0242ac130003
            cardLast4: '4872'
            cardType: CBCC
            brandCode: AT
          - accountId: baef47ce-14a6-11ec-82a8-0242ac130003
            cardLast4: '3831'
            cardType: PLCC
            brandCode: GAP
    RetrieveCardDetailsResponseDataV2:
      value:
        data:
          firstName: Jacky
          lastName: Wills
          cardDetails:
            cardType: CBCC
            cardNumber: '6119030242130003'
            expiryDate: 0824
    MultiCardAccountSummaryResponseDataV2:
      value:
        data:
          summaryInfo:
          - cardLast4: '8656'
            accountId: f5dd92ea-50ee-440e-98c4-360ed5eef24e
            currentBalance:
              value: 0.0
              currencyCode: USD
            availableCredit:
              value: 25000.0
              currencyCode: USD
            statementBalance:
              value: 0.0
              currencyCode: USD
            paymentDueDate: '2025-01-21'
            lastPaymentReceivedDate: '2025-01-21'
            cardArtCode: DGM1DGM1.png
            cardDescription: GM Rewards Mastercard
            creditLimit:
              value: 25000.0
              currencyCode: USD
          - cardLast4: '8656'
            accountId: a821f72b-4b32-47ed-a095-6e26d34d465c
            currentBalance:
              value: 0.0
              currencyCode: USD
            availableCredit:
              value: 25000.0
              currencyCode: USD
            statementBalance:
              value: 0.0
              currencyCode: USD
            paymentDueDate: '2025-01-21'
            lastPaymentReceivedDate: '2025-01-21'
            cardArtCode: DGM1DGM1.png
            cardDescription: GM Rewards Mastercard
            creditLimit:
              value: 25000.0
              currencyCode: USD
  responses:
    RetrieveCardDetailsResV2:
      description: Retrieve Card-details Response
      headers:
        Cache-Control:
          $ref: '#/components/headers/Cache-Control'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RetrieveCardDetailsResponseDataV2'
          examples:
            RetrieveCardDetailsResponseDataV2:
              $ref: '#/components/examples/RetrieveCardDetailsResponseDataV2'
    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:
            example-error-401:
              $ref: '#/components/examples/example-error-401'
    MultiCardAccountSummaryResV2:
      description: Multi Card Account Summary Response
      headers:
        Cache-Control:
          $ref: '#/components/headers/Cache-Control'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MultiCardAccountSummaryResponseDataV2'
          examples:
            MultiCardAccountSummaryResponseDataV2:
              $ref: '#/components/examples/MultiCardAccountSummaryResponseDataV2'
    AccountLookupRes:
      description: Account Lookup Response
      headers:
        Cache-Control:
          $ref: '#/components/headers/Cache-Control'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AccountLookupResponseData'
          examples:
            AccountLookupResponseData:
              $ref: '#/components/examples/AccountLookupResponseData'
    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:
            example-error-503:
              $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:
            example-error-404:
              $ref: '#/components/examples/example-error-404'
    Forbidden:
      description: 'The user is not permitted to access the requested operation and it cannot be completed.

        '
      headers:
        Cache-Control:
          $ref: '#/components/headers/Cache-Control'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseType'
          examples:
            example-error-403:
              $ref: '#/components/examples/example-error-403'
    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:
            example-error-500:
              $ref: '#/components/examples/example-error-500'
    BadRequest:
      description: "The request could not be understood by the server due to malformed \nsyntax. The client SHOULD NOT repeat the request without \nmodifications.\n"
      headers:
        Cache-Control:
          $ref: '#/components/headers/Cache-Control'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponseType'
          examples:
            example-error-400-bad-request:
              $ref: '#/components/examples/example-error-400-bad-request'
  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