Create estimate points ​
POST/api/v1/workspaces/{slug}/projects/{project_id}/estimates/{estimate_id}/estimate-points/
Create estimate points for a project estimate. You can send a JSON array directly or wrap it inside estimate_points.
Path Parameters ​
estimate_id:requiredstringEstimate ID
project_id:requiredstringProject ID
slug:requiredstringWorkspace slug
Body Parameters ​
estimate_points:requiredarrayArray of estimate point objects. Each object can include: value (string, required, max 20 chars), key (integer), description (string), external_id (string), and external_source (string).
Scopes ​
projects.estimates:write
Create estimate points
bash
curl -X POST \
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/550e8400-e29b-41d4-a716-446655440000/estimates/550e8400-e29b-41d4-a716-446655440000/estimate-points/" \
-H "X-API-Key: $PLANE_API_KEY" \
# Or use -H "Authorization: Bearer $PLANE_OAUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
"key": 1,
"value": "1",
"description": "Tiny"
},
{
"key": 2,
"value": "2",
"description": "Small"
}
]'python
import requests
response = requests.post(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/550e8400-e29b-41d4-a716-446655440000/estimates/550e8400-e29b-41d4-a716-446655440000/estimate-points/",
headers={"X-API-Key": "your-api-key"},
json=[
{"key": 1, "value": "1", "description": "Tiny"},
{"key": 2, "value": "2", "description": "Small"},
],
)
print(response.json())javascript
const response = await fetch(
"https://api.plane.so/api/v1/workspaces/my-workspace/projects/550e8400-e29b-41d4-a716-446655440000/estimates/550e8400-e29b-41d4-a716-446655440000/estimate-points/",
{
method: "POST",
headers: {
"X-API-Key": "your-api-key",
"Content-Type": "application/json",
},
body: JSON.stringify([
{ key: 1, value: "1", description: "Tiny" },
{ key: 2, value: "2", description: "Small" },
]),
}
);
const data = await response.json();Response201
json
[
{
"id": "550e8400-e29b-41d4-a716-446655440010",
"created_at": "2024-01-15T10:40:00Z",
"updated_at": "2024-01-20T12:15:00Z",
"estimate": "550e8400-e29b-41d4-a716-446655440000",
"key": 1,
"value": "1",
"description": "Tiny",
"external_id": null,
"external_source": null,
"created_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430",
"updated_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430",
"project": "4af68566-94a4-4eb3-94aa-50dc9427067b",
"workspace": "cd4ab5a2-1a5f-4516-a6c6-8da1a9fa5be4"
},
{
"id": "550e8400-e29b-41d4-a716-446655440011",
"created_at": "2024-01-15T10:41:00Z",
"updated_at": "2024-01-20T12:16:00Z",
"estimate": "550e8400-e29b-41d4-a716-446655440000",
"key": 2,
"value": "2",
"description": "Small",
"external_id": null,
"external_source": null,
"created_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430",
"updated_by": "16c61a3a-512a-48ac-b0be-b6b46fe6f430",
"project": "4af68566-94a4-4eb3-94aa-50dc9427067b",
"workspace": "cd4ab5a2-1a5f-4516-a6c6-8da1a9fa5be4"
}
]
