Notes & Activities
Notes on records and the timeline of what happened.
List notes
GET/api/v1/notes/
The notes on one record, newest first. Notes on a lead, deal or task the caller cannot open are left out. A note names its record by entity_public_id, the record's public id. entity_id is accepted as the public id on writes, but is still answered as the record's integer key; use entity_public_id.
Parameters
cursorquery, string- Opaque pagination cursor (follow next/previous URLs).
entity_typequery, enumRequiredentity_idquery, stringRequired- The record's public id. Its integer key is still accepted for now.
searchquery, string- Only notes whose text contains this.
Response fields 24
created_sourceenumcreated_source_labelstringidstring (uuid)organisationstring (uuid)entity_typeenumentity_idstringentity_public_idstring (uuid)contentstringcreated_by_uuidobjectcreated_by_usernameobjectcreated_by_first_nameobjectcreated_by_last_nameobjectcreated_by_nameobjectedited_byintegeredited_by_uuidobjectedited_by_usernameobjectedited_by_first_nameobjectedited_by_last_nameobjectedited_by_nameobjectedited_atstring (date-time)is_ai_generatedbooleanslash_commandsobjectcreated_atstring (date-time)updated_atstring (date-time)
curl "https://api.vivrecrm.com/api/v1/notes/" \
-H "X-Api-Key: $VIVRE_API_KEY"
import os, requests
resp = requests.get(
"https://api.vivrecrm.com/api/v1/notes/",
headers={"X-Api-Key": os.environ["VIVRE_API_KEY"]},
)
print(resp.json())
const resp = await fetch("https://api.vivrecrm.com/api/v1/notes/", {
method: "GET",
headers: {
"X-Api-Key": process.env.VIVRE_API_KEY,
},
});
console.log(await resp.json());
{
"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",
"entity_type": "Contact",
"entity_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"entity_public_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"content": "Called, wants a demo on Friday.",
"created_by_uuid": null,
"created_by_username": null,
"created_by_first_name": null,
"created_by_last_name": null,
"created_by_name": null,
"edited_by": 1,
"edited_by_uuid": null,
"edited_by_username": null,
"edited_by_first_name": null,
"edited_by_last_name": null,
"edited_by_name": null,
"edited_at": "2026-10-17T09:30:00+05:30",
"is_ai_generated": true,
"slash_commands": null,
"created_at": "2026-10-17T09:30:00+05:30",
"updated_at": "2026-10-17T09:30:00+05:30"
}
]
}
Create note
POST/api/v1/notes/
Body
entity_typeenumRequired- One of
Contact,Lead,Deal,Company,Task. contentstringRequiredentity_idstring, can be nullis_ai_generatedboolean
Response fields 24
created_sourceenumcreated_source_labelstringidstring (uuid)organisationstring (uuid)entity_typeenumentity_idstringentity_public_idstring (uuid)contentstringcreated_by_uuidobjectcreated_by_usernameobjectcreated_by_first_nameobjectcreated_by_last_nameobjectcreated_by_nameobjectedited_byintegeredited_by_uuidobjectedited_by_usernameobjectedited_by_first_nameobjectedited_by_last_nameobjectedited_by_nameobjectedited_atstring (date-time)is_ai_generatedbooleanslash_commandsobjectcreated_atstring (date-time)updated_atstring (date-time)
curl -X POST "https://api.vivrecrm.com/api/v1/notes/" \
-H "X-Api-Key: $VIVRE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"entity_type": "Contact", "content": "Called, wants a demo on Friday."}'
import os, requests
resp = requests.post(
"https://api.vivrecrm.com/api/v1/notes/",
headers={"X-Api-Key": os.environ["VIVRE_API_KEY"]},
json={
"entity_type": "Contact",
"content": "Called, wants a demo on Friday."
},
)
print(resp.json())
const resp = await fetch("https://api.vivrecrm.com/api/v1/notes/", {
method: "POST",
headers: {
"X-Api-Key": process.env.VIVRE_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"entity_type": "Contact",
"content": "Called, wants a demo on Friday."
}),
});
console.log(await resp.json());
{
"created_source": "api_key",
"created_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",
"content": "Called, wants a demo on Friday.",
"created_by_uuid": null,
"created_by_username": null,
"created_by_first_name": null,
"created_by_last_name": null,
"created_by_name": null,
"edited_by": 1,
"edited_by_uuid": null,
"edited_by_username": null,
"edited_by_first_name": null,
"edited_by_last_name": null,
"edited_by_name": null,
"edited_at": "2026-10-17T09:30:00+05:30",
"is_ai_generated": true,
"slash_commands": null,
"created_at": "2026-10-17T09:30:00+05:30",
"updated_at": "2026-10-17T09:30:00+05:30"
}
Retrieve
GET/api/v1/notes/{public_id}/
Parameters
public_idpath, stringRequired- The record's public id (a UUID).
Response fields 24
created_sourceenumcreated_source_labelstringidstring (uuid)organisationstring (uuid)entity_typeenumentity_idstringentity_public_idstring (uuid)contentstringcreated_by_uuidobjectcreated_by_usernameobjectcreated_by_first_nameobjectcreated_by_last_nameobjectcreated_by_nameobjectedited_byintegeredited_by_uuidobjectedited_by_usernameobjectedited_by_first_nameobjectedited_by_last_nameobjectedited_by_nameobjectedited_atstring (date-time)is_ai_generatedbooleanslash_commandsobjectcreated_atstring (date-time)updated_atstring (date-time)
curl "https://api.vivrecrm.com/api/v1/notes/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
-H "X-Api-Key: $VIVRE_API_KEY"
import os, requests
resp = requests.get(
"https://api.vivrecrm.com/api/v1/notes/7c9e6679-7425-40de-944b-e07fc1f90ae7/",
headers={"X-Api-Key": os.environ["VIVRE_API_KEY"]},
)
print(resp.json())
const resp = await fetch("https://api.vivrecrm.com/api/v1/notes/7c9e6679-7425-40de-944b-e07fc1f90ae7/", {
method: "GET",
headers: {
"X-Api-Key": process.env.VIVRE_API_KEY,
},
});
console.log(await resp.json());
{
"created_source": "api_key",
"created_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",
"content": "Called, wants a demo on Friday.",
"created_by_uuid": null,
"created_by_username": null,
"created_by_first_name": null,
"created_by_last_name": null,
"created_by_name": null,
"edited_by": 1,
"edited_by_uuid": null,
"edited_by_username": null,
"edited_by_first_name": null,
"edited_by_last_name": null,
"edited_by_name": null,
"edited_at": "2026-10-17T09:30:00+05:30",
"is_ai_generated": true,
"slash_commands": null,
"created_at": "2026-10-17T09:30:00+05:30",
"updated_at": "2026-10-17T09:30:00+05:30"
}
Replace (full update; PATCH for partial)
PUT/api/v1/notes/{public_id}/
Parameters
public_idpath, stringRequired- The record's public id (a UUID).
Body
entity_typeenumRequired- One of
Contact,Lead,Deal,Company,Task. contentstringRequiredentity_idstring, can be nullis_ai_generatedboolean
Response fields 24
created_sourceenumcreated_source_labelstringidstring (uuid)organisationstring (uuid)entity_typeenumentity_idstringentity_public_idstring (uuid)contentstringcreated_by_uuidobjectcreated_by_usernameobjectcreated_by_first_nameobjectcreated_by_last_nameobjectcreated_by_nameobjectedited_byintegeredited_by_uuidobjectedited_by_usernameobjectedited_by_first_nameobjectedited_by_last_nameobjectedited_by_nameobjectedited_atstring (date-time)is_ai_generatedbooleanslash_commandsobjectcreated_atstring (date-time)updated_atstring (date-time)
curl -X PUT "https://api.vivrecrm.com/api/v1/notes/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
-H "X-Api-Key: $VIVRE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"entity_type": "Contact", "content": "Called, wants a demo on Friday."}'
import os, requests
resp = requests.put(
"https://api.vivrecrm.com/api/v1/notes/7c9e6679-7425-40de-944b-e07fc1f90ae7/",
headers={"X-Api-Key": os.environ["VIVRE_API_KEY"]},
json={
"entity_type": "Contact",
"content": "Called, wants a demo on Friday."
},
)
print(resp.json())
const resp = await fetch("https://api.vivrecrm.com/api/v1/notes/7c9e6679-7425-40de-944b-e07fc1f90ae7/", {
method: "PUT",
headers: {
"X-Api-Key": process.env.VIVRE_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"entity_type": "Contact",
"content": "Called, wants a demo on Friday."
}),
});
console.log(await resp.json());
{
"created_source": "api_key",
"created_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",
"content": "Called, wants a demo on Friday.",
"created_by_uuid": null,
"created_by_username": null,
"created_by_first_name": null,
"created_by_last_name": null,
"created_by_name": null,
"edited_by": 1,
"edited_by_uuid": null,
"edited_by_username": null,
"edited_by_first_name": null,
"edited_by_last_name": null,
"edited_by_name": null,
"edited_at": "2026-10-17T09:30:00+05:30",
"is_ai_generated": true,
"slash_commands": null,
"created_at": "2026-10-17T09:30:00+05:30",
"updated_at": "2026-10-17T09:30:00+05:30"
}
Update
PATCH/api/v1/notes/{public_id}/
Parameters
public_idpath, stringRequired- The record's public id (a UUID).
Body
entity_typeenumRequired- One of
Contact,Lead,Deal,Company,Task. contentstringRequiredentity_idstring, can be nullis_ai_generatedboolean
Response fields 24
created_sourceenumcreated_source_labelstringidstring (uuid)organisationstring (uuid)entity_typeenumentity_idstringentity_public_idstring (uuid)contentstringcreated_by_uuidobjectcreated_by_usernameobjectcreated_by_first_nameobjectcreated_by_last_nameobjectcreated_by_nameobjectedited_byintegeredited_by_uuidobjectedited_by_usernameobjectedited_by_first_nameobjectedited_by_last_nameobjectedited_by_nameobjectedited_atstring (date-time)is_ai_generatedbooleanslash_commandsobjectcreated_atstring (date-time)updated_atstring (date-time)
curl -X PATCH "https://api.vivrecrm.com/api/v1/notes/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
-H "X-Api-Key: $VIVRE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"entity_type": "Contact", "content": "Called, wants a demo on Friday."}'
import os, requests
resp = requests.patch(
"https://api.vivrecrm.com/api/v1/notes/7c9e6679-7425-40de-944b-e07fc1f90ae7/",
headers={"X-Api-Key": os.environ["VIVRE_API_KEY"]},
json={
"entity_type": "Contact",
"content": "Called, wants a demo on Friday."
},
)
print(resp.json())
const resp = await fetch("https://api.vivrecrm.com/api/v1/notes/7c9e6679-7425-40de-944b-e07fc1f90ae7/", {
method: "PATCH",
headers: {
"X-Api-Key": process.env.VIVRE_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"entity_type": "Contact",
"content": "Called, wants a demo on Friday."
}),
});
console.log(await resp.json());
{
"created_source": "api_key",
"created_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",
"content": "Called, wants a demo on Friday.",
"created_by_uuid": null,
"created_by_username": null,
"created_by_first_name": null,
"created_by_last_name": null,
"created_by_name": null,
"edited_by": 1,
"edited_by_uuid": null,
"edited_by_username": null,
"edited_by_first_name": null,
"edited_by_last_name": null,
"edited_by_name": null,
"edited_at": "2026-10-17T09:30:00+05:30",
"is_ai_generated": true,
"slash_commands": null,
"created_at": "2026-10-17T09:30:00+05:30",
"updated_at": "2026-10-17T09:30:00+05:30"
}
Delete
DELETE/api/v1/notes/{public_id}/
Parameters
public_idpath, stringRequired- The record's public id (a UUID).
curl -X DELETE "https://api.vivrecrm.com/api/v1/notes/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
-H "X-Api-Key: $VIVRE_API_KEY"
import os, requests
resp = requests.delete(
"https://api.vivrecrm.com/api/v1/notes/7c9e6679-7425-40de-944b-e07fc1f90ae7/",
headers={"X-Api-Key": os.environ["VIVRE_API_KEY"]},
)
print(resp.status_code)
const resp = await fetch("https://api.vivrecrm.com/api/v1/notes/7c9e6679-7425-40de-944b-e07fc1f90ae7/", {
method: "DELETE",
headers: {
"X-Api-Key": process.env.VIVRE_API_KEY,
},
});
console.log(resp.status);
List activities
GET/api/v1/activities/
Parameters
cursorquery, string- Opaque pagination cursor (follow next/previous URLs).
sourcequery, enum- Only activity from this source:
app(people using the app),api_key,connected_app,automationorimport. Any other value is a 400.
Response fields 19
sourceenumsource_labelstringidstring (uuid)organisationstring (uuid)entity_typeenumentity_idstringentity_public_idobjecttypeenumactor_typeenumcreated_by_uuidobjectcreated_by_usernameobjectcreated_by_first_nameobjectcreated_by_last_nameobjectcreated_by_nameobjectis_outboundbooleanresponse_time_secondsintegercontentstringcreated_atstring (date-time)emailobject
curl "https://api.vivrecrm.com/api/v1/activities/" \
-H "X-Api-Key: $VIVRE_API_KEY"
import os, requests
resp = requests.get(
"https://api.vivrecrm.com/api/v1/activities/",
headers={"X-Api-Key": os.environ["VIVRE_API_KEY"]},
)
print(resp.json())
const resp = await fetch("https://api.vivrecrm.com/api/v1/activities/", {
method: "GET",
headers: {
"X-Api-Key": process.env.VIVRE_API_KEY,
},
});
console.log(await resp.json());
{
"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]"
}
]
}