List team members

Operation ID: teamMembers

Group: PSA › Team Members

Open in the interactive reference

GET /psa/team-members

Read-only: Reads and returns; changes nothing.

Lists team members. Each team member is one person on one PSA project's team. To find who fills which project position, use GET psa/team-member-positions.

Parameters

Name In Type Required Description
Api-Version header string · v1 yes The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1.

Query surface

Response

200 Success

Under data, an array of teamMembersRow:

Field Type Required Filter Sort Description
id string no no no The unique identifier for the team-roster row.
psaProjectId number no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) yes The id of the PSA project this record belongs to. It is a numeric key you can filter on here, not the UUID that GET psa/projects/:id takes.
employeeId number | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) no The id of the employee this roster record is for. It is a numeric key, not a UUID any public endpoint returns as a fetchable id.
isTeamLead boolean | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) no Whether this team member is the team lead.
startDate date | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) yes The first day of this person's membership of the team. Format YYYY-MM-DD. Absent when not set.
endDate date | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) yes The last day of this person's membership of the team. Format YYYY-MM-DD. Absent when not set.
allocation decimal | null no no no The share of the person's capacity allocated to this team, as a percentage. For example, 50 means 50%.
name string | null no no no The full name of the team member. It is returned but cannot be filtered or sorted on, and there is no endpoint to find a member by name.
displayName string | null no no no The preferred display name of the team member. Like name, it cannot be filtered or sorted on.
lastModifiedDate date-time | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) yes The date and time this roster row last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
{
  "data": [
    {
      "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
      "psaProjectId": 0,
      "employeeId": 0,
      "isTeamLead": true,
      "startDate": "2026-01-15",
      "endDate": "2026-01-15",
      "allocation": "19.99",
      "name": "<name>",
      "displayName": "<displayName>",
      "lastModifiedDate": "2026-01-15T09:30:00.000Z"
    }
  ],
  "pagination": {
    "hasMore": true,
    "nextCursor": "<nextCursor>"
  }
}

Statuses