v1

latestOpenAPI 3.0.02026-08-06151101754.7 KB
Projects

Returns projects

get/projects

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

customer_idinteger

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

titlestring

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

project_nrstring

Filter by project_nr. Multiple inputs with project_nr[]=101&project_nr[]=102

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

assignmentsinteger

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

assignments[employees][]integer

Filter projects by employee IDs on their assignments. Multiple inputs with assignments[employees][]=1&assignments[employees][]=2

Response

Projects list

OR
OR

Example response

{
  "data": [
    {
      "id": 1,
      "first_line": "Refurbishment of HQ",
      "icon": "fa-folder-open",
      "custom_number": "P-12345",
      "customer_id": 1,
      "title": "Refurbishment of HQ",
      "description": "This is a project description",
      "project_nr": "P-12345",
      "source": "manual",
      "sales_volume": "5000.00"
    }
  ]
}