For AI agents, machine-readable by default.
ServiceBox APIs is designed machine-readable first: every API publishes an OpenAPI 3.1 spec at a stable URL, every docs page is also served as Markdown, and the whole catalog connects as one MCP server.
Claude, ChatGPT and agent frameworks call the whole catalog as native tools with a single line of config. Every tool call is metered exactly like the same REST call.
{
"mcpServers": {
"servicebox-apis": {
"url": "https://mcp.servicebox.io/mcp",
"headers": { "Authorization": "Bearer sbx_live_…" }
}
}
}The gateway's root llms.txt points to every API; each API's docs are also served as plain Markdown at /docs/<api>.md.
GET https://api.servicebox.io/llms.txt# ServiceBox APIs
> Turkish data APIs behind one API key: REST over HTTPS with Bearer auth, pay-per-call credits, Markdown docs and an OpenAPI document for every API and programmatic signup for agents.
## APIs
- [Pharmacy on duty (SBX-ECZ)](https://api.servicebox.io/docs/pharmacy.md): OpenAPI: https://api.servicebox.io/v1/pharmacy/openapi.jsonAgents ingest endpoints and parameters straight from the spec — no scraping, no guessing.
GET https://api.servicebox.io/v1/pharmacy/openapi.json- ✓Plain bearer key or ?apikey= param — no OAuth dance
- ✓Agents mint scoped, short-lived keys via the API: POST /v1/keys/ephemeral
- ✓429 and 402 responses state limits and upgrade paths machine-readably
- ✓Programmatic signup, no CAPTCHA: POST /v1/accounts
An agent asks for an account with an email address and the APIs it needs. The mailbox owner approves it with one click, and the agent's next poll returns a 7-day key scoped to those APIs.
# 1. Ask for an account — the mailbox owner approves it by email
curl -X POST https://api.servicebox.io/v1/accounts \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","apis":["pharmacy"],"agent_name":"my-agent"}'
# → 202 {"signup_id":"…","poll_token":"sbx_poll_…","poll_url":"…","retry_after":5}
# 2. Poll until approved → 200 {"api_key":"sbx_live_…","expires_at":"…"}
curl https://api.servicebox.io/v1/accounts/<signup_id> \
-H "Authorization: Bearer sbx_poll_…"
# 3. Mint a short-lived key for a sub-agent → 201 {"api_key":"sbx_live_…"}
curl -X POST https://api.servicebox.io/v1/keys/ephemeral \
-H "Authorization: Bearer sbx_live_…" \
-H "Content-Type: application/json" \
-d '{"ttl_seconds":3600,"apis":["pharmacy"]}'