Skip to navigation

List forms across your company

New: GET /forms

Lists your company’s forms across every project and opportunity, including forms on account work orders, paginated. Use it to sync forms incrementally instead of listing them one record at a time.

Query parameters

ParameterDescription
page, page_sizePagination. page_size defaults to 20, max 100.
updated_after, updated_beforeISO 8601 date or date-time.
project_idForms on this project.
opportunity_idForms on this opportunity.
account_idForms on this account’s work orders. Forms can’t be added to an account directly.
work_order_idForms attached to this work order.
template_idForms created from this template.
statusUNASSIGNED, ASSIGNED, REVIEW, CHANGES_REQUESTED, COMPLETED or CANCELLED.
include_archivedtrue to include archived forms. Default false.
order_byupdated_at (default) or created_at. Ties are broken by id.
orderasc (default) or desc.

Send only one of project_id, opportunity_id or account_id; more than one returns 400.

Each form returns id, name, templateId, projectId, opportunityId or accountId (whichever record the form is on; the other two are null), workOrderId (null if it isn’t on a work order), status, isCompleted, completedAt, isArchived, createdAt and updatedAt. Field values are not included; fetch them with GET /forms/{form_id}.

Note: Archiving a form doesn’t update its updatedAt, so updated_after doesn’t pick up archive changes.

Docs: work-order collaborators replaces the full list

On PATCH work orders, collaborators sets the full collaborator list. Include everyone who should remain, send [] to remove all collaborators, or omit the field to leave them unchanged. The behavior hasn’t changed; the docs now say so.

Updated: work orders return createdBy

Work orders now include a read-only createdBy field showing who created them, the same person the Coperniq UI shows as “Created by”.

"createdBy": { "id": 123, "firstName": "Jane", "lastName": "Doe" }
  • Returned by GET /work-orders, GET /work-orders/{id}, and the work-order lists and gets under projects, opportunities, requests, accounts and clients.
  • null when the creator is unknown.
  • Update responses return the same shape as a GET. Create responses return { "id": 123 } only.
  • It’s the equivalent of createdByUser on forms.