---
title: "Reconcile Workflow Play Effect"
method: POST
path: "/api/workflow-play/effects/reconcile"
tags: ["workflow-play-state"]
---

# Reconcile Workflow Play Effect

`POST /api/workflow-play/effects/reconcile`

## Request

- Base URL: `https://platform.verbiflow.com/api/bridge`
- URL: `https://platform.verbiflow.com/api/bridge/api/workflow-play/effects/reconcile`
- 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

- ReconcileEffectRequest: Read and project the durable outcome of an already-claimed semantic effect.
  - `effect_key` string, required: Stable semantic effect identity to reconcile.

## Response `200`

Successful Response

- WorkflowEffectResponse: Durable semantic-effect lifecycle and exact provider-operation evidence.
  - `agent_sdk_invocation_id` string, nullable, required: Hosted SDK invocation id bound to provider dispatch when available.
  - `agent_sdk_method` string, nullable, required: Public SDK method that performed the effect when available.
  - `agent_sdk_request_digest` string, nullable, required: Transport request digest recorded by the hosted SDK operation.
  - `agent_sdk_route_identity` string, nullable, required: Canonical HTTP route identity used by the SDK operation when available.
  - `agent_sdk_run_id` string, nullable, required: Hosted SDK run id bound to provider dispatch when available.
  - `attempts` integer, required: Durable dispatch-attempt count.
  - `capability` string, required: Hosted SDK capability that owns the effect.
  - `effect_key` string, required: Stable semantic identity for the side effect.
  - `lease_expires_at` string, nullable, required: ISO 8601 lease expiry, when leased.
  - `lease_fence` integer, required: Monotonic dispatcher lease fence.
  - `lease_owner` string, nullable, required: Current dispatcher lease owner, when leased.
  - `lifecycle` 'prepared' | 'dispatched' | 'succeeded' | 'retryable_failed' | 'unknown', required
  - `provider_operation_id` string, nullable, required: Durable provider or platform operation id once one has been bound.
  - `receipt` object, nullable, required: Capability-owned terminal receipt, or null before terminal projection.
  - `reconciled_at` string, nullable, required: ISO 8601 time of the latest terminal reconciliation.
  - `request_digest` string, required: Canonical digest of the exact provider request.
  - `revision_id` string, required: Immutable Play revision that first claimed the effect.
  - `run_id` string, required: Workflow run id that first claimed the effect.
  - `should_dispatch` boolean, required: Whether this caller owns a fresh lease and should dispatch provider work.
  - `tick_id` string, required: Occurrence id that first claimed the effect.

## 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)
