Skip to main content

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": "エラーメッセージ"
}