---
title: "Check status of up to 25 blog workflows at once"
method: POST
path: "/v1/ai/workspace/blog/status/batch"
tags: ["Workflows"]
---

# Check status of up to 25 blog workflows at once

`POST /v1/ai/workspace/blog/status/batch`

## Request

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

Poll the status of many blog-creation workflows in one request. Returns an overall rollup `status` plus a per-item array.

## Request body

- BatchStatusRequest
  - `workflow_ids` string[], required: Array of workflow_ids to poll. Between 1 and 25 items.

## Response `200`

Batch status retrieved

- BatchBlogStatusResponse
  - `success` true, required
  - `done` boolean, required: True once every item has reached a terminal state.
  - `status` 'scheduled' | 'running' | 'complete' | 'partial' | 'errored', required: - `scheduled`: every item is scheduled - `running`: at least one item is still running or scheduled - `complete`: every item finished cleanly - `partial`: every item is terminal but some errored - `errored`: every item errored
  - `message` string, required: Human-readable summary of the batch, safe to quote.
  - `summary` object, required
    - `total` number, required: Total items polled
    - `complete` number, required: Items complete
    - `running` number, required: Items still running (includes scheduled)
    - `partial` number, required: Items with partial outcome (website only)
    - `errored` number, required: Items errored
    - `not_found` number, required: workflow_ids that could not be found (or belong to a different workflow type).
  - `poll_after_ms` number: Suggested delay before polling again while `done` is false.
  - `items` BatchBlogStatusItem[], required: Per-workflow status, in the same order as the requested workflow_ids.
    - `success` boolean, required: True if the workflow was found and polled. False for not-found or wrong-type workflows.
    - `workflow_id` string, required: The workflow_id you requested
    - `done` boolean: Whether this item is in a terminal state (absent when `success` is false).
    - `status` 'scheduled' | 'running' | 'complete' | 'partial' | 'errored': Normalized status for this item (absent when `success` is false).
    - `message` string: Human-readable message for this item.
    - `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: Error message when the item errored or was not found.

## Other responses

- `400`: Invalid request
- `401`: Unauthorized
- `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)
