API Docs Generator
Write Markdown API documentation from an OpenAPI spec or a description, with parameters, examples and error codes.
api-docs-generate Example
{
"endpoint_description": "This is a test input for automated capability testing."
} {
"markdown": "# API Documentation\n\n## Description\n\nThis is a test input for automated capability testing.\n\n## Authentication\n\nNo authentication is currently configured for this API.\n\n## Endpoints\n\nNo endpoints have been specified in the provided specification.\n\n## Parameters\n\nNo parameters are defined.\n\n## Request Example\n\n```\nNo examples available\n```\n\n## Response Example\n\n```\nNo examples available\n```\n\n## Error Codes\n\nNo error codes are documented.",
"source_type": "natural_language",
"total_endpoints": 0,
"authentication_type": "none",
"endpoints_documented": []
} Inputs
| Field | Type | Required | What it is |
|---|---|---|---|
openapi_spec | string | No | — |
endpoint_description | string | No | — |
Output fields
How reliably each field appears in a successful answer.
| Field | Type | Appears |
|---|---|---|
markdown | string | Always (present in every successful answer) |
total_endpoints | integer | Always (present in every successful answer) |
endpoints_documented | array | Always (present in every successful answer) |
How to call it
The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.
# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
-H "Authorization: Bearer $STRALE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"capability_slug": "api-docs-generate",
"inputs": {
"endpoint_description": "This is a test input for automated capability testing."
},
"max_price_cents": 20
}' {
"tool": "strale_execute",
"arguments": {
"slug": "api-docs-generate",
"inputs": {
"endpoint_description": "This is a test input for automated capability testing."
},
"max_price_cents": 20
}
} import { Strale } from "straleio";
const strale = new Strale({ apiKey: process.env.STRALE_API_KEY! });
const result = await strale.do({
capability_slug: "api-docs-generate",
inputs: {
"endpoint_description": "This is a test input for automated capability testing."
},
max_price_cents: 20,
}); import os
from straleio import Strale, DoRequest
strale = Strale(api_key=os.environ["STRALE_API_KEY"])
result = strale.do(DoRequest(
capability_slug="api-docs-generate",
inputs={
"endpoint_description": "This is a test input for automated capability testing.",
},
max_price_cents=20,
)) # No account. The first request answers 402 with the price in USDC;
# an x402 client pays it from your wallet and repeats the request.
curl -i 'https://api.strale.io/x402/v2/api-docs-generate?endpoint_description=This+is+a+test+input+for+automated+capability+testing.' Limitations
Undocumented API behaviour is not inferred
Generated documentation reflects the provided API spec — undocumented behaviour and edge cases are not inferred
What to do instead: Review generated docs against actual API behaviour and add examples for complex endpoints
Output size cap per call
Structured output is limited to about 2000 output tokens per call; requests exceeding this limit are refused rather than returned truncated. Requests with large results can exceed this limit, and repeating the same request does not help.
What to do instead: Provide a smaller spec or split it into fewer endpoints per call
Bundled checks that include it
- API Quality Check €0.50
Related tools
- Agent Trace Analysis €0.20
- API Mock Responses €0.05
- Changelog Generator €0.03
- Code Converter €0.05
- Commit Message Generator €0.05
- Context Window Optimiser €0.03