Skip to content
Dashboard

List tasks for the organization.

GET
/tasks
curl --request GET \
--url 'https://api-us.suiteop.com/api/v1/tasks?priority=watch&scope=personal&status=triage&view=today' \
--header 'Authorization: Bearer <token>'

List task records — the unit of work, not the unit of time or money. USE for ‘open tasks at property X’, ‘tasks assigned to me’, ‘overdue maintenance’, filtering by status / priority / property / assignee / department / due date. DO NOT USE for ‘who’s clocked in’ or ‘timesheet’/‘hours worked’ (use listClockedShifts), ‘cost / approvals / payroll / what did we spend’ (use listCostsByPeriod), or ‘projected cost of task X’ (use previewTaskCostForAssignees). Task statuses: triage / not_started / in_progress / paused / completed / cancelled.

assigneeUserId
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
assigneeUserIds
Array<string>
departmentId
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
departmentIds
Array<string>
dueDateFrom
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d\.\d{3}(?:Z))$/
dueDateTo
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d\.\d{3}(?:Z))$/
hasReservation
boolean
includeCancelled
boolean
includeDeleted
boolean
includeTriage
boolean
limit
integer
>= 1 <= 100
nameContains
string
<= 100 characters
offset
integer
<= 9007199254740991
priorities
Array<string>
Allowed values: watch low medium high urgent
priority
string
Allowed values: watch low medium high urgent
propertyId
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
propertyIds
Array<string>
reservationId
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
scope
string
Allowed values: personal shared
status
string
Allowed values: triage not_started in_progress paused completed cancelled
statuses
Array<string>
Allowed values: triage not_started in_progress paused completed cancelled
unassigned
boolean
view
string
Allowed values: today overdue tomorrow week scheduled unscheduled done triage issues deleted recurring

Success.

Media type application/json
object
data
required

Array of matching items.

Array<object>
object
assigneeFirstName
required
Any of:
string
assigneeLastName
required
Any of:
string
assigneeUserId
required
Any of:
string
collaboratorUsers
required
Array<object>
object
firstName
required
Any of:
string
id
required
string
lastName
required
Any of:
string
collaborators
required
Any of:
Array<string>
completedByFirstName
required
Any of:
string
completedByLastName
required
Any of:
string
completedByUserId
required
Any of:
string
createdAt
required
string format: date-time
departmentCategory
required
Any of:
string
departmentColor
required
Any of:
string
departmentId
required
string
departmentName
required
Any of:
string
due
required
Any of:
string format: date-time
endTime
required
Any of:
string format: date-time
estCost
required
Any of:
number
financialApprovalStatus
required
Any of:
string
hasCostOverride
required
boolean
id
required
string
isBlocking
required
Any of:
boolean
isRecurring
required
Any of:
boolean
isUnassigned
required
Any of:
boolean
lastStartTime
required
Any of:
string format: date-time
nameText
required
Any of:
string
priority
required
Any of:
string
propertyCleaningStatus
required
Any of:
string
propertyId
required
Any of:
string
propertyInspectionStatus
required
Any of:
string
propertyName
required
Any of:
string
status
required
Any of:
string
taskItemsCompleted
required
number
taskItemsTotal
required
number
totalCost
required
Any of:
number
meta
required

Response metadata including pagination.

object
pagination
required

Present on list responses.

object
limit
required

Page size used for this request.

integer
offset
required

Number of items skipped.

integer
total
required

Total number of matching items (across all pages).

integer
requestId
required

Unique identifier for this request.

string
pagination
required

Pagination metadata included on list responses.

object
limit
required

Page size used for this request.

integer
offset
required

Number of items skipped.

integer
total
required

Total number of matching items (across all pages).

integer
Example generated
{
"data": [
{
"assigneeFirstName": "example",
"assigneeLastName": "example",
"assigneeUserId": "example",
"collaboratorUsers": [
{
"firstName": "example",
"id": "example",
"lastName": "example"
}
],
"collaborators": [
"example"
],
"completedByFirstName": "example",
"completedByLastName": "example",
"completedByUserId": "example",
"createdAt": "2026-04-15T12:00:00Z",
"departmentCategory": "example",
"departmentColor": "example",
"departmentId": "example",
"departmentName": "example",
"due": "2026-04-15T12:00:00Z",
"endTime": "2026-04-15T12:00:00Z",
"estCost": 1,
"financialApprovalStatus": "example",
"hasCostOverride": true,
"id": "example",
"isBlocking": true,
"isRecurring": true,
"isUnassigned": true,
"lastStartTime": "2026-04-15T12:00:00Z",
"nameText": "example",
"priority": "example",
"propertyCleaningStatus": "example",
"propertyId": "example",
"propertyInspectionStatus": "example",
"propertyName": "example",
"status": "example",
"taskItemsCompleted": 1,
"taskItemsTotal": 1,
"totalCost": 1
}
],
"meta": {
"pagination": {
"limit": 1,
"offset": 1,
"total": 1
},
"requestId": "example"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute for this API key.

X-RateLimit-Remaining
integer

Remaining requests in the current rate-limit window.

X-RateLimit-Reset
integer

Unix epoch seconds when the rate-limit window resets.

X-Request-Id
string

Unique identifier for this request (matches meta.requestId in the body).

400

Media type application/json
ValidationError

Error envelope returned for HTTP 400 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: validation_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "validation_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

401

Media type application/json
AuthenticationError

Error envelope returned for HTTP 401 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: authentication_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "authentication_error"
}
}
X-Request-Id
string

Request correlation id (also in meta.requestId).

403

Media type application/json
AuthorizationError

Error envelope returned for HTTP 403 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: authorization_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "authorization_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

404

Media type application/json
NotFoundError

Error envelope returned for HTTP 404 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: not_found_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "not_found_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

409

Media type application/json
ConflictError

Error envelope returned for HTTP 409 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: conflict_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "conflict_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

422

Media type application/json
BusinessRuleError

Error envelope returned for HTTP 422 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: business_rule_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "business_rule_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

429

Media type application/json
RateLimitError

Error envelope returned for HTTP 429 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: rate_limit_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "rate_limit_error"
}
}
Retry-After
integer

Number of seconds to wait before retrying.

X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).

500

Media type application/json
InternalError

Error envelope returned for HTTP 500 responses.

object
error
required
object
code
required

Machine-readable error code.

string
details

Optional structured details (omitted when undefined).

object
key
additional properties
any
message
required

Human-readable error message.

string
type
required

Error type.

string
Allowed values: internal_error
meta
required
object
requestId
required
string
Example
{
"error": {
"type": "internal_error"
}
}
X-RateLimit-Limit
integer

Maximum requests per minute.

X-RateLimit-Remaining
integer

Remaining requests in the current window.

X-RateLimit-Reset
integer

Unix epoch seconds when the window resets.

X-Request-Id
string

Request correlation id (also in meta.requestId).