POST /api/v1.0/projects

Creates a new project. Send the body as multipart/form-data (form-data). Optional file field: logo (project image).

multipart/form-data

Body Required

  • subteam_id string Required

    Subteam ID to create the project under. Omit to create in the default team context.

  • name string Required

    Project name. Required.

    Minimum length is 1.

  • description string

    Project description or summary.

  • demo string

    Whether this is a demo project. Send as form field "true" or "false".

    Values are true or false.

  • template_id string

    Template ID to create the project from. Omit to create a blank project.

  • nice_id string

    Short custom identifier for the project (2–3 characters). Used in task IDs and URLs.

    Minimum length is 2, maximum length is 3.

  • access_type number

    Who can access the project. Values: public (0), limited (1), personal (2). Send as form string (e.g. "0").

    Values are 0, 1, or 2. Default value is public.

  • project_type number

    Project type. Values: default (0), demo (1), empty (2). Send as form string (e.g. "0").

    Values are 0, 1, or 2. Default value is default.

  • default_tasks_view string

    Default view for the Tasks section. Allowed: table, calendar, swimlane, kanban, timeline, report.

    Values are table, calendar, swimlane, kanban, timeline, or report.

  • disabled array[string]

    List of feature names to disable on the project. Omit or leave empty if none.

  • disabled_widget array[string]

    Widgets to hide on the project. Allowed values: milestones, tasks, discussion, docs, files, time, description, members, activity. Send multiple form fields or comma-separated.

    Values are milestones, tasks, discussion, docs, files, time, description, members, or activity.

Responses

  • 201 application/json

    The resource created successfully

    Hide response attributes Show response attributes object
    • id string Required

      Project ID (shortid format, e.g. from shortid package).

    • nice_id string Required

      Short custom identifier for the project (2–5 characters). Used in task IDs and URLs.

    • name string Required

      Project name.

    • description string Required

      Project description or summary.

    • initials string Required

      Project initials (abbreviation).

    • color string Required

      Primary hex color for the project.

    • secondary_color string Required

      Secondary hex color for the project.

    • demo boolean Required

      Whether this is a demo project.

    • archived boolean Required

      Whether the project is archived.

    • auto_milestones boolean Required

      Whether automatic milestones are enabled.

    • default_tasks_view string Required

      Default view for the Tasks section: table, calendar, swimlane, kanban, timeline, report.

    • access_type string Required

      Access type: public, limited, or personal.

    • owner string Required

      Project owner member ID (shortid).

    • members array[string] Required

      List of project member IDs (shortid), excluding owner.

    • general_discussion string Required

      General discussion thread ID (shortid).

    • subteam string Required

      Subteam ID (shortid) this project belongs to.

    • progress number Required

      Task completion progress (0–1). Completed tasks / total tasks.

    • joined boolean Required

      Whether the requesting member has joined the project.

    • general_discussion_muted boolean Required

      Whether general discussion is muted for the requesting member.

    • email string Required

      Project-specific email address for sending to discussion.

    • zoom_id string

      Zoom meeting ID when Zoom is linked.

    • zoom_password string

      Zoom meeting password when Zoom is linked.

    • zoom_join_url string

      Zoom join URL when Zoom is linked.

    • webex_id string

      Webex meeting ID when Webex is linked.

    • webex_password string

      Webex meeting password when Webex is linked.

    • webex_join_url string

      Webex join URL when Webex is linked.

    • enabled_modules array[string] Required

      Enabled project modules (e.g. milestones, tasks, docs).

    • disabled_modules array[string] Required

      Disabled project modules.

    • disabled_widgets number Required

      Widgets disabled on the project. See WidgetsType enum.

      Values are 0, 1, 2, 3, 4, 5, 6, 7, or 8.

    • hidden_taskboard_fields number Required

      Task board fields hidden from view. See TaskBoardFieldType enum.

      Values are 0, 1, 2, 3, or 4.

    • repo string | null Required

      Linked GitHub repo URL. Null if not linked.

    • total_story_points number Required

      Total story points across all tasks.

    • completed_story_points number Required

      Completed story points.

    • pinned_message string

      Pinned message content in general discussion.

    • pinned_by string

      Member ID (shortid) who pinned the message.

    • completion_groups array[string] Required

      Completion groups for task grouping.

    • doc_root_folder object Required

      Root folder reference for Documents section.

    • file_root_folder object Required

      Root folder reference for Files section.

    • removed boolean Required

      True if the project is scheduled for deletion (soft-deleted).

    • milestones_rollup object Required

      Rollup summary for milestones.

    • rollups array[object] Required

      Rollup summaries for various entities.

    • list_columns_order array[string] Required

      Order of list view columns.

    • hidden_list_columns array[string] Required

      List view columns hidden from display.

    • integrations array[object] Required

      Integrations connected to the project (e.g. Slack, GitHub).

  • 401

    The client request has not been completed because it lacks valid authentication credentials for the requested resource.

  • 403

    The client does not have access rights to the content.

  • 405

    The request method is known by the server but is not supported by the target resource.

POST /api/v1.0/projects
curl \
 --request POST 'https://openapi.niftypm.com/api/v1.0/projects' \
 --header "Content-Type: multipart/form-data" \
 --form "subteam_id=a1b2c3d4-e5f6" \
 --form "name=Q1 Marketing Campaign" \
 --form "description=Campaign for Q1 product launch and awareness." \
 --form "demo=false" \
 --form "template_id=b2c3d4e5-f6a7" \
 --form "nice_id=MK" \
 --form "access_type=public" \
 --form "project_type=default" \
 --form "default_tasks_view=table" \
 --form "disabled[]=string" \
 --form "disabled_widget[]=milestones"
Response examples (201)
{
  "id": "Jh3f8k",
  "nice_id": "MK",
  "name": "Q1 Marketing Campaign",
  "description": "Campaign for Q1 product launch.",
  "initials": "Q1MC",
  "logo": "https://cdn.example.com/logo.png",
  "color": "#4A90D9",
  "secondary_color": "#E74C3C",
  "demo": false,
  "archived": false,
  "auto_milestones": true,
  "default_tasks_view": "table",
  "access_type": "public",
  "owner": "V1StGXR8",
  "members": [
    "Jh3f8k",
    "Z5jdHi6B"
  ],
  "general_discussion": "B-myT9k2",
  "subteam": "N7xQw2p",
  "progress": 0.65,
  "joined": true,
  "general_discussion_muted": false,
  "email": "acme.mk@inbound.example.com",
  "zoom_id": "1234567890",
  "zoom_password": "string",
  "zoom_join_url": "https://zoom.us/j/1234567890",
  "webex_id": "string",
  "webex_password": "string",
  "webex_join_url": "string",
  "enabled_modules": [
    "milestones",
    "tasks",
    "discussion"
  ],
  "disabled_modules": [
    "string"
  ],
  "disabled_widgets": 0,
  "hidden_taskboard_fields": 0,
  "repo": "https://github.com/acme/repo-name",
  "total_story_points": 42,
  "completed_story_points": 28,
  "pinned_message": "string",
  "pinned_by": "Jh3f8k",
  "completion_groups": [
    "string"
  ],
  "doc_root_folder": {},
  "file_root_folder": {},
  "removed": false,
  "milestones_rollup": {},
  "rollups": [
    {}
  ],
  "list_columns_order": [
    "status",
    "assignee",
    "dueDate"
  ],
  "hidden_list_columns": [
    "string"
  ],
  "integrations": [
    {}
  ]
}