Users

List all members of the team, including removed ones. Each member comes back with profile, group, permission, and time tracking policy fields. What you see depends on your own access: cost returns 0 unless you have the costs permission, and permissions returns an empty array ([]) for members with no elevated access.

Supports query for name search and limit for pagination — see Pagination.

get/team/users

Request

Query parameters

querystring

Filter users by name or email.

limitinteger

Maximum number of users to return.

Response

OK

idnumber required
emailstring required
namestring required
headlinestring nullable

Job title. Empty string when not set.

phonestring

Omitted when not set.

externalIdstring

Employee ID from your own system, set on the member profile. Omitted when not set.

avatarUrlstring nullable

Omitted when the member has no avatar.

avatarUrlLargestring nullable

Omitted when the member has no avatar.

role'admin' | 'supervisor' | 'member' | 'member_limited' required
status'active' | 'invited' | 'pending' | 'removed' required
type'employee' | 'contractor' required
createdAtstring required

Format: Y-m-d H:i:s

isEmailVerifiedboolean required
capacityinteger nullable

Weekly capacity in seconds.

costinteger

Hourly cost in cents. Returns 0 when you lack the costs permission.

favoriteboolean required

Whether you marked this member as a favorite.

Example response

[
  {
    "id": 1304,
    "email": "john.bender@example.com",
    "name": "John Bender",
    "headline": "CEO",
    "phone": "+1 555 0100",
    "externalId": "M-3490",
    "avatarUrl": "https://d36887svjhykt4.cloudfront.net/users/1304-15ea197d07ca81.jpg",
    "avatarUrlLarge": "https://d36887svjhykt4.cloudfront.net/users/1304-15ea197d10830c.jpg",
    "role": "admin",
    "status": "active",
    "type": "employee",
    "createdAt": "2016-08-13 15:27:30",
    "isEmailVerified": true,
    "capacity": 144000,
    "cost": 2500,
    "groups": [
      {
        "id": 1,
        "name": "Admins"
      }
    ],
    "permissions": {
      "billingBudgets": "write",
      "userLimits": "write",
      "costs": "write",
      "invoices": "write",
      "expenses": "write"
    },
    "timeTrackingPolicy": {
      "allowTimeWithoutTask": true,
      "allowManualTimeInput": true,
      "allowCompletedTaskTime": true,
      "allowTimeWithoutEstimate": true,
      "allowManageEstimates": true,
      "lockTimeAfter": 2,
      "lockTimePeriod": "days"
    }
  }
]

Changes

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the required property / to the response with the status

    • info

      added the required property / to the response with the status

    • info

      added the required property / to the response with the status

    • info

      added the required property / to the response with the status

    • info

      added the required property / to the response with the status

    • info

      added the required property / to the response with the status

    • info

      added the required property / to the response with the status

    • info

      added the required property / to the response with the status