Sales Engine
API documentation
ClientsOperation deals.update

Deals update

Edit a deal. A stage set here is never moved by the syncs again.

PATCH/api/v1/deals/{id}
Scope write: Create and edit lists, research, sequences, campaigns, memory, signals and learning; queue jobs.

Parameters

Path

NameInDescription
idrequiredpathThe record's id.

Body

A JSON object. Fields not listed are ignored.

NameInDescription
titlebodyDeal name, usually the company.
contact_namebodyThe prospect.
contact_emailbodyTheir email; the syncs match bookings and recordings on it.
owner_idbodyThe member who owns the deal; only an owner or admin sets it.
company_namebodyCompany.
company_websitebodyhttp or https link.
stagebodybooked, prepped, held, follow_up, no_show, proposal_sent, won or lost. One of booked, prepped, held, follow_up, no_show, proposal_sent, won, lost.
value_usdbody, integerDeal value in USD.
lost_reasonbodyWhy it was lost.
follow_up_atbodyFollow up on, YYYY-MM-DD.
next_stepbodyThe next step with this prospect.
lead_idbodyThe lead it belongs to.
positionbodyOrder within the stage column (higher shows first).

Example

curl
curl -X PATCH "https://crm.ashwanth.dev/api/v1/deals/{id}" \
  -H "Authorization: Bearer $SALES_ENGINE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "",
  "contact_name": "",
  "contact_email": "",
  "owner_id": "",
  "company_name": "",
  "company_website": "",
  "stage": "booked",
  "value_usd": 0,
  "lost_reason": "",
  "follow_up_at": "",
  "next_step": "",
  "lead_id": "",
  "position": ""
}'
CLI
sales-engine deals update <id>

The JSON above lists every documented field with a typed placeholder; send only the ones you mean.

Response

A 200 with the result under data, on creation too. Errors come back as an error object with a stable code; see Errors.

Shape
{
  "data": { ... }
}

Run it below to see the live shape for your workspace.

Try it

Runs against this server, as the workspace behind the key.
Kept in this page while you browse the docs, gone on reload, never stored. Signed in to the app? Leave it blank and the call runs as you.
Path
required
The record's id.
Every documented field is listed above; leave out the ones you do not need.
Request
PATCH /api/v1/deals/%7Bid%7D
Fill the path first.

Also in Clients