Download OpenAPI specification:Download
「API Gateway」が提供するAPIの利用方法とサンプルを公開しております。
APIを利用するためには、認証のための「APIキー」が必要です。事前にキーを発行しておきます。
APIキーは「ユーザーID」「パスワード」に相当する「トークン」と呼ばれる認証情報で構成されています。
項目名 | APIキー発行時の項目名 | このドキュメント内での例 |
---|---|---|
ユーザーID | アクセストークン(UUID) | 01234567-89ab-cdef-0123-456789abcdef |
パスワード | アクセストークンシークレット | SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM |
プランによってサービス作成数等の制限とご利用料金に違いがあります。ご利用用途に合わせたプランをご選択ください。 なお、プランはご利用中のさくらクラウドアカウントに紐づいており、既に契約状態にある場合は不要です。
現在利用可能なプランを取得するには以下のような入力を行います。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X GET \
https://secure.sakura.ad.jp/cloud/api/apigw/1.0/plans
取得できたプランのidを使用して、 プランの利用登録をする場合は以下のような入力を行います。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X POST \
-d '{ "planId": "{plan_id}" }' \
https://secure.sakura.ad.jp/cloud/api/apigw/1.0/plans
プラン登録が完了すると、
などの操作が可能になります。
また、ご利用中のさくらクラウドアカウントの契約状況を確認するには以下のような入力を行います。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X GET \
https://secure.sakura.ad.jp/cloud/api/apigw/1.0/subscriptions
ご利用中のプランを停止(解約)する場合は以下のような入力を行います。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X DELETE \
https://secure.sakura.ad.jp/cloud/api/apigw/1.0/subscriptions
サービスとはリクエストの転送先に関する情報です。 選択したプランによって作成可能数が異なります。
サービスを作成するには以下のような入力を行います。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X POST \
-d '{
"name": "example-service-1",
"tags": [
[
"tag1",
"tag2"
]
],
"protocol": "https",
"host": "xxx.example.jp",
"path": "/base",
"port": 80,
"retries": 5,
"connectTimeout": 60000,
"writeTimeout": 60000,
"readTimeout": 60000,
"authentication": "basic",
"corsConfig": {
"protocols": "http,https"
}
}' \
https://secure.sakura.ad.jp/cloud/api/apigw/1.0/services
上記で作成したサービスを取得するには以下のような入力を行います。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X GET \
https://secure.sakura.ad.jp/cloud/api/apigw/1.0/services/{service_id}
ルートとは作成したサービスに対するエントリポイントです。 必ず、紐づくサービスが必要になります。
ルートを作成するには以下のような入力を行います。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X POST \
-d '{
"name": "example-route-1",
"tags": [
"tag1",
"tag2"
],
"protocols": "http,https",
"path": "/",
"methods": [
"GET",
"POST"
],
"httpsRedirectStatusCode": 426,
"regexPriority": 0,
"stripPath": false,
"preserveHost": true,
"requestBuffering": false,
"responseBuffering": false
}' \
https://secure.sakura.ad.jp/cloud/api/apigw/1.0/services/{service_id}/routes
上記で作成したルートを取得するには以下のような入力を行います。
# 入力サンプル
curl -u '01234567-89ab-cdef-0123-456789abcdef:SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM' \
-X GET \
https://secure.sakura.ad.jp/cloud/api/apigw/1.0/services/{service_id}/routes/{route_id}
アップストリームのエンドポイント情報である Service を登録します。
name required | string (Name) [ 1 .. 255 ] characters ^[\p{L}\p{N}._\-]+$ Unicode文字、数字、ハイフン、アンダースコア、ピリオドのみ許可 |
tags | Array of strings (Tags) [ items [ 1 .. 255 ] items ^[^\/\s\u3000]+$ ] エンティティを検索するためのタグ |
protocol required | string Enum: "http" "https" Serviceにアクセスするためのプロトコル |
host required | string <= 253 characters ^((([a-zA-Z\d][a-zA-Z\d-]*[a-zA-Z\d]*\.)+[a-z... Serviceにアクセスするためのホスト名 |
path | string <= 255 characters ^\/[a-zA-Z0-9_\-\/]*$ Default: "/" Serviceにアクセスするためのパス |
port | integer [ 0 .. 65535 ] Serviceにアクセスするためのポート番号 |
retries | integer [ 0 .. 32767 ] Default: 5 リトライ回数 |
connectTimeout | integer [ 1 .. 2147483646 ] Default: 60000 接続タイムアウト秒数 |
writeTimeout | integer [ 1 .. 2147483646 ] Default: 60000 書き込みタイムアウト秒数 |
readTimeout | integer [ 1 .. 2147483646 ] Default: 60000 読み込みタイムアウト秒数 |
authentication | string Default: "none" Enum: "none" "basic" "hmac" "jwt" 認証方式 |
routeHost | string <= 253 characters 自動発行したRouteのホスト |
object (CorsConfig) CORS設定 |
{- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
], - "protocol": "https",
- "host": "xxx.example.jp",
- "path": "/base",
- "port": 80,
- "retries": 5,
- "connectTimeout": 60000,
- "writeTimeout": 60000,
- "readTimeout": 60000,
- "authentication": "none",
- "routeHost": "site-xxxxxxxxx.xxx.apigw.sakura.ne.jp",
- "corsConfig": {
- "credentials": false,
- "accessControlExposedHeaders": "",
- "accessControlAllowHeaders": "",
- "maxAge": 0,
- "accessControlAllowMethods": [
- "GET",
- "POST",
- "PUT",
- "DELETE",
- "PATCH",
- "OPTIONS",
- "HEAD",
- "CONNECT",
- "TRACE"
], - "accessControlAllowOrigins": "*",
- "preflightContinue": false,
- "privateNetwork": false,
- "protocols": "http,https"
}
}
{- "apigw": {
- "service": {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
], - "protocol": "https",
- "host": "xxx.example.jp",
- "path": "/base",
- "port": 80,
- "retries": 5,
- "connectTimeout": 60000,
- "writeTimeout": 60000,
- "readTimeout": 60000,
- "authentication": "none",
- "routeHost": "site-xxxxxxxxx.xxx.apigw.sakura.ne.jp",
- "corsConfig": {
- "credentials": false,
- "accessControlExposedHeaders": "",
- "accessControlAllowHeaders": "",
- "maxAge": 0,
- "accessControlAllowMethods": [
- "GET",
- "POST",
- "PUT",
- "DELETE",
- "PATCH",
- "OPTIONS",
- "HEAD",
- "CONNECT",
- "TRACE"
], - "accessControlAllowOrigins": "*",
- "preflightContinue": false,
- "privateNetwork": false,
- "protocols": "http,https"
}
}
}
}
{- "apigw": {
- "services": [
- {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
], - "protocol": "https",
- "host": "xxx.example.jp",
- "path": "/base",
- "port": 80,
- "retries": 5,
- "connectTimeout": 60000,
- "writeTimeout": 60000,
- "readTimeout": 60000,
- "authentication": "none",
- "routeHost": "site-xxxxxxxxx.xxx.apigw.sakura.ne.jp"
}
]
}
}
登録した Service の詳細情報を取得します。
serviceId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba ServiceID |
{- "apigw": {
- "service": {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
], - "protocol": "https",
- "host": "xxx.example.jp",
- "path": "/base",
- "port": 80,
- "retries": 5,
- "connectTimeout": 60000,
- "writeTimeout": 60000,
- "readTimeout": 60000,
- "authentication": "none",
- "routeHost": "site-xxxxxxxxx.xxx.apigw.sakura.ne.jp",
- "corsConfig": {
- "credentials": false,
- "accessControlExposedHeaders": "",
- "accessControlAllowHeaders": "",
- "maxAge": 0,
- "accessControlAllowMethods": [
- "GET",
- "POST",
- "PUT",
- "DELETE",
- "PATCH",
- "OPTIONS",
- "HEAD",
- "CONNECT",
- "TRACE"
], - "accessControlAllowOrigins": "*",
- "preflightContinue": false,
- "privateNetwork": false,
- "protocols": "http,https"
}
}
}
}
登録した Service の詳細情報を更新します。
serviceId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba ServiceID |
name required | string (Name) [ 1 .. 255 ] characters ^[\p{L}\p{N}._\-]+$ Unicode文字、数字、ハイフン、アンダースコア、ピリオドのみ許可 |
tags | Array of strings (Tags) [ items [ 1 .. 255 ] items ^[^\/\s\u3000]+$ ] エンティティを検索するためのタグ |
protocol required | string Enum: "http" "https" Serviceにアクセスするためのプロトコル |
host required | string <= 253 characters ^((([a-zA-Z\d][a-zA-Z\d-]*[a-zA-Z\d]*\.)+[a-z... Serviceにアクセスするためのホスト名 |
path | string <= 255 characters ^\/[a-zA-Z0-9_\-\/]*$ Default: "/" Serviceにアクセスするためのパス |
port | integer [ 0 .. 65535 ] Serviceにアクセスするためのポート番号 |
retries | integer [ 0 .. 32767 ] Default: 5 リトライ回数 |
connectTimeout | integer [ 1 .. 2147483646 ] Default: 60000 接続タイムアウト秒数 |
writeTimeout | integer [ 1 .. 2147483646 ] Default: 60000 書き込みタイムアウト秒数 |
readTimeout | integer [ 1 .. 2147483646 ] Default: 60000 読み込みタイムアウト秒数 |
authentication | string Default: "none" Enum: "none" "basic" "hmac" "jwt" 認証方式 |
routeHost | string <= 253 characters 自動発行したRouteのホスト |
object (CorsConfig) CORS設定 |
{- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
], - "protocol": "https",
- "host": "xxx.example.jp",
- "path": "/base",
- "port": 80,
- "retries": 5,
- "connectTimeout": 60000,
- "writeTimeout": 60000,
- "readTimeout": 60000,
- "authentication": "none",
- "routeHost": "site-xxxxxxxxx.xxx.apigw.sakura.ne.jp",
- "corsConfig": {
- "credentials": false,
- "accessControlExposedHeaders": "",
- "accessControlAllowHeaders": "",
- "maxAge": 0,
- "accessControlAllowMethods": [
- "GET",
- "POST",
- "PUT",
- "DELETE",
- "PATCH",
- "OPTIONS",
- "HEAD",
- "CONNECT",
- "TRACE"
], - "accessControlAllowOrigins": "*",
- "preflightContinue": false,
- "privateNetwork": false,
- "protocols": "http,https"
}
}
{- "message": "Bad Request"
}
登録した Service に対して、公開するエンドポイントとして Route を登録します。
各 Route の認証設定は全て Service の設定に準じます。
serviceId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba ServiceID |
Create a route
name required | string (Name) [ 1 .. 255 ] characters ^[\p{L}\p{N}._\-]+$ Unicode文字、数字、ハイフン、アンダースコア、ピリオドのみ許可 |
tags | Array of strings (Tags) [ items [ 1 .. 255 ] items ^[^\/\s\u3000]+$ ] エンティティを検索するためのタグ |
protocols required | string Enum: "http,https" "http" "https" Routeにアクセスするためのプロトコル |
path | string <= 255 characters ^(\/|~\/).* Routeにアクセスするためのパス |
hosts | Array of strings ホスト名 |
methods required | Array of strings (HTTPMethod) non-empty Default: ["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","CONNECT","TRACE"] Items Enum: "GET" "POST" "PUT" "DELETE" "PATCH" "OPTIONS" "HEAD" "CONNECT" "TRACE" RouteにアクセスするためのHTTPメソッド |
httpsRedirectStatusCode | integer Default: 426 Enum: 301 302 303 307 308 426 HTTPSリダイレクト時のステータスコード |
regexPriority | integer [ 0 .. 255 ] Default: 0 パスを正規表現で指定した場合の優先度 |
stripPath | boolean Default: true リクエストのパスからルートのパスを削除するかどうか |
preserveHost | boolean Default: false リクエストのHostヘッダーを保持するかどうか |
requestBuffering | boolean Default: true リクエストのバッファリングを有効にするかどうか |
responseBuffering | boolean Default: true レスポンスのバッファリングを有効にするかどうか |
object (IpRestrictionConfig) IP制限 |
{- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
], - "protocols": "http,https",
- "path": "/",
- "hosts": [
- "example.com",
- "example.jp"
], - "methods": [
- "GET",
- "POST"
], - "httpsRedirectStatusCode": 426,
- "regexPriority": 0,
- "stripPath": false,
- "preserveHost": true,
- "requestBuffering": false,
- "responseBuffering": false,
- "ipRestrictionConfig": {
- "protocols": "http,https",
- "restrictedBy": "allowIps",
- "ips": [
- "192.168.1.1",
- "192.168.1.2"
]
}
}
{- "apigw": {
- "route": [
- {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "serviceId": "04c6abbd-0c12-42e5-8d90-7eea021028d9",
- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
], - "protocols": "http,https",
- "path": "/",
- "host": "site-XXXXXXXXXXXXXXXX.XXX.apigw.sakura.ne.jp",
- "hosts": [
- "example.com",
- "example.jp"
], - "methods": [
- "GET",
- "POST"
], - "httpsRedirectStatusCode": 426,
- "regexPriority": 0,
- "stripPath": false,
- "preserveHost": true,
- "requestBuffering": false,
- "responseBuffering": false,
- "ipRestrictionConfig": {
- "protocols": "http,https",
- "restrictedBy": "allowIps",
- "ips": [
- "192.168.1.1",
- "192.168.1.2"
]
}
}
]
}
}
Service に登録した Route の一覧を取得します。
serviceId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba ServiceID |
{- "apigw": {
- "routes": [
- {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "serviceId": "04c6abbd-0c12-42e5-8d90-7eea021028d9",
- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
], - "protocols": "http,https",
- "path": "/",
- "host": "site-XXXXXXXXXXXXXXXX.XXX.apigw.sakura.ne.jp",
- "hosts": [
- "example.com",
- "example.jp"
], - "methods": [
- "GET",
- "POST"
], - "httpsRedirectStatusCode": 426,
- "regexPriority": 0,
- "stripPath": false,
- "preserveHost": true,
- "requestBuffering": false,
- "responseBuffering": false
}
]
}
}
Service に登録した Route の詳細情報を取得します。
serviceId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba ServiceID |
routeId required | string <uuid> Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9 RouteID |
{- "apigw": {
- "route": {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "serviceId": "04c6abbd-0c12-42e5-8d90-7eea021028d9",
- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
], - "protocols": "http,https",
- "path": "/",
- "host": "site-XXXXXXXXXXXXXXXX.XXX.apigw.sakura.ne.jp",
- "hosts": [
- "example.com",
- "example.jp"
], - "methods": [
- "GET",
- "POST"
], - "httpsRedirectStatusCode": 426,
- "regexPriority": 0,
- "stripPath": false,
- "preserveHost": true,
- "requestBuffering": false,
- "responseBuffering": false,
- "ipRestrictionConfig": {
- "protocols": "http,https",
- "restrictedBy": "allowIps",
- "ips": [
- "192.168.1.1",
- "192.168.1.2"
]
}
}
}
}
Service に登録した Route の詳細情報を更新します。
serviceId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba ServiceID |
routeId required | string <uuid> Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9 RouteID |
Update a route
name required | string (Name) [ 1 .. 255 ] characters ^[\p{L}\p{N}._\-]+$ Unicode文字、数字、ハイフン、アンダースコア、ピリオドのみ許可 |
tags | Array of strings (Tags) [ items [ 1 .. 255 ] items ^[^\/\s\u3000]+$ ] エンティティを検索するためのタグ |
protocols required | string Enum: "http,https" "http" "https" Routeにアクセスするためのプロトコル |
path | string <= 255 characters ^(\/|~\/).* Routeにアクセスするためのパス |
hosts | Array of strings ホスト名 |
methods required | Array of strings (HTTPMethod) non-empty Default: ["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","CONNECT","TRACE"] Items Enum: "GET" "POST" "PUT" "DELETE" "PATCH" "OPTIONS" "HEAD" "CONNECT" "TRACE" RouteにアクセスするためのHTTPメソッド |
httpsRedirectStatusCode | integer Default: 426 Enum: 301 302 303 307 308 426 HTTPSリダイレクト時のステータスコード |
regexPriority | integer [ 0 .. 255 ] Default: 0 パスを正規表現で指定した場合の優先度 |
stripPath | boolean Default: true リクエストのパスからルートのパスを削除するかどうか |
preserveHost | boolean Default: false リクエストのHostヘッダーを保持するかどうか |
requestBuffering | boolean Default: true リクエストのバッファリングを有効にするかどうか |
responseBuffering | boolean Default: true レスポンスのバッファリングを有効にするかどうか |
object (IpRestrictionConfig) IP制限 |
{- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
], - "protocols": "http,https",
- "path": "/",
- "hosts": [
- "example.com",
- "example.jp"
], - "methods": [
- "GET",
- "POST"
], - "httpsRedirectStatusCode": 426,
- "regexPriority": 0,
- "stripPath": false,
- "preserveHost": true,
- "requestBuffering": false,
- "responseBuffering": false,
- "ipRestrictionConfig": {
- "protocols": "http,https",
- "restrictedBy": "allowIps",
- "ips": [
- "192.168.1.1",
- "192.168.1.2"
]
}
}
{- "message": "Bad Request"
}
Service に登録した Route を削除します。
serviceId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba ServiceID |
routeId required | string <uuid> Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9 RouteID |
{- "message": "Bad Request"
}
登録した Route に対してアクセス可能な Group を登録します。
登録しない場合は全てのUserがアクセス可能になります。
serviceId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba ServiceID |
routeId required | string <uuid> Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9 RouteID |
isACLEnabled required | any Value: false 認可設定を無効にする |
{- "isACLEnabled": true,
- "groups": [
- {
- "id": "1183b70d-70af-4e49-8af5-2a629b5c1b30",
- "name": "name",
- "enabled": true
}
]
}
{- "message": "Bad Request"
}
Route に登録した認可情報を取得します。
serviceId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba ServiceID |
routeId required | string <uuid> Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9 RouteID |
{- "apigw": {
- "routeAuthorization": {
- "id": "1183b70d-70af-4e49-8af5-2a629b5c1b30",
- "name": "name",
- "enabled": true
}
}
}
Route から Service へ転送する際にリクエスト内容を変換する設定を登録します。
serviceId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba ServiceID |
routeId required | string <uuid> Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9 RouteID |
httpMethod | string (HTTPMethod) Enum: "GET" "POST" "PUT" "DELETE" "PATCH" "OPTIONS" "HEAD" "CONNECT" "TRACE" 変換するHTTPメソッド |
object (RequestAllowDetail) | |
object (RequestRemoveDetail) | |
object (RequestRenameDetail) | |
object (ResponseModification) | |
object (ResponseModification) | |
object (ResponseModification) |
{- "httpMethod": "GET",
- "allow": {
- "body": [
- "string"
]
}, - "remove": {
- "headerKeys": [
- "string"
], - "queryParams": [
- "string"
], - "body": [
- "string"
]
}, - "rename": {
- "headers": [
- {
- "from": "string",
- "to": "string"
}
], - "queryParams": [
- {
- "from": "string",
- "to": "string"
}
], - "body": [
- {
- "from": "string",
- "to": "string"
}
]
}, - "replace": {
- "headers": [
- {
- "key": "string",
- "value": "string"
}
], - "queryParams": [
- {
- "key": "string",
- "value": "string"
}
], - "body": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "add": {
- "headers": [
- {
- "key": "string",
- "value": "string"
}
], - "queryParams": [
- {
- "key": "string",
- "value": "string"
}
], - "body": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "append": {
- "headers": [
- {
- "key": "string",
- "value": "string"
}
], - "queryParams": [
- {
- "key": "string",
- "value": "string"
}
], - "body": [
- {
- "key": "string",
- "value": "string"
}
]
}
}
{- "message": "Bad Request"
}
Route に登録したリクエスト変換情報を取得します。
serviceId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba ServiceID |
routeId required | string <uuid> Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9 RouteID |
{- "apigw": {
- "requestTransformation": {
- "httpMethod": "GET",
- "allow": {
- "body": [
- "string"
]
}, - "remove": {
- "headerKeys": [
- "string"
], - "queryParams": [
- "string"
], - "body": [
- "string"
]
}, - "rename": {
- "headers": [
- {
- "from": "string",
- "to": "string"
}
], - "queryParams": [
- {
- "from": "string",
- "to": "string"
}
], - "body": [
- {
- "from": "string",
- "to": "string"
}
]
}, - "replace": {
- "headers": [
- {
- "key": "string",
- "value": "string"
}
], - "queryParams": [
- {
- "key": "string",
- "value": "string"
}
], - "body": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "add": {
- "headers": [
- {
- "key": "string",
- "value": "string"
}
], - "queryParams": [
- {
- "key": "string",
- "value": "string"
}
], - "body": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "append": {
- "headers": [
- {
- "key": "string",
- "value": "string"
}
], - "queryParams": [
- {
- "key": "string",
- "value": "string"
}
], - "body": [
- {
- "key": "string",
- "value": "string"
}
]
}
}
}
}
Route から Service へ転送する際にレスポンス内容を変換する設定を登録します。
serviceId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba ServiceID |
routeId required | string <uuid> Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9 RouteID |
object (ResponseAllowDetail) 許可するJSONのキー | |
object (ResponseRemoveDetail) | |
object (ResponseRenameDetail) | |
object (ResponseReplaceDetail) | |
object (ResponseModificationDetail) | |
object (ResponseModificationDetail) |
{- "allow": {
- "jsonKeys": [
- "string"
]
}, - "remove": {
- "ifStatusCode": [
- 100
], - "headerKeys": [
- "string"
], - "jsonKeys": [
- "string"
]
}, - "rename": {
- "ifStatusCode": [
- 100
], - "headers": [
- {
- "from": "string",
- "to": "string"
}
], - "json": [
- {
- "from": "string",
- "to": "string"
}
]
}, - "replace": {
- "ifStatusCode": [
- 100
], - "headers": [
- {
- "key": "string",
- "value": "string"
}
], - "json": [
- {
- "key": "string",
- "value": "string"
}
], - "body": "string"
}, - "add": {
- "ifStatusCode": [
- 100
], - "headers": [
- {
- "key": "string",
- "value": "string"
}
], - "json": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "append": {
- "ifStatusCode": [
- 100
], - "headers": [
- {
- "key": "string",
- "value": "string"
}
], - "json": [
- {
- "key": "string",
- "value": "string"
}
]
}
}
{- "message": "Bad Request"
}
Route に登録したレスポンス変換情報を取得します。
serviceId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba ServiceID |
routeId required | string <uuid> Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9 RouteID |
{- "apigw": {
- "responseTransformation": {
- "allow": {
- "jsonKeys": [
- "string"
]
}, - "remove": {
- "ifStatusCode": [
- 100
], - "headerKeys": [
- "string"
], - "jsonKeys": [
- "string"
]
}, - "rename": {
- "ifStatusCode": [
- 100
], - "headers": [
- {
- "from": "string",
- "to": "string"
}
], - "json": [
- {
- "from": "string",
- "to": "string"
}
]
}, - "replace": {
- "ifStatusCode": [
- 100
], - "headers": [
- {
- "key": "string",
- "value": "string"
}
], - "json": [
- {
- "key": "string",
- "value": "string"
}
], - "body": "string"
}, - "add": {
- "ifStatusCode": [
- 100
], - "headers": [
- {
- "key": "string",
- "value": "string"
}
], - "json": [
- {
- "key": "string",
- "value": "string"
}
]
}, - "append": {
- "ifStatusCode": [
- 100
], - "headers": [
- {
- "key": "string",
- "value": "string"
}
], - "json": [
- {
- "key": "string",
- "value": "string"
}
]
}
}
}
}
認証情報を設定する User を登録します。
User のIP制限設定は、Route にIP制限が設定されていない場合に機能します。
Create a User
name required | string (Name) [ 1 .. 255 ] characters ^[\p{L}\p{N}._\-]+$ Unicode文字、数字、ハイフン、アンダースコア、ピリオドのみ許可 |
customID | string カスタムID |
tags | Array of strings (Tags) [ items [ 1 .. 255 ] items ^[^\/\s\u3000]+$ ] エンティティを検索するためのタグ |
object (IpRestrictionConfig) IP制限 |
{- "name": "name",
- "customID": "example_custom_id_123456",
- "tags": [
- [
- "tag1",
- "tag2"
]
], - "ipRestrictionConfig": {
- "protocols": "http,https",
- "restrictedBy": "allowIps",
- "ips": [
- "192.168.1.1",
- "192.168.1.2"
]
}
}
{- "apigw": {
- "user": {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "name",
- "customID": "example_custom_id_123456",
- "groups": [
- {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
]
}
], - "tags": [
- [
- "tag1",
- "tag2"
]
], - "ipRestrictionConfig": {
- "protocols": "http,https",
- "restrictedBy": "allowIps",
- "ips": [
- "192.168.1.1",
- "192.168.1.2"
]
}
}
}
}
{- "apigw": {
- "users": [
- {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "name",
- "customID": "example_custom_id_123456",
- "groups": [
- {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
]
}
], - "tags": [
- [
- "tag1",
- "tag2"
]
]
}
]
}
}
登録した User の詳細情報を取得します。
userId required | string <uuid> Example: 67f57741-ac25-433a-8d7a-8778711b4a2c UserID |
{- "apigw": {
- "user": {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "name",
- "customID": "example_custom_id_123456",
- "groups": [
- {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
]
}
], - "tags": [
- [
- "tag1",
- "tag2"
]
], - "ipRestrictionConfig": {
- "protocols": "http,https",
- "restrictedBy": "allowIps",
- "ips": [
- "192.168.1.1",
- "192.168.1.2"
]
}
}
}
}
登録した User の詳細情報を更新します。
userId required | string <uuid> Example: 67f57741-ac25-433a-8d7a-8778711b4a2c UserID |
Update a user
name required | string (Name) [ 1 .. 255 ] characters ^[\p{L}\p{N}._\-]+$ Unicode文字、数字、ハイフン、アンダースコア、ピリオドのみ許可 |
customID | string カスタムID |
tags | Array of strings (Tags) [ items [ 1 .. 255 ] items ^[^\/\s\u3000]+$ ] エンティティを検索するためのタグ |
object (IpRestrictionConfig) IP制限 |
{- "name": "name",
- "customID": "example_custom_id_123456",
- "tags": [
- [
- "tag1",
- "tag2"
]
], - "ipRestrictionConfig": {
- "protocols": "http,https",
- "restrictedBy": "allowIps",
- "ips": [
- "192.168.1.1",
- "192.168.1.2"
]
}
}
{- "message": "Bad Request"
}
登録した User が所属している Group の一覧を取得します。
userId required | string <uuid> Example: 67f57741-ac25-433a-8d7a-8778711b4a2c UserID |
{- "apigw": {
- "groups": [
- {
- "id": "1183b70d-70af-4e49-8af5-2a629b5c1b34",
- "name": "name",
- "isAssigned": false
}
]
}
}
登録した User を Group に所属させます。
userId required | string <uuid> Example: 67f57741-ac25-433a-8d7a-8778711b4a2c UserID |
Update a user group
isAssigned required | boolean UserがGroupに所属しているかどうか |
id required | string <uuid> GroupのID |
[- {
- "isAssigned": false,
- "id": "1183b70d-70af-4e49-8af5-2a629b5c1b34"
}
]
{- "message": "Bad Request"
}
User に登録された認証情報を取得します。
なお、パスワード、シークレットなどの機密情報は取得できません。
userId required | string <uuid> Example: 67f57741-ac25-433a-8d7a-8778711b4a2c UserID |
{- "apigw": {
- "userAuthorization": {
- "basicAuth": {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "userName": "userName"
}, - "jwt": {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "key": "key",
- "algorithm": "HS256"
}, - "hmacAuth": {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "userName": "username"
}
}
}
}
User に認証情報を登録します。
userId required | string <uuid> Example: 67f57741-ac25-433a-8d7a-8778711b4a2c UserID |
object (BasicAuth) 各Entity共通のモデル | |
object (Jwt) 各Entity共通のモデル | |
object (HmacAuth) 各Entity共通のモデル |
{- "basicAuth": {
- "userName": "userName",
- "password": "password"
}, - "jwt": {
- "key": "key",
- "secret": "secret",
- "algorithm": "HS256"
}, - "hmacAuth": {
- "userName": "username",
- "secret": "secret"
}
}
{- "message": "Bad Request"
}
新しい Group を登録します。
Group は User を分類し、アクセス制御を管理するために使用されます。
Create a Group
name required | string (Name) [ 1 .. 255 ] characters ^[\p{L}\p{N}._\-]+$ Unicode文字、数字、ハイフン、アンダースコア、ピリオドのみ許可 |
tags | Array of strings (Tags) [ items [ 1 .. 255 ] items ^[^\/\s\u3000]+$ ] エンティティを検索するためのタグ |
{- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
]
}
{- "apigw": {
- "group": {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
]
}
}
}
登録した Group の詳細情報を取得します。
groupId required | string <uuid> Example: ac8a3fb3-0354-4917-9a3d-c5dc5ab50869 GroupID |
{- "apigw": {
- "group": {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
]
}
}
}
登録した Group の詳細情報を更新します。
groupId required | string <uuid> Example: ac8a3fb3-0354-4917-9a3d-c5dc5ab50869 GroupID |
name required | string (Name) [ 1 .. 255 ] characters ^[\p{L}\p{N}._\-]+$ Unicode文字、数字、ハイフン、アンダースコア、ピリオドのみ許可 |
tags | Array of strings (Tags) [ items [ 1 .. 255 ] items ^[^\/\s\u3000]+$ ] エンティティを検索するためのタグ |
{- "name": "name",
- "tags": [
- [
- "tag1",
- "tag2"
]
]
}
{- "message": "Bad Request"
}
route の host で使用するドメインを登録します。
Create a Domain
domainName required | string^\s*(([a-z\d]([a-z\d-]*[a-z\d])?)\.)+([a-z\d-... ドメイン名 |
certificateId | string <uuid> 証明書のID |
{- "domainName": "example.com",
- "certificateId": "1183b70d-70af-4e49-8af5-2a629b5c1b30"
}
{- "apigw": {
- "domain": {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "domainName": "example.com",
- "certificateId": "1183b70d-70af-4e49-8af5-2a629b5c1b30",
- "certificateName": "certificateName"
}
}
}
{- "domains": [
- {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "domainName": "example.com",
- "certificateId": "1183b70d-70af-4e49-8af5-2a629b5c1b30",
- "certificateName": "certificateName"
}
]
}
登録した Domain の証明書情報を更新します。
ドメイン名の変更はできません。
domainId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba DomainID |
certificateId | string <uuid> 証明書のID |
{- "certificateId": "1183b70d-70af-4e49-8af5-2a629b5c1b30"
}
{- "message": "Bad Request"
}
SSL証明書を登録します。
Create a Certificate
name required | string (Name) [ 1 .. 255 ] characters ^[\p{L}\p{N}._\-]+$ Unicode文字、数字、ハイフン、アンダースコア、ピリオドのみ許可 |
required | object RSA証明書情報 |
object ECDSA証明書情報 |
{- "name": "name",
- "rsa": {
- "cert": "-----BEGIN CERTIFICATE-----\nMIIDOTCCAiGgAwIBAgIUD8d5Ln4LX/3QxXjhYXDdsXDwcBYwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\nGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNTAyMTcwMjMwMzNaFw0zNTAy\nMTUwMjMwMzNaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw\nHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQC4casKTZ7neLdesms1bhcCUsS/gmTcDHZkbHy6SDaV\nCN6q11iTpq27o4+c5CCu+zkn1ND1PStGXzhTlFOOluzCB0J4seBnFy2T8HXsTy1G\nUvjdwceJKHMzYbM695RdiVfcAqX7UUFjBEyHV6duoSXmoIIBqFoOyX8Oc3mzdtW2\nbmq02COW+bU/3NPj5w1Swtz2o9YPXv4DGwHfdntLH+zW/ObgRaSQPqe2aXQEwl8P\n0FJB5c+/enZg/pmvIOa5xQ2exWPIGcmEQRol9YW4B3cpXwaFAjtpMcb6zV/ZDquq\nq//ErI1u4aeyNp3Gdr179tuntiY0jZ8KptsKZOToCeKZAgMBAAGjITAfMB0GA1Ud\nDgQWBBQtOsKs2R2QB/J8XX5KpcVjXi7yIDANBgkqhkiG9w0BAQsFAAOCAQEAYD+M\nxTAgjRQAgrmSZemIFTw80npS6LHGLFWjKvxlKWZ+2AFOVmVvyrD9Ls2kzaCkpiDQ\nFs6Kn3j7Ny37r91uJQK8qZJIcuSRp9+d0XhcIjmpI7bnhLJ9W0WH9GJzhAedYJev\ngNVFbf+Ygva/32qcwVIu28df84OAonGQF2GQ5KFJ8KM+5itC87Kc6cLPh+lB/D7A\nd9CSctSyU6aao1dY9UJszrokIhwtOrbYvisaLLzTrXhVx+IdZS8xT0WFiHhB7ZSC\nchA9B5keAa2stjuH6tkWSxiF5wIuq29lNNpUvqpWQ2ySOc/doC18q6quSGQCYQM2\nOaBp1GS0IjXB0xf4Hw==\n-----END CERTIFICATE-----\n",
- "key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC4casKTZ7neLde\nsms1bhcCUsS/gmTcDHZkbHy6SDaVCN6q11iTpq27o4+c5CCu+zkn1ND1PStGXzhT\nlFOOluzCB0J4seBnFy2T8HXsTy1GUvjdwceJKHMzYbM695RdiVfcAqX7UUFjBEyH\nV6duoSXmoIIBqFoOyX8Oc3mzdtW2bmq02COW+bU/3NPj5w1Swtz2o9YPXv4DGwHf\ndntLH+zW/ObgRaSQPqe2aXQEwl8P0FJB5c+/enZg/pmvIOa5xQ2exWPIGcmEQRol\n9YW4B3cpXwaFAjtpMcb6zV/ZDquqq//ErI1u4aeyNp3Gdr179tuntiY0jZ8KptsK\nZOToCeKZAgMBAAECggEAHhPR3Q3DBnh93/A/dwiQsafL/suQOqlrmxJtP+FryTTs\n6WDRnc5V/B3UMF+r4W0FU99VWKXqIIEsScY2iVpHme0eJAQkaxtGqvPQ/xalnuyu\njwG9J2WUbQIXJ1wH8pLljsf9x4m8xx1Z2iOV9v6faXMDkFVNo6YB1VpJCSuCoUuB\nFyNsCRiNP0AbR3m/pTRjw/YEqnNf+FraWrj4TdLqV6pP07MuXcJCcX7vMgpxjkhQ\nzPw5zZmWWsezMbYfKtHETe8WGOTWt1jGBi8HLDi4CXhOPw5qUR+/wNWDxuG4pUlS\nJqknjDBmGkjh1pMRYcjcOafrWZt3wq/1X2qqcJGS4wKBgQD4BBX13dHi0/GyfkQk\nFoD37AGV1u0p5oO2bnJXwf7aOghC1N9mtJlZ8L+SuEj0LP4xzvvpFMDwbR5W/vxU\nrhlzJ64mZmJbwA//cQQe3onIao+BZ6Pj8nAurZAVVIc/TUqiwlSoGqB9QfDVQ0Oq\ni/H0TmdL0RDCs7bKCf15a+ydCwKBgQC+Ya6j1flc7p5pxqQqb2kGMojH4GOO0cBG\nYJymKVwnuPxuFX3mCUVhGdEZoIeHMLCzdIOTJMLDONmjSd0khoYXrgMIquCggBte\ng3X4bYReF4IIHkZf8EwMO6B4RbGdEitvu823ZKX5GNQ5/tUIIUAvf3Bzzh18tzUd\nw5iOj04dawKBgQDbDeDHk+/5Q/FKEbPlm+q1DsInsfku9OaIjux3DmUmIfOB87qN\nYB3CDp1l3VayM7sgCwz8RNRUhkwx0mzT7iGUUAvE5tEg8HYwy4U0LqHLXjL5vKxI\nfK0QzUNhU5NRGdc+Ah37i+kMON2ZvxtY2toNSeJ6WGFRVqGvuTsjr2sBGQKBgCQU\nVwhtkKhwAE2De7EfFAQ8p3dZqwRx88JipM1IoVJV2GD0abuinidcwSfeKFEShSo9\nNoI4QUDGEVjEssgtRlROgfyuhYtlO8qZl03RU3iRc+8d7bBY1dCrrCme654cx2aR\nbNcIl/uxHOcwyCaWRpe5yxHnSedMwSA25T5/IgqpAoGBAIka2NWE5/oIWavB/M4h\n7QOdBuAuRvFXuhoGX5619olfqe0H1r/OUHOcXCoWHhAaBUeR3jkWwu/kdq7AUCjU\nK9bEnJp21n70F+GU/GpqI1frRVEtMqQvd1KTp3b1kyriy0iAI3YxVYEfLMtHw+GP\nQvCkj/GcoNjfECmbAlhX8+nw\n-----END PRIVATE KEY-----\n"
}, - "ecdsa": {
- "cert": "-----BEGIN CERTIFICATE-----\nMIIDOTCCAiGgAwIBAgIUD8d5Ln4LX/3QxXjhYXDdsXDwcBYwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\nGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNTAyMTcwMjMwMzNaFw0zNTAy\nMTUwMjMwMzNaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw\nHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQC4casKTZ7neLdesms1bhcCUsS/gmTcDHZkbHy6SDaV\nCN6q11iTpq27o4+c5CCu+zkn1ND1PStGXzhTlFOOluzCB0J4seBnFy2T8HXsTy1G\nUvjdwceJKHMzYbM695RdiVfcAqX7UUFjBEyHV6duoSXmoIIBqFoOyX8Oc3mzdtW2\nbmq02COW+bU/3NPj5w1Swtz2o9YPXv4DGwHfdntLH+zW/ObgRaSQPqe2aXQEwl8P\n0FJB5c+/enZg/pmvIOa5xQ2exWPIGcmEQRol9YW4B3cpXwaFAjtpMcb6zV/ZDquq\nq//ErI1u4aeyNp3Gdr179tuntiY0jZ8KptsKZOToCeKZAgMBAAGjITAfMB0GA1Ud\nDgQWBBQtOsKs2R2QB/J8XX5KpcVjXi7yIDANBgkqhkiG9w0BAQsFAAOCAQEAYD+M\nxTAgjRQAgrmSZemIFTw80npS6LHGLFWjKvxlKWZ+2AFOVmVvyrD9Ls2kzaCkpiDQ\nFs6Kn3j7Ny37r91uJQK8qZJIcuSRp9+d0XhcIjmpI7bnhLJ9W0WH9GJzhAedYJev\ngNVFbf+Ygva/32qcwVIu28df84OAonGQF2GQ5KFJ8KM+5itC87Kc6cLPh+lB/D7A\nd9CSctSyU6aao1dY9UJszrokIhwtOrbYvisaLLzTrXhVx+IdZS8xT0WFiHhB7ZSC\nchA9B5keAa2stjuH6tkWSxiF5wIuq29lNNpUvqpWQ2ySOc/doC18q6quSGQCYQM2\nOaBp1GS0IjXB0xf4Hw==\n-----END CERTIFICATE-----\n",
- "key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC4casKTZ7neLde\nsms1bhcCUsS/gmTcDHZkbHy6SDaVCN6q11iTpq27o4+c5CCu+zkn1ND1PStGXzhT\nlFOOluzCB0J4seBnFy2T8HXsTy1GUvjdwceJKHMzYbM695RdiVfcAqX7UUFjBEyH\nV6duoSXmoIIBqFoOyX8Oc3mzdtW2bmq02COW+bU/3NPj5w1Swtz2o9YPXv4DGwHf\ndntLH+zW/ObgRaSQPqe2aXQEwl8P0FJB5c+/enZg/pmvIOa5xQ2exWPIGcmEQRol\n9YW4B3cpXwaFAjtpMcb6zV/ZDquqq//ErI1u4aeyNp3Gdr179tuntiY0jZ8KptsK\nZOToCeKZAgMBAAECggEAHhPR3Q3DBnh93/A/dwiQsafL/suQOqlrmxJtP+FryTTs\n6WDRnc5V/B3UMF+r4W0FU99VWKXqIIEsScY2iVpHme0eJAQkaxtGqvPQ/xalnuyu\njwG9J2WUbQIXJ1wH8pLljsf9x4m8xx1Z2iOV9v6faXMDkFVNo6YB1VpJCSuCoUuB\nFyNsCRiNP0AbR3m/pTRjw/YEqnNf+FraWrj4TdLqV6pP07MuXcJCcX7vMgpxjkhQ\nzPw5zZmWWsezMbYfKtHETe8WGOTWt1jGBi8HLDi4CXhOPw5qUR+/wNWDxuG4pUlS\nJqknjDBmGkjh1pMRYcjcOafrWZt3wq/1X2qqcJGS4wKBgQD4BBX13dHi0/GyfkQk\nFoD37AGV1u0p5oO2bnJXwf7aOghC1N9mtJlZ8L+SuEj0LP4xzvvpFMDwbR5W/vxU\nrhlzJ64mZmJbwA//cQQe3onIao+BZ6Pj8nAurZAVVIc/TUqiwlSoGqB9QfDVQ0Oq\ni/H0TmdL0RDCs7bKCf15a+ydCwKBgQC+Ya6j1flc7p5pxqQqb2kGMojH4GOO0cBG\nYJymKVwnuPxuFX3mCUVhGdEZoIeHMLCzdIOTJMLDONmjSd0khoYXrgMIquCggBte\ng3X4bYReF4IIHkZf8EwMO6B4RbGdEitvu823ZKX5GNQ5/tUIIUAvf3Bzzh18tzUd\nw5iOj04dawKBgQDbDeDHk+/5Q/FKEbPlm+q1DsInsfku9OaIjux3DmUmIfOB87qN\nYB3CDp1l3VayM7sgCwz8RNRUhkwx0mzT7iGUUAvE5tEg8HYwy4U0LqHLXjL5vKxI\nfK0QzUNhU5NRGdc+Ah37i+kMON2ZvxtY2toNSeJ6WGFRVqGvuTsjr2sBGQKBgCQU\nVwhtkKhwAE2De7EfFAQ8p3dZqwRx88JipM1IoVJV2GD0abuinidcwSfeKFEShSo9\nNoI4QUDGEVjEssgtRlROgfyuhYtlO8qZl03RU3iRc+8d7bBY1dCrrCme654cx2aR\nbNcIl/uxHOcwyCaWRpe5yxHnSedMwSA25T5/IgqpAoGBAIka2NWE5/oIWavB/M4h\n7QOdBuAuRvFXuhoGX5619olfqe0H1r/OUHOcXCoWHhAaBUeR3jkWwu/kdq7AUCjU\nK9bEnJp21n70F+GU/GpqI1frRVEtMqQvd1KTp3b1kyriy0iAI3YxVYEfLMtHw+GP\nQvCkj/GcoNjfECmbAlhX8+nw\n-----END PRIVATE KEY-----\n"
}
}
{- "apigw": {
- "certificate": {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "name",
- "rsa": {
- "expiredAt": "2022-12-31 23:59:59"
}, - "ecdsa": {
- "expiredAt": "2022-12-31 23:59:59"
}
}
}
}
{- "certificates": [
- {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "name",
- "rsa": {
- "expiredAt": "2022-12-31 23:59:59"
}, - "ecdsa": {
- "expiredAt": "2022-12-31 23:59:59"
}
}
]
}
登録した Certificate の詳細情報を更新します。
certificateId required | string <uuid> Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba CertificateID |
name required | string (Name) [ 1 .. 255 ] characters ^[\p{L}\p{N}._\-]+$ Unicode文字、数字、ハイフン、アンダースコア、ピリオドのみ許可 |
required | object RSA証明書情報 |
object ECDSA証明書情報 |
{- "name": "name",
- "rsa": {
- "cert": "-----BEGIN CERTIFICATE-----\nMIIDOTCCAiGgAwIBAgIUD8d5Ln4LX/3QxXjhYXDdsXDwcBYwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\nGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNTAyMTcwMjMwMzNaFw0zNTAy\nMTUwMjMwMzNaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw\nHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQC4casKTZ7neLdesms1bhcCUsS/gmTcDHZkbHy6SDaV\nCN6q11iTpq27o4+c5CCu+zkn1ND1PStGXzhTlFOOluzCB0J4seBnFy2T8HXsTy1G\nUvjdwceJKHMzYbM695RdiVfcAqX7UUFjBEyHV6duoSXmoIIBqFoOyX8Oc3mzdtW2\nbmq02COW+bU/3NPj5w1Swtz2o9YPXv4DGwHfdntLH+zW/ObgRaSQPqe2aXQEwl8P\n0FJB5c+/enZg/pmvIOa5xQ2exWPIGcmEQRol9YW4B3cpXwaFAjtpMcb6zV/ZDquq\nq//ErI1u4aeyNp3Gdr179tuntiY0jZ8KptsKZOToCeKZAgMBAAGjITAfMB0GA1Ud\nDgQWBBQtOsKs2R2QB/J8XX5KpcVjXi7yIDANBgkqhkiG9w0BAQsFAAOCAQEAYD+M\nxTAgjRQAgrmSZemIFTw80npS6LHGLFWjKvxlKWZ+2AFOVmVvyrD9Ls2kzaCkpiDQ\nFs6Kn3j7Ny37r91uJQK8qZJIcuSRp9+d0XhcIjmpI7bnhLJ9W0WH9GJzhAedYJev\ngNVFbf+Ygva/32qcwVIu28df84OAonGQF2GQ5KFJ8KM+5itC87Kc6cLPh+lB/D7A\nd9CSctSyU6aao1dY9UJszrokIhwtOrbYvisaLLzTrXhVx+IdZS8xT0WFiHhB7ZSC\nchA9B5keAa2stjuH6tkWSxiF5wIuq29lNNpUvqpWQ2ySOc/doC18q6quSGQCYQM2\nOaBp1GS0IjXB0xf4Hw==\n-----END CERTIFICATE-----\n",
- "key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC4casKTZ7neLde\nsms1bhcCUsS/gmTcDHZkbHy6SDaVCN6q11iTpq27o4+c5CCu+zkn1ND1PStGXzhT\nlFOOluzCB0J4seBnFy2T8HXsTy1GUvjdwceJKHMzYbM695RdiVfcAqX7UUFjBEyH\nV6duoSXmoIIBqFoOyX8Oc3mzdtW2bmq02COW+bU/3NPj5w1Swtz2o9YPXv4DGwHf\ndntLH+zW/ObgRaSQPqe2aXQEwl8P0FJB5c+/enZg/pmvIOa5xQ2exWPIGcmEQRol\n9YW4B3cpXwaFAjtpMcb6zV/ZDquqq//ErI1u4aeyNp3Gdr179tuntiY0jZ8KptsK\nZOToCeKZAgMBAAECggEAHhPR3Q3DBnh93/A/dwiQsafL/suQOqlrmxJtP+FryTTs\n6WDRnc5V/B3UMF+r4W0FU99VWKXqIIEsScY2iVpHme0eJAQkaxtGqvPQ/xalnuyu\njwG9J2WUbQIXJ1wH8pLljsf9x4m8xx1Z2iOV9v6faXMDkFVNo6YB1VpJCSuCoUuB\nFyNsCRiNP0AbR3m/pTRjw/YEqnNf+FraWrj4TdLqV6pP07MuXcJCcX7vMgpxjkhQ\nzPw5zZmWWsezMbYfKtHETe8WGOTWt1jGBi8HLDi4CXhOPw5qUR+/wNWDxuG4pUlS\nJqknjDBmGkjh1pMRYcjcOafrWZt3wq/1X2qqcJGS4wKBgQD4BBX13dHi0/GyfkQk\nFoD37AGV1u0p5oO2bnJXwf7aOghC1N9mtJlZ8L+SuEj0LP4xzvvpFMDwbR5W/vxU\nrhlzJ64mZmJbwA//cQQe3onIao+BZ6Pj8nAurZAVVIc/TUqiwlSoGqB9QfDVQ0Oq\ni/H0TmdL0RDCs7bKCf15a+ydCwKBgQC+Ya6j1flc7p5pxqQqb2kGMojH4GOO0cBG\nYJymKVwnuPxuFX3mCUVhGdEZoIeHMLCzdIOTJMLDONmjSd0khoYXrgMIquCggBte\ng3X4bYReF4IIHkZf8EwMO6B4RbGdEitvu823ZKX5GNQ5/tUIIUAvf3Bzzh18tzUd\nw5iOj04dawKBgQDbDeDHk+/5Q/FKEbPlm+q1DsInsfku9OaIjux3DmUmIfOB87qN\nYB3CDp1l3VayM7sgCwz8RNRUhkwx0mzT7iGUUAvE5tEg8HYwy4U0LqHLXjL5vKxI\nfK0QzUNhU5NRGdc+Ah37i+kMON2ZvxtY2toNSeJ6WGFRVqGvuTsjr2sBGQKBgCQU\nVwhtkKhwAE2De7EfFAQ8p3dZqwRx88JipM1IoVJV2GD0abuinidcwSfeKFEShSo9\nNoI4QUDGEVjEssgtRlROgfyuhYtlO8qZl03RU3iRc+8d7bBY1dCrrCme654cx2aR\nbNcIl/uxHOcwyCaWRpe5yxHnSedMwSA25T5/IgqpAoGBAIka2NWE5/oIWavB/M4h\n7QOdBuAuRvFXuhoGX5619olfqe0H1r/OUHOcXCoWHhAaBUeR3jkWwu/kdq7AUCjU\nK9bEnJp21n70F+GU/GpqI1frRVEtMqQvd1KTp3b1kyriy0iAI3YxVYEfLMtHw+GP\nQvCkj/GcoNjfECmbAlhX8+nw\n-----END PRIVATE KEY-----\n"
}, - "ecdsa": {
- "cert": "-----BEGIN CERTIFICATE-----\nMIIDOTCCAiGgAwIBAgIUD8d5Ln4LX/3QxXjhYXDdsXDwcBYwDQYJKoZIhvcNAQEL\nBQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM\nGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNTAyMTcwMjMwMzNaFw0zNTAy\nMTUwMjMwMzNaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw\nHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB\nAQUAA4IBDwAwggEKAoIBAQC4casKTZ7neLdesms1bhcCUsS/gmTcDHZkbHy6SDaV\nCN6q11iTpq27o4+c5CCu+zkn1ND1PStGXzhTlFOOluzCB0J4seBnFy2T8HXsTy1G\nUvjdwceJKHMzYbM695RdiVfcAqX7UUFjBEyHV6duoSXmoIIBqFoOyX8Oc3mzdtW2\nbmq02COW+bU/3NPj5w1Swtz2o9YPXv4DGwHfdntLH+zW/ObgRaSQPqe2aXQEwl8P\n0FJB5c+/enZg/pmvIOa5xQ2exWPIGcmEQRol9YW4B3cpXwaFAjtpMcb6zV/ZDquq\nq//ErI1u4aeyNp3Gdr179tuntiY0jZ8KptsKZOToCeKZAgMBAAGjITAfMB0GA1Ud\nDgQWBBQtOsKs2R2QB/J8XX5KpcVjXi7yIDANBgkqhkiG9w0BAQsFAAOCAQEAYD+M\nxTAgjRQAgrmSZemIFTw80npS6LHGLFWjKvxlKWZ+2AFOVmVvyrD9Ls2kzaCkpiDQ\nFs6Kn3j7Ny37r91uJQK8qZJIcuSRp9+d0XhcIjmpI7bnhLJ9W0WH9GJzhAedYJev\ngNVFbf+Ygva/32qcwVIu28df84OAonGQF2GQ5KFJ8KM+5itC87Kc6cLPh+lB/D7A\nd9CSctSyU6aao1dY9UJszrokIhwtOrbYvisaLLzTrXhVx+IdZS8xT0WFiHhB7ZSC\nchA9B5keAa2stjuH6tkWSxiF5wIuq29lNNpUvqpWQ2ySOc/doC18q6quSGQCYQM2\nOaBp1GS0IjXB0xf4Hw==\n-----END CERTIFICATE-----\n",
- "key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC4casKTZ7neLde\nsms1bhcCUsS/gmTcDHZkbHy6SDaVCN6q11iTpq27o4+c5CCu+zkn1ND1PStGXzhT\nlFOOluzCB0J4seBnFy2T8HXsTy1GUvjdwceJKHMzYbM695RdiVfcAqX7UUFjBEyH\nV6duoSXmoIIBqFoOyX8Oc3mzdtW2bmq02COW+bU/3NPj5w1Swtz2o9YPXv4DGwHf\ndntLH+zW/ObgRaSQPqe2aXQEwl8P0FJB5c+/enZg/pmvIOa5xQ2exWPIGcmEQRol\n9YW4B3cpXwaFAjtpMcb6zV/ZDquqq//ErI1u4aeyNp3Gdr179tuntiY0jZ8KptsK\nZOToCeKZAgMBAAECggEAHhPR3Q3DBnh93/A/dwiQsafL/suQOqlrmxJtP+FryTTs\n6WDRnc5V/B3UMF+r4W0FU99VWKXqIIEsScY2iVpHme0eJAQkaxtGqvPQ/xalnuyu\njwG9J2WUbQIXJ1wH8pLljsf9x4m8xx1Z2iOV9v6faXMDkFVNo6YB1VpJCSuCoUuB\nFyNsCRiNP0AbR3m/pTRjw/YEqnNf+FraWrj4TdLqV6pP07MuXcJCcX7vMgpxjkhQ\nzPw5zZmWWsezMbYfKtHETe8WGOTWt1jGBi8HLDi4CXhOPw5qUR+/wNWDxuG4pUlS\nJqknjDBmGkjh1pMRYcjcOafrWZt3wq/1X2qqcJGS4wKBgQD4BBX13dHi0/GyfkQk\nFoD37AGV1u0p5oO2bnJXwf7aOghC1N9mtJlZ8L+SuEj0LP4xzvvpFMDwbR5W/vxU\nrhlzJ64mZmJbwA//cQQe3onIao+BZ6Pj8nAurZAVVIc/TUqiwlSoGqB9QfDVQ0Oq\ni/H0TmdL0RDCs7bKCf15a+ydCwKBgQC+Ya6j1flc7p5pxqQqb2kGMojH4GOO0cBG\nYJymKVwnuPxuFX3mCUVhGdEZoIeHMLCzdIOTJMLDONmjSd0khoYXrgMIquCggBte\ng3X4bYReF4IIHkZf8EwMO6B4RbGdEitvu823ZKX5GNQ5/tUIIUAvf3Bzzh18tzUd\nw5iOj04dawKBgQDbDeDHk+/5Q/FKEbPlm+q1DsInsfku9OaIjux3DmUmIfOB87qN\nYB3CDp1l3VayM7sgCwz8RNRUhkwx0mzT7iGUUAvE5tEg8HYwy4U0LqHLXjL5vKxI\nfK0QzUNhU5NRGdc+Ah37i+kMON2ZvxtY2toNSeJ6WGFRVqGvuTsjr2sBGQKBgCQU\nVwhtkKhwAE2De7EfFAQ8p3dZqwRx88JipM1IoVJV2GD0abuinidcwSfeKFEShSo9\nNoI4QUDGEVjEssgtRlROgfyuhYtlO8qZl03RU3iRc+8d7bBY1dCrrCme654cx2aR\nbNcIl/uxHOcwyCaWRpe5yxHnSedMwSA25T5/IgqpAoGBAIka2NWE5/oIWavB/M4h\n7QOdBuAuRvFXuhoGX5619olfqe0H1r/OUHOcXCoWHhAaBUeR3jkWwu/kdq7AUCjU\nK9bEnJp21n70F+GU/GpqI1frRVEtMqQvd1KTp3b1kyriy0iAI3YxVYEfLMtHw+GP\nQvCkj/GcoNjfECmbAlhX8+nw\n-----END PRIVATE KEY-----\n"
}
}
{- "message": "Bad Request"
}
{- "apigw": {
- "plans": [
- {
- "id": "b69f7bfe-1d8f-48bb-8b85-b47359366e48",
- "createdAt": "2019-08-24T14:15:22Z",
- "updatedAt": "2019-08-24T14:15:22Z",
- "name": "ベーシックプラン",
- "price": 1000,
- "description": "description",
- "maxServices": 10,
- "maxRequests": 20000,
- "maxRequestsUnit": "day"
}
]
}
}
選択したプランで API Gateway の契約内容を更新します。
契約情報
planId | string <uuid> プランID |
{- "planId": "7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba"
}
{- "message": "Bad Request"
}