Create Deal
POST /deals
Create a new deal. Defaults to the org’s default pipeline and first stage if not specified.
background_tasks carries the deal.created event only (#16242). Like
the PATCH endpoint’s stage fan-out it is injected, not a body field, so it
does not appear in the OpenAPI schema and the request contract is unchanged.
Queuing it there rather than publishing inline keeps the Redis round trip
off the caller’s latency budget and makes “strictly after the commit”
structural: the task is queued only once the session context has exited,
and FastAPI attaches background tasks to the SUCCESS response, so a raise
anywhere above publishes nothing.
Authorizations
Parameters
Header Parameters
Request Body required
object
Set true to create a deal even if one already exists for the company
Mashup_contact_ids to associate with the deal (>=1 required; all must share one company)
Deal name
Deal owner (user id or email). Required.
Responses
201
Successful Response
object
object
Lightweight contact summary embedded in deal responses.
id is the canonical mashup_contact_id (BigInt), matching how contacts
are addressed everywhere else in the public API (g8_search_contacts,
g8_lookup_person, etc.). role is the contact’s role within THIS deal
(champion / decision_maker / influencer / blocker / coach / end_user) and
is null when no role was set.
Lightweight contact summary embedded in deal responses.
id is the canonical mashup_contact_id (BigInt), matching how contacts
are addressed everywhere else in the public API (g8_search_contacts,
g8_lookup_person, etc.). role is the contact’s role within THIS deal
(champion / decision_maker / influencer / blocker / coach / end_user) and
is null when no role was set.
422
Validation Error