Skip to main content
POST
/
api
/
v1
/
tasks
Create task
curl --request POST \
  --url https://api.getarca.app/api/v1/tasks \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "workspace_id": "<string>",
  "list_id": "<string>",
  "title": "<string>",
  "description": "<string>",
  "priority": "<string>",
  "status_id": "<string>",
  "due_date": "<string>",
  "start_date": "<string>"
}
'
{
  "id": 110,
  "workspace_id": 3,
  "list_id": 20,
  "title": "Write unit tests",
  "description": "<p>Cover all service layer methods.</p>",
  "priority": "high",
  "identifier": 14,
  "due_date": "2026-03-30T17:00:00.000Z",
  "start_date": null,
  "creator_id": 1,
  "created_at": "2026-03-18T18:00:00.000Z",
  "status": {
    "id": 1,
    "name": "To Do",
    "icon": "todo",
    "color": "gray",
    "category": "pending"
  },
  "assignees": []
}
Requires the tasks:write scope. Viewers cannot create tasks.

Request body

workspace_id
string
required
Numeric ID of the workspace to create the task in.
list_id
string
required
Numeric ID of the list to place the task in. The list must exist in the same workspace.
title
string
required
Task title. Whitespace is trimmed. HTML is sanitized.
description
string
Optional task description. Accepts an HTML string. HTML is sanitized.
priority
string
default:"none"
Task priority. Must be one of urgent, high, medium, low, or none. Defaults to none if omitted.
status_id
string
Numeric ID of the workspace status to apply. Must belong to the same workspace. If omitted, the task is assigned the first status in the workspace with the pending category.
due_date
string
Due date in ISO 8601 UTC format (e.g., "2026-03-25T17:00:00Z"). A string without a timezone suffix is treated as UTC.
start_date
string
Start date in ISO 8601 UTC format.

Response

Returns the created task. The identifier is a workspace-scoped sequential number auto-incremented from the last task in the workspace. assignees is always an empty array on creation, use the Arca app to assign users.
id
number
required
New task identifier.
workspace_id
number
required
Workspace this task belongs to.
list_id
number
required
List this task belongs to.
title
string
required
Task title.
description
string | null
Task description. null if not provided.
priority
string
required
Task priority.
identifier
number
required
Auto-assigned workspace-scoped sequential task number.
due_date
string | null
UTC ISO-8601 due date. null if not set.
start_date
string | null
UTC ISO-8601 start date. null if not set.
creator_id
number
required
User ID of the API key owner (the creator).
created_at
string
required
UTC ISO-8601 creation timestamp.
status
object | null
Assigned status object. null if no status exists in the workspace.
assignees
array
required
Always [] for newly created tasks.
{
  "id": 110,
  "workspace_id": 3,
  "list_id": 20,
  "title": "Write unit tests",
  "description": "<p>Cover all service layer methods.</p>",
  "priority": "high",
  "identifier": 14,
  "due_date": "2026-03-30T17:00:00.000Z",
  "start_date": null,
  "creator_id": 1,
  "created_at": "2026-03-18T18:00:00.000Z",
  "status": {
    "id": 1,
    "name": "To Do",
    "icon": "todo",
    "color": "gray",
    "category": "pending"
  },
  "assignees": []
}