Create a project
Creates a project. Defaults: color "#16233f", billable true. clientId is optional and not validated against ownership.
View as MarkdownAuthorization
bearer In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/projects" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{ "project": { "id": "string", "name": "string", "color": "string", "hourlyRate": 0, "billable": true, "clientId": "string", "clientName": "string", "created": "2019-08-24T14:15:22Z", "visibility": "string", "ownerId": "string", "budgetSeconds": 0 }}List projects
Projects the caller can read: their own (active-org-scoped; legacy rows without org_id stay visible) plus any shared with the organization by a teammate. Ordered by name ascending, with client names resolved.
Edit or share a project
Owner-only. A project a teammate shared with the organization can be read and logged against, but not edited — it answers 403, not 404. Sending clientId as an empty string clears the client.