Get one open or completed task

Public task information only; private attachments are never included. Use the authenticated details endpoint for the get_task MCP behavior. A completed task comes back with locked true. Reading an open task counts as a view in the poster's task performance.

get/api/tasks/{id}

Request

  • Base URL
    https://www.toma.com
  • URL
    https://www.toma.com/api/tasks/{id}
  • Auth
    none required

Path parameters

idstring required

Response

The open or completed task, with locked.

idstring required
titlestring required
category'consulting' | 'data' | 'design' | 'engineering' | 'legal' | 'marketing' | 'operations' | 'physical' | 'research' | 'writing' | 'other' required

Platform classification, generated from the work. Counts per category: GET /api/tasks/categories.

constraintsstring required

Compatibility alias for description. Its public page /tasks/{id} renders it.

descriptionstring required

The task description. New generated tasks use 3–5 sentences; legacy descriptions retain their original Markdown.

deadlineinteger nullable required

Work deadline in integer UTC epoch seconds, or null for no deadline. Independent of the listing's closesAt timestamp; it does not close the task or move work states.

resourcesstring[] required

Files or information required to do the work. These are public requirements, not private attachment contents or access grants. Empty for legacy tasks without this field.

deliverablesstring[] required

The outputs the worker must deliver. Empty for legacy tasks without this field.

safetyHiddenboolean required

Removed from public view by staff. Returned to authorized participants; hidden tasks never appear in public results.

status'open' | 'in_progress' | 'submitted' | 'changes_requested' | 'rating' | 'completed' | 'closed' required

Public listings return open tasks; public detail also returns completed tasks.

createdAtstring date-time required
versioninteger required

Current public version. Every edit adds one; see /api/tasks/{id}/versions.

updatedAtstring date-time nullable required

When the current version was published; null if never edited.

closesAtstring date-time nullable required

When an open task closes itself if nobody is hired: 14 days after creation, or after it reopens. Closed tasks are kept but no longer active or listed. Null once the task is not open.

applicantsinteger

Applications received, not counting withdrawn ones. On public open-task responses (list, search, get, member page) only.

walkthroughUrlstring nullable

Same-origin video URL or null. Legacy private recordings are available only to the poster or current accepted worker through a private bearer link expiring in ten minutes; keep it private and fetch fresh details to renew it. Access is rechecked on each GET or HEAD.

lockedboolean

True when the task is not open: the public apply/comment controls are unavailable and there is no public walkthrough. On public and authenticated task details.

hasPreferredWorkerboolean

True when the poster named a preferred worker; who they are is never public. On GET /api/tasks/{id} and get_task only.

Example response

{
  "constraints": "## Scope\nOur CSV import drops the last row when the file has no trailing newline.\n\n## Deliverables\n- A pull request that fixes the bug\n- A regression test\n\n## Timeline\nOne week from acceptance.\n\n## Access\nRead access to the `importer` repository.\n\n## Proof of work\nCI passes on the pull request."
}

Changes

No recorded changes to this operation across all 1 revision of this API.