---
updatedAt: 2026-06-15T13:51:20.000Z
agentTools:
  siteIndex: https://developer.jamf.com/llms.txt
  projectIndex: https://developer.jamf.com/jamf-pro/llms.txt
---

# Get user accounts

Get all user accounts with pagination, sorting, and filtering support.

> 📋 **Required privilege:** Read Accounts

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Jamf Pro API",
    "termsOfService": "https://www.jamf.com/developer-resources/api-license-agreement",
    "version": "11.32.0"
  },
  "servers": [
    {
      "url": "https://yourServer.jamfcloud.com/api"
    }
  ],
  "x-readme": {
    "samples-languages": [
      "curl",
      "swift",
      "ruby",
      "python"
    ],
    "explorer-enabled": false
  },
  "security": [
    {
      "Bearer": []
    },
    {
      "ApiClient": []
    },
    {
      "BasicAuth": [
        "/v1/auth/token"
      ]
    }
  ],
  "paths": {
    "/v1/accounts": {
      "get": {
        "tags": [
          "accounts"
        ],
        "summary": "Get user accounts",
        "description": "Get all user accounts with pagination, sorting, and filtering support.\n\n> 📋 **Required privilege:** Read Accounts",
        "parameters": [
          {
            "$ref": "#/components/parameters/page"
          },
          {
            "$ref": "#/components/parameters/page-size"
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property:asc/desc. Default sort is\nusername:desc. Multiple sort criteria are supported and must be separated with a comma.\nAccepts fields: id, lastPasswordChange, failedLoginAttempts, username, realname, email, phone, ldapServerId, distinguishedName, siteId, privilegeLevel, changePasswordOnNextLogin, accountStatus. \nIf any other field is passed it will be ignored in sorting operation and/or create unpredictable results.\n",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "default": [
                "username:asc"
              ]
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Query in the RSQL format to filter user accounts collection. An empty query returns all results for the requested page.\nSupported fields: id, lastPasswordChange, failedLoginAttempts, username, realname, email, phone, ldapServerId, distinguishedName, siteId, privilegeLevel, changePasswordOnNextLogin, accountStatus.\nMultiple conditions can be combined using logical operators.\nThis parameter can be used with paging and sorting parameters.\nExample: username==\"admin\" and accountStatus==Enabled and failedLoginAttempts==0\n",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "default": ""
            }
          }
        ],
        "responses": {
          "200": {
            "description": "User accounts retrieved successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserAccountSearchResults"
                }
              }
            }
          }
        },
        "x-required-privileges": [
          "Read Accounts"
        ],
        "x-authentication-required": true
      }
    }
  },
  "components": {
    "schemas": {
      "UserAccount": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true,
            "example": "1"
          },
          "plainPassword": {
            "type": "string",
            "format": "password",
            "writeOnly": true,
            "example": "testpassword4321"
          },
          "username": {
            "type": "string",
            "example": "testusername"
          },
          "realname": {
            "type": "string",
            "example": "Bob Jones"
          },
          "email": {
            "type": "string",
            "example": "bob@jamf.com"
          },
          "phone": {
            "type": "string",
            "example": "715-999-9999"
          },
          "ldapServerId": {
            "type": "integer",
            "example": -1,
            "default": -1
          },
          "distinguishedName": {
            "type": "string",
            "example": ""
          },
          "siteId": {
            "type": "integer",
            "example": -1,
            "default": -1
          },
          "accessLevel": {
            "type": "string",
            "description": "Access level for the account",
            "enum": [
              "FullAccess",
              "SiteAccess",
              "GroupBasedAccess"
            ],
            "default": "FullAccess"
          },
          "privilegeLevel": {
            "type": "string",
            "description": "Privilege level for the account",
            "enum": [
              "ADMINISTRATOR",
              "AUDITOR",
              "ENROLLMENT",
              "CUSTOM"
            ],
            "default": "ADMINISTRATOR"
          },
          "lastPasswordChange": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "example": "2017-07-21T17:32:28Z"
          },
          "changePasswordOnNextLogin": {
            "type": "boolean",
            "example": true
          },
          "failedLoginAttempts": {
            "type": "integer",
            "readOnly": true,
            "example": 0
          },
          "accountStatus": {
            "type": "string",
            "description": "Status of the account",
            "enum": [
              "Enabled",
              "Disabled"
            ],
            "default": "Enabled"
          },
          "accountType": {
            "type": "string",
            "description": "Type of the account",
            "enum": [
              "DEFAULT",
              "FEDERATED",
              "MIGRATED"
            ],
            "default": "DEFAULT"
          }
        }
      },
      "UserAccountSearchResults": {
        "type": "object",
        "properties": {
          "totalCount": {
            "minimum": 0,
            "type": "integer",
            "description": "Total number of user accounts matching the filter criteria",
            "example": 1
          },
          "results": {
            "minItems": 0,
            "type": "array",
            "description": "The collection of user accounts for the requested page",
            "items": {
              "$ref": "#/components/schemas/UserAccount"
            }
          }
        }
      }
    },
    "parameters": {
      "page": {
        "name": "page",
        "in": "query",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "integer",
          "default": 0
        }
      },
      "page-size": {
        "name": "page-size",
        "in": "query",
        "required": false,
        "style": "form",
        "explode": true,
        "schema": {
          "type": "integer",
          "default": 100
        }
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      },
      "BasicAuth": {
        "type": "http",
        "description": "Basic auth is used only for obtaining bearer tokens from the /v1/auth/token endpoint",
        "scheme": "basic"
      },
      "ApiClient": {
        "type": "oauth2",
        "description": "Jamf Pro API Roles and Clients provide a client ID and secret for obtaining access tokens using the OAuth2 client_credentials grant type",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "/api/v1/oauth/token",
            "scopes": {}
          }
        }
      }
    }
  }
}
```