Документация · v1

Creodock API

Все операции
POSTИнтерфейс CreodockИдемпотентная команда

Создать пользовательскую роль

Зависимые permissions добавляются автоматически; privilege escalation блокируется сервером.

POSThttps://api.creodock.com/api/v1/organizations/{organizationId}/roles
Кто вызывает
Интерфейс Creodock
Операция выполняется от имени вошедшего пользователя через защищённую cookie-сессию.
Доступ
Определяется ролью и принадлежностью объекта
Отдельный scope не объявлен в OpenAPI. Сервер проверяет роль и рабочую область.

Что произойдёт

Поведение, которое важно учесть до отправки запроса.

  • Создаёт ресурс или запускает команду, описанную в теле запроса.
  • Поддерживает Idempotency-Key: повторяйте запрос с тем же ключом после сетевого сбоя.

Параметры

Где передать значение, обязательно ли оно и откуда его получить.

ПолеГдеТипОписание
organizationIdОбязательно
pathstring · uuid
ID рабочей области. Возьмите его из URL рабочей области или ответа списка рабочих областей.
Idempotency-KeyОбязательно
headerstring
Уникальный ключ команды. Используйте UUID и сохраняйте тот же ключ при безопасном повторе запроса.Минимальная длина: 16 · Максимальная длина: 128

Тело запроса

Обязательно для этой операции.

application/json

Схема: WorkspaceRoleInput

ПолеТипОписание
descriptionНеобязательно
string
Развёрнутое описание.Максимальная длина: 240
nameОбязательно
string
Отображаемое название.Минимальная длина: 2 · Максимальная длина: 80
permissionsОбязательно
WorkspacePermission[]
Поле «permissions» в структуре запроса или ответа.

Ответы

Все состояния ответа, объявленные этой операцией в OpenAPI.

201

Роль создана

application/json

Схема: WorkspaceRole

ПолеТипОписание
activeОбязательно
boolean
Поле «active» в структуре запроса или ответа.
availableActionsОбязательно
string[]
Поле «availableActions» в структуре запроса или ответа.
descriptionНеобязательно
string
Развёрнутое описание.
idОбязательно
string · uuid
Уникальный идентификатор объекта.
kindОбязательно
string
Поле «kind» в структуре запроса или ответа.Допустимо: system, customПример: system
memberCountОбязательно
integer
Поле «memberCount» в структуре запроса или ответа.Минимум: 0
nameОбязательно
string
Отображаемое название.
permissionsОбязательно
WorkspacePermission[]
Поле «permissions» в структуре запроса или ответа.
systemKeyНеобязательно
string
Поле «systemKey» в структуре запроса или ответа.Допустимо: owner, admin, manager, designerПример: owner
versionОбязательно
integer · int64
Версия объекта для защиты от конфликтующих изменений.
{
  "active": true,
  "availableActions": [
    "edit"
  ],
  "description": "string",
  "id": "00000000-0000-0000-0000-000000000000",
  "kind": "system",
  "memberCount": 0,
  "name": "string",
  "permissions": [
    "orders.assigned.read"
  ],
  "systemKey": "owner",
  "version": 1
}
403

Problem Details response

application/json

Схема: Problem

409

Problem Details response

application/json

Схема: Problem

422

Problem Details response

application/json

Схема: Problem

Ошибки и восстановление

Не только причина, но и конкретное действие для вызывающей стороны.

СтатусЧто означаетПовторЧто делать
403Недостаточно правНетИспользуйте ключ или роль с требуемым доступом.
409Конфликт состояния или версииПосле чтенияПолучите актуальный объект и повторите изменение.
422Данные не прошли бизнес-проверкуПосле исправленияИсправьте поля, перечисленные в fieldErrors.

Формат Problem Details

{
  "type": "https://api.creodock.com/problems/invalid-request",
  "title": "Данные не прошли проверку",
  "status": 422,
  "code": "invalid_request",
  "detail": "Проверьте отмеченные поля.",
  "traceId": "req_01J8M4Y6QX",
  "fieldErrors": [
    { "field": "items[0].formats", "code": "required", "message": "Выберите формат." }
  ]
}