Developer pages
Zinvee WorkAPI v1.0.0

Work API reference

Base URL https://work-api.zinvee.com/v1. Authenticate with a personal API token; the guide covers pagination, errors, rate limits and webhooks. The OpenAPI 3.1 description is at /v1/openapi.json.

Me

The person a token acts as.

Who the token acts as

get/v1/me
Read tokenGuests can call it

The person the token belongs to, their workspace, and the token’s own name, scopes and expiry. A good first call to check a token works.

Response 200

The token’s person and workspace. Returns Me.

Errors: 401, 403, 429

Request
curl "https://work-api.zinvee.com/v1/me" \
  -H "Authorization: Bearer $WORK_TOKEN"

Tasks

Create, read, update and trash tasks. Also the polling triggers.

List tasks

get/v1/tasks
Read tokenGuests can call it

Tasks you can see, filtered and sorted. Polling triggers: sort=created_desc&since=<newest createdAt you saw> returns only new tasks; sort=updated_desc&since=… only changed ones (newest first).

Query

  • limitinteger

    Items per page (1–100, default 50).

    1 to 100. Default 50

  • cursorstring

    The nextCursor of the previous page.

    Up to 200 characters

  • statusstring

    One status, or several separated by commas (todo, in_progress, review, done).

  • prioritystring

    One of: low, normal, high, urgent

  • projectstring (uuid)

    Tasks in this project (its own and those also added to it).

  • assignee"me" | string (uuid)

    A person’s id, or me for tasks assigned to you.

  • labelstring (uuid)
  • parentstring (uuid)

    Only the children of this epic.

  • qstring

    Full-text search in titles and descriptions.

    Up to 200 characters

  • openboolean

    Only open tasks (not done).

  • overdueboolean

    Only tasks past their due date and not done.

  • dueBeforestring (date-time)
  • dueAfterstring (date-time)
  • sortstring

    Order of the results. Polling integrations use created_desc or updated_desc with since.

    One of: created_desc, created_asc, updated_desc, updated_asc, due_asc, due_desc, priority_desc, urgency. Default "created_desc"

  • sincestring (date-time)

    With sort=created_*: only tasks created after this moment. With sort=updated_*: only tasks changed after it. Not allowed with other sorts.

Response 200

A page of tasks.

  • dataTask[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 422, 429

Request
curl "https://work-api.zinvee.com/v1/tasks" \
  -H "Authorization: Bearer $WORK_TOKEN"

Create a task

post/v1/tasks
Read and write tokenGuests can call it

Same rules as the app: who you may assign, which projects you may add work to, what your plan allows.

Headers

  • Idempotency-Keystring

    Any unique string (a UUID is ideal). A retry with the same key returns the first response.

    Up to 255 characters

Body

  • titlestringrequired

    1 to 300 characters

  • descriptionstring

    Up to 20000 characters

  • statusstring

    Defaults to todo.

    One of: todo, in_progress, review, done

  • prioritystring

    Defaults to normal.

    One of: low, normal, high, urgent

  • dueAtstring | null

    An ISO 8601 date-time with offset (2026-10-05T12:30:00+05:30), or a date (2026-10-05) — a date is due at 18:00 (starts at 09:00) in the workspace’s timezone.

  • startAtstring | null

    An ISO 8601 date-time with offset (2026-10-05T12:30:00+05:30), or a date (2026-10-05) — a date is due at 18:00 (starts at 09:00) in the workspace’s timezone.

  • projectIdstring (uuid) | null
  • parentTaskIdstring (uuid) | null

    Create it under this epic.

  • assigneeIdsstring (uuid)[]

    Up to 20 items

  • labelIdsstring (uuid)[]

    Up to 20 items

  • subtasksstring[]

    Checklist item titles.

    Up to 50 items

Response 201

The new task. Returns Task.

Errors: 401, 403, 409, 422, 429

Request
curl -X POST "https://work-api.zinvee.com/v1/tasks" \
  -H "Authorization: Bearer $WORK_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"title":"Send the fee reminder list"}'

Get a task

get/v1/tasks/{id}
Read tokenGuests can call it

A task you can’t see answers 404, exactly like one that doesn’t exist.

Path

  • idstringrequired

    The task’s id, or its key (e.g. DGT-42).

    1 to 64 characters

Response 200

The task. Returns Task.

Errors: 401, 403, 404, 422, 429

Request
curl "https://work-api.zinvee.com/v1/tasks/DGT-42" \
  -H "Authorization: Bearer $WORK_TOKEN"

Update a task

patch/v1/tasks/{id}
Read and write tokenGuests can call it

Send only the fields to change. Which fields you may change follows your role, exactly as in the app.

Path

  • idstringrequired

    The task’s id, or its key (e.g. DGT-42).

    1 to 64 characters

Body

  • titlestring

    1 to 300 characters

  • descriptionstring | null

    Up to 20000 characters

  • statusstring

    One of: todo, in_progress, review, done

  • prioritystring

    One of: low, normal, high, urgent

  • dueAtstring | null

    An ISO 8601 date-time with offset (2026-10-05T12:30:00+05:30), or a date (2026-10-05) — a date is due at 18:00 (starts at 09:00) in the workspace’s timezone.

  • startAtstring | null

    An ISO 8601 date-time with offset (2026-10-05T12:30:00+05:30), or a date (2026-10-05) — a date is due at 18:00 (starts at 09:00) in the workspace’s timezone.

  • projectIdstring (uuid) | null

    Move the task to another project (null: no project).

  • parentTaskIdstring (uuid) | null
  • assigneeIdsstring (uuid)[]

    Replaces the assignees.

    Up to 20 items

  • labelIdsstring (uuid)[]

    Replaces the labels.

    Up to 20 items

  • estimateMinutesinteger | null

    1 to 10080

Response 200

The updated task. Returns Task.

Errors: 401, 403, 404, 409, 422, 429

Request
curl -X PATCH "https://work-api.zinvee.com/v1/tasks/DGT-42" \
  -H "Authorization: Bearer $WORK_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Move a task to the trash

delete/v1/tasks/{id}
Read and write tokenNot for guests

Admins and managers can restore it from the trash in the app until it is purged.

Path

  • idstringrequired

    The task’s id, or its key (e.g. DGT-42).

    1 to 64 characters

Response 204

Moved to the trash.

Errors: 401, 403, 404, 409, 422, 429

Request
curl -X DELETE "https://work-api.zinvee.com/v1/tasks/DGT-42" \
  -H "Authorization: Bearer $WORK_TOKEN"

Subtasks

A task’s checklist.

List a task’s checklist

get/v1/tasks/{id}/subtasks
Read tokenGuests can call it

Needs a token with read access.

Path

  • idstringrequired

    The task’s id, or its key (e.g. DGT-42).

    1 to 64 characters

Query

  • limitinteger

    Items per page (1–100, default 50).

    1 to 100. Default 50

  • cursorstring

    The nextCursor of the previous page.

    Up to 200 characters

Response 200

A page of checklist items.

  • dataSubtask[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 404, 422, 429

Request
curl "https://work-api.zinvee.com/v1/tasks/DGT-42/subtasks" \
  -H "Authorization: Bearer $WORK_TOKEN"

Add a checklist item

post/v1/tasks/{id}/subtasks
Read and write tokenGuests can call it

Needs a token with read and write access.

Path

  • idstringrequired

    The task’s id, or its key (e.g. DGT-42).

    1 to 64 characters

Headers

  • Idempotency-Keystring

    Any unique string (a UUID is ideal). A retry with the same key returns the first response.

    Up to 255 characters

Body

  • titlestringrequired

    1 to 300 characters

  • assigneeIdstring (uuid) | null

    Who does this item — someone who can see the task (null takes them off).

  • dueAtstring (date-time) | null

    When this item is due (null clears it).

Response 201

The new checklist item. Returns Subtask.

Errors: 401, 403, 404, 409, 422, 429

Request
curl -X POST "https://work-api.zinvee.com/v1/tasks/DGT-42/subtasks" \
  -H "Authorization: Bearer $WORK_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"title":"Send the fee reminder list"}'

Rename or tick off a checklist item

patch/v1/subtasks/{id}
Read and write tokenGuests can call it

Needs a token with read and write access.

Path

  • idstring (uuid)required

Body

  • titlestring

    1 to 300 characters

  • doneboolean
  • assigneeIdstring (uuid) | null

    Who does this item — someone who can see the task (null takes them off).

  • dueAtstring (date-time) | null

    When this item is due (null clears it).

Response 200

The updated checklist item. Returns Subtask.

Errors: 401, 403, 404, 409, 422, 429

Request
curl -X PATCH "https://work-api.zinvee.com/v1/subtasks/3f6c1e2a-8b4d-4c1f-9a7e-2d5b8c0e4f61" \
  -H "Authorization: Bearer $WORK_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Delete a checklist item

delete/v1/subtasks/{id}
Read and write tokenGuests can call it

Needs a token with read and write access.

Path

  • idstring (uuid)required

Response 204

Deleted.

Errors: 401, 403, 404, 409, 422, 429

Request
curl -X DELETE "https://work-api.zinvee.com/v1/subtasks/3f6c1e2a-8b4d-4c1f-9a7e-2d5b8c0e4f61" \
  -H "Authorization: Bearer $WORK_TOKEN"

Comments

Discussion on a task.

List a task’s comments

get/v1/tasks/{id}/comments
Read tokenGuests can call it

Oldest first.

Path

  • idstringrequired

    The task’s id, or its key (e.g. DGT-42).

    1 to 64 characters

Query

  • limitinteger

    Items per page (1–100, default 50).

    1 to 100. Default 50

  • cursorstring

    The nextCursor of the previous page.

    Up to 200 characters

Response 200

A page of comments.

  • dataComment[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 404, 422, 429

Request
curl "https://work-api.zinvee.com/v1/tasks/DGT-42/comments" \
  -H "Authorization: Bearer $WORK_TOKEN"

Comment on a task

post/v1/tasks/{id}/comments
Read and write tokenGuests can call it

Followers of the task are notified, as for a comment made in the app.

Path

  • idstringrequired

    The task’s id, or its key (e.g. DGT-42).

    1 to 64 characters

Headers

  • Idempotency-Keystring

    Any unique string (a UUID is ideal). A retry with the same key returns the first response.

    Up to 255 characters

Body

  • bodystringrequired

    1 to 10000 characters

  • mentionsstring (uuid)[]

    People to notify (they must be able to see the task).

    Up to 20 items

  • parentIdstring (uuid)

    Reply to this comment (a reply to a reply joins the same thread).

Response 201

The new comment. Returns Comment.

Errors: 401, 403, 404, 409, 422, 429

Request
curl -X POST "https://work-api.zinvee.com/v1/tasks/DGT-42/comments" \
  -H "Authorization: Bearer $WORK_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"body":"Done, list is in the shared folder."}'

List recent comments

get/v1/comments
Read tokenGuests can call it

Comments on every task you can see, newest first, each with the task it is on. Polling trigger: since=<newest createdAt you saw> returns only new comments — the same objects the comment.created hook delivers, on every plan.

Query

  • limitinteger

    Items per page (1–100, default 50).

    1 to 100. Default 50

  • cursorstring

    The nextCursor of the previous page.

    Up to 200 characters

  • taskstring

    Only comments on this task (its id, or its key such as DGT-42).

    1 to 64 characters

  • sincestring (date-time)

    Only comments posted after this moment. Polling triggers pass the newest createdAt they have seen.

Response 200

A page of comments, newest first.

  • dataCommentEvent[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 422, 429

Request
curl "https://work-api.zinvee.com/v1/comments" \
  -H "Authorization: Bearer $WORK_TOKEN"

Custom fields

Field definitions and each task’s values.

List custom field definitions

get/v1/custom-fields
Read tokenGuests can call it

Needs a token with read access.

Query

  • limitinteger

    Items per page (1–100, default 50).

    1 to 100. Default 50

  • cursorstring

    The nextCursor of the previous page.

    Up to 200 characters

  • projectstring (uuid)

    Workspace fields plus this project’s own.

Response 200

A page of field definitions.

  • dataCustomField[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 422, 429

Request
curl "https://work-api.zinvee.com/v1/custom-fields" \
  -H "Authorization: Bearer $WORK_TOKEN"

Get a task’s custom field values

get/v1/tasks/{id}/custom-fields
Read tokenGuests can call it

Needs a token with read access.

Path

  • idstringrequired

    The task’s id, or its key (e.g. DGT-42).

    1 to 64 characters

Response 200

Every field that applies to the task, with its value.

  • dataCustomFieldValue[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 404, 422, 429

Request
curl "https://work-api.zinvee.com/v1/tasks/DGT-42/custom-fields" \
  -H "Authorization: Bearer $WORK_TOKEN"

Set a task’s custom field values

put/v1/tasks/{id}/custom-fields
Read and write tokenGuests can call it

Values are checked against each field’s type and options. Formula and rollup fields are read-only.

Path

  • idstringrequired

    The task’s id, or its key (e.g. DGT-42).

    1 to 64 characters

Body

  • valuesmap of anyrequired

    Field id → value; null clears it. Fields you leave out are unchanged.

Response 200

The task’s values after the change.

  • dataCustomFieldValue[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 404, 409, 422, 429

Request
curl -X PUT "https://work-api.zinvee.com/v1/tasks/DGT-42/custom-fields" \
  -H "Authorization: Bearer $WORK_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"values":{}}'

Time entries

Time logged on tasks.

List time logged on a task

get/v1/tasks/{id}/time-entries
Read tokenGuests can call it

Needs a token with read access.

Path

  • idstringrequired

    The task’s id, or its key (e.g. DGT-42).

    1 to 64 characters

Query

  • limitinteger

    Items per page (1–100, default 50).

    1 to 100. Default 50

  • cursorstring

    The nextCursor of the previous page.

    Up to 200 characters

Response 200

A page of time entries.

  • dataTimeEntry[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 404, 422, 429

Request
curl "https://work-api.zinvee.com/v1/tasks/DGT-42/time-entries" \
  -H "Authorization: Bearer $WORK_TOKEN"

Log time on a task

post/v1/tasks/{id}/time-entries
Read and write tokenGuests can call it

Refused for a week whose timesheet is submitted or approved.

Path

  • idstringrequired

    The task’s id, or its key (e.g. DGT-42).

    1 to 64 characters

Headers

  • Idempotency-Keystring

    Any unique string (a UUID is ideal). A retry with the same key returns the first response.

    Up to 255 characters

Body

  • durationMinutesintegerrequired

    1 to 1440

  • startedAtstring (date-time)

    Defaults to now minus the duration.

  • notestring

    Up to 500 characters

  • billableboolean

    Pro and Business. Omitted: the project’s default.

Response 201

The new time entry. Returns TimeEntry.

Errors: 401, 403, 404, 409, 422, 429

Request
curl -X POST "https://work-api.zinvee.com/v1/tasks/DGT-42/time-entries" \
  -H "Authorization: Bearer $WORK_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"durationMinutes":1}'

Projects

Projects, their members and status updates.

List projects

get/v1/projects
Read tokenGuests can call it

Projects you can see: every workspace project, plus private ones you are on (admins see all).

Query

  • limitinteger

    Items per page (1–100, default 50).

    1 to 100. Default 50

  • cursorstring

    The nextCursor of the previous page.

    Up to 200 characters

  • archivedboolean

    Archived projects instead of active ones.

Response 200

A page of projects.

  • dataProject[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 422, 429

Request
curl "https://work-api.zinvee.com/v1/projects" \
  -H "Authorization: Bearer $WORK_TOKEN"

Get a project

get/v1/projects/{id}
Read tokenGuests can call it

Needs a token with read access.

Path

  • idstring (uuid)required

Response 200

The project. Returns Project.

Errors: 401, 403, 404, 422, 429

Request
curl "https://work-api.zinvee.com/v1/projects/3f6c1e2a-8b4d-4c1f-9a7e-2d5b8c0e4f61" \
  -H "Authorization: Bearer $WORK_TOKEN"

List a project’s members

get/v1/projects/{id}/members
Read tokenGuests can call it

Needs a token with read access.

Path

  • idstring (uuid)required

Query

  • limitinteger

    Items per page (1–100, default 50).

    1 to 100. Default 50

  • cursorstring

    The nextCursor of the previous page.

    Up to 200 characters

Response 200

A page of members.

  • dataProjectMember[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 404, 422, 429

Request
curl "https://work-api.zinvee.com/v1/projects/3f6c1e2a-8b4d-4c1f-9a7e-2d5b8c0e4f61/members" \
  -H "Authorization: Bearer $WORK_TOKEN"

List a project’s status updates

get/v1/projects/{id}/status-updates
Read tokenGuests can call it

Newest first.

Path

  • idstring (uuid)required

Query

  • limitinteger

    Items per page (1–100, default 50).

    1 to 100. Default 50

  • cursorstring

    The nextCursor of the previous page.

    Up to 200 characters

Response 200

A page of status updates.

  • dataProjectStatusUpdate[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 404, 422, 429

Request
curl "https://work-api.zinvee.com/v1/projects/3f6c1e2a-8b4d-4c1f-9a7e-2d5b8c0e4f61/status-updates" \
  -H "Authorization: Bearer $WORK_TOKEN"

People

The people you work with.

List people

get/v1/people
Read tokenGuests can call it

The workspace’s members and invited people. A guest sees only the people on their projects.

Query

  • limitinteger

    Items per page (1–100, default 50).

    1 to 100. Default 50

  • cursorstring

    The nextCursor of the previous page.

    Up to 200 characters

  • qstring

    Match on name or email.

    Up to 200 characters

Response 200

A page of people.

  • dataPerson[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 422, 429

Request
curl "https://work-api.zinvee.com/v1/people" \
  -H "Authorization: Bearer $WORK_TOKEN"

Labels

The workspace’s labels.

List labels

get/v1/labels
Read tokenGuests can call it

Needs a token with read access.

Query

  • limitinteger

    Items per page (1–100, default 50).

    1 to 100. Default 50

  • cursorstring

    The nextCursor of the previous page.

    Up to 200 characters

Response 200

A page of labels.

  • dataLabel[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 422, 429

Request
curl "https://work-api.zinvee.com/v1/labels" \
  -H "Authorization: Bearer $WORK_TOKEN"

Hooks

REST hook subscriptions — instant triggers for integration platforms.

List your hook subscriptions

get/v1/hooks
Read tokenGuests can call it

Needs a token with read access.

Query

  • limitinteger

    Items per page (1–100, default 50).

    1 to 100. Default 50

  • cursorstring

    The nextCursor of the previous page.

    Up to 200 characters

Response 200

A page of hooks.

  • dataHook[]required
  • hasMorebooleanrequired

    True when another page follows.

  • nextCursorstring | nullrequired

    Pass as cursor to fetch the next page; null on the last page.

Errors: 401, 403, 422, 429

Request
curl "https://work-api.zinvee.com/v1/hooks" \
  -H "Authorization: Bearer $WORK_TOKEN"

Subscribe to an event

post/v1/hooks
Read and write tokenGuests can call it

Pro and Business. Every matching event is POSTed to targetUrl, signed with the returned secret. Deliveries carry only what you can see at the time. Answer 410 Gone to unsubscribe; after repeated failures the hook is switched off and you are notified. Not idempotent: the signing secret is shown once and never stored, so a retry makes a second subscription — delete the one you don’t use.

Body

  • eventstringrequired

    One of: task.created, task.updated, task.completed, comment.created, project.created

  • targetUrlstring (uri)required

    Where to POST the events. Must be reachable on the public internet.

    Up to 2000 characters

Response 201

The subscription, with its signing secret (shown only now). Returns CreatedHook.

Errors: 401, 403, 409, 422, 429

Request
curl -X POST "https://work-api.zinvee.com/v1/hooks" \
  -H "Authorization: Bearer $WORK_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"event":"task.created","targetUrl":"https://hooks.example.com/zinvee"}'

Unsubscribe

delete/v1/hooks/{id}
Read and write tokenGuests can call it

Needs a token with read and write access.

Path

  • idstring (uuid)required

Response 204

Unsubscribed.

Errors: 401, 403, 404, 409, 422, 429

Request
curl -X DELETE "https://work-api.zinvee.com/v1/hooks/3f6c1e2a-8b4d-4c1f-9a7e-2d5b8c0e4f61" \
  -H "Authorization: Bearer $WORK_TOKEN"

Webhook events

What a REST hook receives. Every delivery is { id, event, hookId, occurredAt, sentAt, payload }; see Triggers and webhooks for signatures and retries.

  • task.createdTask

    A task was created

  • task.updatedTask

    A task changed (any field)

  • task.completedTask

    A task was marked done

  • comment.createdCommentEvent

    Someone commented on a task

  • project.createdProject

    A project was created

Objects

The shapes the API returns.

PersonRef

A person in the workspace.

  • idstring (uuid)required
  • namestring | nullrequired
  • emailstringrequired

Label

A label tasks can carry.

  • idstring (uuid)required
  • namestringrequired
  • colorstring | nullrequired

    Hex colour, e.g. #2563eb.

Task

A task.

  • idstring (uuid)required
  • keystringrequired

    Human-readable key, e.g. DGT-42 (unique within the workspace).

  • numberintegerrequired

    The number in the key.

  • titlestringrequired
  • descriptionstring | nullrequired

    Plain text with light formatting (**bold**, *italic*, ` code `). null when empty.

  • statusstringrequired

    One of: todo, in_progress, review, done

  • prioritystringrequired

    One of: low, normal, high, urgent

  • startAtstring (date-time) | nullrequired
  • dueAtstring (date-time) | nullrequired
  • completedAtstring (date-time) | nullrequired
  • isOverduebooleanrequired

    Past its due date and not done.

  • projectobject | nullrequired

    The task’s home project; null when it has none.

    • idstring (uuid)required
    • namestring | nullrequired

      null when it is a private project you are not on (you reach the task another way).

  • parentTaskIdstring (uuid) | nullrequired

    The epic this task belongs to.

  • assigneesPersonRef[]required
  • labelsLabel[]required
  • createdByPersonRef | nullrequired

    A person in the workspace.

  • estimateMinutesinteger | nullrequired
  • subtaskCountintegerrequired
  • subtaskDoneCountintegerrequired
  • commentCountintegerrequired
  • attachmentCountintegerrequired
  • createdAtstring (date-time)required
  • updatedAtstring (date-time)required
  • urlstringrequired

    Opens the task in the app.

Subtask

A checklist item on a task.

  • idstring (uuid)required
  • taskIdstring (uuid)required
  • titlestringrequired
  • donebooleanrequired
  • positionintegerrequired
  • createdAtstring (date-time)required
  • assigneeIdstring (uuid) | nullrequired

    Who does this item (null = nobody in particular).

  • dueAtstring (date-time) | nullrequired

    When this item is due.

Comment

A comment on a task.

  • idstring (uuid)required
  • taskIdstring (uuid)required
  • bodystringrequired
  • authorPersonRefrequired
  • createdAtstring (date-time)required
  • editedAtstring (date-time) | nullrequired
  • parentIdstring (uuid) | nullrequired

    The comment this one replies to (null = it starts a thread).

CommentEvent

A comment, with the task it is on.

  • idstring (uuid)required
  • taskIdstring (uuid)required
  • bodystringrequired
  • authorPersonRefrequired
  • createdAtstring (date-time)required
  • editedAtstring (date-time) | nullrequired
  • parentIdstring (uuid) | nullrequired

    The comment this one replies to (null = it starts a thread).

  • taskobjectrequired
    • idstring (uuid)required
    • keystringrequired
    • titlestringrequired
    • urlstringrequired

Project

A project.

  • idstring (uuid)required
  • namestringrequired
  • descriptionstring | nullrequired
  • colorstring | nullrequired
  • visibilitystringrequired

    private: only its members and admins see it.

    One of: workspace, private

  • archivedbooleanrequired
  • myRolestring | nullrequired

    Your role on the project; null when you are not a member.

    One of: editor, commenter

  • openTaskCountintegerrequired
  • overdueTaskCountintegerrequired
  • totalTaskCountintegerrequired
  • latestStatusobject | nullrequired

    The newest status update’s health.

    • statusstringrequired

      One of: on_track, at_risk, off_track, on_hold, complete

    • createdAtstring (date-time)required
  • createdAtstring (date-time)required
  • urlstringrequired

    Opens the project in the app.

ProjectMember

Someone on a project.

  • idstring (uuid)required

    The person’s id.

  • namestring | nullrequired
  • emailstringrequired
  • workspaceRolestringrequired

    One of: admin, manager, staff, guest

  • projectRolestringrequired

    One of: editor, commenter

  • isOwnerbooleanrequired
  • addedAtstring (date-time)required

ProjectStatusUpdate

A project status update.

  • idstring (uuid)required
  • projectIdstring (uuid)required
  • statusstringrequired

    One of: on_track, at_risk, off_track, on_hold, complete

  • summarystringrequired
  • authorPersonRef | nullrequired

    A person in the workspace.

  • createdAtstring (date-time)required

Person

Someone you work with.

  • idstring (uuid)required
  • namestring | nullrequired
  • emailstringrequired
  • rolestringrequired

    One of: admin, manager, staff, guest

  • statusstringrequired

    One of: active, invited

CustomField

A custom field definition.

  • idstring (uuid)required
  • namestringrequired
  • typestringrequired

    One of: text, number, select, multiselect, date, checkbox, url, formula, rollup

  • optionsstring[] | nullrequired

    The choices of a select / multiselect field.

  • projectIdstring (uuid) | nullrequired

    null: a workspace-wide field.

  • computedbooleanrequired

    Formula and rollup fields are calculated and read-only.

CustomFieldValue

A task’s value for one custom field.

  • fieldIdstring (uuid)required
  • namestringrequired
  • typestringrequired

    One of: text, number, select, multiselect, date, checkbox, url, formula, rollup

  • valueany

    text/url/select: string · number: number · multiselect: string[] · date: ISO date-time · checkbox: boolean · null: unset.

TimeEntry

Time logged on a task.

  • idstring (uuid)required
  • taskIdstring (uuid)required
  • userPersonRefrequired
  • startedAtstring (date-time)required
  • durationMinutesinteger | nullrequired

    null while a timer is running.

  • notestring | nullrequired
  • billablebooleanrequired

Hook

A REST hook subscription.

  • idstring (uuid)required
  • eventstringrequired

    One of: task.created, task.updated, task.completed, comment.created, project.created

  • targetUrlstringrequired
  • enabledbooleanrequired
  • disabledReasonstring | nullrequired

    One of: failing, gone, blocked_target

  • consecutiveFailuresintegerrequired
  • lastDeliveryAtstring (date-time) | nullrequired
  • lastSuccessAtstring (date-time) | nullrequired
  • createdAtstring (date-time)required

CreatedHook

A new REST hook subscription, with its signing secret.

  • idstring (uuid)required
  • eventstringrequired

    One of: task.created, task.updated, task.completed, comment.created, project.created

  • targetUrlstringrequired
  • enabledbooleanrequired
  • disabledReasonstring | nullrequired

    One of: failing, gone, blocked_target

  • consecutiveFailuresintegerrequired
  • lastDeliveryAtstring (date-time) | nullrequired
  • lastSuccessAtstring (date-time) | nullrequired
  • createdAtstring (date-time)required
  • secretstringrequired

    The HMAC-SHA256 key that signs every delivery (X-Diginet-Signature). Returned only now.

Me

The person the token acts as, their workspace and the token itself.

  • idstring (uuid)required
  • namestring | nullrequired
  • emailstringrequired
  • rolestringrequired

    One of: admin, manager, staff, guest

  • workspaceobjectrequired
    • idstring (uuid)required
    • namestringrequired
    • timezonestringrequired

      IANA timezone the workspace’s days follow.

    • taskKeyPrefixstringrequired

      The prefix of task keys, e.g. DGT.

  • tokenobjectrequired
    • idstring (uuid)required
    • namestringrequired
    • scopesstring[]required
    • expiresAtstring (date-time) | nullrequired