Task Fields in REST 3.0

Choose a tool for developing with an AI agent:

  • use Alaio Vibecode to build an app for Bitrix24 from a task description without knowing any programming language. The agent writes the code and deploys the app to a server, with no manual hosting setup
  • use the MCP server to develop a REST API integration in your own project. The agent refers to the official REST documentation

This page helps you understand the task fields in REST 3.0. They are returned by the methods tasks.task.get, tasks.task.list, and tasks.task.add, and accepted by the methods tasks.task.add and tasks.task.update. In the section Task Object, all task fields are described, while other sections cover the fields of related objects.

Some task fields exist in two forms: as an identifier and as an object, for example, creatorId and creator. Which form each method accepts and returns is shown in the table.

Which Fields the Methods Accept and Return

Method

Accepts

Returns

tasks.task.add

Fields of the Task Object table with identifiers of related objects: creatorId, responsibleId, groupId. Required: title, creatorId, responsibleId

The task object with the same structure as tasks.task.get without select

tasks.task.update

The same fields as tasks.task.add

Success flag true

tasks.task.get

Task id and select

Without select, the basic set of fields without related objects. List the object fields in select using dot notation, for example, ["creator.name", "creator.email"]. The method does not return the identifiers of the creator, assignee, group, stage, flow, template, email, and change authors, even if they are specified in select. Such fields are marked in the table

tasks.task.list

select, filter, order, pagination

Without select, only id. Returns the identifiers of related objects, but not the objects themselves, even if their fields are specified in select

In fields of the methods tasks.task.add and tasks.task.update, you cannot pass id, created, accomplices, auditors, tags, userFields, and object fields — creator, group, parent, and others. For such a field, the method returns a validation error stating that the field is read-only. Fields marked "changes automatically" do not need to be passed: their value is calculated by Bitrix24.

Instructions on how to work with the fields of related objects are described in the article Overview of REST API 3.0.

The rights to write and modify fields depend on the user's role in the task, group permission settings, employee hierarchy, task status, and task flags, such as allowsChangeDeadline. Before modifying a task, check the rights object: its fields show the actions available to the current user.

Boolean fields accept and return true or false. The string values Y and N from the classic task methods are not supported in REST 3.0: the method returns a validation error.

Task Object

Name
type

Description

id
integer

Task identifier

title
string

Task title, a required field for creating a task

description
string

Task description

creatorId
integer

Creator identifier, a required field for creating a task. The field is returned by tasks.task.list; in the tasks.task.get response, request the creator object instead

creator
object

Creator. An object of type user. Use for data requests in the select parameter of tasks.task.get

created
datetime

Creation date in ISO 8601 format. The field is returned by tasks.task.list; it is absent from the tasks.task.get response

responsibleId
integer

Assignee identifier, a required field for creating a task. The field is returned by tasks.task.list; in the tasks.task.get response, request the responsible object instead

responsible
object

Assignee. An object of type user. Use for data requests in the select parameter of tasks.task.get

deadline
datetime | null

Deadline in ISO 8601 format, for example, 2025-12-31T23:59:59+02:00

needsControl
boolean

Task control by the creator: true — after the assignee completes the task, it waits for the creator's review. Default is false

startPlan
datetime | null

Planned start date in ISO 8601 format, for example, 2025-12-31T06:00:00+02:00

endPlan
datetime | null

Planned end date in ISO 8601 format, for example, 2025-12-31T18:00:00+02:00

checklist
array<integer>

Identifiers of checklist items. To work with checklists, use the methods task.checklistitem.*

fileIds
array<integer> | null

Identifiers of Drive files to attach to the task. The field is accepted by tasks.task.add and tasks.task.update. In the tasks.task.get response, the field is not populated and is returned as null

groupId
integer

Group/project identifier. To work with groups, use the methods sonet_group.*. The field is returned by tasks.task.list; in the tasks.task.get response, request the group object instead

group
object

Group/project. An object of type group. Use for data requests in the select parameter of tasks.task.get

stageId
integer

Stage identifier. Use if the task is in a group/project. The field is returned by tasks.task.list; in the tasks.task.get response, request the stage object instead

stage
object

Stage. An object of type stage. Use for data requests in the select parameter of tasks.task.get

epicId
integer | null

Epic identifier. To work with epics, use the methods tasks.api.scrum.epic.*

storyPoints
integer | null

Story points. To update a Scrum task, use the method tasks.api.scrum.task.update

flowId
integer

Flow identifier. To work with flows, use the methods tasks.flow.Flow.*. The field is returned by tasks.task.list; in the tasks.task.get response, request the flow object instead

flow
object

Flow. An object of type flow. Use for data requests in the select parameter of tasks.task.get

priority
string

Task priority. Possible values:

  • high — high
  • average — average
  • low — low

status
string

Task status. Possible values:

  • pending — waiting for execution
  • in_progress — in progress
  • supposedly_completed — awaiting control
  • completed — completed
  • deferred — deferred
  • declined — declined

statusChanged
datetime | null

Status change date in ISO 8601 format

accomplices
array<object>

Participants. An array of objects of type user. Use for data requests in the select parameter of tasks.task.get, for example, ["accomplices.id", "accomplices.name"].

The methods tasks.task.add and tasks.task.update do not accept the field. To assign participants, use the classic method tasks.task.update with the ACCOMPLICES field

auditors
array<object>

Observers. An array of objects of type user. Use for data requests in the select parameter of tasks.task.get, for example, ["auditors.id", "auditors.name"].

The methods tasks.task.add and tasks.task.update do not accept the field. To assign observers, use the classic method tasks.task.update with the AUDITORS field

parentId
integer | null

Parent task identifier.
Has a value of null if there is no parent task

parent
object

Parent task. An object of type task. Use for data requests in the select parameter of tasks.task.get

containsChecklist
boolean

Indicates the presence of a checklist. The field is automatically updated

containsSubTasks
boolean

Indicates the presence of subtasks. The field is automatically updated

containsRelatedTasks
boolean

Indicates the presence of related tasks. The field is automatically updated

containsGanttLinks
boolean

Indicates the presence of Gantt links. The field is automatically updated

containsPlacements
boolean

Indicates the presence of integrations. The field is automatically updated

containsResults
boolean

Indicates the presence of results. The field is automatically updated

numberOfReminders
integer

Number of reminders for the task. The field is automatically updated

chatId
integer

Task chat identifier. To work with the task chat, use the chat message methods. For more details, see New Task Card: Overview of Changes

chat
object

Task chat. An object of type task chat. Use for data requests in the select parameter of tasks.task.get

plannedDuration
integer

Planned duration

actualDuration
integer

Actual duration

durationType
string

Unit of planned duration. Possible values: seconds, minutes, hours, days, weeks, months, years

started
datetime | null

Start date of execution in ISO 8601 format

estimatedTime
integer

Time estimate in seconds

replicate
boolean

Indicates a recurring task: true — the task repeats according to the template schedule

changed
datetime

Change date in ISO 8601 format

changedById
integer

Identifier of the user who changed the task. The field is returned by tasks.task.list; in the tasks.task.get response, request the changedBy object instead

changedBy
object

Who changed. An object of type user. Use for data requests in the select parameter of tasks.task.get

statusChangedById
integer

Identifier of the user who changed the status. The field is returned by tasks.task.list; in the tasks.task.get response, request the statusChangedBy object instead

statusChangedBy
object

Who changed the status. An object of type user. Use for data requests in the select parameter of tasks.task.get

closedById
integer

Identifier of the user who closed the task. The field is returned by tasks.task.list; in the tasks.task.get response, request the closedBy object instead

closedBy
object

Who closed. An object of type user. Use for data requests in the select parameter of tasks.task.get

closed
datetime | null

Closing date in ISO 8601 format

activity
datetime

Date of last activity in ISO 8601 format

guid
string

Task GUID identifier

xmlId
string | null

External identifier

exchangeId
string | null

Exchange identifier

exchangeModified
string | null

Date of modification in Exchange

outlookVersion
integer

Version of synchronization with Outlook

mark
string

Task rating. Possible values:

  • positive — positive
  • negative — negative
  • none — unrated

allowsChangeDeadline
boolean

The assignee is allowed to change the deadline

allowsTimeTracking
boolean

Time tracking is enabled for the task

matchesWorkTime
boolean

Consider working hours: skip weekends when calculating planned dates

addInReport
boolean | null

Add the task to the report

isMultitask
boolean

Indicates "base task with subtasks"

siteId
string

Site identifier

deadlineCount
integer | null

Service field of task counters. Do not use it in integrations

declineReason
string | null

Reason for declining the task. Populated when the assignee has declined the task

forumTopicId
integer | null

Identifier of the forum topic with task comments. The value is null until the topic is created

forkedByTemplateId
integer

Identifier of the template if the task was created from a template. The field is returned by tasks.task.list; in the tasks.task.get response, request the forkedByTemplate object instead

forkedByTemplate
object

Task template. An object of type template. Use for data requests in the select parameter of tasks.task.get

maxDeadlineChangeDate
datetime | null

Date after which the deadline cannot be changed, in ISO 8601 format

maxDeadlineChanges
integer | null

Maximum number of deadline extensions

requireDeadlineChangeReason
boolean

Require a reason when the deadline is moved

tags
array<object>

Task tags. An array of objects of type tag. Use for data requests in the select parameter of tasks.task.get, for example, ["tags.id", "tags.name"]

link
string

Relative link to the task in the Bitrix24 interface, for example, /company/personal/user/1/tasks/task/view/289/

userFields
array<object>

Custom fields of the task. An array of objects of type custom field. Use for data requests in the select parameter of tasks.task.get, for example, ["userFields.key", "userFields.value"]

rights
object

Actions of the current user with the task. The key is the action code, and the value is true if the action is available. For example, edit — edit the task, complete — complete, delegate — delegate, changeResponsible — change the assignee. The full set of keys is in the response example of tasks.task.get

archiveLink
string

Link to the archive for downloading all task files

crmItemIds
array<string>

Identifiers of related CRM objects in the format:

  • L_XX — lead
  • D_XX — deal
  • C_XX — contact
  • CO_XX — company
  • SI_XX — invoice
  • TXX_XX — SPA

emailId
integer

Identifier of the email from which the task was created. The field is returned by tasks.task.list; in the tasks.task.get response, request the email object instead

email
object

Email from which the task was created. An object of type email. Use for data requests in the select parameter of tasks.task.get

elapsedTime
object

Time tracking. An object of type time tracking. Use for data requests in the select parameter of tasks.task.get

requireResult
boolean

Require a result: the task cannot be completed without a result record

matchesSubTasksTime
boolean

Consider subtask deadlines when calculating planned dates

autocompleteSubTasks
boolean

Complete subtasks automatically together with the base task

allowsChangeDatePlan
boolean

The assignee is allowed to change planned dates

inFavorite
array<integer>

Indicates "in favorites". The field returns an array containing the ID of the current user if their setting is active "inFavorite": [29]

inPin
array<integer>

Indicates "task pinned". The field returns an array containing the ID of the current user if their setting is active "inPin": [29]

inGroupPin
array<integer>

Indicates "task pinned in group". The field returns an array containing the ID of the current user if their setting is active "inGroupPin": [29]

inMute
array<integer>

Indicates "mute". The field returns an array containing the ID of the current user if their setting is active "inMute": [29]

source
object

Source of the task. An object source. Use for data requests in the select parameter of tasks.task.get

dependsOn
array

Dependencies on tasks

scenarios
array<string>

Task creation scenarios. Possible element values:

  • default — default value
  • crm — CRM
  • mobile — mobile application
  • voice — audio task AI
  • video — video task AI

User Object

Name
type

Description

id
integer

User identifier

name
string

User name

role
string

User role

image
object

An object of type file. Use for data requests in the select parameter of tasks.task.get

gender
string

Gender. Possible values:

  • M — male
  • F — female
  • N — not specified

email
string

Email

externalAuthId
string

External auth ID

rights
array

User rights

Tag Object

Name
type

Description

id
integer

Tag identifier

name
string

Tag name

Custom Field Object

Custom fields of a task are created by the methods task.item.userfield.*.

Name
type

Description

key
string

Field code, for example, UF_CRM_TASK

value
any

Field value. The type depends on the field settings. If the field is empty — null

File Object

Name
type

Description

id
integer

File identifier

src
string

Link to the file

name
string

File name

width
integer

Width

height
integer

Height

size
integer

Size

subDir
string

Subdirectory

contentType
string

MIME type

file
array

File data

Group Object

Name
type

Description

id
integer

Group identifier

name
string

Group name

image
object

An object of type file. Use for data requests in the select parameter of tasks.task.get

type
string

Group type. Possible values:

  • group — group
  • project — project
  • scrum — Scrum
  • collab — collab

isVisible
boolean

Visibility indicator

Stage Object

Name
type

Description

id
integer

Stage identifier

title
string

Stage title

color
string

Stage color

Flow Object

Name
type

Description

id
integer

Flow identifier

name
string

Flow name

Task Chat Object

Name
type

Description

id
integer

Chat element identifier

entityId
integer

Chat object identifier

entityType
string

Chat object type. For a task chat — TASKS_TASK

Task Template Object

Name
type

Description

id
integer

Template identifier

task
object

An object of type task. Use for data requests in the select parameter of tasks.task.get

title
string

Title

description
string

Description

creator
object

An object of type user. Use for data requests in the select parameter of tasks.task.get

responsibleCollection
array

Collection of responsible persons

deadlineAfterTs
integer

Deadline shift

startDatePlanTs
integer

Planned start date

endDatePlanTs
integer

Planned end date

replicate
boolean

Task repetition from the template

checklist
array

Array of checklist item identifiers

group
object

An object of type group. Use for data requests in the select parameter of tasks.task.get

priority
string

Priority

accomplices
array

Participants

auditors
array

Auditors

parent
object

Parent template. An object of type task template

replicateParams
object

An object of replication parameters. Use for data requests in the select parameter of tasks.task.get

Template Replication Parameters Object

Name
type

Description

period
string

Frequency. Possible values:

  • daily — daily
  • weekly — weekly
  • monthly — monthly
  • yearly — yearly

everyDay
string

Every day

workdayOnly
string

Only working days

dailyMonthInterval
string

Interval in days of the month

everyWeek
string

Every week

monthlyType
string

Type of monthly repetition

monthlyDayNum
string

Day of the month

monthlyMonthNum1
string

First month of the period

monthlyWeekDayNum
string

Week number in the month

monthlyWeekDay
string

Day of the week

monthlyMonthNum2
string

Second month of the period

yearlyType
string

Type of yearly repetition

yearlyDayNum
string

Day of the month for yearly repetition

yearlyMonth1
string

First month of yearly repetition

yearlyWeekDayNum
string

Week number for yearly repetition

yearlyWeekDay
string

Day of the week for yearly repetition

yearlyMonth2
string

Second month of yearly repetition

time
string

Time

timezoneOffset
string

Timezone offset

startDate
string

Start date of repetition

repeatTill
string

Until what date to repeat

endDate
string

End date of repetition

times
string

Number of repetitions

Email Object

Name
type

Description

id
integer

Email ID

taskId
integer

Task ID

mailboxId
integer

Mailbox ID

title
string

Email title

body
string

Email body

from
string

Email sender

dateTs
integer

Email sending timestamp

link
string

Link to the email

Time Tracking Object

Name
type

Description

id
integer

Time tracking record identifier

userId
integer

User

taskId
integer

Task

minutes
integer

Minutes

seconds
integer

Seconds

source
string

Source of the time-tracking entry. Possible values:

  • manual — the employee entered the time manually
  • system — the time was recorded by the task timer
  • unknown — the source is not determined

text
string

Comment

createdAtTs
integer

Creation date

startTs
integer

Start time

stopTs
integer

End time

Source Object

Name
type

Description

type
string

Source type. Possible value — chat: the task was created from a chat message

data
array

Source data

Continue Learning