For AI agents: markdown of this page — /docs-content-en/entities/tasks/results-v3-update.md documentation index — /llms.txt

Update a task result

PATCH /v1/task-results/:id

Replaces the text of a task result. The author, the task and the creation date of the result stay unchanged.

Parameters

Parameter Type Required Description
Parameterid (path) Typenumber Requiredyes DescriptionResult ID, a positive integer. Take it from data.item.id in the response to adding a result or creating one from a message. List: GET /v1/tasks/:taskId/results

Request fields (body)

Field Type Required Description
Fieldfields Typeobject Requiredyes DescriptionResult fields to change
Fieldfields.text Typestring Requiredyes DescriptionNew result text. An empty string gets a 422 response

Examples

curl — personal key

Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/task-results/21" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "fields": {
      "text": "Quarterly report approved by the sales team"
    }
  }'

curl — OAuth application

Terminal
curl -X PATCH "https://vibecode.bitrix24.com/v1/task-results/21" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fields": {
      "text": "Quarterly report approved by the sales team"
    }
  }'

JavaScript — personal key

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/task-results/21', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    fields: {
      text: 'Quarterly report approved by the sales team',
    },
  }),
})

const { success, data } = await res.json()
console.log('Updated:', data.item.updatedAt)

JavaScript — OAuth application

javascript
const res = await fetch('https://vibecode.bitrix24.com/v1/task-results/21', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    fields: {
      text: 'Quarterly report approved by the sales team',
    },
  }),
})

const { success, data } = await res.json()

Response fields

Field Type Description
Fieldsuccess Typeboolean Descriptiontrue if the text was changed
Fielddata Typeobject DescriptionWrapper with the updated result
Fielddata.item Typeobject DescriptionThe result after the change
Fielddata.item.id Typenumber DescriptionResult ID
Fielddata.item.taskId Typenumber DescriptionTask ID
Fielddata.item.text Typestring DescriptionNew result text
Fielddata.item.authorId Typenumber DescriptionID of the result author. List: GET /v1/users
Fielddata.item.createdAt Typestring DescriptionCreation date and time in ISO 8601 format with a time zone offset
Fielddata.item.updatedAt Typestring DescriptionDate and time of this change, in the same format
Fielddata.item.status Typestring DescriptionResult status, for example open
Fielddata.item.fileIds Typenull DescriptionResult files. A result without files has null
Fielddata.item.rights Typeobject DescriptionPermissions on the result
Fielddata.item.rights.edit Typeboolean Descriptiontrue — the result text can be changed
Fielddata.item.rights.remove Typeboolean Descriptiontrue — the result can be deleted
Fielddata.item.messageId Typenumber | null DescriptionID of the chat message if the result was created from a message. Otherwise null

Response example

JSON
{
  "success": true,
  "data": {
    "item": {
      "id": 21,
      "taskId": 4205,
      "text": "Quarterly report approved by the sales team",
      "authorId": 1295,
      "createdAt": "2026-10-16T09:44:55+00:00",
      "updatedAt": "2026-10-16T09:44:57+00:00",
      "status": "open",
      "fileIds": null,
      "rights": {
        "edit": true,
        "remove": true
      },
      "messageId": null
    }
  }
}

Error response example

403 — no result with this id:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ACCESS_DENIED",
    "message": "Access denied",
    "hint": "Bitrix24 reports an access-rights refusal for tasks.task.result.update, not a scope error. The Bitrix24 user this call runs as lacks access; ask a portal admin to grant it, or call under a user who has it.",
    "cause": "b24_permission",
    "method": "tasks.task.result.update",
    "fix": {
      "action": "grant_b24_rights",
      "via": "portal_admin"
    }
  }
}

Errors

HTTP Code Description
HTTP400 CodeINVALID_PARAMS Descriptionid is not a positive integer. Message: id must be a positive safe integer
HTTP400 CodeINVALID_PARAMS DescriptionThe body is not a JSON object or has no fields object. Message: fields must be an object
HTTP401 CodeMISSING_API_KEY DescriptionThe X-Api-Key header is missing
HTTP401 CodeTOKEN_MISSING DescriptionThe key has no Bitrix24 tokens
HTTP403 CodeBITRIX_ACCESS_DENIED DescriptionNo result with this id, including one already deleted. The same code is returned when access to the result is denied
HTTP403 CodeSCOPE_DENIED DescriptionThe key has no task scope
HTTP403 CodeWRITE_BLOCKED_READONLY_KEY DescriptionThe key is in read-only mode. error.details.switchUrl contains the URL of the section where the mode is changed
HTTP415 CodeFST_ERR_CTP_INVALID_MEDIA_TYPE DescriptionA non-empty body with a Content-Type other than application/json
HTTP422 CodeBITRIX_ERROR Descriptionfields has no text, or text is an empty string. The reason is in error.validation
HTTP429 CodeRATE_LIMITED DescriptionRequest rate exceeded. The effective cap is in the x-ratelimit-limit header

Full list of common API errors: Errors.

See also