Auth API
SaaSus Auth API Schema (1.0.0)
Schema
Get Basic Configurations
Get the domain name and CNAME record based on the SaaS ID. By setting the CNAME record on the DNS the login screen will be generated.
Authorizations:
Responses
Response samples
- 200
- 500
{- "domain_name": "dev.saasus.io",
- "is_dns_validated": false,
- "certificate_dns_record": {
- "type": "CNAME",
- "name": "_k90jaskdfawehro.domain-of-saasus-client.com.",
- "value": "_cmojwc239j102mosd9.acm-validations.aws."
}, - "cloud_front_dns_record": {
- "type": "CNAME",
- "name": "_k90jaskdfawehro.domain-of-saasus-client.com.",
- "value": "_cmojwc239j102mosd9.acm-validations.aws."
}, - "dkim_dns_records": [
- {
- "type": "CNAME",
- "name": "_k90jaskdfawehro.domain-of-saasus-client.com.",
- "value": "_cmojwc239j102mosd9.acm-validations.aws."
}
], - "default_domain_name": "d78bh0l3saarv.cloudfront.net",
- "from_email_address": "test@example.com",
- "reply_email_address": "test@example.com",
- "is_ses_sandbox_granted": false
}Update Basic Configurations
Update the domain name that was set as a parameter based on the SaaS ID. After the CNAME record is generated, set it in your DNS. If it is set on a SaaS application that is already running, it will affect the behavior.
Authorizations:
Request Body schema: application/json
| domain_name required | string Domain Name |
| from_email_address required | string Sender email of authentication email |
| reply_email_address | string Reply-from email address of authentication email |
Responses
Request samples
- Payload
{- "domain_name": "dev.saasus.io",
- "from_email_address": "test@example.com",
- "reply_email_address": "test@example.com"
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Response samples
- 200
- 500
{- "sign_up": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "create_user": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "resend_code": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "forgot_password": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "update_user_attribute": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "verify_user_attribute": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "authentication_mfa": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "invite_tenant_user": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "verify_external_user": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}
}Update Notification Email Template
Update notification email template.
Authorizations:
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
- Payload
{- "sign_up": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "create_user": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "resend_code": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "forgot_password": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "update_user_attribute": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "verify_user_attribute": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "authentication_mfa": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "invite_tenant_user": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}, - "verify_external_user": {
- "subject": "Verify your new account",
- "message": "The verification code to your new account is {####}"
}
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Get Authentication Page Setting
Get the authentication screen setting information (new registration, login, password reset, etc.).
Authorizations:
Responses
Response samples
- 200
- 500
{- "sign_up_page": {
- "html_contents": "<html><div>画面内容</div></html>",
- "is_terms_of_service": true,
- "is_privacy_policy": true
}, - "sign_in_page": {
- "html_contents": "<html><div>画面内容</div></html>",
- "is_terms_of_service": true,
- "is_privacy_policy": true
}, - "password_reset_page": {
- "html_contents": "<html><div>画面内容</div></html>",
- "is_terms_of_service": true,
- "is_privacy_policy": true
}
}Authentication Page Setting
Update the authentication page setting information (new registration, login, password reset, etc.).
Authorizations:
Request Body schema: application/json
object (CustomizePageProps) | |
object (CustomizePageProps) | |
object (CustomizePageProps) |
Responses
Request samples
- Payload
{- "sign_up_page": {
- "html_contents": "<html><div>画面内容</div></html>",
- "is_terms_of_service": true,
- "is_privacy_policy": true
}, - "sign_in_page": {
- "html_contents": "<html><div>画面内容</div></html>",
- "is_terms_of_service": true,
- "is_privacy_policy": true
}, - "password_reset_page": {
- "html_contents": "<html><div>画面内容</div></html>",
- "is_terms_of_service": true,
- "is_privacy_policy": true
}
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Update Authentication Authorization Basic Information
Update authentication authorization basic information.
Authorizations:
Request Body schema: application/json
| icon required | string <base64> service icon |
| favicon required | string <base64> favicon |
| title required | string service name |
| terms_of_service_url required | string terms of service URL |
| privacy_policy_url required | string privacy policy URL |
| google_tag_manager_container_id required | string Google Tag Manager container ID |
| is_sign_in_id_enabled | boolean display setting for sign-in ID on the sign-in screen |
Responses
Request samples
- Payload
{- "icon": "data:image/png;base64,ZDMiIHN0UmVmOmRvY3VtZW50SUQ9Inhtc==",
- "favicon": "data:image/png;base64,ZDMiIHN0UmVmOmRvY3VtZW50SUQ9Inhtc==",
- "title": "SaaSus",
- "google_tag_manager_container_id": "GTM-XXXXXXX",
- "is_sign_in_id_enabled": false
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Update Authentication Info
Register post-login SaaS URL for authentication information. It is possible to pass authentication information to the URL registered here and implement this Callback using the SaaSus SDK.
Authorizations:
Request Body schema: application/json
| callback_url required | string Redirect After Authentication |
Responses
Request samples
- Payload
{
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Get Sign-In Information Via External Provider
Get sign-in information via external provider set in cognito.
Authorizations:
Responses
Response samples
- 200
- 500
{- "google": {
- "application_id": 1234567890123456,
- "application_secret": "123456789b00def123456a12345678d1",
- "approval_scope": "profile email openid",
- "is_button_hidden": false
}
}Update Sign-In Information
Update the sign-in information for the external ID provider
Authorizations:
Request Body schema: application/json
| provider required | string (ProviderName) Value: "Google" |
object (IdentityProviderProps) |
Responses
Request samples
- Payload
{- "provider": "Google",
- "identity_provider_props": {
- "application_id": 1234567890123456,
- "application_secret": "123456789b00def123456a12345678d1",
- "approval_scope": "profile email openid",
- "is_button_hidden": false
}
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Get Password Requirements
Get user password requirements. Set a secure password that is difficult to decipher by increasing the number of digits by combining alphabets, numbers, and symbols.
Authorizations:
Responses
Response samples
- 200
- 500
{- "password_policy": {
- "minimum_length": 10,
- "is_require_lowercase": true,
- "is_require_numbers": true,
- "is_require_symbols": true,
- "is_require_uppercase": true,
- "temporary_password_validity_days": 10
}, - "device_configuration": {
- "device_remembering": "always"
}, - "mfa_configuration": {
- "mfa_configuration": "on"
}, - "recaptcha_props": {
- "site_key": "ede66c43-9b9d-4222-93ed-5f11c96e08e2",
- "secret_key": "d5794b1b-5f92-4dc6-aa48-085dbb08b813"
}, - "account_verification": {
- "verification_method": "code",
- "sending_to": "email"
}, - "self_regist": {
- "enable": true
}, - "identity_provider_configuration": {
- "domain": "string",
- "redirect_url": "string",
- "entity_id": "string",
- "reply_url": "string"
}
}Update Password Requirements
Update user password requirements. Set a secure password that is difficult to decipher by increasing the number of digits by combining alphabets, numbers, and symbols.
Authorizations:
Request Body schema: application/json
object (PasswordPolicy) Password Policy | |
object (DeviceConfiguration) Settings for remembering trusted devices | |
object (MfaConfiguration) MFA device authentication settings ※ This function is not yet provided, so it cannot be changed or saved. | |
object (RecaptchaProps) reCAPTCHA authentication settings ※ This function is not yet provided, so it cannot be changed or saved. | |
object (AccountVerification) Account authentication settings ※ This function is not yet provided, so it cannot be changed or saved. | |
object (SelfRegist) self sign-up permission |
Responses
Request samples
- Payload
{- "password_policy": {
- "minimum_length": 10,
- "is_require_lowercase": true,
- "is_require_numbers": true,
- "is_require_symbols": true,
- "is_require_uppercase": true,
- "temporary_password_validity_days": 10
}, - "device_configuration": {
- "device_remembering": "always"
}, - "mfa_configuration": {
- "mfa_configuration": "on"
}, - "recaptcha_props": {
- "site_key": "ede66c43-9b9d-4222-93ed-5f11c96e08e2",
- "secret_key": "d5794b1b-5f92-4dc6-aa48-085dbb08b813"
}, - "account_verification": {
- "verification_method": "code",
- "sending_to": "email"
}, - "self_regist": {
- "enable": true
}
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Response samples
- 200
- 500
{- "users": [
- {
- "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
- "email": "tanaka@example.com",
- "sign_in_id": "",
- "attributes": {
- "department": "development",
- "employee_number": 10
}, - "last_login_at": 1640995200
}
]
}Create SaaS User
Create SaaS User. If attributes is empty, a temporary password will be sent to the registered email.
Authorizations:
Request Body schema: application/json
string | |
| sign_in_id | string Sign-in ID (alphanumeric and symbols -_ only, max 50 characters) |
| password | string Password. For email authentication, if not specified, a temporary password will be sent by email. For sign-in ID authentication, if not specified, password will be auto-generated and returned. |
Responses
Request samples
- Payload
{- "email": null,
- "sign_in_id": "user12345",
- "password": "@Pass#Word1"
}Response samples
- 201
- 400
- 500
{- "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
- "email": "",
- "sign_in_id": "user12345",
- "attributes": { }
}Save SaaS Users Count
Save the count of SaaS users.
Authorizations:
Request Body schema: application/jsonrequired
| count required | integer >= 0 Count of SaaS users |
Responses
Request samples
- Payload
{- "count": 42
}Response samples
- 400
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Search SaaS Users
Search SaaS users by user ID, email, or sign-in ID.
Authorizations:
query Parameters
| id | string (Uuid) Example: id=69e732d6-8ecc-45c4-c2eb-8438f7ffe775 User ID |
string Email prefix | |
| sign_in_id | string Sign-in ID prefix |
| limit | integer <int64> [ 1 .. 100 ] Maximum number of items to retrieve |
| cursor | string Cursor for cursor pagination |
Responses
Response samples
- 200
- 400
- 500
{- "users": [
- {
- "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
- "email": "tanaka@example.com",
- "sign_in_id": "",
- "attributes": {
- "department": "development",
- "employee_number": 10
}, - "last_login_at": 1640995200
}
], - "cursor": "string"
}Get User
Get user information based on user ID.
Authorizations:
path Parameters
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Responses
Response samples
- 200
- 404
- 500
{- "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
- "email": "tanaka@example.com",
- "sign_in_id": "",
- "attributes": {
- "department": "development",
- "employee_number": 10
}, - "last_login_at": 1640995200
}Delete User
Delete all users with matching user ID from the tenant and SaaS. Returns user information before deletion.
Authorizations:
path Parameters
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Responses
Response samples
- 200
- 404
- 500
{- "id": "f94bfffc-8be2-11ec-b41a-0242ac120004",
- "email": "test@example.com",
- "sign_in_id": "",
- "user_attribute": {
- "address": "東京都",
- "employee_number": 100
}, - "tenants": [
- {
- "id": "d1234567-89ab-cdef-0123-456789abcdef",
- "name": "Anti-Pattern Inc.",
- "completed_sign_up": true,
- "envs": [
- {
- "id": 1,
- "name": "dev",
- "display_name": "Development",
- "roles": [
- {
- "role_name": "admin",
- "display_name": "Administrator"
}
]
}
], - "user_attribute": {
- "address": "東京都",
- "employee_number": 100
}, - "back_office_staff_email": "test@example.com",
- "plan_id": "f94bfffc-8be2-11ec-b41a-0242ac120005",
- "is_paid": true
}
]
}Change Password
Change user's login password.
Authorizations:
path Parameters
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Request Body schema: application/json
| password required | string Password |
| temporary | boolean Set to true to mark the new password as a temporary password (user must change on next sign-in) |
Responses
Request samples
- Payload
{- "password": "@Pass#Word1",
- "temporary": true
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Reset Password
Reset user's login password. The current password will be invalidated and a temporary password will be issued.
Authorizations:
path Parameters
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Responses
Response samples
- 200
- 404
- 500
{- "password": "string"
}Change Email
Change user's email. The user must be an email authentication user. Sign-in ID authentication users cannot change their email.
Authorizations:
path Parameters
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Request Body schema: application/json
| email required | string |
Responses
Request samples
- Payload
{- "email": "hoge@example.com"
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Change Sign-in ID
Change user's sign-in ID.
Authorizations:
path Parameters
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Request Body schema: application/json
| sign_in_id required | string Sign-in ID |
Responses
Request samples
- Payload
{- "sign_in_id": "user_name_01"
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Request User Email Update
Request to update the user's email address. Sends a verification code to the requested email address. Requires the user's access token. The verification code is valid for 24 hours. This API is only available for email-authenticated users. Sign-in ID authentication users cannot use this API.
Authorizations:
path Parameters
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Request Body schema: application/json
| email required | string Email Address |
| access_token required | string (Access Token) |
Responses
Request samples
- Payload
{- "email": "hoge@example.com",
- "access_token": "string"
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Confirm User Email Update
Verify the code to confirm the user's email address update. Requires the user's access token.
Authorizations:
path Parameters
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Request Body schema: application/json
| code required | string (Verification Code) |
| access_token required | string (Access Token) |
Responses
Request samples
- Payload
{- "code": "123456",
- "access_token": "string"
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Update SaaS User Attributes
Update the additional attributes of the SaaS user.
Authorizations:
path Parameters
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Request Body schema: application/json
required | object Attribute information | ||
| |||
Responses
Request samples
- Payload
{- "attributes": {
- "address": "東京都",
- "birthday": 19940925,
- "sex": "男"
}
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Register Authentication Application
Register an authentication application.
Authorizations:
path Parameters
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Request Body schema: application/json
| access_token required | string (Access Token) access token |
| verification_code required | string (Verification Code) verification code |
Responses
Request samples
- Payload
{- "access_token": "string",
- "verification_code": "string"
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Create secret code for authentication application registration
Create a secret code for authentication application registration.
Authorizations:
path Parameters
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Request Body schema: application/json
| access_token required | string (Access Token) access token |
Responses
Request samples
- Payload
{- "access_token": "string"
}Response samples
- 201
- 500
{- "secret_code": "string"
}Update User's MFA Settings
Update user's MFA settings.
Authorizations:
path Parameters
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Request Body schema: application/json
| enabled required | boolean (Enable MFA) enable MFA |
| method | string (MFA Method) Enum: "softwareToken" "email" MFA method (required if enabled is true) |
Responses
Request samples
- Payload
{- "enabled": true,
- "method": "softwareToken"
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Unlink external identity providers
Unlink external identity providers.
Authorizations:
path Parameters
| provider_name required | string Example: Google |
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Responses
Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Request External User Account Link
Request to link an external account user. Get the email address of the user to be linked from the access token and send a verification code to that email address. The verification code is valid for 24 hours.
Authorizations:
Request Body schema: application/json
| access_token required | string (Access Token) |
Responses
Request samples
- Payload
{- "access_token": "string"
}Response samples
- 400
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Confirm External User Account Link
Verify the code for external account user link confirmation.
Authorizations:
Request Body schema: application/json
| access_token required | string (Access Token) |
| code required | string (Verification Code) |
Responses
Request samples
- Payload
{- "access_token": "string",
- "code": "123456"
}Response samples
- 400
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Sign In
A user attempts to sign in.
Authorizations:
Request Body schema: application/json
| sign_in_flow required | string (SignIn Flow) Value: "USER_SRP_AUTH" The sign-in flow to use for authentication. Currently, only USER_SRP_AUTH is supported. |
object (SignIn Parameters) The required parameters vary depending on the sign_in_flow. USER_SRP_AUTH: USERNAME: email address SRP_A: SRP A value |
Responses
Request samples
- Payload
{- "sign_in_flow": "USER_SRP_AUTH",
- "sign_in_parameters": {
- "property1": "string",
- "property2": "string"
}
}Response samples
- 200
- 401
- 500
{- "challenge_name": "SMS_MFA",
- "challenge_parameters": {
- "property1": "string",
- "property2": "string"
}, - "session": "string"
}Confirm Device
Confirms a device for remembering.
Authorizations:
Request Body schema: application/json
| access_token required | string (Access Token) A valid access token. |
| device_key required | string (Device Key) The unique identifier of the device. |
| device_name | string (Device Name) A friendly name for the device. |
object (Device Secret Verifier Config) The configuration of the device secret verifier. |
Responses
Request samples
- Payload
{- "access_token": "string",
- "device_key": "string",
- "device_name": "string",
- "device_secret_verifier_config": {
- "password_verifier": "string",
- "salt": "string"
}
}Response samples
- 200
- 400
- 401
- 500
{- "user_confirmation_necessary": true
}Update Device Status
Updates the device status.
Authorizations:
Request Body schema: application/json
| access_token required | string (Access Token) A valid access token. |
| device_key required | string (Device Key) The unique identifier of the device. |
| device_remembered_status required | string (Device Remembered Status) Enum: "remembered" "not_remembered" The status of whether a device is remembered. "remembered" enables device authentication, "not_remembered" disables it. |
Responses
Request samples
- Payload
{- "access_token": "string",
- "device_key": "string",
- "device_remembered_status": "remembered"
}Response samples
- 400
- 401
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Respond to Sign In Challenge
Respond to a sign-in challenge.
Authorizations:
Request Body schema: application/json
| challenge_name required | string (Challenge Name) Enum: "SMS_MFA" "EMAIL_OTP" "SOFTWARE_TOKEN_MFA" "SELECT_MFA_TYPE" "MFA_SETUP" "PASSWORD_VERIFIER" "CUSTOM_CHALLENGE" "SELECT_CHALLENGE" "DEVICE_SRP_AUTH" "DEVICE_PASSWORD_VERIFIER" "ADMIN_NO_SRP_AUTH" "NEW_PASSWORD_REQUIRED" "SMS_OTP" "PASSWORD" "WEB_AUTHN" "PASSWORD_SRP" Challenge name |
object (Challenge Responses) Responses to the challenge. The required responses vary depending on the challenge_name. | |
| session | string (Session) Session identifier for the challenge. |
Responses
Request samples
- Payload
{- "challenge_name": "SMS_MFA",
- "challenge_responses": {
- "property1": "string",
- "property2": "string"
}, - "session": "string"
}Response samples
- 200
- 401
- 500
{- "credentials": {
- "id_token": "string",
- "access_token": "string",
- "refresh_token": "string"
}, - "challenge_name": "SMS_MFA",
- "challenge_parameters": {
- "property1": "string",
- "property2": "string"
}, - "session": "string",
- "new_device_metadata": {
- "device_key": "string",
- "device_group_key": "string"
}
}Sign Up
Register a new user. A temporary password will be sent to the registered email.
Authorizations:
Request Body schema: application/json
| email required | string (Email Address) Email Address |
Responses
Request samples
- Payload
{- "email": "string"
}Response samples
- 201
- 500
{- "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
- "email": "tanaka@example.com",
- "sign_in_id": "",
- "attributes": {
- "department": "development",
- "employee_number": 10
}, - "last_login_at": 1640995200
}Resend Sign Up Confirmation Email
Resend temporary password for the new registered user.
Authorizations:
Request Body schema: application/json
| email required | string (Email Address) Email Address |
Responses
Request samples
- Payload
{- "email": "string"
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Sign Up with AWS Marketplace
Register a new user linked to AWS Marketplace. A temporary password will be sent to the registered email. If the Registration Token is not valid, an error is returned.
Authorizations:
Request Body schema: application/json
| email required | string (Email Address) Email Address |
| registration_token required | string (Registration Token) Registration Token |
Responses
Request samples
- Payload
{- "email": "string",
- "registration_token": "string"
}Response samples
- 201
- 500
{- "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
- "email": "tanaka@example.com",
- "sign_in_id": "",
- "attributes": {
- "department": "development",
- "employee_number": 10
}, - "last_login_at": 1640995200
}Confirm Sign Up with AWS Marketplace
Confirm a new use registeration linked to AWS Marketplace. Create a new tenant linked to AWS Marketplace. If the Registration Token is not valid, an error is returned.
Authorizations:
Request Body schema: application/json
| tenant_name | string (Tenant Name) Tenant name |
| access_token required | string (Access Token) Access token |
| registration_token required | string (Registration Token) Registration Token |
Responses
Request samples
- Payload
{- "tenant_name": "string",
- "access_token": "string",
- "registration_token": "string"
}Response samples
- 201
- 500
{- "id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
- "plan_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
- "billing_info": {
- "name": "株式会社テストテナント",
- "address": {
- "street": "神宮前1-1-1",
- "city": "渋谷区",
- "state": "東京都",
- "country": "JP",
- "additional_address_info": "オフィスビル3階",
- "postal_code": "123-4567"
}, - "invoice_language": "ja-JP"
}, - "name": "Anti-Pattern Inc.",
- "attributes": {
- "address": "東京都",
- "employee_number": 100
}, - "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": [
- {
- "plan_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
- "plan_applied_at": 1640995200,
- "tax_rate_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
- "proration_behavior": "create_prorations",
- "delete_usage": true
}
]
}Link an existing tenant with AWS Marketplace
Link an existing tenant with AWS Marketplace. If the Registration Token is not valid, an error is returned.
Authorizations:
Request Body schema: application/json
| tenant_id required | string (Tenant ID) Tenant ID |
| access_token required | string (Access Token) Access token |
| registration_token required | string (Registration Token) Registration Token |
Responses
Request samples
- Payload
{- "tenant_id": "string",
- "access_token": "string",
- "registration_token": "string"
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Get Users
Get all users belonging to the tenant. The same user belonging to multiple tenants will be returned as a different object. Id is not unique.
Authorizations:
Responses
Response samples
- 200
- 500
{- "users": [
- {
- "id": "f94bfffc-8be2-11ec-b41a-0242ac120004",
- "tenant_id": "d1234567-89ab-cdef-0123-456789abcdef",
- "tenant_name": "saasus",
- "email": "test@example.com",
- "sign_in_id": "",
- "attributes": {
- "address": "東京都",
- "birthday": 19940925
}, - "envs": [
- {
- "id": 1,
- "name": "dev",
- "display_name": "Development",
- "roles": [
- {
- "role_name": "admin",
- "display_name": "Administrator"
}
]
}
]
}
]
}Save Tenant Users Count
Save the count of tenant users for each tenant.
Authorizations:
Request Body schema: application/jsonrequired
required | Array of objects (Save Tenant User Count Parameter) <= 10000 items | ||||
Array (<= 10000 items)
| |||||
Responses
Request samples
- Payload
{- "tenant_user_counts": [
- {
- "tenant_id": "69e732d6-8ecc-45c4-c2eb-8438f7ffe775",
- "count": 5
}
]
}Response samples
- 400
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Search Tenant Users
Search tenant users by user id, tenant id, email, sign-in ID, env, or role.
Authorizations:
query Parameters
| tenant_id | string (Uuid) Example: tenant_id=69e732d6-8ecc-45c4-c2eb-8438f7ffe775 Tenant ID |
| id | string (Uuid) Example: id=69e732d6-8ecc-45c4-c2eb-8438f7ffe775 User ID |
string Email prefix | |
| sign_in_id | string Sign-in ID prefix |
| env_id | integer >= 1 Environment ID |
| role_name | string Role Name |
| limit | integer <int64> [ 1 .. 100 ] Maximum number of items to retrieve |
| cursor | string Cursor for cursor pagination |
Responses
Response samples
- 200
- 400
- 500
{- "users": [
- {
- "id": "f94bfffc-8be2-11ec-b41a-0242ac120004",
- "tenant_id": "d1234567-89ab-cdef-0123-456789abcdef",
- "tenant_name": "saasus",
- "email": "test@example.com",
- "sign_in_id": "",
- "attributes": {
- "address": "東京都",
- "birthday": 19940925
}, - "envs": [
- {
- "id": 1,
- "name": "dev",
- "display_name": "Development",
- "roles": [
- {
- "role_name": "admin",
- "display_name": "Administrator"
}
]
}
]
}
], - "cursor": "string"
}Get User Info
Get information on user belonging to the tenant from the user ID. If the user belongs to multiple tenants, it will be returned as another object.
Authorizations:
path Parameters
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Responses
Response samples
- 200
- 404
- 500
{- "users": [
- {
- "id": "f94bfffc-8be2-11ec-b41a-0242ac120004",
- "tenant_id": "d1234567-89ab-cdef-0123-456789abcdef",
- "tenant_name": "saasus",
- "email": "test@example.com",
- "sign_in_id": "",
- "attributes": {
- "address": "東京都",
- "birthday": 19940925
}, - "envs": [
- {
- "id": 1,
- "name": "dev",
- "display_name": "Development",
- "roles": [
- {
- "role_name": "admin",
- "display_name": "Administrator"
}
]
}
]
}
]
}Get Tenant Users
Get all the users belonging to the tenant. Id is unique.
Authorizations:
path Parameters
| tenant_id required | string (Uuid) Example: 69e732d6-8ecc-45c4-c2eb-8438f7ffe775 Tenant ID |
Responses
Response samples
- 200
- 500
{- "users": [
- {
- "id": "f94bfffc-8be2-11ec-b41a-0242ac120004",
- "tenant_id": "d1234567-89ab-cdef-0123-456789abcdef",
- "tenant_name": "saasus",
- "email": "test@example.com",
- "sign_in_id": "",
- "attributes": {
- "address": "東京都",
- "birthday": 19940925
}, - "envs": [
- {
- "id": 1,
- "name": "dev",
- "display_name": "Development",
- "roles": [
- {
- "role_name": "admin",
- "display_name": "Administrator"
}
]
}
]
}
]
}Create Tenant User
Create a tenant user. If attributes is empty, the additional attributes will be created empty.
Authorizations:
path Parameters
| tenant_id required | string (Uuid) Example: 69e732d6-8ecc-45c4-c2eb-8438f7ffe775 Tenant ID |
Request Body schema: application/json
string | |
| sign_in_id | string Sign-in ID (alphanumeric and symbols -_ only, max 50 characters) |
required | object Attribute information (Get information set by defining user attributes in the SaaS development console) |
Responses
Request samples
- Payload
{- "email": "test@example.com",
- "sign_in_id": null,
- "attributes": {
- "address": "東京都",
- "birthday": 19940925
}
}Response samples
- 201
- 500
{- "id": "f94bfffc-8be2-11ec-b41a-0242ac120004",
- "tenant_id": "d1234567-89ab-cdef-0123-456789abcdef",
- "tenant_name": "saasus",
- "email": "test@example.com",
- "sign_in_id": "",
- "attributes": {
- "address": "東京都",
- "birthday": 19940925
}, - "envs": [
- {
- "id": 1,
- "name": "dev",
- "display_name": "Development",
- "roles": [
- {
- "role_name": "admin",
- "display_name": "Administrator"
}
]
}
]
}Get Tenant User
Get one tenant user by specific ID.
Authorizations:
path Parameters
| tenant_id required | string (Uuid) Example: 69e732d6-8ecc-45c4-c2eb-8438f7ffe775 Tenant ID |
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Responses
Response samples
- 200
- 404
- 500
{- "id": "f94bfffc-8be2-11ec-b41a-0242ac120004",
- "tenant_id": "d1234567-89ab-cdef-0123-456789abcdef",
- "tenant_name": "saasus",
- "email": "test@example.com",
- "sign_in_id": "",
- "attributes": {
- "address": "東京都",
- "birthday": 19940925
}, - "envs": [
- {
- "id": 1,
- "name": "dev",
- "display_name": "Development",
- "roles": [
- {
- "role_name": "admin",
- "display_name": "Administrator"
}
]
}
]
}Update Tenant User Attribute
Update tenant user attributes.
Authorizations:
path Parameters
| tenant_id required | string (Uuid) Example: 69e732d6-8ecc-45c4-c2eb-8438f7ffe775 Tenant ID |
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Request Body schema: application/json
required | object Attribute information (Get information set by defining user attributes in the SaaS development console) | ||
| |||
Responses
Request samples
- Payload
{- "attributes": {
- "address": "東京都",
- "birthday": 19940925,
- "sex": "男"
}
}Response samples
- 404
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Delete Tenant User
Delete a user from the tenant.
Authorizations:
path Parameters
| tenant_id required | string (Uuid) Example: 69e732d6-8ecc-45c4-c2eb-8438f7ffe775 Tenant ID |
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
Responses
Response samples
- 404
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Create Tenant User Role
Create roles on tenant users.
Authorizations:
path Parameters
| tenant_id required | string (Uuid) Example: 69e732d6-8ecc-45c4-c2eb-8438f7ffe775 Tenant ID |
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
| env_id required | integer (Id) Example: 1 Env ID |
Request Body schema: application/json
| role_names required | Array of strings Role Info |
Responses
Request samples
- Payload
{- "role_names": [
- "admin"
]
}Response samples
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Remove Role From Tenant User
Remove a role from a tenant user.
Authorizations:
path Parameters
| tenant_id required | string (Uuid) Example: 69e732d6-8ecc-45c4-c2eb-8438f7ffe775 Tenant ID |
| user_id required | string Example: f94bfffc-8be2-11ec-b41a-0242ac120004 User ID |
| env_id required | integer (Id) Example: 1 Env ID |
| role_name required | string Example: admin Role name |
Responses
Response samples
- 404
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Get User Attributes
Get additional attributes of the user saved in the SaaSus Platform. For example, you can define items associated with a user, such as user name, birthday, etc. If you don't want personal information on the SaaS Platform side, personal information can be kept on the SaaS side without user attribute definition.
Authorizations:
Responses
Response samples
- 200
- 500
{- "user_attributes": [
- {
- "attribute_name": "birthday",
- "display_name": "Birthday",
- "attribute_type": "string"
}
]
}Create User Attributes
Create additional user attributes to be kept on the SaaSus Platform. You can give different values to each tenant. For example, you can define items associated with a user, such as user name, birthday, etc. If you don't want personal information on the SaaS Platform side, personal information can be kept on the SaaS side without user attribute definition.
Authorizations:
Request Body schema: application/json
| attribute_name required | string Attribute Name |
| display_name required | string Display Name |
| attribute_type required | string (AttributeType) Enum: "string" "number" "bool" "date" Type (date can be set to YYYY-MM-DD format.) |
Responses
Request samples
- Payload
{- "attribute_name": "birthday",
- "display_name": "Birthday",
- "attribute_type": "string"
}Response samples
- 201
- 500
{- "attribute_name": "birthday",
- "display_name": "Birthday",
- "attribute_type": "string"
}Delete User Attribute
Delete user attributes kept on the SaaSus Platform.
Authorizations:
path Parameters
| attribute_name required | string Example: birthday Attribute Name |
Responses
Response samples
- 404
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Create SaaS User Attributes
Create additional SaaS user attributes to be kept on the SaaSus Platform. You can give common values to all tenants.
Authorizations:
Request Body schema: application/json
| attribute_name required | string Attribute Name |
| display_name required | string Display Name |
| attribute_type required | string (AttributeType) Enum: "string" "number" "bool" "date" Type (date can be set to YYYY-MM-DD format.) |
Responses
Request samples
- Payload
{- "attribute_name": "birthday",
- "display_name": "Birthday",
- "attribute_type": "string"
}Response samples
- 201
- 500
{- "attribute_name": "birthday",
- "display_name": "Birthday",
- "attribute_type": "string"
}Get Tenant Attributes
Get definitions for additional tenant attributes managed by the SaaSus Platform. For example, tenant name, memo, etc., then get the attributes from SaaS using the SaaSus SDK/API.
Authorizations:
Responses
Response samples
- 200
- 500
{- "tenant_attributes": [
- {
- "attribute_name": "birthday",
- "display_name": "Birthday",
- "attribute_type": "string"
}
]
}Create Tenant Attribute
Register additional tenant attributes to be managed by SaaSus Platform. For example, tenant name, memo, etc., then get the attributes from SaaS using the SaaSus SDK/API.
Authorizations:
Request Body schema: application/json
| attribute_name required | string Attribute Name |
| display_name required | string Display Name |
| attribute_type required | string (AttributeType) Enum: "string" "number" "bool" "date" Type (date can be set to YYYY-MM-DD format.) |
Responses
Request samples
- Payload
{- "attribute_name": "birthday",
- "display_name": "Birthday",
- "attribute_type": "string"
}Response samples
- 201
- 500
{- "attribute_name": "birthday",
- "display_name": "Birthday",
- "attribute_type": "string"
}Delete Tenant Attribute
Deletes tenant attributes managed by SaaSus Platform.
Authorizations:
path Parameters
| attribute_name required | string Example: birthday Attribute Name |
Responses
Response samples
- 404
- 500
{- "type": "string",
- "message": "string",
- "data": {
- "sign_in_page_url": "auth.dev.saasus.io"
}
}Get Roles
Get registered roles list. Granting users the roles defined here makes it easy to implement role-based authorization on the SaaS side. In addition, even the same user can have different roles for each tenant/environment to which they belong.
Authorizations:
Responses
Response samples
- 200
- 500
{- "roles": [
- {
- "role_name": "admin",
- "display_name": "管理者"
}
]
}Create Role
Create a role. By granting users the roles created here, it becomes easier to implement role-based authorization on the SaaS side. In addition, even the same user can have different roles for each tenant/environment to which they belong.
Authorizations:
Request Body schema: application/json
| role_name required | string role name |
| display_name required | string role display name |
Responses
Request samples
- Payload
{- "role_name": "admin",
- "display_name": "