Skip to content

Taxonomy

Pipelines, stages, tags, task types, priorities and templates.

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

List tags

GET/api/v1/tags/

Response fields 5
idstring (uuid)
organisationstring (uuid)
namestring
color_hexstring
created_atstring (date-time)
curl "https://api.vivrecrm.com/api/v1/tags/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "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"
    }
  ]
}

Create tag

POST/api/v1/tags/

Body

namestringRequired
color_hexstring
Response fields 5
idstring (uuid)
organisationstring (uuid)
namestring
color_hexstring
created_atstring (date-time)
curl -X POST "https://api.vivrecrm.com/api/v1/tags/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods"}'
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"
}

Replace (full update; PATCH for partial)

PUT/api/v1/tags/{public_id}/

Parameters

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

Body

namestringRequired
color_hexstring
Response fields 5
idstring (uuid)
organisationstring (uuid)
namestring
color_hexstring
created_atstring (date-time)
curl -X PUT "https://api.vivrecrm.com/api/v1/tags/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods"}'
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"
}

Update tag

PATCH/api/v1/tags/{public_id}/

Parameters

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

Body

namestringRequired
color_hexstring
Response fields 5
idstring (uuid)
organisationstring (uuid)
namestring
color_hexstring
created_atstring (date-time)
curl -X PATCH "https://api.vivrecrm.com/api/v1/tags/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods"}'
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"
}

Delete tag

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

Parameters

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

List pipelines

GET/api/v1/pipelines/

Response fields 7
idstring (uuid)
organisationstring (uuid)
namestring
is_defaultboolean
stagesarray of object
created_atstring (date-time)
updated_atstring (date-time)
curl "https://api.vivrecrm.com/api/v1/pipelines/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "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"
    }
  ]
}

Create pipeline

POST/api/v1/pipelines/

Body

namestringRequired
is_defaultboolean
Response fields 7
idstring (uuid)
organisationstring (uuid)
namestring
is_defaultboolean
stagesarray of object
created_atstring (date-time)
updated_atstring (date-time)
curl -X POST "https://api.vivrecrm.com/api/v1/pipelines/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods"}'
Response 201
{
  "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"
}

List stages

GET/api/v1/pipelines/{public_id}/stages/

Parameters

public_idpath, stringRequired
The record's public id (a UUID).
curl "https://api.vivrecrm.com/api/v1/pipelines/7c9e6679-7425-40de-944b-e07fc1f90ae7/stages/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
[
  {
    "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"
  }
]

Create stage

POST/api/v1/pipelines/{public_id}/stages/

Parameters

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

Body

namestringRequired
Trimmed; must not be blank and must be unique in the pipeline.
orderintegerRequired
Must not be held by another stage of the pipeline.
probabilityinteger
stage_typeenum
A stage people add is an open one, and a stage keeps its type (400 otherwise). Won, Lost and Abandoned come with every pipeline. One of open.
colorstring
Response fields 7
idstring (uuid)
The stage's public_id.
namestring
orderinteger
Position in the pipeline; unique per pipeline.
probabilityinteger
stage_typeenum
open, won, lost or abandoned. Won, Lost and Abandoned are the fixed stages every pipeline ends in; every other stage is open.
colorstring
#RRGGBB; stored upper-cased.
created_atstring (date-time)
curl -X POST "https://api.vivrecrm.com/api/v1/pipelines/7c9e6679-7425-40de-944b-e07fc1f90ae7/stages/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods", "order": 1}'
Response 201
{
  "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"
}

List task types

GET/api/v1/task-types/

Response fields 6
idstring (uuid)
namestring
slugstring
is_builtinboolean
orderinteger
disabledobject
curl "https://api.vivrecrm.com/api/v1/task-types/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "name": "Kaveri Foods",
      "slug": "",
      "is_builtin": true,
      "order": 1,
      "disabled": null
    }
  ]
}

Create task type

POST/api/v1/task-types/

Body

namestringRequired
slugstringRequired
Response fields 6
idstring (uuid)
namestring
slugstring
is_builtinboolean
orderinteger
disabledobject
curl -X POST "https://api.vivrecrm.com/api/v1/task-types/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods", "slug": ""}'
Response 201
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "slug": "",
  "is_builtin": true,
  "order": 1,
  "disabled": null
}

List task priorities

GET/api/v1/task-priorities/

Response fields 7
idstring (uuid)
namestring
slugstring
colorstring
is_builtinboolean
orderinteger
disabledobject
curl "https://api.vivrecrm.com/api/v1/task-priorities/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "name": "Kaveri Foods",
      "slug": "",
      "color": "",
      "is_builtin": true,
      "order": 1,
      "disabled": null
    }
  ]
}

Create task priority

POST/api/v1/task-priorities/

Body

namestringRequired
slugstringRequired
colorstring
Response fields 7
idstring (uuid)
namestring
slugstring
colorstring
is_builtinboolean
orderinteger
disabledobject
curl -X POST "https://api.vivrecrm.com/api/v1/task-priorities/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods", "slug": ""}'
Response 201
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "slug": "",
  "color": "",
  "is_builtin": true,
  "order": 1,
  "disabled": null
}

Retrieve a pipeline with its stages

GET/api/v1/pipelines/{public_id}/

Parameters

public_idpath, stringRequired
Response fields 7
idstring (uuid)
organisationstring (uuid)
namestring
is_defaultboolean
stagesarray of object
created_atstring (date-time)
updated_atstring (date-time)
curl "https://api.vivrecrm.com/api/v1/pipelines/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "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"
}

Replace a pipeline

PUT/api/v1/pipelines/{public_id}/

Parameters

public_idpath, stringRequired

Body

namestringRequired
is_defaultboolean
Response fields 7
idstring (uuid)
organisationstring (uuid)
namestring
is_defaultboolean
stagesarray of object
created_atstring (date-time)
updated_atstring (date-time)
curl -X PUT "https://api.vivrecrm.com/api/v1/pipelines/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods"}'
Response 200
{
  "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"
}

Update a pipeline (the default moves to another, never unset; names unique in any case)

PATCH/api/v1/pipelines/{public_id}/

Parameters

public_idpath, stringRequired

Body

namestringRequired
is_defaultboolean
Response fields 7
idstring (uuid)
organisationstring (uuid)
namestring
is_defaultboolean
stagesarray of object
created_atstring (date-time)
updated_atstring (date-time)
curl -X PATCH "https://api.vivrecrm.com/api/v1/pipelines/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods"}'
Response 200
{
  "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"
}

Delete a pipeline and its stages

DELETE/api/v1/pipelines/{public_id}/

Parameters

public_idpath, stringRequired

Can also return 409.

curl -X DELETE "https://api.vivrecrm.com/api/v1/pipelines/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY"

Put every stage of the pipeline in a new order

POST/api/v1/pipelines/{public_id}/stages/reorder/

Parameters

public_idpath, stringRequired

Body

orderarray of string (uuid)Required

Can also return 400.

curl -X POST "https://api.vivrecrm.com/api/v1/pipelines/7c9e6679-7425-40de-944b-e07fc1f90ae7/stages/reorder/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"order": ["7c9e6679-7425-40de-944b-e07fc1f90ae7"]}'
Response 200
[
  {
    "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"
  }
]

Update a stage

PATCH/api/v1/pipelines/{public_id}/stages/{stage_id}/

Parameters

public_idpath, stringRequired
stage_idpath, stringRequired

Body

namestring
Trimmed; must not be blank and must be unique in the pipeline.
orderinteger
Must not be held by another stage of the pipeline.
probabilityinteger
stage_typeenum
A stage people add is an open one, and a stage keeps its type (400 otherwise). Won, Lost and Abandoned come with every pipeline. One of open.
colorstring
Response fields 7
idstring (uuid)
The stage's public_id.
namestring
orderinteger
Position in the pipeline; unique per pipeline.
probabilityinteger
stage_typeenum
open, won, lost or abandoned. Won, Lost and Abandoned are the fixed stages every pipeline ends in; every other stage is open.
colorstring
#RRGGBB; stored upper-cased.
created_atstring (date-time)
curl -X PATCH "https://api.vivrecrm.com/api/v1/pipelines/7c9e6679-7425-40de-944b-e07fc1f90ae7/stages/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods"}'
Response 200
{
  "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"
}

Delete a stage

DELETE/api/v1/pipelines/{public_id}/stages/{stage_id}/

Parameters

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

Retrieve a task priority

GET/api/v1/task-priorities/{public_id}/

Parameters

public_idpath, stringRequired
Response fields 7
idstring (uuid)
namestring
slugstring
colorstring
is_builtinboolean
orderinteger
disabledobject
curl "https://api.vivrecrm.com/api/v1/task-priorities/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "slug": "",
  "color": "",
  "is_builtin": true,
  "order": 1,
  "disabled": null
}

Replace a task priority

PUT/api/v1/task-priorities/{public_id}/

Parameters

public_idpath, stringRequired

Body

namestringRequired
slugstringRequired
colorstring
Response fields 7
idstring (uuid)
namestring
slugstring
colorstring
is_builtinboolean
orderinteger
disabledobject
curl -X PUT "https://api.vivrecrm.com/api/v1/task-priorities/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods", "slug": ""}'
Response 200
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "slug": "",
  "color": "",
  "is_builtin": true,
  "order": 1,
  "disabled": null
}

Update a task priority

PATCH/api/v1/task-priorities/{public_id}/

Parameters

public_idpath, stringRequired

Body

namestringRequired
slugstringRequired
colorstring
Response fields 7
idstring (uuid)
namestring
slugstring
colorstring
is_builtinboolean
orderinteger
disabledobject
curl -X PATCH "https://api.vivrecrm.com/api/v1/task-priorities/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods", "slug": ""}'
Response 200
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "slug": "",
  "color": "",
  "is_builtin": true,
  "order": 1,
  "disabled": null
}

Delete a task priority

DELETE/api/v1/task-priorities/{public_id}/

Parameters

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

Turn a task priority on or off

POST/api/v1/task-priorities/{public_id}/toggle/

Parameters

public_idpath, stringRequired
Response fields 7
idstring (uuid)
namestring
slugstring
colorstring
is_builtinboolean
orderinteger
disabledobject
curl -X POST "https://api.vivrecrm.com/api/v1/task-priorities/7c9e6679-7425-40de-944b-e07fc1f90ae7/toggle/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "slug": "",
  "color": "",
  "is_builtin": true,
  "order": 1,
  "disabled": null
}

Retrieve a task type

GET/api/v1/task-types/{public_id}/

Parameters

public_idpath, stringRequired
Response fields 6
idstring (uuid)
namestring
slugstring
is_builtinboolean
orderinteger
disabledobject
curl "https://api.vivrecrm.com/api/v1/task-types/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "slug": "",
  "is_builtin": true,
  "order": 1,
  "disabled": null
}

Replace a task type

PUT/api/v1/task-types/{public_id}/

Parameters

public_idpath, stringRequired

Body

namestringRequired
slugstringRequired
Response fields 6
idstring (uuid)
namestring
slugstring
is_builtinboolean
orderinteger
disabledobject
curl -X PUT "https://api.vivrecrm.com/api/v1/task-types/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods", "slug": ""}'
Response 200
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "slug": "",
  "is_builtin": true,
  "order": 1,
  "disabled": null
}

Update a task type

PATCH/api/v1/task-types/{public_id}/

Parameters

public_idpath, stringRequired

Body

namestringRequired
slugstringRequired
Response fields 6
idstring (uuid)
namestring
slugstring
is_builtinboolean
orderinteger
disabledobject
curl -X PATCH "https://api.vivrecrm.com/api/v1/task-types/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods", "slug": ""}'
Response 200
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "slug": "",
  "is_builtin": true,
  "order": 1,
  "disabled": null
}

Delete a task type

DELETE/api/v1/task-types/{public_id}/

Parameters

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

Turn a task type on or off

POST/api/v1/task-types/{public_id}/toggle/

Parameters

public_idpath, stringRequired
Response fields 6
idstring (uuid)
namestring
slugstring
is_builtinboolean
orderinteger
disabledobject
curl -X POST "https://api.vivrecrm.com/api/v1/task-types/7c9e6679-7425-40de-944b-e07fc1f90ae7/toggle/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "slug": "",
  "is_builtin": true,
  "order": 1,
  "disabled": null
}

Message templates

GET/api/v1/templates/

Response fields 15
idstring (uuid)
organisationstring (uuid)
namestring
typeenum
contentstring
variablesarray of object
subjectstring
is_sharedboolean
created_by_uuidobject
created_by_usernameobject
created_by_first_nameobject
created_by_last_nameobject
created_by_nameobject
created_atstring (date-time)
updated_atstring (date-time)
curl "https://api.vivrecrm.com/api/v1/templates/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "name": "Kaveri Foods",
      "type": "email",
      "content": "Called, wants a demo on Friday.",
      "variables": [],
      "subject": "",
      "is_shared": true,
      "created_by_uuid": null,
      "created_by_username": null,
      "created_by_first_name": null,
      "created_by_last_name": null,
      "created_by_name": null,
      "created_at": "2026-10-17T09:30:00+05:30",
      "updated_at": "2026-10-17T09:30:00+05:30"
    }
  ]
}

Create a message template

POST/api/v1/templates/

WhatsApp templates are created and approved in WhatsApp (Meta), not here: type whatsapp is a 400. They are listed, read only, so they can be picked.

Body

namestringRequired
typeenumRequired
One of email, whatsapp, note, task.
contentstringRequired
variablesarray of object
Response fields 15
idstring (uuid)
organisationstring (uuid)
namestring
typeenum
contentstring
variablesarray of object
subjectstring
is_sharedboolean
created_by_uuidobject
created_by_usernameobject
created_by_first_nameobject
created_by_last_nameobject
created_by_nameobject
created_atstring (date-time)
updated_atstring (date-time)
curl -X POST "https://api.vivrecrm.com/api/v1/templates/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods", "type": "email", "content": "Called, wants a demo on Friday."}'
Response 201
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "type": "email",
  "content": "Called, wants a demo on Friday.",
  "variables": [
    null
  ],
  "subject": "",
  "is_shared": true,
  "created_by_uuid": null,
  "created_by_username": null,
  "created_by_first_name": null,
  "created_by_last_name": null,
  "created_by_name": null,
  "created_at": "2026-10-17T09:30:00+05:30",
  "updated_at": "2026-10-17T09:30:00+05:30"
}

Retrieve a message template

GET/api/v1/templates/{public_id}/

Parameters

public_idpath, stringRequired
Response fields 15
idstring (uuid)
organisationstring (uuid)
namestring
typeenum
contentstring
variablesarray of object
subjectstring
is_sharedboolean
created_by_uuidobject
created_by_usernameobject
created_by_first_nameobject
created_by_last_nameobject
created_by_nameobject
created_atstring (date-time)
updated_atstring (date-time)
curl "https://api.vivrecrm.com/api/v1/templates/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "type": "email",
  "content": "Called, wants a demo on Friday.",
  "variables": [
    null
  ],
  "subject": "",
  "is_shared": true,
  "created_by_uuid": null,
  "created_by_username": null,
  "created_by_first_name": null,
  "created_by_last_name": null,
  "created_by_name": null,
  "created_at": "2026-10-17T09:30:00+05:30",
  "updated_at": "2026-10-17T09:30:00+05:30"
}

Replace a message template

PUT/api/v1/templates/{public_id}/

A WhatsApp template is refused here (400 on type): they are made and approved in WhatsApp (Meta).

Parameters

public_idpath, stringRequired

Body

namestringRequired
typeenumRequired
One of email, whatsapp, note, task.
contentstringRequired
variablesarray of object
Response fields 15
idstring (uuid)
organisationstring (uuid)
namestring
typeenum
contentstring
variablesarray of object
subjectstring
is_sharedboolean
created_by_uuidobject
created_by_usernameobject
created_by_first_nameobject
created_by_last_nameobject
created_by_nameobject
created_atstring (date-time)
updated_atstring (date-time)
curl -X PUT "https://api.vivrecrm.com/api/v1/templates/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods", "type": "email", "content": "Called, wants a demo on Friday."}'
Response 200
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "type": "email",
  "content": "Called, wants a demo on Friday.",
  "variables": [
    null
  ],
  "subject": "",
  "is_shared": true,
  "created_by_uuid": null,
  "created_by_username": null,
  "created_by_first_name": null,
  "created_by_last_name": null,
  "created_by_name": null,
  "created_at": "2026-10-17T09:30:00+05:30",
  "updated_at": "2026-10-17T09:30:00+05:30"
}

Update a message template

PATCH/api/v1/templates/{public_id}/

A WhatsApp template is refused here (400 on type): they are made and approved in WhatsApp (Meta).

Parameters

public_idpath, stringRequired

Body

namestringRequired
typeenumRequired
One of email, whatsapp, note, task.
contentstringRequired
variablesarray of object
Response fields 15
idstring (uuid)
organisationstring (uuid)
namestring
typeenum
contentstring
variablesarray of object
subjectstring
is_sharedboolean
created_by_uuidobject
created_by_usernameobject
created_by_first_nameobject
created_by_last_nameobject
created_by_nameobject
created_atstring (date-time)
updated_atstring (date-time)
curl -X PATCH "https://api.vivrecrm.com/api/v1/templates/7c9e6679-7425-40de-944b-e07fc1f90ae7/" \
  -H "X-Api-Key: $VIVRE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "Kaveri Foods", "type": "email", "content": "Called, wants a demo on Friday."}'
Response 200
{
  "id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "organisation": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "name": "Kaveri Foods",
  "type": "email",
  "content": "Called, wants a demo on Friday.",
  "variables": [
    null
  ],
  "subject": "",
  "is_shared": true,
  "created_by_uuid": null,
  "created_by_username": null,
  "created_by_first_name": null,
  "created_by_last_name": null,
  "created_by_name": null,
  "created_at": "2026-10-17T09:30:00+05:30",
  "updated_at": "2026-10-17T09:30:00+05:30"
}

Delete a message template

DELETE/api/v1/templates/{public_id}/

A WhatsApp template is refused here (400 on type): they are made and approved in WhatsApp (Meta).

Parameters

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

Render a template with the given values

POST/api/v1/templates/{public_id}/preview/

Parameters

public_idpath, stringRequired

Body

valuesobject
Variable name to replacement text.
Response fields 2
template_idstring (uuid)
The template's public id. A read-only key may preview.
rendered_contentstring
Content with each known {{variable}} replaced; unknown placeholders are left as written.
curl -X POST "https://api.vivrecrm.com/api/v1/templates/7c9e6679-7425-40de-944b-e07fc1f90ae7/preview/" \
  -H "X-Api-Key: $VIVRE_API_KEY"
Response 200
{
  "template_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "rendered_content": ""
}