List activities
Returns a paginated list of activities in the authenticated workspace. Supports cursor-based pagination and filtering by type, linked resources, and completion status.
Authorization
apiKey API key from your nodestash dashboard. Pass as a Bearer token in the Authorization header.
In: header
Query Parameters
Opaque pagination cursor returned as next_cursor in a previous response. Pass this to fetch the next page.
Maximum number of activities to return per page.
"25"Filter by activity type (exact match).
"note" | "task" | "email" | "call" | "meeting" | "custom"Filter by linked contact ID (exact match).
^ct_Filter by linked company ID (exact match).
^co_Filter by linked deal ID (exact match).
^dl_Filter by completion status.
"true" | "false"Comma-separated sort fields. Prefix with - for descending order. Supported fields: created_at, updated_at, due_date. Default: -created_at.
Response Body
application/json
application/json
application/json
curl -X GET "https://api.nodestash.io/v1/activities?type=task&contact_id=ct_5hJ3kM9pQrVwXyZaB2cD4&company_id=co_7rT4mK9pQsVwXyZaB2cD4&deal_id=dl_3xK8nM2qTsYvAzCeB2cD4&is_done=false&sort=-created_at"{
"data": [
{
"id": "act_5hJ3kM9pQrVwXyZaB2cD4",
"type": "activity",
"attributes": {
"id": "act_5hJ3kM9pQrVwXyZaB2cD4",
"type": "task",
"subject": "Follow up on proposal",
"body": "Discuss pricing and timeline with the client",
"contact_id": "ct_5hJ3kM9pQrVwXyZaB2cD4",
"company_id": "co_7rT4mK9pQsVwXyZaB2cD4",
"deal_id": "dl_3xK8nM2qTsYvAzCeB2cD4",
"owner_id": null,
"is_done": false,
"due_date": "2026-03-01T09:00:00Z",
"completed_at": null,
"metadata": {
"priority": "high"
},
"tags": [
"follow-up",
"important"
],
"created_at": "2026-02-15T10:00:00Z",
"updated_at": "2026-02-15T10:00:00Z"
}
},
{
"id": "act_9xK7mN2qTsYvAzCe4fG6",
"type": "activity",
"attributes": {
"id": "act_9xK7mN2qTsYvAzCe4fG6",
"type": "note",
"subject": "Initial contact",
"body": "Met at conference, interested in enterprise plan",
"contact_id": "ct_9xK7mN2qTsYvAzCe4fG6",
"company_id": null,
"deal_id": null,
"owner_id": null,
"is_done": false,
"due_date": null,
"completed_at": null,
"metadata": {},
"tags": [
"conference"
],
"created_at": "2026-02-14T08:00:00Z",
"updated_at": "2026-02-14T08:00:00Z"
}
}
],
"meta": {
"request_id": "req_abc123def456",
"pagination": {
"next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0wMi0xNFQwODowMDowMFoiLCJpZCI6ImFjdF85eEs3bU4ycVRzWXZBekNlNGZHNiJ9",
"has_more": true
}
}
}{
"error": {
"code": "INVALID_API_KEY",
"message": "Missing or invalid Authorization header"
},
"meta": {
"request_id": "req_abc123def456"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded"
},
"meta": {
"request_id": "req_abc123def456"
}
}