WorkflowsList workflows

GET /v1/projects/{project}/workflows

List a project's custom workflows, each with its ordered steps.

curl -G https://serpon.ai/v1/projects/1/workflows \
  -H "Authorization: Bearer $SERPON_TOKEN" \
  -H "Accept: application/json" \
  -d article_type=product_datasheet
{
  "success": true,
  "data": [
    {
      "id": 12,
      "project_id": 1,
      "name": "Product Datasheet",
      "slug": "product_datasheet",
      "description": "Spec-led datasheet pipeline",
      "revision": 7,
      "is_custom": true,
      "steps": [
        {
          "id": 501,
          "workflow_id": 12,
          "project_id": 1,
          "article_type": "product_datasheet",
          "step_number": 1,
          "step_name": "Research product details",
          "step_description": "Compile specifications and use cases",
          "step_icon": "search",
          "system": "You are a technical writer specializing in product documentation.",
          "user": "Research and compile detailed specifications for: {title}.",
          "output_format": "json",
          "timeout_seconds": 120,
          "include_additional_context": true,
          "include_additional_instruction": false,
          "include_requirements": false,
          "include_research": false,
          "include_outline": false,
          "json_schema": null,
          "is_custom": true,
          "is_redacted": false,
          "created_at": "2026-07-14T09:00:00.000000Z",
          "updated_at": "2026-07-14T09:00:00.000000Z"
        }
      ],
      "created_at": "2026-07-14T09:00:00.000000Z",
      "updated_at": "2026-07-14T09:00:00.000000Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page": 1,
    "per_page": 20,
    "total": 1
  }
}

List the custom workflows defined in a project, each with its steps nested.

GET https://serpon.ai/v1/projects/{project}/workflows

Workflows come back ordered by slug, and each one's steps are ordered by step number — the order they execute in. Only this project's custom workflows are returned; built-in workflows are never listed. See Custom workflows.

This endpoint returns workflows, not individual steps. Pagination counts workflows. The step objects live under each workflow's steps array, and their id values are what the get, update, delete and reorder endpoints take.

Authentication

Bearer token in the Authorization header. Requires view access to the project. See Authentication.

Path parameters

Query parameters

query
article_typestring

Restrict to the workflow with this slug — the usual way to fetch one pipeline in running order. Matches at most one workflow.

query
per_pageinteger

Workflows per page. Default 20. Steps are not paginated; every step of a returned workflow is included.

query
pageinteger

Page number, starting at 1.

Example

Response fields

successboolean
Required

Always true on 200.

dataarray
Required

Workflows, each with the fields below.

data[].idinteger
Required

Workflow ID. Distinct from the step IDs under steps.

data[].project_idinteger

Owning project. null would indicate a built-in workflow, which this endpoint never returns.

data[].namestring
Required

Human-readable name, e.g. Product Datasheet.

data[].slugstring
Required

The workflow's article type. Pass this value as article_type when creating an article.

data[].descriptionstring

Free-text note about what the pipeline produces.

data[].revisioninteger
Required

Increments on every change to the workflow or any of its steps — create, update, delete, or reorder. Use it to detect that a pipeline changed underneath you.

data[].is_customboolean
Required

true for project-scoped workflows — always the case here.

data[].stepsarray
Required

The workflow's steps in execution order. See Get workflow step for the full field reference.

metaobject
Required

Pagination over workflows: current_page, last_page, per_page, total.

Errors

StatusWhen
401Missing, invalid, or expired token
402Account has no active subscription
403No view access to the project
404No such project
429Rate limit exceeded

A project with no custom workflows returns 200 with data: []. A workflow always has at least one step: deleting its last step deletes the workflow.

See Errors for the full reference.