cURL
Operations
List operations
List all of the operations in an organisation.
GET
cURL
Authorizations
Session token for authentication.
Query Parameters
A comma separated list of related resources to include.
Available options:
appointment, assignees, forms, operation_type, organisation, permits, properties, scheme, streets, teams, template, work_order Filters the response data based on the value provided.
Available filters:
id_in: Filter by ID(s)in_schemes: Filter for operations that are part of a scheme(s) by their ID(s)in_work_orders: Filter for operations that are part of a work order(s) by their ID(s)assigned_to: Filter for operations assigned to a user(s) by their ID(s)at_properties: Filter for operations at a property(s) by their ID(s)unscheduled: Filter for unscheduled operationsno_start: Filter operations with no start timeno_end: Filter operations with no end timehas_appointment: Filter operations that have appointmentsno_appointment: Filter operations that do not have appointmentshas_property: Filter operations that have any related property - this does not accept arguments, it just checks for the existence of a related property. You can useat_propertiesto find operations at a specific property.
Project-role filters (cross-resource lookups against project role assignments):
has_role(<project_role_id>): Filter for operations that have at least one active assignment for the given project role. Example:has_role(11111111-1111-1111-1111-111111111111).held_by(<user_id>): Filter for operations where the given user holds at least one role (any role). Example:held_by(22222222-2222-2222-2222-222222222222).has_role_assignment(<project_role_id>,<user_id>): Filter for operations where the given user holds the given role specifically. Example:has_role_assignment(11111111-1111-1111-1111-111111111111,22222222-2222-2222-2222-222222222222).
Field filters (RQL expressions on Operation fields):
id: Filter by operation ID. Example:eq(id,11111111-1111-1111-1111-111111111111), or multiple within(id,[<uuid>,<uuid>]).organisation: Filter by owning organisation ID. Example:eq(organisation,<uuid>).scheme: Filter by scheme ID. Example:eq(scheme,<uuid>), or multiple within(scheme,[<uuid>,<uuid>]).work-order: Filter by work order ID. Example:eq(work-order,<uuid>), or multiple within(work-order,[<uuid>,<uuid>]).type: Filter by operation type ID. Example:eq(type,<uuid>).name: Filter by name. Example:eq(name,Excavation), or partial match withcontains(name,exc).assignees: Filter by assigned user ID. Matches operations that include the given user. Example:eq(assignees,<uuid>), or multiple within(assignees,[<uuid>,<uuid>]).properties: Filter by related property ID. Matches operations that include the given property. Example:eq(properties,<uuid>), or multiple within(properties,[<uuid>,<uuid>]).appointment: Filter by appointment ID. Example:eq(appointment,<uuid>).status: Filter by status. Acceptstodo,in_progress,done. Example:in(status,[todo,in_progress]).done_reason: Filter by reason an operation is done. Acceptscompleted,cancelled,aborted. Only meaningful for operations whosestatusisdone. Example:and(eq(status,done),in(done_reason,[completed,cancelled])).dates.scheduled.start: Filter by scheduled start date. Accepts an RFC 3339 timestamp and supports the range operatorsge,le,gt,lt(andeq). Example:ge(dates.scheduled.start,2026-07-01T00:00:00Z).dates.scheduled.end: Filter by scheduled end date. Accepts an RFC 3339 timestamp and supports the range operatorsge,le,gt,lt(andeq). Example:le(dates.scheduled.end,2026-07-14T23:59:59Z).updated_at: Filter by the date an operation was last modified. Accepts an RFC 3339 timestamp and supports the range operatorsge,le,gt,lt(andeq). Example (modified since a given time):ge(updated_at,2026-07-01T00:00:00Z). Example (modified within a window):and(ge(updated_at,2026-07-01T00:00:00Z),le(updated_at,2026-07-14T23:59:59Z)).
For more information on using named filters, see the docs
Limit the number of resources returned by the API
Required range:
x >= 1Offset the resources returned by the API
Required range:
x >= 0A comma separated list of fields to sort by.
Available options:
code, -code, created_at, -created_at, name, -name, postcode, -postcode, updated_at, -updated_at Response
List of operations.