API
All routes require a Bearer token and the four CPET headers. The dispatch routes resolve :name in the tenant’s integration registry and reject an unknown or inactive integration.
Catalog
Section titled “Catalog”| Method | Path | Purpose |
|---|---|---|
| GET | /list | The tenant’s integrations → {"integrations": { "<name>": {…}, … }} |
Connector proxy
Section titled “Connector proxy”| Method | Path | Purpose |
|---|---|---|
| GET / POST / PUT / DELETE / PATCH | /integration/:name/bff/*proxy | Run a connector. The path after /bff is matched against the connector’s path; query params and the JSON or multipart body feed the connector’s request templates. Returns the composed, transformed response |
A connector defined with path: /crm/contacts is reached at GET /integration/hubspot/bff/crm/contacts.
Dispatch
Section titled “Dispatch”| Method | Path | Purpose |
|---|---|---|
| POST | /integration/:name/notification/:template | Send one of the integration’s notification templates through the Notifications block. Body is the notification payload |
| POST | /integration/:name/workflow/:workflow | Start one of the integration’s Workflows. Body is the workflow input |
Entity data surfaces
Section titled “Entity data surfaces”The integration’s entities are served through the standard data surfaces over the tenant’s datastore:
GET/POST /rest/:entity,GET/PUT/PATCH/DELETE /rest/:entity/id/:id,POST /rest/:entity/searchGET /schema,/schema/entities/:entity, plus the OpenAPI/JSON-Schema/Zod/CUE exports/admin/data/*migration plane (apply, retention, and locks require superadmin) and the/superadmin/tenant/*cross-tenant mirror
Health
Section titled “Health”GET /health, GET /ready — unauthenticated.