Skip to main content
The Ithaca REST API is the HTTP surface for the web UI, integrations, and direct scripting. The MCP server calls the same underlying services — the REST API is not a separate codebase.

Base URL

All endpoints are rooted at /api. In production the API is served from https://app.tradeithaca.com/api. In local development it is served from http://localhost:8000/api.

Authentication

Two authentication modes are supported. See Auth overview for the full model.
The X-Tenant-Id dev header is only accepted when the server is running in development mode. In production it is ignored. Never rely on it for real traffic.

Tenant isolation

Every authenticated request resolves to a tenant_id. Every query is scoped by it. There is no unscoped read path. See Tenant isolation.

Response format

All successful responses are JSON with a 200 or 201 status. List endpoints return an object with a plural key:
Single-resource endpoints return the resource directly:

Error format

Errors are JSON with a consistent shape:

Endpoint catalog

Auth

→ Auth endpoints

Sessions

→ Session endpoints

Runs

→ Run endpoints

Events & SSE

→ Events & SSE

Strategies

→ Strategy endpoints

Approvals

→ Approval endpoints

Providers

→ Provider endpoints

Triggers

→ Trigger endpoints