特定のアクセスレベルとカスタムロールを持つプロジェクトや会社にユーザーを招待します。


ユーザーを招待

inviteUser ミューテーションを使用すると、Blueのプロジェクトや会社にユーザーを招待できます。ユーザーには、事前定義されたアクセスレベルまたは特定の権限を持つカスタムロールを割り当てることができます。

基本的な例

標準のアクセスレベルでユーザーを招待します:

mutation InviteUserToProject {
  inviteUser(
    input: {
      email: "newuser@example.com"
      projectId: "web-redesign"
      accessLevel: MEMBER
    }
  )
}

高度な例

カスタムロールを持つユーザーを複数のプロジェクトに招待します:

mutation InviteUserWithCustomRole {
  inviteUser(
    input: {
      email: "contractor@example.com"
      projectIds: ["web-redesign", "mobile-app", "api-v2"]
      accessLevel: MEMBER
      roleId: "role_contractor_123"
    }
  )
}

入力パラメータ

InviteUserInput

パラメータ 必須 説明
email String! ✅ はい 招待するユーザーのメールアドレス
accessLevel UserAccessLevel! ✅ はい 付与するアクセスレベル(下の表を参照)
projectId String いいえ 単一のプロジェクトID(companyIdと相互排他的)
projectIds [String!] いいえ companyIdを使用する場合の複数のプロジェクトID
companyId String いいえ 会社レベルの招待のための会社ID(projectIdと相互排他的)
roleId String いいえ カスタムロールID(accessLevel: MEMBERが必要)

UserAccessLevel 値

説明
OWNER プロジェクト/会社に対する完全な制御
ADMIN 管理者アクセス、ユーザーと設定を管理可能
MEMBER 標準メンバーアクセスで完全な機能を持つ
CLIENT 外部クライアント向けの制限付きアクセス
COMMENT_ONLY レコードを表示およびコメントすることのみ可能
VIEW_ONLY プロジェクトへの読み取り専用アクセス

レスポンスフィールド

フィールド 説明
success Boolean! 招待が成功裏に送信されたかどうか

必要な権限

ユーザーは他のユーザーを招待するために十分な権限を持っている必要があります。権限の階層が適用されます:

あなたの役割 招待可能
OWNER ✅ すべてのアクセスレベル
ADMIN ✅ ADMIN, MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY(OWNERを招待できない)
MEMBER ✅ MEMBER, CLIENT, COMMENT_ONLY, VIEW_ONLY(OWNERまたはADMINを招待できない)
CLIENT ✅ CLIENTのみ
COMMENT_ONLY ❌ 招待できない
VIEW_ONLY ❌ 招待できない

注意: 会社の招待(companyIdを使用)は、会社のOWNERのみがユーザーを招待できます。

招待の種類

プロジェクト招待

ユーザーを単一のプロジェクトに招待します:

  • projectId パラメータを使用
  • companyIdを同時に使用できません
  • 招待者はプロジェクトにアクセスできる必要があります
  • アクセスレベルの制限が適用されます

会社招待

ユーザーを会社に招待します(オプションで特定のプロジェクトも):

  • companyId パラメータを使用
  • projectIdを同時に使用できません
  • 会社のOWNERのみがこの方法を使用できます
  • projectIds 配列を使用して含めるプロジェクトを指定します
  • projectIdsが省略された場合、ユーザーは会社のアクセスのみを取得します

カスタムロール

カスタムロールを使用する場合:

  1. accessLevelMEMBER に設定します
  2. カスタムロールの roleId を提供します
  3. ユーザーはカスタムロールで定義されたすべての権限を継承します
  4. カスタムロールはプロジェクト固有です

利用可能なカスタムロールを取得するには、projectUserRoles クエリを使用します。

エラー応答

ユーザーはすでにプロジェクトに存在

{
  "errors": [{
    "message": "User is already in the project.",
    "extensions": {
      "code": "USER_ALREADY_IN_THE_PROJECT"
    }
  }]
}

権限が不十分

{
  "errors": [{
    "message": "You don't have permission to invite users with this access level",
    "extensions": {
      "code": "UNAUTHORIZED"
    }
  }]
}

無効なプロジェクト

{
  "errors": [{
    "message": "Project not found",
    "extensions": {
      "code": "PROJECT_NOT_FOUND"
    }
  }]
}

招待制限を超えました

{
  "errors": [{
    "message": "Unable to invite more people.",
    "extensions": {
      "code": "INVITATION_LIMIT"
    }
  }]
}

自分を招待できません

{
  "errors": [{
    "message": "You are not allowed to add yourself.",
    "extensions": {
      "code": "ADD_SELF"
    }
  }]
}

無効なカスタムロール

{
  "errors": [{
    "message": "Project user role was not found.",
    "extensions": {
      "code": "PROJECT_USER_ROLE_NOT_FOUND"
    }
  }]
}

会社が禁止されています

{
  "errors": [{
    "message": "Company is banned",
    "extensions": {
      "code": "COMPANY_BANNED"
    }
  }]
}

重要な注意事項

  • メール検証: メールアドレスは正規化され、招待送信前に検証されます
  • 招待の有効期限: 招待は7日後に期限切れとなり、受け入れられない場合は再送信する必要があります
  • 自動通知: Blueは新しいユーザーに自動的に招待メールを送信します
  • 会社のオーナー: 会社のオーナーはすべてのプロジェクトで自動的にADMINアクセスを受け取ります
  • 請求への影響: ユーザーを追加すると、ユーザー単位の料金プランを利用している場合、サブスクリプションに影響を与える可能性があります
  • アクティビティログ: すべてのユーザー招待は監査目的で記録されます
  • パラメータの排他性: projectId または companyId のいずれかを提供する必要があり、両方は提供できません
  • 会社の制限: 会社のオーナーのみが companyId パラメータを使用できます
  • 自己招待: ユーザーは自分を招待できません(ADD_SELF エラーが発生します)

関連操作

AIアシスタント

回答はAIを使用して生成されており、間違いが含まれる可能性があります。

どのようにお手伝いできますか?

Blueやこのドキュメントについて何でも聞いてください。

送信するにはEnterを押してください • 新しい行を作成するにはShift+Enterを押してください • ⌘Iで開く