Skip to main content

About

Manage your deal pipelines programmatically — list pipelines and their stages, create new pipelines, edit stage structure — and read the same pipeline analytics that power the app’s Analytics pages: won/lost outcomes, stage durations, and the stage-to-stage funnel. All operations go through the developer API gateway — one endpoint, called by operationId. If you haven’t set up a key yet, start with the Developer API Overview.

Operations

Reading pipelines (READ scope)

Managing pipeline structure (WRITE scope)

A dependencyResolution can delete deals, not just move themWhen a stage still holds deals, getDeletionImpact returns the destination stages you can move them to plus a synthetic “delete all deals in this stage” option. Choosing that option permanently deletes every deal on the stage — archived deals included — with no undo.The two kinds of option come back in the same list, so any client that builds a dependencyResolution programmatically must tell them apart: a replacement stage id reassigns, the delete-all id destroys. Never pass an option straight through from getDeletionImpact without checking which one it is.
Owner-only structure editsEditing pipeline structure (updatePipeline, addPipelineStages, updatePipelineStage, reorderPipelineStages) requires the pipeline to be owned by your organization. A pipeline merely shared with you through a partnership can hold your deals, but its structure can only be changed by the owning org — otherwise the call returns 403 forbidden.
Finding a new pipeline’s idcreatePipeline returns your full pipeline list rather than just the new pipeline (names aren’t unique and order isn’t creation order). Call listPipelines first, create, then diff the ids — and use distinct titles if you create pipelines concurrently.

Pipeline analytics (ADMIN scope)

Reporting reads over the same nightly snapshots as the web app’s Analytics pages — each response carries the asOfDate it was computed. Both take an optional period: SEVEN_DAYS | FOURTEEN_DAYS | THIRTY_DAYS | YEAR_TO_DATE (default THIRTY_DAYS).
Rate-limitedAnalytics operations are rate-limited per key. Exceeding the limit returns 429 rate_limited with a Retry-After header — back off and retry after that many seconds. Team-level analytics (per-agent activity and outcomes) live in the Team API.

Example

Read the funnel for one pipeline over the last 14 days:
Full variable schemas, response shapes, and worked examples for every operation are available from the discovery endpoint.