---
title: "API_UserRoles"
slug: "api-userroles"
updated: 2025-08-18T09:38:14Z
published: 2025-08-18T09:38:14Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://help.quickbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API_UserRoles

**Don't forget to check out our**[**JSON RESTful APIs**](https://developer.quickbase.com/)**, they can help you utilize and extend Quickbase with ease.**

## Overview

Use API_UserRoles to get details about an application’s users and their roles. This call returns all users and their roles.

**Note:** In order to use the API_UserRoles call, you must have either Basic Access with Sharing access or Full Administration access to the application. If you have only Basic Access with Sharing access, you cannot add a user to a role that has Full Administration permissions.

## Request parameters

| Parameter | Value | Required? |
| --- | --- | --- |
| ticket | A valid authentication ticket. The authentication ticket is returned via the API_Authenticate call. | yes, one of: - ticket - username/password - user token |
| usertoken | The user token is an alternative means of authentication, used for API access. User tokens cannot be used to access the Quickbase UI. | yes, one of: - ticket - username/password - user token |
| apptoken | A valid application token. | yes, if the application requires application tokens |
| udata | A string value that you want returned. It will not be handled by Quickbase but it will be returned in the response. | no |

## Response values

| Element Name | Value |
| --- | --- |
| action | The originating request, for example, API_AddField. |
| errcode | Identifies the error code, if any. (See the [Error Codes appendix](/v1/docs/error-codes) for a list of possible error codes.) 0 indicates that no error was encountered. |
| errtext | Text that explains the error code. "No error" indicates that no error was encountered. |
| users | This aggregate contains one or more user sub-aggregates. Each of the user sub-aggregates contains the actual data about a user or group that has been assigned a role in the app. The userid or groupid is returned as an attribute in the user sub-aggregate. The user sub-aggregrate also contains the name and role information, structured as shown in the Sample Response section below. Each role returned has a role ID as an attribute and contains a role name and the application access level that is conferred by the role. |
| udata | Optional. Contains any udata value supplied in the request. |

## Sample XML Request

```xml
POST https://target_domain/db/target_dbid HTTP/1.0
Content-Type: application/xml
Content-Length: 77
QUICKBASE-ACTION: API_UserRoles

<qdbapi>
   <ticket>auth_ticket</ticket>
   <apptoken>app_token</apptoken>
</qdbapi>
```

## URL alternative

```plaintext
https://target_domain/db/target_dbid?a=API_UserRoles
&apptoken=app_token
```

where *target_domain* is the domain against which you are invoking this call, for example, *quickbase.com*. [Read about this notation](/v1/docs/understanding-the-api-call-reference).

## Sample response

```xml
<?xml version="1.0" ?>
<qdbapi>
   <action>API_UserRoles</action>
   <errcode>0</errcode>
   <errtext>No error</errtext>
   <users>
      <user type="user" id="112149.bhsv">
         <name>Jack Danielsson</name>
         <lastAccess>1403035235243</lastAccess>
         <lastAccessAppLocal>06-17-2014 01:00 PM</lastAccessAppLocal>
         <firstName>Jack</firstName>
         <lastName>Danielsson</lastName>
         <roles>
            <role id="12">
               <name>Administrator</name>
               <access id="1">Administrator</access>
            </role>
         </roles>
      </user>
      <user type="user" id="112245.efy7">
         <name>Ivar Boneless</name>
         <lastAccess/>
         <lastAccessAppLocal/>
         <firstName>Ivar</firstName>
         <lastName>Boneless</lastName>
         <roles>
            <role id="10">
               <name>Viewer</name>
               <access id="3">Basic Access</access>
            </role>
         </roles>
      </user>
      <user type="group" id="3">
        <name>Everyone on the Internet</name>
        <roles>
         <role id="10">
            <name>Viewer</name>
            <access id="3">Basic Access</access>
          </role>
        </roles>
      </user>
   </users>
</qdbapi>
```
