# API プラットフォーム

API プラットフォーム API を使用すると、エンドポイント、コレクション、クライアント、アクセスプロファイルなどの API プラットフォームアセットをプログラムで作成して管理することができます。

# クイックリファレンス

タイプ リソース 説明
GET /api_collections API コレクション を列挙します。
POST /api_collections API コレクション を作成します。
GET /api_endpoints コレクション内の API エンドポイント を列挙します。
PUT /api_endpoints/:api_endpoint_id/enable コレクション内の API エンドポイント を有効にします。
PUT /api_endpoints/:api_endpoint_id/disable コレクション内の API エンドポイント を無効にします。
GET /api_clients API クライアント を列挙します。
POST /api_clients API クライアント を作成します。
GET /api_access_profiles API クライアントに属している アクセスプロファイル を列挙します。
POST /api_access_profiles API クライアントに属す アクセスプロファイル を作成します。
PUT /api_access_profiles API クライアントに属している アクセスプロファイル を更新します。
PUT /api/api_access_profiles/:api_access_profile_id/enable API クライアントに属している アクセスプロファイル を有効にします。
PUT /api/api_access_profiles/:api_access_profile_id/disable API クライアントに属している アクセスプロファイル を無効にします。
PUT /api_access_profiles/:access_profile_id/refresh_secret アクセスプロファイルの トークンまたはシークレット を更新します。

# API コレクションの列挙

すべての API コレクションを列挙します。

GET /api/api_collections

# クエリーパラメータ

名前 説明
per_page integer 1ページで返す API コレクションの数。デフォルトで 100 に設定されます。最大は 100 です。
page integer 取得する API コレクションのページ番号。デフォルトで 1 に設定されます。

# レスポンス

[
    {
        "id": 1361,
        "name": "Quote to cash",
        "version": "1.0",
        "url": "https://api.peatql.io/quote-to-cash-v1",
        "api_spec_url": "https://www.workato.com/doc/service/quote-to-cash-v1/swagger?token=4cab5bdf2cebbe2b4ahjkc9ac175f60c",
        "created_at": "2020-06-15T22:20:15.327-07:00",
        "updated_at": "2020-06-15T22:20:15.327-07:00"
    }
]

# API コレクションの作成

API コレクションを作成します。

POST /api/api_collections

# ペイロード

名前 説明
name string
必須
コレクションの名前

# サンプルリクエスト

curl  -X POST https://www.workato.com/api/api_collections \
      -H 'Authorization: Bearer <api_token>'
      -H 'Content-Type: application/json' \
      -d '{
            "name": "Netsuite customers"
          }'

# レスポンス

{
    "id": 1391,
    "name": "Netsuite customers",
    "version": "1.0",
    "url": "https://api.na.workato.com/abstergoi/netsuite-customers-v1",
    "api_spec_url": "https://www.workato.com/doc/service/netsuite-customers-v1/swagger?token=774513f8a712djkls90s7f5a3165eb96d",
    "created_at": "2020-07-31T08:24:31.439-07:00",
    "updated_at": "2020-07-31T08:24:31.439-07:00"
}

# API エンドポイントの列挙

すべての API エンドポイントを列挙します。特定のコレクション内のエンドポイントのリストを取得するには、api_collection_id を指定します。

GET /api/api_endpoints

# クエリーパラメータ

名前 説明
api_collection_id string API コレクションの ID。パラメータを指定しなかった場合は、すべての API エンドポイントが返されます。
per_page integer 1ページで返す API エンドポイントの数。デフォルトで 100 に設定されます。最大は 100 です。
page integer 取得する API エンドポイントのページ番号。デフォルトで 1 に設定されます。

# サンプルリクエスト

curl  -X GET 'https://www.workato.com/api/api_endpoints?api_collection_id=1391' \
      -H 'Authorization: Bearer <api_token>'
      -H 'Content-Type: application/json' \

# レスポンス

[
  {
      "id": 9903,
      "api_collection_id": 1391,
      "flow_id": 39999,
      "name": "salesforce search",
      "method": "GET",
      "url": "https://api.na.workato.com/abstergoi/netsuite-customers-v1/salesforce/search",
      "legacy_url": null,
      "base_path": "/abstergoi/netsuite-customers-v1/salesforce/search",
      "path": "salesforce/search",
      "active": false,
      "legacy": false,
      "created_at": "2020-08-05T05:59:55.991-07:00",
      "updated_at": "2020-08-05T05:59:55.991-07:00"
  }
]

# API エンドポイントの有効化

API エンドポイントを有効にします。API エンドポイントを有効にするには、土台となるレシピを開始している必要があります。

PUT /api/api_endpoints/:api_endpoint_id/enable

# パスパラメータ

名前 説明
api_endpoint_id string
API エンドポイントの ID。

# サンプルリクエスト

curl  -X PUT https://www.workato.com/api/api_endpoints/1213/enable \
      -H 'Authorization: Bearer <api_token>'
      -H 'Content-Type: application/json' \

# API エンドポイントの無効化

アクティブな API エンドポイントを無効にします。エンドポイントはクライアントから呼び出せなくなります。

PUT /api/api_endpoints/:api_endpoint_id/disable

# パスパラメータ

名前 説明
api_endpoint_id string
API エンドポイントの ID。

# サンプルリクエスト

curl  -X PUT https://www.workato.com/api/api_endpoints/1213/disable \
      -H 'Authorization: Bearer <api_token>'
      -H 'Content-Type: application/json' \

# API クライアントの列挙

すべての API クライアントを列挙します。

GET /api/api_clients

# レスポンス

[
  {
      "id": 1255,
      "name": "Automation Inc.",
      "created_at": "2020-07-31T03:44:22.435-07:00",
      "updated_at": "2020-07-31T03:44:22.435-07:00"
  },
  {
      "id": 1890,
      "name": "Umbrella Corporation",
      "created_at": "2020-07-31T03:44:22.435-07:00",
      "updated_at": "2020-07-31T03:44:22.435-07:00"
  }
]

# API クライアントの作成

新しい API クライアントを作成します。

POST /api/api_clients

# ペイロード

名前 説明
name string
必須
クライアントの名前

# サンプルリクエスト

curl  -X POST https://www.workato.com/api/api_clients \
      -H 'Authorization: Bearer <api_token>'
      -H 'Content-Type: application/json' \
      -d '{
            "name": "Automation Inc.",
          }'

# レスポンス

{
    "id": 1255,
    "name": "Automation Inc.",
    "created_at": "2020-07-31T03:44:22.435-07:00",
    "updated_at": "2020-07-31T03:44:22.435-07:00"
}

# アクセスプロファイルの列挙

API クライアントに属しているすべてのアクセスプロファイルを列挙します。

GET /api/api_access_profiles

# クエリーパラメータ

名前 説明
api_client_id string
必須
API クライアント ID
per_page integer 1ページで返すアクセスプロファイルの数。デフォルトで 100 に設定されます。最大は 100 です。
page integer 取得するアクセスプロファイルのページ番号。デフォルトで 1 に設定されます。

# サンプルリクエスト

curl  -X GET 'https://www.workato.com/api/api_access_profiles?api_client_id=1255' \
      -H 'x-user-email: <email>' \
      -H 'x-user-token: <token>'

# レスポンス

[
  {
      "id": 4676,
      "exteranl_id": "A298247",
      "name": "Customer A",
      "notification_email": "customer-a@a.com",
      "plan_id": "business_yearly",
      "in_trial": false,
      "created_at": "2019-07-11T10:08:41.693-07:00",
      "updated_at": "2019-07-11T10:22:35.132-07:00"
  }
]

# アクセスプロファイルの作成

API クライアントに属すアクセスプロファイルを作成します。このエンドポイントを使用するには、アクセスプロファイルに割り当てる API コレクションが少なくとも1つアカウントに含まれている必要があります。

返されるレスポンスは、選択している認証タイプ (Auth トークンJSON Web トークン、または OAuth 2.0) によって異なります。

  • Auth トークン認証では、secret レスポンスで認証トークンが返されます。
  • JWT トークンには、HMAC と RSA の2つの署名方式があります。選択する方式に応じて、対応するシークレットまたは公開鍵がペイロードに必要です。
  • OAuth 2.0認証では、oauth_client_idoauth_client secret でクライアント ID とシークレットが返されます。
POST /api/api_access_profiles

# クエリーパラメータ

名前 説明
api_client_id string
API クライアントの ID。

# ペイロード

名前 説明
name string
必須
アクセスプロファイルの名前
api_collection_ids string
必須
アクセスプロファイルに追加するコレクションの ID
active boolean
必須
アクセスプロファイルを有効にするのか無効にするのか。アクセスプロファイルが無効になっているクライアントは API を呼び出すことはできません。
auth_type string
必須
リクエストを検証するための認証方法。指定可能なタイプは、tokenjwtoauth2、および oidc です。
jwt_method string JWT の署名方式。auth_typejwt の場合は、これは必須です。指定可能な方式は hmacrsa です。これらは、それぞれ HMAC と RSA に対応しています。
jwt_secret string 署名方式に応じて、HMAC 共有シークレットまたは RSA 公開鍵を指定します。
oidc_issuer ID プロバイダまたは OIDC サービスの検出 URL。このペイロードまたは oidc_jwks_uri のいずれかを指定します。両方は指定できません。
auth_typejwt または oidc の場合にのみ適用されます。
oidc_jwks_uri ID プロバイダまたは OIDC サービスの JWKS URL。このペイロードまたは oidc_issuer のいずれかを指定します。両方は指定できません。
auth_typejwt または oidc の場合にのみ適用されます。
access_profile_claim このアクセスプロファイルを識別するためにカスタムクレームを使用する場合は、ここで JWT クレームキーを指定します。詳細については、こちらを参照してください。
auth_typejwt または oidc の場合にのみ適用されます。
required_claims 強制するクレームのリストを指定します。auth_typejwt または oidc の場合にのみ適用されます。
allowed_issuers 許可する発行者 (JWT クレームの iss 値) のリストを指定します。iss クレームが required_claims で強制されている場合は省略します。任意の iss 値を使用可能な場合は、このペイロードは空のままにします。auth_typejwt または oidc の場合にのみ適用されます。

# サンプルリクエスト (Auth トークン)

curl  -X POST 'https://www.workato.com/api/api_access_profiles?api_client_id=1255'\
      -H 'x-user-email: <email>' \
      -H 'x-user-token: <token>'
      -d '{
  	          "name": "Sales team",
  	          "api_collection_ids": [1391, 1388],
              "auth_type": "token",
  	          "active": true
           }'

# サンプルリクエスト (JWT HMAC)

curl  -X POST https://www.workato.com/api/api_access_profiles?api_client_id=1255\
      -H 'x-user-email: <email>' \
      -H 'x-user-token: <token>'
      -d '{
	           "name": "HMAC API",
	           "api_collection_ids": [1391, 1388],
	           "auth_type": "jwt",
	           "jwt_method": "rsa",
	           "jwt_secret": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4ngjihh5hXDRe0c1qPNc\nrF7RIoAG/iNZXruTspeX8e2auMBXTwVI0sLgwUo26lMXCRAvC004JWKugzh1UHXY\nsjmtwZFRznqhb/ojJDi785+zbmVNLWmbIB/ChBUyckBSExsmR0nOpQhiW0przr2J\ncQIDAQAB\n-----END PUBLIC KEY-----",
	           "active": true
           }'

# レスポンス (Auth トークン)

{
    "id": 26985,
    "name": "New test",
    "api_client_id": 1255,
    "api_collection_ids": [
        1395
    ],
    "active": true,
    "auth_type": "token",
    "jwt_method": null,
    "jwt_secret": null,
    "oauth_client_id": null,
    "oauth_client_secret": null,
    "secret": "e3a1ce1d46c4hjk8kfj26781c6ed3073312451ee0990035bf8a4bc90c2a2",
    "created_at": "2020-08-12T08:03:05.492-07:00",
    "updated_at": "2020-08-12T08:03:05.492-07:00"
}

# アクセスプロファイルの更新

API クライアントに属しているアクセスプロファイルを更新します。

返されるレスポンスは、選択している認証タイプ (Auth トークンJSON Web トークン、または OAuth 2.0) によって異なります。

  • Auth トークン認証では、secret レスポンスで認証トークンが返されます。
  • JWT トークンには、HMAC と RSA の2つの署名方式があります。選択する方式に応じて、対応するシークレットまたは公開鍵がペイロードに必要です。
  • OAuth 2.0認証では、oauth_client_idoauth_client secret でクライアント ID とシークレットが返されます。
PUT /api/api_access_profiles/:api_access_profile_id

# パスパラメータ

名前 説明
api_access_profile_id string
必須
API アクセスプロファイル ID。

# クエリーパラメータ

名前 説明
api_client_id string
必須
API クライアント ID。

# ペイロード

名前 説明
name string
必須
アクセスプロファイルの名前
api_collection_ids string
必須
アクセスプロファイルに追加するコレクションの ID
active boolean
必須
アクセスプロファイルを有効にするのか無効にするのか。アクセスプロファイルが無効になっているクライアントは API を呼び出すことはできません。
auth_type string
必須
リクエストを検証するための認証方法。指定可能なタイプは、tokenjwtoauth2、および oidc です。
jwt_method string JWT の署名方式。auth_typejwt の場合は、これは必須です。指定可能な方式は hmacrsa です。これらは、それぞれ HMAC と RSA に対応しています。
jwt_secret string 署名方式に応じて、HMAC 共有シークレットまたは RSA 公開鍵を指定します。
oidc_issuer ID プロバイダまたは OIDC サービスの検出 URL。このペイロードまたは oidc_jwks_uri のいずれかを指定します。両方は指定できません。
auth_typejwt または oidc の場合にのみ適用されます。
oidc_jwks_uri ID プロバイダまたは OIDC サービスの JWKS URL。このペイロードまたは oidc_issuer のいずれかを指定します。両方は指定できません。
auth_typejwt または oidc の場合にのみ適用されます。
access_profile_claim このアクセスプロファイルを識別するためにカスタムクレームを使用する場合は、ここで JWT クレームキーを指定します。詳細については、こちらを参照してください。
auth_typejwt または oidc の場合にのみ適用されます。
required_claims 強制するクレームのリストを指定します。auth_typejwt または oidc の場合にのみ適用されます。
allowed_issuers 許可する発行者 (JWT クレームの iss 値) のリストを指定します。iss クレームが required_claims で強制されている場合は省略します。任意の iss 値を使用可能な場合は、このペイロードは空のままにします。auth_typejwt または oidc の場合にのみ適用されます。

# サンプルリクエスト (Auth トークン)

curl  -X PUT 'https://www.workato.com/api/api_access_profiles/27894?api_client_id=1255'\
      -H 'x-user-email: <email>' \
      -H 'x-user-token: <token>'
      -d '{
  	          "name": "Sales team",
  	          "api_collection_ids": [1391, 1388],
              "auth_type": "token",
  	          "active": true
           }'

# アクセスプロファイルの有効化

API クライアントに属しているアクセスプロファイルを有効にします。アクセスプロファイルを有効にすると、有効にしたプロファイルで API 呼び出しが受け入れられるようになります。

この呼び出しでは、成功時に success が返され、認証が必要であるか不正なリクエストの場合はエラーメッセージが返されます。

PUT /api/api_access_profiles/:api_access_profile_id/enable

# パスパラメータ

名前 説明
api_access_profile_id string
必須
アクセスプロファイルの ID。

# サンプルリクエスト (Auth トークン)

curl  -X PUT https://www.workato.com/api/api_access_profiles/1213/enable \
      -H 'Authorization: Bearer <api_token>'
      -H 'Content-Type: application/json' \

# アクセスプロファイルの無効化

API クライアントに属しているアクセスプロファイルを無効にします。アクセスプロファイルを無効にすると、そのアクセスプロファイルでの API 呼び出しの受け入れが停止されます。

この呼び出しでは、成功時に success が返され、認証が必要であるか不正なリクエストの場合はエラーメッセージが返されます。

PUT /api/api_access_profiles/:api_access_profile_id/disable

# パスパラメータ

名前 説明
api_access_profile_id string
必須
アクセスプロファイルの ID。

# サンプルリクエスト (Auth トークン)

curl  -X PUT https://www.workato.com/api/api_access_profiles/1213/disable \
      -H 'Authorization: Bearer <api_token>'
      -H 'Content-Type: application/json' \

# トークンまたはシークレットの更新

Auth トークンまたは OAuth 2.0クライアントシークレットを更新します。アクセスプロファイルの認証タイプが JWT の場合は、このエンドポイントは失敗します。

返されるレスポンスは、アクセスプロファイルの認証タイプ (Auth トークンまたは OAuth 2.0) によって異なります。

  • Auth トークン認証では、secret レスポンスで新しい認証トークンが返されます。
  • OAuth 2.0認証では、oauth_client_idoauth_client secret で新しいクライアント ID とシークレットが返されます。
PUT /api/api_access_profiles/:access_profile_id/refresh_secret

# パスパラメータ

名前 説明
access_profile_id string
必須
API アクセスプロファイル ID

# レスポンス (Auth トークン)

{
    "id": 26962,
    "name": "Sales team",
    "api_client_id": 1255,
    "api_collection_ids": [
        1391
    ],
    "active": true,
    "auth_type": "token",
    "jwt_method": null,
    "jwt_secret": null,
    "oauth_client_id": null,
    "oauth_client_secret": null,
    "secret": "xxxxxxxxxxx",
    "created_at": "2020-07-31T09:10:03.310-07:00",
    "updated_at": "2020-08-05T06:08:46.290-07:00"
}


Last updated: 2023/8/31 1:07:14