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

# List transactions

> Returns a paginated list of transactions for the merchant account, sorted by most recently updated. You can filter, sort, and search transactions using query parameters.

This endpoint requires the `transactions.read` scope.


## OpenAPI

````yaml /openapi.speakeasy.json GET /transactions
openapi: 3.1.0
info:
  title: Gr4vy
  description: The Gr4vy API.
  version: 1.0.0
servers:
  - url: https://api.sandbox.{id}.gr4vy.app
    x-speakeasy-server-id: sandbox
    variables:
      id:
        default: example
        description: The subdomain for your Gr4vy instance.
  - url: https://api.{id}.gr4vy.app
    x-speakeasy-server-id: production
    variables:
      id:
        default: example
        description: The subdomain for your Gr4vy instance.
security:
  - bearerAuth: []
tags:
  - name: 3DS scenarios
    description: Manage and create 3DS scenarios in sandbox.
  - name: Account updater
    description: Schedule stored cards for an account update.
  - name: Audit logs
    description: Query user activity.
  - name: Buyers
    description: Manage buyers.
  - name: Buyers - Gift cards
    description: Query gift cards for buyers.
  - name: Buyers - Payment methods
    description: Query payment methods for buyers.
  - name: Buyers - Shipping details
    description: Manage shipping details for buyers.
  - name: Card details
    description: Returns information about a card.
  - name: Card scheme definitions
    description: List definitions for card schemes.
  - name: Checkout sessions
    description: Manage checkout sessions.
  - name: Digital wallets - Sessions
    description: Create sessions for digital wallets like Apple Pay and Google Pay.
  - name: Digital wallets - Setup
    description: Manage digital wallets like Apple Pay and Google Pay.
  - name: Gift cards
    description: Manage stored gift cards.
  - name: Insights
    description: Retrieve Insights data.
  - name: Insights - Presets
    description: Manage presets for Insights.
  - name: Merchant accounts
    description: Manage merchant accounts in an instance.
  - name: Merchant accounts - 3DS configuration
    description: Manage 3DS profiles for merchant accounts.
  - name: Monitoring
    description: Manage monitoring and alerting.
  - name: Payment links
    description: Manage payment links.
  - name: Payment methods
    description: Manage stored payment methods.
  - name: Payment methods - Definitions
    description: Manage payment method definitions.
  - name: Payment methods - Network tokens
    description: Manage network tokens for stored payment methods.
  - name: Payment methods - Payment service tokens
    description: Manage payment service tokens for stored payment methods.
  - name: Payment options
    description: Fetch a list of payment options to display at checkout.
  - name: Payment service definitions
    description: Fetch info about the definition of each payment service.
  - name: Payment services
    description: Manage configured payment services.
  - name: Payouts
    description: Payout API.
  - name: Refunds
    description: Manage transaction refunds.
  - name: Reports
    description: Manage one-off and scheduled reports.
  - name: Reports - Executions
    description: Manage executions of reports.
  - name: Transactions
    description: Manage transaction.
  - name: Transactions - Actions
    description: Read Flow actions triggered for a transaction.
  - name: Transactions - Chargebacks
    description: Read transaction chargeback data.
  - name: Transactions - Chargeback reversals
    description: Read transaction chargeback reversal data.
  - name: Transactions - Settlements
    description: Read transaction settlement data.
  - name: Transactions - Sessions
    description: Manage transaction session data.
  - name: Webhook subscriptions
    description: Manage webhook subscriptions.
paths:
  /transactions:
    get:
      tags:
        - Transactions
      summary: List transactions
      description: >-
        Returns a paginated list of transactions for the merchant account,
        sorted by most recently updated. You can filter, sort, and search
        transactions using query parameters.
      operationId: list_transactions
      parameters:
        - name: cursor
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: A pointer to the page of results to return.
            examples:
              - ZXhhbXBsZTE
            title: Cursor
          description: A pointer to the page of results to return.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 100
            minimum: 1
            description: The maximum number of items that are at returned.
            examples:
              - 20
            default: 20
            title: Limit
          description: The maximum number of items that are at returned.
        - name: created_at_lte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: >-
              Filters the results to only transactions created before this ISO
              date-time string. The time zone must be included. Ensure that the
              date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00`
              must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.
            examples:
              - '2022-01-01T12:00:00+08:00'
            title: Created At Lte
          description: >-
            Filters the results to only transactions created before this ISO
            date-time string. The time zone must be included. Ensure that the
            date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00`
            must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.
        - name: created_at_gte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: >-
              Filters the results to only transactions created after this ISO
              date-time string. The time zone must be included. Ensure that the
              date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00`
              must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.
            examples:
              - '2022-01-01T12:00:00+08:00'
            title: Created At Gte
          description: >-
            Filters the results to only transactions created after this ISO
            date-time string. The time zone must be included. Ensure that the
            date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00`
            must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.
        - name: updated_at_lte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: >-
              Filters the results to only transactions updated before this ISO
              date-time string. The time zone must be included. Ensure that the
              date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00`
              must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.
            examples:
              - '2022-01-01T12:00:00+08:00'
            title: Updated At Lte
          description: >-
            Filters the results to only transactions updated before this ISO
            date-time string. The time zone must be included. Ensure that the
            date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00`
            must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.
        - name: updated_at_gte
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: date-time
              - type: 'null'
            description: >-
              Filters the results to only transactions updated after this ISO
              date-time string. The time zone must be included. Ensure that the
              date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00`
              must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.
            examples:
              - '2022-01-01T12:00:00+08:00'
            title: Updated At Gte
          description: >-
            Filters the results to only transactions updated after this ISO
            date-time string. The time zone must be included. Ensure that the
            date-time string is URL encoded, e.g. `2022-01-01T12:00:00+08:00`
            must be encoded as `2022-01-01T12%3A00%3A00%2B08%3A00`.
        - name: search
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filters for transactions that have one of the following fields
              match exactly with the provided `search` value.
            examples:
              - transaction-12345
            title: Search
        - name: buyer_external_identifier
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filters the results to only the items for which the `buyer` has an
              `external_identifier` that exactly matches this value.
            examples:
              - buyer-12345
            title: Buyer External Identifier
        - name: buyer_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            description: >-
              Filters the results to only the items for which the `buyer` has an
              `id` that matches this value.
            examples:
              - fe26475d-ec3e-4884-9553-f7356683f7f9
            title: Buyer Id
        - name: buyer_email_address
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filters the results to only the items for which the `buyer` has an
              `email_address` that matches this value.
            examples:
              - john@example.com
            title: Buyer Email Address
        - name: ip_address
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filters the results to only the transactions that were originated
              from the given `ip_address`.
            examples:
              - 8.214.133.47
            title: Ip Address
        - name: status
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  enum:
                    - processing
                    - authorization_succeeded
                    - authorization_declined
                    - authorization_failed
                    - authorization_voided
                    - authorization_void_pending
                    - capture_succeeded
                    - capture_pending
                    - buyer_approval_pending
                  title: TransactionStatus
                  x-speakeasy-unknown-values: allow
                  overlay: 1.0.0
              - type: 'null'
            description: >-
              Filters the results to only the transactions that have a `status`
              that matches with any of the provided status values.
            examples:
              - authorization_succeeded
            title: Status
          description: >-
            Filters the results to only the transactions that have a `status`
            that matches with any of the provided status values.
        - name: id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            description: Filters for the transaction that has a matching `id` value.
            examples:
              - 7099948d-7286-47e4-aad8-b68f7eb44591
            title: Id
        - name: payment_service_transaction_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filters for transactions that have a matching
              `payment_service_transaction_id` value. The
              `payment_service_transaction_id` is the identifier of the
              transaction given by the payment service.
            examples:
              - tx-12345
            title: Payment Service Transaction Id
        - name: external_identifier
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filters the results to only the items for which the
              `external_identifier` matches this value.
            examples:
              - transaction-12345
            title: External Identifier
        - name: metadata
          in: query
          required: false
          schema:
            anyOf:
              - items:
                  type: string
                type: array
              - type: 'null'
            description: >-
              Filters for transactions where their `metadata` values contain all
              of the provided `metadata` keys. The value sent for `metadata`
              must be formatted as a JSON string, and all keys and values must
              be strings. This value should also be URL encoded.
            examples:
              - - first_key: first_value
                  second_key: second_value
            title: Metadata
          description: >-
            Filters for transactions where their `metadata` values contain all
            of the provided `metadata` keys. The value sent for `metadata` must
            be formatted as a JSON string, and all keys and values must be
            strings. This value should also be URL encoded.
        - name: amount_eq
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                maximum: 2147483647
                minimum: 0
              - type: 'null'
            description: >-
              Filters for transactions that have an `amount` that is equal to
              the provided `amount_eq` value.
            examples:
              - 1299
            title: Amount Eq
          description: >-
            Filters for transactions that have an `amount` that is equal to the
            provided `amount_eq` value.
        - name: amount_lte
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                maximum: 2147483647
                minimum: 0
              - type: 'null'
            description: >-
              Filters for transactions that have an `amount` that is less than
              or equal to the `amount_lte` value.
            examples:
              - 1299
            title: Amount Lte
          description: >-
            Filters for transactions that have an `amount` that is less than or
            equal to the `amount_lte` value.
        - name: amount_gte
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
                maximum: 2147483647
                minimum: 0
              - type: 'null'
            description: >-
              Filters for transactions that have an `amount` that is greater
              than or equal to the `amount_gte` value.
            examples:
              - 1299
            title: Amount Gte
          description: >-
            Filters for transactions that have an `amount` that is greater than
            or equal to the `amount_gte` value.
        - name: currency
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  pattern: ^[A-Z]{3}$
                  examples:
                    - EUR
                    - GBP
                    - USD
              - type: 'null'
            description: >-
              Filters for transactions that have matching `currency` values. The
              `currency` values provided must be formatted as 3-letter ISO
              currency code.
            examples:
              - - USD
            title: Currency
          description: >-
            Filters for transactions that have matching `currency` values. The
            `currency` values provided must be formatted as 3-letter ISO
            currency code.
        - name: country
          in: query
          required: false
          schema:
            anyOf:
              - items:
                  type: string
                type: array
              - type: 'null'
            description: Filters for transactions that have matching `country` values.
            examples:
              - - US
            title: Country
          description: Filters for transactions that have matching `country` values.
        - name: payment_service_id
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  format: uuid
              - type: 'null'
            description: >-
              Filters for transactions that were processed by the provided
              `payment_service_id` values.
            examples:
              - - fffd152a-9532-4087-9a4f-de58754210f0
            title: Payment Service Id
          description: >-
            Filters for transactions that were processed by the provided
            `payment_service_id` values.
        - name: payment_method_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            description: >-
              Filters for transactions that have a payment method with an ID
              that matches exactly with the provided value.
            examples:
              - ef9496d8-53a5-4aad-8ca2-00eb68334389
            title: Payment Method Id
        - name: payment_method_label
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filters for transactions that have a payment method with a label
              that matches exactly with the provided value.
            examples:
              - '1234'
            title: Payment Method Label
        - name: payment_method_scheme
          in: query
          required: false
          schema:
            anyOf:
              - items:
                  type: string
                type: array
              - type: 'null'
            description: >-
              Filters for transactions where the `payment_method_scheme` matches
              one of the provided values.
            examples:
              - - visa
            title: Payment Method Scheme
          description: >-
            Filters for transactions where the `payment_method_scheme` matches
            one of the provided values.
        - name: payment_method_country
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filters for transactions that have a payment method with a country
              that matches with the provided value.
            examples:
              - - US
            title: Payment Method Country
          description: >-
            Filters for transactions that have a payment method with a country
            that matches with the provided value.
        - name: payment_method_fingerprint
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filters for transactions that have a payment method with a
              fingerprint that matches exactly with the provided value
            examples:
              - a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4
            title: Payment Method Fingerprint
        - name: method
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  enum:
                    - abitab
                    - affirm
                    - afterpay
                    - alipay
                    - alipayhk
                    - applepay
                    - arcuspaynetwork
                    - bacs
                    - bancontact
                    - bank
                    - banked
                    - bcp
                    - becs
                    - bitpay
                    - blik
                    - ach
                    - boleto
                    - boost
                    - breb
                    - capitec
                    - card
                    - cashapp
                    - chaseorbital
                    - clearpay
                    - click-to-pay
                    - dana
                    - dcb
                    - dlocal
                    - ebanx
                    - eckoh
                    - efecty
                    - eps
                    - everydaypay
                    - gcash
                    - gem
                    - gemds
                    - gift-card
                    - giropay
                    - givingblock
                    - gocardless
                    - googlepay
                    - googlepay_pan_only
                    - gopay
                    - grabpay
                    - ideal
                    - kakaopay
                    - kcp
                    - khipu
                    - klarna
                    - latitude
                    - latitudeds
                    - laybuy
                    - linepay
                    - linkaja
                    - maybankqrpay
                    - mercadopago
                    - multibanco
                    - multipago
                    - nequi
                    - netbanking
                    - network-token
                    - nupay
                    - oney_10x
                    - oney_12x
                    - oney_3x
                    - oney_4x
                    - oney_6x
                    - onlinebankingcz
                    - ovo
                    - oxxo
                    - p24
                    - pagoefectivo
                    - payid
                    - paymaya
                    - paypal
                    - paypalpaylater
                    - paypay
                    - payto
                    - payvalida
                    - paze
                    - picpay
                    - pix
                    - plaid
                    - pse
                    - rabbitlinepay
                    - razorpay
                    - rapipago
                    - redpagos
                    - scalapay
                    - sepa
                    - servipag
                    - shopeepay
                    - singteldash
                    - smartpay
                    - sofort
                    - spei
                    - stitch
                    - swish
                    - stripedd
                    - stripetoken
                    - tapi
                    - tapifintechs
                    - thaiqr
                    - touchngo
                    - truemoney
                    - trustly
                    - trustlyeurope
                    - upi
                    - venmo
                    - vipps
                    - waave
                    - webpay
                    - wechat
                    - wero
                    - yape
                    - zippay
                  title: Method
                  x-speakeasy-unknown-values: allow
                  overlay: 1.0.0
              - type: 'null'
            description: Filters for transactions that have matching `method` values.
            examples:
              - card
            title: Method
          description: Filters for transactions that have matching `method` values.
        - name: error_code
          in: query
          required: false
          schema:
            anyOf:
              - items:
                  type: string
                type: array
              - type: 'null'
            description: >-
              Filters for transactions where the `error_code` matches one for
              the provided values.
            examples:
              - - insufficient_funds
            title: Error Code
          description: >-
            Filters for transactions where the `error_code` matches one for the
            provided values.
        - name: has_refunds
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: Filters for transactions with refunds.
            examples:
              - true
            title: Has Refunds
          description: Filters for transactions with refunds.
        - name: pending_review
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: Filters for transactions with a pending manual anti-fraud review.
            examples:
              - true
            title: Pending Review
          description: Filters for transactions with a pending manual anti-fraud review.
        - name: checkout_session_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            description: >-
              Filters for transactions where the `checkout_session_id` matches
              the provided value.
            examples:
              - 4137b1cf-39ac-42a8-bad6-1c680d5dab6b
            title: Checkout Session Id
          description: >-
            Filters for transactions where the `checkout_session_id` matches the
            provided value.
        - name: reconciliation_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filters for transactions where the `reconciliation_id` matches the
              provided value.
            examples:
              - 7jZXl4gBUNl0CnaLEnfXbt
            title: Reconciliation Id
          description: >-
            Filters for transactions where the `reconciliation_id` matches the
            provided value.
        - name: has_gift_card_redemptions
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: Filters for transactions with gift card redemptions.
            examples:
              - true
            title: Has Gift Card Redemptions
          description: Filters for transactions with gift card redemptions.
        - name: gift_card_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            description: >-
              Filters for transactions where a gift card used has an `id` that
              matches the provided value.
            examples:
              - 356d56e5-fe16-42ae-97ee-8d55d846ae2e
            title: Gift Card Id
          description: >-
            Filters for transactions where a gift card used has an `id` that
            matches the provided value.
        - name: gift_card_last4
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                maxLength: 4
                minLength: 4
              - type: 'null'
            description: >-
              Filters for transactions that have at least one gift card
              redemption where the last 4 digits of its gift card number matches
              exactly with the provided value.
            examples:
              - '7890'
            title: Gift Card Last4
          description: >-
            Filters for transactions that have at least one gift card redemption
            where the last 4 digits of its gift card number matches exactly with
            the provided value.
        - name: has_settlements
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: >-
              Filters for transactions that have at least one associated
              settlement record.
            examples:
              - true
            title: Has Settlements
          description: >-
            Filters for transactions that have at least one associated
            settlement record.
        - name: payment_method_bin
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: >-
              Filter for transactions that have a card with a BIN that matches
              exactly with the provided value.
            examples:
              - '411111'
            title: Payment Method Bin
          description: >-
            Filter for transactions that have a card with a BIN that matches
            exactly with the provided value.
        - name: payment_source
          in: query
          required: false
          schema:
            anyOf:
              - type: array
                items:
                  type: string
                  enum:
                    - ecommerce
                    - moto
                    - recurring
                    - installment
                    - card_on_file
                  title: TransactionPaymentSource
                  description: >-
                    The way payment method information made it to this
                    transaction.
                  x-speakeasy-unknown-values: allow
                  overlay: 1.0.0
              - type: 'null'
            description: >-
              Filters the results to only the transactions that have a payment
              source that matches with any of the provided values.
            examples:
              - recurring
            title: Payment Source
          description: >-
            Filters the results to only the transactions that have a payment
            source that matches with any of the provided values.
        - name: is_subsequent_payment
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: >-
              Filters for transactions where the `is_subsequent_payment` matches
              the provided value.
            examples:
              - true
            title: Is Subsequent Payment
          description: >-
            Filters for transactions where the `is_subsequent_payment` matches
            the provided value.
        - name: merchant_initiated
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: >-
              Filters for transactions where the `merchant_initiated` matches
              the provided value.
            examples:
              - true
            title: Merchant Initiated
          description: >-
            Filters for transactions where the `merchant_initiated` matches the
            provided value.
        - name: used_3ds
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: Filters for transactions that attempted 3DS authentication or not.
            examples:
              - true
            title: Used 3Ds
          description: Filters for transactions that attempted 3DS authentication or not.
        - name: disputed
          in: query
          required: false
          schema:
            anyOf:
              - type: boolean
              - type: 'null'
            description: Filters for transactions that have been disputed.
            examples:
              - true
            title: Disputed
          description: Filters for transactions that have been disputed.
        - name: buyer_search
          in: query
          required: false
          schema:
            anyOf:
              - items:
                  type: string
                type: array
              - type: 'null'
            description: >-
              Filters the results to only get the items for which some of the
              buyer data contains exactly the provided `buyer_search` values.
            examples:
              - - John
                - London
            title: Buyer Search
          description: >-
            Filters the results to only get the items for which some of the
            buyer data contains exactly the provided `buyer_search` values.
        - name: x-gr4vy-merchant-account-id
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            description: The ID of the merchant account to use for this request.
            examples:
              - default
            title: X-Gr4Vy-Merchant-Account-Id
          description: The ID of the merchant account to use for this request.
          x-speakeasy-name-override: merchantAccountId
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionSummaries'
        '400':
          description: The request was invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '401':
          description: The request was unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error401'
        '403':
          description: >-
            The credentials were invalid or the caller did not have permission
            to act on the resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '405':
          description: The request method was not allowed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error405'
        '409':
          description: A duplicate record was found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '425':
          description: The request was too early.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error425'
        '429':
          description: Too many requests were made.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429'
        '500':
          description: The server encountered an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        '502':
          description: The server encountered an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error502'
        '504':
          description: The server encountered an error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error504'
      x-codeSamples:
        - lang: javascript
          label: TypeScript
          source: |-
            import { Gr4vy, withToken } from "@gr4vy/sdk";
            import fs from "fs";

            const gr4vy = new Gr4vy({
                id: "example",
                server: "sandbox",
                merchantAccountId: "default",
                bearerAuth: withToken({
                  privateKey: fs.readFileSync("private_key.pem", "utf8"),
                }),
            });

            async function run() {
              const result = await gr4vy.transactions.list();

              for await (const page of result) {
                console.log(page);
              }
            }

            run();
        - lang: python
          label: Python
          source: |-
            from gr4vy import Gr4vy
            from gr4vy.utils import parse_datetime
            import os


            with Gr4vy(
                id="example",
                server="sandbox",
                merchant_account_id="default",
                bearer_auth=auth.with_token(open("./private_key.pem").read())
            ) as g_client:

                res = g_client.transactions.list(cursor="ZXhhbXBsZTE", limit=20, created_at_lte=parse_datetime("2022-01-01T12:00:00+08:00"), created_at_gte=parse_datetime("2022-01-01T12:00:00+08:00"), updated_at_lte=parse_datetime("2022-01-01T12:00:00+08:00"), updated_at_gte=parse_datetime("2022-01-01T12:00:00+08:00"), search="transaction-12345", buyer_external_identifier="buyer-12345", buyer_id="fe26475d-ec3e-4884-9553-f7356683f7f9", buyer_email_address="john@example.com", ip_address="8.214.133.47", status=[
                    "authorization_succeeded",
                ], id="7099948d-7286-47e4-aad8-b68f7eb44591", payment_service_transaction_id="tx-12345", external_identifier="transaction-12345", metadata=[
                    "{\"first_key\":\"first_value\",\"second_key\":\"second_value\"}",
                ], amount_eq=1299, amount_lte=1299, amount_gte=1299, currency=[
                    "USD",
                ], country=[
                    "US",
                ], payment_service_id=[
                    "fffd152a-9532-4087-9a4f-de58754210f0",
                ], payment_method_id="ef9496d8-53a5-4aad-8ca2-00eb68334389", payment_method_label="1234", payment_method_scheme=[
                    "[",
                    "\"",
                    "v",
                    "i",
                    "s",
                    "a",
                    "\"",
                    "]",
                ], payment_method_country="[\"US\"]", payment_method_fingerprint="a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4", method=[
                    "card",
                ], error_code=[
                    "insufficient_funds",
                ], has_refunds=True, pending_review=True, checkout_session_id="4137b1cf-39ac-42a8-bad6-1c680d5dab6b", reconciliation_id="7jZXl4gBUNl0CnaLEnfXbt", has_gift_card_redemptions=True, gift_card_id="356d56e5-fe16-42ae-97ee-8d55d846ae2e", gift_card_last4="7890", has_settlements=True, payment_method_bin="411111", payment_source=[
                    "recurring",
                ], is_subsequent_payment=True, merchant_initiated=True, used_3ds=True, buyer_search=[
                    "J",
                    "o",
                    "h",
                    "n",
                ])

                while res is not None:
                    # Handle items

                    res = res.next()
        - lang: go
          label: Go
          source: "package main\n\nimport(\n\t\"context\"\n\t\"os\"\n\tgr4vygo \"github.com/gr4vy/gr4vy-go\"\n\t\"github.com/gr4vy/gr4vy-go/types\"\n\t\"github.com/gr4vy/gr4vy-go/models/components\"\n\t\"github.com/gr4vy/gr4vy-go/models/operations\"\n\t\"log\"\n)\n\nfunc main() {\n    ctx := context.Background()\n\n    s := gr4vygo.New(\n        gr4vygo.WithMerchantAccountID(\"default\"),\n        gr4vygo.WithSecurity(os.Getenv(\"GR4VY_BEARER_AUTH\")),\n    )\n\n    res, err := s.Transactions.List(ctx, operations.ListTransactionsRequest{\n        Cursor: gr4vygo.Pointer(\"ZXhhbXBsZTE\"),\n        CreatedAtLte: types.MustNewTimeFromString(\"2022-01-01T12:00:00+08:00\"),\n        CreatedAtGte: types.MustNewTimeFromString(\"2022-01-01T12:00:00+08:00\"),\n        UpdatedAtLte: types.MustNewTimeFromString(\"2022-01-01T12:00:00+08:00\"),\n        UpdatedAtGte: types.MustNewTimeFromString(\"2022-01-01T12:00:00+08:00\"),\n        Search: gr4vygo.Pointer(\"transaction-12345\"),\n        BuyerExternalIdentifier: gr4vygo.Pointer(\"buyer-12345\"),\n        BuyerID: gr4vygo.Pointer(\"fe26475d-ec3e-4884-9553-f7356683f7f9\"),\n        BuyerEmailAddress: gr4vygo.Pointer(\"john@example.com\"),\n        IPAddress: gr4vygo.Pointer(\"8.214.133.47\"),\n        Status: []components.TransactionStatus{\n            components.TransactionStatusAuthorizationSucceeded,\n        },\n        ID: gr4vygo.Pointer(\"7099948d-7286-47e4-aad8-b68f7eb44591\"),\n        PaymentServiceTransactionID: gr4vygo.Pointer(\"tx-12345\"),\n        ExternalIdentifier: gr4vygo.Pointer(\"transaction-12345\"),\n        Metadata: []string{\n            \"{\\\"first_key\\\":\\\"first_value\\\",\\\"second_key\\\":\\\"second_value\\\"}\",\n        },\n        AmountEq: gr4vygo.Pointer[int64](1299),\n        AmountLte: gr4vygo.Pointer[int64](1299),\n        AmountGte: gr4vygo.Pointer[int64](1299),\n        Currency: []string{\n            \"USD\",\n        },\n        Country: []string{\n            \"US\",\n        },\n        PaymentServiceID: []string{\n            \"fffd152a-9532-4087-9a4f-de58754210f0\",\n        },\n        PaymentMethodID: gr4vygo.Pointer(\"ef9496d8-53a5-4aad-8ca2-00eb68334389\"),\n        PaymentMethodLabel: gr4vygo.Pointer(\"1234\"),\n        PaymentMethodScheme: []string{\n            \"[\",\n            \"\\\"\",\n            \"v\",\n            \"i\",\n            \"s\",\n            \"a\",\n            \"\\\"\",\n            \"]\",\n        },\n        PaymentMethodCountry: gr4vygo.Pointer(\"[\\\"US\\\"]\"),\n        PaymentMethodFingerprint: gr4vygo.Pointer(\"a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4\"),\n        Method: []components.Method{\n            components.MethodCard,\n        },\n        ErrorCode: []string{\n            \"insufficient_funds\",\n        },\n        HasRefunds: gr4vygo.Pointer(true),\n        PendingReview: gr4vygo.Pointer(true),\n        CheckoutSessionID: gr4vygo.Pointer(\"4137b1cf-39ac-42a8-bad6-1c680d5dab6b\"),\n        ReconciliationID: gr4vygo.Pointer(\"7jZXl4gBUNl0CnaLEnfXbt\"),\n        HasGiftCardRedemptions: gr4vygo.Pointer(true),\n        GiftCardID: gr4vygo.Pointer(\"356d56e5-fe16-42ae-97ee-8d55d846ae2e\"),\n        GiftCardLast4: gr4vygo.Pointer(\"7890\"),\n        HasSettlements: gr4vygo.Pointer(true),\n        PaymentMethodBin: gr4vygo.Pointer(\"411111\"),\n        PaymentSource: []components.TransactionPaymentSource{\n            components.TransactionPaymentSourceRecurring,\n        },\n        IsSubsequentPayment: gr4vygo.Pointer(true),\n        MerchantInitiated: gr4vygo.Pointer(true),\n        Used3ds: gr4vygo.Pointer(true),\n        BuyerSearch: []string{\n            \"J\",\n            \"o\",\n            \"h\",\n            \"n\",\n        },\n    })\n    if err != nil {\n        log.Fatal(err)\n    }\n    if res != nil {\n        for {\n            // handle items\n\n            res, err = res.Next()\n\n            if err != nil {\n                // handle error\n            }\n\n            if res == nil {\n                break\n            }\n        }\n    }\n}"
        - lang: php
          label: PHP
          source: |-
            declare(strict_types=1);

            require 'vendor/autoload.php';

            use Gr4vy;
            use Gr4vy\Utils;

            $sdk = Gr4vy\SDK::builder()
                ->setId('example')
                ->setServer('sandbox')
                ->setSecuritySource(Auth::withToken($privateKey))
                ->setMerchantAccountId('default')
                ->build();

            $request = new Gr4vy\ListTransactionsRequest(
                cursor: 'ZXhhbXBsZTE',
                createdAtLte: Utils\Utils::parseDateTime('2022-01-01T12:00:00+08:00'),
                createdAtGte: Utils\Utils::parseDateTime('2022-01-01T12:00:00+08:00'),
                updatedAtLte: Utils\Utils::parseDateTime('2022-01-01T12:00:00+08:00'),
                updatedAtGte: Utils\Utils::parseDateTime('2022-01-01T12:00:00+08:00'),
                search: 'transaction-12345',
                buyerExternalIdentifier: 'buyer-12345',
                buyerId: 'fe26475d-ec3e-4884-9553-f7356683f7f9',
                buyerEmailAddress: 'john@example.com',
                ipAddress: '8.214.133.47',
                status: [
                    'authorization_succeeded',
                ],
                id: '7099948d-7286-47e4-aad8-b68f7eb44591',
                paymentServiceTransactionId: 'tx-12345',
                externalIdentifier: 'transaction-12345',
                metadata: [
                    '{"first_key":"first_value","second_key":"second_value"}',
                ],
                amountEq: 1299,
                amountLte: 1299,
                amountGte: 1299,
                currency: [
                    'USD',
                ],
                country: [
                    'US',
                ],
                paymentServiceId: [
                    'fffd152a-9532-4087-9a4f-de58754210f0',
                ],
                paymentMethodId: 'ef9496d8-53a5-4aad-8ca2-00eb68334389',
                paymentMethodLabel: '1234',
                paymentMethodScheme: [
                    '[',
                    '"',
                    'v',
                    'i',
                    's',
                    'a',
                    '"',
                    ']',
                ],
                paymentMethodCountry: '["US"]',
                paymentMethodFingerprint: 'a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4',
                method: [
                    'card',
                ],
                errorCode: [
                    'insufficient_funds',
                ],
                hasRefunds: true,
                pendingReview: true,
                checkoutSessionId: '4137b1cf-39ac-42a8-bad6-1c680d5dab6b',
                reconciliationId: '7jZXl4gBUNl0CnaLEnfXbt',
                hasGiftCardRedemptions: true,
                giftCardId: '356d56e5-fe16-42ae-97ee-8d55d846ae2e',
                giftCardLast4: '7890',
                hasSettlements: true,
                paymentMethodBin: '411111',
                paymentSource: [
                    'recurring',
                ],
                isSubsequentPayment: true,
                merchantInitiated: true,
                used3ds: true,
                buyerSearch: [
                    'J',
                    'o',
                    'h',
                    'n',
                ],
            );

            $responses = $sdk->transactions->list(
                request: $request
            );


            foreach ($responses as $response) {
                if ($response->statusCode === 200) {
                    // handle response
                }
            }
        - lang: java
          label: Java
          source: |-
            package hello.world;

            import com.gr4vy.sdk.Gr4vy;
            import com.gr4vy.sdk.models.components.*;
            import com.gr4vy.sdk.models.errors.*;
            import com.gr4vy.sdk.models.operations.ListTransactionsRequest;
            import com.gr4vy.sdk.models.operations.ListTransactionsResponse;
            import java.lang.Exception;
            import java.time.OffsetDateTime;
            import java.util.List;

            public class Application {

                public static void main(String[] args) throws Exception {

                    Gr4vy sdk = Gr4vy.builder()
                            .merchantAccountId("default")
                            .bearerAuth(System.getenv().getOrDefault("BEARER_AUTH", ""))
                        .build();

                    ListTransactionsRequest req = ListTransactionsRequest.builder()
                            .cursor("ZXhhbXBsZTE")
                            .createdAtLte(OffsetDateTime.parse("2022-01-01T12:00:00+08:00"))
                            .createdAtGte(OffsetDateTime.parse("2022-01-01T12:00:00+08:00"))
                            .updatedAtLte(OffsetDateTime.parse("2022-01-01T12:00:00+08:00"))
                            .updatedAtGte(OffsetDateTime.parse("2022-01-01T12:00:00+08:00"))
                            .search("transaction-12345")
                            .buyerExternalIdentifier("buyer-12345")
                            .buyerId("fe26475d-ec3e-4884-9553-f7356683f7f9")
                            .buyerEmailAddress("john@example.com")
                            .ipAddress("8.214.133.47")
                            .status(List.of(
                                TransactionStatus.AUTHORIZATION_SUCCEEDED))
                            .id("7099948d-7286-47e4-aad8-b68f7eb44591")
                            .paymentServiceTransactionId("tx-12345")
                            .externalIdentifier("transaction-12345")
                            .metadata(List.of(
                                "{\"first_key\":\"first_value\",\"second_key\":\"second_value\"}"))
                            .amountEq(1299L)
                            .amountLte(1299L)
                            .amountGte(1299L)
                            .currency(List.of(
                                "USD"))
                            .country(List.of(
                                "US"))
                            .paymentServiceId(List.of(
                                "fffd152a-9532-4087-9a4f-de58754210f0"))
                            .paymentMethodId("ef9496d8-53a5-4aad-8ca2-00eb68334389")
                            .paymentMethodLabel("1234")
                            .paymentMethodScheme(List.of(
                                "[",
                                "\"",
                                "v",
                                "i",
                                "s",
                                "a",
                                "\"",
                                "]"))
                            .paymentMethodCountry("[\"US\"]")
                            .paymentMethodFingerprint("a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4")
                            .method(List.of(
                                Method.CARD))
                            .errorCode(List.of(
                                "insufficient_funds"))
                            .hasRefunds(true)
                            .pendingReview(true)
                            .checkoutSessionId("4137b1cf-39ac-42a8-bad6-1c680d5dab6b")
                            .reconciliationId("7jZXl4gBUNl0CnaLEnfXbt")
                            .hasGiftCardRedemptions(true)
                            .giftCardId("356d56e5-fe16-42ae-97ee-8d55d846ae2e")
                            .giftCardLast4("7890")
                            .hasSettlements(true)
                            .paymentMethodBin("411111")
                            .paymentSource(List.of(
                                TransactionPaymentSource.RECURRING))
                            .isSubsequentPayment(true)
                            .merchantInitiated(true)
                            .used3ds(true)
                            .buyerSearch(List.of(
                                "J",
                                "o",
                                "h",
                                "n"))
                            .build();


                    sdk.transactions().list()
                            .callAsStream()
                            .forEach((ListTransactionsResponse item) -> {
                               // handle page
                            });

                }
            }
        - lang: csharp
          label: C#
          source: >-
            using Gr4vy;

            using Gr4vy.Models.Components;

            using Gr4vy.Models.Requests;

            using System;

            using System.Collections.Generic;


            var sdk = new Gr4vySDK(
                id: "example",
                server: SDKConfig.Server.Sandbox,
                bearerAuthSource: Auth.WithToken(privateKey),
                merchantAccountId: "default"
            );


            ListTransactionsRequest req = new ListTransactionsRequest() {
                Cursor = "ZXhhbXBsZTE",
                CreatedAtLte = System.DateTime.Parse("2022-01-01T12:00:00+08:00").ToUniversalTime(),
                CreatedAtGte = System.DateTime.Parse("2022-01-01T12:00:00+08:00").ToUniversalTime(),
                UpdatedAtLte = System.DateTime.Parse("2022-01-01T12:00:00+08:00").ToUniversalTime(),
                UpdatedAtGte = System.DateTime.Parse("2022-01-01T12:00:00+08:00").ToUniversalTime(),
                Search = "transaction-12345",
                BuyerExternalIdentifier = "buyer-12345",
                BuyerId = "fe26475d-ec3e-4884-9553-f7356683f7f9",
                BuyerEmailAddress = "john@example.com",
                IpAddress = "8.214.133.47",
                Status = new List<string>() {
                    "authorization_succeeded",
                },
                Id = "7099948d-7286-47e4-aad8-b68f7eb44591",
                PaymentServiceTransactionId = "tx-12345",
                ExternalIdentifier = "transaction-12345",
                Metadata = new List<string>() {
                    "{\"first_key\":\"first_value\",\"second_key\":\"second_value\"}",
                },
                AmountEq = 1299,
                AmountLte = 1299,
                AmountGte = 1299,
                Currency = new List<string>() {
                    "USD",
                },
                Country = new List<string>() {
                    "US",
                },
                PaymentServiceId = new List<string>() {
                    "fffd152a-9532-4087-9a4f-de58754210f0",
                },
                PaymentMethodId = "ef9496d8-53a5-4aad-8ca2-00eb68334389",
                PaymentMethodLabel = "1234",
                PaymentMethodScheme = new List<string>() {
                    "[",
                    "\"",
                    "v",
                    "i",
                    "s",
                    "a",
                    "\"",
                    "]",
                },
                PaymentMethodCountry = "[\"US\"]",
                PaymentMethodFingerprint = "a50b85c200ee0795d6fd33a5c66f37a4564f554355c5b46a756aac485dd168a4",
                Method = new List<string>() {
                    "card",
                },
                ErrorCode = new List<string>() {
                    "insufficient_funds",
                },
                HasRefunds = true,
                PendingReview = true,
                CheckoutSessionId = "4137b1cf-39ac-42a8-bad6-1c680d5dab6b",
                ReconciliationId = "7jZXl4gBUNl0CnaLEnfXbt",
                HasGiftCardRedemptions = true,
                GiftCardId = "356d56e5-fe16-42ae-97ee-8d55d846ae2e",
                GiftCardLast4 = "7890",
                HasSettlements = true,
                PaymentMethodBin = "411111",
                PaymentSource = new List<string>() {
                    "recurring",
                },
                IsSubsequentPayment = true,
                MerchantInitiated = true,
                Used3ds = true,
                BuyerSearch = new List<string>() {
                    "J",
                    "o",
                    "h",
                    "n",
                },
            };


            ListTransactionsResponse? res = await
            sdk.Transactions.ListAsync(req);


            while(res != null)

            {
                // handle items

                res = await res.Next!();
            }
components:
  schemas:
    TransactionSummaries:
      properties:
        items:
          items:
            $ref: '#/components/schemas/TransactionSummary'
          type: array
          title: Items
          description: A list of items returned for this request.
        limit:
          type: integer
          maximum: 100
          minimum: 1
          title: Limit
          description: The number of items for this page.
          default: 20
          examples:
            - 20
        next_cursor:
          anyOf:
            - type: string
              maxLength: 1000
              minLength: 1
            - type: 'null'
          title: Next Cursor
          description: The cursor pointing at the next page of items.
          examples:
            - ZXhhbXBsZTE
        previous_cursor:
          anyOf:
            - type: string
              maxLength: 1000
              minLength: 1
            - type: 'null'
          title: Previous Cursor
          description: The cursor pointing at the previous page of items.
          examples:
            - Xkjss7asS
      additionalProperties: false
      type: object
      required:
        - items
      title: TransactionSummaries
    Error400:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `bad_request`
          default: bad_request
          examples:
            - bad_request
        status:
          type: integer
          title: Status
          description: Always `400`.
          default: 400
          examples:
            - 400
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error400
    Error401:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `unauthorized`
          default: unauthorized
          examples:
            - unauthorized
        status:
          type: integer
          title: Status
          description: Always `401`.
          default: 401
          examples:
            - 401
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: No valid API authentication found
          examples:
            - No valid API authentication found
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error401
    Error403:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `forbidden`
          default: forbidden
          examples:
            - forbidden
        status:
          type: integer
          title: Status
          description: Always `403`.
          default: 403
          examples:
            - 403
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error403
    Error404:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `not_found`
          default: not_found
          examples:
            - not_found
        status:
          type: integer
          title: Status
          description: Always `404`.
          default: 404
          examples:
            - 404
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: The resource could not be found
          examples:
            - The resource could not be found
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error404
    Error405:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `method_not_allowed`
          default: method_not_allowed
          examples:
            - method_not_allowed
        status:
          type: integer
          title: Status
          description: Always `405`.
          default: 405
          examples:
            - 405
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Method Not Allowed
          examples:
            - Method Not Allowed
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error405
    Error409:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `duplicate_record`
          default: duplicate_record
          examples:
            - duplicate_record
        status:
          type: integer
          title: Status
          description: Always `409`.
          default: 409
          examples:
            - 409
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
        resource_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Resource Id
          description: The ID of the conflicting resource.
          examples:
            - cdc70639-cb9c-4222-a73f-b8ce39f7821b
      additionalProperties: false
      type: object
      title: Error409
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Error425:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `too_early`
          default: too_early
          examples:
            - too_early
        status:
          type: integer
          title: Status
          description: Always `425`.
          default: 425
          examples:
            - 425
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error425
    Error429:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `too_many_requests`
          default: too_many_requests
          examples:
            - too_many_requests
        status:
          type: integer
          title: Status
          description: Always `429`.
          default: 429
          examples:
            - 429
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Generic error
          examples:
            - Request failed validation
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error429
    Error500:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `server_error`
          default: server_error
          examples:
            - server_error
        status:
          type: integer
          title: Status
          description: Always `500`.
          default: 500
          examples:
            - 500
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Request could not be processed
          examples:
            - Request could not be processed
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error500
    Error502:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `bad_gateway`
          default: bad_gateway
          examples:
            - bad_gateway
        status:
          type: integer
          title: Status
          description: Always `502`.
          default: 502
          examples:
            - 502
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Request could not be processed
          examples:
            - Request could not be processed
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error502
    Error504:
      properties:
        type:
          type: string
          const: error
          title: Type
          description: Always `error`.
          default: error
          examples:
            - error
        code:
          type: string
          title: Code
          description: Always `gateway_timeout`
          default: gateway_timeout
          examples:
            - gateway_timeout
        status:
          type: integer
          title: Status
          default: 504
        message:
          type: string
          title: Message
          description: A human readable message that provides more context to the error.
          default: Request could not be processed
          examples:
            - Request could not be processed
        details:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Details
          description: A list of details that further ellaborate on the error.
          default: []
      additionalProperties: false
      type: object
      title: Error504
    TransactionSummary:
      properties:
        type:
          type: string
          const: transaction
          title: Type
          description: Always `transaction`.
          default: transaction
          examples:
            - transaction
        id:
          type: string
          format: uuid
          title: Id
          description: The ID for the transaction.
          examples:
            - 7099948d-7286-47e4-aad8-b68f7eb44591
        reconciliation_id:
          type: string
          title: Reconciliation Id
          description: >-
            The base62 encoded transaction ID. This represents a shorter version
            of this transaction's `id` which is sent to payment services,
            anti-fraud services, and other connectors. You can use this ID to
            reconcile a payment service's transaction against our system. This
            ID is sent instead of the transaction ID because not all services
            support 36 digit identifiers.
          examples:
            - default
        merchant_account_id:
          type: string
          title: Merchant Account Id
          description: The ID of the merchant account this transaction belongs to.
          examples:
            - default
        currency:
          type: string
          pattern: ^[A-Z]{3}$
          title: Currency
          description: The currency code for this transaction.
          examples:
            - EUR
            - GBP
            - USD
        amount:
          type: integer
          title: Amount
          description: >-
            The total amount for this transaction across all funding sources
            including gift cards.
          examples:
            - 1299
        status:
          description: >-
            The status of the transaction for the `payment_method`. The status
            may change over time as asynchronous processing events occur.
          examples:
            - authorization_succeeded
          type: string
          enum:
            - processing
            - authorization_succeeded
            - authorization_declined
            - authorization_failed
            - authorization_voided
            - authorization_void_pending
            - capture_succeeded
            - capture_pending
            - buyer_approval_pending
          title: TransactionStatus
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        authorized_amount:
          type: integer
          title: Authorized Amount
          description: >-
            The amount for this transaction that has been authorized for the
            `payment_method`. This can be less than the `amount` if gift cards
            were used.
          examples:
            - 1299
        captured_amount:
          type: integer
          title: Captured Amount
          description: >-
            The total amount captured for this transaction, in the smallest
            currency unit (for example, cents or pence). This can be the full
            value of the `authorized_amount` or less.
          examples:
            - 1299
        refunded_amount:
          type: integer
          title: Refunded Amount
          description: >-
            The total amount refunded for this transaction, in the smallest
            currency unit (for example, cents or pence). This can be the full
            value of the `captured_amount` or less.
          examples:
            - 1299
        settled_currency:
          anyOf:
            - type: string
              pattern: ^[A-Z]{3}$
              examples:
                - EUR
                - GBP
                - USD
            - type: 'null'
          title: Settled Currency
          description: The ISO 4217 currency code of this transaction's settlement.
          examples:
            - USD
        settled_amount:
          type: integer
          title: Settled Amount
          description: >-
            The net amount settled for this transaction, in the smallest
            currency unit (for example, cents or pence).
          examples:
            - 1100
        settled:
          type: boolean
          title: Settled
          description: Indicates whether this transaction has been settled.
          examples:
            - true
        country:
          anyOf:
            - type: string
              pattern: ^[A-Z]{2}$
              examples:
                - DE
                - GB
                - US
            - type: 'null'
          title: Country
          description: >-
            The 2-letter ISO 3166-1 alpha-2 country code for the transaction.
            Used to filter payment services for processing.
          examples:
            - US
        external_identifier:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: 'null'
          title: External Identifier
          description: >-
            An external identifier that can be used to match the transaction
            against your own records.
          examples:
            - transaction-12345
        intent:
          description: The original `intent` used when the transaction was created.
          examples:
            - capture
          type: string
          enum:
            - authorize
            - capture
          title: TransactionIntent
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        payment_method:
          anyOf:
            - $ref: '#/components/schemas/TransactionPaymentMethod'
            - type: 'null'
          description: The payment method used for this transaction.
        method:
          anyOf:
            - type: string
              enum:
                - abitab
                - affirm
                - afterpay
                - alipay
                - alipayhk
                - applepay
                - arcuspaynetwork
                - bacs
                - bancontact
                - bank
                - banked
                - bcp
                - becs
                - bitpay
                - blik
                - ach
                - boleto
                - boost
                - breb
                - capitec
                - card
                - cashapp
                - chaseorbital
                - clearpay
                - click-to-pay
                - dana
                - dcb
                - dlocal
                - ebanx
                - eckoh
                - efecty
                - eps
                - everydaypay
                - gcash
                - gem
                - gemds
                - gift-card
                - giropay
                - givingblock
                - gocardless
                - googlepay
                - googlepay_pan_only
                - gopay
                - grabpay
                - ideal
                - kakaopay
                - kcp
                - khipu
                - klarna
                - latitude
                - latitudeds
                - laybuy
                - linepay
                - linkaja
                - maybankqrpay
                - mercadopago
                - multibanco
                - multipago
                - nequi
                - netbanking
                - network-token
                - nupay
                - oney_10x
                - oney_12x
                - oney_3x
                - oney_4x
                - oney_6x
                - onlinebankingcz
                - ovo
                - oxxo
                - p24
                - pagoefectivo
                - payid
                - paymaya
                - paypal
                - paypalpaylater
                - paypay
                - payto
                - payvalida
                - paze
                - picpay
                - pix
                - plaid
                - pse
                - rabbitlinepay
                - razorpay
                - rapipago
                - redpagos
                - scalapay
                - sepa
                - servipag
                - shopeepay
                - singteldash
                - smartpay
                - sofort
                - spei
                - stitch
                - swish
                - stripedd
                - stripetoken
                - tapi
                - tapifintechs
                - thaiqr
                - touchngo
                - truemoney
                - trustly
                - trustlyeurope
                - upi
                - venmo
                - vipps
                - waave
                - webpay
                - wechat
                - wero
                - yape
                - zippay
              title: Method
              x-speakeasy-unknown-values: allow
              overlay: 1.0.0
            - type: 'null'
          description: The method used for the transaction.
          examples:
            - card
        instrument_type:
          anyOf:
            - type: string
              enum:
                - pan
                - card_token
                - redirect
                - redirect_token
                - googlepay
                - applepay
                - network_token
                - plaid
                - bank
              title: InstrumentType
              x-speakeasy-unknown-values: allow
              overlay: 1.0.0
            - type: 'null'
          description: The name of the instrument used to process the transaction.
          examples:
            - pan
        error_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Code
          description: The standardized error code set by Gr4vy.
          examples:
            - missing_redirect_url
        payment_service:
          anyOf:
            - $ref: '#/components/schemas/TransactionPaymentService'
            - type: 'null'
          description: The payment service used for this transaction.
        pending_review:
          type: boolean
          title: Pending Review
          description: >-
            Whether a manual anti fraud review is pending with an anti fraud
            service.
          default: false
          examples:
            - false
        buyer:
          anyOf:
            - $ref: '#/components/schemas/TransactionBuyer'
            - type: 'null'
          description: The buyer used for this transaction.
        raw_response_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Raw Response Code
          description: >-
            This is the response code received from the payment service. This
            can be set to any value and is not standardized across different
            payment services.
          examples:
            - E104
        raw_response_description:
          anyOf:
            - type: string
            - type: 'null'
          title: Raw Response Description
          description: ' This is the response description received from the payment service. This can be set to any value and is not standardized across different payment services.'
          examples:
            - Missing redirect URL
        shipping_details:
          anyOf:
            - $ref: '#/components/schemas/ShippingDetails'
            - type: 'null'
          description: The shipping details associated with the transaction.
        checkout_session_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Checkout Session Id
          description: >-
            The identifier for the checkout session this transaction is
            associated with.
          examples:
            - 4137b1cf-39ac-42a8-bad6-1c680d5dab6b
        gift_card_redemptions:
          items:
            $ref: '#/components/schemas/GiftCardRedemption'
          type: array
          title: Gift Card Redemptions
          description: The gift cards redeemed for this transaction.
        gift_card_service:
          anyOf:
            - $ref: '#/components/schemas/GiftCardService'
            - type: 'null'
          description: The gift card service used for this transaction.
        created_at:
          type: string
          format: date-time
          title: Created At
          description: >-
            The date and time when the transaction was created, in ISO 8601
            format.
          examples:
            - '2013-07-16T19:23:00.000+00:00'
        updated_at:
          type: string
          format: date-time
          title: Updated At
          description: >-
            The date and time when the transaction was last updated, in ISO 8601
            format.
          examples:
            - '2013-07-16T19:23:00.000+00:00'
        disputed:
          type: boolean
          title: Disputed
          description: Indicates whether this transaction has been disputed.
          examples:
            - true
      additionalProperties: false
      type: object
      required:
        - id
        - reconciliation_id
        - merchant_account_id
        - currency
        - amount
        - status
        - authorized_amount
        - captured_amount
        - refunded_amount
        - settled_amount
        - settled
        - intent
        - gift_card_redemptions
        - created_at
        - updated_at
        - disputed
      title: TransactionSummary
      description: A transaction, summarised
    ErrorDetail:
      properties:
        location:
          description: >-
            The part of the request where the property can be found that caused
            the error.
          examples:
            - body
          type: string
          enum:
            - query
            - body
            - path
            - header
            - unknown
          title: ErrorLocation
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        pointer:
          anyOf:
            - type: string
              format: json-pointer
            - type: string
          title: Pointer
          description: A JSON pointer for the particular property that caused the error.
          examples:
            - /currency
        message:
          type: string
          title: Message
          description: A human-readdable explanation of the error.
          examples:
            - 'Unknown ISO 4217 currency code: USX'
        type:
          type: string
          title: Type
          description: The type of error that was raised for this property.
          examples:
            - value_error
      additionalProperties: false
      type: object
      required:
        - location
        - pointer
        - message
        - type
      title: ErrorDetail
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    TransactionPaymentMethod:
      properties:
        type:
          type: string
          const: payment-method
          title: Type
          description: Always `payment-method`.
          default: payment-method
          examples:
            - payment-method
        approval_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Approval Url
          description: >-
            The optional URL that the buyer needs to be redirected to to further
            authorize their payment.
          examples:
            - https://gr4vy.app/redirect/12345
        country:
          anyOf:
            - type: string
              pattern: ^[A-Z]{2}$
              examples:
                - DE
                - GB
                - US
            - type: 'null'
          title: Country
          description: >-
            The 2-letter ISO code of the country this payment method can be used
            for. If this value is null the payment method may be used in
            multiple countries.
          examples:
            - US
        currency:
          anyOf:
            - type: string
              pattern: ^[A-Z]{3}$
              examples:
                - EUR
                - GBP
                - USD
            - type: 'null'
          title: Currency
          description: >-
            The ISO-4217 currency code that this payment method can be used for.
            If this value is null the payment method may be used for multiple
            currencies.
          examples:
            - USD
        details:
          anyOf:
            - $ref: '#/components/schemas/PaymentMethodDetailsCard'
            - type: 'null'
          description: Details for credit or debit card payment method.
        expiration_date:
          anyOf:
            - type: string
              maxLength: 5
              minLength: 5
              pattern: ^\d{2}/\d{2}$
            - type: 'null'
          title: Expiration Date
          description: The expiration date for the payment method.
          examples:
            - 12/30
        fingerprint:
          anyOf:
            - type: string
            - type: 'null'
          title: Fingerprint
          description: >-
            The unique hash derived from the payment method identifier (e.g.
            card number).
          examples:
            - 20eb353620155d2b5fc864cc46a73ea77cb92c725238650839da1813fa987a17
        label:
          anyOf:
            - type: string
              maxLength: 320
              minLength: 0
            - type: 'null'
          title: Label
          description: >-
            A label for the card or the account. For a paypal payment method
            this is the user's email address. For a card it is the last 4 digits
            of the card.
          examples:
            - '1234'
        last_replaced_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Replaced At
          description: >-
            The date and time when this card was last replaced by the account
            updater.
          examples:
            - '2013-07-16T19:23:00.000+00:00'
        method:
          description: The type of this payment method.
          examples:
            - card
          type: string
          enum:
            - abitab
            - affirm
            - afterpay
            - alipay
            - alipayhk
            - applepay
            - arcuspaynetwork
            - bacs
            - bancontact
            - bank
            - banked
            - bcp
            - becs
            - bitpay
            - blik
            - ach
            - boleto
            - boost
            - breb
            - capitec
            - card
            - cashapp
            - chaseorbital
            - clearpay
            - click-to-pay
            - dana
            - dcb
            - dlocal
            - ebanx
            - eckoh
            - efecty
            - eps
            - everydaypay
            - gcash
            - gem
            - gemds
            - gift-card
            - giropay
            - givingblock
            - gocardless
            - googlepay
            - googlepay_pan_only
            - gopay
            - grabpay
            - ideal
            - kakaopay
            - kcp
            - khipu
            - klarna
            - latitude
            - latitudeds
            - laybuy
            - linepay
            - linkaja
            - maybankqrpay
            - mercadopago
            - multibanco
            - multipago
            - nequi
            - netbanking
            - network-token
            - nupay
            - oney_10x
            - oney_12x
            - oney_3x
            - oney_4x
            - oney_6x
            - onlinebankingcz
            - ovo
            - oxxo
            - p24
            - pagoefectivo
            - payid
            - paymaya
            - paypal
            - paypalpaylater
            - paypay
            - payto
            - payvalida
            - paze
            - picpay
            - pix
            - plaid
            - pse
            - rabbitlinepay
            - razorpay
            - rapipago
            - redpagos
            - scalapay
            - sepa
            - servipag
            - shopeepay
            - singteldash
            - smartpay
            - sofort
            - spei
            - stitch
            - swish
            - stripedd
            - stripetoken
            - tapi
            - tapifintechs
            - thaiqr
            - touchngo
            - truemoney
            - trustly
            - trustlyeurope
            - upi
            - venmo
            - vipps
            - waave
            - webpay
            - wechat
            - wero
            - yape
            - zippay
          title: Method
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        mode:
          anyOf:
            - type: string
              enum:
                - card
                - redirect
                - applepay
                - googlepay
                - checkout-session
                - click-to-pay
                - gift-card
                - bank
                - paze
              title: Mode
              x-speakeasy-unknown-values: allow
              overlay: 1.0.0
            - type: 'null'
          description: The mode to use with this payment method.
          examples:
            - card
        scheme:
          anyOf:
            - type: string
              enum:
                - accel
                - amex
                - bancontact
                - carte-bancaire
                - cirrus
                - culiance
                - dankort
                - diners-club
                - discover
                - eftpos-australia
                - elo
                - hipercard
                - jcb
                - maestro
                - mastercard
                - mir
                - nyce
                - other
                - pulse
                - qcard
                - rupay
                - star
                - uatp
                - unionpay
                - visa
              title: CardScheme
              x-speakeasy-unknown-values: allow
              overlay: 1.0.0
            - type: 'null'
          description: The scheme of the card. Only applies to card payments.
          examples:
            - visa
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
          description: The ID of the payment method.
          examples:
            - 852b951c-d7ea-4c98-b09e-4a1c9e97c077
        approval_target:
          anyOf:
            - type: string
              enum:
                - new_window
                - any
              title: ApprovalTarget
              x-speakeasy-unknown-values: allow
              overlay: 1.0.0
            - type: 'null'
          description: >-
            The browser target that an approval URL must be opened in. If any or
            null, then there is no specific requirement.
          examples:
            - any
        external_identifier:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: 'null'
          title: External Identifier
          description: >-
            An external identifier that can be used to match the payment method
            against your own records.
          examples:
            - card-12345
        payment_account_reference:
          anyOf:
            - type: string
            - type: 'null'
          title: Payment Account Reference
          description: >-
            The payment account reference (PAR) returned by the card scheme.
            This is a unique reference to the underlying account that has been
            used to fund this payment method.
          examples:
            - V0010014629724763377327521982
      additionalProperties: false
      type: object
      required:
        - method
      title: TransactionPaymentMethod
    TransactionPaymentService:
      properties:
        type:
          type: string
          const: payment-service
          title: Type
          description: Always `payment-service`.
          default: payment-service
          examples:
            - payment-service
        id:
          type: string
          format: uuid
          title: Id
          description: The ID for the payment-service.
          examples:
            - 824ff064-7f4b-430b-9801-59aff90d013e
        payment_service_definition_id:
          type: string
          maxLength: 50
          minLength: 1
          title: Payment Service Definition Id
          description: The definition ID of the service used to process this payment.
          examples:
            - stripe-card
        method:
          description: The payment method that this service handles.
          examples:
            - card
          type: string
          enum:
            - abitab
            - affirm
            - afterpay
            - alipay
            - alipayhk
            - applepay
            - arcuspaynetwork
            - bacs
            - bancontact
            - bank
            - banked
            - bcp
            - becs
            - bitpay
            - blik
            - ach
            - boleto
            - boost
            - breb
            - capitec
            - card
            - cashapp
            - chaseorbital
            - clearpay
            - click-to-pay
            - dana
            - dcb
            - dlocal
            - ebanx
            - eckoh
            - efecty
            - eps
            - everydaypay
            - gcash
            - gem
            - gemds
            - gift-card
            - giropay
            - givingblock
            - gocardless
            - googlepay
            - googlepay_pan_only
            - gopay
            - grabpay
            - ideal
            - kakaopay
            - kcp
            - khipu
            - klarna
            - latitude
            - latitudeds
            - laybuy
            - linepay
            - linkaja
            - maybankqrpay
            - mercadopago
            - multibanco
            - multipago
            - nequi
            - netbanking
            - network-token
            - nupay
            - oney_10x
            - oney_12x
            - oney_3x
            - oney_4x
            - oney_6x
            - onlinebankingcz
            - ovo
            - oxxo
            - p24
            - pagoefectivo
            - payid
            - paymaya
            - paypal
            - paypalpaylater
            - paypay
            - payto
            - payvalida
            - paze
            - picpay
            - pix
            - plaid
            - pse
            - rabbitlinepay
            - razorpay
            - rapipago
            - redpagos
            - scalapay
            - sepa
            - servipag
            - shopeepay
            - singteldash
            - smartpay
            - sofort
            - spei
            - stitch
            - swish
            - stripedd
            - stripetoken
            - tapi
            - tapifintechs
            - thaiqr
            - touchngo
            - truemoney
            - trustly
            - trustlyeurope
            - upi
            - venmo
            - vipps
            - waave
            - webpay
            - wechat
            - wero
            - yape
            - zippay
          title: Method
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        display_name:
          type: string
          title: Display Name
          description: The display name for the payment service.
          examples:
            - Stripe USA
      additionalProperties: false
      type: object
      required:
        - id
        - payment_service_definition_id
        - method
        - display_name
      title: TransactionPaymentService
    TransactionBuyer:
      properties:
        type:
          type: string
          const: buyer
          title: Type
          description: Always `buyer`.
          default: buyer
          examples:
            - buyer
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
          description: The ID for the buyer.
          examples:
            - fe26475d-ec3e-4884-9553-f7356683f7f9
        display_name:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: 'null'
          title: Display Name
          description: The display name for the buyer.
          examples:
            - John Doe
        external_identifier:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: 'null'
          title: External Identifier
          description: The merchant identifier for this buyer.
          examples:
            - buyer-12345
        billing_details:
          anyOf:
            - $ref: '#/components/schemas/BillingDetails'
            - type: 'null'
          description: The billing name, address, email, and other fields for this buyer.
        account_number:
          anyOf:
            - type: string
              maxLength: 200
              minLength: 1
            - type: 'null'
          title: Account Number
          description: The buyer account number.
      additionalProperties: false
      type: object
      title: TransactionBuyer
    ShippingDetails:
      properties:
        first_name:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: First Name
          description: The first name(s) or given name for the buyer.
          examples:
            - John
        last_name:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: Last Name
          description: The last name, or family name, of the buyer.
          examples:
            - Doe
        email_address:
          anyOf:
            - type: string
              maxLength: 320
              minLength: 1
            - type: 'null'
          title: Email Address
          description: The email address for the buyer.
          examples:
            - john@example.com
        phone_number:
          anyOf:
            - type: string
              pattern: ^\+[1-9]\d{1,14}$
              examples:
                - '+14155552671'
                - '+442071838750'
            - type: 'null'
          title: Phone Number
          description: >-
            The phone number for the buyer which should be formatted according
            to the E164 number standard.
          examples:
            - '+1234567890'
        address:
          anyOf:
            - $ref: '#/components/schemas/Address'
            - type: 'null'
          description: The billing address for the buyer.
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
          description: The ID for the shipping details.
          examples:
            - bf8c36ad-02d9-4904-b0f9-a230b149e341
        buyer_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Buyer Id
          description: The ID for the buyer.
          examples:
            - fe26475d-ec3e-4884-9553-f7356683f7f9
        type:
          type: string
          const: shipping-details
          title: Type
          description: Always `shipping-details`.
          default: shipping-details
          examples:
            - shipping-details
      additionalProperties: false
      type: object
      title: ShippingDetails
    GiftCardRedemption:
      properties:
        type:
          type: string
          const: gift-card-redemption
          title: Type
          description: Always `gift-card-redemption`.
          default: gift-card-redemption
          examples:
            - gift-card-redemption
        id:
          type: string
          format: uuid
          title: Id
          description: The ID for the gift card redemption.
          examples:
            - 31e65fb1-9c67-432e-9c06-83300b9d4059
        status:
          description: The status of the gift card redemption for the `payment_method`.
          examples:
            - succeeded
          type: string
          enum:
            - created
            - succeeded
            - failed
            - skipped
          title: GiftCardRedemptionStatus
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        amount:
          type: integer
          title: Amount
          description: The amount redeemed for this gift card.
          examples:
            - 100
        refunded_amount:
          type: integer
          title: Refunded Amount
          description: >-
            The amount refunded for this gift card. This can not be larger than
            `amount`.
          examples:
            - 50
        gift_card_service_redemption_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Gift Card Service Redemption Id
          description: The gift card service's unique ID for the redemption.
          examples:
            - xYqd43gySMtori
        error_code:
          anyOf:
            - type: string
              enum:
                - invalid_gift_card
                - expired_card
                - inactive_card
                - invalid_service_credentials
                - invalid_amount
                - incorrect_currency
                - insufficient_funds
                - invalid_service_configuration
                - operation_canceled
                - service_error
                - service_network_error
                - unknown_error
                - max_gift_cards_reached
              title: GiftCardErrorCode
              description: >-
                Gift card error codes.


                Gr4vy normalised gift card error codes. Keep the naming and
                style in line with

                those in the connectors framework.


                If new codes are added, append them at the end or amend public
                simulator

                documentation:
                https://docs.gr4vy.com/guides/features/gift-cards/simulator
              x-speakeasy-unknown-values: allow
              overlay: 1.0.0
            - type: 'null'
          description: >-
            If this gift card redemption resulted in an error, this will contain
            the internal code for the error.
          examples:
            - expired_card
        raw_error_code:
          anyOf:
            - type: string
            - type: 'null'
          title: Raw Error Code
          description: >-
            If this gift card redemption resulted in an error, this will contain
            the raw error code received from the gift card provider.
          examples:
            - '10001'
        raw_error_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Raw Error Message
          description: >-
            If this gift card redemption resulted in an error, this will contain
            the raw error message received from the gift card provider.
          examples:
            - Card expired
        gift_card:
          $ref: '#/components/schemas/TransactionGiftCard'
          description: The gift card used for this redemption
      additionalProperties: false
      type: object
      required:
        - id
        - status
        - amount
        - refunded_amount
        - gift_card
      title: GiftCardRedemption
    GiftCardService:
      properties:
        type:
          type: string
          const: gift-card-service
          title: Type
          description: Always `gift-card-service`.
          default: gift-card-service
          examples:
            - gift-card-service
        id:
          type: string
          format: uuid
          title: Id
          description: The ID for the gift card service.
          examples:
            - 35b60feec-a7c7-4844-b503-f39b09192d81
        gift_card_service_definition_id:
          description: The ID of the definition for this service.
          examples:
            - qwikcilver-gift-card
          type: string
          enum:
            - mock-gift-card
            - qwikcilver-gift-card
          title: GiftCardServiceProvider
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
        display_name:
          type: string
          maxLength: 200
          minLength: 1
          title: Display Name
          description: The display name for the gift card service.
          examples:
            - Qwikcilver USA
      additionalProperties: false
      type: object
      required:
        - id
        - gift_card_service_definition_id
        - display_name
      title: GiftCardService
    PaymentMethodDetailsCard:
      properties:
        bin:
          anyOf:
            - type: string
              maxLength: 8
              minLength: 6
              pattern: ^\d+$
            - type: 'null'
          title: Bin
        card_type:
          anyOf:
            - type: string
              enum:
                - credit
                - debit
                - prepaid
              title: CardType
              x-speakeasy-unknown-values: allow
              overlay: 1.0.0
            - type: 'null'
        card_issuer_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Card Issuer Name
      additionalProperties: false
      type: object
      title: PaymentMethodDetailsCard
    BillingDetails:
      properties:
        first_name:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: First Name
          description: The first name(s) or given name for the buyer.
          examples:
            - John
        last_name:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: Last Name
          description: The last name, or family name, of the buyer.
          examples:
            - Doe
        email_address:
          anyOf:
            - type: string
              maxLength: 320
              minLength: 1
            - type: 'null'
          title: Email Address
          description: The email address for the buyer.
          examples:
            - john@example.com
        phone_number:
          anyOf:
            - type: string
              pattern: ^\+[1-9]\d{1,14}$
              examples:
                - '+14155552671'
                - '+442071838750'
            - type: 'null'
          title: Phone Number
          description: >-
            The phone number for the buyer which should be formatted according
            to the E164 number standard.
          examples:
            - '+1234567890'
        address:
          anyOf:
            - $ref: '#/components/schemas/Address'
            - type: 'null'
          description: The billing address for the buyer.
        tax_id:
          anyOf:
            - $ref: '#/components/schemas/TaxId'
            - type: 'null'
          description: The tax ID information associated with the billing details.
      additionalProperties: false
      type: object
      title: BillingDetails
    Address:
      properties:
        city:
          anyOf:
            - type: string
              maxLength: 100
              minLength: 1
            - type: 'null'
          title: City
          description: The city for the address.
          examples:
            - San Jose
        country:
          anyOf:
            - type: string
              pattern: ^[A-Z]{2}$
              examples:
                - DE
                - GB
                - US
            - type: 'null'
          title: Country
          description: The country for the address in ISO 3166 format.
          examples:
            - US
        postal_code:
          anyOf:
            - type: string
              maxLength: 50
              minLength: 1
            - type: 'null'
          title: Postal Code
          description: The postal code or zip code for the address.
          examples:
            - '94560'
        state:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: State
          description: The state, county, or province for the address.
          examples:
            - California
        state_code:
          anyOf:
            - type: string
              pattern: ^[A-Z]{2}-[A-Z0-9]{1,3}$
              examples:
                - GB-LND
                - US-CA
            - type: 'null'
          title: State Code
          description: >-
            The code of state, county, or province for the address in ISO 3166-2
            format.
          examples:
            - US-CA
        house_number_or_name:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: House Number Or Name
          description: >-
            The house number or name for the address. Not all payment services
            use this field but some do.
          examples:
            - '10'
        line1:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: Line1
          description: The first line of the address.
          examples:
            - Stafford Appartments
        line2:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: Line2
          description: The second line of the address.
          examples:
            - 29th Street
        organization:
          anyOf:
            - type: string
              maxLength: 255
              minLength: 1
            - type: 'null'
          title: Organization
          description: >-
            The optional name of the company or organisation to add to the
            address.
          examples:
            - Gr4vy
      additionalProperties: false
      type: object
      title: Address
    TransactionGiftCard:
      properties:
        type:
          type: string
          const: gift-card
          title: Type
          description: Always `gift-card`.
          default: gift-card
          examples:
            - gift-card
        id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
          title: Id
          description: The ID for the gift card.
          examples:
            - 356d56e5-fe16-42ae-97ee-8d55d846ae2e
        bin:
          type: string
          title: Bin
          description: The first 6 digits of the full gift card number.
          examples:
            - '412345'
        sub_bin:
          type: string
          title: Sub Bin
          description: The 3 digits after the `bin` of the full gift card number.
          examples:
            - '554'
        last4:
          type: string
          title: Last4
          description: The last 4 digits for the gift card.
          examples:
            - '1234'
      additionalProperties: false
      type: object
      required:
        - bin
        - sub_bin
        - last4
      title: TransactionGiftCard
    TaxId:
      properties:
        value:
          type: string
          maxLength: 50
          minLength: 1
          title: Value
          description: The tax ID for the buyer.
          examples:
            - '12345678931'
        kind:
          description: The kind of tax ID
          examples:
            - us.ein
          type: string
          enum:
            - ae.trn
            - au.abn
            - ar.dni
            - ar.cuil
            - ar.cuit
            - br.cnpj
            - br.cpf
            - ca.bn
            - ca.gst_hst
            - ca.pst_bc
            - ca.pst_mb
            - ca.pst_sk
            - ca.qst
            - ch.vat
            - cl.tin
            - co.itin
            - co.nit
            - co.cc
            - co.ce
            - co.de
            - co.rc
            - co.ti
            - co.passport
            - es.cif
            - eu.vat
            - gb.vat
            - hk.br
            - id.nik
            - id.npwp
            - in.gst
            - in.pan
            - jp.cn
            - jp.rn
            - kr.brn
            - li.uid
            - mx.curp
            - mx.rfc
            - my.frp
            - my.itn
            - my.nric
            - my.sst
            - no.vat
            - nz.gst
            - pe.ruc
            - ph.tin
            - ru.inn
            - ru.kpp
            - sa.vat
            - sg.gst
            - sg.uen
            - th.id
            - th.vat
            - tw.vat
            - us.ein
            - za.vat
            - bo.ci
            - uy.rut
            - uy.ci
          title: TaxIdKind
          x-speakeasy-unknown-values: allow
          overlay: 1.0.0
      additionalProperties: false
      type: object
      required:
        - value
        - kind
      title: TaxId
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````