---
title: "/api/users/v1/roles"
slug: "apiusersv1roles"
updated: 2024-10-17T20:32:06Z
published: 2024-10-17T20:32:06Z
---

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

# /api/users/v1/roles

Get/api/users/v1/roles

Lists all roles.

Query parameterssearchstring

The string to match when searching for roles.

limitinteger

The number of items to return in the response.

Minimum0Example1
offsetinteger

The number of items to skip before collecting the result.

Minimum0Example0
archivedboolean

When set to `false` (the default), only un-archived user roles are returned. When set to `true`, only archived user roles are returned.

filterstring

Filters the result using OData 4.01 syntax. Supports filtering on the `isCustom` field. Only supports the `eq` operator.

ExampleisCustom eq true

Responses200

A list of available user roles

<select class='api-response-data' aria-label='Media type'><option value='406d61c4-b76b-4f93-a838-8ac6662bc06e'>application/json</option>
</select>Expand Allobject items Array of object (UserRole)   object 

Representation of a user role.

OneOfCustomUserRoleidExampleg56RCoZCtzv7borvp
namestring    

The custom user role's name.

descriptionstring    

A human-readable description of what the custom user role does.

isCustomboolean    

A flag specifying if the user role is "custom" i.e. user-created, or a stock Tulip role.

Valid values[
  "True"
]
createdatstring  (date-time)    

A date-time string as defined by [RFC 3339 §5.6](https://tools.ietf.org/html/rfc3339#section-5.6).

Example2022-11-21T07:59:10Z
byobject (ActorMetadata) 

Represents a user, api-token, or device.

typestring    Valid values[
  "user",
  "client",
  "api-token",
  "app-exchange-api-token",
  "celosx-api-token",
  "automation",
  "instance-init"
]
idExampleg56RCoZCtzv7borvp

lastModifiedatstring  (date-time)    

A date-time string as defined by [RFC 3339 §5.6](https://tools.ietf.org/html/rfc3339#section-5.6).

Example2022-11-21T07:59:10Z
byobject (ActorMetadata) 

Represents a user, api-token, or device.

typestring    Valid values[
  "user",
  "client",
  "api-token",
  "app-exchange-api-token",
  "celosx-api-token",
  "automation",
  "instance-init"
]
idExampleg56RCoZCtzv7borvp

archivedatstring  (date-time)    

A date-time string as defined by [RFC 3339 §5.6](https://tools.ietf.org/html/rfc3339#section-5.6).

Example2022-11-21T07:59:10Z
byobject (ActorMetadata) 

Represents a user, api-token, or device.

typestring    Valid values[
  "user",
  "client",
  "api-token",
  "app-exchange-api-token",
  "celosx-api-token",
  "automation",
  "instance-init"
]
idExampleg56RCoZCtzv7borvp

BuiltInUserRoleidstring    

The possible ID/names a builtin user role can have.

Valid values[
  "operator",
  "operator-with-registration",
  "shop-floor-operator",
  "apps-approver-admin",
  "apps-builder-admin",
  "apps-admin",
  "tables-admin",
  "connectors-admin",
  "shop-floor-admin",
  "viewer",
  "viewer-with-player",
  "admin",
  "workspace-owner",
  "owner"
]
namestring    

The builtin user role's name.

descriptionstring    

A human-readable description of what the builtin user role does.

isCustomboolean    

A flag specifying if the user role is "custom" i.e. user-created, or a stock Tulip role.

Valid values[
  "False"
]
archivedatstring  (date-time)    

A date-time string as defined by [RFC 3339 §5.6](https://tools.ietf.org/html/rfc3339#section-5.6).

Example2022-11-21T07:59:10Z
byobject (ActorMetadata) 

Represents a user, api-token, or device.

typestring    Valid values[
  "user",
  "client",
  "api-token",
  "app-exchange-api-token",
  "celosx-api-token",
  "automation",
  "instance-init"
]
idExampleg56RCoZCtzv7borvp

countnumber    

The total number of items that matched the list parameters.

Example10
nextPagestring  (url)    

A URL at which the next page of results can be fetched.

prevPagestring  (url)    

A URL at which the previous page of results can be fetched.

errors Array of object (PaginatedItemError)   

A list of errors per item that is omitted from the paginated response, if any.

object Example{
  "errorCode": "generic.internal",
  "message": "Something went wrong.",
  "retryable": false,
  "details": {
    "id": "invalidRecordId"
  }
}errorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

detailsobject idstring    

The ID of the omitted record.

400

An error occurred. The Tulip error codes `generic.customerIdRequired`, `generic.workspaceIdRequired`, `generic.invalidParams`, `http.invalidBodyJson`, `http.invalidHeaders`, and `http.multiValueHeader` all use the 400 HTTP status code. See the documentation of the response content schema for details on these specific Tulip errors that could result in this status code.

<select class='api-response-data' aria-label='Media type'><option value='33028b87-0031-4f35-b5c1-5d5391377b32'>application/json</option>
</select>Expand AllOneOfobjecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

objecterrorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

detailsobject headerNamestring    

The name of the given HTTP header which had multiple values.

401

The request was missing required authentication information.

This error is not automatically retryable.

<select class='api-response-data' aria-label='Media type'><option value='cf216728-fa9c-49ca-b001-bfb87f60a26b'>application/json</option>
</select>object errorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

429

Too many requests have been made to this endpoint in a short time period.

This error is not automatically retryable.

<select class='api-response-data' aria-label='Media type'><option value='ba67eac3-ff44-40f5-9480-5d206c838dc5'>application/json</option>
</select>Expand Allobject errorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.

detailsobject detailsstring    

Additional details about this endpoint's rate limits.

500

An internal server error occurred. Please contact [support@tulip.co](mailto:support@tulip.co) if the error persists.

This error is not automatically retryable.

<select class='api-response-data' aria-label='Media type'><option value='97fd2533-1def-423d-bbf0-cbfe5e6ea860'>application/json</option>
</select>object errorCodestring    

A machine-readable code identifying the type of error.

Pattern^[a-zA-Z0-9.]$
messagestring    

A human-readable description of the error intended for debugging purposes only.

The exact content of this message is not stable.

retryableboolean    

Whether the request can be automatically retried by the client.
