---
title: "Read the playbook-first workflow guide"
method: GET
path: "/workflow"
tags: ["Workflow"]
---

# Read the playbook-first workflow guide

`GET /workflow`

## Request

- Base URL: `https://gtmswag.com/api/v1`
- URL: `https://gtmswag.com/api/v1/workflow`
- Auth: HTTP bearer

Start here. Returns the connected workspace's mode (`test` or `live`), what this key may do (`capabilities`), the playbook-first and batch steps, what each `approval.reason` means, limits, and a recovery rule per error code. Same as MCP `get_workflow_guide`.

## Response `200`

Success: `{"data": WorkflowGuide}`.

- WorkflowGuideResponse: The success body: `{"data": WorkflowGuide}`.
  - `data` WorkflowGuide, required: What this key may do in this workspace, the playbook-first and batch steps, limits and a recovery rule per error code.
    - `mode` 'test' | 'live', required
    - `connectorCanSend` boolean, required
    - `approvalRequired` boolean, required
    - `reviewUrlTemplate` string, required
    - `usageOrder` string, required
    - `steps` string[], required
    - `batchSteps` string[], required
    - `tracking` string, required
    - `limits` object, required
      - `sourceUploadParts` integer, required
      - `sourceUploadSerializedBytes` integer, required
      - `sourceUploadExpiryHours` integer, required
    - `recovery` object, required
      - `LIVE_ADDRESSLESS_UNAVAILABLE` string, required
      - `CAPABILITY_RETIRED` string, required
      - `UPLOAD_CAPACITY` string, required
      - `INSUFFICIENT_BALANCE` string, required
      - `BUDGET_CAP` string, required
      - `PLAYBOOK_OFF` string, required
      - `PLAYBOOK_BUSY` string, required
      - `NOT_ALWAYS_ON` string, required
      - `APPROVAL_REQUIRED` string, required
      - `MODE_LOCKED` string, required
      - `RECIPIENT_SKIPPED` string, required
      - `INSUFFICIENT_SCOPE` string, required
      - `AUTH_REQUIRED` string, required

## Other responses

- `401`: Not authenticated: `AUTH_REQUIRED`. no credentials, or an OAuth token on a route that only takes workspace keys; the key is malformed, unknown or revoked.
- `429`: Too many requests: `RATE_LIMIT`. more than 240 requests in the current minute for this workspace (REST and MCP share the limit); wait `retryAfterMs`.
- `default`: Any other refusal or failure, such as 403 CSRF (a cross-origin `Origin` header), 403 HTTPS_REQUIRED or 500 INTERNAL_ERROR, with what to do next.

---

[API](https://skmtc.dev/gtmswag/apis/gtm-swag-api.md) · [All operations](https://skmtc.dev/gtmswag/apis/gtm-swag-api/llms.txt) · [OpenAPI document](https://skmtc.dev/gtmswag/apis/gtm-swag-api/revisions/9ff86fa99afe?raw)
