APIリファレンス: Organization管理
Organizationエンドポイント
Organizationは複数のテナントを1つのエンティティとしてまとめます。
Organization取得
テナントが所属するOrganizationの情報を取得します。
エンドポイント: GET /tenant/{tenantId}/organization
パラメータ:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | テナントの一意なID |
レスポンス:
{
"id": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"displayName": "Acme Corporation",
"createdAt": "2023-06-01T00:00:00Z"
}
Organization統計取得
Organization全体の統計情報を取得します。
エンドポイント: GET /tenant/{tenantId}/organization/statistics
パラメータ:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | テナントの一意なID |
レスポンス:
{
"tenantCount": 5,
"totalProcessCount": 42,
"totalDatasetCount": 18,
"totalUserCount": 25,
"totalStorageUsedBytes": 5368709120
}
Organization全テナント一覧
Organization内のすべてのテナント情報を取得します。
エンドポイント: GET /tenant/{tenantId}/organization/tenants
パラメータ:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | テナントの一意なID |
レスポンス:
[
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"displayName": "Sales Department",
"createdAt": "2024-01-01T00:00:00Z"
},
{
"id": "d4e5f6a7-b8c9-0123-def4-567890123456",
"displayName": "Operations",
"createdAt": "2024-02-15T00:00:00Z"
}
]
テナント作成
Organizationに新しいテナントを追加します。
エンドポイント: POST /tenant/{tenantId}/organization/tenants
パラメータ:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | Organization内の既存テナントの一意なID |
リクエストボディ:
{
"shortName": "sales-team",
"displayName": "Sales Team",
"description": "Tenant for the sales department"
}
| Field | Type | Required | Description |
|---|---|---|---|
| shortName | string | Yes | URL用識別子(小文字・ハイフン可) |
| displayName | string | No | テナント表示名 |
| description | string | No | テナントの説明 |
レスポンス: 作成されたテナントオブジェクトを返します。
テナント削除
Organizationからテナントを削除します。
エンドポイント: DELETE /tenant/{tenantId}/organization/tenants/{targetTenantId}
パラメータ:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | Organization内の既存テナントの一意なID |
| targetTenantId | string | path | Yes | 削除するテナントの一意なID |
レスポンス:
{
"success": true
}
warning
テナントを削除すると、そのテナントのすべてのプロセス、データセット、ユーザー割り当てが完全に削除されます。この操作は元に戻せません。また、現在認証に使用しているテナントは削除できません。
Organizationユーザーエンドポイント
Organizationユーザー一覧
Organization内のすべてのユーザー情報を取得します。
エンドポイント: GET /tenant/{tenantId}/organization/users
パラメータ:
| Name | Type | Location | Required | Description |
|---|---|---|---|---|
| tenantId | string | path | Yes | テナントの一意なID |
レスポンス:
[
{
"id": "e5f6a7b8-c9d0-1234-efa5-678901234567",
"email": "admin@example.com",
"firstName": "Jane",
"lastName": "Smith",
"createdAt": "2023-06-01T00:00:00Z",
"lastLoginAt": "2024-03-01T10:00:00Z",
"organizationId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"isActiveInOrganization": true,
"isAdminInOrganization": true
}
]
Organizationユーザー更新
ユーザーのOrganization内権限を更新します。
エンドポイント: PUT /tenant/{tenantId}/organization/users
リクエストボディ:
{
"userId": "e5f6a7b8-c9d0-1234-efa5-678901234567",
"organizationId": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"isActiveInOrganization": true,
"isAdminInOrganization": true
}
| Field | Type | Required | Description |
|---|---|---|---|
| userId | string | Yes | ユーザーの一意なID |
| organizationId | string | Yes | Organizationの一意なID |
| isActiveInOrganization | boolean | No | ユーザーがOrganizationで有効かどうか |
| isAdminInOrganization | boolean | No | Organization管理者権限があるかどうか |
レスポンス:
{
"message": "User organization settings updated."
}
Organizationユーザー削除
ユーザーをOrganizationから完全に削除します。
エンドポイント: DELETE /tenant/{tenantId}/organization/users
リクエストボディ:
{
"userId": "e5f6a7b8-c9d0-1234-efa5-678901234567",
"organizationId": "c3d4e5f6-a7b8-9012-cdef-345678901234"
}
| Field | Type | Required | Description |
|---|---|---|---|
| userId | string | Yes | 削除するユーザーの一意なID |
| organizationId | string | Yes | Organizationの一意なID |
レスポンス:
{
"message": "User removed from organization."
}
warning
ユーザーをOrganizationから削除すると、Organization内すべてのテナントへのアクセス権が取り消されます。