Generated from the live spec at https://service.v2.nairon.xyz/docs/json (version 0.2.0 at time
of writing). Full machine-readable spec:
service-api.openapi.json.
Authorization: Bearer nrn_sk_... or x-api-key: nrn_sk_.... Only secret keys are accepted —
service-api rejects publishable keys on every route. /internal/* routes use a separate internal
service token issued to management-ui and are not part of the public developer surface.
| Method & path | Purpose |
|---|
GET /v1/projects/{projectId}/flows | List flows in a project. |
POST /v1/projects/{projectId}/flows | Create a flow. |
GET /v1/flows/{flowId} | Get a flow. |
PATCH /v1/flows/{flowId} | Update flow metadata. |
DELETE /v1/flows/{flowId} | Delete a flow. |
GET /v1/flows/{flowId}/versions | List a flow’s versions. |
POST /v1/flows/{flowId}/versions | Save a new flow version (body is a flowSchema). |
GET /v1/flow-versions/{versionId} | Get a version. |
PATCH /v1/flow-versions/{versionId} | Update a version (before activation). |
DELETE /v1/flow-versions/{versionId} | Delete a version. |
POST /v1/flow-versions/{versionId}/activate | Activate a version — runtime picks it up on the next call. |
| Method & path | Purpose |
|---|
GET /v1/projects/{projectId}/phone-numbers | List phone numbers. |
POST /v1/projects/{projectId}/phone-numbers | Allocate/register a phone number. |
PATCH /v1/phone-numbers/{phoneNumberId}/flow | Reassign a number to a different flow. |
GET /v1/projects/{projectId}/agent-profiles | List agent profiles. |
GET /v1/agent-profiles/{agentProfileId} | Get a profile. |
PUT /v1/agent-profiles/{agentProfileId} | Update a profile. |
| Method & path | Purpose |
|---|
GET /v1/projects/{projectId}/usage | Project usage timeseries. |
GET /v1/orgs/{orgId}/usage | Organization usage rollup. |
| Method & path | Purpose |
|---|
POST /v1/partner/customers | Create a managed customer organization. |
GET /v1/partner | Partner profile, referral code, commission summary. |
| Method & path | Purpose |
|---|
GET /v1/templates | List templates. |
POST /v1/templates | Create a template. |
GET /v1/templates/{templateId} | Get a template. |
GET /v1/templates/{templateId}/versions | List template versions. |
POST /v1/templates/{templateId}/versions | Save a template version (payload with {{field}} placeholders, fieldsSchema). |
POST /v1/template-versions/{versionId}/publish | Publish a version. |
GET /v1/templates/{templateId}/instances | List instances of a template. |
POST /v1/templates/{templateId}/instances | Create (materialize) an instance — field values + target tenant org. |
GET /v1/instances/{instanceId} | Get an instance. |
POST /v1/instances/{instanceId}/upgrade | Upgrade an instance to a newer published template version. |
| Method & path | Purpose |
|---|
GET / POST / DELETE /mcp | Streamable HTTP MCP transport. See MCP. |
GET/POST /internal/projects/{projectId}/api-keys, DELETE /internal/projects/{projectId}/api-keys/{apiKeyId}, GET /internal/projects/{projectId}/usage, GET /internal/orgs/{orgId}/usage — power the
platform.v2.nairon.xyz console; authenticated with an internal service token, not a customer API
key.
GET /healthz — liveness check.