Current

API on Node: the origin and the thin Worker

How the Doxa API splits into a thin edge Worker and a Node origin, and what that means for you

What this page covers

The Doxa API at api.doxa.so serves the dashboard, the REST API, and the sign-in endpoints that MCP clients use. Since 2026-10-24, the API runs in production as two parts: a thin edge Worker that receives every public request, and a Node origin that runs the Doxa API application. You do not need to configure either part. This page explains the split so you know where your requests go and what stays the same.

The two parts

PartRole
Edge Worker (doxa-api)Receives requests for api.doxa.so and forwards them to the origin. It also sends the five-minute scheduled tick that the platform uses for background work.
Node originRuns the Doxa API application, which handles project, generation, publishing, and OAuth requests.
Private bridgeA signed channel that lets the origin call back into the edge for queues, email, and docs cache updates. It is not exposed to the internet.

Clients always use the same public address. The edge Worker is the only entry point.

How a request is routed

  1. A client, such as the dashboard or an MCP client, sends a request to https://api.doxa.so.

  2. The edge Worker forwards the request to the origin over a private network path.

  3. The origin handles the request and returns the response through the edge Worker.

The origin has no public hostname and does not accept connections from the internet. Only the edge Worker can reach it.

What this means for you

  • The base URL does not change. Use https://api.doxa.so for REST API calls and for MCP sign-in. See the REST API reference for endpoints.

  • Sign-in and OAuth work the same way. An MCP client still discovers the server through the OAuth metadata endpoint and completes the consent flow in the dashboard. See Connect an AI Agent with MCP.

  • Background work needs no action from you. Generation progress, email notifications, and docs cache updates run through the platform. Generations started from the dashboard or from a connected agent follow the same steps as before.

Self-hosting is not a supported path:

Doxa is a hosted platform. The repository does not provide a supported way to run your own copy of the API or the edge Worker. For background, see Running your own production.