Endpoint#
| Property | Value |
|---|
| Type | mutation |
| Method | POST |
| Path | /api/external/v1/project_templates/create_milestone |
| Handler | OperatelyWeb.Api.ProjectTemplates.CreateMilestone |
Authentication#
- Requires a valid API token.
- Requires a write-enabled token.
- Read-only tokens return
403.
| Field | Type | Required | Nullable | Default |
|---|
template_id | id primitive (encoded as string) | Yes | No | - |
title | string | Yes | No | - |
description | json primitive (encoded as string) | No | Yes | - |
due_offset_days | integer | No | Yes | - |
Outputs#
| Field | Type | Required | Nullable |
|---|
milestone | project_template_milestone object | Yes | No |
cURL Example#
Copiedcurl --request POST \
--url "https://app.operately.com/api/external/v1/project_templates/create_milestone" \
--header "Authorization: Bearer ${OPERATELY_API_TOKEN}" \
--header "Content-Type: application/json" \
--data '{"description":"value", "due_offset_days":123, "template_id":"value", "title":"value"}'
Response Example#
{
"milestone": {
"__typename": "value",
"description": "value",
"due_offset_days": 123,
"id": "value",
"inserted_at": "2026-01-01T09:30:00Z",
"project_template_id": "value",
"tasks_kanban_state": "value",
"tasks_ordering_state": [
"value"
],
"title": "value",
"updated_at": "2026-01-01T09:30:00Z"
}
}