We use cookies to improve your experience and analyze site traffic. By clicking "Accept", you consent to our use of cookies. See our Privacy Policy for details.

Attending Frankfurt Book Fair? We’re taking meetings 7–9 October.Book your meeting(opens in a new tab)

チームAPI

組織のチームメンバーを管理します。コラボレーターの招待、ロールの割り当て、権限の更新、メンバーの削除。

On this page

チームAPI

チームAPIを使用すると、組織のメンバーを管理できます。新しいコラボレーターの招待、ロールの割り当て、権限の更新、メンバーの削除が可能です。チームメンバーの上限はサブスクリプションプランに基づいて適用されます。

ベースURL: https://api.zenflip.io/v1/teams

ロールと権限

ZenFlipは階層的な権限を持つ4つのロールを使用します:

ロール

パブリケーション

設定

チーム管理

請求

owner

フルアクセス

フルアクセス

フルアクセス

フルアクセス

admin

フルアクセス

フルアクセス

招待、削除、ロール変更

閲覧のみ

editor

作成、編集、公開、アーカイブ

閲覧のみ

アクセス不可

アクセス不可

viewer

閲覧のみ

アクセス不可

アクセス不可

アクセス不可

各組織にはownerが1名のみ存在します。ownerロールは削除も降格もできません。オーナーシップの移転はダッシュボードから行う必要があります。

チームメンバー一覧

組織のすべてのメンバーを取得します。

` GET /teams/members `

リクエスト例

`bash curl "https://api.zenflip.io/v1/teams/members" \ -H "Authorization: Bearer YOUR_TOKEN" `

レスポンス例

`json { "data": [ { "id": "550e8400-e29b-41d4-a716-446655440000", "email": "owner@example.com", "name": "Alex Chen", "role": "owner", "status": "active", "avatarUrl": "https://cdn.zenflip.io/avatars/550e8400.jpg", "emailVerified": true, "lastActiveAt": "2026-02-20T14:00:00.000Z", "createdAt": "2025-06-01T10:00:00.000Z" }, { "id": "660e8400-e29b-41d4-a716-446655440001", "email": "editor@example.com", "name": "Sarah Kim", "role": "editor", "status": "active", "avatarUrl": null, "emailVerified": true, "lastActiveAt": "2026-02-19T16:30:00.000Z", "createdAt": "2025-09-15T08:00:00.000Z" }, { "id": "770e8400-e29b-41d4-a716-446655440002", "email": "newuser@example.com", "name": "Pending User", "role": "viewer", "status": "invited", "avatarUrl": null, "emailVerified": false, "lastActiveAt": null, "createdAt": "2026-02-18T11:00:00.000Z" } ] } `

statusフィールドは、メンバーがactive(招待を承認済み)かinvited(承認待ち)かを示します。

チームメンバーの招待

新しいチームメンバーにメール招待を送信します。招待された方はパスワードを設定し、組織に参加するためのリンクを受け取ります。

` POST /teams/invite `

必要なロール: admin以上。

リクエストボディ

フィールド

型

必須

説明

email

string

はい

招待する方のメールアドレス

name

string

はい

招待されたメンバーの表示名

role

string

はい

割り当てるロール:admin、editor、viewer

リクエスト例

`bash curl -X POST "https://api.zenflip.io/v1/teams/invite" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "email": "neweditor@example.com", "name": "Jordan Lee", "role": "editor" }' `

レスポンス例

`json { "data": { "id": "880e8400-e29b-41d4-a716-446655440003", "email": "neweditor@example.com", "name": "Jordan Lee", "role": "editor", "status": "invited", "createdAt": "2026-02-20T16:00:00.000Z" } } `

組織がプランのチームメンバー上限に達している場合、APIは上限に達したことを示すメッセージとともに403エラーを返します。

招待の再送信

保留中のチームメンバーに招待メールを再送信します。

` POST /teams/members/:id/resend-invite `

必要なロール: admin以上。

リクエスト例

`bash curl -X POST "https://api.zenflip.io/v1/teams/members/880e8400.../resend-invite" \ -H "Authorization: Bearer YOUR_TOKEN" `

レスポンス例

`json { "message": "Invitation resent" } `

招待の取り消し

承認前の保留中の招待をキャンセルします。

` DELETE /teams/members/:id/revoke-invite `

必要なロール: admin以上。

リクエスト例

`bash curl -X DELETE "https://api.zenflip.io/v1/teams/members/880e8400.../revoke-invite" \ -H "Authorization: Bearer YOUR_TOKEN" `

レスポンス例

`json { "message": "Invitation revoked" } `

招待の検証(パブリック)

招待トークンが有効かどうかを、トークンを消費せずに確認します。これはフロントエンドが招待承認フォームを表示するために使用するパブリックエンドポイントです。

` POST /teams/validate-invite `

認証不要。

リクエストボディ

フィールド

型

必須

説明

token

string

はい

招待トークン

レスポンス例

`json { "data": { "valid": true, "email": "neweditor@example.com", "organizationName": "Acme Publishing", "role": "editor", "invitedBy": "Alex Chen" } } `

招待の承認(パブリック)

招待を承認してパスワードを設定します。このエンドポイントはユーザーアカウントを作成し、JWTトークンを生成し、ユーザーを即座にログインさせます。

` POST /teams/accept-invite `

認証不要。

リクエストボディ

フィールド

型

必須

説明

token

string

はい

招待トークン

password

string

はい

アカウントのパスワード

リクエスト例

`bash curl -X POST "https://api.zenflip.io/v1/teams/accept-invite" \ -H "Content-Type: application/json" \ -d '{ "token": "invite_token_abc123", "password": "SecureP@ssw0rd!" }' `

レスポンス例

`json { "message": "Invitation accepted successfully", "user": { "id": "880e8400-e29b-41d4-a716-446655440003", "email": "neweditor@example.com", "name": "Jordan Lee", "role": "editor" }, "organization": { "id": "660e8400-e29b-41d4-a716-446655440000", "name": "Acme Publishing" }, "accessToken": "eyJhbGciOiJIUzI1NiIs...", "refreshToken": "eyJhbGciOiJIUzI1NiIs...", "expiresIn": 3600 } `

メンバーロールの更新

既存のチームメンバーのロールを変更します。

` PATCH /teams/members/:id/role `

必要なロール: admin以上。

リクエストボディ

フィールド

型

必須

説明

role

string

はい

新しいロール:admin、editor、viewer

リクエスト例

`bash curl -X PATCH "https://api.zenflip.io/v1/teams/members/660e8400.../role" \ -H "Authorization: Bearer YOUR_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "role": "admin" }' `

レスポンス例

`json { "data": { "id": "660e8400-e29b-41d4-a716-446655440001", "email": "editor@example.com", "name": "Sarah Kim", "role": "admin", "status": "active" } } `

制限事項:

  • ownerロールは変更できません。

  • adminは他のメンバーをownerに昇格できません。

  • 自分自身のロールは変更できません。

チームメンバーの削除

組織からメンバーを削除します。すべてのアクセス権が即座に取り消されます。

` DELETE /teams/members/:id `

必要なロール: admin以上。

リクエスト例

`bash curl -X DELETE "https://api.zenflip.io/v1/teams/members/660e8400-e29b-41d4-a716-446655440001" \ -H "Authorization: Bearer YOUR_TOKEN" `

レスポンス例

`json { "message": "Team member removed" } `

制限事項:

  • 組織のownerは削除できません。

  • メンバーは自分自身を削除できません(組織からの退出はダッシュボードから行ってください)。

プラン上限

チームメンバーの上限はサブスクリプションプランによって異なります:

プラン

チームメンバー

Explorer

1(ownerのみ)

Creator

3

Business

15

Enterprise

無制限

プラン上限を超えてメンバーを招待しようとすると、403エラーが返されます。上限を引き上げるには、請求設定からプランをアップグレードしてください。

← Previous
パブリケーションAPI
ZenFlip チームAPIリファレンス | 招待、ロール、メンバー管理 | ZenFlip