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

# Check status of up to 25 website workflows at once

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

## Request

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

Poll the status of many website-creation workflows in one request. Returns an overall rollup `status` (scheduled / running / complete / partial / errored) 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

- BatchWebsiteStatusResponse
  - `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` BatchWebsiteStatusItem[], 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` WebsiteWorkflowResult: Present as soon as the website record is created. While running, `pages_summary` and `pages` track per-page progress. When `status` is `complete`, every page succeeded; when `partial`, the website exists but one or more additional pages failed.
      - `website_id` string, required: ID of the website
      - `website_name` string: Business name of the website
      - `domain` string: Canonical URL where the website is reachable. Returns the verified custom domain if one has been connected, otherwise the Lindo preview URL.
      - `home_page_id` string: ID of the website's home page (available once published)
      - `pages_summary` object, required: Aggregate progress across the home page and all additional pages.
        - `total` number, required: Total pages being generated, including the home page
        - `complete` number, required: Pages successfully published
        - `running` number, required: Pages still being generated
        - `errored` number, required: Pages that failed to generate
      - `pages` WebsitePageEntry[], required: Every page being generated for the website, including the home page.
        - `page_id` string: ID of the published page (absent while running or if errored before publish)
        - `slug` string, required: URL slug of the page. Empty string for the home page.
        - `path` string, required: URL path of the page. '/' for the home page.
        - `status` 'running' | 'complete' | 'errored', required: Status of this individual page
        - `error_message` string: Error message (only when `status` is `errored`)
    - `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)
