See api-docs Menu

Get Roles for a User

Get a list of role IDs that have been assigned to a user.

To assign one or more existing roles to a user, use the Assign Role to User API.

To remove one or more roles from a user, use the Remove Role from User API.

Resource URL

https://<subdomain>/api/1/users/:id/
roles

Header Parameter

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 the Read All or Manage All scopes.

Resource Parameter

id:

required

integer

Set to the id of the user for which you want to return a list of assigned roles.

If you don’t know the user’s id, use the Get Users API call to return all users and their id values.

Sample Response

{
  "status": {
    "error": false,
    "code": 200,
    "type": "success",
    "message": "Success"
  },
  "data": [
    [
      77777,
      111111
    ]
  ]
}

This is what a 200 OK response looks like with no role results:

{
    "data": [
        []
    ],
    "status": {
        "code": 200,
        "error": false,
        "message": "Success",
        "type": "success"
    }
}

Typically, this error means that your Authorization header value is missing or incorrectly formatted. The Authorization header value should use this format: bearer:<access_token>.

{
    "status": {
        "error": true,
        "code": 400,
        "type": "bad request",
        "message": "Authorization Information is incorrect"
    }
}

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

{
    "status": {
        "error": true,
        "code": 401,
        "type": "Unauthorized",
        "message": "Authentication Failure"
    }
}

Typically, the following error means that the access token used to make the call was generated using API credentials that have insufficient permissions. This API can be called using the Read All or Manage All scope.

{
    "status": {
        "error": true,
        "code": 401,
        "type": "Unauthorized",
        "message": "Insufficient Permission"
    }
}
{
    "status": {
        "error": true,
        "code": 403,
        "type": "forbidden",
        "message": "user is not authorized to access this User"
    }
}
{
    "status": {
        "code": 404,
        "error": true,
        "message": "User for id 8888888 was not found",
        "type": "not found"
    }
}

Response Fields

data

Provides a list of role IDs that are assigned to the user.

Postman Collection

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/1/users/<user_id>/roles' \
-X GET \
-H "Authorization: bearer: <access_token>"

Python

See Work with OAuth 2.0 Tokens, Users, and Roles.


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.