Update a project
Update a project. Requires Manager, Admin, or Owner.
Authorization
BearerAuth Personal Access Token. Mint at Settings → API. Token shape: hsk_<env>_<prefix12>_<secret32>.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
All fields are optional; omitted fields stay unchanged. Send null for nullable fields to clear them. When converting away from FIXED, send fixedFeeAmount: null; when converting to FIXED, send a positive fixedFeeAmount and clear any amount budget. An imported or legacy FIXED project must set fixedFeePriorInvoicedAmount before its fixed-fee balance can be invoiced.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/projects/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "orgId": "25b2c2d5-a7fc-47d0-89e4-8709a1560bfa", "clientId": "5e505642-9024-474d-9434-e5a44f505cc5", "name": "string", "description": "string", "color": "string", "status": "ACTIVE", "rateType": "HOURLY", "hourlyRate": "string", "fixedFeeAmount": "string", "fixedFeePriorInvoicedAmount": "string", "fixedFeeBillingInitializedAt": "2019-08-24T14:15:22Z", "budgetHours": "string", "budgetAmount": "string", "startDate": "2019-08-24", "dueDate": "2019-08-24", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "deletedAt": "2019-08-24T14:15:22Z" }}{ "error": { "code": "unauthenticated", "message": "string", "fields": { "property1": "string", "property2": "string" }, "requiredPlan": "studio", "feature": "string", "requestId": "string" }}{ "error": { "code": "unauthenticated", "message": "string", "fields": { "property1": "string", "property2": "string" }, "requiredPlan": "studio", "feature": "string", "requestId": "string" }}{ "error": { "code": "unauthenticated", "message": "string", "fields": { "property1": "string", "property2": "string" }, "requiredPlan": "studio", "feature": "string", "requestId": "string" }}{ "error": { "code": "unauthenticated", "message": "string", "fields": { "property1": "string", "property2": "string" }, "requiredPlan": "studio", "feature": "string", "requestId": "string" }}{ "error": { "code": "unauthenticated", "message": "string", "fields": { "property1": "string", "property2": "string" }, "requiredPlan": "studio", "feature": "string", "requestId": "string" }}{ "error": { "code": "unauthenticated", "message": "string", "fields": { "property1": "string", "property2": "string" }, "requiredPlan": "studio", "feature": "string", "requestId": "string" }}Get one project
Any role. Member tokens see only projects they have been granted, and money/reconciliation fields (hourlyRate, fixedFeeAmount, fixedFeePriorInvoicedAmount, fixedFeeBillingInitializedAt, budgetAmount) are omitted from their responses.
Archive a project (soft delete)
Requires Manager, Admin, or Owner.