API reference
12 operations in agent-platform. Raw spec: openapi.json.
GET
/api/v1/agent-proposalsGET /api/agent-proposals — cursor-paged listing, newest first.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
status | query | — | No | Filter by lifecycle state. |
cursor | query | — | No | Opaque keyset cursor from a previous page's `next_cursor`. |
limit | query | — | No | Page size, clamped to [1, 200]. |
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
POST
/api/v1/agent-proposalsPOST /api/agent-proposals — file a proposal (IF8). Accepts human-JWT callers for administrative simulation, but the API-key/machine path is the intended caller: the machine principal's key id becomes the agent_ref when none is supplied. The dial position is captured from the capability's grant row at creation time.
Request body
CreateProposalRequest
Responses
| Status | Description |
|---|---|
200 | |
403 | capability not granted (deny-by-default) |
422 | validation failed |
Security: bearer
GET
/api/v1/agent-proposals/{id}GET /api/agent-proposals/{id}.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Responses
| Status | Description |
|---|---|
200 | |
404 |
Security: bearer
POST
/api/v1/agent-proposals/{id}/approvePOST /api/agent-proposals/{id}/approve — decide FOR. Approved ticket update proposals apply immediately through the IF1 instant-first path in the SAME transaction (idempotency-keyed, version-gated, write-trail row — stays undoable); other entity/op combinations stay approved- pending until the write-execution lanes widen application.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Request body
DecideProposalRequest
Responses
| Status | Description |
|---|---|
200 | |
403 | not a permitted approver |
404 | not in scope |
409 | proposal already decided |
Security: bearer
POST
/api/v1/agent-proposals/{id}/declinePOST /api/agent-proposals/{id}/decline — decide AGAINST. A declined proposal produces NO write at all; the row is the audit record.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Request body
DecideProposalRequest
Responses
| Status | Description |
|---|---|
200 | |
403 | not a permitted approver |
404 | not in scope |
409 | proposal already decided |
Security: bearer
POST
/api/v1/agent-proposals/{id}/withdrawPOST /api/agent-proposals/{id}/withdraw — the proposing agent (or an admin) cancels its own open proposal. No write ever happened.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Responses
| Status | Description |
|---|---|
200 | |
403 | only the proposing agent or an admin may withdraw |
404 | not in scope |
409 | proposal already decided |
Security: bearer
GET
/api/v1/agent-skillsGET /api/v1/agent-skills — latest version per slug (or one slug's history).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
slug | query | — | No | When present, every version of this slug (newest first) instead of the latest version of each slug. |
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
POST
/api/v1/agent-skillsPOST /api/v1/agent-skills — publish a NEW version of a skill.
Request body
PublishSkillRequest
Responses
| Status | Description |
|---|---|
200 | |
403 | owner/admin surface |
422 | invalid slug or manifest |
Security: bearer
GET
/api/v1/agent-skills/{id}GET /api/v1/agent-skills/{id} — one immutable version.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes |
Responses
| Status | Description |
|---|---|
200 | |
404 |
Security: bearer
GET
/api/v1/mcp/capabilitiesGET /api/v1/mcp/capabilities — every granted capability of the org.
Responses
| Status | Description |
|---|---|
200 |
Security: bearer
PUT
/api/v1/mcp/capabilitiesPUT /api/v1/mcp/capabilities — grant or re-dial one capability.
Request body
PutCapabilityRequest
Responses
| Status | Description |
|---|---|
200 | |
403 | owner/admin surface |
422 | invalid capability or dial position |
Security: bearer
DELETE
/api/v1/mcp/capabilities/{capability}DELETE /api/v1/mcp/capabilities/{capability} — revoke (deny again).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
capability | path | string | Yes |
Responses
| Status | Description |
|---|---|
204 |
Security: bearer