Перейти к документации
API

Выдать и отозвать домен

Целый домен сразу: все адреса на нём, включая добавленные позже.

POST/members/{userId}/domains

Выполняет любой из 2 запросов в вашем рабочем пространстве.

POST /members/{userId}/domains

Целый домен сразу: все адреса на нём, включая добавленные позже.

Выдать доступ к домену

Требует members:write. POST /members/{userId}/domains с { domainId, access }; access по умолчанию member. Возвращает участника целиком в его текущем состоянии, с выданным доменом в domains.

curl
curl -X POST "$OE/members/nQ8vBz1aRd4tYwKx7fQ2mN8vBz1aRd4t/domains" -H "$AUTH" \    -H "Content-Type: application/json" \    -d '{ "domainId": "7d2a9c41-5b3e-4f8a-9c06-1e2b3c4d5e6f", "access": "viewer" }'
Ответ
{    "object": "member",    "userId": "nQ8vBz1aRd4tYwKx7fQ2mN8vBz1aRd4t",    "email": "[email protected]",    "role": { "id": "role_2b81de079c1f0a4b7e05d386", "name": "Support", "builtin": null },    "addresses": [],    "domains": [      {        "domainId": "7d2a9c41-5b3e-4f8a-9c06-1e2b3c4d5e6f",        "domain": "acme.com",        "access": "viewer"      }    ]  }

Это upsert, как и выдача адреса: повторный POST с другим access меняет выданный доступ, а не добавляет второй.

Доступ к домену охватывает все адреса на этом домене, включая добавленные после его выдачи, поэтому именно его выдают тому, кто отвечает за целый домен. Адреса, выданные по одному, остаются рядом с ним как есть.

Человек уже должен быть в рабочем пространстве, поэтому сначала пригласите его через POST /members. Владелец отклоняется с member_is_owner, потому что он охватывает все домены, а рабочее пространство, тариф которого не включает участников команды, отклоняется с 403 plan_required.

Ключ или приложение, ограниченные определёнными адресами или доменами, отклоняются с 422 capability_unsupported, а приложение, действующее от имени участника, может выдать только домен, который этот участник охватывает.

Токену доступа OAuth для этого вызова нужен код подтверждения. Пока приложение не подтвердило код за последние 60 минут, вызов отвечает 403 step_up_required и ничего не меняет. У API-ключа его никогда не спрашивают. Страница «Аутентификация» показывает, как запросить код и подтвердить его.

Отозвать домен

Требует members:write. DELETE /members/{userId}/domains/{domainId}. Возвращает участника без этого домена.

curl
curl -X DELETE \    "$OE/members/nQ8vBz1aRd4tYwKx7fQ2mN8vBz1aRd4t/domains/7d2a9c41-5b3e-4f8a-9c06-1e2b3c4d5e6f" \    -H "$AUTH"
Ответ
{    "object": "member",    "userId": "nQ8vBz1aRd4tYwKx7fQ2mN8vBz1aRd4t",    "email": "[email protected]",    "role": { "id": "role_2b81de079c1f0a4b7e05d386", "name": "Support", "builtin": null },    "addresses": [],    "domains": []  }

Адреса на домене, выданные по одному, остаются выданными, и человек сохраняет свою роль.

Домен, которого нет в этом рабочем пространстве, отклоняется с 422 member_not_found, а не игнорируется молча.

Токену доступа OAuth для этого вызова нужен код подтверждения. Пока приложение не подтвердило код за последние 60 минут, вызов отвечает 403 step_up_required и ничего не меняет. У API-ключа его никогда не спрашивают. Страница «Аутентификация» показывает, как запросить код и подтвердить его.

Справочник