API Reference
Projects API
API reference for managing projects in Dime.Sheets via the public API.
Projects API
The Projects public API provides CRUD endpoints for projects, addressed by externalId.
List projects
GET /api/v1/projectsReturns all projects in the tenant.
curl "https://app.dimesheets.com/api/v1/projects" \
-H "X-API-KEY: {your-api-key}"Get a project
GET /api/v1/projects/{externalId}Returns the project matching the given external ID, or 404 Not Found.
Create a project
POST /api/v1/projectsRequest body
{
"externalId": "proj-100",
"name": "Website Redesign",
"description": "Complete frontend overhaul",
"clientId": 1,
"startDate": "2026-04-01T00:00:00Z",
"budget": 50000,
"hourBudget": 500,
"billableRate": 125.00
}Returns 201 Created with the new project, or 400 Bad Request.
Update a project
PUT /api/v1/projects/{externalId}Returns 200 OK with the updated project, or 404 Not Found.
Delete a project
DELETE /api/v1/projects/{externalId}Returns 204 No Content, or 404 Not Found.
Project model
| Field | Type | Description |
|---|---|---|
id | int | Internal ID |
externalId | string | Stable external identifier |
tenantId | string | Tenant ID |
name | string | Project name |
description | string | Project description |
clientName | string | Associated client name |
clientId | int? | Associated client ID |
projectManagerId | int? | Project manager user ID |
startDate | datetime? | Project start date |
endDate | datetime? | Project end date |
budget | number? | Financial budget |
hourBudget | number? | Hour budget |
billableRate | number? | Default billable rate |
status | string | Project status |
color | string? | Display color (hex) |
timesheetPeriodTemplateId | int? | Override period template for this project |
createdAt | datetime | Creation timestamp |
updatedAt | datetime | Last update timestamp |