Skip to content

Commit Desired State

POST
/api/v3/projects/{project_id}/desired-state/commits
curl --request POST \
--url https://example.com/api/v3/projects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/desired-state/commits \
--header 'Content-Type: application/json' \
--data '{ "base_revision_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "bundle": { "assets": [ { "content": "example", "content_type": "text/plain; charset=utf-8", "kind": "soul", "path": "example", "sha256": "example" } ], "manifest": "example" }, "idempotency_key": "example", "mutation": { "identity": { "audience": "example", "issuer_url": "example", "jwks_url": "example", "mode": "app_backend", "tenant_id_claim": "example", "user_id_claim": "sub" }, "type": "project.identity.set" } }'

Commit one atomic source revision and immutable Candidate transaction.

project_id
required
Project Id
string format: uuid
X-Admin-Key
Any of:
string
Media typeapplication/json
DesiredStateCommitRequestV3

One source input plus replay and concurrency identity.

object
base_revision_id
Any of:
string format: uuid
bundle
Any of:
ProjectSourceBundleV3

Transport-independent full source bundle used for plan and commit.

object
assets
Assets
Array<object>
<= 500 items
ProjectSourceAssetV3

One source asset supplied with a v3 desired-state bundle.

object
content
required
Content
string
<= 2000000 characters
content_type
Content Type
string
default: text/plain; charset=utf-8 >= 1 characters <= 120 characters
kind
required
Kind
string
Allowed values: soul skill openapi mcp schema
path
required
Path
string
>= 1 characters <= 240 characters
sha256
Any of:
string
/^[0-9a-f]{64}$/
manifest
required
Manifest
string
>= 1 characters <= 1000000 characters
idempotency_key
required
Idempotency Key
string
>= 1 characters <= 255 characters
mutation
Any of:
One of: discriminator: type
ProjectIdentitySetV3
object
identity
required
ProjectIdentityV3

Secret-free contract for resolving a stable signed-in application user.

object
audience
Any of:
string
>= 1 characters <= 300 characters
issuer_url
Any of:
string
>= 1 characters <= 2000 characters
jwks_url
Any of:
string
>= 1 characters <= 2000 characters
mode
Mode
string
default: app_backend
Allowed values: app_backend oidc
tenant_id_claim
Any of:
string
>= 1 characters <= 120 characters
user_id_claim
User Id Claim
string
default: sub >= 1 characters <= 120 characters
type
required
Type
string
Allowed value: project.identity.set

Successful Response

Media typeapplication/json
DesiredStateCommitResponseV3

Durable mutation receipt returned only after the transaction commits.

object
api_version
Api Version
string
default: genaug.mutation-receipt/v3
Allowed value: genaug.mutation-receipt/v3
blockers
Blockers
Array<string>
next_actions
Next Actions
Array<string>
operation_id
Any of:
string format: uuid
project_id
required
Project Id
string format: uuid
release
Any of:
ReleaseReference

Exact immutable release identity shown in plans and receipts.

object
release_fingerprint
required
Release Fingerprint
string
/^[0-9a-f]{64}$/
release_generation
required
Release Generation
integer
>= 1
release_id
required
Release Id
string format: uuid
review_url
Any of:
string
revision
required
ProjectRevisionReferenceV3

Exact server-versioned desired-state head identity.

object
generation
required
Generation
integer
>= 1
revision_id
required
Revision Id
string format: uuid
source_fingerprint
required
Source Fingerprint
string
/^[0-9a-f]{64}$/
semantic_diff_fingerprint
Any of:
string
/^[0-9a-f]{64}$/
status
required
Status
string
Allowed values: unchanged accepted
workspace_id
required
Workspace Id
string format: uuid
Example
{
"api_version": "genaug.mutation-receipt/v3",
"status": "unchanged"
}

Authentication failed with a resumable next action.

Media typeapplication/json
ManagementErrorEnvelope

FastAPI error envelope shared by v3 management endpoints.

object
detail
required
ManagementErrorResponse

One bounded error with a coding-agent-safe recovery action.

object
affected_resource
Any of:
string
message
required
Message
string
next_action
Any of:
string
operation_id
Any of:
string format: uuid
phase
Any of:
string
reason_code
required
Reason Code
string
Examplegenerated
{
"detail": {
"affected_resource": "example",
"message": "example",
"next_action": "example",
"operation_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"phase": "example",
"reason_code": "example"
}
}

The authenticated actor lacks the required Project authority.

Media typeapplication/json
ManagementErrorEnvelope

FastAPI error envelope shared by v3 management endpoints.

object
detail
required
ManagementErrorResponse

One bounded error with a coding-agent-safe recovery action.

object
affected_resource
Any of:
string
message
required
Message
string
next_action
Any of:
string
operation_id
Any of:
string format: uuid
phase
Any of:
string
reason_code
required
Reason Code
string
Examplegenerated
{
"detail": {
"affected_resource": "example",
"message": "example",
"next_action": "example",
"operation_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"phase": "example",
"reason_code": "example"
}
}

The scoped management resource was not found.

Media typeapplication/json
ManagementErrorEnvelope

FastAPI error envelope shared by v3 management endpoints.

object
detail
required
ManagementErrorResponse

One bounded error with a coding-agent-safe recovery action.

object
affected_resource
Any of:
string
message
required
Message
string
next_action
Any of:
string
operation_id
Any of:
string format: uuid
phase
Any of:
string
reason_code
required
Reason Code
string
Examplegenerated
{
"detail": {
"affected_resource": "example",
"message": "example",
"next_action": "example",
"operation_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"phase": "example",
"reason_code": "example"
}
}

A stable management invariant prevented progress.

Media typeapplication/json
ManagementErrorEnvelope

FastAPI error envelope shared by v3 management endpoints.

object
detail
required
ManagementErrorResponse

One bounded error with a coding-agent-safe recovery action.

object
affected_resource
Any of:
string
message
required
Message
string
next_action
Any of:
string
operation_id
Any of:
string format: uuid
phase
Any of:
string
reason_code
required
Reason Code
string
Examplegenerated
{
"detail": {
"affected_resource": "example",
"message": "example",
"next_action": "example",
"operation_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"phase": "example",
"reason_code": "example"
}
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
ctx
Context
object
input
Input
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
Examplegenerated
{
"detail": [
{
"ctx": {},
"input": "example",
"loc": [
"example"
],
"msg": "example",
"type": "example"
}
]
}