Skip to main content
POST
Create a Conversation instance

Authorizations

Authorization
string
header
required

Send the key as Authorization: Bearer <key>. Two kinds of key exist.

Organization keys are issued in the portal (Settings, then API keys), each bound to one environment, shaped nx_<environment slug>_<64 hex>. They carry no capabilities and pass every capability check, with one exception: routes under /api/v1/records, /api/v1/engines/{id}/opportunities, /api/v1/graph and /api/v1/catalog/documents accept an organization key only when its environment is live, and refuse any other with 403 scoped_key_required. Revocation takes effect within 60 seconds.

Scoped keys are issued by Nexio on request, shaped nxsk_v1_<24 hex key id>_<43 character secret>. Each is bound to one org, one environment, a set of engines and a set of capabilities. A malformed, unknown or revoked nxsk_ key fails with 401 and is never retried as an organization key. Revocation takes effect on the next request. A scoped key without a route's capability gets 403 insufficient_capability; a scoped key not bound to the engine gets 403 engine_binding_forbidden.

Key-grantable capabilities: engines:read, runs:write, runs:read, runs:defensibility:read, runs:test, catalog:read, catalog:documents:read, webhooks:manage, conversations:use, conversations:export, records:read, records:opportunities:run, actions:write, actions:read, graph:read, records:analyze.

Routes that accept organization keys only (every scoped key gets 403 insufficient_capability): environment management, engine create, update, configuration and publish, and conversation instance authoring. Each operation description names the capability a scoped key needs.

Body

application/json
slug
string
required
Required string length: 3 - 50
Pattern: ^[a-z0-9][a-z0-9-]*[a-z0-9]$
label
string
required

1 to 100 UTF-8 bytes.

Minimum string length: 1
description
string

At most 500 UTF-8 bytes.

config
object

Full instance config; defaults applied when omitted.

Response

The created instance.

A Conversation instance: the configured object of the Conversations family, an orchestrator over engines. Its versioned config declares the engine access allowlist and data sources alongside model policy, tools, guardrails, evals, and retention. managed_by records who governs the instance (org or platform); follows_canonical marks a platform-managed follower whose effective config resolves from the platform-managed instance it follows (followers expose no local config).

id
string<uuid>
required
slug
string
required
label
string
required
description
string
required
status
enum<string>
required
Available options:
active,
archived
group_key
string
required

Key of the instance's semantic group within the organization, or an empty string when ungrouped. Same semantics as the engine group_key.

managed_by
enum<string>
required
Available options:
org,
platform
follows_canonical
boolean
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
config
object

The live draft config; omitted on listings and for followers.

config_hash
string

Content hash of the live draft config. Omitted on listings and for followers, like config.

Last modified on September 25, 2026