v1

latestOpenAPI 3.0.32026-07-17333836.6 KB
publish

Force a terminal decision (approved / rejected / withdrawn)

Wave 8: terminal-decision write. Approval is only valid from stage3. Rejection is allowed from any non-terminal stage. Withdraw is the submitter's own affordance; admins can withdraw on a submitter's behalf with submissions.write.

Requires submissions.staged capability. Approve / reject require submissions.write scope. Withdraw on behalf of another submitter requires submissions.write too.

post/v1/submissions/{id}/finalize

Path parameters

idstring required

Request body

decision'approved' | 'rejected' | 'withdrawn' required
decision_reasonstring nullable

Response

Submission moved to terminal state

idstring required

Submission UUID (string form)

kind'agent' | 'skill' | 'mcp_server' | 'base' | 'app' | 'theme' | 'workflow_template' required
slugstring required
versionstring nullable
state'stage0_received' | 'stage1_static' | 'stage2_dynamic' | 'stage3_review' | 'approved' | 'rejected' | 'withdrawn' required

Wire-stable state string mirrored from the row

stage'stage0' | 'stage1' | 'stage2' | 'stage3' | 'approved' | 'rejected' | 'withdrawn' required

Current stage; terminal stages mirror the decision

decision'approved' | 'rejected' | 'withdrawn' nullable
decision_reasonstring nullable
submitter_handlestring nullable
bundle_sha256string nullable
bundle_size_bytesinteger nullable
item_idstring nullable
item_version_idstring nullable
created_atstring date-time required
updated_atstring date-time required