Skip to content

activities ​

12 endpoints at a glance
MethodPathSummary
GET/activitiesList Activities
POST/activitiesCreate Activity
DELETE/activities/{activity_id}Delete Activity
GET/activities/{activity_id}Get Activity
PATCH/activities/{activity_id}Update Activity
POST/activities/{activity_id}/participantsAdd Participant
DELETE/activities/{activity_id}/participants/{link_id}Remove Participant
GET/activities/for-entityList For Entity
GET/activity-typesList Types
POST/activity-typesCreate Type
DELETE/activity-types/{key}Delete Type
PATCH/activity-types/{key}Update Type

activities​


List Activities​

GET
/activities

Team-scope activity feed.

Default: everything the viewer can see — their own activities plus
activities logged by anyone against a shareable entity (project /
company / deal) the viewer can read. Pass entity_type +
entity_id to narrow to one record ("involving X").

Returns the standard list envelope plus a by_type breakdown over
the full filtered set (for the summary header).

Parameters​

Header Parameters

authorization

Query Parameters

type
date_from
date_to
entity_type
entity_id
page
Type
integer
Default
1
limit
Type
integer
Default
50

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Create Activity​

POST
/activities

Parameters​

Header Parameters

authorization

Request Body​

application/json
JSON
{
  
"type": "string",
  
"subject": "string",
  
"body_md": "string",
  
"occurred_at": "string",
  
"duration_minutes": 0,
  
"outcome": "string",
  
"tag_ids": [
  
  
"string"
  
],
  
"links": [
  
  
{
  
  
  
"type": "string",
  
  
  
"id": "string",
  
  
  
"ref": {
  
  
  
  
"additionalProperties": "string"
  
  
  
}
  
  
}
  
]
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


List For Entity​

GET
/activities/for-entity

Activities linked to one entity, newest-first.

Access is gated on the entity: any user who can read it sees all activities
logged for it, regardless of author (members of a shared project see each
other's call notes). For contact/person the timeline is sourced from
the shared person (ACL-filtered) so it survives the contact→person migration.

Parameters​

Header Parameters

authorization

Query Parameters

entity_type*
Type
string
Required
entity_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Get Activity​

GET
/activities/{activity_id}

Parameters​

Header Parameters

authorization

Path Parameters

activity_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Delete Activity​

DELETE
/activities/{activity_id}

Parameters​

Header Parameters

authorization

Path Parameters

activity_id*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Update Activity​

PATCH
/activities/{activity_id}

Parameters​

Header Parameters

authorization

Path Parameters

activity_id*
Type
string
Required

Request Body​

application/json
JSON
{
  
"type": "string",
  
"subject": "string",
  
"body_md": "string",
  
"occurred_at": "string",
  
"duration_minutes": 0,
  
"outcome": "string",
  
"tag_ids": [
  
  
"string"
  
]
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value
Body

Samples​


Add Participant​

POST
/activities/{activity_id}/participants

Link another entity to an existing activity (author only).

Requires read access to the entity being attached — same gate as
create-time linking, so you can't probe for hidden entities.

Parameters​

Header Parameters

authorization

Path Parameters

activity_id*
Type
string
Required

Request Body​

application/json
JSON
{
  
"type": "string",
  
"id": "string",
  
"ref": {
  
  
"additionalProperties": "string"
  
}
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value
Body

Samples​


Remove Participant​

DELETE
/activities/{activity_id}/participants/{link_id}

Unlink a participant edge from an activity (author only).

Header Parameters

authorization

Path Parameters

activity_id*
Type
string
Required
link_id*
Type
string
Required

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}
Headers
Variables
Key
Value

List Types​

GET
/activity-types

Built-in defaults + the user's custom types.

Parameters​

Header Parameters

authorization

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers

Samples​


Create Type​

POST
/activity-types

Parameters​

Header Parameters

authorization

Request Body​

application/json
JSON
{
  
"label": "string",
  
"icon": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Body

Samples​


Delete Type​

DELETE
/activity-types/{key}

Remove a custom type. Activities already using it keep their value.

Parameters​

Header Parameters

authorization

Path Parameters

key*
Type
string
Required

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value

Samples​


Update Type​

PATCH
/activity-types/{key}

Edit a custom type's label and/or icon. The key stays fixed.

Parameters​

Header Parameters

authorization

Path Parameters

key*
Type
string
Required

Request Body​

application/json
JSON
{
  
"label": "string",
  
"icon": "string"
}

Responses​

Successful Response

application/json
JSON
{
  
"additionalProperties": "string"
}

Playground​

Headers
Variables
Key
Value
Body

Samples​


Kancil — one workspace for contacts, work and money.