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

Auth API

SaaSus Auth API Schema (1.0.0)

スキーマ

basicInfo

基本情報

基本設定情報の取得

SaaS ID を元に設定されているドメイン名と CNAME レコードを取得します。 取得した CNAME レコードを DNS に設定することで、ログイン画面を生成します。

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "domain_name": "dev.saasus.io",
  • "is_dns_validated": false,
  • "certificate_dns_record": {
    },
  • "cloud_front_dns_record": {
    },
  • "dkim_dns_records": [
    ],
  • "default_domain_name": "d78bh0l3saarv.cloudfront.net",
  • "from_email_address": "test@example.com",
  • "reply_email_address": "test@example.com",
  • "is_ses_sandbox_granted": false
}

基本設定情報の更新

SaaS ID を元にパラメータとして設定したドメイン名を設定更新します。 CNAME レコードが生成されますので、 DNS に設定して下さい。 既に稼働中の SaaS アプリケーションに設定している場合には、動作に影響があります。

Authorizations:
Bearer
Request Body schema: application/json
domain_name
required
string

ドメイン名

from_email_address
required
string

認証メールの送信元メールアドレス

reply_email_address
string

認証メールの返信元メールアドレス

Responses

Request samples

Content type
application/json
{
  • "domain_name": "dev.saasus.io",
  • "from_email_address": "test@example.com",
  • "reply_email_address": "test@example.com"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

通知メールテンプレートを取得

各種通知メールテンプレートを取得します。

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "sign_up": {
    },
  • "create_user": {
    },
  • "resend_code": {
    },
  • "forgot_password": {
    },
  • "update_user_attribute": {
    },
  • "verify_user_attribute": {
    },
  • "authentication_mfa": {
    },
  • "invite_tenant_user": {
    },
  • "verify_external_user": {
    }
}

通知メールテンプレートを更新

各種通知メールテンプレート更新します。

Authorizations:
Bearer
Request Body schema: application/json
object (MessageTemplate)
object (MessageTemplate)
object (MessageTemplate)
object (MessageTemplate)
object (MessageTemplate)
object (MessageTemplate)
object (MessageTemplate)
object (MessageTemplate)
object (MessageTemplate)

Responses

Request samples

Content type
application/json
{
  • "sign_up": {
    },
  • "create_user": {
    },
  • "resend_code": {
    },
  • "forgot_password": {
    },
  • "update_user_attribute": {
    },
  • "verify_user_attribute": {
    },
  • "authentication_mfa": {
    },
  • "invite_tenant_user": {
    },
  • "verify_external_user": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

認証系画面設定情報取得

認証系画面設定情報(新規登録・ログイン・パスワードリセット等)を取得します。

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "sign_up_page": {
    },
  • "sign_in_page": {
    },
  • "password_reset_page": {
    }
}

認証系画面設定情報設定

認証系画面設定情報(新規登録・ログイン・パスワードリセット等)を更新します。

Authorizations:
Bearer
Request Body schema: application/json
object (CustomizePageProps)
object (CustomizePageProps)
object (CustomizePageProps)

Responses

Request samples

Content type
application/json
{
  • "sign_up_page": {
    },
  • "sign_in_page": {
    },
  • "password_reset_page": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

認証認可基本情報取得

認証認可基本情報を取得します。

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{}

認証認可基本情報更新

認証認可基本情報を更新します。

Authorizations:
Bearer
Request Body schema: application/json
icon
required
string <base64>

サービスアイコン

favicon
required
string <base64>

ファビコン

title
required
string

サービス名

terms_of_service_url
required
string

利用規約URL

privacy_policy_url
required
string

プライバシーポリシーURL

google_tag_manager_container_id
required
string

Google Tag Manager コンテナ ID

Responses

Request samples

Content type
application/json
{
  • "icon": "data:image/png;base64,ZDMiIHN0UmVmOmRvY3VtZW50SUQ9Inhtc==",
  • "favicon": "data:image/png;base64,ZDMiIHN0UmVmOmRvY3VtZW50SUQ9Inhtc==",
  • "title": "SaaSus",
  • "terms_of_service_url": "http://dev.example.com/terms",
  • "privacy_policy_url": "http://dev.example.com/privacy",
  • "google_tag_manager_container_id": "GTM-XXXXXXX"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

authInfo

認証情報

認証情報を取得

ログイン後に認証情報を渡す SaaS の URL を取得します。 ここで取得した URL へ認証情報を渡し、SaaSus SDK を利用してこの Callback の実装をすることが可能となります。

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{}

認証情報を更新

ログイン後に認証情報を渡す SaaS の URL を登録します。 ここで登録した URL に認証情報を渡し、SaaSus SDK を利用してこの Callback の実装をすることが可能となります。

Authorizations:
Bearer
Request Body schema: application/json
callback_url
required
string

認証後遷移先

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

cognitoに設定している外部プロバイダ経由のサインイン情報取得

cognitoに設定している外部プロバイダ経由のサインイン情報を取得します。

Authorizations:
Bearer

Responses

Response samples

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

外部IDプロバイダのサインイン情報更新

外部IDプロバイダのサインイン情報を更新します。

Authorizations:
Bearer
Request Body schema: application/json
provider
required
string (ProviderName)
Value: "Google"
object (IdentityProviderProps)

Responses

Request samples

Content type
application/json
{
  • "provider": "Google",
  • "identity_provider_props": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

パスワード要件を取得

ユーザーパスワードの要件設定を取得します。 アルファベット、数字、記号の組み合わせで、桁数を長くすれば解読されづらい安全なパスワードを設定することが可能となります。

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "password_policy": {
    },
  • "device_configuration": {
    },
  • "mfa_configuration": {
    },
  • "recaptcha_props": {
    },
  • "account_verification": {
    },
  • "self_regist": {
    },
  • "identity_provider_configuration": {
    }
}

パスワード要件を更新

ユーザーパスワードの要件設定を更新します。 アルファベット、数字、記号の組み合わせで、桁数を長くすれば解読されづらい安全なパスワードを設定することが可能となります。

Authorizations:
Bearer
Request Body schema: application/json
object (PasswordPolicy)

パスワードポリシー

object (DeviceConfiguration)

信頼済みデバイスの記憶の設定

object (MfaConfiguration)

MFAデバイス認証設定 ※ 未提供の機能のため、変更・保存はできません

object (RecaptchaProps)

reCAPTCHA認証設定 ※ 未提供の機能のため、変更・保存はできません。

object (AccountVerification)

アカウント認証設定 ※ 未提供の機能のため、変更・保存はできません。

object (SelfRegist)

セルフサインアップを許可設定

Responses

Request samples

Content type
application/json
{
  • "password_policy": {
    },
  • "device_configuration": {
    },
  • "mfa_configuration": {
    },
  • "recaptcha_props": {
    },
  • "account_verification": {
    },
  • "self_regist": {
    }
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

saasUser

SaaS単位のユーザー

ユーザー一覧を取得

SaaSのユーザー全件を取得します。

Authorizations:
Bearer

Responses

Response samples

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

SaaSにユーザーを作成

SaaSにユーザーを作成します。 passwordを空にした場合、登録されたメールアドレスに対して仮パスワードを送信します。

Authorizations:
Bearer
Request Body schema: application/json
email
required
string

メールアドレス

password
string

パスワード

Responses

Request samples

Content type
application/json
{
  • "email": "hoge@example.com",
  • "password": "@Pass#Word1"
}

Response samples

Content type
application/json
{
  • "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "email": "hoge@example.com",
  • "attributes": {
    }
}

ユーザー情報を取得

ユーザーIDからユーザー情報を取得します。

Authorizations:
Bearer
path Parameters
user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Responses

Response samples

Content type
application/json
{
  • "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "email": "hoge@example.com",
  • "attributes": {
    }
}

ユーザー情報を削除

ユーザーIDを元に一致するユーザーをテナントからすべて削除し、SaaSからも削除します。

Authorizations:
Bearer
path Parameters
user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

パスワードを変更

ユーザーのログインパスワードを変更します。

Authorizations:
Bearer
path Parameters
user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Request Body schema: application/json
password
required
string

パスワード

Responses

Request samples

Content type
application/json
{
  • "password": "@Pass#Word1"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

メールアドレスを変更

ユーザーのメールアドレスを変更します。

Authorizations:
Bearer
path Parameters
user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Request Body schema: application/json
email
required
string

メールアドレス

Responses

Request samples

Content type
application/json
{
  • "email": "hoge@example.com"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

ユーザーのメールアドレス変更要求

ユーザーのメールアドレス変更を要求します。 要求されたメールアドレスに対して検証コードを送信します。 ユーザーのアクセストークンが必要です。 検証コードの有効期限は24時間です。

Authorizations:
Bearer
path Parameters
user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Request Body schema: application/json
email
required
string

メールアドレス

access_token
required
string (アクセストークン)

Responses

Request samples

Content type
application/json
{
  • "email": "hoge@example.com",
  • "access_token": "string"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

ユーザーのメールアドレス変更確認

ユーザーのメールアドレス変更確認のためにコードを検証します。 ユーザーのアクセストークンが必要です。

Authorizations:
Bearer
path Parameters
user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Request Body schema: application/json
code
required
string (検証コード)
access_token
required
string (アクセストークン)

Responses

Request samples

Content type
application/json
{
  • "code": "123456",
  • "access_token": "string"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

SaaSユーザーの属性情報を更新

SaaSユーザーの追加属性を更新します。

Authorizations:
Bearer
path Parameters
user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Request Body schema: application/json
required
object

属性情報

property name*
additional property
any

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

認証アプリケーションを登録

認証アプリケーションを登録します。

Authorizations:
Bearer
path Parameters
user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Request Body schema: application/json
access_token
required
string (アクセストークン)

アクセストークン

verification_code
required
string (検証コード)

検証コード

Responses

Request samples

Content type
application/json
{
  • "access_token": "string",
  • "verification_code": "string"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

認証アプリケーション登録用のシークレットコードを作成

認証アプリケーション登録用のシークレットコードを作成します。

Authorizations:
Bearer
path Parameters
user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Request Body schema: application/json
access_token
required
string (アクセストークン)

アクセストークン

Responses

Request samples

Content type
application/json
{
  • "access_token": "string"
}

Response samples

Content type
application/json
{
  • "secret_code": "string"
}

ユーザーのMFA設定を取得

ユーザーのMFA設定を取得します。

Authorizations:
Bearer
path Parameters
user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "method": "softwareToken"
}

ユーザーのMFA設定を更新

ユーザーのMFA設定を更新します。

Authorizations:
Bearer
path Parameters
user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Request Body schema: application/json
enabled
required
boolean (MFAを有効にするか否か)

MFAを有効にするか否か

method
string (MFAの方法)
Value: "softwareToken"

MFAの方法(enabledがtrueの場合は必須)

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "method": "softwareToken"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

外部IDプロバイダの連携解除

外部IDプロバイダの連携を解除します。

Authorizations:
Bearer
path Parameters
provider_name
required
string
Example: Google
user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

新規登録

ユーザーを新規登録します。登録されたメールアドレスに対して仮パスワードを送信します。

Authorizations:
Bearer
Request Body schema: application/json
email
required
string (メールアドレス)

メールアドレス

Responses

Request samples

Content type
application/json
{
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "email": "hoge@example.com",
  • "attributes": {
    }
}

新規登録時の確認メール再送信

新規登録時の仮パスワードを再送信します。

Authorizations:
Bearer
Request Body schema: application/json
email
required
string (メールアドレス)

メールアドレス

Responses

Request samples

Content type
application/json
{
  • "email": "string"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

AWS Marketplaceによるユーザー新規登録

AWS Marketplaceと連携したユーザーを新規登録します。登録されたメールアドレスに対して仮パスワードを送信します。 Registration Tokenが有効でない場合はエラーを返却します。

Authorizations:
Bearer
Request Body schema: application/json
email
required
string (メールアドレス)

メールアドレス

registration_token
required
string (登録トークン)

登録トークン

Responses

Request samples

Content type
application/json
{
  • "email": "string",
  • "registration_token": "string"
}

Response samples

Content type
application/json
{
  • "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "email": "hoge@example.com",
  • "attributes": {
    }
}

AWS Marketplaceによるユーザー新規登録の確定

AWS Marketplaceと連携したユーザー新規登録を確定します。AWS Marketplaceと連携したテナントを新規作成します。 Registration Tokenが有効でない場合はエラーを返却します。

Authorizations:
Bearer
Request Body schema: application/json
tenant_name
string (テナント名)

テナント名

access_token
required
string (アクセストークン)

アクセストークン

registration_token
required
string (登録トークン)

登録トークン

Responses

Request samples

Content type
application/json
{
  • "tenant_name": "string",
  • "access_token": "string",
  • "registration_token": "string"
}

Response samples

Content type
application/json
{
  • "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "plan_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "billing_info": {
    },
  • "name": "Anti-Pattern Inc.",
  • "attributes": {
    },
  • "back_office_staff_email": "hoge@example.com",
  • "next_plan_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "using_next_plan_from": 1640995200,
  • "next_plan_tax_rate_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "proration_behavior": "create_prorations",
  • "delete_usage": true,
  • "plan_histories": [
    ]
}

AWS Marketplaceと既存のテナントの連携

AWS Marketplaceと既存のテナントを連携します。 Registration Tokenが有効でない場合はエラーを返却します。

Authorizations:
Bearer
Request Body schema: application/json
tenant_id
required
string (テナントID)

テナントID

access_token
required
string (アクセストークン)

アクセストークン

registration_token
required
string (登録トークン)

登録トークン

Responses

Request samples

Content type
application/json
{
  • "tenant_id": "string",
  • "access_token": "string",
  • "registration_token": "string"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

tenantUser

Tenant単位のユーザー

ユーザー一覧を取得

テナントに所属しているユーザー全件を取得します。 複数テナントに所属する同一ユーザーは別のオブジェクトとして返却されます。 idは一意ではありません。

Authorizations:
Bearer

Responses

Response samples

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

ユーザー情報を取得

ユーザーIDからテナントに所属しているユーザー情報を取得します。 複数テナントに所属している場合は別のオブジェクトとして返却されます。

Authorizations:
Bearer
path Parameters
user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Responses

Response samples

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

テナントのユーザー一覧を取得

テナントに所属するユーザーを全件取得します。 idは一意です。

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

テナントID

Responses

Response samples

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

テナントにユーザーを作成

テナントにユーザーを作成します。 attributesを空のオブジェクトにした場合、追加属性は空で作成されます。

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

テナントID

Request Body schema: application/json
email
required
string

メールアドレス

required
object

属性情報(SaaS 開発コンソールでユーザー属性定義を行い設定された情報を取得します)

Responses

Request samples

Content type
application/json
{
  • "email": "hoge@example.com",
  • "attributes": {
    }
}

Response samples

Content type
application/json
{
  • "id": "f94bfffc-8be2-11ec-b41a-0242ac120004",
  • "tenant_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "tenant_name": "saasus",
  • "email": "hoge@example.com",
  • "attributes": {
    },
  • "envs": [
    ]
}

テナントのユーザー情報を取得

テナントのユーザーをIDから一件取得します。

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

テナントID

user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Responses

Response samples

Content type
application/json
{
  • "id": "f94bfffc-8be2-11ec-b41a-0242ac120004",
  • "tenant_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "tenant_name": "saasus",
  • "email": "hoge@example.com",
  • "attributes": {
    },
  • "envs": [
    ]
}

テナントのユーザー属性情報を更新

テナントのユーザー属性情報を更新します。

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

テナントID

user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Request Body schema: application/json
required
object

属性情報(SaaS 開発コンソールでユーザー属性定義を行い設定された情報を取得します)

property name*
additional property
any

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

テナントのユーザー情報を削除

テナントからユーザーを削除します。

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

テナントID

user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

テナントのユーザー情報に役割(ロール)を作成

テナントのユーザーに役割(ロール)を作成します。

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

テナントID

user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

env_id
required
integer (Id)
Example: 1

環境ID

Request Body schema: application/json
role_names
required
Array of strings

役割(ロール)情報

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

テナントのユーザーから役割(ロール)を削除

テナントのユーザーから役割(ロール)を削除します。

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

テナントID

user_id
required
string
Example: f94bfffc-8be2-11ec-b41a-0242ac120004

ユーザーID

env_id
required
integer (Id)
Example: 1

環境ID

role_name
required
string
Example: admin

役割(ロール)名

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

userAttribute

ユーザーの追加属性

ユーザー属性の一覧を取得

SaaSus Platform にて保持するユーザーの追加属性を取得します。 例えば、ユーザー名を持たせる、誕生日を持たせるなど、ユーザーに紐付いた項目の定義を行うことができます。 一方で、個人情報を SaaSus Platform 側に持たせたくない場合は、このユーザー属性定義を行わずに SaaS 側で個人情報を持つことを検討してください。

Authorizations:
Bearer

Responses

Response samples

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

ユーザー属性の作成

SaaSus Platform にて保持するユーザーの追加属性を登録します。 テナント毎に異なる値を持たせることができます。 例えば、ユーザー名を持たせる、誕生日を持たせるなど、ユーザーに紐付いた項目の定義を行うことができます。 一方で、個人情報を SaaSus Platform 側に持たせたくない場合は、このユーザー属性定義を行わずに SaaS 側で個人情報を持つことを検討してください。

Authorizations:
Bearer
Request Body schema: application/json
attribute_name
required
string

属性名

display_name
required
string

表示名

attribute_type
required
string (AttributeType)
Enum: "string" "number" "bool" "date"

型(dateはYYYY-MM-DDの形式で使用する事ができます。)

Responses

Request samples

Content type
application/json
{
  • "attribute_name": "birthday",
  • "display_name": "Birthday",
  • "attribute_type": "string"
}

Response samples

Content type
application/json
{
  • "attribute_name": "birthday",
  • "display_name": "Birthday",
  • "attribute_type": "string"
}

ユーザー属性の削除

SaaSus Platform にて保持するユーザーの追加属性を削除します。

Authorizations:
Bearer
path Parameters
attribute_name
required
string
Example: birthday

属性名

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

SaaSユーザー属性の作成

SaaSus Platform にて保持するSaaSユーザーの追加属性を登録します。 すべてのテナントに対して共通の値を持たせることができます。

Authorizations:
Bearer
Request Body schema: application/json
attribute_name
required
string

属性名

display_name
required
string

表示名

attribute_type
required
string (AttributeType)
Enum: "string" "number" "bool" "date"

型(dateはYYYY-MM-DDの形式で使用する事ができます。)

Responses

Request samples

Content type
application/json
{
  • "attribute_name": "birthday",
  • "display_name": "Birthday",
  • "attribute_type": "string"
}

Response samples

Content type
application/json
{
  • "attribute_name": "birthday",
  • "display_name": "Birthday",
  • "attribute_type": "string"
}

tenantAttribute

テナントの追加属性

テナント属性の一覧を取得

SaaSus Platform で管理する、テナントの追加属性の定義を取得します。 例えばテナントの呼び名やメモなどをを持たせることができ、SaaSからSaaSus SDK/APIを利用して取得することができます。

Authorizations:
Bearer

Responses

Response samples

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

テナント属性の作成

SaaSus Platform で管理する、テナントの追加属性の登録を行います。 例えばテナントの呼び名やメモなどをを持たせることができ、SaaSからSaaSus SDK/APIを利用して取得することができます。

Authorizations:
Bearer
Request Body schema: application/json
attribute_name
required
string

属性名

display_name
required
string

表示名

attribute_type
required
string (AttributeType)
Enum: "string" "number" "bool" "date"

型(dateはYYYY-MM-DDの形式で使用する事ができます。)

Responses

Request samples

Content type
application/json
{
  • "attribute_name": "birthday",
  • "display_name": "Birthday",
  • "attribute_type": "string"
}

Response samples

Content type
application/json
{
  • "attribute_name": "birthday",
  • "display_name": "Birthday",
  • "attribute_type": "string"
}

テナント属性の削除

SaaSus Platform で管理する、テナントの追加属性の削除を行います。

Authorizations:
Bearer
path Parameters
attribute_name
required
string
Example: birthday

属性名

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

role

役割(ロール)

役割(ロール)一覧を取得

登録されている役割(ロール)を一覧として取得します。 ここで定義した役割をユーザーに付与することによって、SaaS側で役割ベースの認可を実装することが用意になります。 また、同じユーザーでも、属するテナント・環境ごとに持っている役割を変えることが可能です。

Authorizations:
Bearer

Responses

Response samples

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

役割(ロール)を作成

役割(ロール)を作成します。 ここで作成した役割をユーザーに付与することによって、SaaS側で役割ベースの認可を実装することが用意になります。 また、同じユーザーでも、属するテナント・環境ごとに持っている役割を変えることが可能です。

Authorizations:
Bearer
Request Body schema: application/json
role_name
required
string

役割(ロール)名

display_name
required
string

役割(ロール)表示名

Responses

Request samples

Content type
application/json
{
  • "role_name": "admin",
  • "display_name": "管理者"
}

Response samples

Content type
application/json
{
  • "role_name": "admin",
  • "display_name": "管理者"
}

役割(ロール)を削除

役割(ロール)を削除します。

Authorizations:
Bearer
path Parameters
role_name
required
string
Example: admin

役割(ロール)名

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

tenant

テナント

テナント一覧取得

SaaSus Platform で管理する、テナント情報の取得を行います。

Authorizations:
Bearer

Responses

Response samples

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

テナントを作成

SaaSus Platform で管理する、テナント情報を作成します。

Authorizations:
Bearer
Request Body schema: application/json
name
required
string

テナント名

required
object

属性情報

back_office_staff_email
required
string

事務管理部門スタッフメールアドレス

Responses

Request samples

Content type
application/json
{
  • "name": "Anti-Pattern Inc.",
  • "attributes": {
    },
  • "back_office_staff_email": "hoge@example.com"
}

Response samples

Content type
application/json
{
  • "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "plan_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "billing_info": {
    },
  • "name": "Anti-Pattern Inc.",
  • "attributes": {
    },
  • "back_office_staff_email": "hoge@example.com",
  • "next_plan_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "using_next_plan_from": 1640995200,
  • "next_plan_tax_rate_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "proration_behavior": "create_prorations",
  • "delete_usage": true,
  • "plan_histories": [
    ]
}

テナント情報を取得

SaaSus Platform で管理する、テナントの詳細情報を取得します。

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

テナントID

Responses

Response samples

Content type
application/json
{
  • "current_plan_period_start": 1672531200,
  • "current_plan_period_end": 1675209600,
  • "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "plan_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "billing_info": {
    },
  • "name": "Anti-Pattern Inc.",
  • "attributes": {
    },
  • "back_office_staff_email": "hoge@example.com",
  • "next_plan_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "using_next_plan_from": 1640995200,
  • "next_plan_tax_rate_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "proration_behavior": "create_prorations",
  • "delete_usage": true,
  • "plan_histories": [
    ]
}

テナント情報を更新

SaaSus Platform で管理する、テナントの詳細情報を更新します。

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

テナントID

Request Body schema: application/json
name
required
string

テナント名

required
object

属性情報

back_office_staff_email
required
string

事務管理部門スタッフメールアドレス

Responses

Request samples

Content type
application/json
{
  • "name": "Anti-Pattern Inc.",
  • "attributes": {
    },
  • "back_office_staff_email": "hoge@example.com"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

テナント情報を削除

SaaSus Platform で管理する、テナントの詳細情報を削除します。

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

テナントID

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

テナントのプラン情報を更新

SaaSus Platform で管理しているテナントのプラン情報を更新します。

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

テナントID

Request Body schema: application/json
next_plan_id
string (Uuid)
using_next_plan_from
integer

次回料金プラン開始日時(stripe連携時、当月月初の0時(UTC)を指定すると当月月初開始のサブスクリプションを作成できます。ex. 2023年1月の場合は、1672531200 )

next_plan_tax_rate_id
string (Uuid)
proration_behavior
string (プラン変更時の比例配分の挙動)
Enum: "create_prorations" "none" "always_invoice"

stripe連携している場合で、プラン変更時の比例配分の挙動を設定できます。 プラン変更した場合に、請求金額を日割り計算し次回請求書に反映させるか、日割り計算した請求を即時に発行する、日割り計算をしないを設定できます。

delete_usage
boolean (プラン変更時の従量課金アイテムの削除)

stripe連携している場合で、プラン変更時に従量課金アイテムを削除するか設定できます。 プラン変更した場合に、現在のサブスクリプションに含まれる従量課金アイテムを全て削除して、従量課金アイテムに基づく請求の発生を止めることができます。 即時に記録している使用量がクリアされます。それらは復元できないため、delete_usageをtrueにしたプラン変更予約は取り消しできません。

Responses

Request samples

Content type
application/json
{
  • "next_plan_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "using_next_plan_from": 1640995200,
  • "next_plan_tax_rate_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "proration_behavior": "create_prorations",
  • "delete_usage": true
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

テナントの請求先情報を更新

SaaSus Platform で管理しているテナントの請求先情報を更新します。

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

テナントID

Request Body schema: application/json
name
required
string

請求用のテナント名

required
object (テナントの請求先住所)
invoice_language
required
string (InvoiceLanguage)
Enum: "ja-JP" "en-US"

請求書の言語

Responses

Request samples

Content type
application/json
{
  • "name": "株式会社テストテナント",
  • "address": {
    },
  • "invoice_language": "ja-JP"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

テナント毎の外部IDプロバイダ取得

テナント毎の外部IDプロバイダ経由のサインイン情報を取得します。

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

テナントID

Responses

Response samples

Content type
application/json
{}

テナント毎の外部IDプロバイダ更新

テナント毎の外部IDプロバイダ経由のサインイン情報を更新します。

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

テナントID

Request Body schema: application/json
provider_type
required
string (ProviderType)
Value: "SAML"
SAML外部IDプロバイダ (object) (テナント毎の外部IDプロバイダ)

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

stripe初期設定

billing経由でstripeへ初期情報を設定

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

stripe上の顧客情報・商品情報の削除

stripe上の顧客情報・商品情報を削除します

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

プランに関わる情報を全削除

料金プランに関わる情報を全削除します。 テナントに連携されたプランとプラン定義を削除します。 Stripe連携している場合、連携が解除されます。

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

Stripe顧客情報取得

テナントに連携されているStripe顧客情報を取得します。 サブスクリプション情報も含まれます。

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

テナントID

Responses

Response samples

Content type
application/json
{
  • "customer_id": "cus_1234567890",
  • "subscription_schedule_id": "cus_1234567890"
}

saasusTenant

SaaSusテナント

env

環境情報

環境情報一覧を取得

登録されている環境情報を取得します。 連携のテストや開発用環境や実際の運用で利用する環境など複数の環境を定義することができます。

Authorizations:
Bearer

Responses

Response samples

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

環境情報を作成

環境情報を作成します。 連携のテストや開発用環境や実際の運用で利用する環境など複数の環境を定義することができます。

Authorizations:
Bearer
Request Body schema: application/json
id
required
integer (Id)
name
required
string

環境名

display_name
string

環境表示名

Responses

Request samples

Content type
application/json
{
  • "id": 1,
  • "name": "saasus_dev",
  • "display_name": "SaaSus dev"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "saasus_dev",
  • "display_name": "SaaSus dev"
}

環境情報を取得

環境情報の詳細を取得します。

Authorizations:
Bearer
path Parameters
env_id
required
integer (Id)
Example: 1

環境ID

Responses

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "saasus_dev",
  • "display_name": "SaaSus dev"
}

環境情報を更新

環境情報を更新します。

Authorizations:
Bearer
path Parameters
env_id
required
integer (Id)
Example: 1

環境ID

Request Body schema: application/json
name
required
string

環境名

display_name
string

環境表示名

Responses

Request samples

Content type
application/json
{
  • "name": "saasus_dev",
  • "display_name": "SaaSus dev"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

環境情報を削除

環境情報を削除します。idが3の環境は削除できません。

Authorizations:
Bearer
path Parameters
env_id
required
integer (Id)
Example: 1

環境ID

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

credential

認証・認可情報

認証・認可情報の取得

一時コードまたはリフレッシュトークンを利用してIDトークン・アクセストークン・リフレッシュトークンを取得する。

Authorizations:
Bearer
query Parameters
code
string (Uuid)
Example: code=69e732d6-8ecc-45c4-c2eb-8438f7ffe775

一時コード

auth-flow
string
Enum: "tempCodeAuth" "refreshTokenAuth"

認証フロー tempCodeAuth: 一時コードを利用した認証情報の取得 refreshTokenAuth: リフレッシュトークンを利用した認証情報の取得 指定されていない場合は tempCodeAuth になります

refresh-token
string

リフレッシュトークン

Responses

Response samples

Content type
application/json
{
  • "id_token": "string",
  • "access_token": "string",
  • "refresh_token": "string"
}

認証・認可情報の保存

引数のIDトークン・アクセストークン・リフレッシュトークンを一時保存し取得用の一時コードを返却する。 一時コードの有効期間は発行から10秒です。

Authorizations:
Bearer
Request Body schema: application/json
id_token
required
string (IDトークン)

IDトークン

access_token
required
string (アクセストークン)

アクセストークン

refresh_token
string (リフレッシュトークン)

リフレッシュトークン

Responses

Request samples

Content type
application/json
{
  • "id_token": "string",
  • "access_token": "string",
  • "refresh_token": "string"
}

Response samples

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

invitation

招待

テナントの招待一覧を取得

テナントへの招待一覧を取得します。

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

テナントID

Responses

Response samples

Content type
application/json
{}

テナントへの招待を作成

テナントへの招待を作成します。

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

テナントID

Request Body schema: application/json
email
required
string (メールアドレス)

招待するユーザーのメールアドレス

access_token
required
string (アクセストークン)

招待を作成するユーザーのアクセストークン

required
Array of objects (招待するユーザーの環境情報)

Responses

Request samples

Content type
application/json
{
  • "email": "test@example.com",
  • "access_token": "string",
  • "envs": [
    ]
}

Response samples

Content type
application/json
{}

テナントの招待情報を取得

テナントへの招待情報を取得します。

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

テナントID

invitation_id
required
string (Uuid)
Example: 69e732d6-8ecc-45c4-c2eb-8438f7ffe775

招待ID

Responses

Response samples

Content type
application/json
{}

テナントへの招待を削除

テナントへの招待を削除します。

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

テナントID

invitation_id
required
string (Uuid)
Example: 69e732d6-8ecc-45c4-c2eb-8438f7ffe775

招待ID

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

テナントへの招待の有効性を取得

テナントへの招待の有効性を取得します。

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

招待ID

Responses

Response samples

Content type
application/json
{
  • "is_valid": true
}

テナントへの招待を検証

テナントへの招待を検証します。

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

招待ID

Request Body schema: application/json
access_token
string (アクセストークン)

招待されたユーザーのアクセストークン

email
string (メールアドレス)

招待されたユーザーのメールアドレス

password
string (パスワード)

招待されたユーザーのパスワード

Responses

Request samples

Content type
application/json
{
  • "access_token": "string",
  • "email": "test@example.com",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

singleTenant

シングルテナント管理

SingleTenant用CloudFormationスタック起動リンク取得

SingleTenant用CloudFormationスタック起動リンクを取得します。

Authorizations:
Bearer

Responses

シングルテナント機能の設定情報を取得する

Authorizations:
Bearer

Responses

シングルテナント機能の設定情報を更新する

シングルテナント機能の設定情報を更新します。 シングルテナント機能の有効化ができない場合はエラーを返します。

Authorizations:
Bearer
Request Body schema: application/json
enabled
boolean (シングルテナント設定を有効にするか否か)

シングルテナント設定を有効にするか否か

role_arn
string (AssumeRoleするためのロールのARN)

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

cloudformation_template
string <base64> (CloudFormationテンプレートファイル)

SaaS環境で実行するCloudFormationTemplateファイル

ddl_template
string <base64> (ddlテンプレートファイル)

SaaS環境で実行するddlファイル

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

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

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "role_arn": "arn:aws:iam::123456789012:role/role-name",
  • "cloudformation_template": "U3dhZ2dlciByb2Nrcw==",
  • "ddl_template": "U3dhZ2dlciByb2Nrcw==",
  • "role_external_id": 1234567890
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

error

テスト用途のエラー

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

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

Authorizations:
Bearer

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "message": "string",
  • "data": {
    }
}

userInfo

ユーザー情報取得

SaaS利用ユーザ(登録ユーザ)のIDトークンを元に、ユーザ情報を取得します。 IDトークンは、SaaSus Platform生成のログイン画面からログイン時にCallback URLに渡されます。 サーバ側でそのURLからIDトークンを取得し、このAPIを呼ぶことにより、該当ユーザの情報が取得できます。 取得した上には、所属テナントや役割(ロール)、料金プランなどが含まれているため、それを元に認可の実装を行うことが可能です。

Authorizations:
Bearer
query Parameters
token
required
string

IDトークン

Responses

Response samples

Content type
application/json
{
  • "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
  • "email": "hoge@example.com",
  • "user_attribute": {
    },
  • "tenants": [
    ]
}