Skip to content

Deals

Opportunities in a pipeline: stages, values, won and lost.

27 endpoints. Every request needs an X-Api-Key header.

List deals

GET/api/v1/deals/

Parameters

cursorquery, string
Opaque pagination cursor (follow next/previous URLs).
searchquery, string
orderingquery, string
A column of the list, - for descending: assigned_to__first_name, closed_at, contact__first_name, created_at, currency, expected_close_date, last_activity_at, pipeline__name, stage__name, status, title, updated_at, value; or cf__<custom field> on the paged route. Anything else is a 400. Default -created_at.
statusquery, string
open (the default), won, lost, abandoned, or all.
filterquery, string
The filter panel's compound filter, as JSON: {op, conditions}. Fields from GET filter-fields/deal/.
pipeline_idquery, string
Pipeline public id.
stage_idquery, string
Stage public id.
stagequery, string
Stage name.
owner_idquery, string
Owner (user) public id.
tag_idquery, string
Tag public id.
lead_idquery, string
The lead's deals.
contact_idquery, string
The contact's deals; one from elsewhere lists nothing.
drawquery, integer
When present, answers the paged list, {draw, recordsTotal, recordsFiltered, data}, paged by start and length instead of the cursor envelope. recordsTotal counts every deal the caller may see.
startquery, integer
Paged list: offset (default 0).
lengthquery, integer
Paged list: rows (default 50, max 500).
Response fields 25
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
contactobject
leadobject
pipelineobject
stageobject
titlestring
statusenum
valuestring
currencystring
expected_close_datestring (date)
closed_atstring (date)
lost_reasonstring
last_activity_atstring (date-time)
assigned_to_uuidobject
assigned_to_usernameobject
assigned_to_first_nameobject
assigned_to_last_nameobject
assigned_to_nameobject
stage_namestring
created_atstring (date-time)
updated_atstring (date-time)
custom_fieldsobject
curl "https://api.vivrecrm.com/api/v1/deals/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "created_source": "api_key",
      "created_source_label": "",
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "contact": {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "first_name": "Asha",
        "last_name": "Rao",
        "full_name": "Asha Rao",
        "email": "[email protected]",
        "phone": "9876543210",
        "phone_country_code": "+91",
        "job_title": "Head of Operations",
        "whatsapp_number": "9876543210",
        "whatsapp_country_code": "+91",
        "company_name": null,
        "company_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
      },
      "lead": {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "lead_origin": "import",
        "source": "website",
        "status": "new",
        "score": 1,
        "created_at": "2026-10-17T09:30:00+05:30"
      },
      "pipeline": {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "name": "Kaveri Foods",
        "is_default": true,
        "stages": [],
        "created_at": "2026-10-17T09:30:00+05:30",
        "updated_at": "2026-10-17T09:30:00+05:30"
      },
      "stage": {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "name": "Kaveri Foods",
        "order": 1,
        "probability": 1,
        "stage_type": "open",
        "color": "",
        "created_at": "2026-10-17T09:30:00+05:30"
      },
      "title": "Kaveri Foods renewal",
      "status": "open",
      "value": "",
      "currency": "INR",
      "expected_close_date": "2026-10-31",
      "closed_at": "2026-10-17T09:30:00+05:30",
      "lost_reason": "",
      "last_activity_at": "2026-10-17T09:30:00+05:30",
      "assigned_to_uuid": null,
      "assigned_to_username": null,
      "assigned_to_first_name": null,
      "assigned_to_last_name": null,
      "assigned_to_name": null,
      "stage_name": "",
      "created_at": "2026-10-17T09:30:00+05:30",
      "updated_at": "2026-10-17T09:30:00+05:30",
      "custom_fields": {}
    }
  ]
}

Create deal

POST/api/v1/deals/

Parameters

Idempotency-Keyheader, string
Unique key for safe retries (24h replay window).

Body

titlestringRequired
contact_idstring, can be null
lead_idstring, can be null
pipeline_idstring
stage_idstring
valuestring, can be null
currencystring
expected_close_datestring (date), can be null
assigned_to_idstring, can be null
custom_fieldsobject
Response fields 25
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
contactobject
leadobject
pipelineobject
stageobject
titlestring
statusenum
valuestring
currencystring
expected_close_datestring (date)
closed_atstring (date)
lost_reasonstring
last_activity_atstring (date-time)
assigned_to_uuidobject
assigned_to_usernameobject
assigned_to_first_nameobject
assigned_to_last_nameobject
assigned_to_nameobject
stage_namestring
created_atstring (date-time)
updated_atstring (date-time)
custom_fieldsobject
curl -X POST "https://api.vivrecrm.com/api/v1/deals/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Kaveri Foods renewal", "currency": "INR"}'
Response 201
{
  "created_source": "api_key",
  "created_source_label": "",
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "contact": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "first_name": "Asha",
    "last_name": "Rao",
    "full_name": "Asha Rao",
    "email": "[email protected]",
    "phone": "9876543210",
    "phone_country_code": "+91",
    "job_title": "Head of Operations",
    "whatsapp_number": "9876543210",
    "whatsapp_country_code": "+91",
    "company_name": null,
    "company_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  },
  "lead": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "lead_origin": "import",
    "source": "website",
    "status": "new",
    "score": 1,
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "pipeline": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "is_default": true,
    "stages": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "name": "Kaveri Foods",
        "order": 1,
        "probability": 1,
        "stage_type": "open",
        "color": "",
        "created_at": "2026-10-17T09:30:00+05:30"
      }
    ],
    "created_at": "2026-10-17T09:30:00+05:30",
    "updated_at": "2026-10-17T09:30:00+05:30"
  },
  "stage": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "order": 1,
    "probability": 1,
    "stage_type": "open",
    "color": "",
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "title": "Kaveri Foods renewal",
  "status": "open",
  "value": "",
  "currency": "INR",
  "expected_close_date": "2026-10-31",
  "closed_at": "2026-10-17T09:30:00+05:30",
  "lost_reason": "",
  "last_activity_at": "2026-10-17T09:30:00+05:30",
  "assigned_to_uuid": null,
  "assigned_to_username": null,
  "assigned_to_first_name": null,
  "assigned_to_last_name": null,
  "assigned_to_name": null,
  "stage_name": "",
  "created_at": "2026-10-17T09:30:00+05:30",
  "updated_at": "2026-10-17T09:30:00+05:30",
  "custom_fields": {}
}

Retrieve a deal

GET/api/v1/deals/{public_id}/

Parameters

public_idpath, stringRequired
The record's public id (a UUID).
Response fields 25
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
contactobject
leadobject
pipelineobject
stageobject
titlestring
statusenum
valuestring
currencystring
expected_close_datestring (date)
closed_atstring (date)
lost_reasonstring
last_activity_atstring (date-time)
assigned_to_uuidobject
assigned_to_usernameobject
assigned_to_first_nameobject
assigned_to_last_nameobject
assigned_to_nameobject
stage_namestring
created_atstring (date-time)
updated_atstring (date-time)
custom_fieldsobject
curl "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "created_source": "api_key",
  "created_source_label": "",
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "contact": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "first_name": "Asha",
    "last_name": "Rao",
    "full_name": "Asha Rao",
    "email": "[email protected]",
    "phone": "9876543210",
    "phone_country_code": "+91",
    "job_title": "Head of Operations",
    "whatsapp_number": "9876543210",
    "whatsapp_country_code": "+91",
    "company_name": null,
    "company_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  },
  "lead": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "lead_origin": "import",
    "source": "website",
    "status": "new",
    "score": 1,
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "pipeline": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "is_default": true,
    "stages": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "name": "Kaveri Foods",
        "order": 1,
        "probability": 1,
        "stage_type": "open",
        "color": "",
        "created_at": "2026-10-17T09:30:00+05:30"
      }
    ],
    "created_at": "2026-10-17T09:30:00+05:30",
    "updated_at": "2026-10-17T09:30:00+05:30"
  },
  "stage": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "order": 1,
    "probability": 1,
    "stage_type": "open",
    "color": "",
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "title": "Kaveri Foods renewal",
  "status": "open",
  "value": "",
  "currency": "INR",
  "expected_close_date": "2026-10-31",
  "closed_at": "2026-10-17T09:30:00+05:30",
  "lost_reason": "",
  "last_activity_at": "2026-10-17T09:30:00+05:30",
  "assigned_to_uuid": null,
  "assigned_to_username": null,
  "assigned_to_first_name": null,
  "assigned_to_last_name": null,
  "assigned_to_name": null,
  "stage_name": "",
  "created_at": "2026-10-17T09:30:00+05:30",
  "updated_at": "2026-10-17T09:30:00+05:30",
  "custom_fields": {}
}

Replace a deal

PUT/api/v1/deals/{public_id}/

Parameters

public_idpath, stringRequired
The record's public id (a UUID).

Body

titlestringRequired
contact_idstring, can be null
lead_idstring, can be null
pipeline_idstring
stage_idstring
valuestring, can be null
currencystring
expected_close_datestring (date), can be null
assigned_to_idstring, can be null
custom_fieldsobject
Response fields 25
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
contactobject
leadobject
pipelineobject
stageobject
titlestring
statusenum
valuestring
currencystring
expected_close_datestring (date)
closed_atstring (date)
lost_reasonstring
last_activity_atstring (date-time)
assigned_to_uuidobject
assigned_to_usernameobject
assigned_to_first_nameobject
assigned_to_last_nameobject
assigned_to_nameobject
stage_namestring
created_atstring (date-time)
updated_atstring (date-time)
custom_fieldsobject
curl -X PUT "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Kaveri Foods renewal", "currency": "INR"}'
Response 200
{
  "created_source": "api_key",
  "created_source_label": "",
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "contact": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "first_name": "Asha",
    "last_name": "Rao",
    "full_name": "Asha Rao",
    "email": "[email protected]",
    "phone": "9876543210",
    "phone_country_code": "+91",
    "job_title": "Head of Operations",
    "whatsapp_number": "9876543210",
    "whatsapp_country_code": "+91",
    "company_name": null,
    "company_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  },
  "lead": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "lead_origin": "import",
    "source": "website",
    "status": "new",
    "score": 1,
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "pipeline": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "is_default": true,
    "stages": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "name": "Kaveri Foods",
        "order": 1,
        "probability": 1,
        "stage_type": "open",
        "color": "",
        "created_at": "2026-10-17T09:30:00+05:30"
      }
    ],
    "created_at": "2026-10-17T09:30:00+05:30",
    "updated_at": "2026-10-17T09:30:00+05:30"
  },
  "stage": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "order": 1,
    "probability": 1,
    "stage_type": "open",
    "color": "",
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "title": "Kaveri Foods renewal",
  "status": "open",
  "value": "",
  "currency": "INR",
  "expected_close_date": "2026-10-31",
  "closed_at": "2026-10-17T09:30:00+05:30",
  "lost_reason": "",
  "last_activity_at": "2026-10-17T09:30:00+05:30",
  "assigned_to_uuid": null,
  "assigned_to_username": null,
  "assigned_to_first_name": null,
  "assigned_to_last_name": null,
  "assigned_to_name": null,
  "stage_name": "",
  "created_at": "2026-10-17T09:30:00+05:30",
  "updated_at": "2026-10-17T09:30:00+05:30",
  "custom_fields": {}
}

Update a deal

PATCH/api/v1/deals/{public_id}/

Parameters

public_idpath, stringRequired
The record's public id (a UUID).

Body

titlestringRequired
contact_idstring, can be null
lead_idstring, can be null
pipeline_idstring
stage_idstring
valuestring, can be null
currencystring
expected_close_datestring (date), can be null
assigned_to_idstring, can be null
custom_fieldsobject
Response fields 25
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
contactobject
leadobject
pipelineobject
stageobject
titlestring
statusenum
valuestring
currencystring
expected_close_datestring (date)
closed_atstring (date)
lost_reasonstring
last_activity_atstring (date-time)
assigned_to_uuidobject
assigned_to_usernameobject
assigned_to_first_nameobject
assigned_to_last_nameobject
assigned_to_nameobject
stage_namestring
created_atstring (date-time)
updated_atstring (date-time)
custom_fieldsobject
curl -X PATCH "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Kaveri Foods renewal", "currency": "INR"}'
Response 200
{
  "created_source": "api_key",
  "created_source_label": "",
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "contact": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "first_name": "Asha",
    "last_name": "Rao",
    "full_name": "Asha Rao",
    "email": "[email protected]",
    "phone": "9876543210",
    "phone_country_code": "+91",
    "job_title": "Head of Operations",
    "whatsapp_number": "9876543210",
    "whatsapp_country_code": "+91",
    "company_name": null,
    "company_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  },
  "lead": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "lead_origin": "import",
    "source": "website",
    "status": "new",
    "score": 1,
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "pipeline": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "is_default": true,
    "stages": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "name": "Kaveri Foods",
        "order": 1,
        "probability": 1,
        "stage_type": "open",
        "color": "",
        "created_at": "2026-10-17T09:30:00+05:30"
      }
    ],
    "created_at": "2026-10-17T09:30:00+05:30",
    "updated_at": "2026-10-17T09:30:00+05:30"
  },
  "stage": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "order": 1,
    "probability": 1,
    "stage_type": "open",
    "color": "",
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "title": "Kaveri Foods renewal",
  "status": "open",
  "value": "",
  "currency": "INR",
  "expected_close_date": "2026-10-31",
  "closed_at": "2026-10-17T09:30:00+05:30",
  "lost_reason": "",
  "last_activity_at": "2026-10-17T09:30:00+05:30",
  "assigned_to_uuid": null,
  "assigned_to_username": null,
  "assigned_to_first_name": null,
  "assigned_to_last_name": null,
  "assigned_to_name": null,
  "stage_name": "",
  "created_at": "2026-10-17T09:30:00+05:30",
  "updated_at": "2026-10-17T09:30:00+05:30",
  "custom_fields": {}
}

Delete a deal

DELETE/api/v1/deals/{public_id}/

Parameters

public_idpath, stringRequired
The record's public id (a UUID).
curl -X DELETE "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY"

Mark deal won

POST/api/v1/deals/{public_id}/won/

Moves the deal into its pipeline's Won stage and closes it. Works on an open deal, and on a Lost or Abandoned one, which is closed again as won. Needs the permission to mark deals won or lost (deal.won_lost).

Parameters

public_idpath, stringRequired
The record's public id (a UUID).

Body

closed_atstring (date)
Close date, not in the future (organization's date). Default today in the organization's time zone.
Response fields 25
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
contactobject
leadobject
pipelineobject
stageobject
titlestring
statusenum
valuestring
currencystring
expected_close_datestring (date)
closed_atstring (date)
lost_reasonstring
last_activity_atstring (date-time)
assigned_to_uuidobject
assigned_to_usernameobject
assigned_to_first_nameobject
assigned_to_last_nameobject
assigned_to_nameobject
stage_namestring
created_atstring (date-time)
updated_atstring (date-time)
custom_fieldsobject

Can also return 400, 409.

curl -X POST "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/won/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "created_source": "api_key",
  "created_source_label": "",
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "contact": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "first_name": "Asha",
    "last_name": "Rao",
    "full_name": "Asha Rao",
    "email": "[email protected]",
    "phone": "9876543210",
    "phone_country_code": "+91",
    "job_title": "Head of Operations",
    "whatsapp_number": "9876543210",
    "whatsapp_country_code": "+91",
    "company_name": null,
    "company_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  },
  "lead": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "lead_origin": "import",
    "source": "website",
    "status": "new",
    "score": 1,
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "pipeline": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "is_default": true,
    "stages": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "name": "Kaveri Foods",
        "order": 1,
        "probability": 1,
        "stage_type": "open",
        "color": "",
        "created_at": "2026-10-17T09:30:00+05:30"
      }
    ],
    "created_at": "2026-10-17T09:30:00+05:30",
    "updated_at": "2026-10-17T09:30:00+05:30"
  },
  "stage": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "order": 1,
    "probability": 1,
    "stage_type": "open",
    "color": "",
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "title": "Kaveri Foods renewal",
  "status": "open",
  "value": "",
  "currency": "INR",
  "expected_close_date": "2026-10-31",
  "closed_at": "2026-10-17T09:30:00+05:30",
  "lost_reason": "",
  "last_activity_at": "2026-10-17T09:30:00+05:30",
  "assigned_to_uuid": null,
  "assigned_to_username": null,
  "assigned_to_first_name": null,
  "assigned_to_last_name": null,
  "assigned_to_name": null,
  "stage_name": "",
  "created_at": "2026-10-17T09:30:00+05:30",
  "updated_at": "2026-10-17T09:30:00+05:30",
  "custom_fields": {}
}

Mark deal lost

POST/api/v1/deals/{public_id}/lost/

Moves the deal into its pipeline's Lost stage and closes it, with an optional reason. Needs the permission to mark deals won or lost (deal.won_lost).

Parameters

public_idpath, stringRequired
The record's public id (a UUID).

Body

reasonstring
Why it was lost or abandoned (stored as lost_reason). Default empty.
closed_atstring (date)
Close date, not in the future. Default today in the organization's time zone.
Response fields 25
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
contactobject
leadobject
pipelineobject
stageobject
titlestring
statusenum
valuestring
currencystring
expected_close_datestring (date)
closed_atstring (date)
lost_reasonstring
last_activity_atstring (date-time)
assigned_to_uuidobject
assigned_to_usernameobject
assigned_to_first_nameobject
assigned_to_last_nameobject
assigned_to_nameobject
stage_namestring
created_atstring (date-time)
updated_atstring (date-time)
custom_fieldsobject

Can also return 400, 409.

curl -X POST "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/lost/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "created_source": "api_key",
  "created_source_label": "",
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "contact": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "first_name": "Asha",
    "last_name": "Rao",
    "full_name": "Asha Rao",
    "email": "[email protected]",
    "phone": "9876543210",
    "phone_country_code": "+91",
    "job_title": "Head of Operations",
    "whatsapp_number": "9876543210",
    "whatsapp_country_code": "+91",
    "company_name": null,
    "company_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  },
  "lead": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "lead_origin": "import",
    "source": "website",
    "status": "new",
    "score": 1,
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "pipeline": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "is_default": true,
    "stages": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "name": "Kaveri Foods",
        "order": 1,
        "probability": 1,
        "stage_type": "open",
        "color": "",
        "created_at": "2026-10-17T09:30:00+05:30"
      }
    ],
    "created_at": "2026-10-17T09:30:00+05:30",
    "updated_at": "2026-10-17T09:30:00+05:30"
  },
  "stage": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "order": 1,
    "probability": 1,
    "stage_type": "open",
    "color": "",
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "title": "Kaveri Foods renewal",
  "status": "open",
  "value": "",
  "currency": "INR",
  "expected_close_date": "2026-10-31",
  "closed_at": "2026-10-17T09:30:00+05:30",
  "lost_reason": "",
  "last_activity_at": "2026-10-17T09:30:00+05:30",
  "assigned_to_uuid": null,
  "assigned_to_username": null,
  "assigned_to_first_name": null,
  "assigned_to_last_name": null,
  "assigned_to_name": null,
  "stage_name": "",
  "created_at": "2026-10-17T09:30:00+05:30",
  "updated_at": "2026-10-17T09:30:00+05:30",
  "custom_fields": {}
}

Mark deal abandoned

POST/api/v1/deals/{public_id}/abandoned/

Moves the deal into its pipeline's Abandoned stage and closes it, with an optional reason. Needs the permission to mark deals won or lost (deal.won_lost).

Parameters

public_idpath, stringRequired
The record's public id (a UUID).

Body

reasonstring
Why it was lost or abandoned (stored as lost_reason). Default empty.
closed_atstring (date)
Close date, not in the future. Default today in the organization's time zone.
Response fields 25
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
contactobject
leadobject
pipelineobject
stageobject
titlestring
statusenum
valuestring
currencystring
expected_close_datestring (date)
closed_atstring (date)
lost_reasonstring
last_activity_atstring (date-time)
assigned_to_uuidobject
assigned_to_usernameobject
assigned_to_first_nameobject
assigned_to_last_nameobject
assigned_to_nameobject
stage_namestring
created_atstring (date-time)
updated_atstring (date-time)
custom_fieldsobject

Can also return 400, 409.

curl -X POST "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/abandoned/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "created_source": "api_key",
  "created_source_label": "",
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "contact": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "first_name": "Asha",
    "last_name": "Rao",
    "full_name": "Asha Rao",
    "email": "[email protected]",
    "phone": "9876543210",
    "phone_country_code": "+91",
    "job_title": "Head of Operations",
    "whatsapp_number": "9876543210",
    "whatsapp_country_code": "+91",
    "company_name": null,
    "company_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  },
  "lead": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "lead_origin": "import",
    "source": "website",
    "status": "new",
    "score": 1,
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "pipeline": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "is_default": true,
    "stages": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "name": "Kaveri Foods",
        "order": 1,
        "probability": 1,
        "stage_type": "open",
        "color": "",
        "created_at": "2026-10-17T09:30:00+05:30"
      }
    ],
    "created_at": "2026-10-17T09:30:00+05:30",
    "updated_at": "2026-10-17T09:30:00+05:30"
  },
  "stage": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "order": 1,
    "probability": 1,
    "stage_type": "open",
    "color": "",
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "title": "Kaveri Foods renewal",
  "status": "open",
  "value": "",
  "currency": "INR",
  "expected_close_date": "2026-10-31",
  "closed_at": "2026-10-17T09:30:00+05:30",
  "lost_reason": "",
  "last_activity_at": "2026-10-17T09:30:00+05:30",
  "assigned_to_uuid": null,
  "assigned_to_username": null,
  "assigned_to_first_name": null,
  "assigned_to_last_name": null,
  "assigned_to_name": null,
  "stage_name": "",
  "created_at": "2026-10-17T09:30:00+05:30",
  "updated_at": "2026-10-17T09:30:00+05:30",
  "custom_fields": {}
}

Reopen a closed deal

POST/api/v1/deals/{public_id}/reopen/

Moves a closed deal back to the open stage it closed from, or to its pipeline's last open stage, and clears the close date and reason. Needs the permission to mark deals won or lost (deal.won_lost).

Parameters

public_idpath, stringRequired
The record's public id (a UUID).
Response fields 25
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
contactobject
leadobject
pipelineobject
stageobject
titlestring
statusenum
valuestring
currencystring
expected_close_datestring (date)
closed_atstring (date)
lost_reasonstring
last_activity_atstring (date-time)
assigned_to_uuidobject
assigned_to_usernameobject
assigned_to_first_nameobject
assigned_to_last_nameobject
assigned_to_nameobject
stage_namestring
created_atstring (date-time)
updated_atstring (date-time)
custom_fieldsobject

Can also return 400, 409.

curl -X POST "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/reopen/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "created_source": "api_key",
  "created_source_label": "",
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "contact": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "first_name": "Asha",
    "last_name": "Rao",
    "full_name": "Asha Rao",
    "email": "[email protected]",
    "phone": "9876543210",
    "phone_country_code": "+91",
    "job_title": "Head of Operations",
    "whatsapp_number": "9876543210",
    "whatsapp_country_code": "+91",
    "company_name": null,
    "company_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  },
  "lead": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "lead_origin": "import",
    "source": "website",
    "status": "new",
    "score": 1,
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "pipeline": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "is_default": true,
    "stages": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "name": "Kaveri Foods",
        "order": 1,
        "probability": 1,
        "stage_type": "open",
        "color": "",
        "created_at": "2026-10-17T09:30:00+05:30"
      }
    ],
    "created_at": "2026-10-17T09:30:00+05:30",
    "updated_at": "2026-10-17T09:30:00+05:30"
  },
  "stage": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "order": 1,
    "probability": 1,
    "stage_type": "open",
    "color": "",
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "title": "Kaveri Foods renewal",
  "status": "open",
  "value": "",
  "currency": "INR",
  "expected_close_date": "2026-10-31",
  "closed_at": "2026-10-17T09:30:00+05:30",
  "lost_reason": "",
  "last_activity_at": "2026-10-17T09:30:00+05:30",
  "assigned_to_uuid": null,
  "assigned_to_username": null,
  "assigned_to_first_name": null,
  "assigned_to_last_name": null,
  "assigned_to_name": null,
  "stage_name": "",
  "created_at": "2026-10-17T09:30:00+05:30",
  "updated_at": "2026-10-17T09:30:00+05:30",
  "custom_fields": {}
}

List participants

GET/api/v1/deals/{public_id}/participants/

Parameters

public_idpath, stringRequired
The record's public id (a UUID).
curl "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/participants/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
[
  {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "contact_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "contact_public_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "contact_name": "",
    "role": "Champion",
    "created_at": "2026-10-17T09:30:00+05:30"
  }
]

Add participant

POST/api/v1/deals/{public_id}/participants/

Parameters

public_idpath, stringRequired
The record's public id (a UUID).

Body

rolestringRequired
One of the participant roles (see /deals/participant-roles/), matched in any case.
contact_uuidstring (uuid)
Alternate key, read only when contact_id is not sent.
Response fields 6
idstring (uuid)
contact_idstring
The contact's integer primary key, rendered as a string.
contact_public_idstring (uuid)
contact_namestring
roleenum
created_atstring (date-time)
curl -X POST "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/participants/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"role": ""}'
Response 201
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "contact_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "contact_public_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "contact_name": "",
  "role": "Champion",
  "created_at": "2026-10-17T09:30:00+05:30"
}

The roles a deal participant may have

GET/api/v1/deals/participant-roles/

curl "https://api.vivrecrm.com/api/v1/deals/participant-roles/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
[
  {
    "value": "Champion",
    "label": ""
  }
]

Bulk move stage

POST/api/v1/deals/bulk-move-stage/

The target stage decides each deal's status: Won, Lost or Abandoned closes the deals (for Lost and Abandoned the reason, if given, is kept as lost_reason), and an open stage reopens closed ones. Moving deals into or out of a closed stage also needs the permission to mark deals won or lost (deal.won_lost).

Body

deal_idsarray of string (uuid)Required
All must be live deals of the organization in the stage's pipeline, else 400.
stage_idstring (uuid)Required
reasonstring
Written as the activity line on each deal; default "Deal stage moved to <stage>".
Response fields 5
updated_countinteger
Deals moved. The target stage decides the status: Won, Lost or Abandoned closes them, and an open stage reopens closed ones.
skipped_countinteger
Always 0; kept for older clients (closed deals used to be left where they were).
deal_idsarray of string (uuid)
Public ids of the deals moved.
stage_idstring (uuid)
stage_namestring
curl -X POST "https://api.vivrecrm.com/api/v1/deals/bulk-move-stage/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"deal_ids": ["7c9e6679-7425-40de-944b-e07fc1f90ae7"], "stage_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"}'
Response 200
{
  "updated_count": 1,
  "skipped_count": 1,
  "deal_ids": [
    "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  ],
  "stage_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "stage_name": ""
}

Ids of every deal the list shows

GET/api/v1/deals/ids/

"Select all N matching". Takes the list's own query (search, status (open by default; all, won, lost), stage, pipeline, owner and tag), and answers the public ids in the list's order, up to 10,000, with the total. Pass them in batches to the bulk actions.

Response fields 3
countinteger
Every match, which may be more than limit.
idsarray of string (uuid)
Public ids of the first limit matches, in the list's order.
limitinteger
The most ids answered: 10,000.
curl "https://api.vivrecrm.com/api/v1/deals/ids/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "count": 1,
  "ids": [
    "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  ],
  "limit": 1
}

Deal counts and values for the list's cards

GET/api/v1/deals/stats/

Response fields 6
totalinteger
openinteger
open_valueobject
Currency -> value of the open deals.
won_this_monthinteger
Won, closed this month.
won_value_this_monthobject
Currency -> value of those.
closing_this_monthinteger
Open, expected to close this month.
curl "https://api.vivrecrm.com/api/v1/deals/stats/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "total": 1,
  "open": 1,
  "open_value": {},
  "won_this_month": 1,
  "won_value_this_month": {},
  "closing_this_month": 1
}

Bulk reassign owner

POST/api/v1/deals/bulk-assign/

Needs deal.bulk_assign (admins by default). Emits deal.assigned / deal.unassigned per deal whose owner changed and tells the new owner once.

Parameters

Idempotency-Keyheader, string
Unique key for safe retries (24h replay window).

Body

deal_idsarray of string (uuid)Required
All must be live deals of the organization, else 400.
assigned_to_idstring (uuid)Required
Public id of a member of the organization. Null is not accepted.
Response fields 3
updated_countinteger
deal_idsarray of string (uuid)
Public ids of the deals reassigned (deals a non-admin cannot see under "Assigned only" visibility are left out).
assigned_to_idstring (uuid)
The new owner's public id, as sent.
curl -X POST "https://api.vivrecrm.com/api/v1/deals/bulk-assign/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"deal_ids": ["7c9e6679-7425-40de-944b-e07fc1f90ae7"], "assigned_to_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"}'
Response 200
{
  "updated_count": 1,
  "deal_ids": [
    "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  ],
  "assigned_to_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
}

Bulk soft-delete

POST/api/v1/deals/bulk-delete/

Needs deal.bulk_delete (admins by default). Best-effort, per id.

Body

idsarray of string (uuid)Required
Deal public ids. A value that is not a UUID is reported in failed.
Response fields 4
deletedarray of string (uuid)
The ids that were deleted, as strings, in request order (duplicates removed).
deleted_countinteger
failedarray of object
Ids not deleted. An id that is not a UUID, is in another organization, is already deleted or is outside the caller's visibility is reported as "Not found.".
failed_countinteger
curl -X POST "https://api.vivrecrm.com/api/v1/deals/bulk-delete/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ids": ["7c9e6679-7425-40de-944b-e07fc1f90ae7"]}'
Response 200
{
  "deleted": [
    "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  ],
  "deleted_count": 1,
  "failed": [
    {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "reason": ""
    }
  ],
  "failed_count": 1
}

Add tags to many deals

POST/api/v1/deals/bulk-tag/

Body

entity_idsarray of string (uuid)Required
Public ids of the records. All must be live records of the organization, else 400.
tag_idstring (uuid)Required
The tag's public id.
Response fields 3
created_countinteger
Assignments added (records that already had the tag are not counted).
entity_idsarray of string (uuid)
Public ids of the records acted on, leaving out leads and deals the caller cannot see.
tag_idstring (uuid)
curl -X POST "https://api.vivrecrm.com/api/v1/deals/bulk-tag/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"entity_ids": ["7c9e6679-7425-40de-944b-e07fc1f90ae7"], "tag_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"}'
Response 200
{
  "created_count": 1,
  "entity_ids": [
    "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  ],
  "tag_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
}

Remove tags from many deals

POST/api/v1/deals/bulk-untag/

Body

entity_idsarray of string (uuid)Required
Public ids of the records. All must be live records of the organization, else 400.
tag_idstring (uuid)Required
The tag's public id.
Response fields 3
removed_countinteger
Tag assignments deleted.
entity_idsarray of string (uuid)
Public ids of the records acted on, leaving out leads and deals the caller cannot see.
tag_idstring (uuid)
curl -X POST "https://api.vivrecrm.com/api/v1/deals/bulk-untag/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"entity_ids": ["7c9e6679-7425-40de-944b-e07fc1f90ae7"], "tag_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"}'
Response 200
{
  "removed_count": 1,
  "entity_ids": [
    "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  ],
  "tag_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
}

A deal's activity timeline

GET/api/v1/deals/{public_id}/activities/

Parameters

public_idpath, stringRequired
Response fields 19
sourceenum
source_labelstring
idstring (uuid)
organisationstring (uuid)
entity_typeenum
entity_idstring
entity_public_idobject
typeenum
actor_typeenum
created_by_uuidobject
created_by_usernameobject
created_by_first_nameobject
created_by_last_nameobject
created_by_nameobject
is_outboundboolean
response_time_secondsinteger
contentstring
created_atstring (date-time)
emailobject
curl "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/activities/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "source": "api_key",
      "source_label": "",
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "entity_type": "Contact",
      "entity_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "entity_public_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "type": "email_sent",
      "actor_type": "human",
      "created_by_uuid": null,
      "created_by_username": null,
      "created_by_first_name": null,
      "created_by_last_name": null,
      "created_by_name": null,
      "is_outbound": true,
      "response_time_seconds": 1,
      "content": "Called, wants a demo on Friday.",
      "created_at": "2026-10-17T09:30:00+05:30",
      "email": "[email protected]"
    }
  ]
}

Remove a participant from a deal

DELETE/api/v1/deals/{public_id}/participants/{participant_id}/

Parameters

public_idpath, stringRequired
participant_idpath, stringRequired
curl -X DELETE "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/participants/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY"

Restore a deleted deal

POST/api/v1/deals/{public_id}/restore/

Parameters

public_idpath, stringRequired
Response fields 25
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
contactobject
leadobject
pipelineobject
stageobject
titlestring
statusenum
valuestring
currencystring
expected_close_datestring (date)
closed_atstring (date)
lost_reasonstring
last_activity_atstring (date-time)
assigned_to_uuidobject
assigned_to_usernameobject
assigned_to_first_nameobject
assigned_to_last_nameobject
assigned_to_nameobject
stage_namestring
created_atstring (date-time)
updated_atstring (date-time)
custom_fieldsobject
curl -X POST "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/restore/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "created_source": "api_key",
  "created_source_label": "",
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "contact": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "first_name": "Asha",
    "last_name": "Rao",
    "full_name": "Asha Rao",
    "email": "[email protected]",
    "phone": "9876543210",
    "phone_country_code": "+91",
    "job_title": "Head of Operations",
    "whatsapp_number": "9876543210",
    "whatsapp_country_code": "+91",
    "company_name": null,
    "company_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  },
  "lead": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "lead_origin": "import",
    "source": "website",
    "status": "new",
    "score": 1,
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "pipeline": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "is_default": true,
    "stages": [
      {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "name": "Kaveri Foods",
        "order": 1,
        "probability": 1,
        "stage_type": "open",
        "color": "",
        "created_at": "2026-10-17T09:30:00+05:30"
      }
    ],
    "created_at": "2026-10-17T09:30:00+05:30",
    "updated_at": "2026-10-17T09:30:00+05:30"
  },
  "stage": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "order": 1,
    "probability": 1,
    "stage_type": "open",
    "color": "",
    "created_at": "2026-10-17T09:30:00+05:30"
  },
  "title": "Kaveri Foods renewal",
  "status": "open",
  "value": "",
  "currency": "INR",
  "expected_close_date": "2026-10-31",
  "closed_at": "2026-10-17T09:30:00+05:30",
  "lost_reason": "",
  "last_activity_at": "2026-10-17T09:30:00+05:30",
  "assigned_to_uuid": null,
  "assigned_to_username": null,
  "assigned_to_first_name": null,
  "assigned_to_last_name": null,
  "assigned_to_name": null,
  "stage_name": "",
  "created_at": "2026-10-17T09:30:00+05:30",
  "updated_at": "2026-10-17T09:30:00+05:30",
  "custom_fields": {}
}

A deal's tags

GET/api/v1/deals/{public_id}/tags/

Parameters

public_idpath, stringRequired
curl "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/tags/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
[
  {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods",
    "color_hex": "",
    "created_at": "2026-10-17T09:30:00+05:30"
  }
]

Tag a deal

POST/api/v1/deals/{public_id}/tags/

Parameters

public_idpath, stringRequired

Body

tag_public_idstring (uuid)Required
A tag of the organization not already on this record (400 otherwise).
Response fields 5
idstring (uuid)
organisationstring (uuid)
namestring
color_hexstring
created_atstring (date-time)
curl -X POST "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/tags/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tag_public_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7"}'
Response 201
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "color_hex": "",
  "created_at": "2026-10-17T09:30:00+05:30"
}

Remove a tag from a deal

DELETE/api/v1/deals/{public_id}/tags/{tag_id}/

Parameters

public_idpath, stringRequired
tag_idpath, stringRequired
curl -X DELETE "https://api.vivrecrm.com/api/v1/deals/7c9e6679-7425-40de-944b-e07fc1f90ae7/tags/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY"