メインコンテンツまでスキップ

ApiGateway API

SaaSus Smart API Gateway API Schema (1.0.0)

SaaSus Smart API Gateway API Schema

smartApiGateway

SaaSus Smart API Gateway

Smart API Gatewayの設定情報を取得

Smart API Gatewayの設定情報を取得

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{}

Smart API Gatewayの設定情報を更新

Smart API Gatewayの設定情報を更新

Authorizations:
Bearer
Request Body schema: application/json
required
role_arn
string (AssumeRoleするためのロールのARN)

SaaSus PlatformがAssumeRoleするためのロールのARN

role_external_id
string (AssumeRoleする時に使用するExternalID)

SaaSus PlatformがSaaSを操作するためにAssumeRoleする時に使用するexternal id

internal_endpoint_health_check_path
string (インターナルエンドポイントのヘルスチェックパス)

インターナルエンドポイントのヘルスチェックに使用するパス

internal_endpoint_health_check_port
integer (インターナルエンドポイントのヘルスチェックポート)

インターナルエンドポイントのヘルスチェックに使用するポート

internal_endpoint_health_check_protocol
string (インターナルエンドポイントのヘルスチェックプロトコル)

インターナルエンドポイントのヘルスチェックに使用するプロトコル

internal_endpoint_health_status_codes
string (インターナルエンドポイントのヘルスチェックステータスコード)

インターナルエンドポイントのヘルスチェックに使用するステータスコード

saas_subnet_ids
Array of strings (SaaSサブネットID)

SaaSのサブネットID

saas_vpc_id
string (SaaS VPC ID)

SaaSのVPC ID

domain_name
string

ドメイン名

saas_alb_arn
string (SaaS アプリケーションロードバランサーARN)

SaaS アプリケーションロードバランサーARN

Array of objects (エンドポイント設定一覧)

エンドポイント毎の設定一覧

tenant_routing_type
string (テナントルーティングタイプ)
Enum: "path" "hostName" "headerValue" "none"

テナントルーティングタイプ

Responses

Request samples

Content type
application/json
{
  • "role_arn": "arn:aws:iam::123456789012:role/role-name",
  • "role_external_id": 1234567890,
  • "internal_endpoint_health_check_path": "/health",
  • "internal_endpoint_health_check_port": 80,
  • "internal_endpoint_health_check_protocol": "HTTP or HTTPS",
  • "internal_endpoint_health_status_codes": 200,
  • "saas_subnet_ids": [
    ],
  • "saas_vpc_id": "vpc-12345678",
  • "domain_name": "dev.saasus.io",
  • "saas_alb_arn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188",
  • "endpoint_settings_list": [
    ],
  • "tenant_routing_type": "path"
}

Response samples

Content type
application/json
{
  • "type": "permission_denied",
  • "message": "エラーメッセージ"
}

API Gatewayを作成します

API Gatewayを作成します

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "type": "permission_denied",
  • "message": "エラーメッセージ"
}

条件に応じたAPIキー一覧または特定APIキーの取得

クエリパラメータ tenant_id、env_id、user_id の組み合わせにより、取得内容が変わります。 - tenant_id が指定されない場合、全件の一覧が返されます。 - tenant_id のみ指定されると、指定されたテナント内のAPIキー一覧が返されます。 - tenant_id と env_id が指定されると、環境単位でフィルタリングして取得します。 - tenant_id, env_id, user_id の全てが指定される場合は、完全一致検索で対象ユーザーのAPIキーが取得されます。 - また、env_id のみ、user_id のみ指定された場合も検索が可能です。

Authorizations:
Bearer
query Parameters
tenant_id
string

指定された場合、対象テナントのAPIキーを取得します。

env_id
integer

指定された場合、対象環境のAPIキーを取得します。

user_id
string

指定された場合、対象ユーザーのAPIキー(最大2件)を取得します。

tenant_only
boolean

true の場合、User_idが指定されていないAPIキーのみを取得します。

Responses

Response samples

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

APIキーを作成します

リクエストボディ内に全てのパラメータ(tenant_id, env_id, user_id(任意))を設定し、新規作成または更新を行います。

Authorizations:
Bearer
Request Body schema: application/json
required

Payload for API key creation or update.

tenant_id
required
string (Uuid)
env_id
required
integer (Id)
user_id
string (Uuid)

Responses

Request samples

Content type
application/json
{
  • "tenant_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "env_id": 1,
  • "user_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775"
}

Response samples

Content type
application/json
{
  • "api_key": "1234567890abcdef",
  • "tenant_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "env_id": 1,
  • "user_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775"
}

APIキーを指定して取得

APIキーを指定して、APIキーの詳細を取得します。

Authorizations:
Bearer
path Parameters
api_key
required
string
Example: 1234567890abcdef

APIキー

Responses

Response samples

Content type
application/json
{
  • "api_key": "1234567890abcdef",
  • "tenant_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "env_id": 1,
  • "user_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775"
}

テナントの許可IPアドレスを更新

テナントの許可IPアドレスを更新します。

Authorizations:
Bearer
path Parameters
tenant_id
required
string (Uuid)
Example: 69e732d6-8ecc-45c4-c2eb-8438f7ffe775

テナントID

Request Body schema: application/json
required
allowed_ips
required
Array of strings (許可されたIPアドレス一覧)

CIDR形式で指定された許可IPアドレス一覧

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "type": "permission_denied",
  • "message": "エラーメッセージ"
}

テナントの許可IPアドレスを取得

テナントの許可IPアドレスを取得します。

Authorizations:
Bearer
path Parameters
tenant_id
required
string (Uuid)
Example: 69e732d6-8ecc-45c4-c2eb-8438f7ffe775

テナントID

Responses

Response samples

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

テナント情報を更新

テナント情報を更新します。

Authorizations:
Bearer
path Parameters
tenant_id
required
string (Uuid)
Example: 69e732d6-8ecc-45c4-c2eb-8438f7ffe775

テナントID

Request Body schema: application/json
required
object (テナントルーティング)

テナントのルーティングに関する情報。 ApiGatewaySettings の tenant_routing_type に対応する情報を参照し、リクエストをルーティングします。

path
string (パス)

テナント毎のパス

header_key
string (ヘッダーキー)

テナントの識別子を設定するヘッダーのキー名

header_value
string (ヘッダー値)

ヘッダーキーに設定されるテナントの識別子

host_name
string (ホスト名)

テナント毎のホスト名

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "type": "permission_denied",
  • "message": "エラーメッセージ"
}

テナント情報を取得

テナント情報を取得します。

Authorizations:
Bearer
path Parameters
tenant_id
required
string (Uuid)
Example: 69e732d6-8ecc-45c4-c2eb-8438f7ffe775

テナントID

Responses

Response samples

Content type
application/json
{
  • "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "routing": {
    }
}

API Gatewayを公開します

API Gatewayを公開します

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "type": "permission_denied",
  • "message": "エラーメッセージ"
}

API Gatewayを非公開にします

API Gatewayを非公開にします

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "type": "permission_denied",
  • "message": "エラーメッセージ"
}

API Gatewayを作成するファイルをアップロードします

API Gatewayを作成するファイルをアップロードします

Authorizations:
Bearer
Request Body schema: application/json
content
required
string <base64> (ApiGateway入力ファイルのコンテンツ)

API Gatewayを作成するためにアップロードするファイルのコンテンツ

Responses

Request samples

Content type
application/json
{
  • "content": "UEsDBBQACAAIAJr6oFQmTAuRfvOGAA=="
}

Response samples

Content type
application/json
{
  • "type": "permission_denied",
  • "message": "エラーメッセージ"
}

error

テスト用途のエラー

ステータスコード500でサーバーエラーを返却

テスト用途で使用するエンドポイントです。ステータスコード500でサーバーエラーを返却します。

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "type": "permission_denied",
  • "message": "エラーメッセージ"
}