Skip to content

Create Account Deal

POST
/accounts/{account_id}/deals

Create a deal already attached to an account.

POST /deals creates one standalone; this attaches it in the same call, closing the window where a deal exists with no account.

No per-record gate, matching the app: there is no existing deal to check against, and the account is validated by the handler.

Authorizations

Parameters

Path Parameters

account_id
required

Account the deal belongs to.

string

Account the deal belongs to.

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

Create a deal already attached to an account.

POST /deals creates one standalone. This attaches it in the same call, which is the difference worth having: a two-step create leaves a window where the deal exists with no account.

object
amount
Any of:
number
close_date
Any of:
string format: date-time
contact_ids
Array<string>
<= 100 items
currency
string
default: USD
description
Any of:
string
name
required
string
owner_id
Any of:
string
pipeline_id
Any of:
string
products
Array<string>
stage

Stage NAME, not id.

string
default: discovery
stage_id
Any of:
string

Responses

201

Successful Response

object
data
required

An open envelope for a deal, a merge preview or a column result.

Open because the crossfire and merge-preview payloads are computed shapes that grow with the product, and a closed model would drop a field from an ADVISORY read - where a missing signal reads as “nothing to worry about” rather than “we did not tell you”.

object
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string