---
title: "Check status of a blog-creation workflow"
method: GET
path: "/v1/ai/workspace/blog/status/{workflow_id}"
tags: ["Workflows"]
---

# Check status of a blog-creation workflow

`GET /v1/ai/workspace/blog/status/{workflow_id}`

## Request

- Base URL: `https://api.lindo.ai`
- URL: `https://api.lindo.ai/v1/ai/workspace/blog/status/{workflow_id}`
- Auth: HTTP bearer

Poll the status of a blog-creation workflow started via `POST /v1/ai/workspace/website/{website_id}/blog`. Returns an agent-friendly envelope with `done`, `status`, `message`, and (when complete) the published `result`.

## Path parameters

- `workflow_id` string, required: The workflow_id returned by the create-blog endpoint

## Response `200`

Status retrieved

- BlogWorkflowStatusResponse
  - `success` true, required: The status poll succeeded. This is independent of whether the workflow itself succeeded; check `status` for that.
  - `done` boolean, required: True once the workflow has reached a terminal state (`complete`, `partial`, or `errored`). While `false`, clients should poll again after `poll_after_ms`.
  - `status` 'scheduled' | 'running' | 'complete' | 'partial' | 'errored', required: - `scheduled`: queued to run in the future - `running`: currently executing - `complete`: fully finished with no errors - `partial`: finished, but some sub-steps (e.g. individual pages of a website) failed - `errored`: the workflow itself failed
  - `workflow_id` string, required: The workflow_id you polled
  - `message` string, required: Human-readable, safe-to-quote status message. Agents can surface this directly to end users.
  - `poll_after_ms` number: When `done` is false, suggested delay before the next status check, in milliseconds. Absent when `done` is true.
  - `result` BlogWorkflowResult: Present once the blog post has been published (`status` is `complete`).
    - `website_id` string, required: ID of the website the blog post belongs to
    - `blog_id` string, required: ID of the published blog post
    - `slug` string, required: URL slug of the blog post (path without the leading slash)
    - `path` string, required: URL path of the blog post on the website
  - `error` string: When `status` is `errored`, a machine-readable error message

## Other responses

- `400`: workflow_id exists but isn't a blog workflow
- `401`: Unauthorized - invalid or missing API key
- `404`: Workflow not found
- `500`: Internal server error

---

[API](https://skmtc.dev/lindo/apis/lindo-unified-api.md) · [All operations](https://skmtc.dev/lindo/apis/lindo-unified-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lindo/apis/lindo-unified-api/revisions/2672f34525a4?raw)
