Returns the expense budgets defined for a PSA project.

GET /psa/expenses/budgets

Group: PSA › Expenses · Operation ID: getExpenseBudgets

Returns the budgets defined for one PSA project, selected by a numeric psaProjectId in the query string. The endpoint requires view access to that project.

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.
psaProjectId query number yes The id of the PSA project. It is the numeric package-layer key, not the UUID that GET psa/projects/:id takes.
isDefault query boolean no When true, return only the project's default catch-all budget. When false or omitted, return all of the project's budgets. False does not filter to non-default budgets.
cursor query string no The cursor from the previous response's pagination.nextCursor. Omit on the first request.
pageSize query number no The number of budgets per page, between 1 and 200. Defaults to 50. A value above 200 is treated as 200, not rejected.

Response

200 Success

Under data (getExpenseBudgetsOutput):

Field Type Required Description
items array of object yes The project's budgets on this page. An empty array when the project has no budgets.
items[].id number yes The unique identifier for the budget.
items[].name string yes The display name of the budget.
items[].budget string (decimal) no The budget amount, in the currency given by currency. Absent when the budget has no amount.
items[].currency string no The currency of budget. Format ISO 4217, for example 'USD'. Absent when the budget has no amount.
items[].isDefault boolean yes Whether this is the project's default catch-all budget.
items[].lastModifiedDate string (date-time) no The date and time the budget definition last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
items[].billable boolean no Whether expenses against this budget are billable to the customer.
items[].productId number no The id of the product tied to this budget. It is a numeric package-layer key, not the UUID that GET accounting/products/:id takes. Absent when the budget is not tied to a product.
items[].productLineId number no The id of the product line tied to this budget. It is a numeric package-layer key, not the UUID that GET accounting/product-lines/:id takes. Absent when the budget is not tied to a product line.
items[].salesOrderId number no The id of the sales order this budget bills against. It is a numeric package-layer key, not the UUID that GET accounting/sales-orders/:id takes.
pagination object yes The pagination cursor for this page.
pagination.nextCursor string no The cursor for the next page. Pass it as the cursor query parameter. Absent on the last page.
pagination.hasMore boolean yes True when more budgets remain beyond this page.

Statuses