Skip to main content
POST
/
v1
/
workflows
/
reviews
/
{id}
/
approve
result = client.workflows.reviews.approve(
    "rev_D4J7WZBRV4H7C2SKQJ4NP6W2EY",
    version_id="ver_PFBGO3R6T3PG5O37U4Y3NDXWAM",
)
print(result.review.decision.verdict)
{
  "submission_status": "accepted",
  "resume_status": "resumed",
  "resume_error": null,
  "review": {
    "id": "rev_D4J7WZBRV4H7C2SKQJ4NP6W2EY",
    "workflow_id": "wf_1",
    "workflow_version_id": "wfv_1",
    "workflow_run_id": "run_abc123",
    "block_id": "block_extract",
    "step_id": "run_abc123_block_extract",
    "block_type": "extract",
    "triggered_by": { "kind": "always" },
    "awaiting_since": "2026-05-13T08:14:02.341Z",
    "priority": 0,
    "versions": {
      "ver_HQ6ZZBQTJLSGLZQCWBSI25SCOQ": {
        "parent_id": null,
        "author": {
          "kind": "model",
          "id": "retab-small",
          "display_name": "Retab Small"
        },
        "snapshot": { "total_amount": 505, "vendor_name": "Acme Corp" },
        "note": null,
        "created_at": "2026-05-13T08:14:02.341Z"
      },
      "ver_PFBGO3R6T3PG5O37U4Y3NDXWAM": {
        "parent_id": "ver_HQ6ZZBQTJLSGLZQCWBSI25SCOQ",
        "author": { "kind": "human", "id": "user_42", "display_name": "Dana Rivera" },
        "snapshot": { "total_amount": 325, "vendor_name": "Acme Corp" },
        "note": "Corrected total.",
        "created_at": "2026-05-13T09:05:00.000Z"
      }
    },
    "decision": {
      "verdict": "approved",
      "version_id": "ver_PFBGO3R6T3PG5O37U4Y3NDXWAM",
      "author": { "kind": "human", "id": "user_42", "display_name": "Dana Rivera" },
      "reason": null,
      "decided_at": "2026-05-13T09:10:00.000Z"
    }
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.retab.com/llms.txt

Use this file to discover all available pages before exploring further.

Approve one exact review version. The selected snapshot flows downstream and the workflow resumes.
result = client.workflows.reviews.approve(
    "rev_D4J7WZBRV4H7C2SKQJ4NP6W2EY",
    version_id="ver_PFBGO3R6T3PG5O37U4Y3NDXWAM",
)
print(result.review.decision.verdict)
{
  "submission_status": "accepted",
  "resume_status": "resumed",
  "resume_error": null,
  "review": {
    "id": "rev_D4J7WZBRV4H7C2SKQJ4NP6W2EY",
    "workflow_id": "wf_1",
    "workflow_version_id": "wfv_1",
    "workflow_run_id": "run_abc123",
    "block_id": "block_extract",
    "step_id": "run_abc123_block_extract",
    "block_type": "extract",
    "triggered_by": { "kind": "always" },
    "awaiting_since": "2026-05-13T08:14:02.341Z",
    "priority": 0,
    "versions": {
      "ver_HQ6ZZBQTJLSGLZQCWBSI25SCOQ": {
        "parent_id": null,
        "author": {
          "kind": "model",
          "id": "retab-small",
          "display_name": "Retab Small"
        },
        "snapshot": { "total_amount": 505, "vendor_name": "Acme Corp" },
        "note": null,
        "created_at": "2026-05-13T08:14:02.341Z"
      },
      "ver_PFBGO3R6T3PG5O37U4Y3NDXWAM": {
        "parent_id": "ver_HQ6ZZBQTJLSGLZQCWBSI25SCOQ",
        "author": { "kind": "human", "id": "user_42", "display_name": "Dana Rivera" },
        "snapshot": { "total_amount": 325, "vendor_name": "Acme Corp" },
        "note": "Corrected total.",
        "created_at": "2026-05-13T09:05:00.000Z"
      }
    },
    "decision": {
      "verdict": "approved",
      "version_id": "ver_PFBGO3R6T3PG5O37U4Y3NDXWAM",
      "author": { "kind": "human", "id": "user_42", "display_name": "Dana Rivera" },
      "reason": null,
      "decided_at": "2026-05-13T09:10:00.000Z"
    }
  }
}

Authorizations

Api-Key
string
header
required

Path Parameters

id
string
required

Opaque review id.

Body

application/json

Approve one exact review version.

version_id
string
required

Exact content-addressed key from the review's versions.

Pattern: ^ver_[A-Z2-7]{26}$

Response

Successful Response

review
ReviewResponse · object
required

Public API shape for the full review.

submission_status
string
default:accepted
Allowed value: "accepted"
resume_status
enum<string>
default:resumed
Available options:
resumed,
pending,
skipped
resume_error
string | null