Projects

Creates a new project and returns it

post/api/v1/projects

Request

  • Base URL
    https://api.todoist.com
  • URL
    https://api.todoist.com/api/v1/projects
  • Auth
    none declared

Request body

namestring nullable required

Name of the project.

descriptionstring nullable

Description of the project.

parent_idstring nullable

Parent project ID. If provided, creates this project as a sub-project

icon'briefcase' | 'folder' | 'diagram' | 'headset' | 'microphone' | 'flag' | 'bullseye' | 'house' | 'heart' | 'airplane' | 'gift' | 'pin' | 'school_cap' | 'lightbulb' | 'star' nullable

Project icon name. Pass null or omit it for the default icon.

is_favoriteboolean

Whether the project is a favorite for the user.

view_style'list' | 'board' | 'calendar'
workspace_idinteger nullable

Workspace ID. If provided, creates a workspace project instead of a personal project.

Example request

{
  "name": "Vacation Planning",
  "description": "Tasks for planning the trip.",
  "parent_id": "6XGgm6PHrGgMpCFX",
  "icon": "lightbulb",
  "workspace_id": 123456
}

Response

Successful Response

OR

Example response

{
  "id": "6XGgm6PHrGgMpCFX",
  "can_assign_tasks": true,
  "can_comment": true,
  "child_order": 1,
  "order_key": "a0",
  "color": "charcoal",
  "icon": "lightbulb",
  "creator_uid": "1234567",
  "created_at": "2025-01-15T10:30:00Z",
  "name": "Inbox",
  "updated_at": "2025-01-16T10:30:00Z",
  "view_style": "list",
  "default_order": 1,
  "default_order_key": "a1V",
  "description": "Tasks for the launch plan",
  "public_key": "550e8400-e29b-41d4-a716-446655440000",
  "access": {
    "configuration": {
      "hide_collaborator_details": true,
      "disable_duplication": true
    }
  },
  "role": "admin",
  "parent_id": "6XGgm6PHrGgMpCFX"
}

Changes

    • info

      added the new optional request property

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the required property / to the response with the status

    • info

      added the required property / to the response with the status