Forms
List_ only aggregates
Returns the distinct values and their counts for the form properties named in field_keys, which is what a filter input needs, and never returns form rows themselves (take is forced to 0), counting only the forms the caller has group access to.
Counts respect the filter passed along, while unfiltered_count on each value shows what the count would have been without it.
GET
/api/{tenant:minlength(2)}/v{version:apiVersion}/forms/aggregate
- Authorisation
- Minimum role: USER
Request arguments
Request body example
Response
- Status
- 200 (OK)
- Type
- DTO_form[]
- Wrapper
- DTO_response_wrap_get_many
- Other statuses
- 400 (BadRequest), 403 (Forbidden)
Response body example
DTO_standard_filter
| Name | Type | ReadOnly | Description |
| sort_by_key | String | | Sort by key |
| response_field_keys | String[] | | Only return the fields specified |
| filters | String[] | | Each string needs to be structured: filters=field_key:operator:value1|value2|value3
Only used to store filters for passing along as querystring |
| include_aggregations | Boolean | | Include aggregations |
| include_imported | Boolean | | Include imported |
| search | String | | Search |
| sort_order | ENUM sort_order | | Sort order |
| take | Int32 | | Take |
| page | Int32 | | Page |
| Name | Type | ReadOnly | Description |
| group_access | DTO_group_access[] | | Groups that may read or edit the form, where at least one entry with EDIT permission is required |
| sys_tags | DTO_reference[] | | Label can be used on POST/PUT to create new tags |
| collect_to_list | DTO_reference | | Custom list that submissions are stored in, required when collect_type is LIST and rejected when collect_type is TICKET |
| collect_to_group | DTO_reference | | Group that submitted tickets are created in, required when collect_type is TICKET and rejected when collect_type is LIST |
| modules | DTO_form_module[] | | Ordered building blocks of the form, such as headers, information texts and fields, where the same field can only be used once per form |
| logics | DTO_form_logic[] | | Conditional rules that show or hide fields, or forward to another field or form, depending on the answers given |
| language | DTO_reference | | Language used for the built in texts of the externally rendered form, and it must reference one of the platform languages |
| created_by | DTO_reference_user | ReadOnly | Created by |
| last_updated_by | DTO_reference_user | ReadOnly | Last updated by |
| id | Int32 | ReadOnly | Leave empty on input |
| highest_group_permission | ENUM group_permission | ReadOnly | Current users highest group permission |
| name | String | | Display name of the form, between 2 and 30 characters |
| unique_key | String | | Lowercase url safe key used to load the form externally, between 2 and 30 characters, unique within the workspace and built from name when left empty |
| privacy | ENUM privacy | | PUBLIC lets the form be loaded and submitted without authentication, while PRIVATE keeps it inside the workspace |
| collect_type | ENUM form_collect_type | | Decides whether a submission becomes a ticket (TICKET) or a row in a list (LIST) |
| display_type | ENUM form_display_type | | Layout the client renders the form with, and it is required since the server rejects a form where display_type is left unset |
| submit_text | String | | Label of the submit button, required on create and update |
| ticket_subject | String | | Subject given to tickets that are created from this form, so it only applies when collect_type is TICKET |
| primary_color | String | | Main color of the embedded form, given as six hexadecimal digits with an optional leading number sign |
| background_color | String | | Background color of the embedded form in the same format as primary_color, and the client derives the accent tones from the two colors |
| ai_chat_bot_enabled | Boolean (nullable) | | When true, the embedded form starts as an AI chat-bot answering from approved public FAQs.
Enabling requires at least 100 approved FAQ items.
Nullable so clients that omit the property on update leave the stored value unchanged. |
| created | DateTime | ReadOnly | Set by the server in UTC when the form is first stored |
| last_updated | DateTime | ReadOnly | Set by the server in UTC every time the form is changed |
DTO_group_access
| Name | Type | ReadOnly | Description |
| permission | ENUM group_permission | | Permission |
| id | Int32 | | Id |
| label | Object | ReadOnly | Label |
DTO_reference
| Name | Type | ReadOnly | Description |
| id | Int32 | | The id of the reference |
| label | Object | ReadOnly | Name/Label from referenced object. |
| Name | Type | ReadOnly | Description |
| module_field | DTO_form_module_field | | Module field |
| type | ENUM form_module_type | | Type |
| text_primary | String | | Text primary |
| text_secondary | String | | Text secondary |
| enabled | Boolean | | Enabled |
| Name | Type | ReadOnly | Description |
| id | Int32 | | Id |
| label | String | | Label |
| required | Boolean | | Required |
DTO_reference_user
| Name | Type | ReadOnly | Description |
| profile_pic | String | ReadOnly | Profile pic |
| email | String | ReadOnly | Email |
| id | Int32 | | Id |
| label | Object | ReadOnly | Label |
ENUM group_permission
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | READ | Read only |
| 2 | EDIT | Edit |
| 3 | FULL | Full |
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | HEADER | HEADER |
| 2 | INFORMATION | INFORMATION |
| 3 | FIELD | FIELD |
| 4 | LINE_SEPARATOR | LINE_SEPARATOR |
| 5 | PAGE_SEPARATOR | PAGE_SEPARATOR |
| 6 | SUBMIT_MESSAGE | SUBMIT_MESSAGE |
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | AND | AND |
| 2 | OR | OR |
ENUM sort_order
| Value | Name | Description |
| 0 | ASC | ASC |
| 1 | DESC | DESC |
ENUM privacy
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | PRIVATE | PRIVATE |
| 2 | PUBLIC | PUBLIC |
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | TICKET | TICKET |
| 2 | LIST | LIST |
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | CLASSIC | CLASSIC |
| 2 | CARD | CARD |
Generated Aug 4, 2026 18:37