v1

latestOpenAPI 3.0.02026-08-06151101754.7 KB
Assignments

Returns assignments.

get/assignments

Query parameters

idinteger

Filters by IDs. Multiple inputs with id[]=1&id[]=2

per_pageinteger

Number of items per Page

pageinteger

Result Page

order_bystring

Order column

order_direction'asc' | 'desc'

Order direction. asc or desc possible

returnstring

Returns a single aggregate over the filtered list instead of the paginated result, e.g. {"data": {"count": 42}}. Allowed values: count, sum.column, min.column, max.column, avg.column (e.g. return=sum.duration_seconds). sum and avg require a numeric column.

group_bystring

Returns one aggregate row per bucket of the given column instead of the paginated result, e.g. group_by=type_id gives {"data": [{"type_id": 1, "count": 5}, ...]}. The per-bucket aggregate reuses the "return=" grammar and defaults to count (e.g. group_by=type_id&return=sum.id). Combine with order_by=<aggregate>&order_direction=desc for "top N" queries. Groupable columns are known model columns plus foreign keys. Datetime columns must be bucketed by granularity: group_by=created_at:month (also :year, :day/:date), giving {"data": [{"created_at": "2026-07", "count": 5}, ...]}. Results are capped at 1000 buckets.

withstring

You can load relations using the with parameter. Example for assignments/appointments: with[]=documents loads all related documents and adds it to the response.

excludeinteger

Exclude ids. Multiple inputs with exclude[]=3&exclude[]=6

qstring

Search string

startstring date-time

Filter by start date

endstring date-time

Filter by end date

startedstring date-time

Filter by started date

endedstring date-time

Filter by ended date

show_archivedboolean

Show the archive too, by default it is hidden

employeesinteger

Assigned employees ids. Multiple inputs with employees[]=3&employees[]=6

vehiclesinteger

Assigned vehicles Ids. Multiple inputs with vehicles[]=3&vehicles[]=6

toolsinteger

Assigned tools Ids. Multiple inputs with tools[]=3&tools[]=6

articlesinteger

Assigned articles Ids. Multiple inputs with articles[]=3&articles[]=6

tagsinteger

Assigned tags Ids. Multiple inputs with tags[]=3&tags[]=6

project_idinteger

Filter by project_id. Multiple inputs with project_id[]=1&project_id[]=2

customer_address_idinteger

Filter by customer_address_id. Multiple inputs with customer_address_id[]=1&customer_address_id[]=2

titlestring

Filter by title. Multiple inputs with title[]=some&title[]=other

state'UNPLANNED' | 'SCHEDULED' | 'IN_PROGRESS' | 'PAUSED' | 'DELAYED' | 'DONE'

Filter by state. Multiple inputs with state[]=SCHEDULED&state[]=DONE

all_dayboolean

Filter by all_day.

is_templateboolean

Filter by is_template.

sourcestring

Filter by source. Multiple inputs with source[]=api&source[]=app

source_external_idstring

Filter by source_external_id. Multiple inputs with source_external_id[]=123&source_external_id[]=456

latnumber float

Center latitude for radius-based geo filter. Requires lng and radius.

lngnumber float

Center longitude for radius-based geo filter. Requires lat and radius.

radiusinteger

Radius in meters for geo filter. Requires lat and lng.

Response

Assignments list

OR
OR

Example response

{
  "data": [
    {
      "id": 1,
      "first_line": "Mounting solar panels",
      "icon": "fa-calendar-check",
      "color": "#f3a622",
      "contrast_color": "dark",
      "custom_number": "AS-123",
      "project_id": 1,
      "customer_address_id": 1,
      "template_id": 1,
      "recurring_rule_id": 1,
      "title": "Mounting solar panels",
      "description": "Install 12 panels on the roof",
      "to_be_documented": "Protocol the mounting of the solar panels",
      "internal_info": "The customer is very nice",
      "timezone": "Europe/Berlin",
      "state": "SCHEDULED",
      "duration": 3600,
      "planned_time": 60,
      "target_time": 60,
      "calculated_sales_volume": "500.00",
      "source": "manual"
    }
  ]
}