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 Req. Description
userId number no Employee identifier. Defaults to the user who owns the key's tokens. Other employees' userId is available only to Bitrix24 account administrators and the employee's direct managers — otherwise Bitrix24 returns an access error

The body may be empty: {}.

Examples

curl — personal key

Terminal
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

Terminal
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

javascript
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

javascript
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
success boolean true on a successful pause
data.status string Status after the pause — PAUSED
data.timeStart string Day start date and time (ISO 8601)
data.timeFinish string Start date and time of the current pause (ISO 8601)
data.duration string Day duration in HH:MM:SS format, excluding pauses
data.timeLeaks string Total duration of pauses for the day in HH:MM:SS format
data.active boolean Active workday record flag
data.ipOpen string IP address of the day start
data.ipClose string IP address of the day finish. Empty string for a day that has not been closed yet
data.latOpen number Geographic latitude of the start point
data.lonOpen number Geographic longitude of the start point
data.latClose number Geographic latitude of the finish point
data.lonClose number Geographic longitude of the finish point
data.tzOffset number Employee's time zone offset in seconds (depends on the employee's settings in the Bitrix24 account; the example 0 corresponds to UTC)

Response example

JSON
{
  "success": true,
  "data": {
    "status": "PAUSED",
    "timeStart": "2026-05-05T09:00:00+00:00",
    "timeFinish": "2026-05-05T13:00:00+00:00",
    "duration": "04:00:00",
    "timeLeaks": "00:00:00",
    "active": true,
    "ipOpen": "203.0.113.10",
    "ipClose": "",
    "latOpen": 0,
    "lonOpen": 0,
    "latClose": 0,
    "lonClose": 0,
    "tzOffset": 0
  }
}

Error response example

403 — the key lacks the timeman scope:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'timeman' scope"
  }
}

Errors

HTTP Code Description
400 INVALID_PARAMS The userId field is not a positive integer, or Bitrix24 rejected a request field validation
401 MISSING_API_KEY The X-Api-Key header was not passed
401 INVALID_API_KEY Invalid API key
401 KEY_EXPIRED The API key has expired
401 TOKEN_MISSING The key has no OAuth tokens configured for the Bitrix24 portal
402 ACCOUNT_FROZEN The Bitrix24 portal balance is frozen
403 SCOPE_DENIED The key lacks the timeman scope
422 BITRIX_ERROR Bitrix24 rejected the request — text is in message
429 RATE_LIMITED The request limit to Bitrix24 was exceeded
502 BITRIX_UNAVAILABLE The Bitrix24 portal is unavailable

The full list of common API errors — Errors.

Known specifics

  • Removing the pause is a separate call. A repeated /pause leaves the day in the PAUSED status unchanged. To continue the day after a pause, use POST /v1/workday/open — it switches the day back to OPENED.
  • Resuming a closed day. If the day is already in the CLOSED status, the call returns the current state unchanged. To continue a previously closed day, use POST /v1/workday/open.

See also