Requires an Idempotency-Key. A replay of the same key with the same body returns the
original agent (201) before any catalog or connection check runs; the same key with a
different body is 409 IDEMPOTENCY_CONFLICT. Validation failures are 422 (not 400)
with a code and per-field fields; the first failing check wins, except catalog support,
which reports every unsupported field at once under UNSUPPORTED_PROFILE.
Authenticate with a signed-in session token (an API key cannot call this route).
Path parameters
The org's slug or id. A caller with no role in the org gets 404.
Headers
1–128 characters after trimming.
Request body
Trimmed.
Trimmed and lowercased before matching; unique per caller.
At most 16 KiB of UTF-8, no NUL.
Launch-boundary managed harnesses.
claudecodexopencodeMust equal the current catalog_revision from GET /o/{org}/agents/available.
1 fields
Omitted model/effort take the harness's workhorse suggested setup; speed defaults to standard (fast is refused today).
3 fields
2 fields
A model id the harness lists in GET /o/{org}/agents/available.
standardfastEach must be one of the caller's own usable connections.
2 item fields
oauthmcpMissing keys are false; values are coerced to boolean.
2 fields
1 fields
1 fields
Only catalog_id is read; the version is locked from the catalog at save.
1 item fields
2 fields
Responses
201Saved (or replayed) agent.
Launch-boundary managed harnesses.
claudecodexopencodeThe desired configuration stored with one revision.
10 fields
Launch-boundary managed harnesses.
claudecodexopencode1 fields
3 fields
2 fields
A model id the harness lists in GET /o/{org}/agents/available.
standardfast2 item fields
oauthmcp2 fields
1 fields
1 fields
1 item fields
What the config resolved to against the catalog when this revision was saved.
9 fields
standardfast3 item fields
400Missing or over-long Idempotency-Key (IDEMPOTENCY_KEY_REQUIRED).
A sentence for a person.
Stable machine code, e.g. AUTH_FAILED, NOT_FOUND, VALIDATION_ERROR, RATE_LIMITED, PLAN_REQUIRED.
The machine code on routes that name it this way.
401No bearer, an unknown, revoked or expired one, or an API key on a route keys cannot call.
A sentence for a person.
Stable machine code, e.g. AUTH_FAILED, NOT_FOUND, VALIDATION_ERROR, RATE_LIMITED, PLAN_REQUIRED.
The machine code on routes that name it this way.
404Org not found, or source.profile_id/source.revision is not one of the caller's agents (SOURCE_NOT_FOUND).
A sentence for a person.
Stable machine code, e.g. AUTH_FAILED, NOT_FOUND, VALIDATION_ERROR, RATE_LIMITED, PLAN_REQUIRED.
The machine code on routes that name it this way.
409IDEMPOTENCY_CONFLICT (key reused with a different body) or HANDLE_TAKEN (the caller already has an agent with this handle).
A sentence for a person.
Stable machine code, e.g. AUTH_FAILED, NOT_FOUND, VALIDATION_ERROR, RATE_LIMITED, PLAN_REQUIRED.
The machine code on routes that name it this way.
422Body refused.
Body refused. code is one of INVALID_BODY, INVALID_NAME, INVALID_HANDLE,
INVALID_DESCRIPTION, INVALID_HARNESS, INVALID_CATALOG, CATALOG_REFRESH_REQUIRED
(catalog_revision is not the current one), INVALID_INSTRUCTIONS, INVALID_RUNTIME,
INVALID_TOOLS, INVALID_NETWORK, INVALID_CONNECTION_REFS, INVALID_SOURCE,
INVALID_MODEL, INVALID_EFFORT, INVALID_SPEED, INVALID_PLUGINS,
UNSUPPORTED_PROFILE (field codes such as UNKNOWN_MODEL, SPEED_NOT_QUALIFIED,
NETWORK_ENFORCEMENT_NOT_QUALIFIED, UNKNOWN_PLUGIN), or CONNECTION_NOT_OWNED.
A sentence for a person.
Stable machine code, e.g. AUTH_FAILED, NOT_FOUND, VALIDATION_ERROR, RATE_LIMITED, PLAN_REQUIRED.
The machine code on routes that name it this way.
500INTERNAL_ERROR.
A sentence for a person.
Stable machine code, e.g. AUTH_FAILED, NOT_FOUND, VALIDATION_ERROR, RATE_LIMITED, PLAN_REQUIRED.
The machine code on routes that name it this way.