See api-docs Menu

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>/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

string A valid URL for the self-registration profile.
name

required

string A valid name for the self-registration.
enabled

required

boolean Determines whether the profile is enabled.
moderated boolean Determines whether registrations will be automatically approved after email verification or require approval by an administrator.
default_role_id number The default role ID to apply to users registered via the self-registration profile.
default_group_id number The default group ID to apply to users registered via the self-registration profile.
helptext string Introductory text displayed on the profile to assist the user with self-registration.
thankyou_message string Confirmation text that appears after the user has submitted self-registration.
domain_whitelist string A 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_blacklist string A 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_strategy number Enter 0 to use a block-list domain strategy or 1 to use an allow-list domain strategy.
email_verification_type string Enter 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

    Clicking Run in Postman button navigates to the page where you can fork the collection to your workspace. Forking the collection into your workspace will enable you to contribute to the source collection using pull requests. You can also view the collection in a public workspace if you like and even import a copy of the collection using the links present on the screen.

Sample Code

cURL

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

curl 'https://<subdomain>/api/2/self_registration_profiles' \
-X POST \
-H "Authorization: bearer <access_token>" \
-H "Content-Type: application/json" \
'

Have a Question?

Found a problem or a bug? Submit a support ticket.

Looking for walkthroughs or how-to guides on OneLogin's user and admin features? Check out the documentation in our Knowledge Base.

Have a product idea or request? Share it with us in our Ideas Portal.