Skip to content

Contacts

The people you sell to: create, update, merge and restore them.

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

List contacts

GET/api/v1/contacts/

Parameters

cursorquery, string
Opaque pagination cursor (follow next/previous URLs).
searchquery, string
orderingquery, string
Field to order by; prefix with '-' for descending.
Response fields 27
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
companyobject
first_namestring
last_namestring
full_namestring
job_titlestring
emailstring (email)
email_secondarystring (email)
phone_country_codestring
phonestring
phone_secondary_country_codestring
phone_secondarystring
whatsapp_country_codestring
whatsapp_numberstring
opted_out_channelsobject
last_activity_atstring (date-time)
created_atstring (date-time)
updated_atstring (date-time)
created_by_uuidobject
created_by_usernameobject
created_by_first_nameobject
created_by_last_nameobject
created_by_nameobject
custom_fieldsobject
curl "https://api.vivrecrm.com/api/v1/contacts/" \
  -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",
      "company": {
        "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
        "name": "Kaveri Foods"
      },
      "first_name": "Asha",
      "last_name": "Rao",
      "full_name": "Asha Rao",
      "job_title": "Head of Operations",
      "email": "[email protected]",
      "email_secondary": "[email protected]",
      "phone_country_code": "+91",
      "phone": "9876543210",
      "phone_secondary_country_code": "",
      "phone_secondary": "",
      "whatsapp_country_code": "+91",
      "whatsapp_number": "9876543210",
      "opted_out_channels": {},
      "last_activity_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",
      "created_by_uuid": null,
      "created_by_username": null,
      "created_by_first_name": null,
      "created_by_last_name": null,
      "created_by_name": null,
      "custom_fields": {}
    }
  ]
}

Create contact

POST/api/v1/contacts/

Parameters

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

Body

first_namestringRequired
company_public_idstring (uuid), can be null
last_namestring
job_titlestring
emailstring (email), can be null
email_secondarystring (email), can be null
phone_country_codestring
phonestring, can be null
phone_secondary_country_codestring
phone_secondarystring, can be null
whatsapp_country_codestring
whatsapp_numberstring, can be null
opted_out_channelsobject
custom_fieldsobject
Response fields 27
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
companyobject
first_namestring
last_namestring
full_namestring
job_titlestring
emailstring (email)
email_secondarystring (email)
phone_country_codestring
phonestring
phone_secondary_country_codestring
phone_secondarystring
whatsapp_country_codestring
whatsapp_numberstring
opted_out_channelsobject
last_activity_atstring (date-time)
created_atstring (date-time)
updated_atstring (date-time)
created_by_uuidobject
created_by_usernameobject
created_by_first_nameobject
created_by_last_nameobject
created_by_nameobject
custom_fieldsobject

Can also return 400.

curl -X POST "https://api.vivrecrm.com/api/v1/contacts/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first_name": "Asha", "last_name": "Rao", "job_title": "Head of Operations", "email": "[email protected]"}'
Response 201
{
  "created_source": "api_key",
  "created_source_label": "",
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "company": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods"
  },
  "first_name": "Asha",
  "last_name": "Rao",
  "full_name": "Asha Rao",
  "job_title": "Head of Operations",
  "email": "[email protected]",
  "email_secondary": "[email protected]",
  "phone_country_code": "+91",
  "phone": "9876543210",
  "phone_secondary_country_code": "",
  "phone_secondary": "",
  "whatsapp_country_code": "+91",
  "whatsapp_number": "9876543210",
  "opted_out_channels": {},
  "last_activity_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",
  "created_by_uuid": null,
  "created_by_username": null,
  "created_by_first_name": null,
  "created_by_last_name": null,
  "created_by_name": null,
  "custom_fields": {}
}

Retrieve a contact

GET/api/v1/contacts/{public_id}/

Parameters

public_idpath, stringRequired
The record's public id (a UUID).
Response fields 27
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
companyobject
first_namestring
last_namestring
full_namestring
job_titlestring
emailstring (email)
email_secondarystring (email)
phone_country_codestring
phonestring
phone_secondary_country_codestring
phone_secondarystring
whatsapp_country_codestring
whatsapp_numberstring
opted_out_channelsobject
last_activity_atstring (date-time)
created_atstring (date-time)
updated_atstring (date-time)
created_by_uuidobject
created_by_usernameobject
created_by_first_nameobject
created_by_last_nameobject
created_by_nameobject
custom_fieldsobject

Can also return 404.

curl "https://api.vivrecrm.com/api/v1/contacts/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",
  "company": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods"
  },
  "first_name": "Asha",
  "last_name": "Rao",
  "full_name": "Asha Rao",
  "job_title": "Head of Operations",
  "email": "[email protected]",
  "email_secondary": "[email protected]",
  "phone_country_code": "+91",
  "phone": "9876543210",
  "phone_secondary_country_code": "",
  "phone_secondary": "",
  "whatsapp_country_code": "+91",
  "whatsapp_number": "9876543210",
  "opted_out_channels": {},
  "last_activity_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",
  "created_by_uuid": null,
  "created_by_username": null,
  "created_by_first_name": null,
  "created_by_last_name": null,
  "created_by_name": null,
  "custom_fields": {}
}

Replace a contact

PUT/api/v1/contacts/{public_id}/

Parameters

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

Body

first_namestringRequired
company_public_idstring (uuid), can be null
last_namestring
job_titlestring
emailstring (email), can be null
email_secondarystring (email), can be null
phone_country_codestring
phonestring, can be null
phone_secondary_country_codestring
phone_secondarystring, can be null
whatsapp_country_codestring
whatsapp_numberstring, can be null
opted_out_channelsobject
custom_fieldsobject
Response fields 27
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
companyobject
first_namestring
last_namestring
full_namestring
job_titlestring
emailstring (email)
email_secondarystring (email)
phone_country_codestring
phonestring
phone_secondary_country_codestring
phone_secondarystring
whatsapp_country_codestring
whatsapp_numberstring
opted_out_channelsobject
last_activity_atstring (date-time)
created_atstring (date-time)
updated_atstring (date-time)
created_by_uuidobject
created_by_usernameobject
created_by_first_nameobject
created_by_last_nameobject
created_by_nameobject
custom_fieldsobject
curl -X PUT "https://api.vivrecrm.com/api/v1/contacts/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first_name": "Asha", "last_name": "Rao", "job_title": "Head of Operations", "email": "[email protected]"}'
Response 200
{
  "created_source": "api_key",
  "created_source_label": "",
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "company": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods"
  },
  "first_name": "Asha",
  "last_name": "Rao",
  "full_name": "Asha Rao",
  "job_title": "Head of Operations",
  "email": "[email protected]",
  "email_secondary": "[email protected]",
  "phone_country_code": "+91",
  "phone": "9876543210",
  "phone_secondary_country_code": "",
  "phone_secondary": "",
  "whatsapp_country_code": "+91",
  "whatsapp_number": "9876543210",
  "opted_out_channels": {},
  "last_activity_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",
  "created_by_uuid": null,
  "created_by_username": null,
  "created_by_first_name": null,
  "created_by_last_name": null,
  "created_by_name": null,
  "custom_fields": {}
}

Update a contact

PATCH/api/v1/contacts/{public_id}/

Parameters

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

Body

first_namestringRequired
company_public_idstring (uuid), can be null
last_namestring
job_titlestring
emailstring (email), can be null
email_secondarystring (email), can be null
phone_country_codestring
phonestring, can be null
phone_secondary_country_codestring
phone_secondarystring, can be null
whatsapp_country_codestring
whatsapp_numberstring, can be null
opted_out_channelsobject
custom_fieldsobject
Response fields 27
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
companyobject
first_namestring
last_namestring
full_namestring
job_titlestring
emailstring (email)
email_secondarystring (email)
phone_country_codestring
phonestring
phone_secondary_country_codestring
phone_secondarystring
whatsapp_country_codestring
whatsapp_numberstring
opted_out_channelsobject
last_activity_atstring (date-time)
created_atstring (date-time)
updated_atstring (date-time)
created_by_uuidobject
created_by_usernameobject
created_by_first_nameobject
created_by_last_nameobject
created_by_nameobject
custom_fieldsobject
curl -X PATCH "https://api.vivrecrm.com/api/v1/contacts/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"first_name": "Asha", "last_name": "Rao", "job_title": "Head of Operations", "email": "[email protected]"}'
Response 200
{
  "created_source": "api_key",
  "created_source_label": "",
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "company": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods"
  },
  "first_name": "Asha",
  "last_name": "Rao",
  "full_name": "Asha Rao",
  "job_title": "Head of Operations",
  "email": "[email protected]",
  "email_secondary": "[email protected]",
  "phone_country_code": "+91",
  "phone": "9876543210",
  "phone_secondary_country_code": "",
  "phone_secondary": "",
  "whatsapp_country_code": "+91",
  "whatsapp_number": "9876543210",
  "opted_out_channels": {},
  "last_activity_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",
  "created_by_uuid": null,
  "created_by_username": null,
  "created_by_first_name": null,
  "created_by_last_name": null,
  "created_by_name": null,
  "custom_fields": {}
}

Delete a contact

DELETE/api/v1/contacts/{public_id}/

Parameters

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

Restore soft-deleted contact

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

Parameters

public_idpath, stringRequired
The record's public id (a UUID).
Response fields 27
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
companyobject
first_namestring
last_namestring
full_namestring
job_titlestring
emailstring (email)
email_secondarystring (email)
phone_country_codestring
phonestring
phone_secondary_country_codestring
phone_secondarystring
whatsapp_country_codestring
whatsapp_numberstring
opted_out_channelsobject
last_activity_atstring (date-time)
created_atstring (date-time)
updated_atstring (date-time)
created_by_uuidobject
created_by_usernameobject
created_by_first_nameobject
created_by_last_nameobject
created_by_nameobject
custom_fieldsobject
curl -X POST "https://api.vivrecrm.com/api/v1/contacts/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",
  "company": {
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "name": "Kaveri Foods"
  },
  "first_name": "Asha",
  "last_name": "Rao",
  "full_name": "Asha Rao",
  "job_title": "Head of Operations",
  "email": "[email protected]",
  "email_secondary": "[email protected]",
  "phone_country_code": "+91",
  "phone": "9876543210",
  "phone_secondary_country_code": "",
  "phone_secondary": "",
  "whatsapp_country_code": "+91",
  "whatsapp_number": "9876543210",
  "opted_out_channels": {},
  "last_activity_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",
  "created_by_uuid": null,
  "created_by_username": null,
  "created_by_first_name": null,
  "created_by_last_name": null,
  "created_by_name": null,
  "custom_fields": {}
}

Contact activity timeline

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

Parameters

public_idpath, stringRequired
The record's public id (a UUID).
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/contacts/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]"
    }
  ]
}

Merge duplicate contacts

POST/api/v1/contacts/bulk-merge/

Body

primary_contact_idstring (uuid)Required
duplicate_contact_idsarray of string (uuid)Required
Must not contain the primary. All must be live contacts of the organization.
fieldsobject
Values to set on the primary contact. Only these keys are accepted (400 otherwise). opted_out_channels must be an object and company_public_id a company of the organization; other values are set as given. email, phone and phone_country_code never replace the primary's own: they fill an empty field, or else are kept as its secondary.
Response fields 3
primary_contact_idstring (uuid)
merged_countinteger
Duplicates merged in and soft-deleted.
contactobject
curl -X POST "https://api.vivrecrm.com/api/v1/contacts/bulk-merge/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"primary_contact_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7", "duplicate_contact_ids": ["7c9e6679-7425-40de-944b-e07fc1f90ae7"]}'
Response 200
{
  "primary_contact_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "merged_count": 1,
  "contact": {
    "created_source": "api_key",
    "created_source_label": "",
    "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "company": {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "name": "Kaveri Foods"
    },
    "first_name": "Asha",
    "last_name": "Rao",
    "full_name": "Asha Rao",
    "job_title": "Head of Operations",
    "email": "[email protected]",
    "email_secondary": "[email protected]",
    "phone_country_code": "+91",
    "phone": "9876543210",
    "phone_secondary_country_code": "",
    "phone_secondary": "",
    "whatsapp_country_code": "+91",
    "whatsapp_number": "9876543210",
    "opted_out_channels": {},
    "last_activity_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",
    "created_by_uuid": null,
    "created_by_username": null,
    "created_by_first_name": null,
    "created_by_last_name": null,
    "created_by_name": null,
    "custom_fields": {}
  }
}

Bulk add tags

POST/api/v1/contacts/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/contacts/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"
}

Bulk remove tags

POST/api/v1/contacts/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/contacts/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"
}

Delete many contacts (their leads and deals go with them)

POST/api/v1/contacts/bulk-delete/

Body

idsarray of string (uuid)Required
Contact public ids. A value that is not a UUID is not rejected; it 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/contacts/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
}

How many leads and deals deleting these contacts would take with them

POST/api/v1/contacts/delete-impact/

Body

idsarray of string (uuid)Required
Contact public ids. Values that are not UUIDs or not found are ignored.
Response fields 3
contactsinteger
How many of the ids name a contact the caller can see.
leadsinteger
Live leads of those contacts.
dealsinteger
Live deals of those contacts.
curl -X POST "https://api.vivrecrm.com/api/v1/contacts/delete-impact/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ids": ["7c9e6679-7425-40de-944b-e07fc1f90ae7"]}'
Response 200
{
  "contacts": 1,
  "leads": 1,
  "deals": 1
}

Contact counts for the list header

GET/api/v1/contacts/stats/

Response fields 7
totalinteger
mineinteger
Created by the caller.
unassignedinteger
No created_by.
taggedinteger
this_monthinteger
Created since the 1st of the organization's current month.
with_companyinteger
with_emailinteger
curl "https://api.vivrecrm.com/api/v1/contacts/stats/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "total": 1,
  "mine": 1,
  "unassigned": 1,
  "tagged": 1,
  "this_month": 1,
  "with_company": 1,
  "with_email": 1
}

Ids of every contact the list shows

GET/api/v1/contacts/ids/

"Select all N matching". Takes the list's own query (search, filter (compound JSON) and ordering), 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/contacts/ids/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "count": 1,
  "ids": [
    "7c9e6679-7425-40de-944b-e07fc1f90ae7"
  ],
  "limit": 1
}

A contact's deals, paginated

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

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 "https://api.vivrecrm.com/api/v1/contacts/7c9e6679-7425-40de-944b-e07fc1f90ae7/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": {}
    }
  ]
}

A contact's leads, paginated

GET/api/v1/contacts/{public_id}/leads/

Parameters

public_idpath, stringRequired
Response fields 31
created_sourceenum
created_source_labelstring
idstring (uuid)
organisationstring (uuid)
contactobject
lead_originenum
statusstring
sourcestring
mediumstring
channelstring
platformstring
campaignstring
prioritystring
lead_datestring (date)
scoreinteger
assigned_to_uuidobject
assigned_to_usernameobject
assigned_to_first_nameobject
assigned_to_last_nameobject
assigned_to_nameobject
tagsobject
custom_fieldsobject
import_job_idstring (uuid)
is_potential_duplicateboolean
duplicate_reasonenum
notes_countobject
activities_countobject
deals_countobject
tasks_countobject
created_atstring (date-time)
updated_atstring (date-time)
curl "https://api.vivrecrm.com/api/v1/contacts/7c9e6679-7425-40de-944b-e07fc1f90ae7/leads/" \
  -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_origin": "import",
      "status": "new",
      "source": "website",
      "medium": "",
      "channel": "",
      "platform": "",
      "campaign": "",
      "priority": "",
      "lead_date": "2026-10-31",
      "score": 1,
      "assigned_to_uuid": null,
      "assigned_to_username": null,
      "assigned_to_first_name": null,
      "assigned_to_last_name": null,
      "assigned_to_name": null,
      "tags": null,
      "custom_fields": {},
      "import_job_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "is_potential_duplicate": true,
      "duplicate_reason": "duplicate",
      "notes_count": null,
      "activities_count": null,
      "deals_count": null,
      "tasks_count": null,
      "created_at": "2026-10-17T09:30:00+05:30",
      "updated_at": "2026-10-17T09:30:00+05:30"
    }
  ]
}

A contact's tags

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

Parameters

public_idpath, stringRequired
curl "https://api.vivrecrm.com/api/v1/contacts/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 contact

POST/api/v1/contacts/{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/contacts/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 contact

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

Parameters

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