Skip to main content
PATCH
Update Engine

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 /records, /actions, /operations, /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.

Path Parameters

engine_slug
string
required

Engine identifier slug (e.g. default).

Body

application/json

At least one of label, description, status or group_key must be present with a non-null value. Unknown fields are ignored.

label
string

Updated engine name, 1 to 100 UTF-8 bytes.

Minimum string length: 1
description
string

Updated description, at most 500 UTF-8 bytes.

status
enum<string>

Set to archived to refuse run submission, configuration saves, publishing and the version reads.

Available options:
active,
archived
group_key
string

At most 100 UTF-8 bytes. Key of the engine's semantic group. Empty string clears the group. The key is a soft reference: it is accepted whether or not a matching group exists.

Response

Updated engine metadata.

Engine metadata returned by management endpoints.

id
string
required

Engine identifier.

slug
string
required

URL-safe engine slug, unique within the organization.

label
string
required

Human-readable engine name.

description
string
required

Optional engine description.

engine_type
enum<string>
required

Engine type, one entry of the registry Nexio ships (see Engine types). comparison ranks alternatives supplied in the request. matching discovers, qualifies and ranks candidates from connected data. entity_analysis assesses one subject against requirements; with a declared output contract it is a declared-contract engine (see Declared-contract engines). diligence verifies a claimed event against live web sources. triage classifies and ranks a whole population in one request. opportunity runs over a connected system of record on the cadence its configuration sets rather than per request.

converse and property_risk are retired: they cannot be created, and a run against an engine that still carries one returns invalid_engine_type. They remain in this response enum because older engine rows are still readable.

Available options:
comparison,
matching,
entity_analysis,
diligence,
triage,
opportunity,
converse,
property_risk
status
enum<string>
required

Engine status. An archived engine answers 403 engine_archived on run submission, configuration saves, publishing and the version reads.

Available options:
active,
archived
group_key
string
required

Key of the engine's semantic group within the organization, or an empty string when ungrouped. Groups label what an engine serves and carry handling guidance in their description; they never gate any operation.

created_at
string<date-time>
required

RFC 3339 creation timestamp.

updated_at
string<date-time>
required

RFC 3339 last-update timestamp.

Last modified on September 25, 2026