API Gateway β APIドキュメント (1.0.0)

Download OpenAPI specification:Download


「API Gateway」が提供するAPIの利用方法とサンプルを公開しております。

基本的な使い方

APIキーの発行

APIを利用するためには、認証のための「APIキー」が必要です。事前にキーを発行しておきます。
APIキーは「ユーザーID」「パスワード」に相当する「トークン」と呼ばれる認証情報で構成されています。

項目名 APIキー発行時の項目名 このドキュメント内での例
ユーザーID アクセストークン(UUID) 01234567-89ab-cdef-0123-456789abcdef
パスワード アクセストークンシークレット SAMPLETOKENSAMPLETOKENSAMPLETOKENSAM

利用例

API Gatewayの利用を開始するには最低限、以下の登録が必要です。

  • プラン
  • アップストリーム(以下サービス)
  • エントリポイント(以下ルート)

1.プラン登録

プランによってサービス作成数等の制限とご利用料金に違いがあります。ご利用用途に合わせたプランをご選択ください。 なお、プランはご利用中のさくらクラウドアカウントに紐づいており、既に契約状態にある場合は不要です。

現在利用可能なプランを取得するには以下のような入力を行います。

# 入力サンプル
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

2.サービスの作成、取得

サービスとはリクエストの転送先に関する情報です。 選択したプランによって作成可能数が異なります。

サービスを作成するには以下のような入力を行います。

# 入力サンプル
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}

3.ルートの作成、取得

ルートとは作成したサービスに対するエントリポイントです。 必ず、紐づくサービスが必要になります。

ルートを作成するには以下のような入力を行います。

# 入力サンプル
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登録API

アップストリームのエンドポイント情報である Service を登録します。

Request Body schema: application/json
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にアクセスするためのホスト名
ホスト名はドメイン名またはIPアドレスを指定する
プライベート/ループバックIPアドレスは指定できない

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設定

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "tags": [
    ],
  • "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": {
    }
}

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

Service一覧照会API

登録した Service の一覧を取得します。

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

Service詳細照会API

登録した Service の詳細情報を取得します。

path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

Service更新API

登録した Service の詳細情報を更新します。

path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

Request Body schema: application/json
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にアクセスするためのホスト名
ホスト名はドメイン名またはIPアドレスを指定する
プライベート/ループバックIPアドレスは指定できない

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設定

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "tags": [
    ],
  • "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": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

Service削除API

登録した Service を削除します。

path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

Responses

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

Route登録API

登録した Service に対して、公開するエンドポイントとして Route を登録します。
各 Route の認証設定は全て Service の設定に準じます。

path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

Request Body schema: application/json

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

ホスト名
自動発行されたホストまたは設定したドメインを指定する
自動発行されたホストはService詳細照会APIで確認できる
作成したドメインはDomain一覧照会APIで確認できる

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

パスを正規表現で指定した場合の優先度
0が最優先

stripPath
boolean
Default: true

リクエストのパスからルートのパスを削除するかどうか

preserveHost
boolean
Default: false

リクエストのHostヘッダーを保持するかどうか

requestBuffering
boolean
Default: true

リクエストのバッファリングを有効にするかどうか

responseBuffering
boolean
Default: true

レスポンスのバッファリングを有効にするかどうか

object (IpRestrictionConfig)

IP制限

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "tags": [
    ],
  • "protocols": "http,https",
  • "path": "/",
  • "hosts": [
    ],
  • "methods": [
    ],
  • "httpsRedirectStatusCode": 426,
  • "regexPriority": 0,
  • "stripPath": false,
  • "preserveHost": true,
  • "requestBuffering": false,
  • "responseBuffering": false,
  • "ipRestrictionConfig": {
    }
}

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

Service Route一覧照会API

Service に登録した Route の一覧を取得します。

path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

Route詳細照会API

Service に登録した Route の詳細情報を取得します。

path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

routeId
required
string <uuid>
Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9

RouteID

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

Route更新API

Service に登録した Route の詳細情報を更新します。

path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

routeId
required
string <uuid>
Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9

RouteID

Request Body schema: application/json

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

ホスト名
自動発行されたホストまたは設定したドメインを指定する
自動発行されたホストはService詳細照会APIで確認できる
作成したドメインはDomain一覧照会APIで確認できる

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

パスを正規表現で指定した場合の優先度
0が最優先

stripPath
boolean
Default: true

リクエストのパスからルートのパスを削除するかどうか

preserveHost
boolean
Default: false

リクエストのHostヘッダーを保持するかどうか

requestBuffering
boolean
Default: true

リクエストのバッファリングを有効にするかどうか

responseBuffering
boolean
Default: true

レスポンスのバッファリングを有効にするかどうか

object (IpRestrictionConfig)

IP制限

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "tags": [
    ],
  • "protocols": "http,https",
  • "path": "/",
  • "hosts": [
    ],
  • "methods": [
    ],
  • "httpsRedirectStatusCode": 426,
  • "regexPriority": 0,
  • "stripPath": false,
  • "preserveHost": true,
  • "requestBuffering": false,
  • "responseBuffering": false,
  • "ipRestrictionConfig": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

Route削除API

Service に登録した Route を削除します。

path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

routeId
required
string <uuid>
Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9

RouteID

Responses

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

Route認可情報更新API

登録した Route に対してアクセス可能な Group を登録します。
登録しない場合は全てのUserがアクセス可能になります。

path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

routeId
required
string <uuid>
Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9

RouteID

Request Body schema: application/json
One of
isACLEnabled
required
any
Value: false

認可設定を無効にする

Responses

Request samples

Content type
application/json
{
  • "isACLEnabled": true,
  • "groups": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

Route認可情報取得API

Route に登録した認可情報を取得します。

path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

routeId
required
string <uuid>
Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9

RouteID

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

Route Request変換情報更新API

Route から Service へ転送する際にリクエスト内容を変換する設定を登録します。

  • httpMethod: 設定したHTTPメソッドへ変換します。
  • allow: 設定した Key 以外をリクエストから取り除きます。
  • remove: 設定した Key をリクエストから取り除きます。
  • rename: 設定した From-To に従い、リクエストの Key を変更します。
  • replace: 設定した Key と同名の Key がリクエストに存在する場合、Value の値を置換します。
  • add: 設定した値をリクエストに追加します。同名の Key がリクエストに存在しない場合に機能します。
  • append: 設定した値をリクエストに追加します。同名の Key がリクエストに存在する場合は Value に追記します。
path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

routeId
required
string <uuid>
Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9

RouteID

Request Body schema: application/json
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)

Responses

Request samples

Content type
application/json
{
  • "httpMethod": "GET",
  • "allow": {
    },
  • "remove": {
    },
  • "rename": {
    },
  • "replace": {
    },
  • "add": {
    },
  • "append": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

Route Request変換情報取得API

Route に登録したリクエスト変換情報を取得します。

path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

routeId
required
string <uuid>
Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9

RouteID

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

Route Response変換情報更新API

Route から Service へ転送する際にレスポンス内容を変換する設定を登録します。

  • allow: 設定した Key 以外をレスポンスから取り除きます。
  • remove: 設定した Key をレスポンスから取り除きます。
  • rename: 設定した From-To に従い、レスポンスの Key を変更します。
  • replace: 設定した Key と同名の Key がレスポンスに存在する場合、Value の値を置換します。
  • add: 設定した値をレスポンスに追加します。同名の Key がレスポンスに存在しない場合に機能します。
  • append: 設定した値をレスポンスに追加します。同名の Key がレスポンスに存在する場合は Value に追記します。
  • ifStatusCode: 設定した場合、アップストリームからのレスポンスコードが設定した値と一致する場合に、各種変換が機能します。
path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

routeId
required
string <uuid>
Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9

RouteID

Request Body schema: application/json
object (ResponseAllowDetail)

許可するJSONのキー
半角英数字、ハイフン、アンダースコア、ピリオド繋ぎを許可

object (ResponseRemoveDetail)
object (ResponseRenameDetail)
object (ResponseReplaceDetail)
object (ResponseModificationDetail)
object (ResponseModificationDetail)

Responses

Request samples

Content type
application/json
{
  • "allow": {
    },
  • "remove": {
    },
  • "rename": {
    },
  • "replace": {
    },
  • "add": {
    },
  • "append": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

Route Response変換情報取得API

Route に登録したレスポンス変換情報を取得します。

path Parameters
serviceId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

ServiceID

routeId
required
string <uuid>
Example: 02c6abbd-0c12-42e5-8d90-7eea021028d9

RouteID

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

ユーザー

User登録API

認証情報を設定する User を登録します。
User のIP制限設定は、Route にIP制限が設定されていない場合に機能します。

Request Body schema: application/json

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制限

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "customID": "example_custom_id_123456",
  • "tags": [
    ],
  • "ipRestrictionConfig": {
    }
}

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

User一覧照会API

登録した User の一覧を取得します。

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

User詳細照会API

登録した User の詳細情報を取得します。

path Parameters
userId
required
string <uuid>
Example: 67f57741-ac25-433a-8d7a-8778711b4a2c

UserID

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

User更新API

登録した User の詳細情報を更新します。

path Parameters
userId
required
string <uuid>
Example: 67f57741-ac25-433a-8d7a-8778711b4a2c

UserID

Request Body schema: application/json

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制限

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "customID": "example_custom_id_123456",
  • "tags": [
    ],
  • "ipRestrictionConfig": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

User削除API

登録した User を削除します。

path Parameters
userId
required
string <uuid>
Example: 67f57741-ac25-433a-8d7a-8778711b4a2c

UserID

Responses

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

User所属Group照会API

登録した User が所属している Group の一覧を取得します。

path Parameters
userId
required
string <uuid>
Example: 67f57741-ac25-433a-8d7a-8778711b4a2c

UserID

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

User所属Group更新API

登録した User を Group に所属させます。

path Parameters
userId
required
string <uuid>
Example: 67f57741-ac25-433a-8d7a-8778711b4a2c

UserID

Request Body schema: application/json

Update a user group

Array
One of
isAssigned
required
boolean

UserがGroupに所属しているかどうか

id
required
string <uuid>

GroupのID

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

User認証情報取得API

User に登録された認証情報を取得します。
なお、パスワード、シークレットなどの機密情報は取得できません。

path Parameters
userId
required
string <uuid>
Example: 67f57741-ac25-433a-8d7a-8778711b4a2c

UserID

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

User認証情報更新API

User に認証情報を登録します。

path Parameters
userId
required
string <uuid>
Example: 67f57741-ac25-433a-8d7a-8778711b4a2c

UserID

Request Body schema: application/json
object (BasicAuth)

各Entity共通のモデル

object (Jwt)

各Entity共通のモデル

object (HmacAuth)

各Entity共通のモデル

Responses

Request samples

Content type
application/json
{
  • "basicAuth": {
    },
  • "jwt": {
    },
  • "hmacAuth": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

グループ

Group一覧照会API

登録した Group の一覧を取得します。

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

Group登録API

新しい Group を登録します。
Group は User を分類し、アクセス制御を管理するために使用されます。

Request Body schema: application/json

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]+$ ]

エンティティを検索するためのタグ

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

Group詳細照会API

登録した Group の詳細情報を取得します。

path Parameters
groupId
required
string <uuid>
Example: ac8a3fb3-0354-4917-9a3d-c5dc5ab50869

GroupID

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

Group更新API

登録した Group の詳細情報を更新します。

path Parameters
groupId
required
string <uuid>
Example: ac8a3fb3-0354-4917-9a3d-c5dc5ab50869

GroupID

Request Body schema: application/json
name
required
string (Name) [ 1 .. 255 ] characters ^[\p{L}\p{N}._\-]+$

Unicode文字、数字、ハイフン、アンダースコア、ピリオドのみ許可

tags
Array of strings (Tags) [ items [ 1 .. 255 ] items ^[^\/\s\u3000]+$ ]

エンティティを検索するためのタグ

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

Group削除API

登録した Group を削除します。

path Parameters
groupId
required
string <uuid>
Example: ac8a3fb3-0354-4917-9a3d-c5dc5ab50869

GroupID

Responses

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

ドメイン

Domain登録API

route の host で使用するドメインを登録します。

Request Body schema: application/json

Create a Domain

domainName
required
string^\s*(([a-z\d]([a-z\d-]*[a-z\d])?)\.)+([a-z\d-...

ドメイン名
ドメイン名はドメイン名形式を指定する
IPv4アドレス及びワイルドカード(*)を指定できない
大文字を含めることはできない

certificateId
string <uuid>

証明書のID

Responses

Request samples

Content type
application/json
{
  • "domainName": "example.com",
  • "certificateId": "1183b70d-70af-4e49-8af5-2a629b5c1b30"
}

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

Domain一覧照会API

登録した Domain の一覧を取得します。

Responses

Response samples

Content type
application/json
{
  • "domains": [
    ]
}

Domain更新API

登録した Domain の証明書情報を更新します。
ドメイン名の変更はできません。

path Parameters
domainId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

DomainID

Request Body schema: application/json
certificateId
string <uuid>

証明書のID

Responses

Request samples

Content type
application/json
{
  • "certificateId": "1183b70d-70af-4e49-8af5-2a629b5c1b30"
}

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

Domain削除API

登録した Domain を削除します。

path Parameters
domainId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

DomainID

Responses

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

証明書

Certificate登録API

SSL証明書を登録します。

Request Body schema: application/json

Create a Certificate

Any of
name
required
string (Name) [ 1 .. 255 ] characters ^[\p{L}\p{N}._\-]+$

Unicode文字、数字、ハイフン、アンダースコア、ピリオドのみ許可

required
object

RSA証明書情報

object

ECDSA証明書情報

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "rsa": {
    },
  • "ecdsa": {
    }
}

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

Certificate一覧照会API

登録した Certificate の一覧を取得します。

Responses

Response samples

Content type
application/json
{
  • "certificates": [
    ]
}

Certificate更新API

登録した Certificate の詳細情報を更新します。

path Parameters
certificateId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

CertificateID

Request Body schema: application/json
Any of
name
required
string (Name) [ 1 .. 255 ] characters ^[\p{L}\p{N}._\-]+$

Unicode文字、数字、ハイフン、アンダースコア、ピリオドのみ許可

required
object

RSA証明書情報

object

ECDSA証明書情報

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "rsa": {
    },
  • "ecdsa": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

Certificate削除API

登録した Certificate を削除します。

path Parameters
certificateId
required
string <uuid>
Example: 7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba

CertificateID

Responses

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

プラン

プラン一覧照会API

現在契約可能な API Gateway の料金プランの一覧を取得します。

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

サブスクリプション

契約照会API

お客様の API Gateway 契約状態を取得します。
契約情報が存在しない場合は、未契約のステータスを返却します。
契約情報が存在する場合は、契約中のステータスと加入中のプラン情報を返却します。

Responses

Response samples

Content type
application/json
{
  • "apigw": {
    }
}

契約API

選択したプランで API Gateway の利用契約を行います。

Request Body schema: application/json

契約情報

planId
string <uuid>

プランID

Responses

Request samples

Content type
application/json
{
  • "planId": "7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba"
}

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

契約更新API

選択したプランで API Gateway の契約内容を更新します。

Request Body schema: application/json

契約情報

planId
string <uuid>

プランID

Responses

Request samples

Content type
application/json
{
  • "planId": "7c8d78bc-e4a3-4600-b70a-f5fe802dc1ba"
}

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}

契約解約API

API Gateway の契約を解約します。

Responses

Response samples

Content type
application/json
{
  • "message": "Bad Request"
}