REST Endpoints
Inklura exposes a REST bridge at /api/v1/<router>/<procedure>, generated from the tRPC
routers via trpc-to-openapi. It is partial and experimental — most of the API is
only reachable over tRPC.
The REST bridge is not a complete mirror of the API. Build against tRPC, which is the canonical surface. Reach for REST only for the few procedures listed below, and expect coverage to change.
The /api/v1 bridge
A tRPC procedure appears under /api/v1 only if it is annotated with OpenAPI metadata.
Today that annotation exists on just a few users and products operations — so those are
the only procedures currently reachable over REST. Everything else must go through tRPC.
GET https://manage.inklura.fr/api/v1/<router>/<procedure>
Authentication is the same as the rest of the API — a Bearer JWT plus optional tenant/site
scope headers (see Sessions & Tokens). The OpenAPI specs advertise
bearerAuth together with X-Tenant-ID / X-Site-ID.
The generated OpenAPI specifications are stale — the current set is dated 2026-05-18.
Do not treat a spec as an authoritative list of what is live; verify against the actual
endpoint.
OpenAPI portals
The bridge publishes several OpenAPI portals, scoped by audience:
| Portal | Audience |
|---|---|
| public | General/public consumers |
| partner | Partner integrations |
| admin | Administrative operations |
| internal | Internal use |
| permissions | Permission-related surface |
Because the specs are stale and coverage is partial, use the portals for orientation only.
Separate hand-written REST
Two REST surfaces are not part of the /api/v1 tRPC bridge and are documented
elsewhere:
/api/auth/*— the authentication endpoints (OIDC login/callback, invite acceptance, and related flows). See Authentication./api/webhooks/*— inbound webhooks from payment, email, and commerce providers. See Webhooks.
These are hand-written routes with their own contracts, independent of the tRPC-to-OpenAPI generator.
Recommendation
For any new integration, use tRPC. It covers all ~350 routers and ~6,567 procedures; the REST bridge covers only a small, annotated subset and its specs lag behind the code.