# Create a new form Creates a new form with the provided data. The request body should contain a valid FormDTO object. On success, returns the created form as a FormDTO wrapped in a CreateResponse. Validation: Form fields are validated according to the Form validation rules. Required fields and format constraints are enforced. Endpoint: POST /api/v2/forms/ Version: 1.0 Security: BearerAuthentication ## Request fields (application/json): - `uuid` (string, required) Unique identifier for the entity - `name` (string, required) The name of the entity - `label` (string) Display label for the entity, can be different from name - `createdAt` (integer) Unix timestamp when the entity was created - `createdBy` (object) Identifier of the user who created the entity - `createdBy.name` (string, required) - `createdBy.label` (string) - `createdBy.createdAt` (integer) - `createdBy.updatedAt` (integer) - `createdBy.deletedAt` (integer) - `createdBy.createdByUuid` (string) - `createdBy.updatedByUuid` (string) - `createdBy.deletedByUuid` (string) - `createdBy.index` (integer) - `createdBy.complete` (boolean) - `createdBy.deleted` (boolean) - `createdBy.uuid` (string, required) - `createdBy.objects` (object) - `createdBy.properties` (array) - `createdBy.properties.value` (any) - `createdBy.properties.type` (string) - `createdBy.properties.icon` (string) - `createdBy.user` (object) - `createdBy.user.email` (string) - `createdBy.user.firstname` (string) - `createdBy.user.lastname` (string) - `createdBy.user.initials` (string) - `createdBy.user.scopes` (array) - `createdBy.user.filters` (object) - `createdBy.user.role` (string) - `createdBy.user.record` (object) - `updatedAt` (integer) Unix timestamp when the entity was last updated - `updatedBy` (object) Identifier of the user who last updated the entity - `deletedAt` (integer) Unix timestamp when the entity was deleted (null if not deleted) - `deletedBy` (object) Identifier of the user who deleted the entity - `index` (integer) Index number for ordering entities - `object` (object) The associated Caraer object that this form belongs to - `object.name` (string) Unique identifier name for the object - `object.label` (string) Display label for the object - `object.index` (integer) Index number for ordering objects - `object.plural` (string) Plural form of the object's name, used for display purposes - `object.description` (string) Detailed description of the object's purpose and usage - `object.groups` (array) Collection of group names this object belongs to - `object.icon` (string) Icon identifier for visual representation of the object - `object.showInMenu` (boolean) Indicates if this object should be displayed in navigation menus - `object.defaultTrait` (string) Name of the default trait applied to this object - `object.traits` (array) List of trait names associated with this object - `object.views` (array) List of view configurations for displaying this object - `object.views.favorite` (boolean) - `object.views.team` (boolean) - `object.views.shared` (boolean) - `object.views.personal` (boolean) - `object.views.trait` (string) - `object.views.filters` (object) DTO representing a filter composed of filter groups for querying records. The filter groups are combined using a logical OR operation. The filter items within each group are combined using a logical AND operation. - `object.views.filters.groups` (array) A collection of filter groups. - `object.views.filters.groups.items` (object) A set of filter items included in the group. - `object.views.filters.groups.items.object` (string) The name of the object to which this pagination item belongs. Example: "User" - `object.views.filters.groups.items.relation` (string) The relationship between objects. Example: "hasProperty" - `object.views.filters.groups.items.property` (string) The name of the property within the object. Example: "email" - `object.views.filters.groups.items.relationIncluded` (boolean) Specifies whether the relation is included. Example: true - `object.views.filters.groups.items.operator` (string) Defines the operator used in the filter. Available operators are defined in the API documentation. Example: "EQUALS" - `object.views.filters.groups.items.value` (any) Represents the value to filter against. Example: 12345 - `object.views.shows` (array) - `object.views.shows.separator` (string) Separator string used to visually separate this item. Example: "|" - `object.views.shows.sticky` (boolean) Flag indicating whether this item is sticky and will stay fixed in the list. - `object.views.sorts` (array) - `object.views.sorts.direction` (string) The direction for sorting. Can be ASC (ascending) or DESC (descending). Enum: "ASC", "DESC" - `object.views.limit` (integer) - `object.views.showIcons` (boolean) - `object.views.groupProperty` (object) Represents a sortable item, including object, relation, property, and sort direction. - `object.views.rowHeight` (string) - `object.views.calculations` (array) - `object.views.calculations.property` (object) DTO representing an item with properties defined for displaying and handling in UI related operations. - `object.views.calculations.calculation` (string) - `object.views.query` (string) - `object.views.flowProperty` (string) - `object.views.defaultView` (boolean) - `object.views.isInternallyPublic` (boolean) - `object.properties` (array) List of properties defined for this object - `object.properties.name` (string) The name identifier of the property - `object.properties.label` (string) Display label for the property - `object.properties.description` (string) Detailed description of the property's purpose and usage - `object.properties.type` (string) The data type of the property (e.g., 'string', 'number', 'date', etc.) - `object.properties.options` (array) List of predefined options for properties that support selection - `object.properties.options.color` (string) - `object.properties.options.disabled` (boolean) - `object.properties.options.usedIn` (object) - `object.properties.options.usedIn.recordUuids` (array) - `object.properties.options.usedIn.count` (integer) - `object.properties.group` (string) Group name for organizing related properties - `object.properties.format` (any) Format configuration for the property's display and validation - `object.properties.rules` (array) Collection of validation rules applied to the property - `object.properties.immutable` (boolean) Indicates if the property value cannot be modified after initial creation - `object.properties.hidden` (boolean) Indicates if the property should be hidden from view - `object.properties.nonPublic` (boolean) Indicates if the property should be excluded from public APIs - `object.properties.indexed` (boolean) Indicates if the property should be indexed for searching - `object.properties.editable` (boolean) Indicates if the property value can be modified - `object.properties.formatSettings` (object) Additional format-specific settings for the property - `object.properties.usedIn` (object) Information about where this property is used in the system - `object.properties.icon` (string) Icon identifier for visual representation of the property - `object.properties.webpagePublic` (boolean) Indicates if the property can be used in webpages - `object.properties.embeddable` (boolean) Indicates if the property can be embedded in other properties - `object.properties.minAndMaxValue` (object) The minimum and maximum value of the property - `object.properties.minAndMaxValue.t1` (integer) - `object.properties.minAndMaxValue.t2` (integer) - `object.relations` (array) List of relations this object has with other objects - `object.relations.name` (string) Unique identifier name for the relation - `object.relations.label` (string) Display label for the relation - `object.relations.description` (string) Detailed description of the relation's purpose and usage - `object.relations.objects` (array) Set of Caraer objects that are part of this relation - `object.suites` (array) List of suite names this object belongs to - `grids` (array) List of form items that make up the form's structure. Each grid represents a section or group of form elements - `grids.aiprompt` (string) - `grids.title` (string) The title or heading of this form section - `grids.description` (string) Additional descriptive text explaining the purpose or instructions for this section - `grids.type` (string) The type of form section (e.g., 'grid', 'section', etc.) - `grids.AIPrompt` (string) The AI prompt for the form section. Only applicable to steps. - `grids.grid` (array) A two-dimensional array representing the layout of form elements. Each inner list represents a row of elements - `grids.grid.property` (object) The property associated with this grid item, typically representing a form field or input - `grids.grid.text` (string) Static text content to be displayed in this grid cell - `grids.grid.form` (object) A nested form that can be embedded within this grid cell - `grids.grid.submitButton` (string) The text of the submit button for this grid item - `grids.grid.settings` (object) Configuration settings for this grid item, including display and validation rules - `grids.grid.settings.relation` (object) Defines the relationship between this form field and other entities or forms - `grids.grid.settings.record` (object) UUID of a record to be pre-filled in this form field - `grids.grid.settings.label` (string) The display label for the form field - `grids.grid.settings.defaultValue` (string) The default value to be pre-filled in the form field - `grids.grid.settings.isRequired` (boolean) Indicates whether this field must be filled out before form submission - `grids.grid.settings.hidden` (boolean) Indicates whether this field should be hidden from view - `grids.grid.settings.placeholder` (string) The placeholder text for the form field - `grids.grid.settings.helpText` (string) The help text for the form field - `grids.grid.settings.AIPrompt` (string) The AI prompt for the form field. Only applicable to text fields. - `grids.grid.settings.styling` (string) The styling for the form field. Can be 'dropdown', 'grid' or 'boxes' - `grids.grid.settings.stretch` (boolean) Whether the form field should be stretched to the full width of the form - `grids.grid.settings.align` (string) The alignment of the form field. Can be 'left', 'center' or 'right' - `grids.grid.settings.rangeMin` (integer) The minimum value for the slider field - `grids.grid.settings.rangeMax` (integer) The maximum value for the slider field - `grids.grid.value` (string) The value of this grid item, used for form submissions - `description` (string) Descriptive text providing additional information about the form - `styling` (string) The styling of the form. Can be 'standard', 'underline' or 'plain' - `leadscores` (array) List of lead scoring rules associated with this form. Used to evaluate and score form submissions - `leadscores.smart_value` (boolean) Whether the value is a smart value Example: true - `leadscores.score` (integer) The score to assign if the rule is met Example: 10 - `relations` (array) List of form relations that define the relationships between this form conversion record and other records in the system - `relations.type` (string) The type of the form relation. The options are: CONVERSION_PAGE_RECORD, RELATED_RECORD_TO_CONVERSION_PAGE_RECORD, STATIC Example: "CONVERSION_PAGE_RECORD" - `relations.relation` (object) The relation to be created. - `relations.relatedRelation` (object) The related relation associated with conversion page record - `relations.relatedObject` (object) The related object associated with conversion page record or for static - `relations.recordUuid` (string) UUID of the record for the static connection. Example: "fc453abc-123e-4567-890a-6789abcd1234" - `relations.relatedObjectConnection` (string) The connection type for the related object. The options are: PRIMARY, ALL Example: "PRIMARY" - `wizard` (boolean) Indicates if the form should be displayed as a step-by-step wizard interface - `metadata` (object) Metadata associated with the form - `thankYouMessage` (string) Thank you message to be displayed after the form is submitted - `redirectUrl` (string) Redirect URL to be displayed after the form is submitted ## Response 201 fields (application/json): - `message` (string) A message detailing the result of the operation. Example: "Success" - `data` (any) The data payload of the response, if any. ## Response 400 fields (application/json): - `message` (string) The error message providing details about the failure. Example: "Resource not found." - `errors` (object) A list of error types providing further details about the error. Example: [{"field":"name","message":"Name is required.","correctionSuggestion":"Please provide a name."}] - `errors.correctionSuggestion` (string, required) A suggestion on how to correct the error. Example: "Try uploading a different file type." - `errors.type` (string, required) The type of error. Enum: "VALIDATION", "NOT_FOUND", "TEST", "RELATION_NOT_ALLOWED", "INVALID_VALUE", "GENERAL", "INVALID_FILE_TYPE", "INTERNAL_SERVER_ERROR", "CARAER_ERROR", "INVALID_EMAIL", "INVALID_DATE" - `status` (integer) The HTTP status code associated with the error. Example: 400 - `stackTrace` (string) - `roles` (array) Enum: "USER", "ADMIN", "RESELLER", "DEVELOPER", "SUPER_ADMIN" - `scopes` (array) ## Response 401 fields (application/json): - `message` (string) The error message providing details about the failure. Example: "Resource not found." - `errors` (object) A list of error types providing further details about the error. Example: [{"field":"name","message":"Name is required.","correctionSuggestion":"Please provide a name."}] - `errors.correctionSuggestion` (string, required) A suggestion on how to correct the error. Example: "Try uploading a different file type." - `errors.type` (string, required) The type of error. Enum: "VALIDATION", "NOT_FOUND", "TEST", "RELATION_NOT_ALLOWED", "INVALID_VALUE", "GENERAL", "INVALID_FILE_TYPE", "INTERNAL_SERVER_ERROR", "CARAER_ERROR", "INVALID_EMAIL", "INVALID_DATE" - `status` (integer) The HTTP status code associated with the error. Example: 400 - `stackTrace` (string) - `roles` (array) Enum: "USER", "ADMIN", "RESELLER", "DEVELOPER", "SUPER_ADMIN" - `scopes` (array) ## Response 403 fields (application/json): - `message` (string) The error message providing details about the failure. Example: "Resource not found." - `errors` (object) A list of error types providing further details about the error. Example: [{"field":"name","message":"Name is required.","correctionSuggestion":"Please provide a name."}] - `errors.correctionSuggestion` (string, required) A suggestion on how to correct the error. Example: "Try uploading a different file type." - `errors.type` (string, required) The type of error. Enum: "VALIDATION", "NOT_FOUND", "TEST", "RELATION_NOT_ALLOWED", "INVALID_VALUE", "GENERAL", "INVALID_FILE_TYPE", "INTERNAL_SERVER_ERROR", "CARAER_ERROR", "INVALID_EMAIL", "INVALID_DATE" - `status` (integer) The HTTP status code associated with the error. Example: 400 - `stackTrace` (string) - `roles` (array) Enum: "USER", "ADMIN", "RESELLER", "DEVELOPER", "SUPER_ADMIN" - `scopes` (array)