---
title: "Get resource users"
method: GET
path: "/resources/{resource_id}/users"
tags: ["resources"]
---

# Get resource users

`GET /resources/{resource_id}/users`

Gets the list of users for this resource.

## Path parameters

- `resource_id` string, uuid, required

## Query parameters

- `limit` integer

## Response `200`

List of users with access to this resource.

- ResourceAccessUserList
  - `next` string, nullable — The cursor with which to continue pagination if additional result pages exist.
  - `previous` string, nullable — The cursor used to obtain the current result page.
  - `results` ResourceAccessUser[]
    - `resource_id` string, uuid, required — The ID of the resource.
    - `resource_name` string — The name of the resource.
    - `description` string — The description of the resource.
    - `user_id` string, uuid, required — The ID of the user.
    - `access_level` ResourceAccessLevel, required — # Access Level Object ### Description The `AccessLevel` object is used to represent the level of access that a principal has. The "default" access level is a `AccessLevel` object whose fields are all empty strings. ### Usage Example View the `AccessLevel` of a resource/user or resource/group pair to see the level of access granted to the resource.
      - `access_level_name` string, required — The human-readable name of the access level.
      - `access_level_remote_id` string, required — The machine-readable identifier of the access level.
    - `full_name` string, required — The user's full name.
    - `email` string, required — The user's email.
    - `expiration_date` string, date-time, nullable — The day and time the user's access will expire.
    - `has_direct_access` boolean, required — The user has direct access to this resources (vs. indirectly, like through a group).
    - `num_access_paths` integer, required — The number of ways in which the user has access through this resource (directly and indirectly).
    - `propagation_status` PropagationStatus — The state of whether the push action was propagated to the remote system. If this is null, the access was synced from the remote system.
      - `status` 'SUCCESS' | 'ERR_REMOTE_INTERNAL_ERROR' | 'ERR_REMOTE_USER_NOT_FOUND' | 'ERR_REMOTE_USER_NOT_LINKED' | 'ERR_REMOTE_RESOURCE_NOT_FOUND' | 'ERR_REMOTE_THROTTLE' | 'ERR_NOT_AUTHORIZED_TO_QUERY_RESOURCE' | 'ERR_REMOTE_PROVISIONING_VIA_IDP_FAILED' | 'ERR_IDP_EMAIL_UPDATE_CONFLICT' | 'ERR_TIMEOUT' | 'ERR_UNKNOWN' | 'ERR_OPAL_INTERNAL_ERROR' | 'ERR_ORG_READ_ONLY' | 'ERR_OPERATION_UNSUPPORTED' | 'PENDING' | 'PENDING_MANUAL_PROPAGATION' | 'PENDING_TICKET_CREATION' | 'ERR_TICKET_CREATION_SKIPPED' | 'ERR_DRY_RUN_MODE_ENABLED' | 'ERR_HR_IDP_PROVIDER_NOT_LINKED' | 'ERR_REMOTE_UNRECOVERABLE_ERROR' | 'ERR_REMOTE_TICKET_NOT_FOUND', required — The status of whether the user has been synced to the group or resource in the remote system.

---

[API](https://skmtc.net/opal/apis/opal-api.md) · [All operations](https://skmtc.net/opal/apis/opal-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/opal/opal-api/versions/13b58df96d40/schema)
