Returns a list of PSA projects.

GET /psa/projects

Group: PSA › Projects · Operation ID: projects

Returns the PSA project collection. There is no lookup by name or code, and no way to list the projects of one department or one sales arrangement from the server, so finding a project by name means listing and matching in your client.

Open in the interactive reference

Parameters

Name In Type Required Description
Api-Version header "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.
showArchivedProjects query boolean no When true, archived projects are included in the results. Set via ?showArchivedProjects=true, not a filter[] entry.
showPlanningProjects query boolean no When true, projects in Planning and PlanningDraft status are included in the results. Set via ?showPlanningProjects=true, not a filter[] entry.

Query surface

Response

200 Success

Under data, an array of projectsRow:

Field Type Required Description
id string no The unique identifier for the project.
lastModifiedDate string (date-time) or null no The date and time the project last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
name string or null no The display name of the project.
code string or null no The project code, for example 'PSA-29767'. Absent when none has been set.
category string or null no The project category. Possible values: 'Billable', 'Internal', 'NonBillable'.
status string or null no The project status. Possible values: 'Tentative', 'Planning', 'PlanningDraft', 'NotStarted', 'InProgress', 'Paused', 'Completed', 'Cancelled'.
currency string or null no The project's default currency. Format ISO 4217, for example 'USD'. It applies to revenueRecordedTimeToDate, revenueAccomplishedMilestones, revenueFixedFeeToDate, revenueToDate, and budgetRemaining.
invoiced boolean or null no Whether the project is marked as invoiced.
startDate string (date) or null no The project start date. Format YYYY-MM-DD.
endDate string (date) or null no The project end date. Format YYYY-MM-DD.
notes string or null no Free-form notes about the project.
enforceActivityDateRange boolean or null no Whether time entries must fall within the project's startDate and endDate.
budgetAmount string (decimal) or null no The project budget amount, in budgetCurrency.
budgetCurrency string or null no The currency of budgetAmount. Format ISO 4217, for example 'USD'.
departmentId number or null no The numeric identifier of the department the project is allocated to. GET departments/:id takes a UUID, so the number cannot be used to fetch the department.
teamId number or null no The numeric identifier of the team assigned to this project. GET people/teams/:id takes a UUID, so the number cannot be used to fetch the team.
teamName string or null no The display name of the team.
teamStartDate string (date) or null no The team's start date, which may differ from startDate. Format YYYY-MM-DD.
teamEndDate string (date) or null no The team's end date, which may differ from endDate. Format YYYY-MM-DD.
salesRepresentativeId number or null no The numeric identifier of the sales representative, an employee. There is no endpoint for it.
salesRepresentativeName string or null no The display name of the sales representative.
projectTypeId number or null no The numeric identifier of the project type. GET psa/project-types/:id takes a UUID, so the number cannot be used to fetch the project type.
projectTypeName string or null no The display name of the project type.
quoteId number or null no The numeric identifier of the CRM quote this project was created from. GET crm/quotes/:id takes a UUID, so the number cannot be used to fetch the quote.
quoteNumber string or null no The quote number.
opportunityId number or null no The numeric identifier of the CRM opportunity this project is linked to. GET crm/opportunities/:id takes a UUID, so the number cannot be used to fetch the opportunity.
opportunityName string or null no The display name of the opportunity.
opportunityCurrency string or null no The currency of the opportunity. Format ISO 4217, for example 'USD'.
salesArrangementId number or null no The numeric identifier of the sales arrangement that links the project to billing terms. There is no endpoint for it.
salesArrangementCurrency string or null no The functional currency of the sales arrangement. Format ISO 4217, for example 'USD'.
salesArrangementCustomerId number or null no The numeric identifier of the customer on the sales arrangement. GET accounting/customers/:id takes a UUID, so the number cannot be used to fetch the customer.
salesArrangementCustomerName string or null no The display name of the customer on the sales arrangement.
salesArrangementEntityId number or null no The numeric identifier of the legal entity on the sales arrangement. There is no endpoint for it.
salesArrangementEntityName string or null no The display name of the legal entity on the sales arrangement.
revenueRecordedTimeToDate string (decimal) or null no The revenue from recorded time up to today, in the project currency. Absent when the project has no time entries.
revenueAccomplishedMilestones string (decimal) or null no The revenue from accomplished and invoiced milestones, in the project currency. Absent when the project has no completed milestones.
revenueFixedFeeToDate string (decimal) or null no The fixed-fee revenue to date, in the project currency. Absent when the project has no fixed fees.
revenueToDate string (decimal) or null no The total revenue to date, in the project currency: revenueRecordedTimeToDate + revenueAccomplishedMilestones + revenueFixedFeeToDate.
budgetRemaining string (decimal) or null no The budget remaining, in the project currency: budgetAmount - revenueToDate.

Statuses