Skip to main content
POST

Overview

Runs a tool that needs no credential, with no account. This is what the try-it control on a public tool page calls. The run is recorded under a shared public identity rather than any account, and the result is stored so it can be shared at run_url. Auth: None.

Eligibility

The tool must pass every check below, or the response is 403:
  • Its service is public.
  • Its service declares no credential schema.
  • It is not deprecated.
  • It is not a Danube-hosted AI tool.
  • It is not paid, by per-call price or by x402 pricing.
An unknown tool or service returns 404.

Limits

The body options of Call Tool (fields, max_response_chars, timeout_seconds, confirm_token) are not read here.

Path Parameters

string
required
The tool UUID or slug

Body Parameters

object
Input parameters for the tool. When the body has no tool_input key, the whole body is taken as the input.

Response

The same execution envelope as Call Tool (status, result, error, execution_time, error_type, fault, retryable, truncated, redaction and the rest), plus two fields:
string
Handle for the stored run
string
/tools/public/runs/{execution_id}. The stored run is readable without auth at GET /v1/tools/public/runs/{execution_id}, which returns execution_id, tool_id, tool_name, tool_slug, service_id, service_name, service_slug, service_logo, status, executed_at, execution_time, error, request_params, result and truncated. Only runs made through this endpoint are readable there.

Example

The Python and TypeScript SDKs do not wrap this endpoint, and it is not an MCP tool. Signed-in callers use Call Tool.