Skip to content
Dashboard

List requirements (checklist items) for a task.

GET
/task-requirements
curl --request GET \
--url 'https://api-us.suiteop.com/api/v1/task-requirements?taskId=2489E9AD-2EE2-8E00-8EC9-32D5F69181C0' \
--header 'Authorization: Bearer <token>'

List the requirements (checklist items / element-targeted items) attached to a specific task, with per-item completion state. Returns each item’s group title, description, isCompleted, completedAt, completedById, answer (for dropdown / condition items), photos[] (completion artifacts), flag (red-flagged for review), isAiVerified (AI-photo-verification passed), elementName (for element-targeted requirements like ‘Kitchen — Sink’). Use to answer: ‘what’s left on task X?’, ‘show me completed requirements for task Y’, ‘were all photos uploaded?’, ‘are any items flagged?’, ‘what did the field team report on this task?’. getTask only returns the aggregate count — this returns the actual list.

taskId
required
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)$/

Success.

Media type application/json
object
data
required

Response payload.

object
groups
required
Array<object>
object
id
required
string
optionSetId
required
Any of:
string
photoRequired
required
Any of:
boolean
photoRequirement
required
Any of:
string
title
required
Any of:
string
type
required
Any of:
string
items
required
Array<object>
object
answer
required
Any of:
string
checklistItem
required
Any of:
object
description
required
Any of:
string
id
required
string
checklistItemId
required
Any of:
string
completedAt
required
Any of:
string format: date-time
completedById
required
Any of:
string
createdAt
required
string format: date-time
element
required
Any of:
object
id
required
string
name
required
Any of:
string
parentElementName
required
Any of:
string
parentElementType
required
Any of:
string
parentId
required
Any of:
string
type
required
Any of:
string
elementInstanceId
required
Any of:
string
flag
required
Any of:
boolean
group
required
Any of:
object
id
required
string
optionSetId
required
Any of:
string
photoAiVerificationPrompt
required
Any of:
string
photoRequired
required
Any of:
boolean
photoRequirement
required
Any of:
string
targetCategoryId
required
Any of:
string
title
required
Any of:
string
type
required
Any of:
string
groupId
required
Any of:
string
id
required
string
isAiVerified
required
Any of:
boolean
isCompleted
required
boolean
photos
required
Array<string>
sortOrder
required
Any of:
number
taskId
required
string
userCreated
required
Any of:
boolean
meta
required

Response metadata present on every success response.

object
pagination

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
Example generated
{
"data": {
"groups": [
{
"id": "example",
"optionSetId": "example",
"photoRequired": true,
"photoRequirement": "example",
"title": "example",
"type": "example"
}
],
"items": [
{
"answer": "example",
"checklistItem": {
"description": "example",
"id": "example"
},
"checklistItemId": "example",
"completedAt": "2026-04-15T12:00:00Z",
"completedById": "example",
"createdAt": "2026-04-15T12:00:00Z",
"element": {
"id": "example",
"name": "example",
"parentElementName": "example",
"parentElementType": "example",
"parentId": "example",
"type": "example"
},
"elementInstanceId": "example",
"flag": true,
"group": {
"id": "example",
"optionSetId": "example",
"photoAiVerificationPrompt": "example",
"photoRequired": true,
"photoRequirement": "example",
"targetCategoryId": "example",
"title": "example",
"type": "example"
},
"groupId": "example",
"id": "example",
"isAiVerified": true,
"isCompleted": true,
"photos": [
"example"
],
"sortOrder": 1,
"taskId": "example",
"userCreated": true
}
]
},
"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).