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

> ## Agent Instructions
> When building application code, use `@naturalpay/sdk` for TypeScript or `naturalpay` for Python.
> When operating Natural directly for a user, use the payments MCP at `https://mcp.natural.com`.
> When searching Natural documentation, use the docs MCP at `https://docs.natural.com/mcp`.
> Use the Natural CLI for terminal and CI automation.
> Use REST only for unsupported languages or when the user explicitly requests raw HTTP.
> Start integration development and testing in the sandbox. Do not use production unless the user explicitly requests it.
> For sandbox requests that require `customerPartyId`, list customers first. Reuse only the intended fixture; otherwise create a customer.
> REST and SDK amounts use integer minor units. Payments MCP amounts use decimal strings with a required currency code.

# Get chargeback

> Get a chargeback with saved evidence and response guidance



## OpenAPI

````yaml /api-reference/openapi.json get /chargebacks/{chargebackId}
openapi: 3.1.1
info:
  title: Natural API
  version: 0.2.0
  description: >-
    Natural's payments API for autonomous agents.


    **Base URL:** `https://api.natural.com`


    AI agents, including coding agents, should prefer the hosted MCP server at
    `https://mcp.natural.com` when an MCP-aware host runs the agent, the Natural
    CLI for terminal/CI workflows, and the official SDKs for application
    runtimes they own. Use direct HTTP only for explicit low-level integrations,
    unsupported SDK gaps, or infrastructure work where REST is required.


    For support: support@natural.com
servers:
  - url: https://api.natural.com
    description: Production
security: []
tags:
  - name: Agents
    description: Agent management
  - name: Customers
    description: Customer management
  - name: Invitation Links
    description: Shareable links that offer your agents to customers
  - name: Payments
    description: Payment management
  - name: Chargebacks
    description: Respond to card payment chargebacks
  - name: Transactions
    description: Transaction activity and history
  - name: Transfers
    description: Deposits and withdrawals
  - name: PaymentRequests
    description: Payment request management
  - name: Approvals
    description: Approval review
  - name: Invitations
    description: Party invitation management
  - name: Parties
    description: Party and organization management
  - name: Wallets
    description: Wallet management
  - name: External Accounts
    description: Linked external bank accounts
  - name: External Parties
    description: Third parties with whom you transact over Direct
  - name: External Party Accounts
    description: Banking details belonging to external parties not on Natural
  - name: ACH
    description: Make ACH payments to external party accounts
  - name: Realtime
    description: Make realtime payments to external party accounts
  - name: Wire
    description: Send domestic wires to external party accounts
  - name: API Keys
    description: API key management
  - name: Agent Keys
    description: Agent key management
  - name: Webhooks
    description: Webhook endpoint management
  - name: Events
    description: Webhook event log
  - name: Simulations
    description: Sandbox-only simulation controls
paths:
  /chargebacks/{chargebackId}:
    get:
      tags:
        - Chargebacks
      summary: Get chargeback
      description: Get a chargeback with saved evidence and response guidance
      operationId: chargebacks.get
      parameters:
        - name: chargebackId
          in: path
          required: true
          schema:
            type: string
            pattern: ^cbk_[0-9a-f]{32}$
        - name: customerPartyId
          in: query
          required: false
          schema:
            type: string
            pattern: ^pty_[0-9a-f]{32}$
            description: Connected customer to act on behalf of.
          allowEmptyValue: true
          allowReserved: true
        - name: X-Instance-ID
          in: header
          required: false
          schema:
            anyOf:
              - type: string
                maxLength: 1024
              - type: 'null'
          description: >-
            Caller-chosen identifier for the agent run, session, or
            conversation, required when an agent moves money.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        pattern: ^cbk_[0-9a-f]{32}$
                      type:
                        type: string
                        enum:
                          - chargeback
                      attributes:
                        type: object
                        properties:
                          amount:
                            type: integer
                            minimum: 0
                            description: Disputed amount in the currency's smallest unit.
                          currency:
                            type: string
                            description: Reported ISO 4217 currency of the disputed amount.
                          status:
                            enum:
                              - needsResponse
                              - expired
                              - accepted
                              - submitted
                              - underReview
                              - won
                              - lost
                            type: string
                            description: >-
                              Response and outcome state. Submitted means
                              Natural accepted the response. Under review
                              requires provider acknowledgment. Accepted and
                              expired are not provider-reported losses.
                          network:
                            enum:
                              - visa
                              - mastercard
                              - discover
                              - unknown
                            type: string
                            description: Card network that reported the case.
                          reason:
                            type: object
                            properties:
                              category:
                                enum:
                                  - fraud
                                  - authorization
                                  - processingError
                                  - duplicate
                                  - notReceived
                                  - unacceptableOrCanceled
                                  - creditNotProcessed
                                  - unknown
                                type: string
                              networkCode:
                                type: string
                                description: >-
                                  Network reason code, interpreted with the
                                  network.
                              description:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                                description: >-
                                  Readable reason description, or null when
                                  unavailable.
                            required:
                              - category
                              - networkCode
                              - description
                            additionalProperties: false
                          responseDueAt:
                            type: string
                            format: date-time
                            description: >-
                              Enforced deadline for accepting or responding to
                              this chargeback.
                          internalDueAt:
                            type: string
                            format: date-time
                            description: >-
                              Earlier merchant-facing deadline. Respond before
                              this time so Natural can deliver the response
                              before the enforced deadline.
                          paymentCreatedAt:
                            anyOf:
                              - type: string
                                format: date-time
                              - type: 'null'
                            description: >-
                              When the disputed payment was made, or null when
                              unavailable.
                          submittedAt:
                            anyOf:
                              - type: string
                                format: date-time
                              - type: 'null'
                            description: >-
                              When Natural accepted and froze the response. This
                              does not establish provider acknowledgment.
                          allowedActions:
                            type: array
                            items:
                              enum:
                                - accept
                                - counter
                              type: string
                            description: >-
                              Actions still available to the merchant, computed
                              server-side.
                          counterUnavailableReason:
                            anyOf:
                              - enum:
                                  - deadlinePassed
                                type: string
                              - type: 'null'
                            description: >-
                              Why countering is unavailable, or null when it is
                              available or not applicable.
                          evidence:
                            type: object
                            properties:
                              responseReason:
                                anyOf:
                                  - enum:
                                      - cardholderWithdrew
                                      - authorizedPurchase
                                      - alreadyRefunded
                                      - receivedProduct
                                      - other
                                    type: string
                                  - type: 'null'
                                description: Why you are contesting the chargeback.
                              product:
                                anyOf:
                                  - anyOf:
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            enum:
                                              - physical
                                          shipTo:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  line1:
                                                    type: string
                                                    maxLength: 255
                                                  line2:
                                                    anyOf:
                                                      - type: string
                                                        maxLength: 255
                                                      - type: 'null'
                                                  city:
                                                    type: string
                                                    maxLength: 255
                                                  state:
                                                    type: string
                                                    maxLength: 255
                                                  postalCode:
                                                    type: string
                                                    maxLength: 32
                                                  country:
                                                    type: string
                                                    pattern: ^[A-Za-z]{2}$
                                                required:
                                                  - line1
                                                  - line2
                                                  - city
                                                  - state
                                                  - postalCode
                                                  - country
                                                additionalProperties: false
                                              - type: 'null'
                                          carrier:
                                            anyOf:
                                              - type: string
                                                maxLength: 100
                                              - type: 'null'
                                          trackingNumber:
                                            anyOf:
                                              - type: string
                                                maxLength: 100
                                              - type: 'null'
                                          shippedOn:
                                            anyOf:
                                              - type: string
                                                format: date
                                              - type: 'null'
                                        required:
                                          - type
                                          - shipTo
                                          - carrier
                                          - trackingNumber
                                          - shippedOn
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            enum:
                                              - digital
                                          accessActivityLog:
                                            anyOf:
                                              - type: string
                                                maxLength: 5000
                                              - type: 'null'
                                        required:
                                          - type
                                          - accessActivityLog
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            enum:
                                              - inPersonService
                                          serviceOn:
                                            anyOf:
                                              - type: string
                                                format: date
                                              - type: 'null'
                                        required:
                                          - type
                                          - serviceOn
                                        additionalProperties: false
                                      - type: object
                                        properties:
                                          type:
                                            type: string
                                            enum:
                                              - other
                                        required:
                                          - type
                                        additionalProperties: false
                                    title: ChargebackEvidenceProduct
                                  - type: 'null'
                                description: >-
                                  Product type and fulfillment details. A
                                  supplied object replaces the whole product.
                              productDescription:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                                description: Description of the goods or services sold.
                              explanation:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                                description: >-
                                  Explanation of why the chargeback should be
                                  reversed.
                              deliveryDetails:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                                description: How the goods or services were delivered.
                              usageDetails:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                                description: >-
                                  How the cardholder received or used the
                                  purchase.
                              cardholderName:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                                description: Cardholder name supplied by the customer.
                              cardholderEmail:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                                description: Cardholder email supplied by the customer.
                              cardholderPhone:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                                description: Cardholder phone supplied by the customer.
                              billingAddress:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                                description: Billing address supplied by the customer.
                              billingPostalCode:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                                description: Billing postal code supplied by the customer.
                              refundPolicyDisclosure:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                                description: How and when the refund policy was disclosed.
                              refundDetails:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                                description: Additional explanation of a relevant refund.
                              attachments:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    fileId:
                                      type: string
                                      pattern: ^evf_[0-9a-f]{32}$
                                      description: >-
                                        ID of a validated file uploaded for this
                                        chargeback.
                                    purposes:
                                      type: array
                                      minItems: 1
                                      maxItems: 15
                                      items:
                                        enum:
                                          - cardholderCommunications
                                          - receipt
                                          - authorizationProof
                                          - duplicatePaymentReceipt
                                          - fulfillmentProof
                                          - trackingDocumentation
                                          - accessConfirmation
                                          - serviceCompletion
                                          - productDescription
                                          - cancellationPolicy
                                          - refundProof
                                          - refundPolicy
                                          - disputeWithdrawal
                                          - supportingDocuments
                                          - otherEvidence
                                        type: string
                                    note:
                                      anyOf:
                                        - type: string
                                        - type: 'null'
                                    file:
                                      type: object
                                      properties:
                                        filename:
                                          anyOf:
                                            - type: string
                                            - type: 'null'
                                          description: >-
                                            Sanitized filename. Null for files
                                            uploaded before filename capture was
                                            available.
                                        contentType:
                                          enum:
                                            - application/pdf
                                            - image/jpeg
                                            - image/png
                                          type: string
                                        sizeBytes:
                                          anyOf:
                                            - type: integer
                                              exclusiveMinimum: 0
                                            - type: 'null'
                                          description: >-
                                            Original uploaded bytes. Null for
                                            historical files whose original size was
                                            not recorded.
                                        pageCount:
                                          type: integer
                                          exclusiveMinimum: 0
                                          description: >-
                                            Number of pages this file contributes to
                                            the evidence packet.
                                        createdAt:
                                          type: string
                                          format: date-time
                                          description: >-
                                            When the file was uploaded and
                                            validated.
                                      required:
                                        - filename
                                        - contentType
                                        - sizeBytes
                                        - pageCount
                                        - createdAt
                                      additionalProperties: false
                                  required:
                                    - fileId
                                    - purposes
                                    - note
                                    - file
                                  additionalProperties: false
                            required:
                              - responseReason
                              - product
                              - productDescription
                              - explanation
                              - deliveryDetails
                              - usageDetails
                              - cardholderName
                              - cardholderEmail
                              - cardholderPhone
                              - billingAddress
                              - billingPostalCode
                              - refundPolicyDisclosure
                              - refundDetails
                              - attachments
                            additionalProperties: false
                            title: ChargebackEvidence
                          evidenceGuidance:
                            type: object
                            properties:
                              responseReasons:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    value:
                                      enum:
                                        - cardholderWithdrew
                                        - authorizedPurchase
                                        - alreadyRefunded
                                        - receivedProduct
                                        - other
                                      type: string
                                    description:
                                      type: string
                                    warning:
                                      anyOf:
                                        - type: string
                                        - type: 'null'
                                  required:
                                    - value
                                    - description
                                    - warning
                                  additionalProperties: false
                              information:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    field:
                                      enum:
                                        - cardholderName
                                        - cardholderEmail
                                        - cardholderPhone
                                        - billingAddress
                                        - billingPostalCode
                                      type: string
                                    value:
                                      anyOf:
                                        - type: string
                                        - type: 'null'
                                    source:
                                      enum:
                                        - recorded
                                        - provided
                                        - missing
                                      type: string
                                  required:
                                    - field
                                    - value
                                    - source
                                  additionalProperties: false
                              missingFields:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    field:
                                      enum:
                                        - responseReason
                                        - product
                                        - productDescription
                                        - explanation
                                      type: string
                                    description:
                                      type: string
                                  required:
                                    - field
                                    - description
                                  additionalProperties: false
                              recommendedDocuments:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    purpose:
                                      enum:
                                        - cardholderCommunications
                                        - receipt
                                        - authorizationProof
                                        - duplicatePaymentReceipt
                                        - fulfillmentProof
                                        - trackingDocumentation
                                        - accessConfirmation
                                        - serviceCompletion
                                        - productDescription
                                        - cancellationPolicy
                                        - refundProof
                                        - refundPolicy
                                        - disputeWithdrawal
                                        - supportingDocuments
                                        - otherEvidence
                                      type: string
                                    description:
                                      type: string
                                  required:
                                    - purpose
                                    - description
                                  additionalProperties: false
                              recordedEvidence:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    code:
                                      type: string
                                    description:
                                      type: string
                                    available:
                                      type: boolean
                                  required:
                                    - code
                                    - description
                                    - available
                                  additionalProperties: false
                            required:
                              - responseReasons
                              - information
                              - missingFields
                              - recommendedDocuments
                              - recordedEvidence
                            additionalProperties: false
                            title: ChargebackEvidenceGuidance
                          timeline:
                            type: array
                            items:
                              type: object
                              properties:
                                eventType:
                                  type: string
                                  description: Public chargeback event name.
                                effectiveAt:
                                  type: string
                                  format: date-time
                                  description: When the event took effect.
                              required:
                                - eventType
                                - effectiveAt
                              additionalProperties: false
                            description: Provider-visible case events, oldest first.
                          version:
                            type: integer
                            exclusiveMinimum: 0
                            description: >-
                              Version of the case and saved evidence. Use this
                              version when saving, previewing, submitting, or
                              accepting.
                          createdAt:
                            type: string
                            format: date-time
                          updatedAt:
                            type: string
                            format: date-time
                        required:
                          - amount
                          - currency
                          - status
                          - network
                          - reason
                          - responseDueAt
                          - internalDueAt
                          - paymentCreatedAt
                          - submittedAt
                          - allowedActions
                          - counterUnavailableReason
                          - evidence
                          - evidenceGuidance
                          - timeline
                          - version
                          - createdAt
                          - updatedAt
                        additionalProperties: false
                      relationships:
                        type: object
                        properties:
                          cardPayment:
                            type: object
                            properties:
                              data:
                                type: object
                                properties:
                                  type:
                                    description: Resource type. Always `cardPayment`.
                                    type: string
                                    enum:
                                      - cardPayment
                                  id:
                                    type: string
                                    pattern: ^cpy_[0-9a-f]{32}$
                                required:
                                  - type
                                  - id
                                additionalProperties: false
                                title: ResourceIdentifier
                                description: Related resource identifier.
                            required:
                              - data
                            additionalProperties: false
                            title: ToOneRelationship
                          paymentIntent:
                            type: object
                            properties:
                              data:
                                type: object
                                properties:
                                  type:
                                    description: Resource type. Always `paymentIntent`.
                                    type: string
                                    enum:
                                      - paymentIntent
                                  id:
                                    type: string
                                    pattern: ^pmi_[0-9a-f]{32}$
                                required:
                                  - type
                                  - id
                                additionalProperties: false
                                title: ResourceIdentifier
                                description: Related resource identifier.
                            required:
                              - data
                            additionalProperties: false
                            title: ToOneRelationship
                          customerParty:
                            type: object
                            properties:
                              data:
                                type: object
                                properties:
                                  type:
                                    description: Resource type. Always `party`.
                                    type: string
                                    enum:
                                      - party
                                  id:
                                    type: string
                                    pattern: ^pty_[0-9a-f]{32}$
                                required:
                                  - type
                                  - id
                                additionalProperties: false
                                title: ResourceIdentifier
                                description: Related resource identifier.
                            required:
                              - data
                            additionalProperties: false
                            title: ToOneRelationship
                        required:
                          - cardPayment
                          - paymentIntent
                          - customerParty
                        additionalProperties: false
                    required:
                      - id
                      - type
                      - attributes
                      - relationships
                    additionalProperties: false
                    title: Chargeback
                required:
                  - data
                additionalProperties: false
              examples:
                default:
                  summary: Default
                  value:
                    data:
                      id: cbk_019d0a1b2c3d4e5f60718293a4b5c700
                      type: chargeback
                      attributes:
                        amount: 4620
                        currency: USD
                        status: needsResponse
                        network: visa
                        reason:
                          category: notReceived
                          networkCode: '13.1'
                          description: Merchandise or services not received
                        responseDueAt: '2026-09-27T23:59:59.999Z'
                        internalDueAt: '2026-09-25T23:59:59.999Z'
                        paymentCreatedAt: '2026-09-01T14:02:11.000Z'
                        submittedAt: null
                        allowedActions:
                          - accept
                          - counter
                        counterUnavailableReason: null
                        evidence:
                          responseReason: receivedProduct
                          product:
                            type: physical
                            shipTo: null
                            carrier: UPS
                            trackingNumber: 1Z9990000000000001
                            shippedOn: '2026-09-14'
                          productDescription: A cotton shirt
                          explanation: The cardholder confirmed receiving the order.
                          deliveryDetails: null
                          usageDetails: null
                          cardholderName: null
                          cardholderEmail: null
                          cardholderPhone: null
                          billingAddress: null
                          billingPostalCode: null
                          refundPolicyDisclosure: null
                          refundDetails: null
                          attachments: []
                        evidenceGuidance:
                          responseReasons:
                            - value: receivedProduct
                              description: The cardholder received the product
                              warning: null
                          information: []
                          missingFields: []
                          recommendedDocuments:
                            - purpose: fulfillmentProof
                              description: Delivery confirmation for the disputed order
                          recordedEvidence:
                            - code: paymentRecord
                              description: Recorded payment amount, date, and reference
                              available: true
                        timeline:
                          - eventType: opened
                            effectiveAt: '2026-09-17T12:00:00.000Z'
                        version: 2
                        createdAt: '2026-09-17T12:00:00.000Z'
                        updatedAt: '2026-09-17T12:02:00.000Z'
                      relationships:
                        cardPayment:
                          data:
                            type: cardPayment
                            id: cpy_019d0a1b2c3d4e5f60718293a4b5c6d8
                        paymentIntent:
                          data:
                            type: paymentIntent
                            id: pmi_019d0a1b2c3d4e5f60718293a4b5c6d7
                        customerParty:
                          data:
                            type: party
                            id: pty_019cd1798d627ad9bc302511c4f2c115
          headers:
            X-RateLimit-Limit:
              description: Maximum requests allowed per window.
              schema:
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in current window.
              schema:
                type: integer
            X-RateLimit-Reset:
              description: Unix timestamp when rate limit resets.
              schema:
                type: integer
        '400':
          description: Validation Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable lower-snake-case public error code.
                        detail:
                          type: string
                          description: Safe user-facing error detail.
                        status:
                          type: string
                          description: HTTP status code as a string.
                        source:
                          type: object
                          description: Location of the invalid request value.
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer to the invalid request value.
                            parameter:
                              type: string
                              description: Name of the invalid query parameter.
                            header:
                              type: string
                              description: Name of the invalid request header.
                          additionalProperties: false
                        meta:
                          type: object
                          description: >-
                            Additional error context, including support and
                            provider details when available.
                          properties:
                            supportId:
                              type: string
                              description: Request/support ID for troubleshooting.
                            limitScope:
                              type: string
                              enum:
                                - merchant
                                - program
                              description: >-
                                Which family of acquiring limit refused the
                                payment. Thresholds and usage are never
                                disclosed.
                            connectionStatus:
                              type: string
                              enum:
                                - login_required
                                - disconnected
                              description: >-
                                External account connection state when the error
                                is repairable by relinking.
                            provider:
                              type: object
                              description: Provider error details, when available.
                              properties:
                                name:
                                  type: string
                                  enum:
                                    - plaid
                                  description: Provider that returned the underlying error.
                                errorCode:
                                  type: string
                                  description: Provider error code, when available.
                                errorType:
                                  type: string
                                  description: Provider error type, when available.
                                requestId:
                                  type: string
                                  description: Provider request ID for troubleshooting.
                              required:
                                - name
                              additionalProperties: false
                          required:
                            - supportId
                          additionalProperties: false
                      required:
                        - code
                        - detail
                        - status
                        - meta
                      additionalProperties: false
                required:
                  - errors
                additionalProperties: false
              examples:
                default:
                  summary: Default
                  value:
                    errors:
                      - code: invalid_value
                        detail: >-
                          The information you entered isn't valid. Please check
                          it and try again.
                        status: '400'
                        meta:
                          supportId: req_a1b2c3d4e5f6
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable lower-snake-case public error code.
                        detail:
                          type: string
                          description: Safe user-facing error detail.
                        status:
                          type: string
                          description: HTTP status code as a string.
                        source:
                          type: object
                          description: Location of the invalid request value.
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer to the invalid request value.
                            parameter:
                              type: string
                              description: Name of the invalid query parameter.
                            header:
                              type: string
                              description: Name of the invalid request header.
                          additionalProperties: false
                        meta:
                          type: object
                          description: >-
                            Additional error context, including support and
                            provider details when available.
                          properties:
                            supportId:
                              type: string
                              description: Request/support ID for troubleshooting.
                            limitScope:
                              type: string
                              enum:
                                - merchant
                                - program
                              description: >-
                                Which family of acquiring limit refused the
                                payment. Thresholds and usage are never
                                disclosed.
                            connectionStatus:
                              type: string
                              enum:
                                - login_required
                                - disconnected
                              description: >-
                                External account connection state when the error
                                is repairable by relinking.
                            provider:
                              type: object
                              description: Provider error details, when available.
                              properties:
                                name:
                                  type: string
                                  enum:
                                    - plaid
                                  description: Provider that returned the underlying error.
                                errorCode:
                                  type: string
                                  description: Provider error code, when available.
                                errorType:
                                  type: string
                                  description: Provider error type, when available.
                                requestId:
                                  type: string
                                  description: Provider request ID for troubleshooting.
                              required:
                                - name
                              additionalProperties: false
                          required:
                            - supportId
                          additionalProperties: false
                      required:
                        - code
                        - detail
                        - status
                        - meta
                      additionalProperties: false
                required:
                  - errors
                additionalProperties: false
              examples:
                default:
                  summary: Default
                  value:
                    errors:
                      - code: unauthenticated
                        detail: Authentication is required.
                        status: '401'
                        meta:
                          supportId: req_a1b2c3d4e5f6
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable lower-snake-case public error code.
                        detail:
                          type: string
                          description: Safe user-facing error detail.
                        status:
                          type: string
                          description: HTTP status code as a string.
                        source:
                          type: object
                          description: Location of the invalid request value.
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer to the invalid request value.
                            parameter:
                              type: string
                              description: Name of the invalid query parameter.
                            header:
                              type: string
                              description: Name of the invalid request header.
                          additionalProperties: false
                        meta:
                          type: object
                          description: >-
                            Additional error context, including support and
                            provider details when available.
                          properties:
                            supportId:
                              type: string
                              description: Request/support ID for troubleshooting.
                            limitScope:
                              type: string
                              enum:
                                - merchant
                                - program
                              description: >-
                                Which family of acquiring limit refused the
                                payment. Thresholds and usage are never
                                disclosed.
                            connectionStatus:
                              type: string
                              enum:
                                - login_required
                                - disconnected
                              description: >-
                                External account connection state when the error
                                is repairable by relinking.
                            provider:
                              type: object
                              description: Provider error details, when available.
                              properties:
                                name:
                                  type: string
                                  enum:
                                    - plaid
                                  description: Provider that returned the underlying error.
                                errorCode:
                                  type: string
                                  description: Provider error code, when available.
                                errorType:
                                  type: string
                                  description: Provider error type, when available.
                                requestId:
                                  type: string
                                  description: Provider request ID for troubleshooting.
                              required:
                                - name
                              additionalProperties: false
                          required:
                            - supportId
                          additionalProperties: false
                      required:
                        - code
                        - detail
                        - status
                        - meta
                      additionalProperties: false
                required:
                  - errors
                additionalProperties: false
              examples:
                default:
                  summary: Default
                  value:
                    errors:
                      - code: forbidden
                        detail: You do not have permission to perform this action.
                        status: '403'
                        meta:
                          supportId: req_a1b2c3d4e5f6
        '404':
          description: >-
            Not Found. Returned when the resource does not exist, or when it
            exists but is not accessible to your account. The two cases are
            intentionally indistinguishable, so that resource IDs cannot be
            enumerated by probing.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable lower-snake-case public error code.
                        detail:
                          type: string
                          description: Safe user-facing error detail.
                        status:
                          type: string
                          description: HTTP status code as a string.
                        source:
                          type: object
                          description: Location of the invalid request value.
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer to the invalid request value.
                            parameter:
                              type: string
                              description: Name of the invalid query parameter.
                            header:
                              type: string
                              description: Name of the invalid request header.
                          additionalProperties: false
                        meta:
                          type: object
                          description: >-
                            Additional error context, including support and
                            provider details when available.
                          properties:
                            supportId:
                              type: string
                              description: Request/support ID for troubleshooting.
                            limitScope:
                              type: string
                              enum:
                                - merchant
                                - program
                              description: >-
                                Which family of acquiring limit refused the
                                payment. Thresholds and usage are never
                                disclosed.
                            connectionStatus:
                              type: string
                              enum:
                                - login_required
                                - disconnected
                              description: >-
                                External account connection state when the error
                                is repairable by relinking.
                            provider:
                              type: object
                              description: Provider error details, when available.
                              properties:
                                name:
                                  type: string
                                  enum:
                                    - plaid
                                  description: Provider that returned the underlying error.
                                errorCode:
                                  type: string
                                  description: Provider error code, when available.
                                errorType:
                                  type: string
                                  description: Provider error type, when available.
                                requestId:
                                  type: string
                                  description: Provider request ID for troubleshooting.
                              required:
                                - name
                              additionalProperties: false
                          required:
                            - supportId
                          additionalProperties: false
                      required:
                        - code
                        - detail
                        - status
                        - meta
                      additionalProperties: false
                required:
                  - errors
                additionalProperties: false
              examples:
                default:
                  summary: Default
                  value:
                    errors:
                      - code: not_found
                        detail: The requested resource was not found.
                        status: '404'
                        meta:
                          supportId: req_a1b2c3d4e5f6
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable lower-snake-case public error code.
                        detail:
                          type: string
                          description: Safe user-facing error detail.
                        status:
                          type: string
                          description: HTTP status code as a string.
                        source:
                          type: object
                          description: Location of the invalid request value.
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer to the invalid request value.
                            parameter:
                              type: string
                              description: Name of the invalid query parameter.
                            header:
                              type: string
                              description: Name of the invalid request header.
                          additionalProperties: false
                        meta:
                          type: object
                          description: >-
                            Additional error context, including support and
                            provider details when available.
                          properties:
                            supportId:
                              type: string
                              description: Request/support ID for troubleshooting.
                            limitScope:
                              type: string
                              enum:
                                - merchant
                                - program
                              description: >-
                                Which family of acquiring limit refused the
                                payment. Thresholds and usage are never
                                disclosed.
                            connectionStatus:
                              type: string
                              enum:
                                - login_required
                                - disconnected
                              description: >-
                                External account connection state when the error
                                is repairable by relinking.
                            provider:
                              type: object
                              description: Provider error details, when available.
                              properties:
                                name:
                                  type: string
                                  enum:
                                    - plaid
                                  description: Provider that returned the underlying error.
                                errorCode:
                                  type: string
                                  description: Provider error code, when available.
                                errorType:
                                  type: string
                                  description: Provider error type, when available.
                                requestId:
                                  type: string
                                  description: Provider request ID for troubleshooting.
                              required:
                                - name
                              additionalProperties: false
                          required:
                            - supportId
                          additionalProperties: false
                      required:
                        - code
                        - detail
                        - status
                        - meta
                      additionalProperties: false
                required:
                  - errors
                additionalProperties: false
              examples:
                default:
                  summary: Default
                  value:
                    errors:
                      - code: conflict
                        detail: The request conflicts with the current resource state.
                        status: '409'
                        meta:
                          supportId: req_a1b2c3d4e5f6
        '422':
          description: >-
            Validation Error. The response contains one error object for each
            invalid request value.
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable lower-snake-case public error code.
                        detail:
                          type: string
                          description: Safe user-facing error detail.
                        status:
                          type: string
                          description: HTTP status code as a string.
                        source:
                          type: object
                          description: Location of the invalid request value.
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer to the invalid request value.
                            parameter:
                              type: string
                              description: Name of the invalid query parameter.
                            header:
                              type: string
                              description: Name of the invalid request header.
                          additionalProperties: false
                        meta:
                          type: object
                          description: >-
                            Additional error context, including support and
                            provider details when available.
                          properties:
                            supportId:
                              type: string
                              description: Request/support ID for troubleshooting.
                            limitScope:
                              type: string
                              enum:
                                - merchant
                                - program
                              description: >-
                                Which family of acquiring limit refused the
                                payment. Thresholds and usage are never
                                disclosed.
                            connectionStatus:
                              type: string
                              enum:
                                - login_required
                                - disconnected
                              description: >-
                                External account connection state when the error
                                is repairable by relinking.
                            provider:
                              type: object
                              description: Provider error details, when available.
                              properties:
                                name:
                                  type: string
                                  enum:
                                    - plaid
                                  description: Provider that returned the underlying error.
                                errorCode:
                                  type: string
                                  description: Provider error code, when available.
                                errorType:
                                  type: string
                                  description: Provider error type, when available.
                                requestId:
                                  type: string
                                  description: Provider request ID for troubleshooting.
                              required:
                                - name
                              additionalProperties: false
                          required:
                            - supportId
                          additionalProperties: false
                      required:
                        - code
                        - detail
                        - status
                        - meta
                      additionalProperties: false
                required:
                  - errors
                additionalProperties: false
              examples:
                default:
                  summary: Default
                  value:
                    errors:
                      - code: invalid_value
                        detail: 'Too big: expected string to have <=80 characters'
                        status: '422'
                        source:
                          pointer: /data/attributes/description
                        meta:
                          supportId: req_a1b2c3d4e5f6
        '428':
          description: Precondition Required
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable lower-snake-case public error code.
                        detail:
                          type: string
                          description: Safe user-facing error detail.
                        status:
                          type: string
                          description: HTTP status code as a string.
                        source:
                          type: object
                          description: Location of the invalid request value.
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer to the invalid request value.
                            parameter:
                              type: string
                              description: Name of the invalid query parameter.
                            header:
                              type: string
                              description: Name of the invalid request header.
                          additionalProperties: false
                        meta:
                          type: object
                          description: >-
                            Additional error context, including support and
                            provider details when available.
                          properties:
                            supportId:
                              type: string
                              description: Request/support ID for troubleshooting.
                            limitScope:
                              type: string
                              enum:
                                - merchant
                                - program
                              description: >-
                                Which family of acquiring limit refused the
                                payment. Thresholds and usage are never
                                disclosed.
                            connectionStatus:
                              type: string
                              enum:
                                - login_required
                                - disconnected
                              description: >-
                                External account connection state when the error
                                is repairable by relinking.
                            provider:
                              type: object
                              description: Provider error details, when available.
                              properties:
                                name:
                                  type: string
                                  enum:
                                    - plaid
                                  description: Provider that returned the underlying error.
                                errorCode:
                                  type: string
                                  description: Provider error code, when available.
                                errorType:
                                  type: string
                                  description: Provider error type, when available.
                                requestId:
                                  type: string
                                  description: Provider request ID for troubleshooting.
                              required:
                                - name
                              additionalProperties: false
                          required:
                            - supportId
                          additionalProperties: false
                      required:
                        - code
                        - detail
                        - status
                        - meta
                      additionalProperties: false
                required:
                  - errors
                additionalProperties: false
              examples:
                default:
                  summary: Default
                  value:
                    errors:
                      - code: mfa_required
                        detail: MFA verification required
                        status: '428'
                        meta:
                          supportId: req_a1b2c3d4e5f6
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable lower-snake-case public error code.
                        detail:
                          type: string
                          description: Safe user-facing error detail.
                        status:
                          type: string
                          description: HTTP status code as a string.
                        source:
                          type: object
                          description: Location of the invalid request value.
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer to the invalid request value.
                            parameter:
                              type: string
                              description: Name of the invalid query parameter.
                            header:
                              type: string
                              description: Name of the invalid request header.
                          additionalProperties: false
                        meta:
                          type: object
                          description: >-
                            Additional error context, including support and
                            provider details when available.
                          properties:
                            supportId:
                              type: string
                              description: Request/support ID for troubleshooting.
                            limitScope:
                              type: string
                              enum:
                                - merchant
                                - program
                              description: >-
                                Which family of acquiring limit refused the
                                payment. Thresholds and usage are never
                                disclosed.
                            connectionStatus:
                              type: string
                              enum:
                                - login_required
                                - disconnected
                              description: >-
                                External account connection state when the error
                                is repairable by relinking.
                            provider:
                              type: object
                              description: Provider error details, when available.
                              properties:
                                name:
                                  type: string
                                  enum:
                                    - plaid
                                  description: Provider that returned the underlying error.
                                errorCode:
                                  type: string
                                  description: Provider error code, when available.
                                errorType:
                                  type: string
                                  description: Provider error type, when available.
                                requestId:
                                  type: string
                                  description: Provider request ID for troubleshooting.
                              required:
                                - name
                              additionalProperties: false
                          required:
                            - supportId
                          additionalProperties: false
                      required:
                        - code
                        - detail
                        - status
                        - meta
                      additionalProperties: false
                required:
                  - errors
                additionalProperties: false
              examples:
                default:
                  summary: Default
                  value:
                    errors:
                      - code: rate_limited
                        detail: Too many requests. Please try again later.
                        status: '429'
                        meta:
                          supportId: req_a1b2c3d4e5f6
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
            X-RateLimit-Limit:
              description: Maximum requests allowed per window.
              schema:
                type: integer
            X-RateLimit-Remaining:
              description: Requests remaining in current window.
              schema:
                type: integer
            X-RateLimit-Reset:
              description: Unix timestamp when rate limit resets.
              schema:
                type: integer
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable lower-snake-case public error code.
                        detail:
                          type: string
                          description: Safe user-facing error detail.
                        status:
                          type: string
                          description: HTTP status code as a string.
                        source:
                          type: object
                          description: Location of the invalid request value.
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer to the invalid request value.
                            parameter:
                              type: string
                              description: Name of the invalid query parameter.
                            header:
                              type: string
                              description: Name of the invalid request header.
                          additionalProperties: false
                        meta:
                          type: object
                          description: >-
                            Additional error context, including support and
                            provider details when available.
                          properties:
                            supportId:
                              type: string
                              description: Request/support ID for troubleshooting.
                            limitScope:
                              type: string
                              enum:
                                - merchant
                                - program
                              description: >-
                                Which family of acquiring limit refused the
                                payment. Thresholds and usage are never
                                disclosed.
                            connectionStatus:
                              type: string
                              enum:
                                - login_required
                                - disconnected
                              description: >-
                                External account connection state when the error
                                is repairable by relinking.
                            provider:
                              type: object
                              description: Provider error details, when available.
                              properties:
                                name:
                                  type: string
                                  enum:
                                    - plaid
                                  description: Provider that returned the underlying error.
                                errorCode:
                                  type: string
                                  description: Provider error code, when available.
                                errorType:
                                  type: string
                                  description: Provider error type, when available.
                                requestId:
                                  type: string
                                  description: Provider request ID for troubleshooting.
                              required:
                                - name
                              additionalProperties: false
                          required:
                            - supportId
                          additionalProperties: false
                      required:
                        - code
                        - detail
                        - status
                        - meta
                      additionalProperties: false
                required:
                  - errors
                additionalProperties: false
              examples:
                default:
                  summary: Default
                  value:
                    errors:
                      - code: server_error
                        detail: Something went wrong.
                        status: '500'
                        meta:
                          supportId: req_a1b2c3d4e5f6
        '501':
          description: Not Implemented
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable lower-snake-case public error code.
                        detail:
                          type: string
                          description: Safe user-facing error detail.
                        status:
                          type: string
                          description: HTTP status code as a string.
                        source:
                          type: object
                          description: Location of the invalid request value.
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer to the invalid request value.
                            parameter:
                              type: string
                              description: Name of the invalid query parameter.
                            header:
                              type: string
                              description: Name of the invalid request header.
                          additionalProperties: false
                        meta:
                          type: object
                          description: >-
                            Additional error context, including support and
                            provider details when available.
                          properties:
                            supportId:
                              type: string
                              description: Request/support ID for troubleshooting.
                            limitScope:
                              type: string
                              enum:
                                - merchant
                                - program
                              description: >-
                                Which family of acquiring limit refused the
                                payment. Thresholds and usage are never
                                disclosed.
                            connectionStatus:
                              type: string
                              enum:
                                - login_required
                                - disconnected
                              description: >-
                                External account connection state when the error
                                is repairable by relinking.
                            provider:
                              type: object
                              description: Provider error details, when available.
                              properties:
                                name:
                                  type: string
                                  enum:
                                    - plaid
                                  description: Provider that returned the underlying error.
                                errorCode:
                                  type: string
                                  description: Provider error code, when available.
                                errorType:
                                  type: string
                                  description: Provider error type, when available.
                                requestId:
                                  type: string
                                  description: Provider request ID for troubleshooting.
                              required:
                                - name
                              additionalProperties: false
                          required:
                            - supportId
                          additionalProperties: false
                      required:
                        - code
                        - detail
                        - status
                        - meta
                      additionalProperties: false
                required:
                  - errors
                additionalProperties: false
              examples:
                default:
                  summary: Default
                  value:
                    errors:
                      - code: not_implemented
                        detail: This operation is not available.
                        status: '501'
                        meta:
                          supportId: req_a1b2c3d4e5f6
        '502':
          description: Bad Gateway
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable lower-snake-case public error code.
                        detail:
                          type: string
                          description: Safe user-facing error detail.
                        status:
                          type: string
                          description: HTTP status code as a string.
                        source:
                          type: object
                          description: Location of the invalid request value.
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer to the invalid request value.
                            parameter:
                              type: string
                              description: Name of the invalid query parameter.
                            header:
                              type: string
                              description: Name of the invalid request header.
                          additionalProperties: false
                        meta:
                          type: object
                          description: >-
                            Additional error context, including support and
                            provider details when available.
                          properties:
                            supportId:
                              type: string
                              description: Request/support ID for troubleshooting.
                            limitScope:
                              type: string
                              enum:
                                - merchant
                                - program
                              description: >-
                                Which family of acquiring limit refused the
                                payment. Thresholds and usage are never
                                disclosed.
                            connectionStatus:
                              type: string
                              enum:
                                - login_required
                                - disconnected
                              description: >-
                                External account connection state when the error
                                is repairable by relinking.
                            provider:
                              type: object
                              description: Provider error details, when available.
                              properties:
                                name:
                                  type: string
                                  enum:
                                    - plaid
                                  description: Provider that returned the underlying error.
                                errorCode:
                                  type: string
                                  description: Provider error code, when available.
                                errorType:
                                  type: string
                                  description: Provider error type, when available.
                                requestId:
                                  type: string
                                  description: Provider request ID for troubleshooting.
                              required:
                                - name
                              additionalProperties: false
                          required:
                            - supportId
                          additionalProperties: false
                      required:
                        - code
                        - detail
                        - status
                        - meta
                      additionalProperties: false
                required:
                  - errors
                additionalProperties: false
              examples:
                default:
                  summary: Default
                  value:
                    errors:
                      - code: bad_gateway
                        detail: >-
                          We couldn't complete that request because one of
                          Natural's services returned an unexpected response.
                          Please try again.
                        status: '502'
                        meta:
                          supportId: req_a1b2c3d4e5f6
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    minItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: Stable lower-snake-case public error code.
                        detail:
                          type: string
                          description: Safe user-facing error detail.
                        status:
                          type: string
                          description: HTTP status code as a string.
                        source:
                          type: object
                          description: Location of the invalid request value.
                          properties:
                            pointer:
                              type: string
                              description: JSON Pointer to the invalid request value.
                            parameter:
                              type: string
                              description: Name of the invalid query parameter.
                            header:
                              type: string
                              description: Name of the invalid request header.
                          additionalProperties: false
                        meta:
                          type: object
                          description: >-
                            Additional error context, including support and
                            provider details when available.
                          properties:
                            supportId:
                              type: string
                              description: Request/support ID for troubleshooting.
                            limitScope:
                              type: string
                              enum:
                                - merchant
                                - program
                              description: >-
                                Which family of acquiring limit refused the
                                payment. Thresholds and usage are never
                                disclosed.
                            connectionStatus:
                              type: string
                              enum:
                                - login_required
                                - disconnected
                              description: >-
                                External account connection state when the error
                                is repairable by relinking.
                            provider:
                              type: object
                              description: Provider error details, when available.
                              properties:
                                name:
                                  type: string
                                  enum:
                                    - plaid
                                  description: Provider that returned the underlying error.
                                errorCode:
                                  type: string
                                  description: Provider error code, when available.
                                errorType:
                                  type: string
                                  description: Provider error type, when available.
                                requestId:
                                  type: string
                                  description: Provider request ID for troubleshooting.
                              required:
                                - name
                              additionalProperties: false
                          required:
                            - supportId
                          additionalProperties: false
                      required:
                        - code
                        - detail
                        - status
                        - meta
                      additionalProperties: false
                required:
                  - errors
                additionalProperties: false
              examples:
                default:
                  summary: Default
                  value:
                    errors:
                      - code: service_unavailable
                        detail: The service is temporarily unavailable.
                        status: '503'
                        meta:
                          supportId: req_a1b2c3d4e5f6
      security:
        - HTTPBearer: []
components:
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
      description: >-
        Bearer authentication: send your API key, agent key, or OAuth access
        token as `Authorization: Bearer <credential>`.

````