Skip to navigation

Post Work Order Templates Id Instantiate

View as Markdown

Creates a new work order from a template, copying its tasks, documents, assigned people and custom field defaults, for any user who can access the template, the chosen location and (when given) the asset.

Authentication

AuthorizationBearer

OAuth 2.0 Client Credentials Flow. To obtain an access token:

  1. Request API credentials from HINDSITE support to receive your client_id and client_secret

  2. Make a POST request to obtain an access token:

POST https://app.hindsiteind.com/oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET
  1. The response will contain your access token:
{
  "access_token": "your_access_token_here",
  "token_type": "Bearer",
  "expires_in": 7200,
  "created_at": 1234567890
}
  1. Include the token in subsequent API requests:
Authorization: Bearer your_access_token_here

Path parameters

idstringRequired

Request

This endpoint expects an object.
titlestringRequired>=1 character
Title of the new work order. Replaces the template's title.
location_idstringRequired
ULID of the location for the new work order. Must be a location the caller can access.
asset_idstringOptional
ULID of an active asset the caller can access. When omitted the new work order has no asset, even if the template has one.
start_date_localstringOptional

YYYY-MM-DD, interpreted in the location’s timezone

participant_idslist of stringsOptional
ULIDs of users to add as participants, replacing the template's participants. Users the caller can't access are ignored. When omitted, the template's participants are kept.

Response

created WorkOrder
idstringOptional
ULID
titlestringOptional
descriptionstringOptional
templatebooleanOptional
sharedbooleanOptional
archivedbooleanOptional
approvedbooleanOptional
completedbooleanOptional
completed_atlongOptional

Unix timestamp (seconds since epoch)

progressdoubleOptional

Completion rate 0-100

work_order_tasks_countintegerOptional
assigned_userslist of objectsOptional
manager_idslist of stringsOptional
participant_idslist of stringsOptional
operational_lead_idslist of stringsOptional
location_idslist of stringsOptional
locationobjectOptional

Only present when include_location=true is requested, and on POST /api/v2/my_work/search. Use this when the caller cannot read the location directly, such as a user assigned to the work order who has no access to its location.

project_idslist of stringsOptional
tracked_timeintegerOptional
Total tracked minutes
work_order_tasks_approvedbooleanOptional
started_atlong or nullOptional

Unix timestamp (seconds since epoch); null when unset

start_datelong or nullOptional

Unix timestamp (seconds since epoch); null when unset

finish_datelong or nullOptional

Unix timestamp (seconds since epoch); null when unset

scheduled_atdatetime or nullOptional

The work order’s start, the earlier of start_date and started_at, as ISO 8601 in its location’s time zone (e.g. 2026-09-24T14:00:00.000+08:00 for 2pm in Perth); null when neither is set

location_timezonestringOptional
creator_idstringOptional
ULID
asset_idstringOptional
ULID
assetobject or nullOptional

Only present when include_asset=true is requested, and on POST /api/v2/my_work/search; null when the work order has no asset. Use this when the caller cannot read the asset directly, such as a user assigned to the work order who has no access to the asset’s location.

work_order_template_idstringOptional
ULID
flaggedbooleanOptional
priorityenum or nullOptional
null when the work order has no priority
Allowed values:
editablebooleanOptional
work_order_taskslist of objectsOptional
reviewerslist of objectsOptional

Present when include_reviewers is set

organisation_idstringOptional
ULID
user_can_reviewbooleanOptional
documentslist of objectsOptional
custom_fieldslist of objectsOptional

Only present when include_custom_fields=true is requested.

custom_field_definitionslist of objectsOptional

Only present when include_custom_fields=true is requested and the organisation has custom fields defined for work orders.

accepts_reviewsbooleanOptional
Whether reviews can be submitted right now
reviews_viewablebooleanOptional

Whether the reviews panel applies. Returned with include_reviewers.

potential_reviewerslist of objectsOptional

Users who can be requested as reviewers. Returned with include_reviewers.

reviewable_bybooleanOptional

Whether the caller can review. Replaces the deprecated user_can_review.

review_validationslist of objectsOptional

Reasons the caller cannot review yet; empty when they can. Returned with include_reviewers.

can_manage_reviewersbooleanOptional

Whether the caller can add or remove reviewers. Returned with include_reviewers.

external_review_validationslist of objectsOptional

Reasons an external review cannot be requested yet. Returned with include_reviewers.

external_reviews_offeredbooleanOptional

Whether the caller can request an external review. Returned with include_reviewers.

requestable_external_reviewerslist of objectsOptional

External reviewers the caller can request. Returned only when external_reviews_offered is true.

statusenumOptional

Lifecycle status. cancelled wins over completed, which wins over on_hold, then in_progress, backlog, scheduled (start date in the future) and to_do.

on_holdobject or nullOptional

Hold details; null unless the work order is on hold. Returned by the single work order endpoints.

cancellationobject or nullOptional

Cancellation details; null unless cancelled. Returned by the single work order endpoints.

sectionslist of objectsOptional
Task sections in order. Returned with the work order's tasks.
all_reviewers_approvedbooleanOptional

Whether every requested reviewer has approved. Returned with include_reviewers.

created_atlongOptional

Unix timestamp (seconds since epoch) when the record was created

updated_atlongOptional

Unix timestamp (seconds since epoch) when the record was last updated

Errors

400
Bad Request Error
404
Not Found Error
422
Unprocessable Entity Error