---
title: "Inspect source, participant, evidence, media, destination, and approval status for an agent workflow."
method: GET
path: "/api/v1/research-studies/{studyId}/workflow-status"
tags: ["Research Studies"]
---

# Inspect source, participant, evidence, media, destination, and approval status for an agent workflow.

`GET /api/v1/research-studies/{studyId}/workflow-status`

## Request

- Base URL: `https://commentary.dev`
- URL: `https://commentary.dev/api/v1/research-studies/{studyId}/workflow-status`
- Auth: HTTP bearer

Returns bounded owner-authorized projections and actionable issue codes for approval_required, stale_study_revision, unsynced_evidence, source_conflict, and destination_unavailable. It never returns participant identity, signed media URLs, provider credentials, or raw repository URLs.

## Path parameters

- `studyId` string, required

## Headers

- `X-Commentary-Workspace-Id` string
- `X-Correlation-Id` string

## Response `200`

Successful response.

- object
  - `ok` unknown, required
  - `studyId` string, required
  - `blockingIssues` object[], required
    - `code` 'approval_required' | 'stale_study_revision' | 'unsynced_evidence' | 'source_conflict' | 'destination_unavailable', required
    - `message` string, required
    - `action` string, required

## Other responses

- `400`: The request was invalid.
- `401`: Authentication is required.
- `403`: The token or session does not have permission for this resource.
- `404`: The resource was not found.
- `429`: The request was rate limited.

---

[API](https://skmtc.dev/commentary/apis/commentary-public-api.md) · [All operations](https://skmtc.dev/commentary/apis/commentary-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/commentary/apis/commentary-public-api/revisions/7aaafc198c52?raw)
