# SignalDesk AI – OpenAPI Tools Discovery

> SignalDesk AI – OpenAPI Tools Discovery is a paid API for AI agents from x402-agent.kariguetoazul.workers.dev, paid per call via x402, $0.002/call, status unknown (last checked 2026-10-13).

Converts an OpenAPI/Swagger JSON document into a structured list of callable tool definitions (function-call schemas) for use by AI agents.

## Facts

- Endpoint: POST https://x402-agent.kariguetoazul.workers.dev/api/discovery/openapi-tools?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/signaldesk-ai-openapi-tools-discovery-d10056eb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_7zhSZnUX2NdN9Q7Nh1-_f

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability signaldesk-ai-openapi-tools-discovery-d10056eb -d '<json body>'
```

Example prompt: I have an OpenAPI JSON spec for our payment API and I need you to parse it into a list of function-call tool definitions I can hand directly to an LLM — use SignalDesk AI's discovery endpoint to convert the spec into structured agent tools.

## When to prefer this

Choose this endpoint when you need to programmatically convert an OpenAPI/Swagger JSON spec into LLM-compatible function-call tool schemas without building a parser yourself. It is particularly useful when bootstrapping AI agents that need to call arbitrary REST APIs described by OpenAPI documents. Prefer it over manual parsing when you want a fast, structured output with HTTP method and auth metadata already extracted. Not suitable if you need external $refs resolved or if you need to call the discovered tools directly (this is metadata-only).

## Known failure modes

- Invalid or malformed OpenAPI JSON input returns an error — the document must be a valid JSON object
- External $ref references in the spec are never resolved, so tools referencing external schemas may have incomplete parameter definitions
- Free quota exhaustion may result in rate limiting or blocked requests
- Bounded execution limits may cause incomplete parsing of very large OpenAPI documents
- Missing required 'document' field in request body causes failure

## How this service works

Evidence-backed autonomous AI jobs and paid data tools. Queue/D1/cron run outside the chat; free quotas and bounded execution apply.

## Output

Returns a JSON object containing an array of tool definitions, each with a type ('function'), a function object (name, description, parameters as JSON Schema), and metadata (HTTP path, method, auth requirements). Also includes flags: metadata_only (true), untrusted_metadata (true), external_refs_resolved (false), indicating no external $refs are fetched and the output should be treated as untrusted metadata.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "document": {
   "description": "OpenAPI/Swagger JSON object; external refs are never fetched."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "tools": [
   {
    "type": "function",
    "function": {
     "name": "get__things",
     "parameters": {
      "type": "object",
      "required": [],
      "properties": {
       "limit": {
        "type": "integer"
       }
      },
      "additionalProperties": false
     },
     "description": "List public things"
    },
    "metadata": {
     "path": "/things",
     "method": "GET",
     "requires_auth": false
    }
   }
  ],
  "metadata_only": true,
  "untrusted_metadata": true,
  "external_refs_resolved": false
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/signaldesk-ai-openapi-tools-discovery-d10056eb/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-agent.kariguetoazul.workers.dev](https://www.zero.xyz/host/x402-agent.kariguetoazul.workers.dev/llms.txt)
