---
title: "Get Play"
method: GET
path: "/api/plays/{play_id}"
tags: ["plays"]
---

# Get Play

`GET /api/plays/{play_id}`

## Request

- Base URL: `https://platform.verbiflow.com/api/bridge`
- URL: `https://platform.verbiflow.com/api/bridge/api/plays/{play_id}`
- 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`

## Path parameters

- `play_id` string, required

## Query parameters

- `runId` string, nullable

## Response `200`

Successful Response

- PlayDetailResponse
  - `play` PlayRecord, required: Canonical workspace-visible Play catalog record.
    - `billing_summary` PlayBillingSummary: Unified customer credit accounting for one Play, including partial-evidence status.
      - `by_capability` PlayBillingCapability[], required: Credit usage grouped by capability and billing owner.
        - `capability_id` string, required: Stable capability responsible for the measured credit usage.
        - `cost` string, required: Credits attributed to this capability; this value is not provider cost or dollars.
        - `credits_used` string, required: Customer credits attributed to this record.
        - `event_count` integer, required: Number of accounting events contributing to this aggregate.
        - `owner` string, required: Billing owner of this credit usage.
        - `units` string, required: Customer credit units attributed to this capability.
        - `usage_units` string, required: Legacy alias of customer credits used.
      - `by_owner` PlayBillingOwner[], required: Credit usage grouped by billing owner.
        - `credits_used` string, required: Customer credits attributed to this record.
        - `event_count` integer, required: Number of accounting events contributing to this aggregate.
        - `owner` string, required: Billing owner of this credit usage.
      - `credits_consumed` union, required: Consumed customer credits; exact decimal string, or numeric zero in older empty summaries.
        - string
        - number
      - `credits_reserved` union, required: Reserved customer credits; exact decimal string, or numeric zero in older empty summaries.
        - string
        - number
      - `credits_used` union, required: Customer credits attributed to this record.
        - string
        - number
      - `event_count` integer, required: Number of accounting events contributing to this aggregate.
      - `is_partial` boolean, required: Whether accounting evidence is incomplete and the totals require qualification.
      - `partial_reason` string, nullable, required: Reason totals are partial, or null for a complete summary.
      - `play_id` string, required: Canonical workspace-scoped Play id.
      - `scope` 'unified_credit_meter', required: Accounting or presentation scope selected by the producer.
      - `total_cost` union, required: Legacy alias of customer credits used; this is not provider cost or dollars.
        - string
        - number
      - `total_units` union, required: Legacy alias of customer credits used.
        - string
        - number
      - `usage_units` union, required: Legacy alias of customer credits used.
        - string
        - number
    - `content_type` string, nullable: Stored bundle media type.
    - `created_at` string, required: ISO 8601 Play creation time.
    - `description` string, nullable, required: Optional human-facing Play description.
    - `entrypoint_path` string, nullable: Verified bundle entrypoint path.
    - `file_count` integer, nullable: Number of files in the stored revision.
    - `filename` string, nullable: Original uploaded bundle filename.
    - `has_thumbnail` boolean, nullable: Whether a thumbnail artifact exists.
    - `id` string, required: Canonical Play id.
    - `kind` 'workflow_play' | 'static_bundle', required: Stored workflow or uploaded static bundle kind.
    - `last_error` PlayError: Known error fields plus sanitized producer-specific diagnostic data.
      - `code` string: Stable sanitized error code when the producer supplied one.
      - `message` string: Sanitized human-facing explanation.
    - `latest_run` PlayRunSummary: Catalog-visible lifecycle and timing of one canonical Play run.
      - `approval` PlayRunApproval: Sanitized approval presented alongside a blocked Play run.
        - `approval_id` string, required: Durable pending approval id.
        - `choices` PlayApprovalChoice[], required: Available member decisions for this pending approval.
          - `id` string, required: Durable identifier within the owning Play or run.
          - `label` string, required: Human-facing label.
        - `details` object, required: Effect-specific sanitized JSON evidence for the requested decision.
        - `message` string, required: Sanitized human-facing explanation.
      - `completed_at` string, nullable, required: ISO 8601 completion time, or null while incomplete.
      - `duration_seconds` number, nullable, required: Recorded elapsed duration in seconds, or null when unavailable.
      - `final_row_count` integer, required: Published final row count for this run.
      - `id` string, required: Durable identifier within the owning Play or run.
      - `mode` string, required: Persisted execution mode.
      - `primary_output` PlayPrimaryOutput: Display-only primary result summary; full outputs own read references.
        - `description` string, nullable, required: Optional human-facing description.
        - `id` string, required: Durable identifier within the owning Play or run.
        - `label` string, required: Human-facing label.
        - `row_count` integer, nullable, required: Published output row count when applicable, or null.
      - `revision_id` string, nullable, required: Immutable Play revision id.
      - `snapshot_state` string, required: Publication state of this snapshot: draft, diagnostic or final.
      - `source_window_label` string, required: Human-facing source-window description for the run.
      - `started_at` string, required: ISO 8601 start time recorded for this execution.
      - `status` string, required: Lifecycle state recorded by the owning operation.
      - `trigger` PlayRunTrigger, required: Admission source retained with the canonical Play run.
        - `kind` string, required: Producer-defined classification of this record.
        - `trigger_id` string, nullable, required: Durable trigger or schedule id when one exists, or null.
    - `local_root_label` string, nullable: Portable label for the authored local root.
    - `operation_summary` PlayOperationSummary: Presentation fields plus the scheduled executor's Play-defined terminal summary.
      - `latest_error` PlayError: Known error fields plus sanitized producer-specific diagnostic data.
        - `code` string: Stable sanitized error code when the producer supplied one.
        - `message` string: Sanitized human-facing explanation.
      - `pending_approvals_count` integer: Number of pending member decisions in the presentation summary.
      - `runtime_state` string: Latest runtime state reported by synchronization or execution.
      - `snapshot_state` string: Publication state of this snapshot: draft, diagnostic or final.
      - `sync_state` PlaySyncState: Synchronization metadata; registration may attach portable JSON extensions.
        - `auto_sync` boolean: Whether the authoring root requested automatic synchronization.
        - `code_sync_state` string: Current state of code revision synchronization.
        - `is_stale` boolean: Whether the latest local runtime snapshot is considered stale.
        - `last_snapshot_at` string: ISO 8601 time of the last accepted local runtime snapshot.
        - `latest_code_archive_sha256` string: SHA-256 of the latest synchronized source archive.
        - `latest_code_revision_id` string: Latest synchronized immutable source revision id.
        - `latest_code_source_hash` string: Semantic digest of the latest synchronized source tree.
        - `latest_code_synced_at` string: ISO 8601 time of the latest source synchronization.
        - `latest_revision_digest` string: Canonical digest of the latest published executor specification.
        - `latest_revision_id` string: Latest immutable published Play revision id.
        - `latest_revision_kind` 'prompt' | 'workflow': Executor kind of the latest immutable revision.
        - `local_root_label` string: Portable label of the editable authoring root.
        - `runtime_state` string: Latest runtime state reported by synchronization or execution.
        - `snapshot_state` string: Publication state of this snapshot: draft, diagnostic or final.
    - `output_count` integer, nullable: Count of published Play output artifacts.
    - `owner_email` string, nullable, required: Current email of the Play owner.
    - `owner_id` string, required: Workspace member id that owns the Play.
    - `owner_name` string, nullable, required: Current display name of the Play owner.
    - `run_count` integer, nullable: Count of admitted Play runs visible to this workspace.
    - `sdk_version` string, nullable: SDK version pinned by the current code revision.
    - `size_bytes` integer, nullable: Stored source or bundle byte size.
    - `sync_state` PlaySyncState: Synchronization metadata; registration may attach portable JSON extensions.
      - `auto_sync` boolean: Whether the authoring root requested automatic synchronization.
      - `code_sync_state` string: Current state of code revision synchronization.
      - `is_stale` boolean: Whether the latest local runtime snapshot is considered stale.
      - `last_snapshot_at` string: ISO 8601 time of the last accepted local runtime snapshot.
      - `latest_code_archive_sha256` string: SHA-256 of the latest synchronized source archive.
      - `latest_code_revision_id` string: Latest synchronized immutable source revision id.
      - `latest_code_source_hash` string: Semantic digest of the latest synchronized source tree.
      - `latest_code_synced_at` string: ISO 8601 time of the latest source synchronization.
      - `latest_revision_digest` string: Canonical digest of the latest published executor specification.
      - `latest_revision_id` string: Latest immutable published Play revision id.
      - `latest_revision_kind` 'prompt' | 'workflow': Executor kind of the latest immutable revision.
      - `local_root_label` string: Portable label of the editable authoring root.
      - `runtime_state` string: Latest runtime state reported by synchronization or execution.
      - `snapshot_state` string: Publication state of this snapshot: draft, diagnostic or final.
    - `title` string, required: Human-facing Play title.
    - `updated_at` string, required: ISO 8601 last metadata update time.
    - `visibility` 'visible' | 'local_only', nullable: Workspace catalog visibility.
    - `workflow_name` string, nullable: Declared SDK workflow name.
    - `workflow_slug` string, nullable: Stable SDK workflow slug.
  - `workflow_play` WorkflowPlayDetailRecord: Workspace-visible revision, run, publication and operator detail.
    - `active_run` WorkflowPlayRunRecord, required: Canonical run state with policy, usage, steps and published output references.
      - `approval` PlayRunApproval: Sanitized approval presented alongside a blocked Play run.
        - `approval_id` string, required: Durable pending approval id.
        - `choices` PlayApprovalChoice[], required: Available member decisions for this pending approval.
          - `id` string, required: Durable identifier within the owning Play or run.
          - `label` string, required: Human-facing label.
        - `details` object, required: Effect-specific sanitized JSON evidence for the requested decision.
        - `message` string, required: Sanitized human-facing explanation.
      - `completed_at` string, nullable, required: ISO 8601 completion time, or null while incomplete.
      - `duration_seconds` number, nullable, required: Recorded elapsed duration in seconds, or null when unavailable.
      - `final_row_count` integer, required: Published final row count for this run.
      - `id` string, required: Durable identifier within the owning Play or run.
      - `last_error` PlayError, required: Known error fields plus sanitized producer-specific diagnostic data.
        - `code` string: Stable sanitized error code when the producer supplied one.
        - `message` string: Sanitized human-facing explanation.
      - `metrics` PlayMetric[], required: Display-ready metrics published in the workflow snapshot.
        - `hint` string, nullable, required: Optional explanatory text accompanying a displayed metric.
        - `id` string, required: Durable identifier within the owning Play or run.
        - `label` string, required: Human-facing label.
        - `scope` string, nullable, required: Accounting or presentation scope selected by the producer.
        - `unit` string, nullable, required: Optional unit accompanying the displayed metric.
        - `value` string, required: Display-ready metric value.
      - `mode` string, required: Persisted execution mode.
      - `operations` PlayOperation[], required: Persisted operation evidence attributed to this run.
        - `artifact_id` string, nullable: Related published artifact id, or null.
        - `completed_at` string, nullable: ISO 8601 completion time, or null while incomplete.
        - `created_at` string, nullable: ISO 8601 creation time recorded by the owning service.
        - `credits_used` number: Customer credits attributed to this record.
        - `duration_seconds` number, nullable: Recorded elapsed duration in seconds, or null when unavailable.
        - `effect` string, nullable: Declared effect classification or name.
        - `error` string, nullable: Sanitized failure information, or null when none was recorded.
        - `id` string: Durable identifier within the owning Play or run.
        - `job_id` string, nullable: Related provider job id, or null.
        - `kind` string: Producer-defined classification of this record.
        - `label` string: Human-facing label.
        - `output_ids` string[]: Output identifiers attributed to this operation or step.
        - `payload` union: Recursive JSON with finite numbers; keys and values are defined by the Play or event producer.
          - string
          - integer
          - number
          - boolean
          - PlayJsonValueOutput[]
          - object
        - `rows_read` integer: Rows read by the counted operations.
        - `rows_written` integer: Rows written by the counted operations.
        - `sdk_path` string, nullable: Public SDK operation responsible for this evidence, or null.
        - `started_at` string, nullable: ISO 8601 start time recorded for this execution.
        - `status` string: Lifecycle state recorded by the owning operation.
        - `step_id` string, nullable: Owning workflow step id, or null.
      - `outputs` WorkflowPlayOutputRecord[], required: Published outputs owned by this canonical Play run.
        - union: Published deliverable or verified hosted recovery workspace.
          - WorkflowPlayPublishedOutput: A published output or legacy identity-only output with producer-defined content.
            - `artifact_entry_media_type` string: Canonical artifact entrypoint media type when published.
            - `artifact_entry_sha256` string: SHA-256 digest of the canonical artifact entrypoint when published.
            - `artifact_entry_size_bytes` integer: Exact canonical artifact entrypoint byte size when published.
            - `artifact_href` string: Workspace artifact page URL when publication completed.
            - `artifact_id` string: Canonical immutable artifact id when publication completed.
            - `artifact_presentation` WorkflowPlayArtifactPresentation: Canonical links and entry metadata for one immutable Play output artifact.
              - …
            - `bundle_paths` string[]: Additional safe relative paths in this output bundle.
            - `content_href` string: Authenticated canonical entrypoint content URL when published.
            - `created_at` string: ISO 8601 time recorded when the output was admitted.
            - `description` string, nullable: Optional human-readable output description.
            - `download_href` string: Authenticated canonical entrypoint download URL when published.
            - `entrypoint_path` string, nullable: Safe relative artifact entrypoint path, or null when none exists.
            - `file_paths` string[]: Safe relative paths declared for this output bundle.
            - `file_size_bytes` integer, nullable: Declared output byte size when supplied, or null.
            - `id` string, required: Durable output id within the publishing Play run.
            - `kind` 'html' | 'status_report' | 'text' | 'markdown' | 'csv' | 'json' | 'pdf' | 'image' | 'audio' | 'video' | 'archive' | 'table_preview' | 'artifact' | 'sequence_import' | 'sequence_stage' | 'sequence_audience_sync' | 'file' | 'link': Declared representation or workflow action of a published Play output.
            - `label` string: Human-readable output label.
            - `legacy_content_href` string, nullable: Legacy or projected content URL when one exists, or null.
            - `manifest_digest` string: Canonical artifact manifest digest when publication completed.
            - `output_ref` PlayOutputRefRecord, required: Canonical identity required to read one published Play output.
              - …
            - `payload` union: Recursive JSON value; numbers must be finite.
              - …
            - `presentation_role` 'primary_result' | 'supporting_result' | 'operator_recovery': Placement of an output in the Play result and recovery experience.
            - `preview_html` string, nullable: Sanitized HTML preview text, or null.
            - `preview_rows` object[]: At most 100 preview rows with scalar values or sanitized JSON text.
              - …
            - `row_count` integer, nullable: Output row count when applicable, or null.
            - `table_name` string, nullable: Workflow table backing a table preview, or null.
          - WorkflowPlayHostedOutput: Recovery workspace published by a hosted Workflow Play executor.
            - `artifact_entry_media_type` string: Canonical artifact entrypoint media type when published.
            - `artifact_entry_sha256` string: SHA-256 digest of the canonical artifact entrypoint when published.
            - `artifact_entry_size_bytes` integer: Exact canonical artifact entrypoint byte size when published.
            - `artifact_href` string: Workspace artifact page URL when publication completed.
            - `artifact_id` string: Canonical immutable artifact id when publication completed.
            - `artifact_presentation` WorkflowPlayArtifactPresentation: Canonical links and entry metadata for one immutable Play output artifact.
              - …
            - `attempt_run_id` string: Underlying executor attempt id when retained; never use it as a public output reference.
            - `bundle_paths` string[]: Additional safe relative paths in this output bundle.
            - `content_href` string: Authenticated canonical entrypoint content URL when published.
            - `created_at` string: ISO 8601 time recorded when the output was admitted.
            - `description` string, nullable: Optional human-readable output description.
            - `download_href` string: Authenticated canonical entrypoint download URL when published.
            - `entrypoint_path` string, nullable: Safe relative artifact entrypoint path, or null when none exists.
            - `file_paths` string[]: Safe relative paths declared for this output bundle.
            - `file_size_bytes` integer, nullable: Declared output byte size when supplied, or null.
            - `id` string, required: Durable output id within the publishing Play run.
            - `kind` 'hosted_workflow', required: Published output discriminator; hosted_workflow identifies a verified recovery workspace.
            - `label` string: Human-readable output label.
            - `legacy_content_href` string, nullable: Legacy or projected content URL when one exists, or null.
            - `manifest_digest` string: Canonical artifact manifest digest when publication completed.
            - `output_ref` PlayOutputRefRecord, required: Canonical identity required to read one published Play output.
              - …
            - `payload` union: Recursive JSON value; numbers must be finite.
              - …
            - `presentation_role` 'primary_result' | 'supporting_result' | 'operator_recovery': Placement of an output in the Play result and recovery experience.
            - `preview_html` string, nullable: Sanitized HTML preview text, or null.
            - `preview_rows` object[]: At most 100 preview rows with scalar values or sanitized JSON text.
              - …
            - `row_count` integer, nullable: Output row count when applicable, or null.
            - `summary` WorkflowPlayHostedOutputSummary, required: Verified workspace archive metadata plus the executor's declared JSON result.
              - …
            - `table_name` string, nullable: Workflow table backing a table preview, or null.
      - `policy` PlayRunPolicy, required: Public subset of the persisted workflow execution policy.
        - `checkpoint_scope` 'preview' | 'production': Whether state belongs to an isolated preview or production lineage.
        - `max_items` integer, nullable: Maximum items permitted in the source batch, or null for no explicit bound.
        - `max_source_rows` integer, nullable: Maximum source rows to acquire, or null for no explicit bound.
        - `mode` 'preview' | 'batch' | 'production': Persisted execution mode.
        - `pipelined` boolean: Whether downstream work may start before upstream work fully completes.
        - `retry_errors` boolean: Whether the local run policy permits retrying failed work.
        - `side_effects` 'plan' | 'confirm' | 'execute': Side-effect policy recorded for this run.
        - `since_checkpoint` boolean: Whether acquisition begins at the last committed source checkpoint.
        - `source_end` string, nullable: Exclusive ISO source boundary retained by older run policies, or null.
        - `source_start` string, nullable: Inclusive ISO source boundary retained by older run policies, or null.
        - `source_window` PlaySourceWindow: Source boundaries retained by a local workflow run policy.
          - `end` string, nullable: Exclusive source-window end in ISO format, or null when unbounded.
          - `label` string, nullable: Human-facing label.
          - `since_checkpoint` boolean: Whether acquisition begins at the last committed source checkpoint.
          - `start` string, nullable: Inclusive source-window start in ISO format, or null when unbounded.
      - `policy_label` string, required: Human-facing label of the execution policy.
      - `primary_output` PlayPrimaryOutput: Display-only primary result summary; full outputs own read references.
        - `description` string, nullable, required: Optional human-facing description.
        - `id` string, required: Durable identifier within the owning Play or run.
        - `label` string, required: Human-facing label.
        - `row_count` integer, nullable, required: Published output row count when applicable, or null.
      - `result` object, nullable, required: Revision-defined sanitized terminal JSON result, or null.
      - `revision_id` string, nullable, required: Immutable Play revision id.
      - `snapshot_state` string, required: Publication state of this snapshot: draft, diagnostic or final.
      - `source_window_label` string, required: Human-facing source-window description for the run.
      - `started_at` string, required: ISO 8601 start time recorded for this execution.
      - `status` string, required: Lifecycle state recorded by the owning operation.
      - `steps` PlayRunStep[], required: Persisted step states with activity, effects and operation evidence.
        - `activity` PlayStepActivity[], required: Bounded recent human-facing activity recorded for this step.
          - `created_at` string, nullable, required: ISO 8601 creation time recorded by the owning service.
          - `event_type` string, required: Stable durable event type selected by the producer.
          - `label` string, required: Human-facing label.
        - `completed_at` string, nullable, required: ISO 8601 completion time, or null while incomplete.
        - `duration_seconds` number, nullable, required: Recorded elapsed duration in seconds, or null when unavailable.
        - `effects` string[], required: Effect classifications declared by the authored step.
        - `error` string, nullable, required: Sanitized failure information, or null when none was recorded.
        - `id` string, required: Durable identifier within the owning Play or run.
        - `label` string, required: Human-facing label.
        - `name` string, required: Authored workflow step name.
        - `operations` PlayOperation[], required: Persisted operation evidence attributed to this run or step.
          - `artifact_id` string, nullable: Related published artifact id, or null.
          - `completed_at` string, nullable: ISO 8601 completion time, or null while incomplete.
          - `created_at` string, nullable: ISO 8601 creation time recorded by the owning service.
          - `credits_used` number: Customer credits attributed to this record.
          - `duration_seconds` number, nullable: Recorded elapsed duration in seconds, or null when unavailable.
          - `effect` string, nullable: Declared effect classification or name.
          - `error` string, nullable: Sanitized failure information, or null when none was recorded.
          - `id` string: Durable identifier within the owning Play or run.
          - `job_id` string, nullable: Related provider job id, or null.
          - `kind` string: Producer-defined classification of this record.
          - `label` string: Human-facing label.
          - `output_ids` string[]: Output identifiers attributed to this operation or step.
          - `payload` union: Recursive JSON with finite numbers; keys and values are defined by the Play or event producer.
            - string
            - integer
            - number
            - boolean
            - PlayJsonValueOutput[]
            - object
          - `rows_read` integer: Rows read by the counted operations.
          - `rows_written` integer: Rows written by the counted operations.
          - `sdk_path` string, nullable: Public SDK operation responsible for this evidence, or null.
          - `started_at` string, nullable: ISO 8601 start time recorded for this execution.
          - `status` string: Lifecycle state recorded by the owning operation.
          - `step_id` string, nullable: Owning workflow step id, or null.
        - `output_ids` string[], required: Output identifiers attributed to this operation or step.
        - `reads` string[], required: Workflow tables declared as step inputs.
        - `rows_read` integer, required: Rows read by the counted operations.
        - `rows_written` integer, required: Rows written by the counted operations.
        - `started_at` string, nullable, required: ISO 8601 start time recorded for this execution.
        - `status` 'pending' | 'running' | 'blocked' | 'completed' | 'failed' | 'skipped', required: Lifecycle state recorded by the owning operation.
        - `writes` string[], required: Workflow tables declared as step outputs.
      - `trigger` PlayRunTrigger, required: Admission source retained with the canonical Play run.
        - `kind` string, required: Producer-defined classification of this record.
        - `trigger_id` string, nullable, required: Durable trigger or schedule id when one exists, or null.
      - `usage` PlayRunUsage, required: Snapshot usage with known aggregates and producer-specific accounting evidence.
        - `artifact_jobs` integer: Number of artifact-producing operations.
        - `by_kind` PlayUsageKind[]: Usage grouped by the producer-defined operation kind.
          - `credits_used` number, required: Customer credits attributed to this record.
          - `kind` string, required: Producer-defined classification of this record.
          - `operation_count` integer, required: Number of operations included in this aggregate.
          - `rows_read` integer, required: Rows read by the counted operations.
          - `rows_written` integer, required: Rows written by the counted operations.
        - `credits_used` number: Customer credits attributed to this record.
        - `enrichment_jobs` integer: Number of enrichment operations.
        - `provider_jobs` integer: Number of provider-job operations.
        - `rows_read` integer: Rows read by the counted operations.
        - `rows_staged` integer: Rows staged into sequences by the counted operations.
        - `rows_written` integer: Rows written by the counted operations.
        - `sequence_stages` integer: Number of sequence-stage operations.
    - `billing_summary` PlayBillingSummary: Unified customer credit accounting for one Play, including partial-evidence status.
      - `by_capability` PlayBillingCapability[], required: Credit usage grouped by capability and billing owner.
        - `capability_id` string, required: Stable capability responsible for the measured credit usage.
        - `cost` string, required: Credits attributed to this capability; this value is not provider cost or dollars.
        - `credits_used` string, required: Customer credits attributed to this record.
        - `event_count` integer, required: Number of accounting events contributing to this aggregate.
        - `owner` string, required: Billing owner of this credit usage.
        - `units` string, required: Customer credit units attributed to this capability.
        - `usage_units` string, required: Legacy alias of customer credits used.
      - `by_owner` PlayBillingOwner[], required: Credit usage grouped by billing owner.
        - `credits_used` string, required: Customer credits attributed to this record.
        - `event_count` integer, required: Number of accounting events contributing to this aggregate.
        - `owner` string, required: Billing owner of this credit usage.
      - `credits_consumed` union, required: Consumed customer credits; exact decimal string, or numeric zero in older empty summaries.
        - string
        - number
      - `credits_reserved` union, required: Reserved customer credits; exact decimal string, or numeric zero in older empty summaries.
        - string
        - number
      - `credits_used` union, required: Customer credits attributed to this record.
        - string
        - number
      - `event_count` integer, required: Number of accounting events contributing to this aggregate.
      - `is_partial` boolean, required: Whether accounting evidence is incomplete and the totals require qualification.
      - `partial_reason` string, nullable, required: Reason totals are partial, or null for a complete summary.
      - `play_id` string, required: Canonical workspace-scoped Play id.
      - `scope` 'unified_credit_meter', required: Accounting or presentation scope selected by the producer.
      - `total_cost` union, required: Legacy alias of customer credits used; this is not provider cost or dollars.
        - string
        - number
      - `total_units` union, required: Legacy alias of customer credits used.
        - string
        - number
      - `usage_units` union, required: Legacy alias of customer credits used.
        - string
        - number
    - `events` PlayEvent[], required: Recent sanitized durable Play events.
      - `created_at` string, required: ISO 8601 creation time recorded by the owning service.
      - `event_type` string, required: Stable durable event type selected by the producer.
      - `id` integer, required: Durable identifier within the owning Play or run.
      - `payload` object, required: Sanitized JSON evidence defined by the originating operation or event.
      - `play_id` string, required: Canonical workspace-scoped Play id.
    - `last_error` PlayError, required: Known error fields plus sanitized producer-specific diagnostic data.
      - `code` string: Stable sanitized error code when the producer supplied one.
      - `message` string: Sanitized human-facing explanation.
    - `operator` PlayOperatorDetail: Schedule operator projections attached to a Play detail response.
      - `primary_schedule_id` string, nullable, required: Primary schedule selected for the Play operator view, or null.
      - `schedules` PlayOperatorSchedule[], required: Operator projections for the current Play schedules.
        - `active_revision` WorkflowPlayRevisionSummary, required: Immutable code revision facts used to compare draft and active code.
          - `archive_sha256` string, nullable, required: SHA-256 of the immutable source archive when available.
          - `content_length` integer, required: Compressed archive size in bytes.
          - `created_at` string, nullable, required: ISO 8601 revision publication time.
          - `manifest` WorkflowPlayRevisionManifest, required: Known code-bundle envelope while preserving schema-version additions.
            - `archive_sha256` string, nullable: SHA-256 of the immutable source archive.
            - `entrypoint` string, nullable: Archive-relative executable entrypoint.
            - `file_count` integer, nullable: Number of files in the archive.
            - `paths` string[], nullable: Sorted archive-relative file paths.
            - `schema` 'verbiflow.workflow_play_code.v1' | 'verbiflow.workflow_play_code.v2' | 'verbiflow.workflow_play_code.v3', nullable: Code-bundle schema version; absent on the oldest retained revisions.
            - `sdk_version` string, nullable: Python SDK version locked into this revision.
            - `source_hash` string, nullable: Digest of the normalized source inputs.
            - `synced_at` string, nullable: ISO 8601 publication time.
            - `uncompressed_size_bytes` integer, nullable: Total uncompressed archive size.
            - `workflow_slug` string, nullable: Workflow slug attached during publication.
          - `revision_id` string, required: Immutable code revision id.
          - `source_hash` string, required: Digest of the normalized workflow source.
          - `status` 'ready' | 'deleted', required: Stored revision lifecycle state.
        - `available_actions` PlayOperatorAction[], required: Typed operator actions with their current availability and request parameters.
          - union: Available operator action with its exact request body.
            - PlayOperatorReadAction: Read-only evidence or activation-review link.
              - …
            - PlayOperatorRevisionAction: Run or retest request pinned to the displayed revision.
              - …
            - PlayOperatorApprovalAction: Resume the existing attempt by approving its pending decision.
              - …
            - PlayOperatorPauseAction: Pause the schedule using the displayed state as a stale-request guard.
              - …
            - PlayOperatorResumeAction: Resume the schedule using the displayed state and readiness evidence.
              - …
            - PlayOperatorReauthorizeAction: Activate or renew authority for the displayed immutable revision.
              - …
            - PlayOperatorStopAction: Revoke the displayed authority grant and stop scheduled execution.
              - …
        - `current_run` PlayOperatorCurrentRun, required: Nonterminal occurrence selected for the operator view.
          - `run_id` string, nullable, required: Canonical Play run id when one is associated, or null.
          - `started_at` string, nullable, required: ISO 8601 start time recorded for this execution.
          - `status` string, required: Lifecycle state recorded by the owning operation.
        - `delivery_target` WorkflowPlayScheduleDeliveryTarget, required: Slack destination snapshotted into a schedule and each admitted tick.
          - `app_id` string, nullable: Slack app id resolved when the destination was validated.
          - `channel_id` string, required: Slack channel id that receives completion notifications.
          - `installation_id` string, nullable: Workspace installation id resolved when the destination was validated.
          - `kind` 'slack_channel', required: Selects Slack channel delivery.
          - `team_id` string, required: Slack workspace id containing the destination channel.
        - `draft_revision` WorkflowPlayRevisionSummary, required: Immutable code revision facts used to compare draft and active code.
          - `archive_sha256` string, nullable, required: SHA-256 of the immutable source archive when available.
          - `content_length` integer, required: Compressed archive size in bytes.
          - `created_at` string, nullable, required: ISO 8601 revision publication time.
          - `manifest` WorkflowPlayRevisionManifest, required: Known code-bundle envelope while preserving schema-version additions.
            - `archive_sha256` string, nullable: SHA-256 of the immutable source archive.
            - `entrypoint` string, nullable: Archive-relative executable entrypoint.
            - `file_count` integer, nullable: Number of files in the archive.
            - `paths` string[], nullable: Sorted archive-relative file paths.
            - `schema` 'verbiflow.workflow_play_code.v1' | 'verbiflow.workflow_play_code.v2' | 'verbiflow.workflow_play_code.v3', nullable: Code-bundle schema version; absent on the oldest retained revisions.
            - `sdk_version` string, nullable: Python SDK version locked into this revision.
            - `source_hash` string, nullable: Digest of the normalized source inputs.
            - `synced_at` string, nullable: ISO 8601 publication time.
            - `uncompressed_size_bytes` integer, nullable: Total uncompressed archive size.
            - `workflow_slug` string, nullable: Workflow slug attached during publication.
          - `revision_id` string, required: Immutable code revision id.
          - `source_hash` string, required: Digest of the normalized workflow source.
          - `status` 'ready' | 'deleted', required: Stored revision lifecycle state.
        - `health` PlayOperatorHealth, required: Schedule readiness, authority, effect and notification diagnostics.
          - `authority_expires_at` string, nullable, required: ISO 8601 member authority expiry time, or null.
          - `authority_status` string, required: Current state of the schedule member authority.
          - `blocking_reasons` string[], required: Human-facing reasons the schedule cannot safely run.
          - `changed_at` string, nullable, required: ISO 8601 time of the most recent schedule health change, or null.
          - `consecutive_failures` integer, required: Consecutive failed schedule occurrences since the last success.
          - `failure_pause_class` string, nullable, required: Failure class responsible for pausing the schedule, or null.
          - `failures_by_class` object, required: Recent failure counts keyed by the runtime failure classifier.
          - `last_success_at` string, nullable, required: ISO 8601 completion time of the most recent successful occurrence, or null.
          - `schedule_lag_seconds` number, nullable, required: Seconds past the next due occurrence, or null when no time-driven occurrence is due.
          - `status` string, required: Lifecycle state recorded by the owning operation.
          - `undelivered_outputs` integer, required: Number of completion notifications still awaiting delivery.
          - `unknown_effects` integer, required: Number of effects whose provider outcome is unresolved.
          - `unresolved_owner_mappings` integer, required: Number of notification recipients without a resolved owner mapping.
        - `latest_verification` PlayOperatorVerification, required: Verification attempt relevant to the current schedule draft.
          - `completed_at` string, nullable, required: ISO 8601 completion time, or null while incomplete.
          - `created_at` string, nullable, required: ISO 8601 creation time recorded by the owning service.
          - `error` PlayError, required: Known error fields plus sanitized producer-specific diagnostic data.
            - `code` string: Stable sanitized error code when the producer supplied one.
            - `message` string: Sanitized human-facing explanation.
          - `expires_at` string, nullable, required: ISO 8601 verification expiry time, or null.
          - `revision_id` string, required: Immutable Play revision id.
          - `run_id` string, nullable, required: Canonical Play run id when one is associated, or null.
          - `status` 'pending' | 'passed' | 'failed', required: Lifecycle state recorded by the owning operation.
          - `verification_id` string, required: Immutable verification attempt id.
        - `lifecycle` 'draft' | 'verifying' | 'verified' | 'active' | 'paused' | 'degraded', required: Derived operator lifecycle state of this schedule.
        - `next_run_at` string, nullable, required: ISO 8601 next due occurrence time, or null for a schedule without a due time.
        - `notification_preview_href` string, nullable, required: Authenticated activation-review route for the retained notification preview, or null.
        - `run_template` object, required: Revision-defined JSON input supplied to each scheduled occurrence.
        - `schedule_id` string, required: Stable schedule id within this Play.
        - `schedule_slug` string, required: Stable human-readable schedule name within the Play.
        - `schedule_spec` union, required: Timing rule for a Play schedule. Interval schedules repeat after a duration; calendar schedules run at a local wall-clock time; once schedules run once; manual schedules run only through run-now or admitted events.
          - union
            - object
              - …
            - object
              - …
          - object
            - `at` string, date-time: Timezone-aware occurrence time. next_run_at may supply it instead.
            - `type` 'once', required: Selects a single occurrence.
          - object
            - `type` 'manual', required: Disables time-driven occurrences while allowing manual and event admission.
        - `short_active_revision_id` string, nullable, required: Display-only shortened active revision id, or null; never use as identity authority.
        - `short_draft_revision_id` string, nullable, required: Display-only shortened draft revision id, or null; never use as identity authority.
        - `status` 'enabled' | 'disabled', required: Lifecycle state recorded by the owning operation.
        - `summary` string, required: Human-facing explanation of the current schedule lifecycle.
    - `pending_actions` PlayPendingAction[], required: Persisted proposed actions awaiting execution or a member decision.
      - `created_at` string, required: ISO 8601 creation time recorded by the owning service.
      - `id` string, required: Durable identifier within the owning Play or run.
      - `idempotency_key` string, nullable, required: Stable identity used to adopt an existing action instead of creating another, or null.
      - `kind` string, required: Producer-defined classification of this record.
      - `label` string, required: Human-facing label.
      - `payload` object, required: Sanitized JSON evidence defined by the originating operation or event.
      - `play_id` string, required: Canonical workspace-scoped Play id.
      - `reason` string, nullable, required: Human-facing explanation for the recorded state or requested action.
      - `requires_human` boolean, required: Whether this action requires an explicit member decision.
      - `risk` string, required: Declared risk classification of this action.
      - `status` string, required: Lifecycle state recorded by the owning operation.
      - `updated_at` string, required: ISO 8601 last durable update time.
    - `pending_approvals` PlayPendingApproval[], required: Pending member decisions with their exact approval identities.
      - `approval_key` string, nullable, required: Stable approval key within the authored step, or null.
      - `created_at` string, required: ISO 8601 creation time recorded by the owning service.
      - `decided_at` string, nullable, required: ISO 8601 member decision time, or null while pending.
      - `decided_by` string, nullable, required: Member who decided this approval, or null.
      - `effect` string, required: Declared effect classification or name.
      - `id` string, required: Durable identifier within the owning Play or run.
      - `payload` object, required: Sanitized JSON evidence defined by the originating operation or event.
      - `play_id` string, required: Canonical workspace-scoped Play id.
      - `requested_by_agent` string, nullable, required: Agent identity that requested this approval, or null.
      - `risk_summary` string, required: Human-facing summary of the proposed effect and its risk.
      - `run_id` string, nullable, required: Canonical Play run id when one is associated, or null.
      - `status` string, required: Lifecycle state recorded by the owning operation.
      - `step_name` string, nullable, required: Authored step that requested the approval, or null.
      - `updated_at` string, required: ISO 8601 last durable update time.
    - `revision` PlayRevisionContract: Immutable revision identity and its authored input/output JSON Schemas.
      - `input_schema` object, required: JSON Schema that defines the exact input accepted by this immutable revision.
      - `output_schema` object, required: JSON Schema that defines the result produced by this immutable revision.
      - `revision_id` string, required: Immutable Play revision id.
    - `runs` WorkflowPlayRunRecord[], required: Recent canonical Play runs and their published outputs.
      - `approval` PlayRunApproval: Sanitized approval presented alongside a blocked Play run.
        - `approval_id` string, required: Durable pending approval id.
        - `choices` PlayApprovalChoice[], required: Available member decisions for this pending approval.
          - `id` string, required: Durable identifier within the owning Play or run.
          - `label` string, required: Human-facing label.
        - `details` object, required: Effect-specific sanitized JSON evidence for the requested decision.
        - `message` string, required: Sanitized human-facing explanation.
      - `completed_at` string, nullable, required: ISO 8601 completion time, or null while incomplete.
      - `duration_seconds` number, nullable, required: Recorded elapsed duration in seconds, or null when unavailable.
      - `final_row_count` integer, required: Published final row count for this run.
      - `id` string, required: Durable identifier within the owning Play or run.
      - `last_error` PlayError, required: Known error fields plus sanitized producer-specific diagnostic data.
        - `code` string: Stable sanitized error code when the producer supplied one.
        - `message` string: Sanitized human-facing explanation.
      - `metrics` PlayMetric[], required: Display-ready metrics published in the workflow snapshot.
        - `hint` string, nullable, required: Optional explanatory text accompanying a displayed metric.
        - `id` string, required: Durable identifier within the owning Play or run.
        - `label` string, required: Human-facing label.
        - `scope` string, nullable, required: Accounting or presentation scope selected by the producer.
        - `unit` string, nullable, required: Optional unit accompanying the displayed metric.
        - `value` string, required: Display-ready metric value.
      - `mode` string, required: Persisted execution mode.
      - `operations` PlayOperation[], required: Persisted operation evidence attributed to this run.
        - `artifact_id` string, nullable: Related published artifact id, or null.
        - `completed_at` string, nullable: ISO 8601 completion time, or null while incomplete.
        - `created_at` string, nullable: ISO 8601 creation time recorded by the owning service.
        - `credits_used` number: Customer credits attributed to this record.
        - `duration_seconds` number, nullable: Recorded elapsed duration in seconds, or null when unavailable.
        - `effect` string, nullable: Declared effect classification or name.
        - `error` string, nullable: Sanitized failure information, or null when none was recorded.
        - `id` string: Durable identifier within the owning Play or run.
        - `job_id` string, nullable: Related provider job id, or null.
        - `kind` string: Producer-defined classification of this record.
        - `label` string: Human-facing label.
        - `output_ids` string[]: Output identifiers attributed to this operation or step.
        - `payload` union: Recursive JSON with finite numbers; keys and values are defined by the Play or event producer.
          - string
          - integer
          - number
          - boolean
          - PlayJsonValueOutput[]
          - object
        - `rows_read` integer: Rows read by the counted operations.
        - `rows_written` integer: Rows written by the counted operations.
        - `sdk_path` string, nullable: Public SDK operation responsible for this evidence, or null.
        - `started_at` string, nullable: ISO 8601 start time recorded for this execution.
        - `status` string: Lifecycle state recorded by the owning operation.
        - `step_id` string, nullable: Owning workflow step id, or null.
      - `outputs` WorkflowPlayOutputRecord[], required: Published outputs owned by this canonical Play run.
        - union: Published deliverable or verified hosted recovery workspace.
          - WorkflowPlayPublishedOutput: A published output or legacy identity-only output with producer-defined content.
            - `artifact_entry_media_type` string: Canonical artifact entrypoint media type when published.
            - `artifact_entry_sha256` string: SHA-256 digest of the canonical artifact entrypoint when published.
            - `artifact_entry_size_bytes` integer: Exact canonical artifact entrypoint byte size when published.
            - `artifact_href` string: Workspace artifact page URL when publication completed.
            - `artifact_id` string: Canonical immutable artifact id when publication completed.
            - `artifact_presentation` WorkflowPlayArtifactPresentation: Canonical links and entry metadata for one immutable Play output artifact.
              - …
            - `bundle_paths` string[]: Additional safe relative paths in this output bundle.
            - `content_href` string: Authenticated canonical entrypoint content URL when published.
            - `created_at` string: ISO 8601 time recorded when the output was admitted.
            - `description` string, nullable: Optional human-readable output description.
            - `download_href` string: Authenticated canonical entrypoint download URL when published.
            - `entrypoint_path` string, nullable: Safe relative artifact entrypoint path, or null when none exists.
            - `file_paths` string[]: Safe relative paths declared for this output bundle.
            - `file_size_bytes` integer, nullable: Declared output byte size when supplied, or null.
            - `id` string, required: Durable output id within the publishing Play run.
            - `kind` 'html' | 'status_report' | 'text' | 'markdown' | 'csv' | 'json' | 'pdf' | 'image' | 'audio' | 'video' | 'archive' | 'table_preview' | 'artifact' | 'sequence_import' | 'sequence_stage' | 'sequence_audience_sync' | 'file' | 'link': Declared representation or workflow action of a published Play output.
            - `label` string: Human-readable output label.
            - `legacy_content_href` string, nullable: Legacy or projected content URL when one exists, or null.
            - `manifest_digest` string: Canonical artifact manifest digest when publication completed.
            - `output_ref` PlayOutputRefRecord, required: Canonical identity required to read one published Play output.
              - …
            - `payload` union: Recursive JSON value; numbers must be finite.
              - …
            - `presentation_role` 'primary_result' | 'supporting_result' | 'operator_recovery': Placement of an output in the Play result and recovery experience.
            - `preview_html` string, nullable: Sanitized HTML preview text, or null.
            - `preview_rows` object[]: At most 100 preview rows with scalar values or sanitized JSON text.
              - …
            - `row_count` integer, nullable: Output row count when applicable, or null.
            - `table_name` string, nullable: Workflow table backing a table preview, or null.
          - WorkflowPlayHostedOutput: Recovery workspace published by a hosted Workflow Play executor.
            - `artifact_entry_media_type` string: Canonical artifact entrypoint media type when published.
            - `artifact_entry_sha256` string: SHA-256 digest of the canonical artifact entrypoint when published.
            - `artifact_entry_size_bytes` integer: Exact canonical artifact entrypoint byte size when published.
            - `artifact_href` string: Workspace artifact page URL when publication completed.
            - `artifact_id` string: Canonical immutable artifact id when publication completed.
            - `artifact_presentation` WorkflowPlayArtifactPresentation: Canonical links and entry metadata for one immutable Play output artifact.
              - …
            - `attempt_run_id` string: Underlying executor attempt id when retained; never use it as a public output reference.
            - `bundle_paths` string[]: Additional safe relative paths in this output bundle.
            - `content_href` string: Authenticated canonical entrypoint content URL when published.
            - `created_at` string: ISO 8601 time recorded when the output was admitted.
            - `description` string, nullable: Optional human-readable output description.
            - `download_href` string: Authenticated canonical entrypoint download URL when published.
            - `entrypoint_path` string, nullable: Safe relative artifact entrypoint path, or null when none exists.
            - `file_paths` string[]: Safe relative paths declared for this output bundle.
            - `file_size_bytes` integer, nullable: Declared output byte size when supplied, or null.
            - `id` string, required: Durable output id within the publishing Play run.
            - `kind` 'hosted_workflow', required: Published output discriminator; hosted_workflow identifies a verified recovery workspace.
            - `label` string: Human-readable output label.
            - `legacy_content_href` string, nullable: Legacy or projected content URL when one exists, or null.
            - `manifest_digest` string: Canonical artifact manifest digest when publication completed.
            - `output_ref` PlayOutputRefRecord, required: Canonical identity required to read one published Play output.
              - …
            - `payload` union: Recursive JSON value; numbers must be finite.
              - …
            - `presentation_role` 'primary_result' | 'supporting_result' | 'operator_recovery': Placement of an output in the Play result and recovery experience.
            - `preview_html` string, nullable: Sanitized HTML preview text, or null.
            - `preview_rows` object[]: At most 100 preview rows with scalar values or sanitized JSON text.
              - …
            - `row_count` integer, nullable: Output row count when applicable, or null.
            - `summary` WorkflowPlayHostedOutputSummary, required: Verified workspace archive metadata plus the executor's declared JSON result.
              - …
            - `table_name` string, nullable: Workflow table backing a table preview, or null.
      - `policy` PlayRunPolicy, required: Public subset of the persisted workflow execution policy.
        - `checkpoint_scope` 'preview' | 'production': Whether state belongs to an isolated preview or production lineage.
        - `max_items` integer, nullable: Maximum items permitted in the source batch, or null for no explicit bound.
        - `max_source_rows` integer, nullable: Maximum source rows to acquire, or null for no explicit bound.
        - `mode` 'preview' | 'batch' | 'production': Persisted execution mode.
        - `pipelined` boolean: Whether downstream work may start before upstream work fully completes.
        - `retry_errors` boolean: Whether the local run policy permits retrying failed work.
        - `side_effects` 'plan' | 'confirm' | 'execute': Side-effect policy recorded for this run.
        - `since_checkpoint` boolean: Whether acquisition begins at the last committed source checkpoint.
        - `source_end` string, nullable: Exclusive ISO source boundary retained by older run policies, or null.
        - `source_start` string, nullable: Inclusive ISO source boundary retained by older run policies, or null.
        - `source_window` PlaySourceWindow: Source boundaries retained by a local workflow run policy.
          - `end` string, nullable: Exclusive source-window end in ISO format, or null when unbounded.
          - `label` string, nullable: Human-facing label.
          - `since_checkpoint` boolean: Whether acquisition begins at the last committed source checkpoint.
          - `start` string, nullable: Inclusive source-window start in ISO format, or null when unbounded.
      - `policy_label` string, required: Human-facing label of the execution policy.
      - `primary_output` PlayPrimaryOutput: Display-only primary result summary; full outputs own read references.
        - `description` string, nullable, required: Optional human-facing description.
        - `id` string, required: Durable identifier within the owning Play or run.
        - `label` string, required: Human-facing label.
        - `row_count` integer, nullable, required: Published output row count when applicable, or null.
      - `result` object, nullable, required: Revision-defined sanitized terminal JSON result, or null.
      - `revision_id` string, nullable, required: Immutable Play revision id.
      - `snapshot_state` string, required: Publication state of this snapshot: draft, diagnostic or final.
      - `source_window_label` string, required: Human-facing source-window description for the run.
      - `started_at` string, required: ISO 8601 start time recorded for this execution.
      - `status` string, required: Lifecycle state recorded by the owning operation.
      - `steps` PlayRunStep[], required: Persisted step states with activity, effects and operation evidence.
        - `activity` PlayStepActivity[], required: Bounded recent human-facing activity recorded for this step.
          - `created_at` string, nullable, required: ISO 8601 creation time recorded by the owning service.
          - `event_type` string, required: Stable durable event type selected by the producer.
          - `label` string, required: Human-facing label.
        - `completed_at` string, nullable, required: ISO 8601 completion time, or null while incomplete.
        - `duration_seconds` number, nullable, required: Recorded elapsed duration in seconds, or null when unavailable.
        - `effects` string[], required: Effect classifications declared by the authored step.
        - `error` string, nullable, required: Sanitized failure information, or null when none was recorded.
        - `id` string, required: Durable identifier within the owning Play or run.
        - `label` string, required: Human-facing label.
        - `name` string, required: Authored workflow step name.
        - `operations` PlayOperation[], required: Persisted operation evidence attributed to this run or step.
          - `artifact_id` string, nullable: Related published artifact id, or null.
          - `completed_at` string, nullable: ISO 8601 completion time, or null while incomplete.
          - `created_at` string, nullable: ISO 8601 creation time recorded by the owning service.
          - `credits_used` number: Customer credits attributed to this record.
          - `duration_seconds` number, nullable: Recorded elapsed duration in seconds, or null when unavailable.
          - `effect` string, nullable: Declared effect classification or name.
          - `error` string, nullable: Sanitized failure information, or null when none was recorded.
          - `id` string: Durable identifier within the owning Play or run.
          - `job_id` string, nullable: Related provider job id, or null.
          - `kind` string: Producer-defined classification of this record.
          - `label` string: Human-facing label.
          - `output_ids` string[]: Output identifiers attributed to this operation or step.
          - `payload` union: Recursive JSON with finite numbers; keys and values are defined by the Play or event producer.
            - string
            - integer
            - number
            - boolean
            - PlayJsonValueOutput[]
            - object
          - `rows_read` integer: Rows read by the counted operations.
          - `rows_written` integer: Rows written by the counted operations.
          - `sdk_path` string, nullable: Public SDK operation responsible for this evidence, or null.
          - `started_at` string, nullable: ISO 8601 start time recorded for this execution.
          - `status` string: Lifecycle state recorded by the owning operation.
          - `step_id` string, nullable: Owning workflow step id, or null.
        - `output_ids` string[], required: Output identifiers attributed to this operation or step.
        - `reads` string[], required: Workflow tables declared as step inputs.
        - `rows_read` integer, required: Rows read by the counted operations.
        - `rows_written` integer, required: Rows written by the counted operations.
        - `started_at` string, nullable, required: ISO 8601 start time recorded for this execution.
        - `status` 'pending' | 'running' | 'blocked' | 'completed' | 'failed' | 'skipped', required: Lifecycle state recorded by the owning operation.
        - `writes` string[], required: Workflow tables declared as step outputs.
      - `trigger` PlayRunTrigger, required: Admission source retained with the canonical Play run.
        - `kind` string, required: Producer-defined classification of this record.
        - `trigger_id` string, nullable, required: Durable trigger or schedule id when one exists, or null.
      - `usage` PlayRunUsage, required: Snapshot usage with known aggregates and producer-specific accounting evidence.
        - `artifact_jobs` integer: Number of artifact-producing operations.
        - `by_kind` PlayUsageKind[]: Usage grouped by the producer-defined operation kind.
          - `credits_used` number, required: Customer credits attributed to this record.
          - `kind` string, required: Producer-defined classification of this record.
          - `operation_count` integer, required: Number of operations included in this aggregate.
          - `rows_read` integer, required: Rows read by the counted operations.
          - `rows_written` integer, required: Rows written by the counted operations.
        - `credits_used` number: Customer credits attributed to this record.
        - `enrichment_jobs` integer: Number of enrichment operations.
        - `provider_jobs` integer: Number of provider-job operations.
        - `rows_read` integer: Rows read by the counted operations.
        - `rows_staged` integer: Rows staged into sequences by the counted operations.
        - `rows_written` integer: Rows written by the counted operations.
        - `sequence_stages` integer: Number of sequence-stage operations.
    - `selected_run_id` string, nullable, required: Canonical selected Play run id, or null when the Play has no runs.
    - `sync_state` PlaySyncState, required: Synchronization metadata; registration may attach portable JSON extensions.
      - `auto_sync` boolean: Whether the authoring root requested automatic synchronization.
      - `code_sync_state` string: Current state of code revision synchronization.
      - `is_stale` boolean: Whether the latest local runtime snapshot is considered stale.
      - `last_snapshot_at` string: ISO 8601 time of the last accepted local runtime snapshot.
      - `latest_code_archive_sha256` string: SHA-256 of the latest synchronized source archive.
      - `latest_code_revision_id` string: Latest synchronized immutable source revision id.
      - `latest_code_source_hash` string: Semantic digest of the latest synchronized source tree.
      - `latest_code_synced_at` string: ISO 8601 time of the latest source synchronization.
      - `latest_revision_digest` string: Canonical digest of the latest published executor specification.
      - `latest_revision_id` string: Latest immutable published Play revision id.
      - `latest_revision_kind` 'prompt' | 'workflow': Executor kind of the latest immutable revision.
      - `local_root_label` string: Portable label of the editable authoring root.
      - `runtime_state` string: Latest runtime state reported by synchronization or execution.
      - `snapshot_state` string: Publication state of this snapshot: draft, diagnostic or final.

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