For AI agents: markdown of this page — /docs-content-en/chats/files/upload-discard.md documentation index — /llms.txt

Discard an uploaded file

POST /v1/chats/:chatId/files/uploads/discard

Asks Bitrix24 to delete a file from the chat folder. The true or false result is returned as is: the client decides whether it can treat the file as removed.

Parameters

Parameter Type Required Description
chatId (path) number yes Chat ID
fileId (body) number yes Positive file ID

Requires the im scope and a write-enabled key. Other fields and query parameters are rejected with 400 INVALID_PARAMS.

Examples

curl — personal key

Terminal
curl -X POST https://vibecode.bitrix24.com/v1/chats/42/files/uploads/discard \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fileId":7701}'

curl — OAuth application

Terminal
curl -X POST https://vibecode.bitrix24.com/v1/chats/42/files/uploads/discard \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"fileId":7701}'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/chats/42/files/uploads/discard', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({"fileId": 7701}),
})
const { success, data, error } = await res.json()
console.log(success ? data : error)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/chats/42/files/uploads/discard', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({"fileId": 7701}),
})
const { success, data, error } = await res.json()
console.log(success ? data : error)

Response fields

Field Type Description
success boolean true on success
data boolean The Bitrix24 true or false value, unchanged

Response example

JSON
{
  "success": true,
  "data": true
}

Error response example

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "`fileId` must be a positive integer."
  }
}

Errors

HTTP Code Description
400 INVALID_PARAMS fileId is not a positive integer, or another body field or a query parameter was sent
400 INVALID_CHAT_ID chatId in the path is not a positive integer
401 TOKEN_MISSING No Bitrix24 access tokens
403 SCOPE_DENIED The API key does not have the im scope
403 WRITE_BLOCKED_READONLY_KEY The key is read-only
403 BITRIX_ACCESS_DENIED No access to the chat or file in Bitrix24
404 ENTITY_NOT_FOUND File or chat not found
422 BITRIX_ERROR Other Bitrix24 refusal
429 QUEUE_TIMEOUT Bitrix24 request queue is busy

false is still a successful response, distinct from a refusal. A named Bitrix24 refusal can map to 400, 403, or 404; error.b24Code is not guaranteed. The platform does not retry after an unknown outcome.

Full list of common API errors — Errors.

See also