IM
JA
ドキュメントホーム
メニュー
ガイド

アカウントのコンテキストとメンバー

アカウントのスコープを選択し、資格情報またはプロバイダーの操作の前にアカウントのメンバーシップを検査します。

inbox-manager client-flow

アカウントコンテキストとメンバー

目的: アカウントのスコープを選択し、資格情報またはプロバイダーの操作の前にアカウントのメンバーシップを検査します。

UI フロー

  1. UI は GET /api/accounts を呼び出して、アクセス可能なアカウントを一覧表示します。
  2. ユーザーはアクティブなアカウントを選択します。
  3. UI は POST /api/account-views/switch を介してアカウント コンテキストを保持します。
  4. UI は GET /api/accounts/:account_id をロードします。
  5. UI は GET /api/accounts/:account_id/members をロードします。
  6. 所有者は POST /api/accounts を使用して子アカウントを作成できます。
  7. 所有者は PATCH /api/accounts/:account_id を使用してアカウントの表示値を更新できます。
  8. 所有者は /api/accounts/:account_id/members* を使用してメンバーを追加/削除できます。
  9. 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 を返します。