Finicity Transaction Data Enrichment API

Enhance the transaction data set

Operations 1

POST /data-enrichment/transactions Performs Enrichment of the Provided Transactions #

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for apis

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

Call it yourself

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

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

Get an API key

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

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

OpenAPI Specification

finicity-transaction-data-enrichment-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Open Finance Transaction Data Enrichment API
  description: 'OpenAPI specification for Finicity APIs.


    Open Finance (formerly Open Banking) solutions in the US are provided by

    Finicity, a Mastercard company.'
  contact:
    name: API Support
    email: apisupport@mastercard.com
    url: https://developer.mastercard.com/open-finance-us/documentation/support/
  version: 1.43.0
servers:
- url: https://api.finicity.com
  description: Production
security:
- FinicityAppKey: []
  FinicityAppToken: []
tags:
- name: Transaction Data Enrichment
  description: Enhance the transaction data set
paths:
  /data-enrichment/transactions:
    post:
      tags:
      - Transaction Data Enrichment
      summary: Performs Enrichment of the Provided Transactions
      description: The operation processes the enclosed transactions for enrichment with categorization and entity recognition. Accepts a batch of 1000 transactions.
      operationId: enrichTransactions
      requestBody:
        $ref: '#/components/requestBodies/EnrichTransactionsPayload'
      responses:
        '200':
          $ref: '#/components/responses/EnrichedTransactions'
        '400':
          $ref: '#/components/responses/BadRequestErrorTransactionResponse'
        '401':
          $ref: '#/components/responses/UnauthorizedErrorResponse'
        '404':
          $ref: '#/components/responses/NotFoundErrorResponse'
      security:
      - FinicityAppKey: []
        FinicityAppToken: []
components:
  examples:
    MissingFinicityAppKeyExample:
      value:
        code: '10026'
        message: Missing parameter (Finicity-App-Key)
    DataNotFoundError:
      value:
        code: 14001
        message: Resource not found.
    MissingFinicityAppTokenExample:
      value:
        code: '10024'
        message: Missing parameter (Finicity-App-Token)
    GenericBadRequestError:
      value:
        code: '14020'
        message: Bad request.
        externalTransactionId: MAC1005061234
    ExpiredFinicityAppTokenExample:
      value:
        code: '10023'
        message: Expired (Finicity-App-Token)
    InvalidFinicityAppTokenExample:
      value:
        code: '10022'
        message: Invalid (Finicity-App-Token)
    EnrichedTransactionsExample:
      value:
        transactions:
        - externalCustomerId: '1005061234'
          externalAccountId: '1005061234'
          accountType: checking
          externalTransactionId: MAC1005061233
          postedTimestamp: '2024-07-26T11:00:00Z'
          transactionTimestamp: '2024-07-26T11:00:00Z'
          description: STARBUCKS STORE 06565 LITTLETON CO 07/26
          memo: debit
          amount: -13.26
          transactionFee: 0.0
          transactionCategory: Coffee Shops
          transactionCategoryScore: 45.0
          transactionCategoryGroup: Groceries & Dining
          type: DEBIT
          directionIndicator: Debit
          entities:
          - id: 'MTc1ODA5NDU0MTYwNjM1OTA0MA== '
            name: Starbucks
            category: Coffee Shops
            group: Cafe
            website: https://starbucks.com
            logoUrl: https://institution-branding-assets-cf.openbanking.mastercard.com/MTc1ODA5NDU0MTYwNjM1OTA0MA==/logo.svg
            entityStandardizationConfidenceScore: 91.0
          address:
            line1: 10278 W
            line2: Centennial Rd
            city: Littleton
            state: CO
            postalCode: '80127'
            country: US
            latitude: 39.567229
            longitude: -105.11126
            phoneNumber: '8017339340'
          additionalDetails:
            key1: value1
        - externalCustomerId: '10050612345'
          externalAccountId: '10050612345'
          accountType: checking
          externalTransactionId: MAC1005061234
          postedTimestamp: '2024-07-26T11:00:00Z'
          transactionTimestamp: '2024-07-26T11:00:00Z'
          description: CHECKCARD 07/26 MCDONALDS F10649 CLINTON SC
          memo: debit
          amount: -37.52
          transactionFee: 0.0
          transactionCategory: Food & Dining
          transactionCategoryScore: 39.87
          transactionCategoryGroup: Groceries & Dining
          type: DEBIT
          directionIndicator: Debit
          entities:
          - id: MTc1ODA5Mzc1Mzc1MjQ4OTk4NA==
            name: McDonald's
            category: Fast Food
            website: https://mcdonalds.com
            logoUrl: https://institution-branding-assets-cf.openbanking.mastercard.com/MTc1ODA5Mzc1Mzc1MjQ4OTk4NA==/logo.svg
            entityStandardizationConfidenceScore: 96.77
          address:
            line1: 101 S Broad St
            line2: ''
            city: Clinton
            state: SC
            postalCode: '29325'
            country: US
            latitude: 34.47237
            longitude: -81.880344
            phoneNumber: '8648334816'
          additionalDetails:
            key1: value1
            key2: value2
          cardAcceptorId: 006952800649MDF
          inputIsRecurringTransaction: false
          inputMerchantInformation:
            merchantDescriptor: MCDONALDS10649CLINTONSC
            name: McDonalds
            line1: 101 S Broad St
            city: Clinton
            state: SC
            postalCode: '29325'
            country: US
            phoneNumber: '8648334816'
            website: https://www.mcdonalds.com
            merchantCategoryCode: '5814'
            merchantCategoryName: FAST FOOD RESTAURANTS
          isRecurringTransaction: false
          locationId: 876875444777
          isEcommerce: false
          isBrickAndMortar: true
          matchConfidenceScore: 97
    EnrichTransactionsPayloadExample:
      value:
        transactions:
        - externalCustomerId: '1005061234'
          externalAccountId: '1005061234'
          accountType: checking
          externalTransactionId: MAC1005061233
          postedTimestamp: '2024-07-26T11:00:00Z'
          transactionTimestamp: '2024-07-26T11:00:00Z'
          description: STARBUCKS STORE 06565 LITTLETON CO 07/26
          memo: debit
          amount: -13.26
          transactionFee: 0.0
          type: DEBIT
          directionIndicator: Debit
          additionalDetails:
            key1: value1
        - externalCustomerId: '10050612345'
          externalAccountId: '10050612345'
          accountType: checking
          externalTransactionId: MAC1005061234
          postedTimestamp: '2024-07-26T11:00:00Z'
          transactionTimestamp: '2024-07-26T11:00:00Z'
          description: CHECKCARD 07/26 MCDONALDS F10649 CLINTON SC
          memo: debit
          amount: -37.52
          transactionFee: 0.0
          type: DEBIT
          directionIndicator: Debit
          additionalDetails:
            key1: value1
            key2: value2
          cardAcceptorId: 006952800649MDF
          inputIsRecurringTransaction: false
          inputMerchantInformation:
            merchantDescriptor: MCDONALDS10649CLINTONSC
            name: McDonalds
            line1: 101 S Broad St
            city: Clinton
            state: SC
            postalCode: '29325'
            country: US
            phoneNumber: '8648334816'
            website: https://www.mcdonalds.com
            merchantCategoryCode: '5814'
            merchantCategoryName: FAST FOOD RESTAURANTS
    ExpiredTokenExample:
      value:
        code: '10023'
        message: Expired (Finicity-App-Token)
    BadCredentialsExample:
      value:
        code: '24302'
        message: Bad credentials
  schemas:
    InputMerchantInformation:
      description: InputMerchantInformation is an object containing merchant details in the request body.
      type: object
      properties:
        merchantDescriptor:
          type: string
          description: This is a concatenated combination of DE43 merchant name, DE43 merchant city and DE43 merchant state. Spaces should be excluded when concatenating these fields. If merchant state is not provided by the acquirer, use merchant name and city only. If the acquirer provides a country code instead of a state, use a combination of merchant name, city, and country.
          minLength: 0
          maxLength: 50
          example: MCDONALDS10649CLINTONSC
        name:
          type: string
          description: Name of the merchant.
          minLength: 0
          maxLength: 256
          example: McDonalds
        line1:
          type: string
          description: Line 1 of the transaction address.
          minLength: 0
          maxLength: 100
          example: 101 S Broad St
        city:
          type: string
          description: City of the transaction.
          minLength: 0
          maxLength: 50
          example: Clinton
        state:
          type: string
          description: State of the transaction.
          minLength: 0
          maxLength: 3
          example: SC
        postalCode:
          type: string
          description: PostalCode of the transaction.
          minLength: 0
          maxLength: 10
          example: '29325'
        country:
          type: string
          description: Country of the transaction.
          minLength: 0
          maxLength: 3
          example: US
        phoneNumber:
          type: string
          description: The phone number of the merchant
          minLength: 0
          maxLength: 20
          example: '8648334816'
        website:
          type: string
          description: Website of the involved entity.
          minLength: 0
          maxLength: 256
          example: https://www.mcdonalds.com
        merchantCategoryCode:
          type: string
          description: This code represents the category that a merchant location may be under and is supported by most payment providers.
          minLength: 0
          maxLength: 128
          example: '5814'
        merchantCategoryName:
          type: string
          description: This is the name of the Merchant Category that accompanies the MCC Code which identifies the category a merchant falls under.
          minLength: 0
          maxLength: 256
          example: FAST FOOD RESTAURANTS
    ErrorMessage:
      required:
      - code
      type: object
      properties:
        code:
          type: object
          description: 'An error code (can be returned as a number or a string). Useful links: [Common API Status Codes](https://developer.mastercard.com/open-finance-us/documentation/errors/best-practices/#common-api-status-codes), [Aggregation Status Codes](https://developer.mastercard.com/open-finance-us/documentation/products/manage/account-aggregation/#aggregation-status-codes).'
          example: '10001'
        status:
          type: string
          description: A status code
          example: '401'
        title:
          type: string
          description: A title for the error
          example: Connecting accounts error
        level:
          type: string
          description: An error level
          example: error
        message:
          type: string
          description: An error message
          example: Invalid authorization credentials
        user_message:
          type: string
          description: Some more details about the error
          example: The session has expired or is invalid
        assetId:
          $ref: '#/components/schemas/AssetId'
        accountId:
          $ref: '#/components/schemas/AccountId'
        externalTransactionId:
          type: string
          description: A unique identifier for the transaction that assists in linking data back to your systems.
          example: MAC1005061234
          minLength: 1
          maxLength: 100
        tags:
          type: string
          description: Categories that the error belongs to
          example: AGG
    AccountId:
      type: string
      description: An account ID
      example: '5011648377'
    AdditionalDetails:
      type: string
    EnrichedTransactions:
      type: object
      description: Request body that contains transactions to be enriched.
      properties:
        transactions:
          type: array
          description: List of input transactions to be enriched.
          items:
            $ref: '#/components/schemas/EnrichedTransaction'
    AssetId:
      type: string
      description: An asset ID. Generated by Data Connect or by using the Store Customer Pay Statement API.
      example: 097545c5-1c2a-4f20-a5ef-77f0820344c9-2018601178
    DESAddress:
      description: Address source of the transactions.
      type: object
      properties:
        line1:
          type: string
          description: Line 1 of the transaction address.
          minLength: 1
          maxLength: 100
          example: 10278 W
        line2:
          type: string
          description: Line 2 of the transaction address.
          minLength: 1
          maxLength: 100
          example: Centennial Rd
        city:
          type: string
          description: City of the transaction.
          minLength: 1
          maxLength: 100
          example: Littleton
        state:
          type: string
          description: State of the transaction.
          minLength: 1
          maxLength: 100
          example: CO
        postalCode:
          type: string
          description: Postal Code of the transaction.
          minLength: 1
          maxLength: 100
          example: '80127'
        country:
          type: string
          description: Country of the transaction.
          minLength: 1
          maxLength: 100
          example: USA
        latitude:
          type: number
          description: Latitude of the transaction.
          format: double
          minimum: -90
          maximum: 90
          example: 39.56722
        longitude:
          type: number
          description: Longitude of the transaction.
          format: double
          minimum: -180
          maximum: 180
          example: -105.11126
        phoneNumber:
          type: string
          description: Phone number of the transaction.
          minimum: 0
          maximum: 20
          example: '8017339340'
    TransactionPayload:
      type: object
      properties:
        externalCustomerId:
          type: string
          description: 'A unique identifier assigned to the customer for a particular institution.

            __Note:__ The externalCustomerId and externalAccountId fields are to allow you to map the transactions back to your data. __Do not send Mastercard plaintext representations of customer or account IDs.__ The representative IDs must be obfuscated through cryptographically strong hashing (we recommend using SHA-2 or SHA-3 methods).'
          minLength: 1
          maxLength: 100
          example: '1005061234'
        externalAccountId:
          type: string
          description: 'A unique identifier assigned to the accounts for a particular institution.

            __Note:__ The externalCustomerId and externalAccountId fields are to allow you to map the transactions back to your data. __Do not send Mastercard plaintext representations of customer or account IDs.__ The representative IDs must be obfuscated through cryptographically strong hashing (we recommend using SHA-2 or SHA-3 methods).'
          minLength: 1
          maxLength: 100
          example: '1005061234'
        accountType:
          type: string
          description: 'Indicates the type of account associated with the transaction.

            Listed below are the current account types supported:


            "checking",

            "savings",

            "creditCard",

            "brokerageAccount",

            "healthSavingsAccount",

            "unknown"


            NOTE : If "unknown" is provided, the enrichment service will assume it is a "checking" account. An incorrect assumption could impact the results from the enrichment service.

            '
          minLength: 1
          maxLength: 511
          example: checking
        externalTransactionId:
          description: A unique identifier for the transaction that assists in linking data back to your systems.
          type: string
          minLength: 1
          maxLength: 100
          example: MAC1005061233
        postedTimestamp:
          type: string
          description: 'The date and time when the transaction was officially recorded in the account.


            Supported formats are yyyy-MM-dd''T''HH:mm:ss.SSS''Z'', yyyy-MM-dd''T''HH:mm:ss''Z'', yyyy-MM-dd HH:mm:ss.0, yyyy-MM-dd.

            '
          minLength: 3
          maxLength: 32
          example: '2024-07-26T11:00:00Z'
        transactionTimestamp:
          type: string
          description: 'The exact date and time when the transaction was initiated or occurred.


            Supported formats are yyyy-MM-dd''T''HH:mm:ss.SSS''Z'', yyyy-MM-dd''T''HH:mm:ss''Z'', yyyy-MM-dd HH:mm:ss.0, yyyy-MM-dd.

            '
          minLength: 3
          maxLength: 32
          example: '2024-07-26T11:00:00Z'
        description:
          type: string
          description: Description of the transaction.
          minLength: 1
          maxLength: 1024
          example: STARBUCKS STORE 06565 LITTLETON CO 07/26
        memo:
          type: string
          description: Memo of the transaction.
          minLength: 0
          maxLength: 511
          example: debit
        amount:
          type: number
          format: double
          description: Value amount for transaction.
          minimum: -1.7976931348623157e+308
          maximum: 1.7976931348623157e+308
          example: -13.26
        transactionFee:
          type: number
          format: double
          description: A charge applied to the transaction.
          minimum: -1.7976931348623157e+308
          maximum: 1.7976931348623157e+308
          example: 0
        type:
          type: string
          description: Type of the transaction.
          minLength: 0
          maxLength: 32
          example: DEBIT
        directionIndicator:
          type: string
          description: "- The directionIndicator should be from the perspective of the account holder.\n- If you always send us positive amount values, you MUST send us corresponding directionIndicator values to ensure the categorization logic works as intended.\n- If you have internal logic to provide the amount field as either positive or negative, do not send us data in the directionIndicator.\n\n- Listed below are the current directionIndicator types supported:\n  - \"Debit\"\n  - \"Credit\"\n"
          minLength: 0
          maxLength: 32
          example: Debit
        additionalDetails:
          type: object
          description: 'A dictionary containing additional details of the transaction

            being returned in the enrichment response.

            - This object should not contain any PII.

            - The max number of allowed keys are 30.

            - The key max length should be 100.

            - The value max length should be 255.

            '
          additionalProperties:
            $ref: '#/components/schemas/AdditionalDetails'
          example:
            key1: value1
            key2: value2
        cardAcceptorId:
          type: string
          description: Also known as CAID, Merchant ID, or DE42, cardAcceptorId is an alphanumeric string assigned by the acquiring bank (Acquirer) to a merchant or merchant location. It serves as a unique identifier for the point of transaction origin, such as a physical store, payment terminal, or online checkout page.
          minLength: 0
          maxLength: 15
          example: '234523095820935'
        inputIsRecurringTransaction:
          type: boolean
          description: A flag indicating whether the transaction is recurring or not.
          example: false
        inputMerchantInformation:
          $ref: '#/components/schemas/InputMerchantInformation'
      required:
      - externalCustomerId
      - accountType
      - description
      - amount
      - externalTransactionId
      - transactionTimestamp
      - externalAccountId
    Entities:
      description: Entities refer to the distinct parties involved in the transaction.
      type: array
      items:
        type: object
        properties:
          id:
            type: string
            description: ID of the entity (entities).
            minLength: 1
            maxLength: 100
            example: MTc1ODA5NDU0MTYwNjM1OTA0MA==
          name:
            type: string
            description: Name of the entity (entities).
            minLength: 1
            maxLength: 100
            example: Starbucks
          group:
            type: string
            description: Group of the entity (entities).
            minLength: 1
            maxLength: 100
            example: Cafe
          category:
            type: string
            description: Category of the entity (entities).
            minLength: 1
            maxLength: 100
            example: Coffee Shops
          website:
            type: string
            description: Website of the involved entity.
            minLength: 1
            maxLength: 100
            example: https://starbucks.com
          logoUrl:
            type: string
            description: Logo of the involved entity.
            minLength: 1
            maxLength: 500
            example: https://institution-branding-assets-cf.openbanking.mastercard.com/MTc1ODA5NDU0MTYwNjM1OTA0MA==/logo.svg
    EnrichedTransaction:
      type: object
      properties:
        externalCustomerId:
          type: string
          description: A unique identifier assigned to the customer for a particular institution.
          minLength: 1
          maxLength: 100
          example: '1005061234'
        externalAccountId:
          type: string
          description: A unique identifier assigned to the accounts for a particular institution.
          minLength: 1
          maxLength: 100
          example: '1005061234'
        accountType:
          type: string
          description: 'Indicates the type of account associated with the transaction.

            Listed below are the current account types supported:


            "checking",

            "savings",

            "creditCard",

            "brokerageAccount",

            "investment",

            "healthSavingsAccount",

            "unknown"


            NOTE : If "unknown" is provided, the enrichment service will assume it is a "checking" account. An incorrect assumption could impact the results from the enrichment service.

            '
          minLength: 1
          maxLength: 511
          example: checking
        externalTransactionId:
          description: A unique identifier for the transaction that assists in linking data back to your systems.
          type: string
          minLength: 1
          maxLength: 100
          example: MAC1005061233
        postedTimestamp:
          type: string
          description: 'The date and time when the transaction was officially recorded in the account.


            Supported formats are yyyy-MM-dd''T''HH:mm:ss.SSS''Z'', yyyy-MM-dd''T''HH:mm:ss''Z'', yyyy-MM-dd HH:mm:ss.0, yyyy-MM-dd.

            '
          minLength: 3
          maxLength: 32
          example: '2024-07-26T11:00:00Z'
        transactionTimestamp:
          type: string
          description: 'The exact date and time when the transaction was initiated or occurred.


            Supported formats are yyyy-MM-dd''T''HH:mm:ss.SSS''Z'', yyyy-MM-dd''T''HH:mm:ss''Z'', yyyy-MM-dd HH:mm:ss.0, yyyy-MM-dd.

            '
          minLength: 3
          maxLength: 32
          example: '2024-07-26T11:00:00Z'
        description:
          type: string
          description: Description of the transaction.
          minLength: 1
          maxLength: 1024
          example: STARBUCKS STORE 06565 LITTLETON CO 07/26
        memo:
          type: string
          description: Memo of the transaction.
          minLength: 0
          maxLength: 511
          example: debit
        amount:
          type: number
          format: double
          description: Value amount for transaction.
          minimum: -1.7976931348623157e+308
          maximum: 1.7976931348623157e+308
          example: -13.26
        transactionFee:
          type: number
          format: double
          description: A charge applied to the transaction.
          minimum: -1.7976931348623157e+308
          maximum: 1.7976931348623157e+308
          example: 0
        transactionCategory:
          type: string
          description: Transaction Category for the transaction.
          minLength: 0
          maxLength: 256
          example: Coffee Shops
        transactionCategoryScore:
          type: number
          format: double
          description: A confidence score between 0 – 100.0 for the transaction category.
          minimum: 0
          maximum: 100.0
          example: 16
        transactionCategoryGroup:
          type: string
          description: The parent group that a transaction category belongs to.
          minLength: 0
          maxLength: 256
          example: Dining
        type:
          type: string
          description: Type for transaction.
          minLength: 0
          maxLength: 32
          example: DEBIT
        directionIndicator:
          type: string
          description: "- The directionIndicator should be from the perspective of the account holder.\n- If you always send us positive amount values, you MUST send us corresponding directionIndicator values to ensure the categorization logic works as intended.\n- If you have internal logic to provide the amount field as either positive or negative, do not send us data in the directionIndicator.\n\n- Listed below are the current directionIndicator types supported:\n  - \"Debit\"\n  - \"Credit\"\n"
          minLength: 0
          maxLength: 32
          example: Debit
        entities:
          $ref: '#/components/schemas/Entities'
        address:
          $ref: '#/components/schemas/DESAddress'
        additionalDetails:
          type: object
          description: 'A dictionary containing additional details of the transaction

            being returned in the enrichment response.

            - This object should not contain any PII.

            - The max number of allowed keys are 30.

            - The key max length should be 100.

            - The value max length should be 255.

            '
          additionalProperties:
            $ref: '#/components/schemas/AdditionalDetails'
          example:
            key1: value1
            key2: value2
        cardAcceptorId:
          type: string
          description: Also known as CAID, Merchant ID, or DE42, cardAcceptorId is an alphanumeric string assigned by the acquiring bank (Acquirer) to a merchant or merchant location. It serves as a unique identifier for the point of transaction origin, such as a physical store, payment terminal, or online checkout page.
          minLength: 0
          maxLength: 15
          example: '234523095820935'
        inputIsRecurringTransaction:
          type: boolean
          description: A flag in the input indicating whether the transaction is recurring or not.
          example: false
        inputMerchantInformation:
          $ref: '#/components/schemas/InputMerchantInformation'
        isRecurringTransaction:
          type: boolean
          description: A flag indicating whether the transaction is recurring or not.
          example: false
        locationId:
          type: number
          description: The Mastercard assigned location id representing this merchant location.
          example: 876875444777
          minLength: 0
          maxLength: 32
        isEcommerce:
          type: boolean
          description: A flag indicating whether the business location is ecommerce or not.
          example: false
        isBrickAndMortar:
          type: boolean
          description: A boolean value indicating if the identified merchant is a brick and mortar location.
          example: false
        matchConfidenceScore:
          type: number
          minimum: 0
          maximum: 100
          description: If the merchantDescriptor is used to select the locationId and location details, a matchConfidenceScore is returned, indicating the score between the merchantDescriptor and the selected information from our internal data on merchants.
          example: 97
    EnrichTransactionsPayload:
      type: object
      description: Request body that contains transactions to be enriched.
      properties:
        transactions:
          type: array
          description: A list of transactions requested to be enriched.
          items:
            $ref: '#/components/schemas/TransactionPayload'
          minItems: 1
          maxItems: 1000
      required:
      - transactions
  responses:
    EnrichedTransactions:
      description: Enriched Transactions Response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnrichedTransactions'
          examples:
            EnrichedTransactionsExample:
              $ref: '#/components/examples/EnrichedTransactionsExample'
    NotFoundErrorResponse:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            DataNotFoundError:
              $ref: '#/components/examples/DataNotFoundError'
    BadRequestErrorTransactionResponse:
      description: The request was rejected
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            GenericBadRequestError:
              $ref: '#/components/examples/GenericBadRequestError'
    UnauthorizedErrorResponse:
      description: The request lacks valid authentication credentials. Check "Finicity-App-Key" or "Finicity-App-Token".
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorMessage'
          examples:
            ExpiredTokenExample:
              $ref: '#/components/examples/ExpiredTokenExample'
            MissingFinicityAppKeyExample:
              $ref: '#/components/examples/MissingFinicityAppKeyExample'
            MissingFinicityAppTokenExample:
              $ref: '#/components/examples/MissingFinicityAppTokenExample'
            InvalidFinicityAppTokenExample:
              $ref: '#/components/examples/InvalidFinicityAppTokenExample'
            ExpiredFinicityAppTokenExample:
              $ref: '#/components/examples/ExpiredFinicityAppTokenExample'
            BadCredentialsExample:
              $ref: '#/components/examples/BadCredentialsExample'
        text/plain:
          schema:
            type: string
            example: Invalid (Finicity-App-Key)
  requestBodies:
    EnrichTransactionsPayload:
      required: true
      description: A list of maximum of 1000 transactions to submit for transaction enrichment
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/EnrichTransactionsPayload'
          examples:
            EnrichTransactionsPayload:
              $ref: '#/components/examples/EnrichTransactionsPayloadExample'
  securitySchemes:
    FinicityAppKey:
      name: Finicity-App-Key
      type: apiKey
      in: header
      description: The "Finicity-App-Key" from the developer dashboard
    FinicityAppToken:
      name: Finicity-App-Token
      type: apiKey
      in: header
      description: A token returned by the `/authentication` API