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

# Run one direct sandbox request against the seller's API

> Sends a single request to the seller's pay host from the sandbox test wallet, with no agent in the loop, and returns the full protocol trace as JSON. With autoPay (the default), 402 challenges along the way are paid automatically, subject to the sandbox spend caps.



## OpenAPI

````yaml https://api.zeroclick.io/openapi.json post /v1/sandbox/sellers/{sellerId}/direct
openapi: 3.0.0
info:
  title: ZeroClick API
  description: >-
    REST API for managing ZeroClick sellers, services, pricing, usage, and
    analytics. Authenticate with an API key from the ZeroClick dashboard.
  version: 1.0.0
servers:
  - url: https://api.zeroclick.io
security:
  - bearerAuth: []
tags:
  - name: API keys
  - name: Sellers
  - name: Services
  - name: Meters
  - name: Plans
  - name: Plan meter prices
  - name: Usage
  - name: Analytics
  - name: Stripe Connect
  - name: Sandbox
  - name: Organizations
  - name: Users
paths:
  /v1/sandbox/sellers/{sellerId}/direct:
    post:
      tags:
        - Sandbox
      summary: Run one direct sandbox request against the seller's API
      description: >-
        Sends a single request to the seller's pay host from the sandbox test
        wallet, with no agent in the loop, and returns the full protocol trace
        as JSON. With autoPay (the default), 402 challenges along the way are
        paid automatically, subject to the sandbox spend caps.
      parameters:
        - schema:
            type: string
            minLength: 1
          in: path
          name: sellerId
          required: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                method:
                  default: GET
                  type: string
                  enum:
                    - GET
                    - POST
                    - PUT
                    - DELETE
                    - HEAD
                path:
                  type: string
                body: {}
                autoPay:
                  default: true
                  type: boolean
              required:
                - path
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  outcome:
                    type: object
                    properties:
                      status:
                        type: number
                      error:
                        type: string
                      message:
                        type: string
                      body:
                        type: string
                      truncated:
                        type: boolean
                      challenge:
                        type: object
                        additionalProperties: {}
                      settlement:
                        type: object
                        properties:
                          txHash:
                            nullable: true
                            type: string
                          explorerUrl:
                            nullable: true
                            type: string
                        required:
                          - txHash
                          - explorerUrl
                        additionalProperties: false
                    additionalProperties: {}
                  trace:
                    type: array
                    items:
                      type: object
                      properties:
                        legId:
                          type: string
                        seq:
                          type: number
                        kind:
                          type: string
                        request:
                          type: object
                          properties:
                            method:
                              type: string
                            url:
                              type: string
                            headers:
                              type: object
                              additionalProperties:
                                type: string
                          required:
                            - method
                            - url
                            - headers
                          additionalProperties: false
                        response:
                          type: object
                          properties:
                            status:
                              type: number
                            headers:
                              type: object
                              additionalProperties:
                                type: string
                            bodyPreview:
                              type: string
                            truncated:
                              type: boolean
                          required:
                            - status
                            - headers
                            - bodyPreview
                            - truncated
                          additionalProperties: false
                        challenge:
                          type: object
                          properties:
                            challengeId:
                              type: string
                            amountUsd:
                              type: string
                            network:
                              type: string
                            payTo:
                              type: string
                            asset:
                              type: string
                            planSlug:
                              type: string
                          required:
                            - challengeId
                            - amountUsd
                            - network
                            - payTo
                            - asset
                          additionalProperties: false
                        paymentSigned:
                          type: object
                          properties:
                            challengeId:
                              type: string
                            amountUsd:
                              type: string
                          required:
                            - challengeId
                            - amountUsd
                          additionalProperties: false
                        settlement:
                          type: object
                          properties:
                            txHash:
                              nullable: true
                              type: string
                            network:
                              type: string
                            explorerUrl:
                              nullable: true
                              type: string
                          required:
                            - txHash
                            - network
                            - explorerUrl
                          additionalProperties: false
                        records:
                          type: object
                          properties:
                            proxyRequest: {}
                            agentPayment: {}
                            usageEvents:
                              type: array
                              items: {}
                          additionalProperties: false
                        error:
                          type: string
                      required:
                        - legId
                        - seq
                        - kind
                      additionalProperties: false
                  wallet:
                    nullable: true
                    type: object
                    properties:
                      address:
                        type: string
                      usdcBalance:
                        type: string
                      ethBalance:
                        type: string
                    required:
                      - address
                      - usdcBalance
                      - ethBalance
                    additionalProperties: false
                  receiver:
                    nullable: true
                    type: object
                    properties:
                      address:
                        type: string
                      usdcBalance:
                        type: string
                      recentTransfers:
                        type: array
                        items:
                          type: object
                          properties:
                            txHash:
                              type: string
                            explorerUrl:
                              type: string
                            amountUsd:
                              type: string
                            from:
                              type: string
                            at:
                              nullable: true
                              type: string
                          required:
                            - txHash
                            - explorerUrl
                            - amountUsd
                            - from
                            - at
                          additionalProperties: false
                    required:
                      - address
                      - usdcBalance
                      - recentTransfers
                    additionalProperties: false
                required:
                  - outcome
                  - trace
                  - wallet
                  - receiver
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - organization_required
                      - organization_permission_required
                      - seller_not_found
                      - service_not_found
                      - meter_not_found
                      - plan_not_found
                      - plan_meter_price_not_found
                      - duplicate_slug
                      - duplicate_key
                      - duplicate_plan_meter_price
                      - signing_secret_not_found
                      - insufficient_scope
                      - payg_price_not_whole_cents
                      - custom_domain_skip_unavailable
                      - active_stateful_accounts_exist
                required:
                  - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - organization_required
                      - organization_permission_required
                      - seller_not_found
                      - service_not_found
                      - meter_not_found
                      - plan_not_found
                      - plan_meter_price_not_found
                      - duplicate_slug
                      - duplicate_key
                      - duplicate_plan_meter_price
                      - signing_secret_not_found
                      - insufficient_scope
                      - payg_price_not_whole_cents
                      - custom_domain_skip_unavailable
                      - active_stateful_accounts_exist
                required:
                  - error
                additionalProperties: false
        '409':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - sandbox_session_in_progress
                required:
                  - error
                additionalProperties: false
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - organization_required
                      - organization_permission_required
                      - seller_not_found
                      - service_not_found
                      - meter_not_found
                      - plan_not_found
                      - plan_meter_price_not_found
                      - duplicate_slug
                      - duplicate_key
                      - duplicate_plan_meter_price
                      - signing_secret_not_found
                      - insufficient_scope
                      - payg_price_not_whole_cents
                      - custom_domain_skip_unavailable
                      - active_stateful_accounts_exist
                required:
                  - error
                additionalProperties: false
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key created in the ZeroClick dashboard under Settings → API keys.
        Keys start with `zc_`. Send them as `Authorization: Bearer zc_...`.

````