---
title: "Commit Workflow Play State"
method: POST
path: "/api/workflow-play/state/commit"
tags: ["workflow-play-state"]
---

# Commit Workflow Play State

`POST /api/workflow-play/state/commit`

## Request

- Base URL: `https://platform.verbiflow.com/api/bridge`
- URL: `https://platform.verbiflow.com/api/bridge/api/workflow-play/state/commit`
- Auth: one of:
  - HTTP bearer and API key in header `x-flage-org-id`
  - HTTP bearer and API key in header `x-flage-org-slug`

## Request body

- CommitStateRequest: Atomically commit staged state after named semantic effects have succeeded.
  - `base_generation` integer, required: Committed state generation from which staging began.
  - `patch_artifact_id` string, nullable: Optional immutable artifact carrying the complete committed patch.
  - `require_effects_succeeded` string[]: Semantic effect keys that must be durably succeeded before commit.
  - `schema_digest` string, required: Revision-owned schema digest for the new state.

## Response `200`

Successful Response

- CommitStateResponse: Atomic state commit receipt and its exact lineage.
  - `base_generation` integer, required: Generation read before staging.
  - `commit_id` string, required: Stable id of the atomic state commit.
  - `committed_at` string, required: ISO 8601 state commit time.
  - `delete_count` integer, required: Tombstones committed.
  - `new_generation` integer, required: Generation created by this commit.
  - `patch_artifact_id` string, nullable, required: Immutable full-patch artifact id when one was attached.
  - `required_effect_keys` string[], required: Semantic effects proven succeeded before commit.
  - `revision_id` string, required: Immutable Play revision that authored the state.
  - `run_id` string, required: Workflow run that committed the state.
  - `schema_digest` string, required: Revision-owned schema digest committed with state.
  - `signal_count` integer, required: Change signals emitted by the commit.
  - `staged_digest` string, required: Canonical digest of the committed staged mutations.
  - `state_digest` string, required: Canonical digest of the complete committed state.
  - `upsert_count` integer, required: Values inserted or replaced.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract.md) - [All operations](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract/llms.txt) - [OpenAPI document](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract/revisions/c80e903ef8f3?raw)
