Jadpo is experimental and not ready for production. These docs follow the compiler's main branch as of 30 Oct 2026. What's built · Install 0.1.0
jadpo
Reference: HTTP

HTTP

APIs and versions

Most apps have one API. With nothing declared, there is one API, main, at /.

An app with several audiences, such as its own clients, an admin team, partners and webhooks, declares its APIs in app.jadpo, as it declares stores:

example
// app.jadpoapplication {    apis: {        main: {            prefix: /v1            authentication: [AuthenticationMethod.browser_session, AuthenticationMethod.api_token]        }        admin: {            prefix: /admin        }        webhooks: {            prefix: /webhooks        }    }}// domains/ordering/routes/admin_orders.jadporoutes AdminOrders {    prefix: /admin/orders    api: admin    ...}

A route group names its API with api:, and is in main when it says nothing. Its prefix starts with its API's.

Each API has its own OpenAPI document, its own record and its own default sign-in. Its entry lists the sign-in methods it accepts: here, a browser session or an API token for main. A route group or a route can accept fewer of them, but never add one (Apps with more than one API). Each API serves its OpenAPI document at <prefix>/openapi.json, unless its entry says serve_openapi: false (OpenAPI).

A new major version

A new major version is another API, v2: { prefix: /v2 }. Declare one only when a breaking change must live beside the old version. When you delete v1, the compiler reports every group and type left unused.

Markdown for agents: /docs/apis-and-versions.md.Built from Jadpo main at a707efb.