Delete a budget
DELETEhttps://
Deletes a budget permanently: it uses no soft deletes, so there is no restore and no force parameter.
Access
- Token scope
- api:
destroy: budgets Without it:
403 insufficient-token-scope. - Permission
- budgets::
delete Without it:
403 insufficient-permission. - Rate cost
- 1 unit, write bucket.
- Also
- Accepts
If-Match. Never cached:private, no-store. Unknown query parameters are refused, never ignored.
Both are checked, scope first. A token never does more than its user. How access is checked
The delete reaches further: every kanban task on the budget and every legacy invoice row referencing it are deleted with it, and none of those deletions is recorded in an activity log. Sales-invoice rows survive and are detached, their budget reference set to null. A budget with logged time answers 409 with conflict.reason has_logged_time: move or delete the worklogs first. The delete bumps the owning project's updated_at and is recorded in the project's activity timeline rather than a timeline of its own.
Path parameters
Request headers
A correlation id of your own. It is recorded in our logs next to the server's request id but never returned: the response header always carries the server's id. A value that does not match the pattern is discarded silently, never rejected.
Response 204
Returns no content.
Headers
RateLimit- The IETF
httpapi-ratelimit-headersform of your remaining allowance on the tightest bucket this request touched. RateLimit-Policy- The ceiling and window of that bucket, as
<limit>;w=<seconds>. X-Request-Id- The server-generated ULID correlating this response with our logs.
Every response also carries Cache-Control, Vary, X-Content-Type-Options, X-Plnnrly-Api-Version, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset. Headers and versioning
Errors
409 Conflict.
412 Precondition failed.
7 errors every operation can return: 400, 401, 404, 406, 429, 500, 503
400 Bad request.
idempotency-key-requiredinvalid-cursorinvalid-query-parametermalformed-requestunsupported-parameter
401 Unauthenticated.
404 Not found.
406 Not acceptable.
429 Too many requests.
500 Server error.
503 Service unavailable.
This path allows GET, PATCH, DELETE. Anything else answers 405.
Something wrong or missing on this page? Tell us