プロジェクト権限付与
次のエンドポイントを使用して、Embedded顧客ワークスペースでコラボレーターまたはグループのプロジェクトグラントを管理します。
APIクライアントアクセス
プロジェクトグラントエンドポイントは、APIクライアントがアクセスできるEnvironmentおよびプロジェクトにのみプロジェクトロールを割り当てることができます。 たとえば、TESTEnvironmentに割り当てられたAPIクライアントは、TESTプロジェクトのみを管理できます。 さらに、APIクライアントが特定のプロジェクトに割り当てられている場合、そのプロジェクトのみを管理できます。 APIクライアントのアクセスを構成するには、クライアントロールを作成するを参照してください。
レート制限
プロジェクトグラントリソースには次のレート制限があります:
| タイプ | リソース | 制限 |
|---|---|---|
| すべての | すべてのプロジェクト権限付与エンドポイント | 1分あたり60リクエスト |
プロジェクトグラントとは
プロジェクト付与は、コラボレーターまたはグループにプロジェクトロールを割り当てます。 UIで割り当て済みのプロジェクトロールを管理するには、プロジェクトアクセスとロールの管理を参照してください。
クイックリファレンス
| タイプ | リソース | 説明 |
|---|---|---|
| GET | /api/managed_users/:managed_user_id/project_grants/:id | 顧客ワークスペースのプロジェクトグラントを取得します。 |
| PUT | /api/managed_users/:managed_user_id/project_grants/:id | 顧客ワークスペースのプロジェクトグラントを更新します。 |
| DELETE | /api/managed_users/:managed_user_id/project_grants/:id | 顧客ワークスペースのプロジェクトグラントを削除します。 |
| GET | /api/managed_users/:managed_user_id/:id/project_grants | 顧客ワークスペース内の特定のプロジェクトからグラントを一覧表示します。 |
| PUT | /api/managed_users/:managed_user_id/projects/ :id/project_grants | 顧客ワークスペースのプロジェクトグラントを追加または更新します。 |
顧客ワークスペースのプロジェクトグラントを取得
Embedded顧客ワークスペースからプロジェクトグラントを取得します。
GET /api/managed_users/:managed_user_id/project_grants/:idパスパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客IDまたは外部ID。 外部IDはURLエンコードし、 Eのプレフィックスを付ける必要があります。例: EA2300。 |
| id | string 必須 | 取得するプロジェクトグラントのID。 |
サンプルリクエスト
curl -X GET 'https://www.workato.com/api/managed_users/19029/project_grants/pg-AQAEnmKC-Dtt9aD' \
-H 'Authorization: Bearer <api_token>'レスポンス
{
"data" : {
"id": "pg-AQAEnmKC-Dtt9aD",
"project": {
"id": 178229,
"name": "Development",
"environment": {
"id": 148425,
"type": "dev"
}
},
"project_role": {
"id": "pr-AQBGCnMB-JoFtKL",
"name": "Developers"
},
"user_group": null,
"user": {
"id": 1,
"name" : "Taylor",
"email": "[email protected]"
}
}
}顧客ワークスペースのプロジェクトグラントを更新
Embedded顧客ワークスペース内の既存のプロジェクトグラントを更新します。
PUT /api/managed_users/:managed_user_id/project_grants/:idパスパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客IDまたは外部ID。 外部IDはURLエンコードし、 Eのプレフィックスを付ける必要があります。例: EA2300。 |
| id | string 必須 | 更新するプロジェクトグラントのID。 |
リクエスト本文
| 名前 | タイプ | 説明 |
|---|---|---|
| project_grant | object required | 更新されたプロジェクトグラントを定義します。 |
| project_grant[project_role_id] | string 必須 | 割り当てるプロジェクトロールのID。 |
サンプルリクエスト
curl -X PUT 'https://www.workato.com/api/managed_users/19029/project_grants/pg-AQAEnmKC-Dtt9aD' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"project_grant": {
"project_role_id": "pr-AQBGCnMB-JoFtKL"
}
}'レスポンス
{
"data" : {
"id": "pg-AQAEnmKC-Dtt9aD",
"project": {
"id": 178229,
"name": "Development",
"environment": {
"id": 148425,
"type": "dev"
}
},
"project_role": {
"id": "pr-AQBGCnMB-JoFtKL",
"name": "Developers"
},
"user_group": {
"id": "am-WxEKCibh-dTXBtz",
"name" : "Developers",
"system": false
},
"user": null
}
}400 BAD REQUEST
400 Bad Requestエラーは、クライアント側の問題によりサーバーがリクエストを処理できなかったことを示します。 一般的な原因には、不正な形式のリクエスト、無効なフィールド、サポートされていないデータ型などのフィールド制約違反が含まれます。
次の例では、ロール割り当てがすでに存在するため、リクエストは失敗します:
{
"errors": [
{
"code": "bad_request",
"title": "Assignment has already been taken"
}
]
}顧客ワークスペースのプロジェクトグラントを削除
Embedded顧客ワークスペースからプロジェクトグラントを削除します。
DELETE /api/managed_users/:managed_user_id/project_grants/:idパスパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客IDまたは外部ID。 外部IDはURLエンコードし、 Eのプレフィックスを付ける必要があります。例: EA2300。 |
| id | string 必須 | 削除するプロジェクトグラントのID。 |
サンプルリクエスト
curl -X DELETE 'https://www.workato.com/api/managed_users/19029/project_grants/pg-AQAEnmKC-Dtt9aD' \
-H 'Authorization: Bearer <api_token>'レスポンス
リクエストが成功すると、204 No Contentステータスコードが返されます。 APIはプロジェクトグラントを削除し、空のレスポンス本文を返します。
顧客ワークスペースのプロジェクトグラントを一覧表示
Embedded顧客ワークスペース内の特定のプロジェクトからプロジェクトグラントのリストを取得します。
GET /api/managed_users/:managed_user_id/:id/project_grantsパスパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客IDまたは外部ID。 外部IDはURLエンコードし、 Eのプレフィックスを付ける必要があります。例: EA2300。 |
| id | string 必須 | グラントの取得元プロジェクトのID。 |
クエリパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| page[number] | integer optional | 取得するページ番号。 デフォルト値は1です。 |
| page[size] | integer optional | 取得するページあたりの項目数。 デフォルト値および最大値は100です。 |
サンプルリクエスト
curl -X GET 'https://www.workato.com/api/managed_users/19029/178229/project_grants?page[number]=1&page[size]=100' \
-H 'Authorization: Bearer <api_token>'レスポンス
{
"data": [
{
"id": "pg-AQAEnmMX-b4rPeT",
"project_role": {
"id": "pr-AQAEnmK3-EQpeYM",
"name": "Developers"
},
"user": {
"id": 1,
"name" : "Jie",
"email": "[email protected]"
},
"user_group": null
},
{
"id": "pg-AQAEnmKC-Dtt9aD",
"project_role": {
"id": "pr-AQAEnmK3-EQpeYM",
"name": "Developers"
},
"user": null,
"user_group": {
"id": "am-WxEKCibh-dTXBtz",
"name" : "Developers",
"system": false
}
}
],
"total": 2,
"page": {
"number": 1,
"size": 100
}
}顧客ワークスペースのプロジェクトグラントを追加または更新
Embedded顧客ワークスペース内のプロジェクトに対してプロジェクトグラントを追加または更新します。 各リクエストには最大100件のグラントを含めることができます。
PUT /api/managed_users/:managed_user_id/projects/:id/project_grantsパスパラメーター
| 名前 | タイプ | 説明 |
|---|---|---|
| managed_user_id | string 必須 | Embedded顧客IDまたは外部ID。 外部IDはURLエンコードし、 Eのプレフィックスを付ける必要があります。例: EA2300。 |
| id | string 必須 | グラントの追加または更新を予定しているプロジェクトのID。 |
リクエスト本文
| 名前 | タイプ | 説明 |
|---|---|---|
| project_grants | object required | プロジェクトのプロジェクトグラントを定義します。 |
| project_grants[assignment_type] | string 必須 | ロールをワークスペース(User)またはコラボレーターグループ(UserGroup)に割り当てるかどうかを指定します。 |
| project_grants[assignment_id] | string 必須 | ターゲットワークスペースまたはコラボレーターグループのID。 |
| project_grants[project_role_id] | string 必須 | 割り当てるロールのID。 |
サンプルリクエスト
curl -X PUT 'https://www.workato.com/api/managed_users/19029/projects/178229/project_grants' \
-H 'Authorization: Bearer <api_token>' \
-H 'Content-Type: application/json' \
-d '{
"project_grants": [
{
"assignment_type": "User",
"assignment_id": "1",
"project_role_id": "pr-AQAEnmK3-EQpeYM"
},
{
"assignment_type": "UserGroup",
"assignment_id": "am-WxEKCibh-dTXBtz",
"project_role_id": "pr-AQAEnmK3-EQpeYM"
}
]
}'レスポンス
成功したリクエストは{ "data": null }を返します。 このレスポンスは、操作が成功したものの、追加のデータは返されないことを示します。
400 BAD REQUEST
400 Bad Requestエラーは、クライアント側の問題によりサーバーがリクエストを処理できなかったことを示します。 一般的な原因には、不正な形式のリクエスト、無効なフィールド、サポートされていないデータ型などのフィールド制約違反が含まれます。
次の例では、100件を超えるグラントが含まれているため、リクエストは失敗します:
{
"errors": [
{
"code": "bad_request",
"title": "Max 100 project grants per request"
}
]
}Last updated: