> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dialtu.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List stages in a pipeline

> List every stage of a pipeline, ordered by position, with the number of
active clients currently in each one.



## OpenAPI

````yaml GET /api/v2/public/salesflow/pipelines/{pipeline_id}/stages
openapi: 3.1.0
info:
  title: Dialtu Public API
  version: '2.0'
  description: >-
    Programmatic access to your Dialtu account: schedule AI voice calls, create
    contacts, push leads into Salesflow pipelines, book calendar appointments
    and read WhatsApp conversation history.


    Every request is authenticated with an API key created in the dashboard
    under **Settings → API Keys**, sent as `Authorization: Bearer pk_...`.
servers:
  - url: https://api.dialtu.com
    description: Production
  - url: https://api.stg.dialtu.com
    description: Staging
security:
  - ApiKeyBearer: []
tags:
  - name: Calls
    description: Schedule outbound AI voice calls.
  - name: Clients
    description: Create contacts in your account.
  - name: Salesflow
    description: Push leads into a pipeline through an API input node.
  - name: Salesflow pipelines
    description: Read a pipeline's stages and add, move or remove clients.
  - name: Calendar
    description: Check bookable capacity, book appointments and manage waiting lists.
  - name: WhatsApp
    description: Read-only conversation history and transcripts.
paths:
  /api/v2/public/salesflow/pipelines/{pipeline_id}/stages:
    get:
      tags:
        - Salesflow pipelines
      summary: List stages in a pipeline
      description: |-
        List every stage of a pipeline, ordered by position, with the number of
        active clients currently in each one.
      operationId: listPipelineStages
      parameters:
        - in: path
          name: pipeline_id
          schema:
            description: >-
              ID of the pipeline. Shown in the Salesflow editor URL and in the
              pipeline settings.
            title: Pipeline Id
            type: integer
          required: true
          description: >-
            ID of the pipeline. Shown in the Salesflow editor URL and in the
            pipeline settings.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicStageListResponse'
        '401':
          description: Missing, malformed or revoked API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailErrorResponse'
              examples:
                missing_header:
                  summary: No Authorization header
                  value:
                    detail: Unauthorized
                invalid_key:
                  summary: Unknown or revoked key
                  value:
                    detail: Invalid or expired API key. Please check your credentials.
        '422':
          description: The request did not match the documented schema.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestValidationError'
              example:
                detail:
                  - type: missing
                    loc:
                      - body
                      - payload
                      - phone_number
                    msg: Field required
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicPipelineErrorResponse'
      security:
        - ApiKeyBearer: []
components:
  schemas:
    PublicStageListResponse:
      description: Response for listing pipeline stages.
      properties:
        status:
          const: success
          default: success
          description: Always `success`.
          title: Status
          type: string
        data:
          description: Stages ordered by `position`.
          items:
            $ref: '#/components/schemas/PublicStageSchema'
          title: Data
          type: array
        count:
          default: 0
          description: Number of stages returned.
          title: Count
          type: integer
      title: PublicStageListResponse
      type: object
    DetailErrorResponse:
      description: 'Plain error body: `{"detail": "..."}`. No `error_code` is included.'
      properties:
        detail:
          description: Human-readable reason for the failure.
          title: Detail
          type: string
      required:
        - detail
      title: DetailErrorResponse
      type: object
    RequestValidationError:
      title: RequestValidationError
      type: object
      description: >-
        Returned when the request body, query string or path could not be parsed
        against the documented schema. Fix the listed fields and retry.
      properties:
        detail:
          type: array
          title: Detail
          description: One entry per invalid field.
          items:
            $ref: '#/components/schemas/RequestValidationErrorItem'
      required:
        - detail
    PublicPipelineErrorResponse:
      description: Error response for pipeline operations.
      properties:
        status:
          const: error
          description: Error status
          title: Status
          type: string
        error_code:
          description: Machine-readable error code
          title: Error Code
          type: string
        message:
          description: Human-readable error message
          title: Message
          type: string
      required:
        - status
        - error_code
        - message
      title: PublicPipelineErrorResponse
      type: object
    PublicStageSchema:
      description: Stage within a pipeline.
      properties:
        id:
          description: Stage ID.
          title: Id
          type: integer
        name:
          description: Stage name as shown in the pipeline board.
          title: Name
          type: string
        stage_type:
          description: >-
            `standard` (AI may act), `human_only` (AI paused, a person follows
            up), or `final` (closing stage).
          title: Stage Type
          type: string
        position:
          description: Zero-based order of the stage in the pipeline.
          title: Position
          type: integer
        color:
          description: Hex color of the stage.
          title: Color
          type: string
        is_entry_point:
          description: Whether new clients enter the pipeline at this stage.
          title: Is Entry Point
          type: boolean
        client_count:
          default: 0
          description: Active clients currently in the stage.
          title: Client Count
          type: integer
      required:
        - id
        - name
        - stage_type
        - position
        - color
        - is_entry_point
      title: PublicStageSchema
      type: object
    RequestValidationErrorItem:
      title: RequestValidationErrorItem
      type: object
      properties:
        loc:
          type: array
          title: Loc
          description: >-
            Where the problem is: the first element is `body`, `query` or
            `path`, followed by the field path.
          items:
            anyOf:
              - type: string
              - type: integer
        msg:
          type: string
          title: Msg
          description: What is wrong with the value.
        type:
          type: string
          title: Type
          description: >-
            Machine-readable validation error type, e.g. `missing` or
            `int_parsing`.
      required:
        - loc
        - msg
        - type
  securitySchemes:
    ApiKeyBearer:
      type: http
      scheme: bearer
      bearerFormat: pk_...
      description: >-
        API key created in the dashboard under **Settings → API Keys**. Send it
        as `Authorization: Bearer pk_...`.

````