openapi: 3.1.0
info:
  title: Debit Cards
  description: |-
    The Debit Card Management API provides operations for managing debit cards issued by a financial institution. This API allows card holders to perform various operations on their debit cards, linked to checking or savings accounts, such as monitoring usage.
    ## Gathering Cards
    When retrieving a list of debit cards, a card provider allows either gathering the list within the context of an account or gathering the list within the context of the current customer or member. Card providers only allow one of these contexts; the list cannot be gathered by both the customer and the account.

    The card provider context is retrieved using the [`getDebitCardProvider`](#op-getDebitCardProvider) operation. This operation's response contains `provider.context` which has the value of `account` or `customer`.

    If the `provider.context` is `account`, find a valid debit card account using the [listAccounts](https://developer.apiture.com/docs/apis/bankingAccounts/index.html#op-listAccounts) operation with `?productType=savings|checking|moneyMarket`. Upon success of the `listAccounts` operation, use an `id` from the response as the `accountId` path parameter on [listDebitCards](#op-listDebitCards) to retrieve all debit cards for the debit card account represented by that `id`.

    If the `provider.context` is `customer`, instead use [`listCustomerDebitCards`](#op-listCustomerDebitCards) to retrieve a list of the customer's debit cards.

    Use `provider.merchantCategories` to determine which merchant categories are allowed within alert subscriptions and transaction rules.
    ## Identity Challenges
    The card provider also indicates whether operations in the API are enabled for the current financial institution, as well as if they require an _identity challenge_ to be completed before invoking the operation as a security measure. For example, the [`changeDebitCardPin`](#op-changeDebitCardPin) operation may require a completed identity challenge.

    If `provider.operations.changeDebitCardPin.requiresIdentityChallenge` is `true`, the client should call [`createDebitCardChallenge`](#op-createDebitCardChallenge) or [`createCustomerDebitCardChallenge`](#op-createCustomerDebitCardChallenge), depending on the value of `provider.context`, passing in a request body `{ "type": "changePin" }` to create a new identity challenge for the `changeDebitCardPin` operation, then start the new challenge. Once the challenge process completes, pass the generated `challengeToken` in the completed challenge as the `Challenge` request header on the [`changeDebitCardPin`](#op-changeDebitCardPin) operation. See the "Challenges API" for additional information.
    ## Primary Account Numbers (PANs)
    A primary account number (PAN) is a numeric identifier assigned to debit cards for financial transactions. It typically consists of 16 digits and can be found on the front or back of a debit card. The PAN helps financial institutions, merchants, and other entities securely identify account holders during transactions.
    ## Activating Cards
    Debit cards are activated through the [activateDebitCard](#op-activateDebitCard) operation. Cards are activated by submitting the full card number of the new card and other additional card details for verification.
    ## Lost, Stolen or Damaged Cards
    When cards are lost, stolen, or damaged, they can be reported to the financial institution and a new card will be sent to the primary address of the primary cardholder. When a card is reported as damaged, the card is reissued. A reissued card has the same PAN as the damaged card, but a different expiration date and security code. Cards reported as lost or stolen are replaced with cards that have a new PAN, as well as a different expiration date and security code. Cards can be reported as lost, stolen, or damaged through the [reportDebitCard](#op-reportDebitCard) operation. When cards are reported as lost or stolen, they have a state of `disabled` until the replacement cards are [activated](#op-activateDebitCard). Cards reported as damaged may be used until the reissued card is activated.
    ## Travel Notifications
    When traveling, cardholders can create [travel notifications](#op-createDebitCardTravelNotification) when they plan to use their cards outside their typical geographic regions, so that such use is not tagged as possibly fraudulent. Travel notifications are unrelated to other notification channels, such as in-app notifications, email, or SMS. Travel notifications are independent of any transaction rules, such as authorized regions, and as such, do not change the values set for transaction rules. Some financial institutions may allow authorized region rules to be ignored.
    ## Alert Subscriptions
    Customers or members can [manage alert subscriptions](#op-patchDebitCardAlertSubscriptions). Alert subscriptions define how a customer or member wants to be notified on specified communication channels, such as e-mail or device notifications. Each alert subscription can configure a different communication channel to send alerts to. Some alert subscriptions require additional configuration.
    ## Transaction Rules
    Customers or members can also [manage transaction rules](#op-patchDebitCardTransactionRules). Transaction rules allow the financial institution to automatically deny transactions on behalf of the customer or member. For example, card transactions can be denied based on the geographic location of the merchant or if a transaction exceeds a specified threshold.
  version: 0.24.0
  contact:
    name: Apiture
    url: https://developer.apiture.com/help/support/
    email: api@apiture.com
  termsOfService: https://developer.apiture.com/docs/Apiture-API-License-Agreement.pdf
  license:
    name: Apiture API License
    url: https://developer.apiture.com/docs/Apiture-API-License-Agreement.pdf
x-apiture-namespace: bankingDebitCards
servers:
  - url: /banking
tags:
  - name: Debit Cards
    description: Banking Debit Cards
  - name: Debit Card Providers
    description: Debit Card Providers
  - name: Debit Card Travel Notifications
    description: Debit Card Travel Notifications
  - name: Debit Card Controls
    description: Debit Card Controls
  - name: Debit Card Regions
    description: Debit Card Regions
  - name: Debit Card Actions
    description: Banking Debit Card Actions
paths:
  /debitCardProvider:
    get:
      summary: Fetch a representation of the debit card provider
      description: Return the JSON representation of the debit card provider resource.
      operationId: getDebitCardProvider
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardProvider
      tags:
        - Debit Card Providers
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCardProvider'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCardProvider'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/read
      x-apiture-permission: getDebitCardProvider
  /debitCards:
    get:
      summary: Return a collection of debit card resources
      description: |-
        Return a collection of debit card resources for the current customer or member.
        The list may be empty if the customer or member does not have any debit cards.
        If the customer or member is not the primary cardholder, they will only see debit card resources for which they are authorized.

        Use this operation if the [debit card provider](#op-getDebitCardProvider) `context` is `customer`. If the debit card provider context is `account`, use [`listDebitCards`](#op-listDebitCards) instead.
      operationId: listCustomerDebitCards
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCards
      tags:
        - Debit Cards
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCards'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCards'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/read
      x-apiture-permission: listCustomerDebitCards
  /debitCards/{debitCardId}:
    parameters:
      - $ref: '#/components/parameters/debitCardIdPathParam'
      - $ref: '#/components/parameters/unmaskedDebitCardQueryParam'
      - $ref: '#/components/parameters/challengeHeaderParam'
    get:
      summary: Fetch a representation of this debit card resource
      description: |-
        Return the JSON representation of this debit card resource.

        Some actions may not be available based on the cardholder type.

        The full debit card number and security code is not included in the response by default for security reasons. Include the `unmasked` query parameter with a comma-separated list of properties to request that the response body includes the full debit card number and security code, if available. The security code is not available on physical cards requiring activation. Such requests are auditable.

        Note: This operation may require an identity challenge as described above in [Identity Challenges](#identity-challenges). See the "Challenges API" for completing the identity challenge.
      operationId: getCustomerDebitCard
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCards
      tags:
        - Debit Cards
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCard'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCard'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/read
      x-apiture-permission: getCustomerDebitCard
  /debitCards/{debitCardId}/locked:
    parameters:
      - $ref: '#/components/parameters/debitCardIdPathParam'
    post:
      summary: Lock a Debit Card
      description: |-
        Lock a debit card. This changes the `state` property of the debit card to `locked`. The response is the updated representation of the debit card.

        A locked debit card may not be used for new purchases until the cardholder [unlocks the card](#op-unlockCustomerDebitCard).

        This is an idempotent action; locking a debit card changes nothing if the card is already locked.

        Locking a debit card is not allowed if `allows.lock` is `false`.
      operationId: lockCustomerDebitCard
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCards
      tags:
        - Debit Card Actions
      responses:
        '200':
          description: |-
            OK. The operation succeeded. The debit card resource was updated and its `state` changed to `locked`.

            This operation is idempotent: no changes are made if the debit card resource is already `locked`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCard'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCard'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '409':
          $ref: '#/components/responses/409'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: lockCustomerDebitCard
  /debitCards/{debitCardId}/unlocked:
    parameters:
      - $ref: '#/components/parameters/debitCardIdPathParam'
    post:
      summary: Unlock a Debit Card
      description: |-
        Unlock a debit card. This changes the `state` property of the debit card to `active`. The response is the updated representation of the debit card.

        This is an idempotent action; unlocking a debit card changes nothing if the card is already locked.

        Unlocking a debit card is not allowed if `allows.unlock` is `false`.
      operationId: unlockCustomerDebitCard
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCards
      tags:
        - Debit Card Actions
      responses:
        '200':
          description: |-
            OK. The operation succeeded. The debit card resource was updated.

            This operation is idempotent: no changes are made if the debit card resource is already in a state other than `locked`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCard'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCard'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '409':
          $ref: '#/components/responses/409'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: unlockCustomerDebitCard
  /debitCards/{debitCardId}/challenges:
    parameters:
      - $ref: '#/components/parameters/debitCardIdPathParam'
    post:
      summary: Issue a Debit Card Identity Challenge
      description: |-
        Issue an identity challenge for debit card operations.

        See the "Challenges API" for completing the identity challenge.
      operationId: createCustomerDebitCardChallenge
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardActions
      tags:
        - Debit Card Actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardOperationChallengeRequest'
      responses:
        '201':
          description: Created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/requiredIdentityChallenge'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/requiredIdentityChallenge'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: createCustomerDebitCardChallenge
  /accounts/{accountId}/debitCards:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
    get:
      summary: Return a collection of debit cards
      description: |-
        Return a collection of debit cards for the current customer or member.

        Use this operation if the [debit card provider](#op-getDebitCardProvider) `context` is `account`. If the debit card provider context is `customer`, use [`listCustomerDebitCards`](#op-listCustomerDebitCards) instead.
      operationId: listDebitCards
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCards
      tags:
        - Debit Cards
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCards'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCards'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/read
      x-apiture-permission: listDebitCards
  /accounts/{accountId}/debitCards/{debitCardId}:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
      - $ref: '#/components/parameters/unmaskedDebitCardQueryParam'
    get:
      summary: Fetch a representation of this debit card
      description: |-
        Return the JSON representation of this debit card resource.

        The full debit card number is not included in the response by default, for security reasons. Include the `unmasked` query parameter with a value of `true` to request that the response body includes the full debit card number. Such requests are auditable.
      operationId: getDebitCard
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCards
      x-apiture-auditable: true
      tags:
        - Debit Cards
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCard'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCard'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/read
      x-apiture-permission: getDebitCard
  /accounts/{accountId}/debitCards/{debitCardId}/challenges:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
    post:
      summary: Issue a Debit Card Identity Challenge
      description: |-
        Issue an identity challenge for debit card operations.

        See the "Challenges API" for completing the identity challenge.
      operationId: createDebitCardChallenge
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardActions
      tags:
        - Debit Card Actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardOperationChallengeRequest'
      responses:
        '201':
          description: Created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/requiredIdentityChallenge'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/requiredIdentityChallenge'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: createDebitCardChallenge
  /accounts/{accountId}/debitCards/{debitCardId}/pinChange:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
      - $ref: '#/components/parameters/challengeHeaderParam'
    post:
      operationId: changeDebitCardPin
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCards
      summary: Change a Debit Card PIN
      description: |-
        Change the Personal Identification Number (PIN) for this debit card. The previous PIN used will no longer work after this change.

        The `debitCard.allows.changePin` permission must be `true` to use this operation, The operation returns a 403 Forbidden, with problem type `forbidden`, if the currently authenticated user does not have permission to change the PIN.

        Note: This operation may require an identity challenge as described above in [Identity Challenges](#identity-challenges). See the "Challenges API" for completing the identity challenge.
      tags:
        - Debit Card Actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardPinChange'
          application/vnd.restful+json:
            schema:
              $ref: '#/components/schemas/cardPinChange'
      responses:
        '200':
          description: OK. The operation succeeded. The PIN was updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCard'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCard'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '409':
          $ref: '#/components/responses/409'
        '422':
          description: |
            Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid.

            This problem response may have one of the following `type` values:
            * [`https://static.api.apiture.com/errors/invalidPin/v1.0.0`](https://static.api.apiture.com/errors/invalidPin/v1.0.0)<br>
              Either the current or new PIN is invalid.
              Remediation: Use a different PIN.

            * [`https://static.api.apiture.com/errors/invalidCardOperationForFinancialInstitution1/v1.0.0`](https://static.api.apiture.com/errors/invalidCardOperationForFinancialInstitution1/v1.0.0)<br>
              The operation cannot be performed for this financial institution.
              Remediation: Use a different operation as per the card provider context.
          x-apiture-errors:
            - $ref: '#/components/x-apiture-errors/invalidPin'
            - $ref: '#/components/x-apiture-errors/invalidCardOperationForFinancialInstitution1'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/problemResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/problemResponse'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: changeDebitCardPin
  /accounts/{accountId}/debitCards/{debitCardId}/transactions:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
    get:
      summary: Return a collection of transaction summaries for a debit card resource
      description: Return a [paginated](https://developer.apiture.com/docs/concepts/pagination) collection of debit card transactions. The [nextPage_url](https://developer.apiture.com/docs/concepts/links) in the response is a pagination link.
      operationId: listDebitCardTransactions
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCards
      tags:
        - Debit Cards
      parameters:
        - $ref: '#/components/parameters/startQueryParam'
        - $ref: '#/components/parameters/limitQueryParam'
        - $ref: '#/components/parameters/transactionOccurredOnQueryParam'
        - name: sortBy
          description: The sort order for the items in the response. Use `?sortBy=occurredOn` or `?sortBy=-occurredOn` to sort by ascending or descending order of the [transactions's `occurredOn` date](#schema-cardTransactionSummaryItem).
          in: query
          style: form
          explode: false
          schema:
            type: array
            uniqueItems: true
            $comment: Defined as an array so we can pass multiple sort keys in the future.
            maxItems: 1
            minItems: 1
            items:
              description: The sort key defining which value to sort by. A `-` prefix means descending.
              type: string
              pattern: ^-?(occurredOn)
              minLength: 10
              maxLength: 11
            default:
              - '-occurredOn'
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCardTransactions'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCardTransactions'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '422':
          description: |
            Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid.

            This problem response may have one of the following `type` values:
            * [`https://static.api.apiture.com/errors/unprocessableEntity/v1.0.0`](https://static.api.apiture.com/errors/unprocessableEntity/v1.0.0)<br>
              The syntax of the request entity is correct but was unable to process the contained instructions.
              Remediation: Provide a semantically correct request.

            * [`https://static.api.apiture.com/errors/invalidStart/v1.0.0`](https://static.api.apiture.com/errors/invalidStart/v1.0.0)<br>
              The `start` query parameter is invalid.
              Remediation: Use the `nextPage_url` in the previous response (and its service-generated `?start=` parameter) to access the next page.

            * [`https://static.api.apiture.com/errors/invalidCardOperationForFinancialInstitution1/v1.0.0`](https://static.api.apiture.com/errors/invalidCardOperationForFinancialInstitution1/v1.0.0)<br>
              The operation cannot be performed for this financial institution.
              Remediation: Use a different operation as per the card provider context.
          x-apiture-errors:
            - $ref: '#/components/x-apiture-errors/unprocessableEntity'
            - $ref: '#/components/x-apiture-errors/invalidStart'
            - $ref: '#/components/x-apiture-errors/invalidCardOperationForFinancialInstitution1'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/problemResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/problemResponse'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/read
      x-apiture-permission: listDebitCardTransactions
  /accounts/{accountId}/debitCards/{debitCardId}/transactionRules:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
    get:
      summary: Return this debit card's transaction rules
      description: Return transaction rules for this debit card. Each debit card on an account maintains its own set of rules.
      operationId: getDebitCardTransactionRules
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardControls
      tags:
        - Debit Card Controls
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cardTransactionRules'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/cardTransactionRules'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/read
      x-apiture-permission: getDebitCardTransactionRules
    patch:
      summary: Update debit card transaction rules
      description: Perform a partial update of this debit card's transaction rules as per [JSON Merge Patch](https://datatracker.ietf.org/doc/html/rfc7396). Only fields in the request body are updated on the resource; fields which are omitted are not updated.
      operationId: patchDebitCardTransactionRules
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardControls
      tags:
        - Debit Card Controls
      requestBody:
        required: true
        description: The new card transaction rules configuration.
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/cardTransactionRulesPatch'
          application/json:
            schema:
              $ref: '#/components/schemas/cardTransactionRulesPatch'
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cardTransactionRules'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/cardTransactionRules'
        '204':
          $ref: '#/components/responses/204'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '422':
          description: |
            Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid.

            This problem response may have one of the following `type` values:
            * [`https://static.api.apiture.com/errors/cannotRemoveCommunicationChannel/v1.0.0`](https://static.api.apiture.com/errors/cannotRemoveCommunicationChannel/v1.0.0)<br>
              The communication channel is required and cannot be removed.
              Remediation: Try again without removing the communication channel.
            The `attributes` object in the error may have the properties defined for [`cannotRemoveCommunicationChannel`](https://static.api.apiture.com/errors/cannotRemoveCommunicationChannel/v1.0.0).
            * [`https://static.api.apiture.com/errors/invalidCardOperationForFinancialInstitution1/v1.0.0`](https://static.api.apiture.com/errors/invalidCardOperationForFinancialInstitution1/v1.0.0)<br>
              The operation cannot be performed for this financial institution.
              Remediation: Use a different operation as per the card provider context.
          x-apiture-errors:
            - $ref: '#/components/x-apiture-errors/cannotRemoveCommunicationChannel'
            - $ref: '#/components/x-apiture-errors/invalidCardOperationForFinancialInstitution1'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/problemResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/problemResponse'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: patchDebitCardTransactionRules
  /accounts/{accountId}/debitCards/{debitCardId}/alertSubscriptions:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
    get:
      summary: Return this debit card's alert subscriptions
      description: Return alerts subscriptions for this debit card. Each debit card on an account maintains its own set of alert subscriptions. Allowed alert subscriptions may be limited by the cardholder type.
      operationId: getDebitCardAlerts
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardControls
      tags:
        - Debit Card Controls
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cardAlertSubscriptions'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/cardAlertSubscriptions'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/read
      x-apiture-permission: getDebitCardAlerts
    patch:
      summary: Update debit card alert subscriptions
      description: Perform a partial update of this debit card's alert subscriptions as per [JSON Merge Patch](https://datatracker.ietf.org/doc/html/rfc7396). Only fields in the request body are updated on the resource; fields which are omitted are not updated.
      operationId: patchDebitCardAlertSubscriptions
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardControls
      tags:
        - Debit Card Controls
      requestBody:
        required: true
        description: The new card alert subscription.
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/cardAlertSubscriptionsPatch'
          application/json:
            schema:
              $ref: '#/components/schemas/cardAlertSubscriptionsPatch'
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cardAlertSubscriptions'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/cardAlertSubscriptions'
        '204':
          $ref: '#/components/responses/204'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: patchDebitCardAlertSubscriptions
  /accounts/{accountId}/debitCards/{debitCardId}/activated:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
      - $ref: '#/components/parameters/challengeHeaderParam'
    post:
      summary: Activate a Debit Card
      description: |-
        Activate a debit card.

        Activating a card unlocks the card from the `disabled` state.

        This is an idempotent action; Activating a debit card with a state of `active` has no effect.

        Note: This operation may require an identity challenge as described above in [Identity Challenges](#identity-challenges). See the "Challenges API" for completing the identity challenge.
      operationId: activateDebitCard
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCards
      tags:
        - Debit Card Actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/debitCardActivationRequest'
      responses:
        '201':
          description: Activated. The debit card has been successfully activated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCardItem'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCardItem'
          headers:
            Location:
              description: The URI of the debit card.
              schema:
                type: string
                format: uri-reference
                maxLength: 128
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '409':
          description: |
            Conflict.

            This problem response may have one of the following `type` values:
            * [`https://static.api.apiture.com/errors/invalidStateForDebitCardActivation/v1.0.0`](https://static.api.apiture.com/errors/invalidStateForDebitCardActivation/v1.0.0)<br>
              The debit card cannot be activated in the current state.
              Remediation: Try again when the debit card is in a different state.
          x-apiture-errors:
            - invalidStateForDebitCardActivation
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/problemResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/problemResponse'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: activateDebitCard
  /accounts/{accountId}/debitCards/{debitCardId}/reported:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
      - $ref: '#/components/parameters/challengeHeaderParam'
    post:
      summary: Report a Debit Card as Lost, Stolen, or Damaged
      description: |-
        Report a debit card as lost, stolen, or damaged. Reported cards have their state set to `disabled` and cannot be used to make purchases. Cards that are lost or stolen are replaced. Replacing a card involves changing the primary access number (PAN). Damaged cards are reissued with the same PAN but different expiration date and security card.

        This is an idempotent action; reporting a debit card as lost, stolen, or damaged changes nothing if the card was already reported as damaged and has not yet been replaced or reissued.

        Damaged cards are `active` and can be used for transactions until the reissued card is [activated](#op-activateDebitCard). Once a card is reported as lost or stolen, it is `disabled`. The replacement card is `disabled` until it is activated.

        Reporting a debit card as lost is not allowed if `allows.reportLost` is `false`. Reporting a debit card as stolen is not allowed if `allows.reportStolen` is `false`. Reporting a debit card as damaged is not allowed if `allows.reportDamaged` is `false`.

        Some financial institutions may allow a card reported as lost to be marked as found before a replacement card is sent. A future API operation may support this action. Until then, if the lost card is found, the cardholder should contact the issuing financial institution to cancel the card replacement request.

        Note: This operation may require an identity challenge as described above in [Identity Challenges](#identity-challenges). See the "Challenges API" for completing the identity challenge.
      operationId: reportDebitCard
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCards
      tags:
        - Debit Card Actions
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/cardReportedRequest'
      responses:
        '200':
          description: |-
            OK.
            All debit cards belonging to the same card group as this debit card resource have been reported as lost, stolen, or damaged.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCard'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCard'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '409':
          $ref: '#/components/responses/409'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: reportDebitCard
  /accounts/{accountId}/debitCards/{debitCardId}/locked:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
    post:
      summary: Lock a Debit Card
      description: |-
        Lock a debit card. This changes the `state` property of the debit card to `locked`. The response is the updated representation of the debit card.

        A locked debit card may not be used for new purchases until the cardholder [unlocks the card](#op-unlockDebitCard).

        This is an idempotent action; locking a debit card changes nothing if the card is already locked.

        Locking a debit card is not allowed if `allows.lock` is `false`.
      operationId: lockDebitCard
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCards
      tags:
        - Debit Card Actions
      responses:
        '200':
          description: |-
            OK. The operation succeeded. The debit card resource was updated and its `state` changed to `locked`.

            This operation is idempotent: no changes are made if the debit card resource is already `locked`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCard'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCard'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '409':
          $ref: '#/components/responses/409'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: lockDebitCard
  /accounts/{accountId}/debitCards/{debitCardId}/unlocked:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
    post:
      summary: Unlock a Debit Card
      description: |-
        Lock a debit card. This changes the `state` property of the debit card to `active`. The response is the updated representation of the debit card.

        This is an idempotent action; unlocking a debit card changes nothing if the card is already locked.

        Unlocking a debit card is not allowed if `allows.unlock` is `false`.
      operationId: unlockDebitCard
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCards
      tags:
        - Debit Card Actions
      responses:
        '200':
          description: |-
            OK. The operation succeeded. The debit card resource was updated.

            This operation is idempotent: no changes are made if the debit card resource is already in a state other than `locked`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCard'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCard'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '409':
          $ref: '#/components/responses/409'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: unlockDebitCard
  /accounts/{accountId}/debitCards/{debitCardId}/travelNotifications:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
    get:
      summary: Return a collection of debit card travel notifications
      description: Return a collection of travel notifications.
      operationId: listDebitCardTravelNotifications
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardTravelNotifications
      tags:
        - Debit Card Travel Notifications
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/debitCardTravelNotifications'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/debitCardTravelNotifications'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/read
      x-apiture-permission: listDebitCardTravelNotifications
    post:
      summary: Create a new travel notification
      description: Create a new travel notification within the travel notifications collection.
      operationId: createDebitCardTravelNotification
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardTravelNotifications
      tags:
        - Debit Card Travel Notifications
      requestBody:
        required: true
        description: The data necessary to create a new travel notification.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/newTravelNotification'
      responses:
        '201':
          description: Created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/travelNotification'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/travelNotification'
          headers:
            Location:
              description: The URI of the new debit card travel notification.
              schema:
                type: string
                format: uri-reference
                maxLength: 2048
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: createDebitCardTravelNotification
  /accounts/{accountId}/debitCards/{debitCardId}/travelNotifications/{travelNotificationId}:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
      - $ref: '#/components/parameters/travelNotificationIdPathParam'
    get:
      summary: Fetch a representation of this travel notification
      description: Return the JSON representation of this travel notification resource.
      operationId: getDebitCardTravelNotification
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardTravelNotifications
      tags:
        - Debit Card Travel Notifications
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/travelNotification'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/travelNotification'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCardTravelNotification'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/read
      x-apiture-permission: getDebitCardTravelNotification
    patch:
      summary: Update this travel notification
      description: Perform a partial update of this travel notification as per [JSON Merge Patch](https://datatracker.ietf.org/doc/html/rfc7396). Only fields in the request body are updated on the resource; fields which are omitted are not updated.
      operationId: patchDebitCardTravelNotification
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardTravelNotifications
      tags:
        - Debit Card Travel Notifications
      requestBody:
        required: true
        description: The new travel notification.
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/travelNotificationPatch'
          application/json:
            schema:
              $ref: '#/components/schemas/travelNotificationPatch'
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/travelNotification'
            application/vnd.restful+json:
              schema:
                $ref: '#/components/schemas/travelNotification'
        '204':
          $ref: '#/components/responses/204'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCardTravelNotification'
        '422':
          $ref: '#/components/responses/422'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: patchDebitCardTravelNotification
    delete:
      summary: Delete this travel notification resource
      description: Delete this travel notification resource.
      operationId: deleteDebitCardTravelNotification
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardTravelNotifications
      tags:
        - Debit Card Travel Notifications
      responses:
        '204':
          $ref: '#/components/responses/204'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCardTravelNotification'
        '422':
          $ref: '#/components/responses/422InvalidCardOperation'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: deleteDebitCardTravelNotification
  /accounts/{accountId}/debitCards/{debitCardId}/regions:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
    get:
      summary: Return a collection of named card regions
      description: Return a collection of named card regions. These regions define additional travel-related geographic areas where the cardholder plans to use the card. These regions act as a hint to the financial institution and/or card provider that use of the card in those regions is not fraudulent.
      operationId: listDebitCardRegions
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardRegions
      tags:
        - Debit Card Regions
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cardRegions'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/read
      x-apiture-permission: listDebitCardRegions
    post:
      summary: Create a new card region
      description: Create a new named card region within the card regions collection. The new region defines an additional geographic areas where the cardholder plans to use the card during travel.
      operationId: createDebitCardRegion
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardRegions
      tags:
        - Debit Card Regions
      requestBody:
        required: true
        description: The data necessary to create a new region.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/newCardRegion'
      responses:
        '201':
          description: Created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cardRegion'
          headers:
            Location:
              description: The URI of the new card region.
              schema:
                type: string
                format: uri-reference
                maxLength: 2048
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCard'
        '422':
          $ref: '#/components/responses/422CardRegion'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: createDebitCardRegion
  /accounts/{accountId}/debitCards/{debitCardId}/regions/{regionId}:
    parameters:
      - $ref: '#/components/parameters/accountIdPathParam'
      - $ref: '#/components/parameters/debitCardIdPathParam'
      - $ref: '#/components/parameters/regionIdPathParam'
    get:
      summary: Fetch a representation of this card region
      description: Return the JSON representation of this card region resource.
      operationId: getDebitCardRegion
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardRegions
      tags:
        - Debit Card Regions
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cardRegion'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCardRegion'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/read
      x-apiture-permission: getDebitCardRegion
    patch:
      summary: Update this card region
      description: Perform a partial update of this card region as per [JSON Merge Patch](https://datatracker.ietf.org/doc/html/rfc7396) format and processing rules. Only fields in the request body are updated on the resource; fields which are omitted are not updated.
      operationId: patchDebitCardRegion
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardRegions
      tags:
        - Debit Card Regions
      requestBody:
        required: true
        description: The fields to update within the card region.
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/cardRegionPatch'
          application/json:
            schema:
              $ref: '#/components/schemas/cardRegionPatch'
      responses:
        '200':
          description: OK.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/cardRegion'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCardRegion'
        '422':
          $ref: '#/components/responses/422CardRegion'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: patchDebitCardRegion
    delete:
      summary: Delete this card region resource
      description: Delete this card region resource and any resources that are owned by it.
      operationId: deleteDebitCardRegion
      x-apiture-api: bankingDebitCards
      x-apiture-group: debitCardRegions
      tags:
        - Debit Card Regions
      responses:
        '204':
          $ref: '#/components/responses/204'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404DebitCardRegion'
        '429':
          $ref: '#/components/responses/429'
        4XX:
          $ref: '#/components/responses/4XX'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - accessToken:
            - banking/write
      x-apiture-permission: deleteDebitCardRegion
components:
  parameters:
    debitCardIdPathParam:
      name: debitCardId
      description: The unique identifier of this debit card. This is an opaque string.
      in: path
      schema:
        $ref: '#/components/schemas/externalResourceId'
      required: true
    unmaskedDebitCardQueryParam:
      name: unmasked
      description: |-
        When requesting details for a card, the full account number is not included in the response by default for security reasons. The security code is not included for physical cards, and may not be requested until the card has been activated. Because digitally issued cards do not require activation, there are not any restrictions on requesting the unmasked security code.

        Include this query parameter with a comma-separated list of properties to unmask in the response body. Such requests are auditable.
      in: query
      explode: false
      style: form
      required: false
      schema:
        type: array
        uniqueItems: true
        minItems: 1
        maxItems: 2
        x-apiture-note: The maximum number of items corresponds with the number of enum values in `debitCardMaskedProperties`
        items:
          $ref: '#/components/schemas/debitCardMaskedProperties'
    challengeHeaderParam:
      name: Challenge
      description: This operation may require a completed challenge. If the first attempt calling this operation fails with a 403 `challengeRequired` error, the client should complete the challenge flow as described in the Challenges API, then retry the operation with this `Challenge` request header using the `challengeToken` returned at the end of that flow. If this is passed but the value is invalid, the operation fails with a 403 status code and the `invalidIdentityChallengeHeader` problem type.
      in: header
      schema:
        $ref: '#/components/schemas/challengeToken'
      x-resolved-from: ../../challenges/openapi.yaml#/components/parameters/challengeHeaderParam
    accountIdPathParam:
      name: accountId
      description: The unique identifier of this account resource. This is an opaque string.
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/resourceId'
      x-resolved-from: ../../accounts/openapi.yaml#/components/parameters/accountIdPathParam
    startQueryParam:
      name: start
      in: query
      description: The location of the next item in the collection. This is an opaque cursor supplied by the API service. Omit this to start at the beginning of the collection. The client does not define this value; the API services automatically pass the `?start=` parameter on the `nextPage_url`.
      schema:
        type: string
        maxLength: 256
        pattern: ^[-a-zA-Z0-9.,-=_+:;@$]{0,256}$
        default: ''
      x-resolved-from: ../../common/openapi.yaml#/components/parameters/startQueryParam
    limitQueryParam:
      name: limit
      in: query
      description: The maximum number of items to return in this paged response.
      schema:
        type: integer
        format: int32
        minimum: 0
        maximum: 1000
        default: 100
      x-resolved-from: ../../common/openapi.yaml#/components/parameters/limitQueryParam
    transactionOccurredOnQueryParam:
      name: occurredOn
      description: |-
        Return only transactions whose `occurredOn` date is in this date range. Dates ranges use dates expressed in `YYYY-MM-DD` [RFC 3339](https://tools.ietf.org/html/rfc3339) `date` format. Each account has an implicit default transaction history range of _n_ days. This is normally 30 days but may be shorter for accounts with high activity. This _n_ day period is applied to any unbounded date ranges. The default date range is the most recent _n_ days.

        Example date ranges:
          * `2023-05-19` match transactions occurring on May 19, 2023.
          * `[2023-05-01,2023-05-31]` match transactions occurring between May 1 and 31, 2023, inclusive
          * `[2023-05-01,2023-06-01)` match transactions occurring in May, 2023 (on or after May 1, but before June 1)
          * `[2023-05-09,]` match transactions _n_ days on or after May 9, 2023
          * `(2023-05-09,)` match transactions _n_ days after May 9, 2023
          * `[,2023-05-09]` match transactions _n_ days on or before May 9, 2023
          * `(,2023-05-09)` match transactions _n_ days before but excluding May 9, 2023
      in: query
      schema:
        type: string
        pattern: ^\d{4}-\d{2}-\d{2}|([[(](\d{4}-\d{2}-\d{2},(\d{4}-\d{2}-\d{2})?|,\d{4}-\d{2}-\d{2})[)\]])$
        minLength: 10
        maxLength: 24
        examples:
          - '2023-05-19'
          - '[2023-05-01,2023-05-31]'
          - '[2023-05-01,2023-06-01)'
          - '[2023-05-19,]'
          - (2023-05-19,)
          - '[,2023-05-19]'
          - (,2023-05-19)
      x-resolved-from: ../../transactions/openapi.yaml#/components/parameters/transactionOccurredOnQueryParam
    travelNotificationIdPathParam:
      name: travelNotificationId
      description: The unique identifier of this travel notification. This is an opaque string.
      in: path
      schema:
        $ref: '#/components/schemas/externalResourceId'
      required: true
      x-resolved-from: ../../creditCards/openapi.yaml#/components/parameters/travelNotificationIdPathParam
    regionIdPathParam:
      name: regionId
      description: The unique identifier of this region. This is an opaque string.
      in: path
      schema:
        $ref: '#/components/schemas/externalResourceId'
      required: true
      x-resolved-from: ../../creditCards/openapi.yaml#/components/parameters/regionIdPathParam
  responses:
    '204':
      description: No Content. The operation succeeded but returned no response body.
      x-resolved-from: ../../common/openapi.yaml#/components/responses/204
    '400':
      description: |
        Bad Request. The request body, request headers, and/or query parameters are not well-formed.

        This problem response may have one of the following `type` values:
        * [`https://static.api.apiture.com/errors/badRequest/v1.0.0`](https://static.api.apiture.com/errors/badRequest/v1.0.0)<br>
          The request body and/or parameters was not well-formed.
          Remediation: Correct any syntax or schema errors in the request body or parameters.
      x-apiture-errors:
        - $ref: '#/components/x-apiture-errors/badRequest'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/badRequest/v1.0.0
              title: Bad Request
              status: 400
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: Input did not parse as JSON
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
        application/json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/badRequest/v1.0.0
              title: Bad Request
              status: 400
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: Input did not parse as JSON
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
      x-resolved-from: ../../common/openapi.yaml#/components/responses/400
    '401':
      description: |
        Unauthorized. The operation requires authentication but no authentication or insufficient authentication was given.

        This problem response may have one of the following `type` values:
        * [`https://static.api.apiture.com/errors/unauthorized/v1.0.0`](https://static.api.apiture.com/errors/unauthorized/v1.0.0)<br>
          The request lacks valid authentication credentials for the target resource or operation.
          Remediation: Authenticate the user and pass the required authorization with the request.
      x-apiture-errors:
        - $ref: '#/components/x-apiture-errors/unauthorized'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/unauthorized/v1.0.0
              title: Unauthorized
              status: 401
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The request lacks valid authentication credentials
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
        application/json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/unauthorized/v1.0.0
              title: Unauthorized
              status: 401
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The request lacks valid authentication credentials
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
      x-resolved-from: ../../common/openapi.yaml#/components/responses/401
    '403':
      description: |
        Forbidden. The authenticated caller is not authorized to perform the requested operation.

        This problem response may have one of the following `type` values:
        * [`https://static.api.apiture.com/errors/forbidden/v1.0.0`](https://static.api.apiture.com/errors/forbidden/v1.0.0)<br>
          The user or agent is not allowed to perform this operation; authentication credentials were provided in the request, but the server considers them insufficient to grant access.
          Remediation: Check the user's permissions and entitlements before attempting the operation.

        * [`https://static.api.apiture.com/errors/customerDisabled/v1.0.0`](https://static.api.apiture.com/errors/customerDisabled/v1.0.0)<br>
          The customer is disabled.
          Remediation: Have the customer contact the financial institution for support.

        * [`https://static.api.apiture.com/errors/antiMalwareRequired/v1.0.0`](https://static.api.apiture.com/errors/antiMalwareRequired/v1.0.0)<br>
          The financial institution requires the customer to have anti-malware software installed.
          Remediation: Direct the user to the software requirements guide to install the correct anti-malware software.

        * [`https://static.api.apiture.com/errors/modificationForbidden/v1.0.0`](https://static.api.apiture.com/errors/modificationForbidden/v1.0.0)<br>
          The customer is properly authenticated but not authorized to create, modify, or delete resources.
          Remediation: Avoid modification operation for customers with read-only authorization.

        * [`https://static.api.apiture.com/errors/challengeRequired/v1.0.0`](https://static.api.apiture.com/errors/challengeRequired/v1.0.0)<br>
          The operation requires the customer to complete an identity challenge.
          Remediation: Complete the challenge as per the problem response, and add an additional `Challenge` header to the call.
        The `attributes` object in the error may have the properties defined by the [`requiredIdentityChallenge` schema](#schema-requiredIdentityChallenge).
        * [`https://static.api.apiture.com/errors/challengeBlocked/v1.0.0`](https://static.api.apiture.com/errors/challengeBlocked/v1.0.0)<br>
          The user has failed challenges too many times and is blocked from attempting more or performing operations which require additional authentication.
          Remediation: Have the user end their login session and login again.

        * [`https://static.api.apiture.com/errors/noIdentityChallengeFactors/v1.0.0`](https://static.api.apiture.com/errors/noIdentityChallengeFactors/v1.0.0)<br>
          This operation requires an identity challenge, but the user does not have the necessary registered authentication factors.
          Remediation: Have the user register one or more challenge security code delivery factors.

        * [`https://static.api.apiture.com/errors/invalidIdentityChallengeHeader/v1.0.0`](https://static.api.apiture.com/errors/invalidIdentityChallengeHeader/v1.0.0)<br>
          The additional on-time `Challenge` header in this request is expired, already used, or otherwise invalid.
          Remediation: Supply a valid, unexpired, unclaimed `Challenge` header in the request.
      x-apiture-errors:
        - $ref: '#/components/x-apiture-errors/forbidden'
        - $ref: '#/components/x-apiture-errors/customerDisabled'
        - $ref: '#/components/x-apiture-errors/antiMalwareRequired'
        - $ref: '#/components/x-apiture-errors/modificationForbidden'
        - $ref: '#/components/x-apiture-errors/challengeRequired'
        - $ref: '#/components/x-apiture-errors/challengeBlocked'
        - $ref: '#/components/x-apiture-errors/noIdentityChallengeFactors'
        - $ref: '#/components/x-apiture-errors/invalidIdentityChallengeHeader'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/forbidden/v1.0.0
              title: Forbidden
              status: 403
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
        application/json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/forbidden/v1.0.0
              title: Forbidden
              status: 403
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The request has valid authentication, but the authenticated agent is forbidden from accessing this resource or operation
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
      x-resolved-from: ../../common/openapi.yaml#/components/responses/403
    '404':
      description: |
        Not found. There is no such resource at the request URL.

        This problem response may have one of the following `type` values:
        * [`https://static.api.apiture.com/errors/notFound/v1.0.0`](https://static.api.apiture.com/errors/notFound/v1.0.0)<br>
          The resource at the requested URL does not exist.
          Remediation: Use the URL of an existing resource.
      x-apiture-errors:
        - $ref: '#/components/x-apiture-errors/notFound'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/notFound/v1.0.0
              title: Not Found
              status: 404
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The resource at the request URL does not exist.
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
        application/json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/notFound/v1.0.0
              title: Not Found
              status: 404
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The resource at the request URL does not exist.
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
      x-resolved-from: ../../common/openapi.yaml#/components/responses/404
    '409':
      description: |
        Conflict. The request conflicts with the state of the application.

        This problem response may have one of the following `type` values:
        * [`https://static.api.apiture.com/errors/conflict/v1.0.0`](https://static.api.apiture.com/errors/conflict/v1.0.0)<br>
          The request could not be completed due to a conflict with the current state of the target resource.
          Remediation: Try another operation that is allowed.
      x-apiture-errors:
        - $ref: '#/components/x-apiture-errors/conflict'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problemResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/problemResponse'
      x-resolved-from: ../../common/openapi.yaml#/components/responses/409
    '422':
      description: |
        Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid.

        This problem response may have one of the following `type` values:
        * [`https://static.api.apiture.com/errors/unprocessableEntity/v1.0.0`](https://static.api.apiture.com/errors/unprocessableEntity/v1.0.0)<br>
          The syntax of the request entity is correct but was unable to process the contained instructions.
          Remediation: Provide a semantically correct request.
      x-apiture-errors:
        - $ref: '#/components/x-apiture-errors/unprocessableEntity'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/unprocessableEntity/v1.0.0
              title: Unprocessable Entity
              status: 422
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The request body and/or query parameters were well-formed but otherwise invalid.
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
        application/json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/unprocessableEntity/v1.0.0
              title: Unprocessable Entity
              status: 422
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The request body and/or query parameters were well-formed but otherwise invalid.
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
      x-resolved-from: ../../common/openapi.yaml#/components/responses/422
    '429':
      description: |
        Too Many Requests. The client has sent too many requests in a given amount of time.

        This problem response may have one of the following `type` values:
        * [`https://static.api.apiture.com/errors/tooManyRequests/v1.0.0`](https://static.api.apiture.com/errors/tooManyRequests/v1.0.0)<br>
          The client has sent too many requests in a given amount of time, exceeding rate limiting.
          Remediation: Slow down the rate of API calls.
      x-apiture-errors:
        - $ref: '#/components/x-apiture-errors/tooManyRequests'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/tooManyRequests/v1.0.0
              title: Too Many Requests
              status: 429
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The user has sent too many requests in a given amount of time.
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
        application/json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/tooManyRequests/v1.0.0
              title: Too Many Requests
              status: 429
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The user has sent too many requests in a given amount of time.
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
      x-resolved-from: ../../common/openapi.yaml#/components/responses/429
    404DebitCard:
      description: |
        Not Found. There is no such resource at the request URL.

        This problem response may have one of the following `type` values:
        * [`https://static.api.apiture.com/errors/invalidAccountId/v0.2.0`](https://static.api.apiture.com/errors/invalidAccountId/v0.2.0)<br>
          The named `accountId` does not exist or the user is not entitled to access the account.
          Remediation: Pass the `id` of an existing account the caller has access to.

        * [`https://static.api.apiture.com/errors/invalidDebitCardId/v1.0.0`](https://static.api.apiture.com/errors/invalidDebitCardId/v1.0.0)<br>
          The named `debitCardId` does not exist or the user is not entitled to access the debit card resource.
          Remediation: Pass the `id` of an existing debit card the caller has access to.
      x-apiture-errors:
        - $ref: '#/components/x-apiture-errors/invalidAccountId'
        - invalidDebitCardId
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problemResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/problemResponse'
    404DebitCardTravelNotification:
      description: |
        Not Found. There is no such resource at the request URL.

        This problem response may have one of the following `type` values:
        * [`https://static.api.apiture.com/errors/invalidAccountId/v0.2.0`](https://static.api.apiture.com/errors/invalidAccountId/v0.2.0)<br>
          The named `accountId` does not exist or the user is not entitled to access the account.
          Remediation: Pass the `id` of an existing account the caller has access to.

        * [`https://static.api.apiture.com/errors/invalidDebitCardId/v1.0.0`](https://static.api.apiture.com/errors/invalidDebitCardId/v1.0.0)<br>
          The named `debitCardId` does not exist or the user is not entitled to access the debit card resource.
          Remediation: Pass the `id` of an existing debit card the caller has access to.

        * [`https://static.api.apiture.com/errors/noSuchTravelNotification/v1.0.0`](https://static.api.apiture.com/errors/noSuchTravelNotification/v1.0.0)<br>
          There is no such travel notification resource for the given `travelNotificationId`.
          Remediation: Pass a valid travel notification ID.
      x-apiture-errors:
        - $ref: '#/components/x-apiture-errors/invalidAccountId'
        - invalidDebitCardId
        - $ref: '#/components/x-apiture-errors/noSuchTravelNotification'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problemResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/problemResponse'
    404DebitCardRegion:
      description: |
        Not Found. There is no such resource at the request URL.

        This problem response may have one of the following `type` values:
        * [`https://static.api.apiture.com/errors/invalidAccountId/v0.2.0`](https://static.api.apiture.com/errors/invalidAccountId/v0.2.0)<br>
          The named `accountId` does not exist or the user is not entitled to access the account.
          Remediation: Pass the `id` of an existing account the caller has access to.

        * [`https://static.api.apiture.com/errors/invalidDebitCardId/v1.0.0`](https://static.api.apiture.com/errors/invalidDebitCardId/v1.0.0)<br>
          The named `debitCardId` does not exist or the user is not entitled to access the debit card resource.
          Remediation: Pass the `id` of an existing debit card the caller has access to.

        * [`https://static.api.apiture.com/errors/invalidDebitCardRegionId/v1.0.0`](https://static.api.apiture.com/errors/invalidDebitCardRegionId/v1.0.0)<br>
          The named `regionId` does not exist or the user is not entitled to access the debit card region resource.
          Remediation: Pass the `id` of an existing debit card region the caller has access to.
      x-apiture-errors:
        - $ref: '#/components/x-apiture-errors/invalidAccountId'
        - invalidDebitCardId
        - invalidDebitCardRegionId
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problemResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/problemResponse'
    4XX:
      description: Client Request Problem. The client request had a problem not listed under another specific 400-level HTTP response code. View the `detail` in the problem response for additional details.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/methodNotAllowed/v1.0.0
              title: Method Not Allowed
              status: 405
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: This HTTP method is not allowed for the given resource URL.
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
        application/json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/methodNotAllowed/v1.0.0
              title: Method Not Allowed
              status: 405
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: This HTTP method is not allowed for the given resource URL.
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
      x-resolved-from: ../../common/openapi.yaml#/components/responses/4XX
    5XX:
      description: Server Problem. The server encountered a problem not listed under another specific 500-level HTTP response code. View the `detail` in the problem response for additional details.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/gatewayTimeout/v1.0.0
              title: Insufficient Storage
              status: 507
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The server is unable to store the representation needed to successfully complete the request.
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
        application/json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/gatewayTimeout/v1.0.0
              title: Insufficient Storage
              status: 507
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The server is unable to store the representation needed to successfully complete the request.
              instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
      x-resolved-from: ../../common/openapi.yaml#/components/responses/5XX
    422InvalidCardOperation:
      description: |
        Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid.

        This problem response may have one of the following `type` values:
        * [`https://static.api.apiture.com/errors/invalidCardOperationForFinancialInstitution/v1.0.0`](https://static.api.apiture.com/errors/invalidCardOperationForFinancialInstitution/v1.0.0)<br>
          The operation cannot be performed for this financial institution.
          Remediation: Use a different operation.
      x-apiture-errors:
        - invalidCardOperationForFinancialInstitution
      x-resolved-from: ../../creditCards/openapi.yaml#/components/responses/422InvalidCardOperation
    422CardRegion:
      description: |
        Unprocessable Entity. The request body and/or query parameters were well-formed but otherwise invalid.

        This problem response may have one of the following `type` values:
        * [`https://static.api.apiture.com/errors/unprocessableEntity/v1.0.0`](https://static.api.apiture.com/errors/unprocessableEntity/v1.0.0)<br>
          The syntax of the request entity is correct but was unable to process the contained instructions.
          Remediation: Provide a semantically correct request.

        * [`https://static.api.apiture.com/errors/invalidRadius/v1.0.0`](https://static.api.apiture.com/errors/invalidRadius/v1.0.0)<br>
          The given region's radius is less than 5 miles (8km) or greater than 500 miles (805km).
          Remediation: Use a radius between 5 miles (8km) and 500 miles (805 km).

        * [`https://static.api.apiture.com/errors/invalidCardOperationForFinancialInstitution1/v1.0.0`](https://static.api.apiture.com/errors/invalidCardOperationForFinancialInstitution1/v1.0.0)<br>
          The operation cannot be performed for this financial institution.
          Remediation: Use a different operation as per the card provider context.

        * [`https://static.api.apiture.com/errors/invalidCountryCodeForCardRegion/v1.0.0`](https://static.api.apiture.com/errors/invalidCountryCodeForCardRegion/v1.0.0)<br>
          The country code is invalid for this card region based on the financial institution's configuration.
          Remediation: Use a different country code.
      x-apiture-errors:
        - $ref: '#/components/x-apiture-errors/unprocessableEntity'
        - $ref: '#/components/x-apiture-errors/invalidRadius'
        - $ref: '#/components/x-apiture-errors/invalidCardOperationForFinancialInstitution1'
        - $ref: '#/components/x-apiture-errors/invalidCountryCodeForCardRegion'
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/unprocessableEntity/v1.0.0
              title: Unprocessable Entity
              status: 422
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The request body and/or query parameters were well-formed but otherwise invalid.
              instance: https://static.api.apiture.com/banking-resource/bb709151-575041fcd617
        application/json:
          schema:
            $ref: '#/components/schemas/problemResponse'
            example:
              id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
              type: https://static.api.apiture.com/errors/unprocessableEntity/v1.0.0
              title: Unprocessable Entity
              status: 422
              occurredAt: '2022-04-25T12:42:21.375Z'
              detail: The request body and/or query parameters were well-formed but otherwise invalid.
              instance: https://static.api.apiture.com/banking/banking-resource/bb709151-575041fcd617
      x-resolved-from: ../../creditCards/openapi.yaml#/components/responses/422CardRegion
  schemas:
    debitCardProvider:
      x-apiture-version: 5.0.0
      title: Debit Card Provider (v5.0.0)
      description: Representation of the debit card provider resource.
      required:
        - context
        - operations
        - merchantCategories
        - cardRegionType
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - type: object
          properties:
            context:
              $ref: '#/components/schemas/cardProviderContext'
            operations:
              $ref: '#/components/schemas/debitCardOperations'
            merchantCategories:
              description: Categories of card merchants for alerts and transaction rules.
              type: array
              minItems: 0
              maxItems: 12
              uniqueItems: true
              items:
                $ref: '#/components/schemas/cardMerchantCategories'
            cardRegionType:
              description: Indicates the required location `type` for card regions.
              allOf:
                - $ref: '#/components/schemas/cardRegionLocationType'
      example:
        context: account
        operations:
          listCustomerDebitCards:
            enabled: false
            requiresIdentityChallenge: false
          getCustomerDebitCard:
            enabled: false
            requiresIdentityChallenge: false
          getCustomerDebitCardUnmaskedProperties:
            enabled: false
            requiresIdentityChallenge: false
          lockCustomerDebitCard:
            enabled: false
            requiresIdentityChallenge: false
          unlockCustomerDebitCard:
            enabled: false
            requiresIdentityChallenge: false
          createCustomerDebitCardChallenge:
            enabled: false
            requiresIdentityChallenge: false
          listDebitCards:
            enabled: true
            requiresIdentityChallenge: false
          getDebitCard:
            enabled: true
            requiresIdentityChallenge: false
          getDebitCardUnmaskedProperties:
            enabled: true
            requiresIdentityChallenge: true
          createDebitCardChallenge:
            enabled: true
            requiresIdentityChallenge: false
          changeDebitCardPin:
            enabled: true
            requiresIdentityChallenge: true
          listDebitCardTransactions:
            enabled: true
            requiresIdentityChallenge: false
          getDebitCardTransactionRules:
            enabled: true
            requiresIdentityChallenge: false
          patchDebitCardTransactionRules:
            enabled: true
            requiresIdentityChallenge: false
          getDebitCardAlerts:
            enabled: true
            requiresIdentityChallenge: false
          patchDebitCardAlertSubscriptions:
            enabled: true
            requiresIdentityChallenge: false
          activateDebitCard:
            enabled: true
            requiresIdentityChallenge: false
          reportDebitCard:
            enabled: true
            requiresIdentityChallenge: false
          lockDebitCard:
            enabled: true
            requiresIdentityChallenge: false
          unlockDebitCard:
            enabled: true
            requiresIdentityChallenge: true
          listDebitCardTravelNotifications:
            enabled: true
            requiresIdentityChallenge: false
          createDebitCardTravelNotification:
            enabled: true
            requiresIdentityChallenge: false
          getDebitCardTravelNotification:
            enabled: true
            requiresIdentityChallenge: false
          patchDebitCardTravelNotification:
            enabled: true
            requiresIdentityChallenge: false
          deleteDebitCardTravelNotification:
            enabled: true
            requiresIdentityChallenge: false
          listDebitCardRegions:
            enabled: true
            requiresIdentityChallenge: false
          createDebitCardRegion:
            enabled: true
            requiresIdentityChallenge: false
          getDebitCardRegion:
            enabled: true
            requiresIdentityChallenge: false
          patchDebitCardRegion:
            enabled: true
            requiresIdentityChallenge: false
          deleteDebitCardRegion:
            enabled: true
            requiresIdentityChallenge: false
        merchantCategories:
          - ageRestricted
          - education
          - entertainment
          - foodAndDining
          - giftsAndDonations
          - household
          - insurance
          - personalCare
          - shopping
          - transportation
          - travel
          - other
        cardRegionType: coordinates
    debitCardOperations:
      x-apiture-version: 2.0.0
      title: Debit Card Operations (v2.0.0)
      description: API operations for debit cards within Apiture Digital Banking.
      type: object
      required:
        - listCustomerDebitCards
        - getCustomerDebitCard
        - getCustomerDebitCardUnmaskedProperties
        - lockCustomerDebitCard
        - unlockCustomerDebitCard
        - createCustomerDebitCardChallenge
        - listDebitCards
        - getDebitCard
        - getDebitCardUnmaskedProperties
        - createDebitCardChallenge
        - changeDebitCardPin
        - listDebitCardTransactions
        - getDebitCardTransactionRules
        - patchDebitCardTransactionRules
        - getDebitCardAlerts
        - patchDebitCardAlertSubscriptions
        - activateDebitCard
        - reportDebitCard
        - lockDebitCard
        - unlockDebitCard
        - listDebitCardTravelNotifications
        - createDebitCardTravelNotification
        - getDebitCardTravelNotification
        - patchDebitCardTravelNotification
        - deleteDebitCardTravelNotification
        - listDebitCardRegions
        - createDebitCardRegion
        - getDebitCardRegion
        - patchDebitCardRegion
        - deleteDebitCardRegion
      properties:
        listCustomerDebitCards:
          $ref: '#/components/schemas/cardProviderOperation'
        getCustomerDebitCard:
          $ref: '#/components/schemas/cardProviderOperation'
        getCustomerDebitCardUnmaskedProperties:
          description: |-
            Describes if and how a client may access various card-specific operations in this API.

            This operation is tied to parameterized functionality within the `getCustomerDebitCard` operation. The intent is to clarify that while `getCustomerDebitCard` may not require an identity challenge, this feature of the operation may.
          allOf:
            - $ref: '#/components/schemas/cardProviderOperation'
        lockCustomerDebitCard:
          $ref: '#/components/schemas/cardProviderOperation'
        unlockCustomerDebitCard:
          $ref: '#/components/schemas/cardProviderOperation'
        createCustomerDebitCardChallenge:
          $ref: '#/components/schemas/cardProviderOperation'
        listDebitCards:
          $ref: '#/components/schemas/cardProviderOperation'
        getDebitCard:
          $ref: '#/components/schemas/cardProviderOperation'
        getDebitCardUnmaskedProperties:
          description: |-
            Describes if and how a client may access various card-specific operations in this API.

            This operation is tied to parameterized functionality within the `getDebitCard` operation. The intent is to clarify that while `getDebitCard` may not require an identity challenge, this feature of the operation may.
          allOf:
            - $ref: '#/components/schemas/cardProviderOperation'
        createDebitCardChallenge:
          $ref: '#/components/schemas/cardProviderOperation'
        changeDebitCardPin:
          $ref: '#/components/schemas/cardProviderOperation'
        listDebitCardTransactions:
          $ref: '#/components/schemas/cardProviderOperation'
        getDebitCardTransactionRules:
          $ref: '#/components/schemas/cardProviderOperation'
        patchDebitCardTransactionRules:
          $ref: '#/components/schemas/cardProviderOperation'
        getDebitCardAlerts:
          $ref: '#/components/schemas/cardProviderOperation'
        patchDebitCardAlertSubscriptions:
          $ref: '#/components/schemas/cardProviderOperation'
        activateDebitCard:
          $ref: '#/components/schemas/cardProviderOperation'
        reportDebitCard:
          $ref: '#/components/schemas/cardProviderOperation'
        lockDebitCard:
          $ref: '#/components/schemas/cardProviderOperation'
        unlockDebitCard:
          $ref: '#/components/schemas/cardProviderOperation'
        listDebitCardTravelNotifications:
          $ref: '#/components/schemas/cardProviderOperation'
        createDebitCardTravelNotification:
          $ref: '#/components/schemas/cardProviderOperation'
        getDebitCardTravelNotification:
          $ref: '#/components/schemas/cardProviderOperation'
        patchDebitCardTravelNotification:
          $ref: '#/components/schemas/cardProviderOperation'
        deleteDebitCardTravelNotification:
          $ref: '#/components/schemas/cardProviderOperation'
        listDebitCardRegions:
          $ref: '#/components/schemas/cardProviderOperation'
        createDebitCardRegion:
          $ref: '#/components/schemas/cardProviderOperation'
        getDebitCardRegion:
          $ref: '#/components/schemas/cardProviderOperation'
        patchDebitCardRegion:
          $ref: '#/components/schemas/cardProviderOperation'
        deleteDebitCardRegion:
          $ref: '#/components/schemas/cardProviderOperation'
    debitCardTravelNotificationItem:
      x-apiture-version: 2.0.0
      title: Debit Card Travel Notification Item (v2.0.0)
      description: Summary representation of a travel notification resource in travel notifications collections. To fetch the full representation of this debit card travel notification, use the [`getDebitCardTravelNotification`](#op-getDebitCardTravelNotification) operation, passing this item's `id` field as the `travelNotificationId` path parameter.
      type: object
      required:
        - id
        - departingOn
        - returningOn
        - countryCode
        - allows
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - $ref: '#/components/schemas/travelNotificationFields'
        - $ref: '#/components/schemas/travelNotificationImmutableFields'
      example:
        id: 0399abed-fd3d
        departingOn: '2024-06-01'
        returningOn: '2024-06-10'
        countryCode: US
        regionCode: FL
        phoneNumber: '5555555555'
        notes: Disney, Universal and Sea World
        allows:
          edit: false
          delete: false
    debitCardTravelNotifications:
      x-apiture-version: 2.0.0
      title: Debit Card Travel Notification Collection (v2.0.0)
      description: Collection of debit card travel notifications. The items in the collection are ordered in the `items` array.
      type: object
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - type: object
          required:
            - items
          properties:
            items:
              description: An array containing debit card travel notification items.
              type: array
              maxItems: 100
              items:
                $ref: '#/components/schemas/debitCardTravelNotificationItem'
      example:
        items:
          - id: ebf3709442ea-4836
            departingOn: '2024-11-03'
            returningOn: '2024-11-17'
            countryCode: UK
            phoneNumber: '5555555555'
            notes: Visiting family
            allows:
              edit: false
              delete: false
          - id: 0399abed-fd3d
            departingOn: '2024-06-01'
            returningOn: '2024-06-10'
            countryCode: US
            regionCode: FL
            phoneNumber: '5555555555'
            notes: Disney, Universal and Sea World
            allows:
              edit: false
              delete: false
          - id: d62c0701-0d74-4836-83f9-ebf3709442ea
            departingOn: '2024-03-20'
            returningOn: '2024-03-24'
            countryCode: US
            regionCode: DC
            phoneNumber: '5555555555'
            allows:
              edit: false
              delete: false
    debitCardTransactions:
      x-apiture-version: 2.0.1
      title: Debit Card Transactions Collection (v2.0.1)
      description: Collection of debit card transactions. The response object may contain the `nextPage_url` pagination link.
      type: object
      required:
        - items
      allOf:
        - $ref: '#/components/schemas/abstractPagedBody'
        - type: object
          properties:
            items:
              description: An array containing a page of transaction items.
              type: array
              maxItems: 100
              items:
                $ref: '#/components/schemas/cardTransactionItem'
      example:
        start: d1b48af913464aa49fcb07065dcc0616
        limit: 10
        nextPage_url: https://static.api.apiture.com/banking/accounts/0399abed-fd3d/debitCards/d2d01f5e-f64a/transactions?start=6117a4dcefb841cab7316cef1ac8b58c&limit=10
        items:
          - occurredOn: '2024-01-16'
            description: '**MACYS1234'
            amount: '52.05'
            direction: credit
          - occurredOn: '2024-01-15'
            description: '**MACYS1234'
            amount: '-52.05'
            direction: debit
          - occurredOn: '2024-01-13'
            description: '**WALMART1337'
            amount: '-49.85'
            direction: debit
    debitCardFields:
      x-apiture-version: 2.3.0
      title: Debit Card Fields (v2.3.0)
      description: Fields used to construct other banking debit card schemas.
      x-apiture-fragment: true
      properties:
        id:
          description: The unique identifier for this debit card resource. This is an immutable opaque string.
          $ref: '#/components/schemas/externalResourceId'
        type:
          $ref: '#/components/schemas/cardType'
        state:
          $ref: '#/components/schemas/debitCardState'
        issuerIdentificationNumber:
          $ref: '#/components/schemas/issuerIdentificationNumber'
        displayName:
          description: The name printed on a physical card, or associated with a digitally issued card.
          type: string
          format: text
          minLength: 3
          maxLength: 50
        lockedBy:
          description: If `state` is `locked`, the customer or member who initiated the lock on this debit card.
          $ref: '#/components/schemas/userAccountReference'
        lockedAt:
          description: If `state` is `locked`, the date-time when this debit card was locked, in [RFC 3339](https://tools.ietf.org/html/rfc3339) date-time `YYYY-MM-DDThh:mm:ss.sssZ` format, UTC. This is derived and immutable.
          $ref: '#/components/schemas/timestamp'
        maskedAccountNumber:
          $ref: '#/components/schemas/maskedCardPersonalAccountNumber'
        allows:
          $ref: '#/components/schemas/debitCardAllows'
    debitCardItem:
      x-apiture-version: 5.2.0
      title: Debit Card Summary Item (v5.2.0)
      description: Summary representation of a debit card resource.
      required:
        - id
        - type
        - state
        - displayName
        - cardholder
        - maskedAccountNumber
        - allows
      allOf:
        - $ref: '#/components/schemas/debitCardFields'
        - type: object
          properties:
            cardholder:
              description: Properties describing the cardholder.
              $ref: '#/components/schemas/cardholderSummary'
      example:
        id: 0399abed-fd3d
        type: physical
        state: active
        issuerIdentificationNumber: '4242'
        displayName: PHIL DUCIARY
        cardholder:
          name: Phil Duciary
        maskedAccountNumber: '*1000'
        allows:
          activate: false
          viewTransactions: true
          viewUnmaskedSecurityCode: true
          reportLost: true
          reportFound: false
          reportStolen: true
          reportDamaged: true
          lock: true
          unlock: false
          changePin: true
          manageTravelNotifications: true
    debitCards:
      x-apiture-version: 4.2.0
      title: Debit Cards (v4.2.0)
      description: Collection of debit cards.
      type: object
      required:
        - items
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - type: object
          properties:
            items:
              description: An array containing debit card items.
              type: array
              maxItems: 1000
              items:
                $ref: '#/components/schemas/debitCardItem'
      example:
        items:
          - id: 0399abed-fd3d
            type: physical
            state: active
            issuerIdentificationNumber: '4242'
            displayName: PHIL DUCIARY
            cardholder:
              name: Phil Duciary
              type: primary
            maskedAccountNumber: '*1000'
            allows:
              activate: false
              viewTransactions: true
              viewUnmaskedSecurityCode: true
              reportLost: true
              reportFound: false
              reportStolen: true
              reportDamaged: true
              lock: true
              unlock: false
              changePin: true
              manageTravelNotifications: true
    debitCard:
      x-apiture-version: 7.0.0
      title: Debit Card (v7.0.0)
      description: Representation of a debit card resource.
      type: object
      required:
        - id
        - type
        - state
        - displayName
        - cardholder
        - maskedAccountNumber
        - allows
      allOf:
        - $ref: '#/components/schemas/debitCardFields'
        - type: object
          properties:
            securityCode:
              description: The card's security code. This property is only present if the request includes `securityCode` in the list of requested `unmasked` values and if `allows.viewUnmaskedSecurityCode` is `true`.
              $ref: '#/components/schemas/cardSecurityCode'
            fullAccountNumber:
              description: The account's full account number. This property is only present if the request includes `?unmasked=` with `cardNumber` included.
              $ref: '#/components/schemas/fullCardPersonalAccountNumber'
            expirationMonth:
              $ref: '#/components/schemas/cardExpirationMonth'
            expirationYear:
              $ref: '#/components/schemas/cardExpirationYear'
            cardholder:
              $ref: '#/components/schemas/cardholder'
            pinExpirationDate:
              description: If included, the date that the current Personal Identification Number (PIN) expires for this debit card.
              $ref: '#/components/schemas/date'
      example:
        id: 0399abed-fd3d
        type: physical
        state: active
        issuerIdentificationNumber: '4242'
        displayName: PHIL DUCIARY
        cardholder:
          name: Phil Duciary
          type: primary
          address:
            address1: 1805 Tiburon Dr.
            locality: Wilmington
            regionCode: NC
            countryCode: US
            postalCode: '28403'
        maskedAccountNumber: '*1000'
        expirationMonth: '12'
        expirationYear: '29'
        allows:
          activate: false
          viewTransactions: true
          viewUnmaskedSecurityCode: true
          reportLost: true
          reportFound: false
          reportStolen: true
          reportDamaged: true
          lock: true
          unlock: false
          changePin: true
          manageTravelNotifications: true
    debitCardState:
      x-apiture-version: 1.1.0
      title: Debit Card State (v1.1.0)
      description: |+
        The state of the debit card issued for the debit card account.

        <strong><code>debitCardState</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>active</code></strong></td><td>Active: <p>The debit card is active</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>inactive</code></strong></td><td>Inactive: <p>The debit card is inactive</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>locked</code></strong></td><td>Locked: <p>The debit card is locked and unable to be used for transactions</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>disabled</code></strong></td><td>Disabled: <p>The debit card is disabled and unable to be used for transactions. Contact the issuing financial institution for additional information.</p>
        </td>
            </tr>
        </table>

      type: string
      x-apiture-enum: debitCardState
      $comment: Additional states will be added as needed, such as frozen or locked.
      enum:
        - active
        - inactive
        - locked
        - disabled
    debitCardAllows:
      x-apiture-version: 3.1.0
      title: Debit Card Allows (v3.1.0)
      description: Flags which indicate the permissions the current authorized user has on this debit card resource.
      required:
        - activate
        - viewTransactions
        - viewUnmaskedSecurityCode
        - reportLost
        - reportFound
        - reportStolen
        - reportDamaged
        - lock
        - unlock
        - changePin
        - manageTravelNotifications
      type: object
      properties:
        activate:
          description: |-
            If `true`, the currently authenticated user is authorized to [`activate`](#op-activateDebitCard) the debit card and the card's state allows activation.

            Debit cards may be activated when their `state` is `inactive` or `disabled`.
          type: boolean
        viewTransactions:
          description: If `true`, the currently authenticated user is authorized to [`view debit card transactions`](#op-listDebitCardTransactions).
          type: boolean
        viewUnmaskedSecurityCode:
          description: If `true`, the currently authenticated user is authorized to view the unmasked security code for the debit card.
          type: boolean
        reportLost:
          description: If `true`, the currently authenticated user is authorized to [`report`](#op-reportDebitCard) the card as lost for replacement.
          type: boolean
        reportFound:
          description: If `true`, the currently authenticated user is authorized to report a lost card as found, canceling replacement.
          type: boolean
        reportStolen:
          description: If `true`, the currently authenticated user is authorized to [`report`](#op-reportDebitCard) the card as stolen for replacement.
        reportDamaged:
          description: If `true`, the currently authenticated user is authorized to [`report`](#op-reportDebitCard) the card as damaged for reissuing.
          type: boolean
        lock:
          description: If `true`, the currently authenticated user is authorized to [`lock`](#op-lockDebitCard) the debit card and the card's state allows locking.
          type: boolean
        unlock:
          description: If `true`, the currently authenticated user is authorized to [`unlock`](#op-unlockDebitCard) the debit card and the card's state allows unlocking.
          type: boolean
        changePin:
          description: If `true`, the currently authenticated user is authorized to [`change`](#op-changeDebitCardPin) the debit card PIN.
          type: boolean
        manageTravelNotifications:
          description: If `true`, the currently authenticated user is authorized to `manage travel notifications` for this debit card resource.
          type: boolean
    debitCardActivationRequest:
      title: Debit Card Activation Request (v1.0.0)
      description: Representation used to activate a debit card.
      required:
        - cardNumber
        - expirationMonth
        - expirationYear
        - securityCode
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - type: object
          properties:
            cardNumber:
              description: The full account number of the debit card being activated.
              $ref: '#/components/schemas/fullCardPersonalAccountNumber'
            expirationMonth:
              description: The month the card expires at the end of, in MM format.
              $ref: '#/components/schemas/cardExpirationMonth'
            expirationYear:
              description: The last two digits of the year the card expires at the end of.
              $ref: '#/components/schemas/cardExpirationYear'
            securityCode:
              description: The security code associated with the debit card being activated. This is the Card Validation Code (CVC) or Card Validation Value (CVV) on the physical card.
              $ref: '#/components/schemas/cardSecurityCode'
      example:
        cardNumber: '4242424242424242'
        expirationMonth: '03'
        expirationYear: '28'
        securityCode: '311'
      x-apiture-version: 1.0.0
    debitCardMaskedProperties:
      title: Debit Card Masked Properties (v1.0.0)
      description: |+
        Debit card properties that are masked by default. The unmasked values of the properties can be requested using the `?unmasked=` query parameter. Such requests are auditable.

        <strong><code>debitCardMaskedProperties</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>fullAccountNumber</code></strong></td><td>Full Account Number: <p>The full Personal Account Number (PAN) of a debit card</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>securityCode</code></strong></td><td>Security Code: <p>The security code of a debit card</p>
        </td>
            </tr>
        </table>

      type: string
      x-apiture-enum: debitCardMaskedProperties
      enum:
        - fullAccountNumber
        - securityCode
      x-apiture-version: 1.0.0
    cardOperationChallengeRequest:
      title: Card Operation Challenge Request (v1.0.0)
      description: Properties to manually issue a challenge for card operations.
      required:
        - type
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - type: object
          properties:
            type:
              $ref: '#/components/schemas/cardOperationChallengeType'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardOperationChallengeRequest
      x-apiture-version: 1.0.0
    requiredIdentityChallenge:
      x-apiture-version: 1.2.3
      title: Required Challenge (v1.2.3)
      description: A request from the service for the user to verify their identity. This contains a challenge ID, the corresponding operation ID, and a list of challenge factors for identity verification. The user must complete one of these challenge factors to satisfy the challenge. This schema defines the attributes in the 401 [Unauthorized problem response](#schema-apiProblem) when the 401 problem type name is `challengeRequired`. See the "Challenge API" for details.
      type: object
      required:
        - operationId
        - challengeId
        - factors
      properties:
        operationId:
          $ref: '#/components/schemas/challengeOperationId'
        challengeId:
          description: The unique ID of this challenge instance. This is an opaque string. This is passed when starting a challenge factor or when validating the identity challenge responses.
          $ref: '#/components/schemas/readOnlyResourceId'
        factors:
          description: 'A list of challenge factors. The user must complete one of these challenge factors. The `labels` in each factor identify one or more channels the user may use, such as a list of email addresses the system may use to send a one-time passcode to the user. ***Note**: The same channel may be used by multiple factors in the array of factors. For example, the user''s primary mobile phone number may be used for both an `sms` factor and a `voice` factor.'
          type: array
          minItems: 1
          maxItems: 8
          items:
            $ref: '#/components/schemas/challengeFactor'
      example:
        operationId: createTransfer
        challengeId: 0504076c566a3cf7009c
        factors:
          - type: sms
            labels:
              - '9876'
            id: 85c0ee5753fcd0b0953f
          - type: voice
            labels:
              - '9876'
            id: d089e10a80a8627df37b
          - type: voice
            labels:
              - '6754'
            id: 10506ecf9d1c2ee00403
          - type: email
            labels:
              - an****nk@example.com
              - an****98@example.com
            id: e917d671cb2f030b56f1
          - type: authenticatorToken
            labels:
              - Acme fob
            id: fe6c452d7da0bbb4e407
          - type: securityQuestions
            securityQuestions:
              questions:
                - id: q1
                  prompt: What is your mother's maiden name?
                - id: q4
                  prompt: What is your high school's name?
                - id: q9
                  prompt: What is the name of your first pet?
            id: df33c6f88a37d6b3f0a6
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/requiredIdentityChallenge
    cardPinChange:
      title: Card PIN Change (v1.0.0)
      description: Representation used to change a personal identification number (PIN) for a card.
      type: object
      required:
        - currentPin
        - newPin
      properties:
        currentPin:
          description: The current personal identification number (PIN) for the card.
          allOf:
            - $ref: '#/components/schemas/cardPin'
        newPin:
          description: The requested new personal identification number (PIN) for a card. This must be different than the current PIN.
          allOf:
            - $ref: '#/components/schemas/cardPin'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardPinChange
      x-apiture-version: 1.0.0
    problemResponse:
      title: Problem Response (v0.4.1)
      x-apiture-version: 0.4.1
      description: API problem or error response, as per [RFC 9457 application/problem+json](https://tools.ietf.org/html/rfc9457).
      type: object
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - $ref: '#/components/schemas/apiProblem'
      example:
        id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
        type: https://static.api.apiture.com/errors/noSuchAccount/v1.0.0
        title: Account Not Found
        status: 422
        occurredAt: '2022-04-25T12:42:21.375Z'
        detail: No account exists for the given account reference
        instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/problemResponse
    cardTransactionRules:
      x-apiture-version: 5.0.0
      title: Card Transaction Rules (v5.0.0)
      description: Representation of thresholds or values to have card transactions automatically declined.
      required:
        - transactionLimit
        - monthlySpendingLimit
        - allowInternationalTransactions
        - authorizedRegions
        - merchantCategories
        - transactionCategories
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - $ref: '#/components/schemas/cardTransactionRulesFields'
        - type: object
          properties:
            authorizedRegions:
              description: Decline any transactions attempted by this card that do not originate in the defined authorized regions. An empty array means there are no region restrictions for transaction authorization.
              type: array
              minItems: 0
              maxItems: 3
              uniqueItems: true
              items:
                $ref: '#/components/schemas/cardRegionItem'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardTransactionRules
    cardTransactionRulesPatch:
      x-apiture-version: 5.0.0
      title: Card Transaction Rules Patch (v5.0.0)
      description: |-
        Representation used to patch existing card transaction rules using the [JSON Merge Patch](https://datatracker.ietf.org/doc/html/rfc7396) format and processing rules. Only included fields are updated on the resource; fields which are omitted are not updated.

        Changes to card transaction rule configurations may result in no operations performed when triggered.
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - $ref: '#/components/schemas/cardTransactionRulesFields'
        - type: object
          properties:
            authorizedRegions:
              description: Decline any transactions attempted by this card that do not originate in the defined authorized regions. An empty array means there are no region restrictions for transaction authorization.
              type: array
              minItems: 0
              maxItems: 3
              uniqueItems: true
              items:
                $ref: '#/components/schemas/cardRegionReference'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardTransactionRulesPatch
    cardAlertSubscriptions:
      x-apiture-version: 4.0.0
      title: Card Alert Subscriptions (v4.0.0)
      description: Representation of alert subscriptions for a card account.
      required:
        - transactionLimit
        - monthlySpendingLimit
        - transactionOccurred
        - transactionDeclined
        - merchantCategories
        - transactionCategories
        - allowedRegions
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - $ref: '#/components/schemas/cardAlertSubscriptionPropertyFields'
        - type: object
          properties:
            allowedRegions:
              $ref: '#/components/schemas/cardAlertSubscriptionAllowedRegions'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardAlertSubscriptions
    cardAlertSubscriptionsPatch:
      x-apiture-version: 3.0.0
      description: |-
        Representation used to patch existing card alert subscriptions using the [JSON Merge Patch](https://datatracker.ietf.org/doc/html/rfc7396) format and processing rules. Only included fields are updated on the resource; fields which are omitted are not updated.

        Changes to alert subscription configurations may result in no operations performed when triggered.
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - $ref: '#/components/schemas/cardAlertSubscriptionPropertyFields'
        - type: object
          properties:
            allowedRegions:
              $ref: '#/components/schemas/cardAlertSubscriptionAllowedRegionsPatch'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardAlertSubscriptionsPatch
      title: ' (v3.0.0)'
    cardReportedRequest:
      x-apiture-version: 2.0.0
      title: Card Reported Request (v2.0.0)
      description: Request body for reporting a card as lost, stolen, or damaged.
      type: object
      required:
        - type
        - dateLost
        - pinCompromised
      properties:
        type:
          description: The reason the card is being reported.
          $ref: '#/components/schemas/cardLossType'
        primaryCardholderDateOfBirth:
          description: The date of birth of the primary cardholder for this credit card account formatted in `YYYY-MM-DD` [RFC 3339](https://tools.ietf.org/html/rfc3339) `date` UTC format.
          allOf:
            - $ref: '#/components/schemas/date'
        dateLost:
          description: The date that any of the cards in this credit card account were discovered as lost, formatted in `YYYY-MM-DD` [RFC 3339](https://tools.ietf.org/html/rfc3339) `date` UTC format.
          allOf:
            - $ref: '#/components/schemas/date'
        lastUsedDate:
          description: The last known date that any of the cards in this credit card account were used for a valid transaction, formatted in `YYYY-MM-DD` [RFC 3339](https://tools.ietf.org/html/rfc3339) `date` UTC format.
          allOf:
            - $ref: '#/components/schemas/date'
        alternativeShippingMethod:
          description: |-
            An alternative shipping method for delivering the replacement cards. Submitted card replacement requests are not affected by changes made by the financial institution to the available shipping methods.

            If excluded, the replacement cards are delivered using standard mail.
          allOf:
            - $ref: '#/components/schemas/cardShippingMethod'
        temporaryMailingAddress:
          description: |-
            A temporary mailing address to deliver the replacement cards.

            If excluded, the replacement cards are sent to the customer or member's default mailing address.
          allOf:
            - $ref: '#/components/schemas/address'
        pinCompromised:
          description: If `true`, the personal identification number (PIN) for the card needs to be changed.
          type: boolean
        additionalInformation:
          description: Additional information to be shared with the financial institution about this card replacement request.
          type: array
          minItems: 0
          maxItems: 3
          uniqueItems: true
          items:
            type: string
            description: A line of additional information regarding this replacement request.
            format: text
            maxLength: 75
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardReportedRequest
    newTravelNotification:
      title: New Travel Notification (v1.0.0)
      description: Representation used to create a new travel notification.
      required:
        - departingOn
        - returningOn
        - countryCode
        - phoneNumber
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - $ref: '#/components/schemas/travelNotificationFields'
      example:
        departingOn: '2024-06-01'
        returningOn: '2024-06-10'
        countryCode: US
        regionCode: FL
        phoneNumber: '5555555555'
        notes: Disney, Universal and Sea World
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/newTravelNotification
      x-apiture-version: 1.0.0
    travelNotification:
      x-apiture-version: 2.0.0
      title: Travel Notification (v2.0.0)
      description: Representation of a travel notification resource.
      type: object
      required:
        - id
        - departingOn
        - returningOn
        - countryCode
        - phoneNumber
        - allows
      allOf:
        - $ref: '#/components/schemas/travelNotificationFields'
        - $ref: '#/components/schemas/travelNotificationImmutableFields'
      example:
        id: 0399abed-fd3d
        departingOn: '2024-06-01'
        returningOn: '2024-06-10'
        countryCode: US
        regionCode: FL
        phoneNumber: '5555555555'
        notes: Disney, Universal and Sea World
        allows:
          edit: false
          delete: false
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/travelNotification
    travelNotificationPatch:
      title: Travel Notification Patch Request (v1.0.0)
      description: Representation used to patch a travel notification using the [JSON Merge Patch](https://datatracker.ietf.org/doc/html/rfc7396) format and processing rules.
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - $ref: '#/components/schemas/travelNotificationFields'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/travelNotificationPatch
      x-apiture-version: 1.0.0
    cardRegions:
      x-apiture-version: 2.0.0
      title: Card Region Collection (v2.0.0)
      description: Collection of card regions. The items in the collection are ordered in the `items` array.
      type: object
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - type: object
          required:
            - items
          properties:
            items:
              description: An array containing a page of card region items.
              type: array
              maxItems: 100
              items:
                $ref: '#/components/schemas/cardRegionItem'
      example:
        items:
          - id: 0399abed-fd3d
            name: Disney World's Magic Kingdom
            type: coordinates
            coordinates:
              latitude: 28.4188
              longitude: -81.5818
              radius: 5mi
          - id: d62c0701-0d74-4836-83f9-ebf3709442ea
            name: Washington D.C.
            type: coordinates
            coordinates:
              latitude: 38.8875
              longitude: -77.0364
              radius: 3mi
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardRegions
    newCardRegion:
      x-apiture-version: 2.0.0
      title: New Card Region (v2.0.0)
      description: Representation used to create a geographical region for a card.
      type: object
      required:
        - name
        - type
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - $ref: '#/components/schemas/cardRegionFields'
      example:
        name: Disney World's Magic Kingdom
        type: coordinates
        coordinates:
          latitude: 28.4188
          longitude: -81.5818
          radius: 5mi
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/newCardRegion
    cardRegion:
      x-apiture-version: 2.0.0
      title: Card Region (v2.0.0)
      description: Representation of a named card region resource.
      type: object
      required:
        - id
        - name
        - type
      allOf:
        - $ref: '#/components/schemas/cardRegionFields'
        - type: object
          properties:
            id:
              description: The unique identifier for this region resource. This is an immutable opaque string.
              allOf:
                - $ref: '#/components/schemas/externalResourceId'
      example:
        id: 0399abed-fd3d
        name: Disney World's Magic Kingdom
        type: coordinates
        coordinates:
          latitude: 28.4188
          longitude: -81.5818
          radius: 5mi
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardRegion
    cardRegionPatch:
      x-apiture-version: 2.0.0
      title: Card Region Patch (v2.0.0)
      description: Representation used to patch a named card region resource.
      type: object
      allOf:
        - $ref: '#/components/schemas/cardRegionFields'
      example:
        name: Disney World's Magic Kingdom Park
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardRegionPatch
    externalResourceId:
      x-apiture-version: 1.1.0
      title: External Resource Identifier (v1.1.0)
      description: The unique, opaque system identifier for an external resource. This case-sensitive ID is also used as path parameters in URLs or in other properties or parameters that reference an external resource by ID rather than URL.
      type: string
      format: text
      readOnly: true
      minLength: 1
      maxLength: 256
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/externalResourceId
    challengeToken:
      x-apiture-version: 1.1.0
      title: Challenge Token (v1.1.0)
      description: The value of the identity `Challenge` request header that the client must send when retrying an operation which required a challenge.
      type: string
      pattern: ^[-_:.~%$a-zA-Z0-9]{6,255}$
      minLength: 6
      maxLength: 255
      x-resolved-from: ../../challenges/openapi.yaml#/components/schemas/challengeToken
    resourceId:
      x-apiture-version: 1.0.1
      title: Resource Identifier (v1.0.1)
      description: The unique, opaque system identifier for a resource. This case-sensitive ID is also used as path parameters in URLs or in other properties or parameters that reference a resource by ID rather than URL.
      type: string
      pattern: ^[-_:.~$a-zA-Z0-9]{6,48}$
      minLength: 6
      maxLength: 48
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/resourceId
    abstractBody:
      title: Abstract Body (v0.2.0)
      x-apiture-version: 0.2.0
      description: An abstract schema used to define other request and response body model schemas.
      x-apiture-fragment: true
      type: object
      properties: {}
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/abstractBody
    cardProviderContext:
      title: Card Provider Context (v1.0.0)
      description: |+
        The context of the card provider, indicating which operations to use for listing cards, retrieving card details, and others.

        <strong><code>cardProviderContext</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>account</code></strong></td><td>Account: <p>The card provider operations use an account context</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>customer</code></strong></td><td>Customer/Member: <p>The card provider operations use a customer or member context</p>
        </td>
            </tr>
        </table>

      type: string
      x-apiture-enum: cardProviderContext
      enum:
        - account
        - customer
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardProviderContext
      x-apiture-version: 1.0.0
    cardMerchantCategories:
      x-apiture-version: 1.1.0
      title: Card Merchant Categories (v1.1.0)
      description: |+
        Categories of card merchants for alerts and transaction rules.

        <strong><code>cardMerchantCategories</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>ageRestricted</code></strong></td><td>Age Restricted: <p>A merchant providing goods or services with age restrictions, such as gambling or liquor</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>ageRestricted.drinkingPlaces</code></strong></td><td>Age Restricted - Drinking Places: <p>A merchant that sells alcoholic beverages for consumption on the premises, such as bars, pubs, or clubs</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>ageRestricted.gambling</code></strong></td><td>Age Restricted - Gambling: <p>A merchant offering games of chance or betting services, including casinos, lotteries, and sports betting</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>ageRestricted.liquorAndCigarStores</code></strong></td><td>Age Restricted - Liquor and Cigar Stores: <p>A merchant that specializes in the sale of alcoholic beverages and tobacco products, including cigars</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>ageRestricted.dating</code></strong></td><td>Age Restricted - Dating: <p>A merchant offering services for personal matchmaking or dating platforms that require age verification</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>education</code></strong></td><td>Education: <p>A merchant that provides educational services or supplies, including schools, tutoring, and course materials</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>education.tuitionFees</code></strong></td><td>Education - Tuition Fees: <p>A merchant charging fees for educational instruction, including universities, colleges, and private schools</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>education.books</code></strong></td><td>Education - Books: <p>A merchant that sells textbooks or educational materials, including physical and digital formats</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>entertainment</code></strong></td><td>Entertainment: <p>A merchant that provides entertainment services, such as an arcade or movie theater</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>entertainment.games</code></strong></td><td>Entertainment - Games: <p>A merchant that sells or provides access to video games, board games, or other interactive gaming experiences</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>entertainment.musicAndMovies</code></strong></td><td>Entertainment - Music and Movies: <p>A merchant offering music, movies, or streaming services, either through physical media or digital platforms</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>entertainment.parks</code></strong></td><td>Entertainment - Parks: <p>A merchant providing access to amusement or theme parks, including rides, shows, and other attractions</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>entertainment.other</code></strong></td><td>Entertainment - Other: <p>A merchant that offers other forms of entertainment not covered by the above categories, such as live events or virtual experiences</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>foodAndDining</code></strong></td><td>Food and Dining: <p>A merchant that provides food or beverages, either prepared or for later consumption</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>foodAndDining.restaurants</code></strong></td><td>Food and Dining - Restaurants: <p>A merchant that sells prepared foods</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>foodAndDining.groceries</code></strong></td><td>Food and Dining - Groceries: <p>A merchant that sells pre-packaged or fresh food products</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>giftsAndDonations</code></strong></td><td>Gifts and Donations: <p>A merchant that facilitates the purchase of gifts or charitable donations</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>giftsAndDonations.gifts</code></strong></td><td>Gifts and Donations - Gifts: <p>A merchant that sells items intended for gifting, such as flowers, greeting cards, or gift baskets</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>giftsAndDonations.donations</code></strong></td><td>Gifts and Donations - Donations: <p>A merchant that accepts contributions to charitable organizations or causes</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>household</code></strong></td><td>Household: <p>A merchant that sells household goods, such as rugs or lamps</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>household.maintenanceOrRepair</code></strong></td><td>Household - Maintenance or Repair: <p>A merchant that provides services or goods related to the maintenance or repair of a home, such as plumbing or electrical work</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>household.decorationOrImprovement</code></strong></td><td>Household - Decoration or Improvement: <p>A merchant offering products or services for home decoration or improvement, including furniture, paint, or renovation services</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>household.housekeeping</code></strong></td><td>Household - Housekeeping: <p>A merchant that provides cleaning or housekeeping services, either for regular maintenance or special occasions</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>household.cableUtilities</code></strong></td><td>Household - Cable Utilities: <p>A merchant that provides cable television services or related equipment</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>household.communicationUtilities</code></strong></td><td>Household - Communication Utilities: <p>A merchant that offers telephone, internet, or other communication services</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>household.security</code></strong></td><td>Household - Security: <p>A merchant providing home security systems, alarm monitoring, or surveillance equipment</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>household.chemicalUtilities</code></strong></td><td>Household - Chemical Utilities: <p>A merchant that offers chemical-based services or products for the home, such as pest control or pool maintenance</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>household.otherUtilities</code></strong></td><td>Household - Other Utilities: <p>A merchant offering other utilities services, such as electricity or water supply</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>household.rentalServices</code></strong></td><td>Household - Rental Services: <p>A merchant that rents household items or equipment, such as tools, furniture, or party supplies</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>household.laundry</code></strong></td><td>Household - Laundry: <p>A merchant providing laundry or dry-cleaning services, including self-service laundromats</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>insurance</code></strong></td><td>Insurance: <p>A merchant providing insurance services, including health, auto, home, or life insurance policies</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>personalCare</code></strong></td><td>Personal Care: <p>A merchant that sells personal care items</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>personalCare.pharmacy</code></strong></td><td>Personal Care - Pharmacy: <p>A merchant that sells prescription or over-the-counter medications, as well as health-related products</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>personalCare.beautyProducts</code></strong></td><td>Personal Care - Beauty Products: <p>A merchant offering beauty or skincare products, including makeup, lotions, or hair care items</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>personalCare.doctor</code></strong></td><td>Personal Care - Doctor: <p>A merchant providing medical services, such as general practitioners, specialists, or medical clinics</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>personalCare.sports</code></strong></td><td>Personal Care - Sports: <p>A merchant offering sports-related goods or services, such as fitness centers or sporting equipment</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>personalCare.wellness</code></strong></td><td>Personal Care - Wellness: <p>A merchant providing wellness services, such as spas, massage therapy, or alternative medicine</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>personalCare.childrenServices</code></strong></td><td>Personal Care - Children Services: <p>A merchant offering services specific to children, such as daycare, tutoring, or children&#39;s health care</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>shopping</code></strong></td><td>Shopping: <p>A merchant that sells consumer goods</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>shopping.clothing</code></strong></td><td>Shopping - Clothing: <p>A merchant that sells apparel, including formal wear, casual wear, or specialty items such as uniforms or costumes</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>shopping.electronics</code></strong></td><td>Shopping - Electronics: <p>A merchant that sells electronic devices or accessories, including computers, smartphones, and audio equipment</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>shopping.accessories</code></strong></td><td>Shopping - Accessories: <p>A merchant offering items to complement clothing or electronics, such as jewelry, bags, or cases</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>shopping.other</code></strong></td><td>Shopping - Other: <p>A merchant selling other consumer goods not categorized under clothing, electronics, or accessories</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>transportation</code></strong></td><td>Transportation: <p>A merchant providing services or goods for transportation, such as public transit, vehicle maintenance, or fuel</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>transportation.autoServices</code></strong></td><td>Transportation - Auto Services: <p>A merchant providing services related to vehicle maintenance or repair, including oil changes, tire services, or auto body work</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>transportation.gasOrFuel</code></strong></td><td>Transportation - Gas or Fuel: <p>A merchant that sells gasoline for vehicles. The merchant may also sell convenience items, such as snacks or beverages</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>transportation.parking</code></strong></td><td>Transportation - Parking: <p>A merchant providing parking services, including garages or metered parking facilities</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>transportation.toll</code></strong></td><td>Transportation - Toll: <p>A merchant that charges fees for access to certain roadways or bridges, typically via toll booths or automated systems</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>transportation.other</code></strong></td><td>Transportation - Other: <p>A merchant providing other transportation-related services, such as ride-sharing, taxis, or bicycles</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>travel</code></strong></td><td>Travel: <p>A merchant providing transportation services, such as an airline</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>travel.autoRentals</code></strong></td><td>Travel - Auto Rentals: <p>A merchant offering car rentals, including short-term or long-term vehicle hire</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>travel.airline</code></strong></td><td>Travel - Airline: <p>A merchant providing air travel services, including passenger flights or cargo transport</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>travel.train</code></strong></td><td>Travel - Train: <p>A merchant providing rail services for passenger or cargo transport, including trains or subways</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>travel.lodging</code></strong></td><td>Travel - Lodging: <p>A merchant offering overnight accommodations, such as hotels, motels, or vacation rentals</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>travel.other</code></strong></td><td>Travel - Other: <p>A merchant offering other travel-related services, such as cruises, tours, or travel agencies</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>other</code></strong></td><td>Other: <p>A merchant not matching other defined categories</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>other.atm</code></strong></td><td>Other - ATM: <p>A merchant providing access to automated teller machines for cash withdrawals or banking services</p>
        </td>
            </tr>
        </table>

      type: string
      x-apiture-enum: cardMerchantCategories
      enum:
        - ageRestricted
        - ageRestricted.drinkingPlaces
        - ageRestricted.gambling
        - ageRestricted.liquorAndCigarStores
        - ageRestricted.dating
        - education
        - education.tuitionFees
        - education.books
        - entertainment
        - entertainment.games
        - entertainment.musicAndMovies
        - entertainment.parks
        - entertainment.other
        - foodAndDining
        - foodAndDining.restaurants
        - foodAndDining.groceries
        - giftsAndDonations
        - giftsAndDonations.gifts
        - giftsAndDonations.donations
        - household
        - household.maintenanceOrRepair
        - household.decorationOrImprovement
        - household.housekeeping
        - household.cableUtilities
        - household.communicationUtilities
        - household.security
        - household.chemicalUtilities
        - household.otherUtilities
        - household.rentalServices
        - household.laundry
        - insurance
        - personalCare
        - personalCare.pharmacy
        - personalCare.beautyProducts
        - personalCare.doctor
        - personalCare.sports
        - personalCare.wellness
        - personalCare.childrenServices
        - shopping
        - shopping.clothing
        - shopping.electronics
        - shopping.accessories
        - shopping.other
        - transportation
        - transportation.autoServices
        - transportation.gasOrFuel
        - transportation.parking
        - transportation.toll
        - transportation.other
        - travel
        - travel.autoRentals
        - travel.airline
        - travel.train
        - travel.lodging
        - travel.other
        - other
        - other.atm
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardMerchantCategories
    cardRegionLocationType:
      title: Card Region Location Type (v1.0.0)
      description: |+
        The type of the location for this card region.

        <strong><code>cardRegionLocationType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>coordinates</code></strong></td><td>Coordinates: <p>The card region is defined by geographical coordinates and radius</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>address</code></strong></td><td>Address: <p>The card region is defined by an address</p>
        </td>
            </tr>
        </table>

      type: string
      x-apiture-enum: cardRegionLocationType
      enum:
        - coordinates
        - address
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardRegionLocationType
      x-apiture-version: 1.0.0
    cardProviderOperation:
      title: Card Provider Operation (v1.0.0)
      description: Describes if and how a client may access various card-specific operations in this API.
      type: object
      required:
        - enabled
        - requiresIdentityChallenge
      properties:
        enabled:
          description: When `true`, this operation is enabled for the card provider.
          type: boolean
        requiresIdentityChallenge:
          description: When `true`, this operation requires an identity challenge to be completed.
          type: boolean
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardProviderOperation
      x-apiture-version: 1.0.0
    travelNotificationFields:
      title: Travel Notification Fields (v1.0.0)
      description: Common fields of the travel notification resource used to build other model schemas.
      type: object
      x-apiture-fragment: true
      properties:
        departingOn:
          description: The date the travel begins in `YYYY-MM-DD` [RFC 3339](https://tools.ietf.org/html/rfc3339) `date` format.
          $ref: '#/components/schemas/date'
        returningOn:
          description: The date the travel ends in `YYYY-MM-DD` [RFC 3339](https://tools.ietf.org/html/rfc3339) `date` format.
          $ref: '#/components/schemas/date'
        countryCode:
          description: The country the customer or member is traveling to in the [ISO-3611 alpha-2](https://www.iso.org/glossary-for-iso-3166.html) format.
          $ref: '#/components/schemas/countryCode'
        regionCode:
          type: string
          maxLength: 2
          minLength: 2
          pattern: ^[A-Za-z]{2}$
          description: |-
            The state, district, or [outlying area](https://nrs.ed.gov/rt) where the customer or member is traveling when in the United States.

            This is required when `countryCode` is `US`.
          examples:
            - NC
            - DC
            - VT
        phoneNumber:
          description: The phone number where the member can be reached at while traveling.
          $ref: '#/components/schemas/simplePhoneNumber'
        notes:
          description: Notes from the customer or member regarding their travel.
          type: string
          format: text
          minLength: 1
          maxLength: 1000
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/travelNotificationFields
      x-apiture-version: 1.0.0
    travelNotificationImmutableFields:
      title: Travel Notification Immutable Fields (v1.0.0)
      description: Immutable fields used to compose other model schemas for travel notifications.
      x-apiture-fragment: true
      type: object
      properties:
        id:
          description: The unique identifier for this travel notification resource. This is an immutable opaque string.
          allOf:
            - $ref: '#/components/schemas/externalResourceId'
        allows:
          $ref: '#/components/schemas/travelNotificationAllows'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/travelNotificationImmutableFields
      x-apiture-version: 1.0.0
    abstractPagedBody:
      title: Abstract Paged Body (v0.5.1)
      x-apiture-version: 0.5.1
      description: An abstract schema used to define paginated collections of resources. Collection classes which extend this schema define an array of `items` which represent a page of data.
      x-apiture-fragment: true
      type: object
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - $ref: '#/components/schemas/abstractPagedBodyFields'
        - type: object
          properties:
            start:
              description: The opaque cursor that specifies the starting location of this page of items.
              type: string
              format: text
              maxLength: 256
      example:
        start: 1922a8531e8384cfa71b
        limit: 100
        nextPage_url: https://static.api.apiture.com/banking/resources?start=8b76b4a97dccad88890e&limit=100
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/abstractPagedBody
    cardTransactionItem:
      title: Card Transaction Item (v1.0.0)
      description: Representation of a transaction resource in the card transactions collection.
      type: object
      required:
        - occurredOn
        - description
        - amount
        - direction
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - type: object
          properties:
            occurredOn:
              description: The date of the transaction in `YYYY-MM-DD` [RFC 3339](https://tools.ietf.org/html/rfc3339) `date` format. This is derived and immutable.
              allOf:
                - $ref: '#/components/schemas/date'
            description:
              description: The transaction description assigned by the card provider.
              type: string
              format: text
              maxLength: 128
            amount:
              description: The monetary value of this card transaction. This is immutable.
              allOf:
                - $ref: '#/components/schemas/creditOrDebitValue'
            direction:
              description: The direction of the transaction. This is derived and immutable.
              allOf:
                - $ref: '#/components/schemas/cardTransactionDirection'
      example:
        occurredOn: '2024-01-16'
        description: '**MACYS1234'
        amount: '-52.05'
        direction: debit
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardTransactionItem
      x-apiture-version: 1.0.0
    cardType:
      title: Card Type (v1.0.0)
      description: |+
        Indicates whether the card is a physical or digitally issued card.

        <strong><code>cardType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>physical</code></strong></td><td>Physical: <p>A physically issued card</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>digital</code></strong></td><td>Digital: <p>A card that is only digitally issued</p>
        </td>
            </tr>
        </table>

      x-apiture-enum: cardType
      type: string
      enum:
        - physical
        - digital
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardType
      x-apiture-version: 1.0.0
    issuerIdentificationNumber:
      description: The issuer identification number (IIN) or bank identification number (BIN) of the card.
      type: string
      minLength: 4
      maxLength: 8
      pattern: ^\d{4,8}$
      example: '379790'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/issuerIdentificationNumber
      x-apiture-version: 1.0.0
      title: ' (v1.0.0)'
    userAccountReference:
      x-apiture-version: 2.0.0
      title: User Account Reference (v2.0.0)
      description: The representation of a user account.
      type: object
      required:
        - id
        - firstName
        - lastName
        - username
      properties:
        id:
          description: The immutable, unique, opaque identifier for the user.
          $ref: '#/components/schemas/resourceId'
        firstName:
          description: The user's first name.
          type: string
          format: text
          maxLength: 56
        lastName:
          description: The user's last name.
          type: string
          format: text
          maxLength: 56
        username:
          description: The user's login name.
          $ref: '#/components/schemas/customerUsername'
      example:
        id: 0399abed-fd3d
        firstName: Benny
        lastName: Billings
        username: bbillings
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/userAccountReference
    timestamp:
      title: Timestamp (v1.0.0)
      description: A timestamp (an instant in time) formatted in `YYYY-MM-DDThh:mm:ss.sssZ` [RFC 3339](https://tools.ietf.org/html/rfc3339) `date-time` UTC format.
      type: string
      minLength: 20
      maxLength: 30
      format: date-time
      example: '2021-10-30T19:06:04.250Z'
      x-apiture-since: 0.4.0
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/timestamp
      x-apiture-version: 1.0.0
    maskedCardPersonalAccountNumber:
      x-apiture-version: 1.0.1
      title: Masked Card Personal Account Number (v1.0.1)
      description: 'A masked card personal account number: an asterisk `*` followed by the last four digits of the full Personal Account Number (PAN).'
      type: string
      minLength: 5
      maxLength: 5
      pattern: ^\*\d{4}$
      examples:
        - '*1008'
        - '*0005'
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/maskedCardPersonalAccountNumber
    cardholderSummary:
      title: Cardholder Summary (v1.0.0)
      description: Summary information about the cardholder of an issued credit or debit card.
      required:
        - name
      allOf:
        - $ref: '#/components/schemas/cardholderFields'
      example:
        name: Phil Duciary
        type: primary
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/cardholderSummary
      x-apiture-version: 1.0.0
    cardSecurityCode:
      title: Card Security Code (v1.0.0)
      description: The Card Validation Code (CVC) or Card Validation Value (CVV) on a credit or debit card.
      type: string
      pattern: ^\d{3,4}$
      minLength: 3
      maxLength: 4
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/cardSecurityCode
      x-apiture-version: 1.0.0
    fullCardPersonalAccountNumber:
      title: Full Card Personal Account Number (v1.0.0)
      description: A full personal account number used in a credit or debit card. Spaces in requests are ignored. Spaces are omitted in responses.
      type: string
      pattern: ^\d{1}[0-9 ]{12,17}\d{1}$
      minLength: 14
      maxLength: 19
      examples:
        - '4242424242424242'
        - 4000 0566 5566 5556
        - '378282246310005'
        - 3714 496353 98431
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/fullCardPersonalAccountNumber
      x-apiture-version: 1.0.0
    cardExpirationMonth:
      title: Card Expiration Month (v1.0.0)
      description: The month portion of the card's MM/YY expiration in MM format.
      type: string
      pattern: ^(0[1-9]|1[012])$
      minLength: 2
      maxLength: 2
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/cardExpirationMonth
      x-apiture-version: 1.0.0
    cardExpirationYear:
      title: Card Expiration Year (v1.0.0)
      description: The year portion of the year of the card's MM/YY expiration, in YY format (last two digits)
      type: string
      pattern: ^\d{2}$
      minLength: 2
      maxLength: 2
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/cardExpirationYear
      x-apiture-version: 1.0.0
    cardholder:
      x-apiture-version: 1.1.0
      title: Cardholder (v1.1.0)
      description: Information about the cardholder of an issued credit or debit card.
      required:
        - name
      allOf:
        - $ref: '#/components/schemas/cardholderFields'
        - type: object
          properties:
            address:
              $ref: '#/components/schemas/address'
      example:
        name: Phil Duciary
        type: primary
        address:
          address1: 1805 Tiburon Dr.
          locality: Wilmington
          regionCode: NC
          countryCode: US
          postalCode: '28403'
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/cardholder
    date:
      title: Date (v1.0.0)
      description: A date formatted in `YYYY-MM-DD` [RFC 3339](https://tools.ietf.org/html/rfc3339) `date` UTC format.
      type: string
      minLength: 10
      maxLength: 10
      format: date
      example: '2021-10-30'
      x-apiture-since: 0.5.0
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/date
      x-apiture-version: 1.0.0
    cardOperationChallengeType:
      x-apiture-version: 1.1.0
      title: Card Operation Challenge Type (v1.1.0)
      description: |+
        Types of operations available for card identity challenges.

        <strong><code>cardOperationChallengeType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>unmaskCardProperties</code></strong></td><td>Unmask Card Properties: <p>A challenge for viewing the unmasked properties of a card</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>changePin</code></strong></td><td>Change PIN: <p>A challenge for a changing the PIN of a card</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>reportCard</code></strong></td><td>Report Card: <p>A challenge for reporting cards as lost, stolen or damaged</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>activateCard</code></strong></td><td>Activate Card: <p>A challenge for activating newly issued cards</p>
        </td>
            </tr>
        </table>

      x-apiture-enum: cardOperationChallengeType
      type: string
      enum:
        - unmaskCardProperties
        - changePin
        - reportCard
        - activateCard
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardOperationChallengeType
    challengeOperationId:
      x-apiture-version: 1.0.1
      title: Challenge Operation ID (v1.0.1)
      description: The ID of an operation/action for which the user must verify their identity via an identity challenge. This is passed when starting a challenge factor or when validating the identity challenge responses.
      type: string
      pattern: ^[-a-zA-Z0-9$_]{6,48}$
      minLength: 6
      maxLength: 48
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/challengeOperationId
    readOnlyResourceId:
      x-apiture-version: 1.0.1
      title: Read-only Resource Identifier (v1.0.1)
      description: The unique, opaque system-assigned identifier for a resource. This case-sensitive ID is also used in URLs as path parameters or in other properties or parameters that reference a resource by ID rather than URL. Resource IDs are immutable.
      readOnly: true
      allOf:
        - $ref: '#/components/schemas/resourceId'
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/readOnlyResourceId
    challengeFactor:
      x-apiture-version: 1.2.1
      title: Challenge Factor (v1.2.1)
      description: A challenge factor. See [`requiredIdentityChallenge`](#schema-requiredIdentityChallenge) for multiple examples.
      type: object
      required:
        - type
      properties:
        id:
          description: |-
            The ID of an a challenge factor. This ID is unique within the challenge factors associated with a challenge. The client should pass this `id` value as the `factorId` when starting or verifying a challenge factor.

            *Note*: The `id` will become `required` in a future update to this schema.
          $ref: '#/components/schemas/challengeFactorId'
        type:
          $ref: '#/components/schemas/challengeFactorType'
        labels:
          description: A list of text label which identifies the channel(s) through which the user completes the challenge. For an `sms` or `voice` challenge, the only label item is the last four digits of the corresponding phone number. For an `email` challenge, each label is the masked email address.
          type: array
          minItems: 1
          maxItems: 4
          items:
            type: string
            maxLength: 300
            format: text
        securityQuestions:
          $ref: '#/components/schemas/challengeSecurityQuestions'
      example:
        type: sms
        labels:
          - '9876'
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/challengeFactor
    cardPin:
      title: Card Personal Identification Number (PIN) (v1.0.0)
      description: A numeric value used to validate card usage in authorizing card transactions.
      type: string
      minLength: 4
      maxLength: 4
      pattern: ^\d{4}$
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardPin
      x-apiture-version: 1.0.0
    apiProblem:
      x-apiture-version: 1.2.1
      title: API Problem (v1.2.1)
      description: API problem or error, as per [RFC 7807 application/problem+json](https://tools.ietf.org/html/rfc7807).
      type: object
      properties:
        type:
          type: string
          format: uri-reference
          description: |
            A [URI reference (RFC3986)](https://tools.ietf.org/html/rfc3986) that identifies the problem type. If present, this is the URL of human-readable HTML documentation for the problem type. When this member is not present, its value is assumed to be `"about:blank"`.
          example: https://static.api.apiture.com/errors/forbidden/v1.0.0
          maxLength: 2048
        title:
          type: string
          description: |
            A short, human-readable summary of the problem type. The title is usually the same for all problem with the same `type`.
          maxLength: 120
          format: text
          example: User is not authorized to perform the requested action or access the requested resource.
        status:
          type: integer
          format: int32
          description: |
            The [HTTP status code](https://datatracker.ietf.org/doc/html/rfc7231#section-6) for this occurrence of the problem.
          minimum: 100
          maximum: 599
          example: 403
        detail:
          type: string
          description: |
            A human-readable explanation specific to this occurrence of the problem.
          maxLength: 256
          format: text
          example: User is not authorized to perform this operation.
        instance:
          type: string
          format: uri-reference
          description: |
            A URI reference that identifies the specific occurrence of the problem. This is the URI of an API resource that the problem is related to, with a unique error correlation ID URI fragment
          example: https://prduction.api.apiture.com/banking/accounts/ad80fc3e722q5402a#189c13ff-c54c-45f7-b8e0-c88984ba724d
          maxLength: 2048
        id:
          description: The unique identifier for this problem. This is an immutable opaque string.
          $ref: '#/components/schemas/readOnlyResourceId'
        occurredAt:
          description: The timestamp when the problem occurred, in [RFC 3339](https://tools.ietf.org/html/rfc3339) date-time `YYYY-MM-DDThh:mm:ss.sssZ` format, UTC.
          $ref: '#/components/schemas/readOnlyTimestamp'
        problems:
          description: Optional root-causes if there are multiple problems in the request or API call processing.
          type: array
          maxItems: 128
          items:
            $ref: '#/components/schemas/apiProblem'
        attributes:
          type: object
          description: Additional optional attributes related to the problem. This data conforms to the schema associated with the error type.
      example:
        id: 3fbad566-be86-4b22-9ba6-3ca99fdc0799
        type: https://static.api.apiture.com/errors/accountNotFound/v1.0.0
        title: Account Not Found
        status: 422
        occurredAt: '2022-04-25T12:42:21.375Z'
        detail: No account exists at the given account_url
        instance: https://static.api.apiture.com/banking/transfers/bb709151-575041fcd617
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/apiProblem
    cardTransactionRulesFields:
      x-apiture-version: 4.0.0
      title: Card Transaction Rules Fields (v4.0.0)
      description: Fields used to construct card transaction rules schemas.
      x-apiture-fragment: true
      type: object
      properties:
        transactionLimit:
          description: Decline transactions attempted using this card exceeding this positive monetary amount in United States Dollars (USD).
          allOf:
            - $ref: '#/components/schemas/cardMonetaryThreshold'
        monthlySpendingLimit:
          description: Decline transactions attempted using this card when the monthly spending on the account exceeds this positive monetary amount in United States Dollars (USD).
          allOf:
            - $ref: '#/components/schemas/cardMonetaryThreshold'
        allowInternationalTransactions:
          description: If `false`, transactions attempts using this card outside of the account's origin country are denied.
          type: boolean
        merchantCategories:
          description: Decline transactions attempted using this card when the merchant category matches any of these merchant categories. An empty array means there are no merchant category restrictions for transaction authorization.
          type: array
          minItems: 0
          maxItems: 12
          uniqueItems: true
          items:
            $ref: '#/components/schemas/cardMerchantCategories'
        transactionCategories:
          description: Decline transactions attempted using this card whose categories match any of these categories. An empty array means there are no transaction category restrictions for transaction authorization.
          type: array
          minItems: 0
          maxItems: 8
          uniqueItems: true
          items:
            $ref: '#/components/schemas/cardTransactionCategories'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardTransactionRulesFields
    cardRegionItem:
      x-apiture-version: 2.0.0
      title: Card Region Item (v2.0.0)
      description: Summary representation of a named card region resource in card regions collection.
      type: object
      required:
        - id
        - name
        - type
      allOf:
        - $ref: '#/components/schemas/abstractBody'
        - $ref: '#/components/schemas/cardRegionFields'
        - type: object
          properties:
            id:
              description: The unique identifier for this card region resource. This is an immutable opaque string.
              $ref: '#/components/schemas/externalResourceId'
      example:
        id: 0399abed-fd3d
        name: Disney World's Magic Kingdom
        type: coordinates
        coordinates:
          latitude: 28.4188
          longitude: -81.5818
          radius: 5mi
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardRegionItem
    cardRegionReference:
      x-apiture-version: 2.0.0
      title: Card Region Reference (v2.0.0)
      description: Reference representation of a region resource.
      type: object
      required:
        - id
        - name
        - type
      allOf:
        - $ref: '#/components/schemas/cardRegionFields'
        - type: object
          properties:
            id:
              description: The unique identifier for this region resource. This is an immutable opaque string.
              $ref: '#/components/schemas/externalResourceId'
      example:
        id: 0399abed-fd3d
        name: Disney World's Magic Kingdom
        type: coordinates
        coordinates:
          latitude: 28.4188
          longitude: -81.5818
          radius: 5mi
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardRegionReference
    cardAlertSubscriptionPropertyFields:
      x-apiture-version: 2.0.0
      title: Card Alert Subscription Property Fields (v2.0.0)
      description: Card alert property fields used to construct schemas.
      x-apiture-fragment: true
      type: object
      properties:
        transactionLimit:
          description: Alert the account holder when any transaction exceeds this positive monetary amount in United States Dollars (USD).
          allOf:
            - $ref: '#/components/schemas/monetaryThresholdAlertSubscription'
        monthlySpendingLimit:
          description: Alert the account holder when the total of all debits in a monthly period on the account exceeds this positive monetary amount in United States Dollars (USD).
          allOf:
            - $ref: '#/components/schemas/monetaryThresholdAlertSubscription'
        transactionOccurred:
          description: Alert the account holder when any transaction using this card occurs.
          allOf:
            - $ref: '#/components/schemas/simpleCardAlertSubscription'
        transactionDeclined:
          description: |-
            Alert the account holder when any transaction using this card is declined.

            This alert requires at least one communication channel to be configured.
          allOf:
            - $ref: '#/components/schemas/requiredCommunicationChannelAlertSubscription'
        merchantCategories:
          $ref: '#/components/schemas/cardAlertSubscriptionMerchantCategories'
        transactionCategories:
          $ref: '#/components/schemas/cardAlertSubscriptionTransactionCategories'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardAlertSubscriptionPropertyFields
    cardAlertSubscriptionAllowedRegions:
      x-apiture-version: 2.0.0
      title: Card Alert Subscription Known Regions (v2.0.0)
      description: Alert the account holder when a transaction using this card occurs outside the boundaries of all of these regions. An empty array for either `regions` and `communicationChannels` means this alert is disabled.
      required:
        - regions
        - communicationChannels
      allOf:
        - $ref: '#/components/schemas/cardAlertSubscriptionFields'
        - type: object
          properties:
            regions:
              description: Regions excluded for transaction alerts.
              type: array
              minItems: 0
              maxItems: 3
              uniqueItems: true
              items:
                $ref: '#/components/schemas/cardRegionItem'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardAlertSubscriptionAllowedRegions
    cardAlertSubscriptionAllowedRegionsPatch:
      x-apiture-version: 2.0.0
      title: Card Alert Subscription Known Regions Patch (v2.0.0)
      description: Alert the account holder when a transaction using this card occurs outside the boundaries of all of these regions. An empty array for either `regions` and `communicationChannels` means this alert is disabled.
      required:
        - regions
        - communicationChannels
      allOf:
        - $ref: '#/components/schemas/cardAlertSubscriptionFields'
        - type: object
          properties:
            regions:
              description: Regions excluded for transaction alerts.
              type: array
              minItems: 0
              maxItems: 3
              uniqueItems: true
              items:
                $ref: '#/components/schemas/cardRegionReference'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardAlertSubscriptionAllowedRegionsPatch
    cardLossType:
      title: Card Loss Type (v1.0.0)
      description: |+
        The loss type for the card.

        <strong><code>cardLossType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>lost</code></strong></td><td>Lost</td>
            </tr>
        <tr>
            <td><strong><code>stolen</code></strong></td><td>Stolen</td>
            </tr>
        <tr>
            <td><strong><code>damaged</code></strong></td><td>Damaged</td>
            </tr>
        </table>

      type: string
      x-apiture-enum: cardLossType
      enum:
        - lost
        - stolen
        - damaged
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardLossType
      x-apiture-version: 1.0.0
    cardShippingMethod:
      title: Card Shipping Method (v1.0.0)
      description: |+
        Shipping method options determined by the financial institution.

        <strong><code>cardShippingMethod</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>primaryMethod</code></strong></td><td>Primary Method: <p>The primary shipping method from the financial institution</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>secondaryMethod</code></strong></td><td>Secondary Method: <p>The secondary shipping method from the financial institution</p>
        </td>
            </tr>
        </table>

      x-apiture-enum: cardShippingMethod
      type: string
      enum:
        - primaryMethod
        - secondaryMethod
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardShippingMethod
      x-apiture-version: 1.0.0
    address:
      x-apiture-version: 1.6.1
      title: Address (v1.6.1)
      description: A postal address that can hold a US address or an international (non-US) postal addresses.
      type: object
      required:
        - address1
        - locality
        - postalCode
        - countryCode
      allOf:
        - $ref: '#/components/schemas/fullAddressFields'
      examples:
        - address1: 1805 Tiburon Dr.
          address2: Building 14, Suite 1500
          locality: Wilmington
          regionCode: NC
          countryCode: US
          postalCode: '28403'
        - address1: 999 Canada Place
          locality: Vancouver
          regionName: British Columbia
          countryCode: CA
          postalCode: V6C 3T4
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/address
    cardRegionFields:
      x-apiture-version: 2.0.0
      title: Card Region Fields (v2.0.0)
      description: Common fields of the card region resource used to build other model schemas.
      type: object
      x-apiture-fragment: true
      properties:
        name:
          description: A name describing this geographic region.
          type: string
          format: text
          minLength: 1
          maxLength: 55
        type:
          $ref: '#/components/schemas/cardRegionLocationType'
        coordinates:
          description: |-
            The geographic coordinates for a circular geographic region.

            This is required when `type` is `coordinates`.
          allOf:
            - $ref: '#/components/schemas/cardRegionCoordinateLocation'
        address:
          description: |-
            The address, scoped to a locality, for a geographic region.

            This is required when `type` is `address`.
          allOf:
            - $ref: '#/components/schemas/cardRegionAddressLocation'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardRegionFields
    countryCode:
      title: Country Code (v1.0.0)
      description: The [ISO-3611 alpha-2](https://www.iso.org/glossary-for-iso-3166.html) value for a country.
      type: string
      minLength: 2
      maxLength: 2
      pattern: ^[A-Za-z]{2}$
      examples:
        - US
        - CA
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/countryCode
      x-apiture-version: 1.0.0
    simplePhoneNumber:
      x-apiture-version: 1.1.0
      title: Simple Phone Number (v1.1.0)
      description: The phone number as a string. The service strips all spaces, hyphens, periods and parentheses from input. The default country code prefix is `+1`. Phone numbers are returned in responses in [E.164](https://en.wikipedia.org/wiki/E.164) format with a leading `+`, country code (up to 3 digits) and subscriber number for a total of up to 15 digits. See [Phone Number Representations](https://developer.apiture.com/docs/concepts/phone-numbers/) for more information. If the number is masked to hide Personally Identifiable Information, all but the last four digits are replaced with one or more `*`, such as `*1234`.
      type: string
      example: '+19105550155'
      minLength: 5
      maxLength: 20
      format: phone-number
      x-apiture-since: 0.5.0
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/simplePhoneNumber
    travelNotificationAllows:
      title: Travel Notification Allows (v1.0.0)
      description: Flags which indicate the permissions the current authorized user has on this travel notification resource.
      required:
        - edit
        - delete
      type: object
      properties:
        edit:
          description: If `true`, the currently authenticated user is authorized to edit this travel notification.
          type: boolean
        delete:
          description: If `true`, the currently authenticated user is authorized to delete this travel notification.
          type: boolean
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/travelNotificationAllows
      x-apiture-version: 1.0.0
    abstractPagedBodyFields:
      x-apiture-version: 1.1.1
      title: Abstract Paged Body Fields (v1.1.1)
      description: Common properties of collection page responses.
      x-apiture-fragment: true
      type: object
      required:
        - limit
      properties:
        limit:
          description: The number of items requested for this page response. The length of the `items` array may be less that `limit`.
          type: integer
          format: int32
          minimum: 0
          maximum: 10000
        nextPage_url:
          description: The URL of the next page of resources. If this URL is omitted, there are no more resources in the collection.
          readOnly: true
          maxLength: 8000
          type: string
          format: uri-reference
          example: https://static.api.apiture.com/banking/resources/8b76b4a97dccad88890e
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/abstractPagedBodyFields
    creditOrDebitValue:
      x-apiture-version: 1.1.1
      title: Credit Or Debit Value (v1.1.1)
      description: The monetary value representing a credit (positive amounts with no prefix or a `+` prefix) or debit (negative amounts with a `-` prefix). The numeric value is  represented as a string so that it can be exact with no loss of precision.
      example: '3456.78'
      type: string
      format: decimal
      pattern: ^(-|\+)?(0|[1-9][0-9]*)\.[0-9][0-9]$
      maxLength: 16
      x-apiture-since: 0.4.0
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/creditOrDebitValue
    cardTransactionDirection:
      title: Card Transaction Direction (v1.0.0)
      description: |+
        Distinguishes the direction of a card transaction.

        <strong><code>cardTransactionDirection</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>debit</code></strong></td><td>Debit: <p>A debit against the account</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>credit</code></strong></td><td>Credit: <p>A credit transaction for the account</p>
        </td>
            </tr>
        </table>

      type: string
      x-apiture-enum: cardTransactionDirection
      enum:
        - debit
        - credit
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardTransactionDirection
      x-apiture-version: 1.0.0
    customerUsername:
      x-apiture-version: 2.0.0
      title: Customer Username (v2.0.0)
      description: A customer's login username.
      type: string
      format: text
      minLength: 5
      maxLength: 20
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/customerUsername
    cardholderFields:
      title: Cardholder Fields (v1.0.0)
      description: Fields used to construct other banking credit or debit card cardholder schemas.
      x-apiture-fragment: true
      type: object
      properties:
        name:
          description: The name of the credit or debit card cardholder.
          type: string
          format: text
          maxLength: 55
          minLength: 3
        type:
          $ref: '#/components/schemas/cardholderType'
      example:
        name: Phil Duciary
        type: primary
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/cardholderFields
      x-apiture-version: 1.0.0
    challengeFactorId:
      title: Challenge Factor ID (v1.0.0)
      description: The ID of an a challenge factor. This ID is unique within the factors offered with a challenge.
      type: string
      pattern: ^[-a-zA-Z0-9$_]{3,48}$
      minLength: 3
      maxLength: 48
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/challengeFactorId
      x-apiture-version: 1.0.0
    challengeFactorType:
      title: Challenge Factor Type (v1.0.0)
      description: |+
        The name of challenge factor.

        <strong><code>challengeFactorType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>sms</code></strong></td><td>SMS: <p>One-time passcode sent to the primary mobile phone number</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>email</code></strong></td><td>Email: <p>One-time passcode sent to the primary email address</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>voice</code></strong></td><td>Voice: <p>One-time passcode communicated via automated voice phone call</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>authenticatorToken</code></strong></td><td>authenticator Token: <p>One-time passcode issued by a pre-registered hardware device, such as a token key fob, or an authenticator app</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>securityQuestions</code></strong></td><td>Security Questions: <p>Prompt with the user&#39;s security questions registered with their security profile</p>
        </td>
            </tr>
        </table>

      type: string
      x-apiture-enum: challengeFactorType
      enum:
        - sms
        - email
        - voice
        - securityQuestions
        - authenticatorToken
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/challengeFactorType
      x-apiture-version: 1.0.0
    challengeSecurityQuestions:
      x-apiture-version: 1.0.1
      title: Challenge Security Questions (v1.0.1)
      description: Describes a `securityQuestions` challenge. This is omitted if the challenge `type` is not `securityQuestions`.
      type: object
      required:
        - questions
      properties:
        questions:
          description: The array of security questions.
          type: array
          minItems: 1
          maxItems: 8
          items:
            $ref: '#/components/schemas/challengeSecurityQuestion'
      example:
        questions:
          - id: q1
            prompt: What is your mother's maiden name?
          - id: q4
            prompt: What is your high school's name?
          - id: q9
            prompt: What is the name of your first pet?
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/challengeSecurityQuestions
    readOnlyTimestamp:
      title: Read-Only Timestamp (v1.0.0)
      description: 'A readonly or derived timestamp (an instant in time) formatted in [RFC 3339](https://tools.ietf.org/html/rfc3339) `date-time` UTC format: `YYYY-MM-DDThh:mm:ss.sssZ`.'
      type: string
      minLength: 20
      maxLength: 30
      format: date-time
      readOnly: true
      example: '2021-10-30T19:06:04.250Z'
      x-apiture-since: 0.4.0
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/readOnlyTimestamp
      x-apiture-version: 1.0.0
    cardMonetaryThreshold:
      description: The monetary value, supporting only positive dollar amounts without decimal (cents) values.
      type: integer
      format: int32
      minimum: 0
      maximum: 10000000
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardMonetaryThreshold
      x-apiture-version: 1.0.0
      title: ' (v1.0.0)'
    cardTransactionCategories:
      title: Card Transaction Categories (v1.0.0)
      description: |+
        Categories of card transactions for alerts and transaction rules.

        <strong><code>cardTransactionCategories</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>atm</code></strong></td><td>Automatic Teller Machine (ATM): <p>A withdrawal transaction from an ATM</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>autopay</code></strong></td><td>Autopay: <p>A transaction that occurred from an automated payment</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>transfer</code></strong></td><td>Transfer: <p>A transaction that occurred from a money movement to another account</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>physicalMerchant</code></strong></td><td>Physical Merchant: <p>A transaction that occurred at a merchant in a physical location</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>mailMerchant</code></strong></td><td>Mail Merchant: <p>A transaction that occurred through a mail based retailer</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>phoneMerchant</code></strong></td><td>Phone Merchant: <p>A transaction that occurred through a phone based retailer</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>onlineMerchant</code></strong></td><td>Online Merchant: <p>A transaction that occurred through an online retailer</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>other</code></strong></td><td>Other: <p>A transaction not matching other categories</p>
        </td>
            </tr>
        </table>

      type: string
      x-apiture-enum: cardTransactionCategories
      enum:
        - atm
        - autopay
        - transfer
        - physicalMerchant
        - mailMerchant
        - phoneMerchant
        - onlineMerchant
        - other
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardTransactionCategories
      x-apiture-version: 1.0.0
    monetaryThresholdAlertSubscription:
      title: Monetary Threshold Alert Subscription (v1.0.0)
      description: A card alert subscription based on a monetary threshold and communication channels.
      required:
        - threshold
        - communicationChannels
      allOf:
        - $ref: '#/components/schemas/cardAlertSubscriptionFields'
        - type: object
          properties:
            threshold:
              description: The monetary value, supporting only positive dollar amounts without decimal (cents) values. Use a threshold of `0` and an empty list of communication channels to disable this alert.
              allOf:
                - $ref: '#/components/schemas/cardMonetaryThreshold'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/monetaryThresholdAlertSubscription
      x-apiture-version: 1.0.0
    simpleCardAlertSubscription:
      title: Simple Alert (v1.0.0)
      description: A card alert subscription configuration based on communication channels.
      required:
        - communicationChannels
      allOf:
        - $ref: '#/components/schemas/cardAlertSubscriptionFields'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/simpleCardAlertSubscription
      x-apiture-version: 1.0.0
    requiredCommunicationChannelAlertSubscription:
      title: Required Communication Channel Alert (v1.0.0)
      description: A card alert subscription configuration requiring at least one communication channel.
      required:
        - communicationChannels
      type: object
      properties:
        communicationChannels:
          description: Channels to communicate this alert subscription.
          type: array
          minItems: 1
          maxItems: 5
          uniqueItems: true
          items:
            $ref: '#/components/schemas/customerCommunicationChannel'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/requiredCommunicationChannelAlertSubscription
      x-apiture-version: 1.0.0
    cardAlertSubscriptionMerchantCategories:
      x-apiture-version: 2.0.0
      description: Alert the account holder when a card transaction's merchant category matches any of these categories. An empty array for categories and communication channels means this alert is disabled.
      required:
        - categories
        - communicationChannels
      allOf:
        - $ref: '#/components/schemas/cardAlertSubscriptionFields'
        - type: object
          properties:
            categories:
              description: Categories used for the transaction alert.
              type: array
              minItems: 0
              maxItems: 12
              uniqueItems: true
              items:
                $ref: '#/components/schemas/cardMerchantCategories'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardAlertSubscriptionMerchantCategories
      title: ' (v2.0.0)'
    cardAlertSubscriptionTransactionCategories:
      x-apiture-version: 2.0.0
      description: Alert the account holder when a transaction using this card has a category matching any of these categories. An empty array for categories and communication channels means this alert is disabled.
      required:
        - categories
        - communicationChannels
      allOf:
        - $ref: '#/components/schemas/cardAlertSubscriptionFields'
        - type: object
          properties:
            categories:
              description: Categories used for the transaction alert.
              type: array
              minItems: 0
              maxItems: 8
              uniqueItems: true
              items:
                $ref: '#/components/schemas/cardTransactionCategories'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardAlertSubscriptionTransactionCategories
      title: ' (v2.0.0)'
    cardAlertSubscriptionFields:
      title: Card Alert Subscription Fields (v1.0.0)
      description: Common card alert subscription properties, used to compose additional schemas.
      x-apiture-fragment: true
      type: object
      properties:
        communicationChannels:
          description: Channels to communicate this alert subscription.
          type: array
          minItems: 0
          maxItems: 5
          uniqueItems: true
          items:
            $ref: '#/components/schemas/customerCommunicationChannel'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardAlertSubscriptionFields
      x-apiture-version: 1.0.0
    fullAddressFields:
      x-apiture-version: 1.2.1
      title: Full Address Fields (v1.2.1)
      description: A postal address that can hold a US address or an international (non-US) postal addresses.
      type: object
      x-apiture-fragment: true
      allOf:
        - $ref: '#/components/schemas/addressFields'
        - type: object
          properties:
            regionName:
              type: string
              minLength: 2
              maxLength: 20
              format: text
              description: The state, district, or outlying area of the postal address. This is required if `countryCode` is not `US`. `regionCode` and `regionName` are mutually exclusive.
              examples:
                - Alessandria
                - Rio de Janeiro
                - British Columbia
            regionCode:
              type: string
              maxLength: 2
              minLength: 2
              pattern: ^[A-Za-z]{2}$
              description: The state, district, or outlying area of the postal address. This is required if `countryCode` is `US`. `regionCode` and `regionName` are mutually exclusive.
              examples:
                - NC
                - IL
                - VI
            postalCode:
              $ref: '#/components/schemas/postalCode'
      examples:
        - address1: 1805 Tiburon Dr.
          address2: Building 14, Suite 1500
          locality: Wilmington
          regionCode: NC
          countryCode: US
          postalCode: '28403'
        - address1: 999 Canada Place
          locality: Vancouver
          regionName: British Columbia
          countryCode: CA
          postalCode: V6C 3T4
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/fullAddressFields
    cardRegionCoordinateLocation:
      title: Card Region Coordinate Location (v1.0.0)
      description: |-
        The coordinates and radius for a circular geographic region.

        The `latitude` and `longitude` map coordinates define the center of the circular region and the `radius` defines the circle's radius.
      unevaluatedProperties: false
      type: object
      properties:
        latitude:
          $ref: '#/components/schemas/latitude'
        longitude:
          $ref: '#/components/schemas/longitude'
        radius:
          description: |-
            The radius for this circular geographic card region. The unit of measurement may be included following the distance value. Use `mi` for miles and `km` for kilometers. When a unit of measurement is not included, the default unit is miles. For example: `5mi` (5 miles) or `4km` (4 km) or `4.25` (4.25 miles) Up to two decimal places of precision are supported.
            The minimum radius is `5mi` or `8km`; the maximum radius is `500mi` or `805km`.
          type: string
          pattern: ^\d{1}(\.\d{1,2})?(mi|km)?$
          minLength: 1
          maxLength: 6
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardRegionCoordinateLocation
      x-apiture-version: 1.0.0
    cardRegionAddressLocation:
      title: Card Region Address Location (v1.0.0)
      description: The address for a geographic region, scoped to a specific locality.
      unevaluatedProperties: false
      type: object
      required:
        - locality
        - region
        - postalCode
      properties:
        locality:
          type: string
          description: The name of the city, town, or municipality.
          examples:
            - Wilmington
            - Atlanta
          maxLength: 30
          format: text
        countryCode:
          $ref: '#/components/schemas/countryCode'
        postalCode:
          $ref: '#/components/schemas/postalCode'
      x-resolved-from: ../../creditCards/openapi.yaml#/components/schemas/cardRegionAddressLocation
      x-apiture-version: 1.0.0
    cardholderType:
      title: Cardholder Type (v1.0.0)
      description: |+
        The type of cardholder for this credit or debit card. For debit cards, this is always `primary`.

        <strong><code>cardholderType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>primary</code></strong></td><td>Primary: <p>The primary cardholder for this card account</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>secondary</code></strong></td><td>Secondary: <p>An additional authorized cardholder for this card account</p>
        </td>
            </tr>
        </table>

      x-apiture-enum: cardholderType
      type: string
      enum:
        - primary
        - secondary
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/cardholderType
      x-apiture-version: 1.0.0
    challengeSecurityQuestion:
      x-apiture-version: 1.0.1
      title: Challenge Security Question (v1.0.1)
      description: A single security question within the `questions` array of the [`challengeSecurityQuestions`](#schema-challengeSecurityQuestions)
      type: object
      required:
        - id
        - prompt
      properties:
        id:
          description: The unique ID of security question prompt. This should be included in the [`challengeVerification`](#schema-challengeVerification) response as the `promptId`.
          $ref: '#/components/schemas/challengePromptId'
        prompt:
          description: The text prompt of this security question.
          type: string
          format: text
          maxLength: 80
      example:
        id: 74699fa628911e762ea5
        prompt: What is your mother's maiden name?
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/challengeSecurityQuestion
    customerCommunicationChannel:
      title: Customer Communication Channel (v1.0.0)
      description: A customer's communication channel.
      type: object
      required:
        - id
        - label
        - type
      properties:
        id:
          description: The identifier of this communication channel. This is derived and immutable.
          $ref: '#/components/schemas/readOnlyResourceId'
        label:
          description: A text representation of the communication channel.
          type: string
          format: text
          minLength: 5
          maxLength: 55
        type:
          description: The classification of this customer communication channel.
          $ref: '#/components/schemas/customerCommunicationFactorType'
      example:
        id: 0399abed-fd3d
        label: Max.Pike@example.com
        type: email
      x-resolved-from: ../../customers/openapi.yaml#/components/schemas/customerCommunicationChannel
      x-apiture-version: 1.0.0
    addressFields:
      x-apiture-version: 1.4.0
      title: Address Fields (v1.4.0)
      description: Properties of a simple address, used to compose other addresses.
      x-apiture-fragment: true
      properties:
        address1:
          type: string
          description: The first line of the postal address. In the US, this typically includes the building number and street name.
          example: 1805 Tiburon Dr.
          maxLength: 35
          format: text
        address2:
          type: string
          description: The second line of the street address. This should only be used if it has a value. Typical values include building numbers, suite numbers, and other identifying information beyond the first line of the postal address.
          example: Building 14, Suite 1500
          maxLength: 35
          format: text
        locality:
          type: string
          description: The city/town/municipality of the address.
          examples:
            - Wilmington
            - Atlanta
          maxLength: 30
          format: text
        countryCode:
          $ref: '#/components/schemas/countryCode'
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/addressFields
    postalCode:
      title: Postal code (v1.0.0)
      description: The postal code, which varies in format by country. For postal codes in the US, this should be a five digit US ZIP code or ten character ZIP+4.
      type: string
      minLength: 2
      maxLength: 20
      pattern: '[0-9A-Za-z][- 0-9A-Za-z]{0,18}[0-9A-Za-z]'
      examples:
        - '20521'
        - 20521-1380
        - V6C 3T4
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/postalCode
      x-apiture-version: 1.0.0
    latitude:
      title: Latitude (v1.0.0)
      description: The north-south angular distance of a point on Earth's surface, as measured from the equator. Distances to the north are expressed as positive numbers. Distances to the south are expressed as negative numbers.
      type: number
      minimum: -90
      maximum: 90
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/latitude
      x-apiture-version: 1.0.0
    longitude:
      x-apiture-version: 1.0.1
      title: Longitude (v1.0.1)
      description: The east-west angular distance of a point on Earth's surface, as measured from the Prime Meridian (passing through Greenwich, England). Distances to the east are expressed as positive numbers. Distances to the west are expressed as negative numbers.
      type: number
      minimum: -180
      maximum: 180
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/longitude
    challengePromptId:
      title: Challenge Prompt ID (v1.0.0)
      description: The unique ID of a prompt (such as a security question) in a challenge factor.
      type: string
      pattern: ^[-_:.~$a-zA-Z0-9]+$
      minLength: 1
      maxLength: 48
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/challengePromptId
      x-apiture-version: 1.0.0
    customerCommunicationFactorType:
      title: Customer Communication Factor Type (v1.0.0)
      description: |+
        Identifier of the type of a communication channel.

        <strong><code>customerCommunicationFactorType</code></strong> strings may have one of the following
        [enumerated values](https://developer.apiture.com/docs/concepts/label-groups#enumerations):

        <table>
        <tr>
          <th>Value</th><th>Description</th>
        </tr>

        <tr>
            <td><strong><code>email</code></strong></td><td>Email: <p>Communication delivered by email</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>sms</code></strong></td><td>SMS: <p>Communication delivered by SMS</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>device</code></strong></td><td>Device: <p>Communication delivered by a in-app notification on a device</p>
        </td>
            </tr>
        </table>

      type: string
      x-apiture-enum: customerCommunicationFactorType
      enum:
        - email
        - sms
        - device
      x-resolved-from: ../../customers/openapi.yaml#/components/schemas/customerCommunicationFactorType
      x-apiture-version: 1.0.0
  securitySchemes:
    apiKey:
      type: apiKey
      name: API-Key
      in: header
      description: API Key based client identification. See details at [Secure Access](https://developer.apiture.com/docs/secure-access).
      x-resolved-from: ../../common/openapi.yaml#/components/securitySchemes/apiKey
    accessToken:
      type: openIdConnect
      description: OpenId Connect (OIDC) authentication/authorization. The client uses the `authorization_endpoint` and `token_endpoint` to obtain an access token to pass in the `Authorization` header. Those endpoints are available via the OIDC Configuration URL. The actual URL may vary with each financial institution. See details at [Secure Access](https://dx.apiture.com/docs/api/concepts/api-keys/).
      openIdConnectUrl: https://auth.apiture.com/oidc/.well-known/openid-configuration
      x-resolved-from: ../../common/openapi.yaml#/components/securitySchemes/accessToken
  x-apiture-errors:
    invalidDebitCardId:
      description: The named `debitCardId` does not exist or the user is not entitled to access the debit card resource.
      remediation: Pass the `id` of an existing debit card the caller has access to.
    invalidDebitCardRegionId:
      description: The named `regionId` does not exist or the user is not entitled to access the debit card region resource.
      remediation: Pass the `id` of an existing debit card region the caller has access to.
    invalidStateForDebitCardActivation:
      description: The debit card cannot be activated in the current state.
      remediation: Try again when the debit card is in a different state.
    invalidCardOperationForFinancialInstitution:
      description: The operation cannot be performed for this financial institution.
      remediation: Use a different operation.
    invalidPin:
      description: Either the current or new PIN is invalid.
      remediation: Use a different PIN.
      x-resolved-from: ../../creditCards/openapi.yaml#/components/x-apiture-errors/invalidPin
    invalidCardOperationForFinancialInstitution1:
      description: The operation cannot be performed for this financial institution.
      remediation: Use a different operation as per the card provider context.
      x-resolved-from: ../../creditCards/openapi.yaml#/components/x-apiture-errors/invalidCardOperationForFinancialInstitution
    unprocessableEntity:
      description: The syntax of the request entity is correct but was unable to process the contained instructions.
      remediation: Provide a semantically correct request.
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/unprocessableEntity
    invalidStart:
      description: The `start` query parameter is invalid.
      remediation: Use the `nextPage_url` in the previous response (and its service-generated `?start=` parameter) to access the next page
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/invalidStart
    cannotRemoveCommunicationChannel:
      description: The communication channel is required and cannot be removed.
      remediation: Try again without removing the communication channel.
      attributes:
        properties:
          communicationChannel:
            id:
              description: The identifier of this communication channel. This is derived and immutable.
              type: string
              pattern: ^[-_:.~$a-zA-Z0-9]{3,48}$
              minLength: 3
              maxLength: 48
            label:
              description: A text representation of the communication channel.
              type: string
              format: text
              minLength: 5
              maxLength: 55
            type:
              description: The classification of this customer communication channel.
              type: string
              enum:
                - email
                - sms
                - device
      x-resolved-from: ../../creditCards/openapi.yaml#/components/x-apiture-errors/cannotRemoveCommunicationChannel
    badRequest:
      description: The request body and/or parameters was not well-formed.
      remediation: Correct any syntax or schema errors in the request body or parameters.
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/badRequest
    unauthorized:
      description: The request lacks valid authentication credentials for the target resource or operation.
      remediation: Authenticate the user and pass the required authorization with the request.
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/unauthorized
    forbidden:
      description: The user or agent is not allowed to perform this operation; authentication credentials were provided in the request, but the server considers them insufficient to grant access.
      remediation: Check the user's permissions and entitlements before attempting the operation.
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/forbidden
    customerDisabled:
      description: The customer is disabled.
      remediation: Have the customer contact the financial institution for support.
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/customerDisabled
    antiMalwareRequired:
      description: The financial institution requires the customer to have anti-malware software installed.
      remediation: Direct the user to the software requirements guide to install the correct anti-malware software.
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/antiMalwareRequired
    modificationForbidden:
      description: The customer is properly authenticated but not authorized to create, modify, or delete resources.
      remediation: Avoid modification operation for customers with read-only authorization.
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/modificationForbidden
    challengeRequired:
      description: The operation requires the customer to complete an identity challenge.
      remediation: Complete the challenge as per the problem response, and add an additional `Challenge` header to the call.
      attributes:
        $ref: '#/components/schemas/requiredIdentityChallenge'
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/challengeRequired
    challengeBlocked:
      description: The user has failed challenges too many times and is blocked from attempting more or performing operations which require additional authentication.
      remediation: Have the user end their login session and login again.
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/challengeBlocked
    noIdentityChallengeFactors:
      description: This operation requires an identity challenge, but the user does not have the necessary registered authentication factors.
      remediation: Have the user register one or more challenge security code delivery factors.
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/noIdentityChallengeFactors
    invalidIdentityChallengeHeader:
      description: The additional on-time `Challenge` header in this request is expired, already used, or otherwise invalid.
      remediation: Supply a valid, unexpired, unclaimed `Challenge` header in the request.
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/invalidIdentityChallengeHeader
    notFound:
      description: The resource at the requested URL does not exist.
      remediation: Use the URL of an existing resource.
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/notFound
    conflict:
      description: The request could not be completed due to a conflict with the current state of the target resource.
      remediation: Try another operation that is allowed.
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/conflict
    tooManyRequests:
      description: The client has sent too many requests in a given amount of time, exceeding rate limiting.
      remediation: Slow down the rate of API calls.
      x-resolved-from: ../../common/openapi.yaml#/components/x-apiture-errors/tooManyRequests
    invalidAccountId:
      x-apiture-version: 0.2.0
      description: The named `accountId` does not exist or the user is not entitled to access the account.
      remediation: Pass the `id` of an existing account the caller has access to.
      x-resolved-from: ../../accounts/openapi.yaml#/components/x-apiture-errors/invalidAccountId
    noSuchTravelNotification:
      description: There is no such travel notification resource for the given `travelNotificationId`.
      remediation: Pass a valid travel notification ID.
      x-resolved-from: ../../creditCards/openapi.yaml#/components/x-apiture-errors/noSuchTravelNotification
    invalidRadius:
      description: The given region's radius is less than 5 miles (8km) or greater than 500 miles (805km).
      remediation: Use a radius between 5 miles (8km) and 500 miles (805 km).
      x-resolved-from: ../../creditCards/openapi.yaml#/components/x-apiture-errors/invalidRadius
    invalidCountryCodeForCardRegion:
      description: The country code is invalid for this card region based on the financial institution's configuration.
      remediation: Use a different country code.
      x-resolved-from: ../../creditCards/openapi.yaml#/components/x-apiture-errors/invalidCountryCodeForCardRegion
x-apiture-traits:
  - resource:
      name: debit card
      paginated: false
      excludeMethods:
        - post
        - put
        - patch
        - delete
      applied: true
  - action:
      verb: activate
      state: activated
      name: debitCard
      applied: true
  - resource:
      name: transaction
      pathPrefix: /accounts/{accountId}/debitCards/{debitCardId}
      cursorPaginated: false
      paginated: true
      excludeMethods:
        - post
        - put
        - path
        - delete
      applied: true
  - action:
      verb: change
      state: change
      name: pin
      pathPrefix: /accounts/{accountId}/debitCards/{debitCardId}
      applied: true
  - resource:
      name: travel notification
      cursorPaginated: false
      paginated: false
      pathPrefix: /accounts/{accountId}/debitCards/{debitCardId}
      excludeMethods:
        - put
      etag: false
      applied: true
  - action:
      verb: challenge
      state: challenge
      name: challenge
      pathPrefix: /accounts/{accountId}/debitCards/{debitCardId}
      applied: true
  - resource:
      name: region
      cursorPaginated: false
      paginated: false
      pathPrefix: /accounts/{accountId}/creditCards/{creditCardId}
      excludeMethods:
        - put
      applied: true
  - singleton:
      name: debit card provider
      excludeMethods:
        - put
        - patch
      applied: true
x-resolved-from: ../../debitCards/status-codes-openapi.yaml
x-resolved-at: '2024-12-09T22:11:16.912Z'
x-apiture-annotated-at: '2024-12-09T22:11:17.221Z'
