For AI agents: markdown of this page — /docs-content-en/entities/activities/get.md documentation index — /llms.txt
Get activity
GET /v1/activities/:id
Returns an activity by ID with all fields.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id (path) |
number | yes | Activity ID |
include (query) |
string | no | Related employees, comma-separated: responsible, author, editor. See the "Related data" section below |
Examples
curl — personal key
curl "https://vibecode.bitrix24.com/v1/activities/3894" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth application
curl "https://vibecode.bitrix24.com/v1/activities/3894" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/activities/3894', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data } = await res.json()
console.log('Activity:', data.subject, '— completed:', data.completed)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/activities/3894', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data } = await res.json()
Response fields
The activity object with all fields — see Activity fields.
Related data
To get an activity together with its related employees, pass the include parameter in the GET request:
GET /v1/activities/1111?include=responsible,author
Available includes — up to three names per request:
| Name | Source field | Key in _included |
Result |
|---|---|---|---|
responsible |
responsibleId — the responsible person |
responsible |
Employee card or null |
author |
authorId — the author |
author |
Employee card or null |
editor |
editorId — the last editor |
editor |
Employee card or null |
The employee card is the same as in the GET /v1/users/:id response. The relation reads an employee, so the key needs the user scope in addition to crm. The result is in the _included field:
{
"success": true,
"data": {
"id": 1111,
"subject": "Sales proposal",
"ownerTypeId": 3,
"ownerId": 409,
"responsibleId": 29,
"authorId": 1,
"_included": {
"responsible": { "id": 29, "name": "Emma", "lastName": "Wilson", "email": "emma.wilson@example.com", "active": false },
"author": { "id": 1, "name": "John", "lastName": "Brown", "email": "john.brown@example.com", "active": true }
}
}
}
The main fields of the activity and the employee are shown. For the full list of card fields, see Employee fields.
Response example
{
"success": true,
"data": {
"id": 3894,
"typeId": 1,
"ownerTypeId": 2,
"ownerId": 741,
"subject": "Project meeting",
"description": "Discussing delivery terms",
"responsibleId": 1,
"priority": 2,
"direction": 2,
"completed": false,
"startTime": "2026-04-16T10:00:00+00:00",
"endTime": "2026-04-16T11:00:00+00:00",
"deadline": "2026-04-16T11:00:00+00:00",
"createdAt": "2026-04-15T14:30:00+00:00",
"updatedAt": "2026-04-15T14:30:00+00:00"
}
}
Error response example
404 — activity not found:
{
"success": false,
"error": {
"code": "ENTITY_NOT_FOUND",
"message": "Item not found"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| 404 | ENTITY_NOT_FOUND |
Activity with this ID not found |
| 400 | INVALID_INCLUDE |
include contains a name outside the set responsible, author, editor. The response lists the available names |
| 400 | INVALID_INCLUDE |
include is not a comma-separated string of names (for example, include[a]=1). The response does not list the names |
| 400 | INCLUDE_LIMIT_EXCEEDED |
include contains more than three names, including duplicates |
| 403 | ACCESS_DENIED |
No access to the activity |
| 403 | SCOPE_DENIED |
The API key lacks the crm scope |
| 403 | SCOPE_DENIED |
include requests a relation to an employee, and the key lacks the user scope. The response names the relation and the missing scope |
| 401 | TOKEN_MISSING |
The API key has no configured tokens |
Full list of common API errors — Errors.