Skip to content

service-api reference

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 & pathPurpose
GET /v1/projects/{projectId}/flowsList flows in a project.
POST /v1/projects/{projectId}/flowsCreate 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}/versionsList a flow’s versions.
POST /v1/flows/{flowId}/versionsSave 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}/activateActivate a version — runtime picks it up on the next call.
Method & pathPurpose
GET /v1/projects/{projectId}/phone-numbersList phone numbers.
POST /v1/projects/{projectId}/phone-numbersAllocate/register a phone number.
PATCH /v1/phone-numbers/{phoneNumberId}/flowReassign a number to a different flow.
GET /v1/projects/{projectId}/agent-profilesList agent profiles.
GET /v1/agent-profiles/{agentProfileId}Get a profile.
PUT /v1/agent-profiles/{agentProfileId}Update a profile.
Method & pathPurpose
GET /v1/projects/{projectId}/usageProject usage timeseries.
GET /v1/orgs/{orgId}/usageOrganization usage rollup.
Method & pathPurpose
POST /v1/partner/customersCreate a managed customer organization.
GET /v1/partnerPartner profile, referral code, commission summary.
Method & pathPurpose
GET /v1/templatesList templates.
POST /v1/templatesCreate a template.
GET /v1/templates/{templateId}Get a template.
GET /v1/templates/{templateId}/versionsList template versions.
POST /v1/templates/{templateId}/versionsSave a template version (payload with {{field}} placeholders, fieldsSchema).
POST /v1/template-versions/{versionId}/publishPublish a version.
GET /v1/templates/{templateId}/instancesList instances of a template.
POST /v1/templates/{templateId}/instancesCreate (materialize) an instance — field values + target tenant org.
GET /v1/instances/{instanceId}Get an instance.
POST /v1/instances/{instanceId}/upgradeUpgrade an instance to a newer published template version.
Method & pathPurpose
GET / POST / DELETE /mcpStreamable 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.