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

# Check a deposit transaction

> Verify a transaction and record it if it is a supported deposit to the account.

Checks a transaction hash or signature and records it when it is a supported deposit to the account's receive address. The check verifies the evidence independently and does not replace normal provider-webhook detection.

Manual checks cover Arbitrum, Ethereum, Base, Polygon and BNB Chain EVM transactions, Solana signatures, Movement transaction hashes and Bitcoin transaction IDs. Tron deposits are detected by webhook and cannot use this endpoint. Pass `tokenAddress` or `logIndex` to disambiguate multiple matching transfers.

Known check failures return HTTP `200` with `isTransferDone: false` and an `error` object, so read the body, not just the status code.


## OpenAPI

````yaml openapi.json POST /v2/accounts/{accountId}/deposit-addresses/check
openapi: 3.1.0
info:
  title: Stableyard Partner API
  version: 2.0.0-staging
  x-stableyard-api-version: '2026-09-09'
  x-stableyard-supported-api-versions:
    - '2026-09-09'
  summary: Backend API for UPAs, Payments, activity, and optional financial products.
  description: >

    Use this API from a trusted partner backend with an app ID and app secret.


    ## Recommended integration


    1. Call `GET /v2/partners/config` to verify credentials and discover enabled
    capabilities.

    2. Create a UPA only when your product needs a persistent Stableyard
    account.

    3. Create a receive or send Payment with `POST /v2/payments`.

    4. Redirect a payer to the returned `paymentUrl` or pass the Payment
    credentials to an official Stableyard interface SDK.

    5. Process signed webhooks and fetch the Payment by ID for reconciliation.


    Checkout execution and account-bound browser endpoints are intentionally
    documented in the separate Interfaces & SDKs reference. Console endpoints
    are dashboard implementation details and are not part of the partner
    integration contract.
  x-stableyard-documentation-surface: partner
servers:
  - url: https://prod-api.stableyard.fi
    description: Production
  - url: https://staging-api-v2.stableyard.fi
    description: Staging
  - url: http://localhost:3001
    description: Local
security: []
tags:
  - name: Authentication
    x-displayName: API authentication
    description: Verify your app ID and app secret before calling UPA APIs.
  - name: Accounts
    x-displayName: UPA Accounts
    description: Create Universal Payment Accounts and manage account settings.
  - name: Deposit Addresses
    description: Create reusable receive addresses and verify inbound deposits.
  - name: Identity & KYC
    description: >-
      Verify the UPA email and run provider-neutral identity verification.
      Managed vaults and fiat payment rails use this same verified UPA identity.
  - name: Vaults
    description: >-
      Create Safe/Zodiac controlled stablecoin vaults and manage policy updates
      for accounts.
  - name: Payments
    description: >-
      Create escrow-first payments, issue partner-authenticated send
      instructions or executions, power public checkout, and reconcile
      collection through final account settlement.
  - name: Balances & Transactions
    description: >-
      Read Stableyard-posted financial activity. Balances are ledger projections
      of activity Stableyard processed; they are not live balances of externally
      controlled wallets.
paths:
  /v2/accounts/{accountId}/deposit-addresses/check:
    post:
      tags:
        - Deposit Addresses
      summary: Verify and record deposit transaction
      description: >-
        Check a transaction hash/signature and record it when it is a supported
        deposit to the account receive address. Manual verification is
        implemented for Arbitrum, Ethereum, Base, Polygon, and BNB Chain EVM
        transactions; Solana signatures; Movement transaction hashes; and
        Bitcoin transaction IDs. Tron deposits are webhook-detected and cannot
        use this manual check endpoint. This endpoint verifies evidence
        independently and does not replace normal provider-webhook detection.
      operationId: checkDepositTransactionByAccountId
      parameters:
        - name: accountId
          in: path
          required: true
          schema:
            type: string
            example: acct_123
          description: Canonical account id returned by the Accounts API.
        - name: Stableyard-Version
          in: header
          required: false
          schema:
            type: string
            enum:
              - '2026-09-09'
          description: >-
            Optional contract-version assertion. Omit it to use the app
            environment's pinned version. A different supported version is
            accepted only after that environment is explicitly migrated.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckDepositTransactionRequest'
            examples:
              example:
                summary: Verify and record deposit transaction request
                value:
                  transactionHash: >-
                    0xabc1230000000000000000000000000000000000000000000000000000000000
                  chainId: 42161
                  depositAddress: '0x1111111111111111111111111111111111111111'
                  tokenAddress: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
                  logIndex: 0
      responses:
        '200':
          description: Deposit check result
          headers:
            Stableyard-Version:
              description: >-
                Effective date-based Stableyard API contract version for this
                response.
              schema:
                type: string
                enum:
                  - '2026-09-09'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DepositCheckResponse'
              examples:
                example:
                  summary: Verify and record deposit transaction 200 response
                  value:
                    checked: true
                    detected: true
                    isTransferDone: true
                    verified: true
                    supported: true
                    chainId: 42161
                    depositAddress: '0x1111111111111111111111111111111111111111'
                    transactionHash: >-
                      0xabc1230000000000000000000000000000000000000000000000000000000000
                    hashExists: false
                    depositAddressExists: true
                    addressMatched: true
                    reason: unsupported_deposit_transaction
                    minimumTransactionAmountAtomic: '10000'
                    minimumTransactionAmount: '0.0001'
                    error:
                      code: not_found
                      message: transaction not found
                    idempotent: false
                    ignored: false
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '424':
          $ref: '#/components/responses/FailedDependency'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      security:
        - partnerBasicAuth: []
components:
  schemas:
    CheckDepositTransactionRequest:
      type: object
      additionalProperties: false
      required:
        - transactionHash
        - chainId
        - depositAddress
      properties:
        transactionHash:
          type: string
          maxLength: 256
          description: Observed transaction hash or signature.
          example: '0xabc1230000000000000000000000000000000000000000000000000000000000'
        chainId:
          type: integer
          enum:
            - 42161
            - 1
            - 8453
            - 137
            - 56
            - 43114
            - 4663
            - 4217
            - 10103
            - 10002
            - 728126428
            - 10001
          example: 42161
          description: >-
            Supported deposit chain IDs: Arbitrum=42161, Ethereum=1, Base=8453,
            Polygon=137, BNB Smart Chain=56, Avalanche=43114, Robinhood
            Chain=4663, Tempo=4217, Solana=10103, Movement=10002,
            Tron=728126428, Bitcoin=10001.
        depositAddress:
          type: string
          minLength: 8
          maxLength: 256
          description: The account receive address that should have received the transfer.
          example: '0x1111111111111111111111111111111111111111'
        tokenAddress:
          type: string
          maxLength: 128
          description: >-
            Optional token identifier used to disambiguate multiple matching
            transfers. Use the configured contract/mint, the EVM zero address
            for ETH/POL/BNB, native:btc for BTC, or the Solana System Program
            address for SOL.
          example: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
        logIndex:
          type: integer
          minimum: 0
          description: >-
            Optional token log/account index used to disambiguate token
            transfers. Omit it for native EVM and SOL transfers.
    DepositCheckResponse:
      type: object
      required:
        - checked
        - detected
      properties:
        checked:
          type: boolean
          example: true
        detected:
          type: boolean
          example: true
        isTransferDone:
          type: boolean
          example: true
          description: >-
            True only when the hash is verified as a supported deposit transfer
            to the submitted active deposit address and passes the chain
            minimum. Known check failures return false with HTTP 200.
        verified:
          type: boolean
          example: true
          description: >-
            True when a transaction hash was verified through a configured chain
            RPC.
        supported:
          type: boolean
          example: true
          description: >-
            False when the transaction exists but is not a supported configured
            token/native deposit transfer, is unconfirmed, or does not pass the
            chain minimum.
        chainId:
          type: integer
          enum:
            - 42161
            - 1
            - 8453
            - 137
            - 56
            - 43114
            - 4663
            - 4217
            - 10103
            - 10002
            - 728126428
            - 10001
          example: 42161
          description: >-
            Supported deposit chain IDs: Arbitrum=42161, Ethereum=1, Base=8453,
            Polygon=137, BNB Smart Chain=56, Avalanche=43114, Robinhood
            Chain=4663, Tempo=4217, Solana=10103, Movement=10002,
            Tron=728126428, Bitcoin=10001.
        depositAddress:
          type: string
          example: '0x1111111111111111111111111111111111111111'
        transactionHash:
          type: string
          example: '0xabc1230000000000000000000000000000000000000000000000000000000000'
        hashExists:
          type: boolean
          example: false
          description: >-
            False when the hash is malformed or the chain RPC reports the
            transaction was not found.
        depositAddressExists:
          type: boolean
          example: true
          description: >-
            False when the submitted deposit address is not active for the
            account and chain.
        addressMatched:
          type: boolean
          example: true
          description: >-
            For non-deposit transaction-hash checks, indicates whether the chain
            transaction appeared to touch the submitted deposit address.
        reason:
          type: string
          example: unsupported_deposit_transaction
        minimumTransactionAmountAtomic:
          type: string
          example: '10000'
          description: >-
            Minimum threshold in the asset's atomic units when a verified
            deposit is ignored for being too small.
        minimumTransactionAmount:
          type: string
          example: '0.0001'
          description: >-
            Human-readable minimum threshold when a verified deposit is ignored
            for being too small.
        error:
          type: object
          additionalProperties: false
          description: >-
            Known validation, not-found, conflict, or provider-check error
            returned with HTTP 200 for transaction-hash checks. Provider/RPC
            details are not exposed.
          properties:
            code:
              type: string
              example: not_found
            message:
              type: string
              example: transaction not found
        idempotent:
          type: boolean
          example: false
        ignored:
          type: boolean
          example: false
          description: >-
            True when Stableyard recorded the observed deposit but did not
            create a transaction. Reusable USDC/USDT/USDG deposits are accepted
            at 0.5 tokens and above except Tron USDT, whose inclusive minimum is
            10 USDT. Native BTC has an inclusive minimum of 0.0001 BTC (10,000
            sats). Movement THBT is accepted at 16.5 or above. Polygon JPYC is
            accepted at or above the configured POLYGON_JPYC_MIN_AMOUNT (100 by
            default). Other native assets retain their documented strict minimum
            rules.
        deposit:
          anyOf:
            - $ref: '#/components/schemas/Deposit'
            - type: 'null'
        transaction:
          anyOf:
            - $ref: '#/components/schemas/Transaction'
            - type: 'null'
    Deposit:
      type: object
      required:
        - id
        - accountId
        - depositAddressId
        - status
        - amount
        - sourceTransfer
        - fees
        - settlement
        - settlementProfileSnapshot
      properties:
        id:
          type: string
          example: deposit_123
        accountId:
          type: string
          example: acct_123
        depositAddressId:
          type: string
          example: deposit_addr_123
        status:
          type: string
          enum:
            - detected
            - confirming
            - settling
            - settled
            - reversed
            - failed
            - ignored
            - requires_intervention
        amount:
          $ref: '#/components/schemas/Money'
        sourceTransfer:
          type: object
          additionalProperties: false
          required:
            - amount
            - txHash
            - logIndex
          properties:
            amount:
              $ref: '#/components/schemas/Money'
            txHash:
              type:
                - string
                - 'null'
            logIndex:
              type:
                - integer
                - 'null'
            fromAddress:
              type:
                - string
                - 'null'
              description: >-
                On-chain sender address that funded this deposit, when captured
                from the source chain.
        fees:
          type: object
          additionalProperties: false
          required:
            - partnerAmountAtomic
            - platformAmountAtomic
            - networkAmountAtomic
            - setupAmountAtomic
            - denomination
            - basis
            - actualReceivedAmountAtomic
          properties:
            partnerAmountAtomic:
              type: string
              pattern: ^[0-9]+$
            platformAmountAtomic:
              type: string
              pattern: ^[0-9]+$
            networkAmountAtomic:
              type: string
              pattern: ^[0-9]+$
            setupAmountAtomic:
              type: string
              pattern: ^[0-9]+$
              description: >-
                Frozen one-time Tron address setup fee for the claim-owning v4
                deposit; zero otherwise.
            denomination:
              $ref: '#/components/schemas/Asset'
            basis:
              type: string
              enum:
                - source_amount
                - verified_destination_receipt
              description: >-
                `source_amount` is returned before final settlement evidence
                exists. `verified_destination_receipt` is returned after v3
                escrow settlement has independently verified the received
                destination amount.
            actualReceivedAmountAtomic:
              type:
                - string
                - 'null'
              pattern: ^[0-9]+$
        netSettlementAmount:
          anyOf:
            - $ref: '#/components/schemas/Money'
            - type: 'null'
        settlement:
          type: object
          additionalProperties: false
          required:
            - status
            - txHash
            - settledAt
          properties:
            status:
              type: string
              enum:
                - pending
                - settled
                - failed
                - requires_intervention
            txHash:
              type:
                - string
                - 'null'
            settledAt:
              type:
                - string
                - 'null'
              format: date-time
            reasonCode:
              type: string
              description: >-
                Stable machine-readable reason when settlement requires manual
                review, including verified Routing refund failures such as
                routing_refund_proof_missing, routing_refund_proof_mismatch, or
                routing_refund_retry_exhausted. Raw provider errors are never
                exposed.
        settlementProfileSnapshot:
          type: object
          additionalProperties: true
          description: >-
            Immutable settlement profile snapshot captured when the deposit was
            detected.
        txHash:
          type:
            - string
            - 'null'
          example: 0xabc123...
        observedAt:
          type:
            - string
            - 'null'
          format: date-time
        settledAt:
          type:
            - string
            - 'null'
          format: date-time
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Transaction:
      type: object
      required:
        - id
        - accountId
        - status
        - amount
        - description
        - sourceType
        - sourceId
      properties:
        offrampDetails:
          $ref: '#/components/schemas/OfframpTransactionDetails'
        id:
          type: string
          example: txn_123
        accountId:
          type: string
          example: acct_123
          description: Account whose perspective this response is for.
        senderAccountId:
          type: string
          example: acct_sender123
          description: Present when the perspective account is the sender.
        receiverAccountId:
          type: string
          example: acct_receiver123
          description: Present when the perspective account is the receiver.
        direction:
          type: string
          enum:
            - sent
            - received
            - self
            - related
        perspective:
          $ref: '#/components/schemas/TransactionPerspective'
        status:
          type: string
          enum:
            - pending
            - completed
            - posted
            - failed
            - reversed
        amount:
          allOf:
            - $ref: '#/components/schemas/Money'
          description: >-
            Amount for the requested account's perspective. For a Send, the
            sender sees the gross source debit and the recipient sees the net
            destination amount actually settled.
        description:
          type: string
          example: USDC payment
        sourceType:
          type: string
          enum:
            - payment
            - deposit
            - vault_funding
            - fee
            - refund
            - adjustment
        sourceId:
          type: string
          example: payment_123
        paymentId:
          type: string
          pattern: ^payment_[A-Za-z0-9_-]+$
          description: Canonical Payment associated with this financial leg.
        financialLegKind:
          type: string
          enum:
            - collection
            - send_execution
            - settlement
            - fee_payout
            - refund
            - adjustment
        sourceTransfer:
          type: object
          additionalProperties: false
          required:
            - amount
          properties:
            amount:
              $ref: '#/components/schemas/Money'
            txHash:
              type: string
              description: >-
                Source-chain transaction hash when the financial leg originated
                from an on-chain transfer.
            logIndex:
              type: integer
              minimum: 0
              description: >-
                Source-chain event index when the transfer was detected from an
                indexed token event.
            fromAddress:
              type: string
              description: >-
                On-chain sender address that funded this financial leg, when
                captured from the source chain.
        settlement:
          type: object
          additionalProperties: false
          required:
            - amount
            - txHash
          properties:
            amount:
              $ref: '#/components/schemas/Money'
            txHash:
              type:
                - string
                - 'null'
    ErrorResponse:
      type: object
      additionalProperties: false
      required:
        - error
      properties:
        error:
          type: object
          additionalProperties: false
          required:
            - code
            - message
          properties:
            code:
              type: string
              minLength: 1
              maxLength: 128
              example: bad_request
            message:
              type: string
              minLength: 1
              maxLength: 1000
              example: The request is invalid
            details: {}
    Money:
      type: object
      required:
        - asset
        - amount
      properties:
        asset:
          $ref: '#/components/schemas/Asset'
        amount:
          type: string
          description: Atomic units for the token asset.
          example: '1250000'
    Asset:
      type: object
      required:
        - chainId
        - tokenAddress
        - symbol
        - decimals
      properties:
        chainId:
          type: integer
          enum:
            - 42161
            - 1
            - 8453
            - 137
            - 56
            - 43114
            - 4663
            - 4217
            - 10103
            - 10002
            - 728126428
            - 10001
          description: >-
            Supported deposit chain IDs: Arbitrum=42161, Ethereum=1, Base=8453,
            Polygon=137, BNB Smart Chain=56, Avalanche=43114, Robinhood
            Chain=4663, Tempo=4217, Solana=10103, Movement=10002,
            Tron=728126428, Bitcoin=10001.
        tokenAddress:
          type: string
          description: >-
            Contract/mint address for tokens, the EVM zero address for native
            EVM assets, native for BTC, or the Solana System Program address for
            SOL.
          example: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831'
        symbol:
          type: string
          enum:
            - USDC
            - USDT
            - THBT
            - JPYC
            - USDG
            - BTC
            - ETH
            - POL
            - BNB
            - SOL
        decimals:
          type: integer
          enum:
            - 6
            - 8
            - 9
            - 18
        kind:
          type: string
          enum:
            - token
            - native
          description: >-
            Present on deposit-address supportedAssets entries to distinguish
            contract tokens from native gas assets.
    OfframpTransactionDetails:
      type: object
      additionalProperties: false
      description: >-
        Frozen off-ramp quote and recipient details. Bank account numbers are
        represented by their last four characters; unavailable recipient fields
        are null. Amounts are exact atomic strings and the exchange rate retains
        its direction.
      required:
        - version
        - country
        - destinationType
        - fiatAmount
        - fundingAmount
        - providerPrincipal
        - fees
        - exchangeRate
        - receiver
      properties:
        version:
          type: integer
          const: 1
        country:
          type: string
        destinationType:
          type: string
          enum:
            - external_qr
            - external_bank
            - bank_account
        fiatAmount:
          type: object
          additionalProperties: false
          required:
            - amountAtomic
            - assetCode
            - decimals
          properties:
            amountAtomic:
              type:
                - string
                - 'null'
              pattern: ^[0-9]+$
              description: >-
                Exact fiat amount scaled by the accompanying decimals
                (exact-input payout receipts can use six decimals), or null when
                unknown when this transaction snapshot was recorded (for
                example, an exact-input payout before provider completion). Null
                is not zero or proof of payout failure. Read the associated
                Payment for its current payout result.
            assetCode:
              type: string
            decimals:
              type: integer
        fundingAmount:
          oneOf:
            - $ref: '#/components/schemas/OfframpTransactionAmount'
            - type: 'null'
        providerPrincipal:
          oneOf:
            - $ref: '#/components/schemas/OfframpTransactionAmount'
            - type: 'null'
        fees:
          type: object
          additionalProperties: false
          required:
            - provider
            - platform
            - partner
          properties:
            provider:
              oneOf:
                - $ref: '#/components/schemas/OfframpTransactionAmount'
                - type: 'null'
            platform:
              oneOf:
                - $ref: '#/components/schemas/OfframpTransactionAmount'
                - type: 'null'
            partner:
              oneOf:
                - $ref: '#/components/schemas/OfframpTransactionAmount'
                - type: 'null'
        exchangeRate:
          oneOf:
            - type: object
              additionalProperties: false
              required:
                - rate
                - baseAssetCode
                - quoteAssetCode
              properties:
                rate:
                  type: string
                baseAssetCode:
                  type: string
                quoteAssetCode:
                  type: string
            - type: 'null'
        receiver:
          type: object
          additionalProperties: false
          required:
            - name
            - bankName
            - bankCode
            - accountNumberLast4
          properties:
            name:
              type:
                - string
                - 'null'
            bankName:
              type:
                - string
                - 'null'
            bankCode:
              type:
                - string
                - 'null'
            accountNumberLast4:
              type:
                - string
                - 'null'
    TransactionPerspective:
      type: object
      additionalProperties: false
      required:
        - accountId
        - direction
      properties:
        accountId:
          type: string
          example: acct_sender123
        direction:
          type: string
          enum:
            - sent
            - received
            - self
            - related
          description: >-
            Direction from the perspective of the account that requested or
            matched this transaction.
        counterpartyAccountId:
          type: string
          example: acct_receiver123
          description: Other Stableyard account on the transaction when known.
    OfframpTransactionAmount:
      type: object
      additionalProperties: false
      required:
        - amountAtomic
        - assetCode
        - decimals
        - chainId
        - tokenAddress
      properties:
        amountAtomic:
          type: string
          pattern: ^[0-9]+$
        assetCode:
          type: string
        decimals:
          type: integer
        chainId:
          type: integer
        tokenAddress:
          type: string
  responses:
    BadRequest:
      description: Bad request
      headers:
        Stableyard-Version:
          description: >-
            Effective date-based Stableyard API contract version for this
            response.
          schema:
            type: string
            enum:
              - '2026-09-09'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            example:
              summary: BadRequest response
              value:
                error:
                  code: bad_request
                  message: The request is invalid
                  details: example
    Unauthorized:
      description: Unauthorized
      headers:
        Stableyard-Version:
          description: >-
            Effective date-based Stableyard API contract version for this
            response.
          schema:
            type: string
            enum:
              - '2026-09-09'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            example:
              summary: Unauthorized response
              value:
                error:
                  code: bad_request
                  message: The request is invalid
                  details: example
    Forbidden:
      description: The app secret does not include the required scope
      headers:
        Stableyard-Version:
          description: >-
            Effective date-based Stableyard API contract version for this
            response.
          schema:
            type: string
            enum:
              - '2026-09-09'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            example:
              summary: Forbidden response
              value:
                error:
                  code: bad_request
                  message: The request is invalid
                  details: example
    NotFound:
      description: Not found
      headers:
        Stableyard-Version:
          description: >-
            Effective date-based Stableyard API contract version for this
            response.
          schema:
            type: string
            enum:
              - '2026-09-09'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            example:
              summary: NotFound response
              value:
                error:
                  code: bad_request
                  message: The request is invalid
                  details: example
    Conflict:
      description: Conflict
      headers:
        Stableyard-Version:
          description: >-
            Effective date-based Stableyard API contract version for this
            response.
          schema:
            type: string
            enum:
              - '2026-09-09'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            example:
              summary: Conflict response
              value:
                error:
                  code: bad_request
                  message: The request is invalid
                  details: example
    FailedDependency:
      description: Required chain, network, or provider configuration is missing
      headers:
        Stableyard-Version:
          description: >-
            Effective date-based Stableyard API contract version for this
            response.
          schema:
            type: string
            enum:
              - '2026-09-09'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            example:
              summary: FailedDependency response
              value:
                error:
                  code: bad_request
                  message: The request is invalid
                  details: example
    TooManyRequests:
      description: >-
        Rate limit, payment-option limit, selection cooldown, or temporary abuse
        block
      headers:
        Stableyard-Version:
          description: >-
            Effective date-based Stableyard API contract version for this
            response.
          schema:
            type: string
            enum:
              - '2026-09-09'
        Retry-After:
          description: Seconds until the caller should retry.
          schema:
            type: integer
            minimum: 1
        RateLimit-Limit:
          description: Quota for the most constrained policy.
          schema:
            type: integer
            minimum: 1
        RateLimit-Remaining:
          description: Requests remaining in that policy window.
          schema:
            type: integer
            minimum: 0
        RateLimit-Reset:
          description: Seconds until that policy window resets.
          schema:
            type: integer
            minimum: 0
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            example:
              summary: TooManyRequests response
              value:
                error:
                  code: bad_request
                  message: The request is invalid
                  details: example
  securitySchemes:
    partnerBasicAuth:
      type: http
      scheme: basic
      description: >-
        HTTP Basic auth. Username is the Stableyard app ID. Password is the app
        secret. The optional Stableyard-Version request header must match the
        environment pin.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.