Skip to main content
POST
/
v1
/
tasks
Create Task
curl --request POST \
  --url https://api.trellistech.com/v1/tasks \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "<string>",
  "property_id": "<string>",
  "description": "<string>",
  "department": "<string>",
  "scheduled_date": "<string>",
  "scheduled_time": "<string>",
  "assigned_to": "<string>",
  "priority": "<string>",
  "estimated_duration_minutes": 123,
  "cost": 123,
  "currency": "<string>"
}
'
{
  "id": "<string>",
  "title": "<string>",
  "description": "<string>",
  "property_id": "<string>",
  "property_name": "<string>",
  "department": "<string>",
  "status": "<string>",
  "priority": "<string>",
  "assigned_to": {
    "id": "<string>",
    "name": "<string>"
  },
  "scheduled_date": "<string>",
  "scheduled_time": "<string>",
  "estimated_duration_minutes": 123,
  "cost": 123,
  "currency": "<string>",
  "created_at": "<string>",
  "updated_at": "<string>"
}
Creates a new task and returns the created object. Tasks represent work items such as cleaning turnovers, maintenance repairs, or property inspections.

Body Parameters

title
string
required
A descriptive title for the task (e.g., “Turnover cleaning - Sunset Villa”).
property_id
string
The ID of the property this task is associated with.
description
string
Detailed instructions or notes for the task.
department
string
Department responsible for this task. One of: cleaning, maintenance, inspection.
scheduled_date
string
The date the task should be performed (YYYY-MM-DD format).
scheduled_time
string
The time the task should start (HH:MM format, 24-hour).
assigned_to
string
User ID of the team member to assign this task to.
priority
string
default:"normal"
Priority level. One of: low, normal, high, urgent.
estimated_duration_minutes
integer
Estimated time to complete the task, in minutes.
cost
number
Cost associated with the task.
currency
string
Currency code for the cost (ISO 4217, e.g., “USD”, “EUR”). Required if cost is provided.

Example Request

curl -X POST \
  -H "Authorization: Bearer trls_live_abc123..." \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Turnover cleaning - Sunset Villa",
    "property_id": "a1b2c3d4-5678-9abc-def0-123456789abc",
    "department": "cleaning",
    "scheduled_date": "2026-04-10",
    "scheduled_time": "10:00",
    "assigned_to": "u1a2b3c4-1111-2222-3333-444444444444",
    "priority": "high",
    "estimated_duration_minutes": 120,
    "cost": 85.00,
    "currency": "USD"
  }' \
  "https://api.trellistech.com/v1/tasks"

Response

Returns the newly created task object.
id
string
Unique identifier for the task.
title
string
Task title.
description
string
Task description or instructions.
property_id
string
ID of the associated property.
property_name
string
Name of the associated property.
department
string
Department (e.g., “cleaning”, “maintenance”).
status
string
Current task status.
priority
string
Priority level: low, normal, high, urgent.
assigned_to
object
The assigned team member, if any.
scheduled_date
string
Scheduled date (YYYY-MM-DD).
scheduled_time
string
Scheduled time (HH:MM), if set.
estimated_duration_minutes
integer
Estimated duration in minutes.
cost
number
Cost associated with the task.
currency
string
Currency code (ISO 4217).
created_at
string
ISO 8601 timestamp of when the task was created.
updated_at
string
ISO 8601 timestamp of the last update.

Example Response

201
{
  "id": "t1a2b3c4-5678-9abc-def0-333333333333",
  "title": "Turnover cleaning - Sunset Villa",
  "description": null,
  "property_id": "a1b2c3d4-5678-9abc-def0-123456789abc",
  "property_name": "Sunset Villa",
  "department": "cleaning",
  "status": "OPEN",
  "priority": "high",
  "assigned_to": {
    "id": "u1a2b3c4-1111-2222-3333-444444444444",
    "name": "Sofia Martinez"
  },
  "scheduled_date": "2026-04-10",
  "scheduled_time": "10:00",
  "estimated_duration_minutes": 120,
  "cost": 85.00,
  "currency": "USD",
  "created_at": "2026-04-05T07:00:00Z",
  "updated_at": "2026-04-05T07:00:00Z"
}

Error Responses

400
{
  "error": {
    "code": "validation_error",
    "message": "The 'title' field is required."
  }
}
400
{
  "error": {
    "code": "invalid_parameter",
    "message": "The 'property_id' does not match any property in your workspace."
  }
}
401
{
  "error": {
    "code": "unauthorized",
    "message": "Invalid or missing API key."
  }
}