Skip to main content
POST
/
api
/
v1
/
engines
/
{engine_slug}
/
versions
Publish an engine version
curl --request POST \
  --url https://api.usenexio.com/api/v1/engines/{engine_slug}/versions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "changelog": "<string>",
  "version": "<string>",
  "is_breaking_from_previous_major": true
}
'
{
  "version": "2.0",
  "released_at": "2026-06-11T18:00:00Z",
  "changelog": "v2 config: cover letter + budget review outputs.",
  "is_breaking_from_previous_major": true,
  "bump": "major",
  "reasons": [
    "output field removed: output.readiness_score"
  ]
}

Authorizations

Authorization
string
header
required

API key with environment prefix. Use nx_test_... for sandbox and nx_live_... for production. Obtain keys at platform.usenexio.com/settings/api-keys.

Path Parameters

engine_slug
string
required

Engine identifier slug (e.g. default).

Body

application/json
changelog
string

Human-readable summary recorded on the version row.

version
string

Accepted for compatibility; the platform mints the version.

is_breaking_from_previous_major
boolean

Accepted for compatibility; the schema comparator decides.

Response

The released version: freshly minted, or the existing latest release (already_released: true) when the saved config is already released.

version
string
required

Two-tier major.minor identifier (e.g. 1.0, 1.3, 2.0).

Pattern: ^\d+\.\d+$
released_at
string<date-time>
required

When the version row was created.

changelog
string
required

Operator-supplied human-readable summary of what changed.

is_breaking_from_previous_major
boolean
required

True only when this is a *.0 row AND a prior major ((major-1).*) also exists for the same engine. The first-ever release of an engine reports false.

published_by
string

Actor recorded at publish: a dashboard user ID for dashboard publishes, api_key:<id> for API publishes. Omitted on backfilled rows with no recorded actor.

already_released
boolean

Present and true on the idempotent no-op.

bump
enum<string>

Comparator verdict for a fresh publish.

Available options:
major,
minor
reasons
string[]

Breaking-change reasons when bump is major.