openapi: 3.1.0
info:
  title: System Card Activity Webhook
  description: |-
    This API defines a webhook which Card Adapter uses to inform Apiture Digital Banking of new activity on a debit or credit card.

    This is not a vendor-specific API.
  version: 0.1.1
  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: cardActivityWebhook
x-apiture-package-name: card-activity-webhook
servers:
  - url: /system
tags:
  - name: System Card Activity Webhook
    description: System Card Activity Webhook
paths:
  /incomingCardActivity:
    post:
      summary: Inform Apiture Digital Banking of incoming card activity from Card Adapter.
      description: Card Adapter uses this webhook to inform ADB of new card activity so that ADB can notify customers of card activity via their card notification subscription preferences.
      operationId: processCardActivity
      x-apiture-api: cardActivityWebhook
      tags:
        - System Card Activity Webhook
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/incomingSystemCardActivity'
      responses:
        '200':
          description: OK.
        '400':
          $ref: '#/components/responses/400'
        '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:
        - clientCredentials:
            - cardAdapter/write
components:
  schemas:
    incomingSystemCardActivity:
      title: Incoming System Card Activity (v1.0.0)
      description: The default webhook body payload for card activity.
      type: object
      unevaluatedProperties: false
      properties:
        institutionId:
          description: The ID of the institution where this customer is enrolled in digital banking.
          allOf:
            - $ref: '#/components/schemas/institutionId'
        items:
          description: An array containing card activity items.
          type: array
          minItems: 1
          maxItems: 1000
          items:
            $ref: '#/components/schemas/cardActivity'
      required:
        - institutionId
        - items
      example:
        institutionId: TIBURON
        items:
          - customerId: d1b95731fb029fec062c
            cardId: ca0sf8ds0af
            pan: '4242424242424242'
            activityType: declined
            reasonCode: transactionLimitSurpassed
            reason: The per transaction limit was surpassed
            amount:
              value: '5555.55'
              currency: USD
            merchant:
              category: shopping.other
              name: Amazon
              address:
                regionCode: WA
                countryCode: US
            occurredAt: '2024-10-01T07:56:02.375Z'
            location: onlineMerchant
      x-apiture-version: 1.0.0
    cardActivity:
      title: Card Activity (v1.0.0)
      description: The default payload for each card activity notification in a webhook message.
      required:
        - pan
        - activityType
        - reasonCode
        - occurredAt
        - location
      type: object
      unevaluatedProperties: false
      properties:
        customerId:
          description: The unique ID of a banking customer. Only present if known.
          allOf:
            - $ref: '#/components/schemas/readOnlyResourceId'
        customerTaxId:
          description: The customer's US social security number (SSN) or individual taxpayer ID number (ITIN). Only present if known.
          type: string
          format: text
          minLength: 9
          maxLength: 11
        cardId:
          description: |-
            The identifier of the card.

            A `cardId` is different from the credit or debit card account `id`.
          allOf:
            - $ref: '#/components/schemas/externalResourceId'
        pan:
          description: The PAN (primary account number) of the card. This a numeric identifier assigned to credit and debit cards for financial transactions. It typically consists of 16 digits and can be found on the front or back of the card.
          allOf:
            - $ref: '#/components/schemas/fullCardPersonalAccountNumber'
        activityType:
          $ref: '#/components/schemas/cardActivityType'
        reasonCode:
          $ref: '#/components/schemas/cardActivityReasonCode'
        reason:
          description: The raw string reason passed from the card vendor describing the card activity.
          type: string
          format: text
          minLength: 1
          maxLength: 400
        amount:
          description: The amount of the charge associated with the card activity.
          allOf:
            - $ref: '#/components/schemas/money'
        merchant:
          $ref: '#/components/schemas/cardActivityMerchant'
        occurredAt:
          description: The date and time when the card activity ocurred, in `YYYY-MM-DDThh:mm:ss.sssZ` [RFC 3339](https://tools.ietf.org/html/rfc3339) `date-time` UTC format.
          allOf:
            - $ref: '#/components/schemas/readOnlyTimestamp'
        location:
          $ref: '#/components/schemas/cardActivityLocation'
      example:
        customerId: d1b95731fb029fec062c
        cardId: ca0sf8ds0af
        pan: '4242424242424242'
        activityType: declined
        reasonCode: transactionLimitSurpassed
        reason: The per transaction limit was surpassed
        amount:
          value: '5555.55'
          currency: USD
        merchant:
          category: shopping.other
          name: Amazon
          address:
            regionCode: WA
            countryCode: US
        occurredAt: '2024-10-01T07:56:02.375Z'
        location: onlineMerchant
      x-apiture-version: 1.0.0
    cardActivityMerchant:
      title: Card Activity Merchant (v1.0.0)
      description: Data identifying a merchant related to a card activity event.
      type: object
      unevaluatedProperties: false
      properties:
        category:
          description: The category of the merchant.
          allOf:
            - $ref: '#/components/schemas/cardMerchantCategories'
        name:
          description: The name of the merchant.
          type: string
          format: text
          minLength: 1
          maxLength: 200
        address:
          description: The address of the merchant.
          allOf:
            - $ref: '#/components/schemas/partialAddress'
      example:
        category: shopping.other
        name: Amazon
        address:
          regionCode: WA
          countryCode: US
      x-apiture-version: 1.0.0
    cardActivityLocation:
      title: Card Activity Location (v1.0.0)
      description: The location of the card activity.
      allOf:
        - $ref: '#/components/schemas/cardTransactionCategories'
      x-apiture-version: 1.0.0
    cardActivityType:
      title: Card Activity Type (v1.0.0)
      description: |+
        The type of the card activity.

        <strong><code>cardActivityType</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>approved</code></strong></td><td>Approved: <p>The card processor approved a card transaction</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>declined</code></strong></td><td>Declined: <p>The card processor declined a card transaction</p>
        </td>
            </tr>
        </table>

      type: string
      x-apiture-enum: cardActivityType
      enum:
        - approved
        - declined
      x-apiture-version: 1.0.0
    cardActivityReasonCode:
      title: Card Activity Reason Code (v1.0.0)
      description: |+
        The reason code pertaining to the card activity.

        <strong><code>cardActivityReasonCode</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>transactionLimitSurpassed</code></strong></td><td>Transaction Limit Surpassed: <p>The transaction limit was surpassed</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>dailyLimitSurpassed</code></strong></td><td>Daily Limit Surpassed: <p>The daily spending limit was surpassed</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>monthlyLimitSurpassed</code></strong></td><td>Monthly Limit Surpassed: <p>The monthly spending limit was surpassed</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>transactionOccurred</code></strong></td><td>Transaction Occurred: <p>A transaction occurred</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>transactionDeclined</code></strong></td><td>Transaction Declined: <p>A transaction was declined</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>merchantCategoryAlertTriggered</code></strong></td><td>Merchant Category Alert Triggered: <p>The merchant category alert was triggered. Check <code>merchant.category</code> for the category of the merchant that triggered the alert.</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>transactionCategoryAlertTriggered</code></strong></td><td>Transaction Category Alert Triggered: <p>The transaction category alert was triggered. Check <code>transactionCategory</code> for the category of the transaction that triggered the alert.</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>allowedRegionsAlertTriggered</code></strong></td><td>Allowed Regions Alert Triggered: <p>The allowed regions alert was triggered</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>cardFrozen</code></strong></td><td>Card Frozen: <p>The card is frozen</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>invalidMerchantLocation</code></strong></td><td>Invalid Merchant Location: <p>The merchant of a transaction was outside of the allowed regions</p>
        </td>
            </tr>
        <tr>
            <td><strong><code>merchantBlocked</code></strong></td><td>Merchant Blocked: <p>The merchant of a transaction was blocked</p>
        </td>
            </tr>
        </table>

      type: string
      x-apiture-enum: cardActivityReasonCode
      enum:
        - transactionLimitSurpassed
        - dailyLimitSurpassed
        - monthlyLimitSurpassed
        - transactionOccurred
        - transactionDeclined
        - merchantCategoryAlertTriggered
        - transactionCategoryAlertTriggered
        - allowedRegionsAlertTriggered
        - cardFrozen
        - invalidMerchantLocation
        - merchantBlocked
      x-apiture-version: 1.0.0
    institutionId:
      x-apiture-version: 1.1.0
      title: Institution ID (v1.1.0)
      description: The unique immutable identifier of a financial institution.
      type: string
      pattern: ^[A-Z0-9_]{2,8}$
      maxLength: 8
      minLength: 2
      example: TIBURON
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/institutionId
    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
    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
    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
    money:
      x-apiture-version: 1.0.2
      title: Money (v1.0.2)
      description: An amount of money in a specific currency.
      type: object
      properties:
        value:
          description: The net monetary value. A negative amount denotes a debit; a positive amount denotes a credit. The numeric value is represented as a string so that it can be exact with no loss of precision.
          $ref: '#/components/schemas/monetaryValue'
        currency:
          description: The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this monetary value.
          $ref: '#/components/schemas/currencyCode'
      example:
        value: '1000.00'
        currency: USD
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/money
    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
    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
    partialAddress:
      x-apiture-version: 1.0.1
      title: Partial Address (v1.0.1)
      description: A partial postal address that can hold a US address or an international (non-US) postal addresses. Partial addresses do not require any property to have a value.
      type: object
      allOf:
        - $ref: '#/components/schemas/fullAddressFields'
      examples:
        - address1: 1805 Tiburon Dr.
        - locality: Wilmington
          regionCode: NC
        - countryCode: US
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/partialAddress
    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
    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
    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
    monetaryValue:
      x-apiture-version: 1.1.1
      title: Monetary Value (v1.1.1)
      description: The monetary value, supporting only positive amounts. The numeric value is  represented as a string so that it can be exact with no loss of precision.
      example: '3456.78'
      format: decimal
      type: string
      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/monetaryValue
    currencyCode:
      description: A [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) This is always upper case ASCII. Crypto currencies with codes longer that 3 characters are not supported.
      type: string
      format: text
      pattern: ^[A-Z]{3}$
      minLength: 3
      maxLength: 3
      x-resolved-from: ../../common/openapi.yaml#/components/schemas/currencyCode
      x-apiture-version: 1.0.0
      title: ' (v1.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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
  securitySchemes:
    clientCredentials:
      type: oauth2
      description: Client Credentials OAuth2 flow that allows a secure service application to access resources. (This access is not used with insecure clients such as web or mobile applications.) See details at [Secure Access](https://dx.apiture.com/docs/api/guides/secure-access/).
      flows:
        clientCredentials:
          tokenUrl: https://dev-oidc.apiture-comm-nonprod.com/oidc/token
          scopes:
            cardAdapter/write: For webhook calls from Card Adapter to alert customers of card activity
  responses:
    '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
    '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
    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
  x-apiture-errors:
    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
    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
x-resolved-from: ../../systemCardActivityWebhook/status-codes-openapi.yaml
x-resolved-at: '2024-12-09T21:44:16.119Z'
x-apiture-annotated-at: '2024-12-09T21:44:16.356Z'
