---
title: "POST /v1/x402-endpoints/probe"
method: POST
path: "/v1/x402-endpoints/probe"
---

# POST /v1/x402-endpoints/probe

`POST /v1/x402-endpoints/probe`

Probe an x402 endpoint to get its payment requirements

## Request body

- union
  - object
  - ProbeX402EndpointParams
    - `body` string — Optional body to send with the probe request. Some endpoints require valid input before returning 402.
    - `method` 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' — Optional HTTP method to use. If not specified, tries POST then GET. Valid values: GET, POST, PUT, PATCH, DELETE
    - `resourceUrl` string, required

## Response `200`

OK

- ProbeX402EndpointSuccessResponse
  - `code` integer
  - `data` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityX402EndpointProbeResult
    - `accepts` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityX402PaymentOption[] — Full accepts array for reference
      - `asset` string
      - `description` string
      - `extra` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityX402PaymentExtra
        - `chainId` integer — ChainID is the chain ID for EIP-712 domain (from quote)
        - `facilitatorAddress` string — FacilitatorAddress is the facilitator's address that will be approved as spender
        - `name` string — Name is the ERC20 token name (used in EIP-712 domain)
        - `signatureType` string — SignatureType specifies the signature method: "authorization" (EIP-3009) or "permit" (ERC-2612)
        - `verifyingContract` string — VerifyingContract is the token contract address for EIP-712 domain (from quote)
        - `version` string — Version is the ERC20 token version (used in EIP-712 domain)
      - `maxAmountRequired` string
      - `maxTimeoutSeconds` integer
      - `mimeType` string
      - `network` string
      - `outputSchema` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityX402OutputSchema — OutputSchema for discovery registration (matches TypeScript SDK format)
        - `discoveryOutput` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityX402DiscoverySchema
          - `example` unknown
          - `schema` object — Schema is a JSON Schema definition for validation
        - `input` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityX402OutputSchemaInput
          - `body` object — Body contains JSON Schema for body parameters (used by some x402 providers)
          - `bodyFields` object — BodyFields contains body field definitions in alternative CDP format
          - `bodyParams` object — BodyParams contains body param definitions in CDP format
          - `discoverable` boolean
          - `discoveryInput` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityX402DiscoverySchema
            - `example` unknown
            - `schema` object — Schema is a JSON Schema definition for validation
          - `method` string
          - `query` object — Query contains JSON Schema for query parameters (used by some x402 providers)
          - `queryParams` object — QueryParams contains query param definitions in CDP format
          - `type` string
        - `metadata` GithubComB3FunB3MonoServicesB3osWorkflowInternalPkgEntityX402DiscoveryMetadata
          - `category` string — Category groups workflows (e.g., "data", "automation", "ai")
          - `description` string — Description provides details about what the workflow does
          - `documentation` string — Documentation URL for additional documentation
          - `logo` string — Logo URL for the workflow/provider logo
          - `name` string — Name is the display name for the workflow
          - `provider` string — Provider is the name of the entity providing this workflow
          - `tags` string[] — Tags for searchable keywords
        - `output` unknown
      - `payTo` string
      - `resource` string
      - `scheme` string
      - `srcAmountRequired` string
      - `srcNetwork` string
      - `srcTokenAddress` string — Cross-token payment fields (set when buyer uses X-PREFERRED-TOKEN)
    - `baseUrl` string — === PARSED FROM URL ===
    - `bodyParams` object
    - `description` string
    - `detectedParams` object — Query params found in URL
    - `error` string — Error message if probe failed
    - `headerParams` object
    - `method` string — === OPTIONAL (from 402 response) ===
    - `mimeType` string
    - `network` string
    - `outputSchema` object
    - `payTo` string
    - `price` string — === ALWAYS AVAILABLE (core protocol) ===
    - `queryParams` object — === EXTRACTED FROM outputSchema (normalized) ===
    - `success` boolean — Whether the probe succeeded
    - `tokenAddress` string
    - `tokenDecimals` integer
    - `tokenName` string
    - `tokenSymbol` string
  - `message` string
  - `requestId` string

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.net/b3-fun/apis/b3os-workflow-api.md) · [All operations](https://skmtc.net/b3-fun/apis/b3os-workflow-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/b3-fun/b3os-workflow-api/revisions/5a750a5a9596/schema)
