POST

Create Profile

Use this API to create a new self-registration profile in OneLogin. When a registration is submitted through a self-registration profile, it follows this flow state:

  1. not_verified - Initial state after form submission
  2. not_reviewed - Email verified, waiting for admin approval (if moderated)
  3. approved - Registration approved, user account activated
  4. rejected - Registration rejected by admin

Resource URL

https://<subdomain>.onelogin.com/api/2/self_registration_profiles

Header Parameters

Authorization

required

string

Set to bearer:<access_token>.

Set <access_token> to the access token you generated using the Generate Token API.

The access token must have been generated using an API credential pair created using the scope required to call this API. This API can be called using any one of the following scopes: Manage Users or Manage All.

Content-Type

required

string

Set to application/json.

Request Parameters

url

required

stringA valid URL for the self-registration profile.
name

required

stringA valid name for the self-registration.
enabled

required

booleanDetermines whether the profile is enabled.
moderatedbooleanDetermines whether registrations will be automatically approved after email verification or require approval by an administrator.
default_role_idnumberThe default role ID to apply to users registered via the self-registration profile.
default_group_idnumberThe default group ID to apply to users registered via the self-registration profile.
helptextstringIntroductory text displayed on the profile to assist the user with self-registration.
thankyou_messagestringConfirmation text that appears after the user has submitted self-registration.
domain_whiteliststringA comma-separated allow-list for domains permitted by this self-registration profile. If an allow-list strategy is used, all domains not listed will be forbidden.
domain_blackliststringA comma-separated block-list for domains forbidden by this self-registration profile. If a block-list strategy is used, all domains not listed will be permitted.
domain_list_strategynumberEnter 0 to use a block-list domain strategy or 1 to use an allow-list domain strategy.
email_verification_typestringEnter Email MagicLink to send a magic link for email verification or Email OTP to send a one-time password for verification.

Sample Request Body

{
    "url": "community_signup",
    "name": "Community Registration",
    "enabled": true,
    "moderated": false,
    "default_role_id": 123,
    "default_group_id": 456,
    "helptext": "Welcome! Please fill out the form below.",
    "thankyou_message": "Thank you for registering!",
    "domain_whitelist": "company.com, partner.com",
    "domain_list_strategy": 1,
    "email_verification_type": "Email MagicLink"
}

Sample Response

The full profile resource is returned.

{
    "created_at": "2020-07-16T03:29:41.420Z",
    "url": "community_signup",
    "name": "Community Registration",
    "enabled": true,
    "moderated": false,
    "default_role_id": 123,
    "default_group_id": 456,
    "helptext": "Welcome! Please fill out the form below.",
    "thankyou_message": "Thank you for registering!",
    "domain_whitelist": "company.com, partner.com",
    "domain_list_strategy": 1,
    "email_verification_type": "Email MagicLink"
}
{
    "message": "unknown attribute: employee_number",
    "name": "BadRequestError",
    "statusCode": 400
}

Typically, this error means that your access token value is invalid.

{
    "message": "Unauthorized",
    "name": "UnauthorizedError",
    "statusCode": 401
}
{
    "message": "Validation failed: URL must be unique within {subdomain}",
    "name": "UnprocessableEntityError",
    "statusCode": 422
}

Postman Collection

Replace sample variables indicated by < > in the sample request body with your actual values. Also, be sure to set Postman-specific environment variables indicated by {{ }}.

Run in Postman

Sample Code

cURL

Replace sample values indicated by < > with your actual values.

curl 'https://<subdomain>.onelogin.com/api/2/self_registration_profiles' \
-X POST \
-H "Authorization: bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
    "url": "<community_signup>",
    "name": "<Community Registration>",
    "enabled": true,
    "email_verification_type": "Email MagicLink"
}'