Skip to main content
GET
Retrieve a deal

Authorizations

Authorization
string
header
required

A workspace API token. Create one in Settings → API. Send it as Authorization: Bearer sk_live_....

Path Parameters

deal_id
string
required

Unique identifier for a deal.

Pattern: ^deal_[0-9a-f]{32}$
Example:

"deal_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4"

Query Parameters

expand
string | null

Comma-separated relationships to inline in the response. Unexpanded relations are still identified by their *_id field.

Example:

"organization,owner"

fields
string | null

Comma-separated fields to return. object and id are always included. Reduces payload size, not query cost.

Example:

"name,email,organization_id"

Response

Successful Response

A negotiation in a pipeline, with a contact and/or an organization.

created_at
string<date-time>
required
id
string
required

Unique identifier for a deal.

Pattern: ^deal_[0-9a-f]{32}$
Example:

"deal_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4"

pipeline_id
string
required

Unique identifier for a pipeline.

Pattern: ^pipe_[0-9a-f]{32}$
Example:

"pipe_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4"

stage_id
string
required

Unique identifier for a stage.

Pattern: ^stg_[0-9a-f]{32}$
Example:

"stg_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4"

title
string
required
updated_at
string<date-time>
required
visibility
enum<string>
required

Governs who sees this record in the Sailer UI. API tokens are workspace-scoped and are not filtered by it.

Available options:
private,
team,
team_and_subteams,
company
contact_id
string | null

Unique identifier for a contact.

Pattern: ^con_[0-9a-f]{32}$
Example:

"con_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4"

custom_fields
Custom Fields · object

Every custom field defined on deals in this workspace, keyed by field key and typed from its definition. Unset fields are null.

expected_close_date
string<date-time> | null
lost_justification
string | null
lost_reason
string | null

Name of the reason, when status is lost.

object
string
default:deal
Allowed value: "deal"
organization
Organization · object | null

Populated only when organization is in expand.

organization_id
string | null

Unique identifier for an organization.

Pattern: ^org_[0-9a-f]{32}$
Example:

"org_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4"

owner
Owner · object | null

Whoever is responsible for this deal — a teammate or an AI agent. Always populated when the deal has an owner.

owner_id
string | null
deprecated

Unique identifier for an user.

Pattern: ^usr_[0-9a-f]{32}$
Example:

"usr_9f2ac41d8b7e4a51b0d3e6f7a1c2d3e4"

probability
integer | null

Close probability override, 0-100. null means the deal inherits its current stage's default — read the stage to see it.

score
enum<string> | null

Temperature/score of an opportunity.

Available options:
cold,
warm,
hot
stage_changed_at
string<date-time> | null

When the deal last moved between stages.

status
enum<string>
default:open

Status of an opportunity in the sales pipeline.

Available options:
open,
won,
lost
tags
Tag · object[]
value
string | null

Monetary value. The workspace sets the currency.

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$