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

Add a task result

POST /v1/task-results

Adds a result to a task — text that sums up the work on it. One result per call.

Request fields (body)

Field Type Required Description
Fieldfields Typeobject Requiredyes DescriptionResult fields
Fieldfields.taskId Typenumber Requiredyes DescriptionTask ID. List: GET /v1/tasks. Number only: the method returns 400 for the string "4205"
Fieldfields.text Typestring Requiredyes DescriptionResult text. The method returns 400 for an empty string

Examples

curl — personal key

Terminal
curl -X POST "https://vibecode.bitrix24.com/v1/task-results" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "fields": {
      "taskId": 4205,
      "text": "Quarterly report approved"
    }
  }'

curl — OAuth application

Terminal
curl -X POST "https://vibecode.bitrix24.com/v1/task-results" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "fields": {
      "taskId": 4205,
      "text": "Quarterly report approved"
    }
  }'

JavaScript — personal key

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

const { success, data } = await res.json()
console.log('Result ID:', data.item.id)

JavaScript — OAuth application

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

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

Response fields

Field Type Description
Fieldsuccess Typeboolean Descriptiontrue if the result was added
Fielddata Typeobject DescriptionWrapper with the created result
Fielddata.item Typeobject DescriptionCreated result
Fielddata.item.id Typenumber DescriptionResult ID. Needed to update and delete the result
Fielddata.item.taskId Typenumber DescriptionTask ID
Fielddata.item.text Typestring DescriptionResult text
Fielddata.item.authorId Typenumber DescriptionID of the employee who added the result. List: GET /v1/users
Fielddata.item.createdAt Typestring DescriptionCreation date and time in ISO 8601 format with a time zone offset, for example 2026-10-16T09:44:55+00:00
Fielddata.item.updatedAt Typestring DescriptionDate and time of the last change, in the same format
Fielddata.item.status Typestring DescriptionResult status. A new result has 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 Typenull DescriptionID of the chat message the result was created from. A result added by this method has null

Response example

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

Error response example

400 — there is no task with this taskId:

JSON
{
  "success": false,
  "error": {
    "code": "INVALID_PARAMS",
    "message": "Error validating request object.",
    "validation": [
      {
        "message": "Task not found"
      }
    ]
  }
}

Errors

HTTP Code Description
HTTP400 CodeINVALID_PARAMS DescriptionThe body is not a JSON object or has no fields object. Message: fields must be an object
HTTP400 CodeINVALID_PARAMS DescriptionThere is no task with this taskId. error.validation contains Task not found
HTTP400 CodeINVALID_PARAMS DescriptiontaskId was passed as a string, or text is an empty string. The reason is in error.validation
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 permission to add results to this task
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 taskId or text. The missing fields are listed 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