Изменение контактной информации сотрудника
Изменяет контактную информацию сотрудника. Чтобы удалить всю контактную информацию, передайте пустой список.
Автоматически созданную контактную информацию (с флагом synthetic) нельзя изменить или удалить.
Требуется разрешение на изменение данных сотрудников.
Отправить запрос может администратор организации или сотрудник с ролью Менеджер пользователей.
Request
PUT
https://cloud-api.yandex.net/v1/api360/directory/org/{org_id}/users/{user_id}/contacts
Path parameters
|
Name |
Description |
|
org_id |
Type: integer Идентификатор организации. |
|
user_id |
Type: string Идентификатор сотрудника. Example: |
Body
application/json
{
"contacts": [
{
"type": "email",
"value": "employee@example.com",
"label": "Рабочий",
"isForCompletionKeyLink": false
}
]
}
|
Name |
Description |
|
contacts |
Type: PutContacts Список контактов пользователя. Example
|
ContactsContactItem
Контакт пользователя.
|
Name |
Description |
|
type |
Type: string Произвольный тип контакта. Примеры: Example: |
|
value |
Type: string Значение контакта. Формат зависит от типа контакта. Min length: Max length: Example: |
|
isForCompletionKeyLink |
Type: boolean Признак номера телефона для отправки смс со ссылкой для завершения регистрации:
|
|
label |
Type: string Метка контакта, например «рабочий» или «личный». Max length: Example: |
Example
{
"type": "email",
"value": "employee@example.com",
"label": "Рабочий",
"isForCompletionKeyLink": false
}
PutContacts
Список контактов пользователя.
Type: ContactsContactItem[]
Example
[
{
"type": "email",
"value": "employee@example.com",
"label": "Рабочий",
"isForCompletionKeyLink": false
}
]
Responses
200 OK
Данные сотрудника с обновленными контактами получены.
Body
application/json
{
"id": 3456789,
"nickname": "employee",
"departmentId": 2345678,
"email": "employee@example.com",
"defaultEmail": "employee@example.com",
"name": {
"first": "Иван",
"middle": "Иванович",
"last": "Иванов"
},
"gender": "male",
"position": "Специалист",
"avatarId": "1234567890abcdef",
"about": "Сотрудник отдела разработки.",
"birthday": "2000-01-01",
"contacts": [
{
"type": "email",
"value": "employee@example.com",
"main": true,
"alias": false,
"synthetic": false,
"isForCompletionKeyLink": false,
"label": "Рабочий"
}
],
"aliases": [
"employee.alias"
],
"groups": [
7654321
],
"externalId": "external-user-123",
"isAdmin": false,
"isRobot": false,
"isDismissed": false,
"is2faEnabled": true,
"isEnabled": true,
"isAgreementAccepted": true,
"timezone": "Europe/Moscow",
"language": "ru",
"createdAt": "2026-01-15T10:30:00.000Z",
"updatedAt": "2026-02-01T12:45:00.000Z",
"isEnabledUpdatedAt": "2026-01-20T08:15:00.000Z",
"completionKeyLinkSendingStatus": {
"attempts": 1,
"createdAt": "2026-01-15T10:30:00.000Z",
"lastAttemptAt": "2026-01-15T10:31:00.000Z",
"lastSendingStatus": "success",
"linkExpiresAt": "2026-01-16T10:30:00.000Z"
}
}
|
Name |
Description |
|
about |
Type: string Описание сотрудника. Example: |
|
aliases |
Type: string[] Список алиасов сотрудника. Example
|
|
avatarId |
Type: string Идентификатор аватара сотрудника. Example: |
|
birthday |
Type: string Дата рождения сотрудника в формате Example: |
|
completionKeyLinkSendingStatus |
Type: ContactsCompletionKeyLinkSendingStatus Статус отправки смс со ссылкой для завершения регистрации. Отсутствует, если смс со ссылкой не отправлялось. Example
|
|
contacts |
Type: UsersContacts Список контактов сотрудника. Example
|
|
createdAt |
Type: string<date-time> Дата и время создания сотрудника в формате ISO 8601. Example: |
|
defaultEmail |
Type: string Адрес, используемый по умолчанию для отправки писем и отображения в контактах. Example: |
|
departmentId |
Type: integer Идентификатор подразделения, в котором состоит сотрудник. |
|
|
Type: string Основной адрес электронной почты сотрудника. Example: |
|
externalId |
Type: string Произвольный внешний идентификатор сотрудника. Example: |
|
gender |
Type: string Пол сотрудника. Example: |
|
groups |
Type: integer[] Список идентификаторов групп, в которых состоит сотрудник. Example
|
|
id |
Type: integer Идентификатор сотрудника. |
|
is2faEnabled |
Type: boolean Статус обязательной персональной двухфакторной аутентификации:
|
|
isAdmin |
Type: boolean Признак администратора организации:
|
|
isAgreementAccepted |
Type: boolean Признак завершения регистрации:
|
|
isDismissed |
Type: boolean Статус сотрудника:
|
|
isEnabled |
Type: boolean Статус аккаунта:
|
|
isEnabledUpdatedAt |
Type: string Дата и время последнего изменения статуса аккаунта в формате ISO 8601. Example: |
|
isRobot |
Type: boolean Признак служебного бота:
|
|
language |
Type: string Язык сотрудника. Example: |
|
name |
Type: Name ФИО сотрудника. Example
|
|
nickname |
Type: string Логин сотрудника. Example: |
|
position |
Type: string Должность сотрудника. Example: |
|
timezone |
Type: string Часовой пояс сотрудника. Example: |
|
updatedAt |
Type: string<date-time> Дата и время изменения данных сотрудника в формате ISO 8601. Example: |
Name
ФИО сотрудника.
|
Name |
Description |
|
first |
Type: string Имя сотрудника. Example: |
|
last |
Type: string Фамилия сотрудника. Example: |
|
middle |
Type: string Отчество сотрудника. Example: |
Example
{
"first": "Иван",
"middle": "Иванович",
"last": "Иванов"
}
ContactsItem
Контакт сотрудника.
|
Name |
Description |
|
alias |
Type: boolean Если у сотрудника есть алиас, для него автоматически создается контакт типа
|
|
isForCompletionKeyLink |
Type: boolean Признак номера телефона для отправки смс со ссылкой для завершения регистрации:
|
|
label |
Type: string Метка контакта. Example: |
|
main |
Type: boolean Признак основного контакта:
|
|
synthetic |
Type: boolean Признак автоматически созданного контакта:
|
|
type |
Type: string Тип контакта. Example: |
|
value |
Type: string Значение контакта. Example: |
Example
{
"type": "email",
"value": "employee@example.com",
"main": true,
"alias": false,
"synthetic": false,
"isForCompletionKeyLink": false,
"label": "Рабочий"
}
UsersContacts
Список контактов сотрудника.
Type: ContactsItem[]
Example
[
{
"type": "email",
"value": "employee@example.com",
"main": true,
"alias": false,
"synthetic": false,
"isForCompletionKeyLink": false,
"label": "Рабочий"
}
]
ContactsCompletionKeyLinkSendingStatus
Статус отправки смс со ссылкой для завершения регистрации. Отсутствует, если смс со ссылкой не отправлялось.
|
Name |
Description |
|
attempts |
Type: integer Количество попыток отправки смс. |
|
createdAt |
Type: string<date-time> Дата и время первой попытки отправки. Example: |
|
lastAttemptAt |
Type: string<date-time> Дата и время последней попытки отправки. Example: |
|
lastSendingStatus |
Type: string Статус последней попытки отправки:
Enum: |
|
linkExpiresAt |
Type: string<date-time> Дата и время, до которых действует ссылка. Отсутствует, если успешных попыток отправки не было. Example: |
Example
{
"attempts": 1,
"createdAt": "2026-01-15T10:30:00.000Z",
"lastAttemptAt": "2026-01-15T10:31:00.000Z",
"lastSendingStatus": "success",
"linkExpiresAt": "2026-01-16T10:30:00.000Z"
}
400 Bad Request
Неверные параметры запроса
Body
application/json
{
"error": "invalid_argument",
"description": "Неверные параметры запроса",
"message": "Неверные параметры запроса",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
403 Forbidden
Доступ запрещен
Body
application/json
{
"error": "permission_denied",
"description": "Доступ запрещен",
"message": "Доступ запрещен",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
404 Not Found
Ресурс не найден
Body
application/json
{
"error": "not_found",
"description": "Ресурс не найден",
"message": "Ресурс не найден",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
409 Conflict
Возможные ошибки:
- Конфликт - ресурс уже существует
- Функция, необходимая для данной операции, недоступна для организации
Body
application/json
{
"error": "already_exists",
"description": "Конфликт - ресурс уже существует",
"message": "Конфликт - ресурс уже существует",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
412 Precondition Failed
Функция недоступна или не оплачена
Body
application/json
{
"error": "failed_precondition",
"description": "Функция недоступна или не оплачена",
"message": "Функция недоступна или не оплачена",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
422 Unprocessable Entity
Возможные ошибки:
- Указанный номер телефона некорректен
- Номер телефона не указан
- Отправка сообщений на указанный номер телефона недоступна
- У пользователя может быть не более одного номера телефона для получения ссылки на активацию аккаунта
Body
application/json
{
"error": "phone_number_invalid",
"description": "Указанный номер телефона некорректен",
"message": "Указанный номер телефона некорректен",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
429 Too Many Requests
Превышен лимит запросов
Body
application/json
{
"error": "resource_exhausted",
"description": "Превышен лимит запросов",
"message": "Превышен лимит запросов",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|
500 Internal Server Error
Внутренняя ошибка сервера
Body
application/json
{
"error": "internal",
"description": "Внутренняя ошибка сервера",
"message": "Внутренняя ошибка сервера",
"details": {}
}
|
Name |
Description |
|
description |
Type: string Техническое описание ошибки. Example: |
|
error |
Type: string Код ошибки Example: |
|
message |
Type: string Сообщение об ошибке. Example: |
|
details |
Type: objectДополнительные детали ошибки Example
|