アカウントコンテキストとメンバー
目的: アカウントのスコープを選択し、資格情報またはプロバイダーの操作の前にアカウントのメンバーシップを検査します。
UI フロー
- UI は
GET /api/accountsを呼び出して、アクセス可能なアカウントを一覧表示します。 - ユーザーはアクティブなアカウントを選択します。
- UI は
POST /api/account-views/switchを介してアカウント コンテキストを保持します。 - UI は
GET /api/accounts/:account_idをロードします。 - UI は
GET /api/accounts/:account_id/membersをロードします。 - 所有者は
POST /api/accountsを使用して子アカウントを作成できます。 - 所有者は
PATCH /api/accounts/:account_idを使用してアカウントの表示値を更新できます。 - 所有者は
/api/accounts/:account_id/members*を使用してメンバーを追加/削除できます。 - UI は
account_idをルート状態に保存し、後続のすべてのアカウント スコープの呼び出しにプレフィックスを付けます。
クライアント ライブラリ フロー
const accounts = await api.accounts.list();
const active = selectAccount(accounts.data);
const account = await api.accounts.get(active.id);
const members = await api.members.list(active.id);
HTTP/カールフロー
API_BASE_URL="https://api.inbox-manager.com"
curl -sS "${API_BASE_URL}/api/accounts" \
-H "authorization: Bearer ${BEARER_TOKEN}"
curl -sS "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}" \
-H "authorization: Bearer ${BEARER_TOKEN}"
curl -sS -X POST "${API_BASE_URL}/api/account-views/switch" \
-H "authorization: Bearer ${BEARER_TOKEN}" \
-H "content-type: application/json" \
--data "{\"account_id\":\"${ACCOUNT_ID}\"}"
curl -sS "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/members" \
-H "authorization: Bearer ${BEARER_TOKEN}"
curl -sS -X POST "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/members/search" \
-H "authorization: Bearer ${BEARER_TOKEN}" \
-H "content-type: application/json" \
--data '{"query":"owner","limit":20,"offset":0}'
curl -sS -X POST "${API_BASE_URL}/api/accounts" \
-H "authorization: Bearer ${BEARER_TOKEN}" \
-H "content-type: application/json" \
--data '{"name":"Operations"}'
curl -sS -X PATCH "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}" \
-H "authorization: Bearer ${BEARER_TOKEN}" \
-H "content-type: application/json" \
--data '{"name":"Operations Team"}'
curl -sS -X POST "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/members" \
-H "authorization: Bearer ${BEARER_TOKEN}" \
-H "content-type: application/json" \
--data '{"user_id":"uid_target","role":"member"}'
curl -sS -X PATCH "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/members/${MEMBER_ID}" \
-H "authorization: Bearer ${BEARER_TOKEN}" \
-H "content-type: application/json" \
--data '{"role":"owner"}'
curl -sS -X DELETE "${API_BASE_URL}/api/accounts/${ACCOUNT_ID}/members/${MEMBER_ID}" \
-H "authorization: Bearer ${BEARER_TOKEN}"
注意事項
- アカウントのパスが一致しない場合は
403が返されます。 - メンバーシップ エンドポイントはアカウント スコープおよびロールゲート型です。
- アカウント/メンバー書き込みエンドポイントには
ownerロールが必要です。 - メンバーの作成は
memberおよびviewerをサポートします。所有権の昇格にはパッチを使用します。 - 所有者の自己降格と自己メンバーシップの削除はブロックされます。
- 最終所有者の降格または削除は
409を返します。