Skip to content

Project Templates API: Duplicate

Endpoint#

PropertyValue
Typemutation
MethodPOST
Path/api/external/v1/project_templates/duplicate
HandlerOperatelyWeb.Api.ProjectTemplates.Duplicate

Authentication#

  • Requires a valid API token.
  • Requires a write-enabled token.
  • Read-only tokens return 403.

Inputs#

FieldTypeRequiredNullableDefault
idid primitive (encoded as string)YesNo-
namestringYesNo-

Outputs#

FieldTypeRequiredNullable
templateproject_template objectYesNo

cURL Example#

Copied
curl --request POST \
  --url "https://app.operately.com/api/external/v1/project_templates/duplicate" \
  --header "Authorization: Bearer ${OPERATELY_API_TOKEN}" \
  --header "Content-Type: application/json" \
  --data '{"id":"value", "name":"value"}'

Response Example#

{
  "template": {
    "__typename": "value",
    "archived_at": "2026-01-01T09:30:00Z",
    "creator": "<person>",
    "description": "value",
    "discussions": [
      "<project_template_discussion>"
    ],
    "duration_days": 123,
    "id": "value",
    "inactive_discussion_count": 123,
    "inactive_people_summary": "<project_template_inactive_people_summary>",
    "inserted_at": "2026-01-01T09:30:00Z",
    "milestone_count": 123,
    "milestones": [
      "<project_template_milestone>"
    ],
    "milestones_ordering_state": [
      "value"
    ],
    "name": "value",
    "people": [
      "<project_template_person>"
    ],
    "permissions": "<project_template_permissions>",
    "resource_nodes": [
      "<project_template_resource_node>"
    ],
    "space": "<space>",
    "task_assignments": [
      "<project_template_task_assignment>"
    ],
    "task_count": 123,
    "task_statuses": [
      "<task_status>"
    ],
    "tasks": [
      "<project_template_task>"
    ],
    "tasks_kanban_state": "value",
    "updated_at": "2026-01-01T09:30:00Z"
  }
}