Estimate points overview
Estimate points are the individual values inside a project estimate scale.
The estimate point object
Attributes
created_atstring (date-time)When the record was created.
created_by_idstring (uuid)The user who created the record.
descriptionstringFree-form description.
estimate_idstring (uuid)The related estimate.
external_idstringYour system's identifier for this record, for sync and import correlation.
external_sourcestringThe system
external_idcame from, for examplegithuborjira.idstring (uuid)Unique identifier.
keyintegerThe key.
valuestringThe value.
Response200
json
{
"created_at": "2026-01-14T09:22:41.478363Z",
"created_by_id": "16c61a3a-512a-48ac-b0be-b6b46fe6f430",
"description": "What this is for.",
"estimate_id": "f960d3c2-8524-4a41-b8eb-055ce4be2a7f",
"external_id": null,
"external_source": null,
"id": "b7e42a19-3c5d-4f80-9a26-8d1c0f4e7b53",
"key": 1,
"value": "example"
}Endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/v2/workspaces/{slug}/projects/{project_id}/estimates/{estimate_id}/points/ | List estimate points |
GET | /api/v2/workspaces/{slug}/projects/{project_id}/estimates/{estimate_id}/points/{pk}/ | Get an estimate point |
POST | /api/v2/workspaces/{slug}/projects/{project_id}/estimates/{estimate_id}/points/ | Create an estimate point |
PATCH | /api/v2/workspaces/{slug}/projects/{project_id}/estimates/{estimate_id}/points/{pk}/ | Update an estimate point |
DELETE | /api/v2/workspaces/{slug}/projects/{project_id}/estimates/{estimate_id}/points/{pk}/ | Delete an estimate point |
POST | /api/v2/workspaces/{slug}/projects/{project_id}/estimates/{estimate_id}/points/upsert/ | Upsert an estimate point |
POST | /api/v2/workspaces/{slug}/projects/{project_id}/estimates/{estimate_id}/points/bulk-create/ | Bulk create estimate points |
POST | /api/v2/workspaces/{slug}/projects/{project_id}/estimates/{estimate_id}/points/bulk-update/ | Bulk update estimate points |
POST | /api/v2/workspaces/{slug}/projects/{project_id}/estimates/{estimate_id}/points/bulk-delete/ | Bulk delete estimate points |
Response shaping
Every estimate point read accepts ?fields= for sparse responses — see Sparse fields. Errors follow the shared problem+json contract.

