Create a deal

Creates a deal. title and company_id are required — every deal is with a client.

A few things are filled in for you when you leave them out: the deal lands in the first stage of your deal board, and the client's primary contact is attached to it. Pass board_group_id or contact_id to choose instead.

The ids this endpoint takes come from other endpoints: GET /public-api/v1/companies for company_id and contact_id, GET /public-api/v1/board_groups for board_group_id, and GET /public-api/v1/team_members for assignee_member_id.

Body
required
application/json

Deal attributes, wrapped in a deal key.

  • deal
    Type: object
    required
Responses
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/public-api/v1/deals
curl https://app.hellobonsai.com/public-api/v1/deals \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --data '{
  "deal": {
    "title": "Acme Website Redesign",
    "company_id": 42,
    "contact_id": 7,
    "assignee_member_id": "me",
    "board_group_id": "8feddf83-f0dc-4587-ac77-3236d509a5c4",
    "deal_value": "5000.00"
  }
}'
{
  "data": {
    "id": 918,
    "title": "Acme Website Redesign",
    "deal_number": "DL-42",
    "deal_value": "5000.00",
    "currency": "USD",
    "probability": 60,
    "close_date": "2026-09-30",
    "archived_at": "2026-04-14T09:12:04.000Z",
    "assignee_member_id": 314,
    "board_group_id": "8feddf83-f0dc-4587-ac77-3236d509a5c4",
    "status": "Won",
    "company_name": "Acme Corp",
    "assignee_member_name": "Maria Santos",
    "contact_ids": [
      7,
      12
    ],
    "url": "https://app.hellobonsai.com/deals?deal_id=918"
  },
  "meta": {
    "request_id": "b1f0d2c4-7a9e-4c3b-8d5f-1e2a3b4c5d6e"
  }
}