---
title: "Listing all App Users"
method: GET
path: "/v1/projects/{projectId}/app-users"
tags: ["App Users"]
---

# Listing all App Users

`GET /v1/projects/{projectId}/app-users`

Currently, there are no paging or filtering options, so listing `App User`s will get you every App User in the system, every time.

This endpoint supports retrieving extended metadata; provide a header `X-Extended-Metadata: true` to additionally retrieve the `lastUsed` timestamp of each App User, the details of the `Actor` the App User was `createdBy`, and a `properties` object containing any actor property values set on the App User.

## Path parameters

- `projectId` number, required

## Response `200`

This is the Extended Metadata response, if requested via the appropriate header:

- AppUser[]
  - `createdAt` string, required — ISO date format
  - `displayName` string, required — All `Actor`s, regardless of type, have a display name
  - `id` number, required
  - `type` 'user' | 'field_key' | 'public_link' | 'singleUse', required — The type of actor
  - `updatedAt` string — ISO date format
  - `deletedAt` string — ISO date format
  - `token` string — If present, this is the Token that can be used to authenticate a request as this `App User`. If not present, this `App User`'s access has been revoked.
  - `projectId` number — The ID of the `Project` that this `App User` is bound to.

## Changes

- **2026-06-02** `dcd5409827e1` — 1 info
  - added the optional property `items/allOf[subschema #2]/properties` to the response with the `200` status (media type: application/json; extended)
- **2025-12-20** `022694254f0d` — 1 info
  - api operation id `Listing all App Users` removed and replaced with `listAllAppUsers`
- **2025-10-27** `b11b54eea487` — 1 info
  - removed the non-success response with the status `403`
- **2025-03-13** `e8c2858fd4eb` — 1 warning, 2 info
  - removed the optional property `items/allOf[subschema #2]/properties` from the response with the `200` status (media type: application/json; extended)
  - api operation id `listAllAppUsers` removed and replaced with `Listing all App Users`
  - added the non-success response with the status `403`

[Change history](https://skmtc.dev/getodk/apis/odk-central-api/changes/v1/projects/:projectId/app-users/get.md)

---

[API](https://skmtc.dev/getodk/apis/odk-central-api.md) · [All operations](https://skmtc.dev/getodk/apis/odk-central-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getodk/odk-central-api/revisions/d4f5ba77f644/schema)
