Skip to main content
POST
Create Engine

Authorizations

Authorization
string
header
required

Send the credential as Authorization: Bearer <key>.

Scoped partner credentials use the exclusive nxsk_v1_... namespace. Each scoped key is bound at issuance to one organization, one canonical named environment, an explicit engine set, and a least-privilege capability set. A malformed, unknown, rotated, or revoked nxsk_ key fails closed and is never retried as a legacy key.

Capabilities used by this API are runs:write, runs:read, engines:read, catalog:read, webhooks:manage, runs:defensibility:read, runs:test, conversations:use, and conversations:export. Operation descriptions name the required capability. Grandfathered nx_live_... and nx_test_... keys retain their existing broad access during the compatibility window.

Body

application/json
slug
string
required

URL-safe identifier. 3–50 lowercase alphanumeric characters and hyphens. Must start and end with an alphanumeric character.

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

Human-readable engine name.

Required string length: 1 - 100
engine_type
enum<string>
required

Engine type determines the config schema and pipeline behavior. This is the creatable set. Any other value is rejected with invalid_engine_type; the response enums are wider because retired types remain readable on existing rows.

Available options:
placement,
entity_analysis,
diligence
description
string

Optional engine description.

Maximum string length: 500

Response

Engine created with default configuration.

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. placement engines rank provider offerings into optimal solutions. entity_analysis engines evaluate a subject against requirements and find gaps. An entity_analysis engine whose released config declares an output contract runs in deterministic contract mode, which is how the property-risk preset ships (see Property risk engine). diligence engines verify a claimed event (location, date, what happened) and return a sourced verdict with an evidence chain.

converse and property_risk are retired: they cannot be created, and submitting a run against an engine that still carries one returns invalid_engine_type. They stay in this response enum because engine rows created before their retirement are still readable, so a client decoding a list or get response must tolerate them.

Available options:
placement,
entity_analysis,
diligence,
converse,
property_risk
status
enum<string>
required

Engine status. Archived engines cannot have their config updated.

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.