List project types
Operation ID: projectTypes
Group: PSA › Project Types
Open in the interactive reference
GET /psa/project-types
Read-only: Reads and returns; changes nothing.
Lists project types. Project types can't be filtered by name, and no other endpoint finds a project type by name.
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
id— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likelastModifiedDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, between- Orderable: id, name, lastModifiedDate
- Selectable: id, name, lastModifiedDate
page[size]— Page sizepage[cursor]— Opaque continuation cursor
Response
200 Success
Under data, an array of projectTypesRow:
| Field | Type | Required | Filter | Sort | Description |
|---|---|---|---|---|---|
id |
string | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The unique identifier for the project type. Example: "3b7d5e9c-1a24-4f80-9c6d-2e8f70b13a45". |
name |
string | no | no | yes | The display name of the project type. Example: "Retainer". |
lastModifiedDate |
date-time | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date and time the project type record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Example: "2026-05-12T09:30:00.000Z". |
{
"data": [
{
"id": "3b7d5e9c-1a24-4f80-9c6d-2e8f70b13a45",
"name": "Retainer",
"lastModifiedDate": "2026-05-12T09:30:00.000Z"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "<nextCursor>"
}
}
Statuses
400— Invalid request or business failure401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error