PUT

Update Profile

Use this API to update the attributes of a self-registration profile in OneLogin.

Resource URL

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

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.

Resource Parameter

id

required

integer

Set to the id of the profile that you want to update. If you don't know the profile's id, use the List All Profiles API call to return all profiles and their id values.

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

Update a domain list strategy.

{
  "domain_blacklist": "forbidden.com, notallowed.com",
  "domain_list_strategy": 0
}

Change a thank you message.

{
    "thankyou_message": "Your self-registration is complete! Please inform your mentor that you're ready to progress to the next step."
}

Sample Response

The full user 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": "Your self-registration is complete! Please inform your mentor that you're ready to progress to the next step.",
    "domain_blacklist": "forbidden.com, notallowed.com",
    "domain_list_strategy": 0,
    "email_verification_type": "Email MagicLink"
}
{
    "message": "unknown attribute: employee_number",
    "name": "BadRequestError",
    "statusCode": 400
}

Content-Type header was set to application/x-www-form-urlencoded

{
    "message": "unknown attribute: {\n    \"firstname\": \"Steve\",\n    \"lastname\": \"Smith\",\n    \"password\": \"new-password\",\n    \"password_confirmation\": \"new-password\"\n}",
    "name": "BadRequestError",
    "statusCode": 400
}

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

{
    "message": "Unauthorized",
    "name": "UnauthorizedError",
    "statusCode": 401
}
{
    "message": "The resource with the given id could not be found",
    "name": "NotFoundError",
    "statusCode": 404
}
{
    "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/<profile_id>' \
-X PUT \
-H "Authorization: bearer <access_token>" \
-H "Content-Type: application/json" \
-d '{
  "domain_blacklist": "forbidden.com, notallowed.com",
  "domain_list_strategy": 0
}'