クロスワークスペース共有

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

次のエンドポイントを使用すると、クロスワークスペースグラントをプログラムで管理できます。

グラントには2つの側面があります。 送信グラントは、ワークスペースが外部に共有するグラントであり、完全な管理操作をサポートします。 受信グラントは、他のワークスペースがワークスペースと共有するグラントであり、読み取り専用です。 ソースおよびターゲットEnvironmentエンドポイントは、クライアントがグラントを作成する前に有効なEnvironmentを検出するのに役立ちます。 すべての呼び出しは、呼び出し元自身のワークスペースにスコープ設定されます。

必要な権限

APIクライアントのロールには、APIクライアントロールエディターの管理 > クロスワークスペース共有配下にある関連する権限が含まれている必要があります。 クロスワークスペース共有グラント機能には、送信グラントおよびEnvironment検出の権限が含まれます。 クロスワークスペース共有受信グラント機能には、受信グラントのリストおよび受信グラントの表示権限が含まれます。

レート制限

クロスワークスペース共有Developer APIリソースには、次のレート制限があります。

タイプリソース制限
既読すべての読み取りワークスペース間共有エンドポイント1分あたり600リクエスト
書き込みすべての書き込みワークスペース間共有エンドポイント1分あたり60リクエスト

クイックリファレンス

タイプリソース説明
GET/api/cross_workspace/grants送信グラントの一覧を取得。
GET/api/cross_workspace/grants/:handleハンドルを指定して送信グラントを取得。
POST/api/cross_workspace/grantsグラントを作成。
PUT/api/cross_workspace/grants/:handleグラントを更新。
DELETE/api/cross_workspace/grants/:handleグラントを取り消し。
GET/api/cross_workspace/incoming_grants受信グラントの一覧を取得。
GET/api/cross_workspace/incoming_grants/:handleハンドルを指定して受信グラントを取得。
GET/api/cross_workspace/source_environmentsグラントソースとして機能できるEnvironmentを取得。
GET/api/cross_workspace/target_environments指定されたソースからグラント可能なEnvironmentを取得。

APIがEnvironmentとアセットを参照する方法

クロスワークスペース共有APIでは、次の識別子と規則を使用します。

  • グラント

  • 各グラントは、cwsgr-2f8h1k-a3x9qz-1などの一意の文字列handleで識別されます。 1つのグラントで、複数のソースEnvironmentから同時に共有できます。 environments配列には、各ソースEnvironmentに対して1つのエントリが含まれます。

  • Environment

  • Environmentは内部idによって参照されます。 グラントは、自身のワークスペース内のsource_environment_idから1つ以上のtarget_environment_idsへ共有します。 ターゲットはソースと同じタイプの兄弟である必要があります。そのため、同じAutomation HQ組織および同じデータセンター内で、prodソースはprodターゲットに共有されます。 グラントを作成する前に有効なIDを検出するには、ソースEnvironmentのリストおよびターゲットEnvironmentのリストエンドポイントを使用します。

  • アセット

  • アセットはidおよびtypeによって参照されます。 クロスワークスペース共有はEvent streamsトピックをサポートするため、typeTopicです。 アセットidはトピックのIDであり、Event streams APIで使用されるものと同じ識別子です。 このAPIでは、Event streamsトピックIDが整数であっても、アセットidを文字列として表します。これは、クロスワークスペース共有が、IDが数値ではない将来のアセットタイプに対応できるように設計されているためです。 ここで使用する場合は、IDを引用符で囲みます。

  • アクセスレベル

  • access_levels配列は、アセットに対してreadwriteの一方または両方を付与します。 これらは、クロスワークスペース共有UIに表示されるSubscribeおよびPublishアクセスレベルに対応します。 送信グラントと受信グラントはどちらも、アクセスレベルを配列として表します。

送信グラントのリスト

呼び出し元のワークスペースが所有するグラントのリストを取得します。任意で名前フィルタリングとソートを使用できます。

shell
GET /api/cross_workspace/grants

クエリパラメーター

名前タイプ説明
namestring
任意
nameに対する部分一致(大文字と小文字を区別しない)でグラントをフィルタリングします。
sortstring
任意
結果の並べ替え方法を定義します。 オプションには、name-nameupdated_at、および-updated_atがあります。 -プレフィックスは降順でソートします。 デフォルトではupdated_atの降順に設定されます。
page[number]integer
optional
取得するページ番号。 デフォルト値は1です。
page[size]integer
optional
取得するページあたりのグラント数。 デフォルト値および最大値は100です。

サンプルリクエスト

このリクエストは、名前Ordersに一致する送信グラントを取得し、名前でソートします。

shell
curl  -g -X GET "https://www.workato.com/api/cross_workspace/grants?name=Orders&sort=name&page[number]=1&page[size]=100" \
      -H 'Authorization: Bearer <api_token>'

レスポンス

json
{
    "data": [
        {
            "handle": "cwsgr-2f8h1k-a3x9qz-1",
            "name": "Orders topic to EU and APAC",
            "description": "Share prod orders stream",
            "created_by": { "name": "Sasha Patel" },
            "created_at": "2026-06-30T12:00:00.000Z",
            "updated_at": "2026-06-30T12:00:00.000Z",
            "environments": [
                {
                    "source_environment_id": 123,
                    "source_environment_type": "prod",
                    "target_environments": [
                        { "id": 456, "type": "prod", "workspace_id": 17293, "workspace_name": "Acme EU" }
                    ],
                    "assets": [
                        { "id": "48213", "name": "orders", "type": "Topic", "access_levels": ["read", "write"] }
                    ]
                }
            ]
        }
    ],
    "total": 42,
    "page": { "number": 1, "size": 100 }
}

送信グラントの取得

呼び出し元のワークスペースが所有する単一のグラントを、ハンドルで解決して取得します。

shell
GET /api/cross_workspace/grants/:handle

URLパラメーター

名前タイプ説明
handlestring
必須
グラントのハンドル。

サンプルリクエスト

このリクエストは、ハンドルcwsgr-2f8h1k-a3x9qz-1を持つグラントを取得します。

shell
curl  -X GET "https://www.workato.com/api/cross_workspace/grants/cwsgr-2f8h1k-a3x9qz-1" \
      -H 'Authorization: Bearer <api_token>'

レスポンス

json
{
    "data": {
        "handle": "cwsgr-2f8h1k-a3x9qz-1",
        "name": "Orders topic to EU and APAC",
        "description": "Share prod orders stream",
        "created_by": { "name": "Sasha Patel" },
        "created_at": "2026-06-30T12:00:00.000Z",
        "updated_at": "2026-06-30T12:00:00.000Z",
        "environments": [
            {
                "source_environment_id": 123,
                "source_environment_type": "prod",
                "target_environments": [
                    { "id": 456, "type": "prod", "workspace_id": 17293, "workspace_name": "Acme EU" }
                ],
                "assets": [
                    { "id": "48213", "name": "orders", "type": "Topic", "access_levels": ["read", "write"] }
                ]
            }
        ]
    }
}

呼び出し元のワークスペースが所有していないグラントは404を返します。

グラントの作成

呼び出し元のワークスペースにグラントを作成します。

shell
POST /api/cross_workspace/grants

本文パラメーター

名前タイプ説明
namestring
必須
グラントの名前。
説明string
任意
グラントの説明。
environmentsarray
optional
共有元の各ソースEnvironmentに対して1つのエントリ。 後で更新によって入力する空のグラントを作成するには、environmentsを省略します。
environments[source_environment_id]integer
required
ソースEnvironmentのID。 呼び出し元のワークスペースに属している必要があります。
environments[target_environment_ids]array
optional
共有先のターゲットEnvironmentのID。 同じAutomation HQ組織内で、ソースと同じタイプの兄弟である必要があります。
environments[assets]array
optional
このソースEnvironmentから共有されるアセット。
environments[assets][id]string
必須
文字列として指定されるアセットのID。 Event streamsトピックの場合は、トピックのIDを使用します。
environments[assets][type]string
必須
アセットのタイプ。 Topicを受け入れます。
environments[assets][access_levels]array
必須
アセットに付与されるアクセスレベル。 readwriteの一方または両方。

サンプルリクエスト

このリクエストは、ソースEnvironment123から2つのターゲットEnvironmentにordersトピックを共有するグラントを作成します。

shell
curl  -X POST "https://www.workato.com/api/cross_workspace/grants" \
      -H 'Authorization: Bearer <api_token>' \
      -H "Content-Type: application/json" \
      -d '{
            "name": "Orders topic to EU and APAC",
            "description": "Share prod orders stream",
            "environments": [
                {
                    "source_environment_id": 123,
                    "target_environment_ids": [456, 789],
                    "assets": [
                        { "id": "48213", "type": "Topic", "access_levels": ["read", "write"] }
                    ]
                }
            ]
         }'

レスポンス

json
{
    "data": {
        "handle": "cwsgr-2f8h1k-a3x9qz-1",
        "name": "Orders topic to EU and APAC",
        "description": "Share prod orders stream",
        "created_by": { "name": "Sasha Patel" },
        "created_at": "2026-06-30T12:00:00.000Z",
        "updated_at": "2026-06-30T12:00:00.000Z",
        "environments": [
            {
                "source_environment_id": 123,
                "source_environment_type": "prod",
                "target_environments": [
                    { "id": 456, "type": "prod", "workspace_id": 17293, "workspace_name": "Acme EU" },
                    { "id": 789, "type": "prod", "workspace_id": 40021, "workspace_name": "Acme APAC" }
                ],
                "assets": [
                    { "id": "48213", "name": "orders", "type": "Topic", "access_levels": ["read", "write"] }
                ]
            }
        ]
    }
}

このエンドポイントは、成功時に201を返します。 本文の検証に失敗した場合は400を返します。これには、自身のソースと等しいtarget_environment_id、異なるEnvironmentタイプのターゲット、ソースのAutomation HQ組織外のターゲット、またはソースEnvironmentが所有していないアセットが含まれます。 各ルールは独自のメッセージを報告するため、複数のルールに失敗したリクエストは、失敗したルールごとに1つのメッセージを受け取ります。

グラントの更新

呼び出し元のワークスペースが所有するグラントを更新します。 リクエストはグラントの作成と同じ本文形式を受け入れ、各ソースEnvironmentの部分更新として適用されます。 各environmentsエントリは、source_environment_idをキーとする部分スライスです。 target_environment_idsまたはassetsを省略するとその側は変更されず、明示的な空の配列を指定するとクリアされます。

shell
PUT /api/cross_workspace/grants/:handle

URLパラメーター

名前タイプ説明
handlestring
必須
グラントのハンドル。

本文パラメーター

リクエストは付与を作成エンドポイントと同じフィールドを受け入れ、それらを各ソースEnvironmentに部分更新として適用します。 更新時、nameフィールドは任意です。 付与の名前を変更しない場合は省略します。

サンプルリクエスト

このリクエストは、ハンドルcwsgr-2f8h1k-a3x9qz-1を持つグラントを更新し、ソースEnvironment123を単一のターゲットEnvironmentと共有します。

shell
curl  -X PUT "https://www.workato.com/api/cross_workspace/grants/cwsgr-2f8h1k-a3x9qz-1" \
      -H 'Authorization: Bearer <api_token>' \
      -H "Content-Type: application/json" \
      -d '{
            "name": "Orders topic to EU only",
            "environments": [
                { "source_environment_id": 123, "target_environment_ids": [456] }
            ]
         }'

レスポンス

json
{
    "data": {
        "handle": "cwsgr-2f8h1k-a3x9qz-1",
        "name": "Orders topic to EU only",
        "description": "Share prod orders stream",
        "created_by": { "name": "Sasha Patel" },
        "created_at": "2026-06-30T12:00:00.000Z",
        "updated_at": "2026-07-21T09:10:00.000Z",
        "environments": [
            {
                "source_environment_id": 123,
                "source_environment_type": "prod",
                "target_environments": [
                    { "id": 456, "type": "prod", "workspace_id": 17293, "workspace_name": "Acme EU" }
                ],
                "assets": [
                    { "id": "48213", "name": "orders", "type": "Topic", "access_levels": ["read", "write"] }
                ]
            }
        ]
    }
}

このエンドポイントは、成功時に200を返します。 ハンドルが呼び出し元のワークスペースによって所有されていない場合は404を返し、検証に失敗した場合は400を返します。

グラントの取り消し

呼び出し元のワークスペースが所有するグラントを論理削除します。

shell
DELETE /api/cross_workspace/grants/:handle

URLパラメーター

名前タイプ説明
handlestring
必須
グラントのハンドル。

サンプルリクエスト

このリクエストは、ハンドルcwsgr-2f8h1k-a3x9qz-1を持つグラントを取り消します。

shell
curl  -X DELETE "https://www.workato.com/api/cross_workspace/grants/cwsgr-2f8h1k-a3x9qz-1" \
      -H 'Authorization: Bearer <api_token>'

レスポンス

このエンドポイントは、成功時に空の本文で204 No Contentを返します。 ハンドルが呼び出し元のワークスペースによって所有されていない場合は404を返し、削除に失敗した場合は400を返します。

受信グラントのリスト

呼び出し元のワークスペースをターゲットとするグラントのリストを取得します。 リストビューは軽量です。 各source_environmentsエントリには、完全なアセットリストの代わりにhas_assetsブール値が含まれます。 グラントの完全なアセットリストを取得するには、受信グラントの取得エンドポイントを使用します。

shell
GET /api/cross_workspace/incoming_grants

クエリパラメーター

名前タイプ説明
page[number]integer
optional
取得するページ番号。 デフォルト値は1です。
page[size]integer
optional
取得するページあたりのグラント数。 デフォルト値および最大値は100です。

サンプルリクエスト

このリクエストは、ワークスペースをターゲットとするグラントを取得します。

shell
curl  -g -X GET "https://www.workato.com/api/cross_workspace/incoming_grants?page[number]=1&page[size]=100" \
      -H 'Authorization: Bearer <api_token>'

レスポンス

json
{
    "data": [
        {
            "handle": "cwsgr-2f8h1k-a3x9qz-1",
            "name": "Orders topic to EU and APAC",
            "description": "Share prod orders stream",
            "created_at": "2026-06-30T12:00:00.000Z",
            "updated_at": "2026-06-30T12:00:00.000Z",
            "source_workspace": { "id": 8842, "name": "Acme Global" },
            "source_environments": [
                { "id": 123, "type": "prod", "has_assets": true }
            ]
        }
    ],
    "total": 3,
    "page": { "number": 1, "size": 100 }
}

受信グラントの取得

呼び出し元のワークスペースをターゲットとする単一のグラントを取得します。 単一グラントビューには、各ソースEnvironmentの共有assetsが、そのaccess_levelsを含めて一覧表示されます。

shell
GET /api/cross_workspace/incoming_grants/:handle

URLパラメーター

名前タイプ説明
handlestring
必須
グラントのハンドル。

サンプルリクエスト

このリクエストは、ハンドルcwsgr-2f8h1k-a3x9qz-1を持つ受信グラントを取得します。

shell
curl  -X GET "https://www.workato.com/api/cross_workspace/incoming_grants/cwsgr-2f8h1k-a3x9qz-1" \
      -H 'Authorization: Bearer <api_token>'

レスポンス

json
{
    "data": {
        "handle": "cwsgr-2f8h1k-a3x9qz-1",
        "name": "Orders topic to EU and APAC",
        "description": "Share prod orders stream",
        "created_at": "2026-06-30T12:00:00.000Z",
        "updated_at": "2026-06-30T12:00:00.000Z",
        "source_workspace": { "id": 8842, "name": "Acme Global" },
        "source_environments": [
            {
                "id": 123,
                "type": "prod",
                "assets": [
                    { "id": "48213", "name": "orders", "type": "Topic", "access_levels": ["read"] }
                ]
            }
        ]
    }
}

呼び出し元のワークスペースをターゲットとしていないハンドルは404を返します。

ソースEnvironmentのリスト

グラントソースとして機能できる呼び出し元ワークスペースのEnvironmentを取得します。

shell
GET /api/cross_workspace/source_environments

サンプルリクエスト

このリクエストは、グラントソースとして機能できるEnvironmentを取得します。

shell
curl  -X GET "https://www.workato.com/api/cross_workspace/source_environments" \
      -H 'Authorization: Bearer <api_token>'

レスポンス

json
{
    "data": [
        { "id": 123, "type": "prod", "name": "Acme Global (prod)" },
        { "id": 124, "type": "test", "name": "Acme Global (test)" }
    ]
}

ターゲットEnvironmentのリスト

指定されたソースEnvironmentがグラントを付与できる兄弟Environmentを取得します。 ターゲットは同じAutomation HQ組織および同じデータセンター内にあり、ソースと同じEnvironmentタイプを共有します。

shell
GET /api/cross_workspace/target_environments

クエリパラメーター

名前タイプ説明
source_environment_idinteger
required
ソースEnvironmentのID。 呼び出し元のワークスペースに属している必要があります。

サンプルリクエスト

このリクエストは、ソースEnvironment123からグラントを付与可能なEnvironmentを取得します。

shell
curl  -X GET "https://www.workato.com/api/cross_workspace/target_environments?source_environment_id=123" \
      -H 'Authorization: Bearer <api_token>'

レスポンス

json
{
    "data": [
        { "id": 456, "type": "prod", "workspace_id": 17293, "workspace_name": "Acme EU" },
        { "id": 789, "type": "prod", "workspace_id": 40021, "workspace_name": "Acme APAC" }
    ]
}

このエンドポイントは、source_environment_idが省略された場合は400を返し、それが呼び出し元のワークスペースに属していない場合は404を返します。

最終更新日: