> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slash.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List transactions

> Returns the newest-first transaction feed for the selected legal entity.

Every transaction category appears in this feed. Use `category` to narrow
to one category. Card-specific filters live on `GET /v2/transactions/card`.


Read [Transfers and transactions](/docs/v2/concepts/transfers-and-transactions) to understand how transfer instructions relate to account impacts.


## OpenAPI

````yaml /openapi-v2.json get /v2/transactions
openapi: 3.1.0
info:
  title: Slash Public API V2
  description: >-
    Send money for a Slash legal entity. Every request uses an API key. Transfer
    creation returns a Transfer that links its resulting transactions.
  version: 0.0.1
servers:
  - url: https://api.slash.com
    description: production
security:
  - api_key: []
paths:
  /v2/transactions:
    parameters:
      - name: x-legal-entity
        in: header
        required: true
        description: >-
          The legal entity to act on. Required on every request; a user API key
          can act on any legal entity its user has access to.
        schema:
          type: string
          pattern: ^le_[a-zA-Z0-9]+$
    get:
      summary: List transactions
      description: >
        Returns the newest-first transaction feed for the selected legal entity.


        Every transaction category appears in this feed. Use `category` to
        narrow

        to one category. Card-specific filters live on `GET
        /v2/transactions/card`.
      parameters:
        - name: cursor
          in: query
          required: false
          description: >-
            Pass the opaque value returned in `metadata.nextCursor` without
            changing the other query parameters.
          schema:
            type: string
        - name: accountId
          in: query
          required: false
          description: Return activity for one accessible Account.
          schema:
            type: string
        - name: virtualAccountId
          in: query
          required: false
          description: >-
            Return transactions associated with one accessible virtual account.
            Transactions without a virtual-account association do not match.
          schema:
            type: string
        - name: category
          in: query
          required: false
          description: Return transactions in one category.
          schema:
            $ref: >-
              #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.CategoryFilter.yaml
        - name: status
          in: query
          required: false
          description: Return transactions with this broad accounting status.
          schema:
            $ref: >-
              #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.Status.yaml
        - name: detailedStatus
          in: query
          required: false
          description: >-
            Return transactions in this exact lifecycle state. Must apply to the
            selected `category` when one is given.
          schema:
            $ref: >-
              #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.DetailedStatus.yaml
        - name: transferId
          in: query
          required: false
          description: >-
            Return the transactions produced by one transfer. Uses the
            `transfer_intent_` prefix.
          schema:
            type: string
        - name: from
          in: query
          required: false
          description: Inclusive RFC 3339 lower bound on transaction date.
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          required: false
          description: Inclusive RFC 3339 upper bound on transaction date.
          schema:
            type: string
            format: date-time
        - name: includeSummary
          in: query
          required: false
          description: >-
            Include totals across the complete filtered result, not only this
            page.
          schema:
            type: boolean
            default: false
      responses:
        '200':
          description: >-
            A page of transactions. Every item has the same core fields and
            identifies its category. Payment- or network-specific information
            appears under `details`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/transaction'
                  metadata:
                    $ref: '#/components/schemas/pagination-metadata'
                  summary:
                    $ref: '#/components/schemas/transaction-summary'
                required:
                  - items
                  - metadata
                additionalProperties: false
              examples:
                mixed_feed:
                  summary: Global feed with card and book activity
                  value:
                    items:
                      - id: agg_tx_card123
                        date: '2026-08-18T01:00:00.000Z'
                        description: ACME SUPPLY
                        amountCents: -4250
                        status: posted
                        detailedStatus: settled
                        accountId: sa_group_primary123
                        virtualAccountId: subaccount_operations123
                        accountSubtype: cash
                        category: card
                        details:
                          cardId: c_operations123
                          merchant:
                            description: ACME SUPPLY
                            categoryCode: '5045'
                            location:
                              city: San Francisco
                              state: CA
                              country: US
                              zip: '94105'
                          authorizedAt: '2026-08-17T22:52:43.399Z'
                          providerAuthorizationId: auth_123
                      - id: agg_tx_book123
                        date: '2026-08-17T20:00:00.000Z'
                        description: Operations to payroll
                        memo: August payroll
                        amountCents: -250000
                        status: posted
                        detailedStatus: settled
                        accountId: sa_group_primary123
                        virtualAccountId: subaccount_operations123
                        accountSubtype: cash
                        category: book
                        transferId: transfer_intent_book123
                    metadata:
                      count: 2
                transfer_feed_with_summary:
                  summary: ACH feed with full-result totals
                  value:
                    items:
                      - id: agg_tx_ach123
                        date: '2026-08-17T18:30:00.000Z'
                        description: Vendor payment
                        memo: VENDOR PAY
                        amountCents: -1250
                        status: pending
                        detailedStatus: pending
                        accountId: sa_group_primary123
                        virtualAccountId: subaccount_operations123
                        accountSubtype: cash
                        category: ach
                        transferId: transfer_intent_ach123
                        details:
                          counterpartyBank: Example Bank
                          receiverId: vendor-1042
                          companyId: '1234567890'
                          companyDiscretionaryData: ''
                          companyEntryDescription: VENDOR PAY
                          traceNumber: '091000019876543'
                          entryClassCode: CCD
                          paymentRelatedInfo: Invoice 1042
                    metadata:
                      count: 1
                    summary:
                      count: 482
                      totalInCents: 125000
                      totalOutCents: -94000
                      netChangeCents: 31000
        '400':
          $ref: >-
            #/components/responses/PublicApiV2Error400InvalidRequestInvalidRequestShapeTransactionsList
        '401':
          $ref: '#/components/responses/PublicApiV2Error401Unauthorized'
        '403':
          $ref: >-
            #/components/responses/PublicApiV2Error403ForbiddenLegalEntityUserApiKeyRequired
        '404':
          $ref: '#/components/responses/PublicApiV2Error404NotFoundNotFoundNotEnabled'
        '429':
          $ref: '#/components/responses/PublicApiV2RateLimited'
        '500':
          $ref: '#/components/responses/PublicApiV2Error500Internal'
components:
  schemas:
    slashfi.models.entity.PublicApiV2.Transaction.CategoryFilter.yaml:
      type: string
      description: >-
        Category filter for listing transactions. `other` is not filterable;
        those transactions only appear in unfiltered lists.
      enum:
        - card
        - ach
        - wire
        - international_wire
        - realtime
        - book
        - fee
        - check
        - crypto
        - treasury
      title: CategoryFilter
    slashfi.models.entity.PublicApiV2.Transaction.Status.yaml:
      type: string
      description: Coarse transaction state.
      enum:
        - pending
        - posted
        - failed
      title: Status
    slashfi.models.entity.PublicApiV2.Transaction.DetailedStatus.yaml:
      type: string
      description: Exact transaction lifecycle state across every category.
      enum:
        - pending
        - pending_destination
        - pending_approval
        - in_review
        - scheduled
        - canceled
        - failed
        - settled
        - declined
        - refund
        - reversed
        - returned
        - dispute
      title: DetailedStatus
    transaction:
      title: Transaction
      description: >
        A signed account impact. Every transaction includes the common fields
        below.

        The required `category` property identifies the transaction type and
        tells

        you which payment or network fields may appear under `details`.


        This is the response model for transaction listing, transaction
        retrieval,

        and transaction note updates.
      oneOf:
        - $ref: '#/components/schemas/transaction-card'
        - $ref: '#/components/schemas/transaction-ach'
        - $ref: '#/components/schemas/transaction-wire'
        - $ref: '#/components/schemas/transaction-international-wire'
        - $ref: '#/components/schemas/transaction-realtime'
        - $ref: '#/components/schemas/transaction-book'
        - $ref: '#/components/schemas/transaction-fee'
        - $ref: '#/components/schemas/transaction-check'
        - $ref: '#/components/schemas/transaction-crypto'
        - $ref: '#/components/schemas/transaction-treasury'
        - $ref: '#/components/schemas/transaction-other'
      discriminator:
        propertyName: category
        mapping:
          card:
            $ref: '#/components/schemas/transaction-card'
          ach:
            $ref: '#/components/schemas/transaction-ach'
          wire:
            $ref: '#/components/schemas/transaction-wire'
          international_wire:
            $ref: '#/components/schemas/transaction-international-wire'
          realtime:
            $ref: '#/components/schemas/transaction-realtime'
          book:
            $ref: '#/components/schemas/transaction-book'
          fee:
            $ref: '#/components/schemas/transaction-fee'
          check:
            $ref: '#/components/schemas/transaction-check'
          crypto:
            $ref: '#/components/schemas/transaction-crypto'
          treasury:
            $ref: '#/components/schemas/transaction-treasury'
          other:
            $ref: '#/components/schemas/transaction-other'
    pagination-metadata:
      title: PaginationMetadata
      type: object
      properties:
        nextCursor:
          type: string
          description: Opaque cursor for the next page. Omitted on the final page.
        count:
          type: integer
          minimum: 0
          description: Number of items in this page.
      required:
        - count
      additionalProperties: false
    transaction-summary:
      title: TransactionSummary
      type: object
      description: >-
        Totals over every transaction matching the request's filters, not just
        the returned page. Present only when `includeSummary=true`.
      properties:
        count:
          type: integer
          description: Number of matching transactions.
        totalInCents:
          type: integer
          description: >-
            Sum of positive amounts, in cents. Excludes failed, declined,
            canceled, and reversed transactions and transfers between virtual
            accounts.
        totalOutCents:
          type: integer
          description: >-
            Sum of negative amounts, in cents, with the same exclusions as
            `totalInCents`.
        netChangeCents:
          type: integer
          description: '`totalInCents + totalOutCents`.'
      required:
        - count
        - totalInCents
        - totalOutCents
        - netChangeCents
      additionalProperties: false
    transaction-card:
      title: TransactionCard
      description: >
        Card activity with merchant and authorization data in `details`. This is
        the

        card variant of the unified Transaction model: `category` is always
        `card`

        and `detailedStatus` is limited to card lifecycle states.
      allOf:
        - $ref: '#/components/schemas/transaction-base'
        - type: object
          properties:
            category:
              type: string
              enum:
                - card
            detailedStatus:
              $ref: >-
                #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.CardDetailedStatus.yaml
            details:
              type: object
              description: Card, merchant, and authorization data for a card transaction.
              properties:
                cardId:
                  type: string
                merchant:
                  type: object
                  properties:
                    description:
                      type: string
                    categoryCode:
                      type: string
                    location:
                      type: object
                      properties:
                        city:
                          type: string
                        state:
                          type: string
                        country:
                          type: string
                        zip:
                          type: string
                      required:
                        - city
                        - state
                        - country
                        - zip
                      additionalProperties: false
                  required:
                    - description
                    - categoryCode
                  additionalProperties: false
                orderId:
                  type: string
                referenceNumber:
                  type: string
                authorizedAt:
                  type: string
                  format: date-time
                declineReason:
                  type: string
                approvalReason:
                  type: string
                providerAuthorizationId:
                  type: string
                cashback:
                  type: object
                  properties:
                    amountCents:
                      type: integer
                      description: Cashback earned, in cents.
                    rate:
                      type: number
                  required:
                    - amountCents
                    - rate
                  additionalProperties: false
                fxFee:
                  type: object
                  properties:
                    amountCents:
                      type: integer
                      description: Foreign transaction fee charged, in cents.
                  required:
                    - amountCents
                  additionalProperties: false
              additionalProperties: false
          required:
            - category
            - detailedStatus
    transaction-ach:
      title: TransactionAch
      description: ACH activity with network data in `details`.
      allOf:
        - $ref: '#/components/schemas/transaction-base'
        - type: object
          properties:
            category:
              type: string
              enum:
                - ach
            detailedStatus:
              $ref: >-
                #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.AchDetailedStatus.yaml
            details:
              $ref: '#/components/schemas/transaction-details-ach'
          required:
            - category
            - detailedStatus
    transaction-wire:
      title: TransactionWire
      description: Domestic wire activity with network data in `details`.
      allOf:
        - $ref: '#/components/schemas/transaction-base'
        - type: object
          properties:
            category:
              type: string
              enum:
                - wire
            detailedStatus:
              $ref: >-
                #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.WireDetailedStatus.yaml
            details:
              $ref: '#/components/schemas/transaction-details-wire'
          required:
            - category
            - detailedStatus
    transaction-international-wire:
      title: TransactionInternationalWire
      description: International wire activity with network data in `details`.
      allOf:
        - $ref: '#/components/schemas/transaction-base'
        - type: object
          properties:
            category:
              type: string
              enum:
                - international_wire
            detailedStatus:
              $ref: >-
                #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.WireDetailedStatus.yaml
            details:
              $ref: '#/components/schemas/transaction-details-wire'
          required:
            - category
            - detailedStatus
    transaction-realtime:
      title: TransactionRealtime
      description: RTP or FedNow activity with network data in `details`.
      allOf:
        - $ref: '#/components/schemas/transaction-base'
        - type: object
          properties:
            category:
              type: string
              enum:
                - realtime
            detailedStatus:
              $ref: >-
                #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.RealtimeDetailedStatus.yaml
            details:
              $ref: '#/components/schemas/transaction-details-realtime'
          required:
            - category
            - detailedStatus
    transaction-book:
      title: TransactionBook
      description: Movement between Slash balances.
      allOf:
        - $ref: '#/components/schemas/transaction-base'
        - type: object
          properties:
            category:
              type: string
              enum:
                - book
            detailedStatus:
              $ref: >-
                #/components/schemas/slashfi.models.entity.Transfer.BookStatus.yaml
          required:
            - category
            - detailedStatus
    transaction-fee:
      title: TransactionFee
      description: A Slash fee with its component charges in `fees`.
      allOf:
        - $ref: '#/components/schemas/transaction-base'
        - type: object
          properties:
            category:
              type: string
              enum:
                - fee
            detailedStatus:
              $ref: >-
                #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.FeeDetailedStatus.yaml
            details:
              $ref: '#/components/schemas/transaction-details-fee'
            fees:
              type: array
              description: Component charges that make up this fee transaction.
              items:
                $ref: '#/components/schemas/transaction-fee-component'
          required:
            - category
            - detailedStatus
            - fees
    transaction-check:
      title: TransactionCheck
      description: Check payment or deposit activity.
      allOf:
        - $ref: '#/components/schemas/transaction-base'
        - type: object
          properties:
            category:
              type: string
              enum:
                - check
            detailedStatus:
              $ref: >-
                #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.BasicDetailedStatus.yaml
          required:
            - category
            - detailedStatus
    transaction-crypto:
      title: TransactionCrypto
      description: On-chain activity with transaction data in `details`.
      allOf:
        - $ref: '#/components/schemas/transaction-base'
        - type: object
          properties:
            category:
              type: string
              enum:
                - crypto
            detailedStatus:
              $ref: >-
                #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.CryptoDetailedStatus.yaml
            details:
              $ref: '#/components/schemas/transaction-details-crypto'
          required:
            - category
            - detailedStatus
    transaction-treasury:
      title: TransactionTreasury
      description: Treasury deposit, withdrawal, or internal movement.
      allOf:
        - $ref: '#/components/schemas/transaction-base'
        - type: object
          properties:
            category:
              type: string
              enum:
                - treasury
            detailedStatus:
              $ref: >-
                #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.TreasuryDetailedStatus.yaml
          required:
            - category
            - detailedStatus
    transaction-other:
      title: TransactionOther
      description: >-
        Activity that maps to no other category, such as a SEPA, PIX, SPEI,
        Faster Payments, or Bre-B deposit into a Global USD account. `details`
        is present for the rails that report network data.
      allOf:
        - $ref: '#/components/schemas/transaction-base'
        - type: object
          properties:
            category:
              type: string
              enum:
                - other
            detailedStatus:
              $ref: >-
                #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.OtherDetailedStatus.yaml
            details:
              $ref: '#/components/schemas/transaction-details-other-rail'
          required:
            - category
            - detailedStatus
    PublicApiV2ErrorInvalidRequest:
      title: PublicApiV2ErrorInvalidRequest
      description: >-
        The input is well-formed but cannot be acted on; `message` says which
        field or combination is the problem, and `details.field` names the field
        when one is at fault.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - invalid_request
            details:
              type: object
              properties:
                field:
                  type: string
                  description: Dot path of the request field at fault.
                  example: internationalWire.fxQuoteId
                id:
                  type: string
                  description: The identifier that field carried, when it is one.
                  example: fx_quote_2rj4l7hmrrrcv
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorInvalidRequestShape:
      title: PublicApiV2ErrorInvalidRequestShape
      description: >-
        The body, query, or headers failed validation, or a required header is
        missing. `details` has one entry per failing location, keyed by JSON
        pointer or header name.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - invalid_request
            details:
              type: object
              properties: {}
              additionalProperties:
                type: string
          required:
            - code
            - details
    PublicApiV2ErrorUnauthorized:
      title: PublicApiV2ErrorUnauthorized
      description: API key authentication is missing or invalid.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - unauthorized
            details:
              type: object
              properties: {}
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorForbiddenLegalEntity:
      title: PublicApiV2ErrorForbiddenLegalEntity
      description: The credential is not permitted to act for the selected legal entity.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - forbidden
            details:
              type: object
              properties: {}
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorUserApiKeyRequired:
      title: PublicApiV2ErrorUserApiKeyRequired
      description: >-
        The API key is scoped to a legal entity rather than a user. Every v2
        request needs a user API key, created under Settings → API keys in the
        Slash dashboard, together with the `x-legal-entity` header.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - user_api_key_required
            details:
              type: object
              properties: {}
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorNotFound:
      title: PublicApiV2ErrorNotFound
      description: >-
        No resource matches the identifier, it belongs to another legal entity,
        or the credential cannot view it. When the identifier is a field of the
        request, `details` names that `field` and the `id` it received.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - not_found
            details:
              type: object
              properties:
                field:
                  type: string
                  description: Dot path of the request field at fault.
                  example: destinationId
                id:
                  type: string
                  description: The identifier that field carried, when it is one.
                  example: le_contact_destination_bank123
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorNotFoundNotEnabled:
      title: PublicApiV2ErrorNotFoundNotEnabled
      description: Public API v2 is not enabled for the selected legal entity.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - not_found
            details:
              type: object
              properties: {}
              additionalProperties: false
          required:
            - code
            - details
    PublicApiV2ErrorInternal:
      title: PublicApiV2ErrorInternal
      description: >-
        Slash could not complete the request. Quote `referenceId` when
        contacting Slash support.
      allOf:
        - $ref: '#/components/schemas/Error'
        - type: object
          properties:
            code:
              type: string
              enum:
                - internal
            details:
              type: object
              properties: {}
              additionalProperties: false
          required:
            - code
            - details
    transaction-base:
      title: TransactionBase
      type: object
      properties:
        id:
          type: string
          description: Transaction id.
          example: agg_tx_2rj4l7hmrrrcv
        date:
          type: string
          format: date-time
          description: Posting date, or creation date while pending or failed.
          example: '2026-08-18T01:00:00.000Z'
        description:
          type: string
          description: >-
            Statement descriptor when one was supplied; otherwise a
            Slash-generated display description.
          example: VENDOR PAYMENT
        memo:
          type: string
          description: >-
            Human-readable payment memo, when present. For transfers, this is
            the request's top-level `description`.
          example: Invoice 1042
        note:
          type: string
          description: User-editable private note, when present.
          example: Reconciled with invoice 1042
        amountCents:
          type: integer
          description: Signed USD account impact in cents. Debits are negative.
          example: -1250
        status:
          $ref: >-
            #/components/schemas/slashfi.models.entity.PublicApiV2.Transaction.Status.yaml
        accountId:
          type: string
          description: Account containing the transaction.
          example: sa_group_primary123
        virtualAccountId:
          type: string
          description: Virtual account containing the transaction, when applicable.
          example: subaccount_operations123
        accountSubtype:
          type: string
          description: Balance type affected by the transaction.
          enum:
            - cash
            - credit
          example: cash
        transferId:
          type: string
          description: >-
            The transfer that produced this transaction, if any. Uses the
            `transfer_intent_` prefix.
          example: transfer_intent_2rj4l7hmrrrcv
        originalCurrency:
          type: object
          description: >-
            Original currency details when the transaction was converted.
            Despite the historical `amountCents` field name, the amount uses the
            original currency's native minor unit.
          properties:
            code:
              type: string
            amountCents:
              type: integer
              description: Amount in the original currency's native minor unit.
            conversionRate:
              type: number
          required:
            - code
            - amountCents
            - conversionRate
          additionalProperties: false
      required:
        - id
        - date
        - description
        - amountCents
        - status
        - accountId
        - accountSubtype
    slashfi.models.entity.PublicApiV2.Transaction.CardDetailedStatus.yaml:
      type: string
      description: Exact lifecycle state of a card transaction.
      enum:
        - pending
        - canceled
        - failed
        - settled
        - declined
        - refund
        - reversed
        - dispute
      title: CardDetailedStatus
    slashfi.models.entity.PublicApiV2.Transaction.AchDetailedStatus.yaml:
      type: string
      description: Exact lifecycle state of an ACH transaction.
      enum:
        - pending
        - pending_destination
        - pending_approval
        - in_review
        - scheduled
        - canceled
        - failed
        - settled
        - reversed
        - returned
      title: AchDetailedStatus
    transaction-details-ach:
      title: TransactionDetailsAch
      type: object
      description: >-
        ACH network and counterparty data. Network fields are always present and
        empty until the entry has been submitted to the network, e.g. while
        `detailedStatus` is `pending_destination`.
      properties:
        counterpartyBank:
          type: string
        contactId:
          type: string
          description: Contact awaiting payment details for a queued ACH transfer.
        informationRequestId:
          type: string
          description: >-
            Information request backing a queued ACH transfer while
            `detailedStatus` is `pending_destination`.
        receiverId:
          type: string
        companyId:
          type: string
        companyDiscretionaryData:
          type: string
        companyEntryDescription:
          type: string
        traceNumber:
          type: string
        entryClassCode:
          type: string
        paymentRelatedInfo:
          type: string
      required:
        - receiverId
        - companyId
        - companyDiscretionaryData
        - traceNumber
        - entryClassCode
        - paymentRelatedInfo
      additionalProperties: false
    slashfi.models.entity.PublicApiV2.Transaction.WireDetailedStatus.yaml:
      type: string
      description: Exact lifecycle state of a wire transaction.
      enum:
        - pending
        - pending_approval
        - in_review
        - scheduled
        - canceled
        - failed
        - settled
        - reversed
        - returned
      title: WireDetailedStatus
    transaction-details-wire:
      title: TransactionDetailsWire
      type: object
      description: Domestic or international wire network data.
      properties:
        counterpartyBank:
          type: string
        typeCode:
          type: string
        subtypeCode:
          type: string
        omad:
          type: string
        imad:
          type: string
        senderReference:
          type: string
        businessFunctionCode:
          type: string
      required:
        - typeCode
        - subtypeCode
        - omad
        - imad
        - senderReference
        - businessFunctionCode
      additionalProperties: false
    slashfi.models.entity.PublicApiV2.Transaction.RealtimeDetailedStatus.yaml:
      type: string
      description: Exact lifecycle state of a realtime transaction.
      enum:
        - pending
        - pending_approval
        - in_review
        - scheduled
        - canceled
        - failed
        - settled
      title: RealtimeDetailedStatus
    transaction-details-realtime:
      title: TransactionDetailsRealtime
      type: object
      description: RTP or FedNow network and counterparty data.
      properties:
        counterpartyBank:
          type: string
        endToEndId:
          type: string
        routingNumber:
          type: string
        originatorName:
          type: string
        description:
          type: string
      additionalProperties: false
    slashfi.models.entity.Transfer.BookStatus.yaml:
      type: string
      description: Lifecycle state of a book transfer between Slash balances.
      enum:
        - pending
        - scheduled
        - in_review
        - canceled
        - failed
        - settled
      title: BookStatus
    slashfi.models.entity.PublicApiV2.Transaction.FeeDetailedStatus.yaml:
      type: string
      description: Exact lifecycle state of a fee transaction.
      enum:
        - pending
        - canceled
        - failed
        - settled
        - returned
      title: FeeDetailedStatus
    transaction-details-fee:
      title: TransactionDetailsFee
      type: object
      description: Relationship between the fee and its originating transaction.
      properties:
        relatedTransaction:
          type: object
          properties:
            id:
              type: string
              description: Transaction id with the `agg_tx_` prefix.
            amountCents:
              type: integer
              description: Signed USD account impact of the related transaction, in cents.
          required:
            - id
            - amountCents
          additionalProperties: false
      additionalProperties: false
    transaction-fee-component:
      title: TransactionFeeComponent
      type: object
      description: One charge that makes up a fee transaction.
      properties:
        id:
          type: string
        dateCharged:
          type: string
          format: date-time
        amountCents:
          type: integer
          description: Signed USD amount of this charge, in cents.
        type:
          type: string
          enum:
            - foreign_transaction_fees
            - dormant_card_fees
            - high_decline_fees
            - physical_card_fees
            - transfer_fees
            - deposit_fees
            - market_order_fees
        status:
          type: string
          enum:
            - pending
            - completed
            - failed
            - cancelled
        chargeType:
          type: string
          enum:
            - flat
            - percentage
        sourceAccountId:
          type: string
        relatedEntityId:
          type: string
        cardId:
          type: string
      required:
        - id
        - dateCharged
        - amountCents
        - type
        - status
        - chargeType
        - sourceAccountId
        - relatedEntityId
      additionalProperties: false
    slashfi.models.entity.PublicApiV2.Transaction.BasicDetailedStatus.yaml:
      type: string
      description: Exact lifecycle state of a check transaction.
      enum:
        - pending
        - canceled
        - failed
        - settled
      title: BasicDetailedStatus
    slashfi.models.entity.PublicApiV2.Transaction.CryptoDetailedStatus.yaml:
      type: string
      description: Exact lifecycle state of a crypto transaction.
      enum:
        - pending
        - pending_approval
        - in_review
        - canceled
        - failed
        - settled
        - refund
        - reversed
        - returned
      title: CryptoDetailedStatus
    transaction-details-crypto:
      title: TransactionDetailsCrypto
      type: object
      description: On-chain transaction data.
      properties:
        txHash:
          type: string
        senderAddress:
          type: string
      additionalProperties: false
    slashfi.models.entity.PublicApiV2.Transaction.TreasuryDetailedStatus.yaml:
      type: string
      description: Exact lifecycle state of a treasury transaction.
      enum:
        - pending
        - canceled
        - failed
        - settled
        - returned
      title: TreasuryDetailedStatus
    slashfi.models.entity.PublicApiV2.Transaction.OtherDetailedStatus.yaml:
      type: string
      description: >-
        Exact lifecycle state of a transaction on another rail (SEPA, PIX, SPEI,
        Faster Payments, Bre-B) or one that maps to no other category.
      enum:
        - pending
        - pending_approval
        - in_review
        - canceled
        - failed
        - settled
        - reversed
        - returned
      title: OtherDetailedStatus
    transaction-details-other-rail:
      title: TransactionDetailsOtherRail
      type: object
      description: >-
        Network data for a SEPA, PIX, SPEI, or Faster Payments deposit into a
        Global USD account. Counterparty identifiers describe the originator of
        the deposit, as they appear on the network message.
      properties:
        type:
          type: string
          description: Network the deposit arrived on.
          enum:
            - sepa
            - pix
            - spei
            - fps
        senderName:
          type: string
          description: Name of the originator.
        recipientName:
          type: string
          description: Name of the recipient (SEPA and Faster Payments).
        description:
          type: string
          description: Description supplied by the originator (PIX and SPEI).
        reference:
          type: string
          description: Free-form reference set by the originator.
        iban:
          type: string
          description: IBAN of the originator (SEPA).
        ibanLast4:
          type: string
          description: Last 4 characters of the originator's IBAN (SEPA).
        bic:
          type: string
          description: BIC of the originator's bank (SEPA).
        uetr:
          type: string
          description: Unique end-to-end transaction reference (SEPA and Faster Payments).
        paymentScheme:
          type: string
          description: SEPA scheme used, e.g. `sepa_credit_transfer` or `sepa_instant`.
        trackingNumber:
          type: string
          description: Network tracking number (PIX `endToEndId`, SPEI clave de rastreo).
        clabe:
          type: string
          description: CLABE of the originator (SPEI).
        accountNumber:
          type: string
          description: Account number of the originator (Faster Payments).
        last4:
          type: string
          description: Last 4 digits of the originator's account number (Faster Payments).
        sortCode:
          type: string
          description: Sort code of the originator's bank (Faster Payments).
      required:
        - type
      additionalProperties: false
    Error:
      type: object
      properties:
        code:
          type: string
          description: >-
            Machine-readable reason; branch on this, not on `message`. Every
            code an endpoint can return is listed on its reference page; the
            ones shared by all endpoints are explained in the Errors guide.
          example: invalid_request
        message:
          type: string
          description: >-
            Human-readable explanation, safe to show to an operator. Wording may
            change; use `code` and `details` programmatically.
        details:
          type: object
          description: >-
            The values behind `message`, keyed per `code`. For example
            `insufficient_funds` carries `available` and `requested`;
            `invalid_request` from contract validation carries one entry per
            failing field, keyed by JSON pointer. Empty when the code has no
            variable data.
          additionalProperties:
            type: string
          example:
            available: $120.00
            requested: $500.00
        referenceId:
          type: string
          description: Unique id of this failure. Quote it when contacting Slash support.
          example: 4001-2alj5if
      required:
        - code
        - message
        - details
        - referenceId
      additionalProperties: false
      title: Error
  responses:
    PublicApiV2Error400InvalidRequestInvalidRequestShapeTransactionsList:
      description: >-
        - `invalid_request` — The input is well-formed but cannot be acted on;
        `message` says which field or combination is the problem, and
        `details.field` names the field when one is at fault.

        - `invalid_request (request shape)` — The body, query, or headers failed
        validation, or a required header is missing. `details` has one entry per
        failing location, keyed by JSON pointer or header name.
      content:
        application/json:
          schema:
            anyOf:
              - title: invalid_request
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorInvalidRequest'
              - title: invalid_request (request shape)
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorInvalidRequestShape'
          examples:
            invalid_request:
              summary: invalid_request
              value:
                code: invalid_request
                message: The detailed status does not belong to the selected status.
                details: {}
                referenceId: 4001-2alj5if
            invalid_request_request_shape:
              summary: invalid_request (request shape)
              value:
                code: invalid_request
                message: >-
                  Invalid `accountId`: Expected a valid ID beginning with
                  "sa_group_".
                details:
                  /accountId: Expected a valid ID beginning with "sa_group_".
                referenceId: 4001-2alj5if
    PublicApiV2Error401Unauthorized:
      description: '- `unauthorized` — API key authentication is missing or invalid.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiV2ErrorUnauthorized'
          examples:
            unauthorized:
              summary: unauthorized
              value:
                code: unauthorized
                message: API key authentication is missing or invalid.
                details: {}
                referenceId: 4011-2alj5if
    PublicApiV2Error403ForbiddenLegalEntityUserApiKeyRequired:
      description: >-
        - `forbidden (legal entity)` — The credential is not permitted to act
        for the selected legal entity.

        - `user_api_key_required` — The API key is scoped to a legal entity
        rather than a user. Every v2 request needs a user API key, created under
        Settings → API keys in the Slash dashboard, together with the
        `x-legal-entity` header.
      content:
        application/json:
          schema:
            anyOf:
              - title: forbidden (legal entity)
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorForbiddenLegalEntity'
              - title: user_api_key_required
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorUserApiKeyRequired'
          examples:
            forbidden_legal_entity:
              summary: forbidden (legal entity)
              value:
                code: forbidden
                message: This credential is not permitted to do that.
                details: {}
                referenceId: 4031-2alj5if
            user_api_key_required:
              summary: user_api_key_required
              value:
                code: user_api_key_required
                message: >-
                  Public API v2 requires a user API key. Create one under
                  Settings → API keys in the Slash dashboard.
                details: {}
                referenceId: 4031-2alj5if
    PublicApiV2Error404NotFoundNotFoundNotEnabled:
      description: >-
        - `not_found` — No resource matches the identifier, it belongs to
        another legal entity, or the credential cannot view it. When the
        identifier is a field of the request, `details` names that `field` and
        the `id` it received.

        - `not_found (API not enabled)` — Public API v2 is not enabled for the
        selected legal entity.
      content:
        application/json:
          schema:
            anyOf:
              - title: not_found
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorNotFound'
              - title: not_found (API not enabled)
                allOf:
                  - $ref: '#/components/schemas/PublicApiV2ErrorNotFoundNotEnabled'
          examples:
            not_found:
              summary: not_found
              value:
                code: not_found
                message: '`destinationId` le_contact_destination_bank123 was not found.'
                details:
                  field: destinationId
                  id: le_contact_destination_bank123
                referenceId: 4041-2alj5if
            not_found_not_enabled:
              summary: not_found (API not enabled)
              value:
                code: not_found
                message: The requested resource was not found.
                details: {}
                referenceId: 4041-2alj5if
    PublicApiV2RateLimited:
      description: >-
        The request exceeded the applicable rate limit. The response body is
        plain text; clients must not depend on a response-body schema for this
        status.
    PublicApiV2Error500Internal:
      description: >-
        - `internal` — Slash could not complete the request. Quote `referenceId`
        when contacting Slash support.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiV2ErrorInternal'
          examples:
            internal:
              summary: internal
              value:
                code: internal
                message: >-
                  An unexpected error occurred. If this keeps happening, contact
                  Slash support with the reference id below.
                details: {}
                referenceId: 5001-2alj5if
  securitySchemes:
    api_key:
      type: apiKey
      name: X-API-Key
      in: header
      description: >-
        User API key authentication. Create a key under Settings → API keys in
        the Slash dashboard (https://app.slash.com/global-settings/api-keys) and
        send the `x-legal-entity` header naming the legal entity to act on with
        every request. Keys scoped to a legal entity are rejected with `403
        user_api_key_required`.

````