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:
not_verified
- Initial state after form submissionnot_reviewed
- Email verified, waiting for admin approval (if moderated)approved
- Registration approved, user account activatedrejected
- Registration rejected by admin
Resource URL
https://<subdomain>/api/2/self_registration_profiles
Header Parameters
Authorization required string |
Set to Set 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: |
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
- 201 Created
- 400 Bad Request
- 401 Unauthorized
- 422 Unprocessable Entity
{
"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 {{ }}
.
- 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.