---
title: "Create Task"
method: POST
path: "/api_v2/projects/{project_id}/tasks.json"
tags: ["Tasks"]
---

# Create Task

`POST /api_v2/projects/{project_id}/tasks.json`

## Request

- Base URL: `https://www.bugherd.com`
- URL: `https://www.bugherd.com/api_v2/projects/{project_id}/tasks.json`
- Auth: HTTP basic

Creates a new task in a project.

**Requester and assignee:** The requester and assignee can each be specified by user ID or email address.
- `assigned_to_email` - the user must be a current project member
- `requester_email` - accepts any email address

**Status:** Omitting the `status` field or setting it to `null` sends the task to the Feedback panel.

## Path parameters

- `project_id` integer, required

## Request body

- object
  - `task` object
    - `description` string
    - `priority` 'not set' | 'critical' | 'important' | 'normal' | 'minor'
    - `status` string
    - `requester_id` integer
    - `requester_email` string, email
    - `assigned_to_id` integer
    - `assigned_to_email` string, email
    - `tag_names` string[]
    - `external_id` string

## Response `201`

Created task

- object
  - `task` Task
    - `id` integer: Globally unique task ID
    - `local_task_id` integer: Project-scoped task number (e.g.
    - `project_id` integer
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `closed_at` string, date-time, nullable
    - `deleted_at` string, date-time, nullable
    - `title` string
    - `description` string
    - `status` string: Status name. Built-in values: `backlog`, `todo`, `doing`, `done`, `closed`. Custom column names also appear here.
    - `status_id` integer, nullable: 0 = backlog, 1 = todo, 2 = doing, 4 = done, 5 = closed. Values > 5 indicate a custom column.
    - `priority` 'not set' | 'critical' | 'important' | 'normal' | 'minor'
    - `priority_id` integer: 0 = not set, 1 = critical, 2 = important, 3 = normal, 4 = minor
    - `site` string: The website the task was logged on
    - `url` string: The specific page path the task was logged on
    - `tag_names` string[]
    - `external_id` string, nullable: Optional external reference set via API
    - `requester_email` string, email, nullable
    - `attachments` string[]
    - `screenshot_url` string, uri, nullable
    - `secret_link` string, uri: Unguessable public URL - no login required
    - `admin_link` string, uri: Task board URL - login required
    - `assigned_to` User
      - `id` integer
      - `email` string, email
      - `display_name` string
      - `avatar_url` string, uri
    - `requester` User
      - `id` integer
      - `email` string, email
      - `display_name` string
      - `avatar_url` string, uri
    - `project_name` string
    - `due_at` string, date-time, nullable
    - `assignee_ids` integer[]
    - `assignees` User[]
      - `id` integer
      - `email` string, email
      - `display_name` string
      - `avatar_url` string, uri
    - `assigned_to_id` integer, nullable
    - `requester_id` integer, nullable
    - `column_id` integer, nullable
    - `updater` User
      - `id` integer
      - `email` string, email
      - `display_name` string
      - `avatar_url` string, uri
    - `metadata` object, nullable
    - `screenshot_data` object, nullable
    - `fullstory_session_url` string, nullable
    - `logrocket_session_url` string, nullable
    - `requester_os` string, nullable
    - `requester_browser` string, nullable
    - `requester_browser_size` string, nullable
    - `requester_resolution` string, nullable
    - `selector_info` object, nullable
    - `logs` object, nullable

---

[API](https://skmtc.dev/bugherd/apis/bugherd-api-v2.md) · [All operations](https://skmtc.dev/bugherd/apis/bugherd-api-v2/llms.txt) · [OpenAPI document](https://skmtc.dev/bugherd/apis/bugherd-api-v2/revisions/bf473cda70d4?raw)
