Skip to content
Get started

List users with pagination

viewer.users.list(UserListParams**kwargs) -> SyncCursorUsers[UserListResponse]
get/v1/viewer/users

Retrieves a paginated list of users with optional filtering by access level, email, name, and invitation source. Returns up to 100 users per request.

ParametersExpand Collapse
cursor: Optional[str]

Base64 encoded cursor from previous response

email: Optional[str]

Filter by exact email match

first_name: Optional[str]

Filter by first name (contains match)

invited_source: Optional[Literal["dashboard", "api"]]

Filter by invitation source

Accepts one of the following:
"dashboard"
"api"
last_name: Optional[str]

Filter by last name (contains match)

level: Optional[Literal["owner", "admin", "member"]]

Filter by user level

Accepts one of the following:
"owner"
"admin"
"member"
limit: Optional[float]

Number of results to return (1-100)

minimum1
maximum100
ReturnsExpand Collapse
class UserListResponse:

A user in the Viewer system with study management permissions

can_manage_studies: bool

Whether the user has permission to create, update, and manage studies

clinic_role: Literal["Radiologist", "Cardiologist", "Neurologist", 18 more]

User's clinical or organizational role

Accepts one of the following:
"Radiologist"
"Cardiologist"
"Neurologist"
"Urologist"
"Gynecologist"
"Endocrinologist"
"Doctor"
"Surgeon"
"Physician"
"Physician Assistant"
"Nurse Practitioner"
"Registered Nurse"
"Patient Care Coordinator"
"Front Desk Operator"
"Imaging Technologist"
"PACS Administrator"
"Software Engineer"
"Revenue Cycle Manager"
"Administrative Director"
"Administrative Assistant"
"Other"
created_at: Optional[datetime]

Timestamp when the user was created

formatdate-time
email: str

User's email address for login and notifications

first_name: str

User's first name

minLength1
has_dashboard_access: bool

Whether the user can access the dashboard interface. Required for admin users

invited_source: Literal["dashboard", "api"]

How the user was invited - via dashboard UI or API

Accepts one of the following:
"dashboard"
"api"
last_login_at: Optional[datetime]

Timestamp of user's last login, null if never logged in

formatdate-time
last_name: str

User's last name

minLength1
level: Literal["owner", "admin", "member"]

User access level. 'owner' has full control, 'admin' can manage users/settings, 'member' has standard access

Accepts one of the following:
"owner"
"admin"
"member"
user_id: str

Unique user identifier. Format: usr_{32-hex-chars}

middle_name: Optional[str]

User's middle name (optional)

minLength1
phone_number: Optional[str]

User's phone number (10-15 digits, optional)

suffix1: Optional[str]

Name suffix (e.g., 'Jr.', 'Sr.', 'III') - optional

minLength1
suffix2: Optional[str]

Additional name suffix (optional)

minLength1
List users with pagination
import os
from avara import Avara

client = Avara(
    api_key=os.environ.get("AVARA_API_KEY"),  # This is the default and can be omitted
)
page = client.viewer.users.list()
page = page.users[0]
print(page.middle_name)
{
  "hasMore": true,
  "users": [
    {
      "canManageStudies": true,
      "clinicRole": "Radiologist",
      "createdAt": "2024-01-15T10:00:00Z",
      "email": "dr.johnson@hospital.org",
      "firstName": "Sarah",
      "hasDashboardAccess": true,
      "invitedSource": "api",
      "lastLoginAt": "2024-03-15T09:00:00Z",
      "lastName": "Johnson",
      "level": "member",
      "userId": "usr_1234567890abcdef1234567890abcdef",
      "middleName": "Marie",
      "phoneNumber": "5551234567",
      "suffix1": "MD",
      "suffix2": "FACR"
    }
  ],
  "cursor": "cursor"
}
Returns Examples
{
  "hasMore": true,
  "users": [
    {
      "canManageStudies": true,
      "clinicRole": "Radiologist",
      "createdAt": "2024-01-15T10:00:00Z",
      "email": "dr.johnson@hospital.org",
      "firstName": "Sarah",
      "hasDashboardAccess": true,
      "invitedSource": "api",
      "lastLoginAt": "2024-03-15T09:00:00Z",
      "lastName": "Johnson",
      "level": "member",
      "userId": "usr_1234567890abcdef1234567890abcdef",
      "middleName": "Marie",
      "phoneNumber": "5551234567",
      "suffix1": "MD",
      "suffix2": "FACR"
    }
  ],
  "cursor": "cursor"
}