Forms
External
Returns everything needed to render a public form to customers (its fields translated to the requested language, the required field ids, colors and whether AI chat mode applies), looked up by the form's unique key and only for forms whose privacy is public.
GET
/api/{tenant:minlength(2)}/v{version:apiVersion}/forms/external
- Authorisation
- No authentication needed
Request arguments
Request body example
Response
- Status
- 200 (OK)
- Type
- DTO_form_external_response
- Wrapper
- DTO_response_wrap
- Other statuses
- 400 (BadRequest), 403 (Forbidden), 404 (NotFound), 429 (TooManyRequests)
Response body example
| Name | Type | ReadOnly | Description |
| key | String | | Key |
| lang | String | | Lang |
| Name | Type | ReadOnly | Description |
| fields | DTO_field[] | | Fields |
| group | DTO_reference | | Group |
| main_language | DTO_translation_language | | Main language |
| required_field_ids | Int32[] | | Required field ids |
| page_values | DTO_form_external_page_value[] | | Fields configured to auto-populate from the host page (empty when none). The embed asks the
host page for each selector's value and applies it according to mode. |
| color_primary | String | | Color primary |
| color_secondary | String | | Color secondary |
| color_background | String | | Embed background color (optional). Together with color_primary the embed derives all
accent tones client-side. |
| language | String | | For backwards compability. Remove in the future |
| ai_chat_bot_enabled | Boolean | | When true, the embedded form starts in AI chat-bot mode (message-only input, answers from
approved public FAQs). Only true when the form has the toggle on AND the tenant still has
enough approved FAQ items at load time. |
DTO_field
| Name | Type | ReadOnly | Description |
| multi_option | DTO_field_multi_option | | Used only when field type supports selection |
| created_by | DTO_reference_user | ReadOnly | Created by |
| last_updated_by | DTO_reference_user | ReadOnly | Last updated by |
| id | Int32 | ReadOnly | Leave empty when Creating object |
| label | String | | Label |
| unique_key | String | | Unique key |
| data_type | ENUM field_data_type | | Data type |
| type | ENUM field_type | | Type |
| validation_regex | String | | RegEx pattern for client side validation |
| validation_error_message | String | | Client side validation message if RexEx fails |
| icon_id | Int32 | | Icon id |
| icon_file | String | | Icon file |
| created | DateTime | ReadOnly | Created |
| last_updated | DateTime | ReadOnly | Last updated |
| min_value | Double (nullable) | | Used for Integers, Doubles, DateTimes (UnixTimeStamp) |
| max_value | Double (nullable) | | Used for Integers, Doubles, DateTimes (UnixTimeStamp) |
| favorite | Boolean | | Favorite |
| allow_in_external_forms | Boolean | | Allow in external forms |
DTO_reference
| Name | Type | ReadOnly | Description |
| id | Int32 | | The id of the reference |
| label | Object | ReadOnly | Name/Label from referenced object. |
DTO_reference_user
| Name | Type | ReadOnly | Description |
| profile_pic | String | ReadOnly | Profile pic |
| email | String | ReadOnly | Email |
| id | Int32 | | Id |
| label | Object | ReadOnly | Label |
DTO_translation_language
| Name | Type | ReadOnly | Description |
| id | Int32 | ReadOnly | Leave empty on input |
| name | String | | Name |
| code | String | | Code |
| icon | String | ReadOnly | Icon |
| icon_sqare | String | ReadOnly | Icon sqare |
DTO_form_external_page_value
| Name | Type | ReadOnly | Description |
| field_id | Int32 | | Field id |
| selector | String | | Element id or CSS selector on the host page |
| mode | ENUM form_page_value_mode | | Mode |
ENUM field_data_type
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | STRING | Text |
| 2 | MULTI_LINE_STRING | Text (multi-line) |
| 3 | DATE_TIME | Date and time |
| 4 | DATE_NO_TIME | Date |
| 5 | DOUBLE | Number (decimal) |
| 6 | INT | Number (int) |
| 7 | LONG | Number (long) |
| 8 | BOOL | On / Off |
| 9 | EMAIL | Text (email) |
| 10 | PHONE | Text (phone) |
| 11 | PICK_ONE | Pick one |
| 12 | PICK_MANY | Pick many |
| 13 | IMAGE | Image |
| 14 | RICH_TEXT | Text (rich editor) |
| 15 | FILES | Files |
| 16 | COLOR | Color |
| -1 | INTERNAL_ENUM | INTERNAL_ENUM |
ENUM field_type
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | CUSTOM | CUSTOM |
| 2 | SYS_LABEL | SYS_LABEL |
| 3 | SYS_NAME | SYS_NAME |
| 4 | SYS_EMAIL | SYS_EMAIL |
| 7 | SYS_SUBJECT | SYS_SUBJECT |
| 8 | SYS_CONTENT_PLAIN | SYS_CONTENT_PLAIN |
| 9 | SYS_STATUS | SYS_STATUS |
| 10 | SYS_PRIORITY | SYS_PRIORITY |
| 11 | SYS_CONTENT_RICH | SYS_CONTENT_RICH |
| 12 | SYS_ATTACHMENTS | SYS_ATTACHMENTS |
| 13 | SYS_CONTENT_RICH_DRAFT | SYS_CONTENT_RICH_DRAFT |
| 14 | SYS_TAGS | SYS_TAGS |
| 15 | SYS_IMPORT_REF | SYS_IMPORT_REF |
| 16 | SYS_COLOR_BG | SYS_COLOR_BG |
| 17 | SYS_COLOR_TEXT | SYS_COLOR_TEXT |
| 18 | SYS_SUBMITTED_FROM | SYS_SUBMITTED_FROM |
ENUM field_multi_option_type
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | BASIC | BASIC |
| 2 | LIST | LIST |
| 3 | IMAGE | IMAGE |
ENUM form_page_value_mode
How a form field behaves when its value is auto-populated from the host page the form
is embedded on (see DTO_form_module_field.page_value_selector).
| Value | Name | Description |
| 0 | NONE | Not auto-populated (default) |
| 1 | PREFILL | The field is shown, pre-filled with the value found on the page (the visitor can change it) |
| 2 | HIDE_IF_FOUND | The field is hidden when a value is found on the page (the value is submitted silently); shown as usual otherwise |
| 3 | ALWAYS_HIDDEN | The field is never shown: the value is submitted when found on the page and left empty otherwise. Required fields are still shown when nothing is found. |
Generated Sep 18, 2026 09:31