curl --request GET \
--url 'https://management.scanova.io/multi-users/' \
--header 'Authorization: YOUR_API_KEY'
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
Management API — Shared Users & Roles
List shared users
GET /multi-users/
GET
/
multi-users
/
curl --request GET \
--url 'https://management.scanova.io/multi-users/' \
--header 'Authorization: YOUR_API_KEY'
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
Shared users are the teammates you invite into your Scanova account — the same list shown on the dashboard’s Users table. This endpoint lets you list, invite, update, or remove them programmatically.
This endpoint was not previously documented. It requires a Management API key with
MANAGEMENT_API (or MANAGEMENT_API_SANDBOX) quota, sent as the raw Authorization header value — see the Management API overview — plus the account’s own Team quota for shared users. For what each role actually grants, see Roles & permissions; for the wire format of roles themselves, see Roles (access levels).curl --request GET \
--url 'https://management.scanova.io/multi-users/' \
--header 'Authorization: YOUR_API_KEY'
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
Verified live against a test account with no invited teammates yet — hence the empty
results. The shape below (from the underlying serializer) is what each entry looks like once teammates exist.string
Exact-match filter on the shared user’s email address.
string
Case-insensitive substring match against the shared user’s first name.
string
Comma-separated role names to filter by, e.g.
Admin,Manager.string
One of
invitation_sent, active, inactive.string
One of
enabled, disabled, pending.string
shared_user__email, shared_user__first_name, or either prefixed with - for descending.Response fields (per entry)
integer
Shared-user record ID — use this as
{pk} for the retrieve/update/delete endpoints below.object
object
The assigned role, in the same shape returned by
GET /multi-users/access-levels/.string
Computed status:
Invitation Sent, Active, Inactive (no login in 60+ days), or Locked.boolean
Whether the shared user’s account is active (distinct from
status — a deactivated user always shows is_active: false regardless of invitation state).string | null
ISO 8601 timestamp of the (most recent) invitation email.
string | null
ISO 8601 timestamp of when the invite was accepted, or
null if still pending.boolean
If true, this user’s QR-code visibility is restricted to the tags in
tags below.boolean
When tag-based permission is enabled, whether the user can also see untagged QR codes.
array
Tags this user is scoped to (only meaningful when
enable_tag_permission is true), in {id, name} form.string
string
Related
- Invite a shared user — the other operation on this same endpoint.
- Retrieve a shared user — operate on a single shared user returned by this list.
- Update a shared user — operate on a single shared user returned by this list.
- Remove a shared user — operate on a single shared user returned by this list.
- List roles — look up or create the
access_levelID this endpoint’s invite/update calls require. - Create a custom role — look up or create the
access_levelID this endpoint’s invite/update calls require. - Shared users — the dashboard’s own Users table, showing the same invite/deactivate/remove actions.
- Roles & permissions — what each role actually grants a teammate.
Authorizations
Send your Management API key as the raw value of the Authorization header — no "Bearer " or "Token " prefix, and no other characters. Example: Authorization: 401f7ac837da42b97f613d789819ff93537bee6a. A header containing more than one space-separated part is rejected outright. Requests also require the request's Host header to be the management API host (e.g. management.scanova.io) — the same key sent to the regular API host will not authenticate.
Response
200 - application/json
Paginated list of shared users invited to this account.
Was this page helpful?
⌘I