Get users
Get a paginated list of the team members (users) in your company, sorted oldest-first by their creation datetime.
Use this to enumerate everyone on your team along with their email, role, and full name, or to keep an external system in sync with your Distru user list. Results are always scoped to your own company; users in other companies are never returned. By default soft-deleted users are excluded — use the deleted filter to include or isolate them.
This is a read-only endpoint and does not change anything in the system. Its data is eventually consistent: a user that was just created, modified, or deleted may take up to ~1 second to appear or reflect the change here.
The response is an envelope of { data: [...], next_page: ... }. When more pages remain, next_page is a ready-to-follow URL for the next page, and it is null on the last page. Page size is fixed by the server and is not client-controllable.
Required permission: settings_permissions_manage_team.
BearerAuthorizationBearer <token>API token generated in Distru (Settings → Distru API). Send it on every request as Authorization: Bearer YOUR_API_TOKEN.
ids[]?array<string>Restrict the result to specific users by ID (the same ID returned as each user's id). Repeat the bracketed key once per ID. Unknown IDs simply match nothing; an empty list is treated as no filter. At most 200 IDs may be given.
inserted_datetime?stringFilter to users created within a datetime window. Supply a comma-separated after,before pair of ISO8601 UTC datetimes; both bounds are inclusive and either side may be omitted to leave that end open. 2022-07-10T00:00:00Z, matches users created on or after that instant; ,2022-07-10T00:00:00Z matches users created on or before it; 2022-07-01T00:00:00Z,2022-07-31T00:00:00Z matches users created within that closed range. An empty pair (,) is rejected.
deleted?stringWhich users to include based on soft-delete state. no (the default when omitted) returns only active users; only returns only soft-deleted users; include returns both. Soft-deleted users carry a non-null deleted_at in the response.
"no""no""include""only"page?stringPage selector. Page size is fixed by the server; paginate by following the next_page URL in each response rather than building page selectors yourself — it is null on the last page. next_page uses page[after]=<cursor>, an opaque token marking where the next page resumes; pass it back exactly as given, and only to the endpoint that issued it. This is seek-based, so every page stays fast no matter how deep you page.
updated_datetime?stringFilter to users last modified (their updated_datetime) within a datetime window. Same format as inserted_datetime: a comma-separated after,before pair of ISO8601 UTC datetimes, both bounds inclusive, either side optional. ,2022-07-10T00:00:00Z matches users last modified on or before that instant. To keep a copy of your users in sync, see Incremental Sync.
A list of users
*/*- response
A collection of Users
data?array<>Users
next_page?stringURL for the next page of results; null when there is no next page
curl -X GET 'https://app.distru.com/public/v1/users'{ "data": [ { "banned": false, "deleted_at": null, "email": "[email protected]", "full_name": "FirstName2082 LastName2083", "id": "00000000-0000-0000-0000-000000000413", "inserted_datetime": "2026-10-13T15:03:27.260039Z", "role": { "id": "00000000-0000-0000-0000-000000000435", "name": "Admin 1076" }, "updated_datetime": "2026-10-13T15:03:27.260039Z" }, { "banned": false, "deleted_at": null, "email": "[email protected]", "full_name": "FirstName2088 LastName2089", "id": "00000000-0000-0000-0000-000000000416", "inserted_datetime": "2026-10-13T15:03:27.271505Z", "role": { "id": "00000000-0000-0000-0000-000000000439", "name": "Admin 1080" }, "updated_datetime": "2026-10-13T15:03:27.271505Z" } ], "next_page": null}