# 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": "[email protected]",
"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_id
とoauth_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 必須 | リクエストを検証するための認証方法。指定可能なタイプは、token 、jwt 、oauth2 、および oidc です。 |
jwt_method | string | JWT の署名方式。auth_type が jwt の場合は、これは必須です。指定可能な方式は hmac と rsa です。これらは、それぞれ HMAC と RSA に対応しています。 |
jwt_secret | string | 署名方式に応じて、HMAC 共有シークレットまたは RSA 公開鍵を指定します。 |
oidc_issuer | ID プロバイダまたは OIDC サービスの検出 URL。このペイロードまたは oidc_jwks_uri のいずれかを指定します。両方は指定できません。 auth_type が jwt または oidc の場合にのみ適用されます。 | |
oidc_jwks_uri | ID プロバイダまたは OIDC サービスの JWKS URL。このペイロードまたは oidc_issuer のいずれかを指定します。両方は指定できません。 auth_type が jwt または oidc の場合にのみ適用されます。 | |
access_profile_claim | このアクセスプロファイルを識別するためにカスタムクレームを使用する場合は、ここで JWT クレームキーを指定します。詳細については、こちらを参照してください。 auth_type が jwt または oidc の場合にのみ適用されます。 | |
required_claims | 強制するクレームのリストを指定します。auth_type が jwt または oidc の場合にのみ適用されます。 | |
allowed_issuers | 許可する発行者 (JWT クレームの iss 値) のリストを指定します。iss クレームが required_claims で強制されている場合は省略します。任意の iss 値を使用可能な場合は、このペイロードは空のままにします。auth_type が jwt または 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_id
とoauth_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 必須 | リクエストを検証するための認証方法。指定可能なタイプは、token 、jwt 、oauth2 、および oidc です。 |
jwt_method | string | JWT の署名方式。auth_type が jwt の場合は、これは必須です。指定可能な方式は hmac と rsa です。これらは、それぞれ HMAC と RSA に対応しています。 |
jwt_secret | string | 署名方式に応じて、HMAC 共有シークレットまたは RSA 公開鍵を指定します。 |
oidc_issuer | ID プロバイダまたは OIDC サービスの検出 URL。このペイロードまたは oidc_jwks_uri のいずれかを指定します。両方は指定できません。 auth_type が jwt または oidc の場合にのみ適用されます。 | |
oidc_jwks_uri | ID プロバイダまたは OIDC サービスの JWKS URL。このペイロードまたは oidc_issuer のいずれかを指定します。両方は指定できません。 auth_type が jwt または oidc の場合にのみ適用されます。 | |
access_profile_claim | このアクセスプロファイルを識別するためにカスタムクレームを使用する場合は、ここで JWT クレームキーを指定します。詳細については、こちらを参照してください。 auth_type が jwt または oidc の場合にのみ適用されます。 | |
required_claims | 強制するクレームのリストを指定します。auth_type が jwt または oidc の場合にのみ適用されます。 | |
allowed_issuers | 許可する発行者 (JWT クレームの iss 値) のリストを指定します。iss クレームが required_claims で強制されている場合は省略します。任意の iss 値を使用可能な場合は、このペイロードは空のままにします。auth_type が jwt または 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_id
とoauth_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