For AI agents: markdown of this page — /docs-content-en/entities/activities/postpone.md documentation index — /llms.txt
Postpone an activity
POST /v1/activities/:id/postpone
Shifts the start, end and deadline of a CRM activity forward by the given number of seconds. Call it when the activity needs to move to a later time without calculating a new date.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
Parameterid (path) |
Typenumber | Requiredyes | DescriptionActivity ID, a positive integer. List: GET /v1/activities |
Request fields (body)
| Field | Type | Required | Description |
|---|---|---|---|
Fieldoffset |
Typeinteger | Requiredyes | DescriptionShift in seconds, an integer greater than zero: 3600 — one hour, 86400 — one day. A number passed as a string, for example "3600", is rejected. To move an activity to an earlier time, see Change an activity deadline |
The body accepts no other fields.
Examples
curl — personal key
curl -X POST "https://vibecode.bitrix24.com/v1/activities/3894/postpone" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"offset": 3600}'
curl — OAuth application
curl -X POST "https://vibecode.bitrix24.com/v1/activities/3894/postpone" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{"offset": 3600}'
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/activities/3894/postpone', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({ offset: 3600 }),
})
const { success, data } = await res.json()
console.log('New deadline:', data.deadline)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/activities/3894/postpone', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({ offset: 3600 }),
})
const { success, data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | Descriptiontrue on a successful request |
Fielddata |
Typeobject | DescriptionThe activity, read back after the shift. All fields: Activity fields |
Fielddata.startTime |
Typedatetime | DescriptionActivity start after the shift |
Fielddata.endTime |
Typedatetime | DescriptionActivity end after the shift |
Fielddata.deadline |
Typedatetime | DescriptionDeadline after the shift |
Response example
An activity with the deadline 2026-10-22T12:00:00.000Z postponed by one hour. The main fields are shown. Full list: Activity fields.
{
"success": true,
"data": {
"id": 3894,
"ownerTypeId": 3,
"ownerId": 17,
"subject": "Call the client",
"completed": false,
"status": 1,
"startTime": "2026-10-22T13:00:00.000Z",
"endTime": "2026-10-22T13:15:00.000Z",
"deadline": "2026-10-22T13:00:00.000Z",
"updatedAt": "2026-10-19T11:47:47.000Z"
}
}
Error response example
400 — offset is not a positive integer:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "offset must be a positive integer in seconds"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeINVALID_PARAMS |
Descriptionoffset is missing, zero, negative, fractional or passed as a string. Message: offset must be a positive integer in seconds |
| HTTP400 | CodeINVALID_PARAMS |
DescriptionThe body contains a field other than offset. Message: Unsupported action field |
| HTTP400 | CodeINVALID_PARAMS |
Descriptionid is not a positive integer. Message: id must be a positive integer |
| HTTP404 | CodeENTITY_NOT_FOUND |
DescriptionNo activity with this id |
| HTTP422 | CodeACTIVITY_POSTPONE_NOT_APPLIED |
DescriptionBitrix24 confirmed the shift, but the activity start, end and deadline did not change. This check is not performed for a task activity |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionBitrix24 refused to postpone the activity. The refusal text is in message |
| HTTP403 | CodeBITRIX_ACCESS_DENIED |
DescriptionThe key's user has no permission for this activity in Bitrix24 |
| HTTP502 | CodeBITRIX_ERROR |
DescriptionThe activity has no valid binding to a CRM entity. Message: Activity has no valid CRM owner |
| HTTP502 | CodeBITRIX_ERROR |
DescriptionThe shift was sent, but the activity could not be read back. Message: Activity could not be read back. Check the activity state with GET /v1/activities/:id |
| HTTP403 | CodeWRITE_BLOCKED_READONLY_KEY |
DescriptionThe key is read-only — see access rights |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe API key does not have the crm scope |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionThe API key has no configured tokens |
Full list of common API errors: Errors.
Known specifics
A completed activity is postponed too. A call on a completed activity returns 200: the start, end and deadline shift, and completed stays true.
For a task activity, the task deadline is shifted. For an activity with providerId equal to TASKS, and for an activity with typeId equal to 3, the deadline of the linked task is shifted. The time of the activity itself in data may stay the same. Read the new deadline from the task itself: GET /v1/tasks/:id.