Skip to main content
Pipelines model your sales (or other) workflow. Each pipeline has an ordered list of stages, and each stage holds cards — usually one per deal or opportunity. Pipelines and stages are read-only via the API; cards support full CRUD.

Resources

Pipelines

The top-level container, owned by an agent

Stages

Ordered columns within a pipeline

Cards

Individual deals living in a stage

The Pipeline object

id
string
workspace_id
string
bot_id
string
name
string
is_default
boolean
is_private
boolean
created_at
string
ISO 8601 timestamp.
updated_at
string
ISO 8601 timestamp.

List pipelines

method
GET
GET /api/v1/pipelines

Query parameters

Example


The Stage object

id
string
bot_id
string
pipeline_id
string
name
string
color
string
Hex color (e.g. "#0586ff").
order_index
integer
0-indexed position within the pipeline.
created_at
string
updated_at
string

List pipeline stages

method
GET
GET /api/v1/pipelines/{id}/stages
Returns every stage in the pipeline, sorted by order_index. Not paginated — the response shape is { "data": [...] } with no pagination object.

Example


The Pipeline Card object

id
string
pipeline_stage_id
string
The stage the card is currently in.
contact_id
string | null
The contact associated with this card, if any.
title
string
description
string | null
tags
string[]
order_index
integer
Position within the stage. Lower values sort first.
archived_at
string | null
ISO 8601 timestamp the card was archived. null if active.
created_at
string
updated_at
string

List pipeline cards

method
GET
GET /api/v1/pipeline-cards

Query parameters

Example


Get a pipeline card

method
GET
GET /api/v1/pipeline-cards/{id}

Example


Create a pipeline card

method
POST
POST /api/v1/pipeline-cards
Requires a key with the write scope.

Body fields

Example


Update a pipeline card

method
PATCH
PATCH /api/v1/pipeline-cards/{id}
Update any combination of fields. Setting pipeline_stage_id to a new stage moves the card. Setting archived_at to an ISO 8601 timestamp archives the card; setting it to null un-archives it.

Body fields

Example: move a card to a new stage


Delete a pipeline card

method
DELETE
DELETE /api/v1/pipeline-cards/{id}
Returns 204 No Content. To preserve a card while removing it from active views, set archived_at via Update instead of deleting.