For AI agents: markdown of this page — /docs-content-en/workday/pause.md documentation index — /llms.txt
Pause
POST /v1/workday/pause
Pauses the current workday. The status switches to PAUSED, and the pause duration accumulates until the day is resumed or closed. The request body may be empty.
Request fields (body)
| Field | Type | Required | Description |
|---|---|---|---|
FielduserId |
Typenumber | Requiredno | DescriptionEmployee identifier. Defaults to the user who owns the key's tokens. Another employee's userId is available only to Bitrix24 account administrators and the employee's direct managers. Without those rights Bitrix24 does not return the employee's data |
The body may be empty: {}.
Examples
curl — personal key
curl -X POST https://vibecode.bitrix24.com/v1/workday/pause \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'
curl — OAuth application
curl -X POST https://vibecode.bitrix24.com/v1/workday/pause \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'
JavaScript — personal key
const res = await fetch('https://vibecode.bitrix24.com/v1/workday/pause', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
})
const { data } = await res.json()
console.log('Status:', data.status)
JavaScript — OAuth application
const res = await fetch('https://vibecode.bitrix24.com/v1/workday/pause', {
method: 'POST',
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
'Content-Type': 'application/json',
},
body: JSON.stringify({}),
})
const { data } = await res.json()
Response fields
| Field | Type | Description |
|---|---|---|
Fieldsuccess |
Typeboolean | Descriptiontrue on a successful pause |
Fielddata |
Typeobject | DescriptionThe workday after it was paused |
Fielddata.status |
Typestring | DescriptionStatus after the pause — PAUSED |
Fielddata.id |
Typenumber | DescriptionWorkday record identifier. The same values appear in the workday history |
Fielddata.timeStart |
Typestring | DescriptionDay start date and time (ISO 8601) |
Fielddata.timeFinish |
Typestring | null | DescriptionDate and time the day finished. null until the day is closed, including while it is paused |
Fielddata.duration |
Typestring | DescriptionDay duration in HH:MM:SS format, excluding pauses. 00:00:00 until the day is closed |
Fielddata.timeLeaks |
Typestring | DescriptionTotal duration of pauses for the day in HH:MM:SS format. The current pause is added to the total once the day is resumed or closed |
Fielddata.active |
Typeboolean | DescriptionWhether the workday record is active |
Fielddata.ipOpen |
Typestring | DescriptionIP address recorded when the day was started |
Fielddata.ipClose |
Typestring | DescriptionIP address recorded when the day was closed. Empty string for a day that has not been closed yet |
Fielddata.latOpen |
Typenumber | DescriptionGeographic latitude of the start point |
Fielddata.lonOpen |
Typenumber | DescriptionGeographic longitude of the start point |
Fielddata.latClose |
Typenumber | DescriptionGeographic latitude of the finish point |
Fielddata.lonClose |
Typenumber | DescriptionGeographic longitude of the finish point |
Fielddata.tzOffset |
Typenumber | DescriptionEmployee's time zone offset in seconds. Depends on the employee's settings in the Bitrix24 account; the value 7200 corresponds to UTC+2 |
Response example
{
"success": true,
"data": {
"status": "PAUSED",
"id": 1,
"timeStart": "2026-05-05T09:00:00+02:00",
"timeFinish": null,
"duration": "00:00:00",
"timeLeaks": "00:00:00",
"active": true,
"ipOpen": "203.0.113.10",
"ipClose": "",
"latOpen": 0,
"lonOpen": 0,
"latClose": 0,
"lonClose": 0,
"tzOffset": 7200
}
}
Error response example
403 — the key lacks the timeman scope:
{
"success": false,
"error": {
"code": "SCOPE_DENIED",
"message": "This endpoint requires 'timeman' scope"
}
}
Errors
| HTTP | Code | Description |
|---|---|---|
| HTTP400 | CodeINVALID_PARAMS |
DescriptionThe userId field is not a positive integer, or Bitrix24 rejected a request field as invalid |
| HTTP401 | CodeMISSING_API_KEY |
DescriptionThe X-Api-Key header is missing |
| HTTP401 | CodeINVALID_API_KEY |
DescriptionThe key is not recognized — no such key exists on the platform |
| HTTP401 | CodeKEY_EXPIRED |
DescriptionThe API key has expired |
| HTTP401 | CodeTOKEN_MISSING |
DescriptionThe key has no OAuth tokens configured for the portal |
| HTTP402 | CodeACCOUNT_FROZEN |
DescriptionThe portal balance is frozen |
| HTTP403 | CodeSCOPE_DENIED |
DescriptionThe key lacks the timeman scope |
| HTTP409 | CodeTIMEMAN_MODULE_NOT_ENABLED |
DescriptionTime Management is not available on this portal: the module is not installed (not included in the plan), or the tool is switched off in portal settings. Ask a portal administrator to enable it — until then every timeman.* method answers the same way |
| HTTP422 | CodeBITRIX_ERROR |
DescriptionBitrix24 rejected the request — text is in message |
| HTTP429 | CodeRATE_LIMITED |
DescriptionThe rate limit for requests to Bitrix24 was exceeded |
| HTTP502 | CodeBITRIX_UNAVAILABLE |
DescriptionThe Bitrix24 portal is unavailable |
The full list of common API errors — Errors.
Known specifics
- Resuming after a pause is a separate call. A repeated
/pauseleaves the day in thePAUSEDstatus unchanged. To continue the day after a pause, usePOST /v1/workday/open— it switches the day back toOPENED. - Resuming a closed day. If the day is already in the
CLOSEDstatus, the call returns the current state unchanged. To continue a previously closed day, usePOST /v1/workday/open.