---
title: "Import Into Project From File"
method: POST
path: "/api/v1/templates/import_into_project_from_file"
tags: ["Templates"]
---

# Import Into Project From File

`POST /api/v1/templates/import_into_project_from_file`

A template can be imported in an existing project, or in a newly created one.

Upload a file suitable to be passed as a template to be imported into a project.

## Response `200`

Successful Response

- ProjectImportResponse
  - `status` 'ok', required — Always `ok` on success.
  - `template_type` string, required — Type of template that was imported.
  - `projects` union[], required — Projects created or updated by the import.
    - union
      - PersonalProjectSyncView — A representation of a Personal Project Sync View, extending the base ProjectSync View, to be returned to clients in a sync (or sync-like) response.
        - `id` string, required — String ID of the project.
        - `can_assign_tasks` boolean, required — Whether the current user can assign tasks in the project.
        - `can_comment` boolean, required — Whether the current user can comment in the project.
        - `child_order` integer, required — Position of the project among sibling projects.
        - `order_key` string, nullable, required — Fractional-indexing order key among sibling projects, or `null` until assigned (backfill in progress). Always `null` for workspace projects, which are ordered via folders instead.
        - `is_collapsed` boolean, required — Whether the project is collapsed in the user's view.
        - `color` string, required — Project color name.
        - `creator_uid` string, nullable, required — String ID of the user who created the project.
        - `created_at` string, date-time, nullable, required — Date and time when the project was created, or `null` if unknown.
        - `is_archived` boolean, required — Whether the project is archived.
        - `is_deleted` boolean, required — Whether the project is deleted.
        - `is_favorite` boolean, required — Whether the project is marked as a favorite.
        - `is_frozen` boolean, required — Whether the project is frozen and cannot be modified.
        - `name` string, required — Project name.
        - `is_shared` boolean, required — Whether the project is shared with other users.
        - `updated_at` string, date-time, nullable, required — Date and time when the project was last updated, or `null` if unknown.
        - `view_style` string, required — Project view style.
        - `default_order` integer, required — Default order of the project in team views.
        - `description` string, required — Project description.
        - `public_key` string, required — Public access key for the project, or an empty string when public access is disabled.
        - `access` ProjectAccessView, required — Contains the details on who can view a project.
          - `visibility` 'restricted' | 'team' | 'public', required — Indicates who can see a project
          - `configuration` union, required — Configuration for the selected visibility level.
            - RestrictedProjectConfiguration — Configuration specific to restricted projects.
            - TeamProjectConfiguration — Configuration specific to team projects.
            - PublicProjectConfiguration — Configuration specific to public projects.
              - …
        - `role` string, nullable, required — Current user's role in the project.
        - `parent_id` string, nullable, required — String ID of the parent project, or `null` for root projects.
        - `inbox_project` boolean, required — Whether this project is the user's Inbox project.
      - WorkspaceProjectSyncView — A representation of a Workspace Project Sync View, extending the base ProjectSync View, to be returned to clients in a sync (or sync-like) response.
        - `id` string, required — String ID of the project.
        - `can_assign_tasks` boolean, required — Whether the current user can assign tasks in the project.
        - `can_comment` boolean, required — Whether the current user can comment in the project.
        - `child_order` integer, required — Position of the project among sibling projects.
        - `order_key` string, nullable, required — Fractional-indexing order key among sibling projects, or `null` until assigned (backfill in progress). Always `null` for workspace projects, which are ordered via folders instead.
        - `is_collapsed` boolean, required — Whether the project is collapsed in the user's view.
        - `color` string, required — Project color name.
        - `creator_uid` string, nullable, required — String ID of the user who created the project.
        - `created_at` string, date-time, nullable, required — Date and time when the project was created, or `null` if unknown.
        - `is_archived` boolean, required — Whether the project is archived.
        - `is_deleted` boolean, required — Whether the project is deleted.
        - `is_favorite` boolean, required — Whether the project is marked as a favorite.
        - `is_frozen` boolean, required — Whether the project is frozen and cannot be modified.
        - `name` string, required — Project name.
        - `is_shared` boolean, required — Whether the project is shared with other users.
        - `updated_at` string, date-time, nullable, required — Date and time when the project was last updated, or `null` if unknown.
        - `view_style` string, required — Project view style.
        - `default_order` integer, required — Default order of the project in team views.
        - `description` string, required — Project description.
        - `public_key` string, required — Public access key for the project, or an empty string when public access is disabled.
        - `access` ProjectAccessView, required — Contains the details on who can view a project.
          - `visibility` 'restricted' | 'team' | 'public', required — Indicates who can see a project
          - `configuration` union, required — Configuration for the selected visibility level.
            - RestrictedProjectConfiguration — Configuration specific to restricted projects.
            - TeamProjectConfiguration — Configuration specific to team projects.
            - PublicProjectConfiguration — Configuration specific to public projects.
              - …
        - `role` string, nullable, required — Current user's role in the project.
        - `collaborator_role_default` string, required — Default collaborator role for the workspace project.
        - `folder_id` string, nullable, required — String ID of the folder that contains the project, or `null`.
        - `is_invite_only` boolean, nullable, required — Whether joining the workspace project requires an invitation.
        - `is_link_sharing_enabled` boolean, required — Whether invitation links are enabled for the project.
        - `status` 'PLANNED' | 'IN_PROGRESS' | 'PAUSED' | 'COMPLETED' | 'CANCELED', required — Project status. At the moment, this is for workspace projects only.
        - `workspace_id` string, required — String ID of the workspace that contains the project.
        - `is_pending_default_collaborator_invites` boolean, required — Whether default collaborator invitations are still being created in the background.
        - `is_project_insights_enabled` boolean, required — Whether project insights are enabled for the project.
        - `parent_id` unknown
  - `sections` SectionSyncView[], required — Sections created by the import.
    - `id` string, required — String ID of the section.
    - `user_id` string, required — String ID of the user who owns the section.
    - `project_id` string, required — String ID of the project that contains the section.
    - `added_at` string, date-time, required — Date and time when the section was created.
    - `updated_at` string, date-time, nullable, required — Date and time when the section was last updated, or `null` if unknown.
    - `archived_at` string, date-time, nullable, required — Date and time when the section was archived, or `null` if it is active.
    - `name` string, required — Section name.
    - `description` string, nullable, required — Section description, or `null` if it has none.
    - `section_order` integer, required — Position of the section in the project.
    - `order_key` string, nullable, required — Fractional-indexing order key: sections sort by comparing keys lexicographically within a project. May be `null` for projects not yet migrated.
    - `is_collapsed` boolean, required — Whether the section is collapsed in the user's view.
    - `is_archived` boolean, required — Whether the section is archived.
    - `is_deleted` boolean, required — Whether the section is deleted.
  - `tasks` ItemSyncView[], required — Tasks created by the import.
    - `user_id` string, required — String ID of the user who owns the task.
    - `id` string, required — String ID of the task.
    - `project_id` string, required — String ID of the project that contains the task.
    - `section_id` string, nullable, required — String ID of the section that contains the task, or `null` if the task is not in a section.
    - `parent_id` string, nullable, required — String ID of the parent task, or `null` if this is a top-level task.
    - `added_by_uid` string, nullable, required — String ID of the user who created the task, or `null` if unknown.
    - `assigned_by_uid` string, nullable, required — String ID of the user who assigned the task, or `null` if unassigned.
    - `responsible_uid` string, nullable, required — String ID of the user responsible for the task, or `null` if unassigned.
    - `labels` string[], required — Names of labels attached to the task.
    - `deadline` object, nullable, required — Deadline details for the task, or `null` when the task has no deadline.
    - `duration` object, nullable, required — Task duration details, or `null` when the task has no duration.
    - `is_collapsed` boolean, required — Whether the task is collapsed in the user's view.
    - `checked` boolean, required — Whether the task is completed.
    - `is_deleted` boolean, required — Whether the task is deleted.
    - `added_at` string, date-time, nullable, required — Date and time when the task was created, or `null` if unknown.
    - `completed_at` string, date-time, nullable, required — Date and time when the task was completed, or `null` if active.
    - `completed_by_uid` string, nullable, required — String ID of the user who completed the task, or `null` if active.
    - `updated_at` string, date-time, nullable, required — Date and time when the task was last updated, or `null` if unknown.
    - `due` object, nullable, required — Due date details for the task, or `null` when the task has no due date.
    - `priority` integer, required — Task priority from 1 (normal) to 4 (urgent).
    - `child_order` integer, required — Position of the task among sibling tasks.
    - `order_key` string, nullable, required — Fractional-indexing order key: tasks sort by comparing keys lexicographically among siblings sharing the same project, section and parent task. May be `null` for tasks not yet migrated.
    - `content` string, required — Task content.
    - `description` string, required — Task description.
    - `note_count` integer, required — **Deprecated**: only returns 0 and is marked for removal.
    - `day_order` integer, required — Task order for day-based views.
    - `completed_count` integer, required — Number of times the task has been marked as completed. Increments on every completion, including recurring occurrences and re-completions of a previously reopened task. Decremented when a recurring completion is undone.
    - `postponed_count` integer, required — Number of times the task's due date has been rescheduled by the user. Increments on any due-date change between two set dates (forward or backward); recurring completions and undos are not counted.
  - `comments` ItemNoteSyncView[], required — Task comments created by the import.
    - `id` string, required — String ID of the comment.
    - `posted_uid` string, nullable, required — String ID of the user who posted the comment.
    - `content` string — Comment content.
    - `file_attachment` object, nullable, required — File attachment metadata, or `null` when the comment has no attachment.
    - `uids_to_notify` string[], nullable, required — String IDs of users notified by the comment.
    - `is_deleted` boolean, required — Whether the comment is deleted.
    - `posted_at` string, date-time, nullable, required — Date and time when the comment was posted, or `null` if unknown.
    - `reactions` object, nullable, required — Reaction emoji mapped to user IDs that reacted.
    - `item_id` string, nullable, required
  - `project_notes` ProjectNoteSyncView[], required — Project comments created by the import.
    - `id` string, required — String ID of the comment.
    - `posted_uid` string, nullable, required — String ID of the user who posted the comment.
    - `content` string — Comment content.
    - `file_attachment` object, nullable, required — File attachment metadata, or `null` when the comment has no attachment.
    - `uids_to_notify` string[], nullable, required — String IDs of users notified by the comment.
    - `is_deleted` boolean, required — Whether the comment is deleted.
    - `posted_at` string, date-time, nullable, required — Date and time when the comment was posted, or `null` if unknown.
    - `reactions` object, nullable, required — Reaction emoji mapped to user IDs that reacted.
    - `project_id` string, nullable, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found

---

[API](https://skmtc.net/todoist/apis/todoist-api.md) · [All operations](https://skmtc.net/todoist/apis/todoist-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/todoist/todoist-api/revisions/69a962f1578f/schema)
