Company Structure: Overview of Methods

If you are developing integrations for Bitrix24 using AI tools (Codex, Claude Code, Cursor), connect to the MCP server so that the assistant can utilize the official REST documentation.

The company structure shows which departments make up the company and how they are connected. In departments and teams, you can define participant roles: head, deputy, and employees.

In REST 3.0, the company structure is described by humanresources.* methods. They work with departments and teams, participants and roles, connected chats, channels, and collabs, employee search, and field schema methods (*.field.list / *.field.get). department.* methods belong to the previous API version and work with departments.

Quick navigation: all methods

User documentation: Company structure

How to Choose a Method Group

If you need to

Open

Work with departments, teams, participants, roles, and connected communications

humanresources.* REST 3.0 methods

Work with departments from the previous API version

department.* methods

Getting Started

If You Work with REST v2

  1. Get a list of departments using department.get to identify the required ID
  2. Check department fields using department.fields if you need to prepare data for creation or update
  3. Get the head's identifier using user.get if you need to fill in the UF_HEAD field
  4. Create a department using department.add or update it using department.update
  5. Delete a department using department.delete if it is no longer needed

If You Work with REST 3.0

  1. Get a list of departments or teams using humanresources.node.list to identify the required id
  2. Check department or team data using humanresources.node.get if the identifier is already known
  3. Create a new department or team using humanresources.node.add, or update its properties using humanresources.node.edit
  4. Get user identifiers using user.get if you need to prepare the participant list
  5. Add participants using humanresources.node.member.add or set the full participant list using humanresources.node.member.set
  6. Configure connected chats, channels, and collabs using humanresources.node.communication.edit if the department or team needs separate communications
  7. Find employees using humanresources.employee.search if you need to get employee data, check subordinates, or find employees in multiple departments

Limitations and Recommendations

  • Access to viewing and changing the company structure depends on the current user's permissions
  • Departments and teams use different sets of participant roles
  • Field description methods help check available fields and their types before changing data

User documentation

Connection with Other Objects

Users. In department.* methods, heads are linked to departments by a numeric identifier in the UF_HEAD parameter. In humanresources.* methods, user identifiers userIds are required to add, move, and remove participants. Identifiers can be obtained using user.get.

Chats, channels, and collabs. When creating a department or team, humanresources.node.add lets you immediately create or bind connected chats, channels, and collabs. After creation, the connection can be retrieved using humanresources.node.communication.list and changed using humanresources.node.communication.edit.

Employees. The methods humanresources.employee.search, humanresources.employee.subordinates, and humanresources.employee.multidepartment help find users in the company structure and check their connection with departments.

Overview of Methods

REST v2 Methods

Scope: department

Who can execute the method: depends on the method

Method

Description

department.add

Creates a department

department.update

Updates a department

department.get

Returns a list of departments

department.fields

Returns the department fields reference

department.delete

Deletes a department

REST 3.0 Methods

Scope: humanresources

Who can execute the methods: depends on the method

Departments and Teams

Method

Description

humanresources.node.add

Creates a department or team

humanresources.node.edit

Updates department or team fields

humanresources.node.get

Returns a department or team by identifier

humanresources.node.list

Returns a list of departments and teams

humanresources.node.search

Searches departments and teams by name

humanresources.node.children

Returns child departments and teams

humanresources.node.count

Returns the number of departments and teams

humanresources.node.move

Moves a department or team to a new parent

humanresources.node.field.list

Returns a list of department or team fields

humanresources.node.field.get

Returns the description of a department or team field

Department and Team Participants

Method

Description

humanresources.node.member.add

Adds users to a department or team

humanresources.node.member.set

Updates department or team participants by role

humanresources.node.member.move

Moves users to another department or team

humanresources.node.member.remove

Removes users from a department or team

humanresources.node.member.field.list

Returns a list of department or team participant fields

humanresources.node.member.field.get

Returns the description of a department or team participant field

Department and Team Communications

Method

Description

humanresources.node.communication.edit

Changes connected chats, channels, or collabs of a department or team

humanresources.node.communication.list

Returns connected chats, channels, and collabs of a department or team

Employees

Method

Description

humanresources.employee.search

Searches employees by name

humanresources.employee.subordinates

Returns a user's subordinates by department

humanresources.employee.count

Returns the number of employees in the company structure

humanresources.employee.multidepartment

Returns employees who belong to multiple departments

humanresources.employee.field.list

Returns a list of employee fields

humanresources.employee.field.get

Returns the description of an employee field