post
http://localhost:8080/v1/forms
Create a new form with sections and input fields.
Section Requirements
- Each section MUST include at least 1 field
- Sections MAY include an optional title and description
- Section descriptions allow the following HTML tags: P, H1, H2, H3, BR, B, UL, LI
Field Requirements
Supported field types: TEXT, NUMBER, DATE, DATETIME, NIN, PHONE, CHOICE, HTML, EMAIL, BUSINESS_ID, FILE
Every field MUST:
- Have a label
- Have the
requiredproperty set (trueorfalse)
Exception: HTML field type only accepts content property.
Field Properties
- content: HTML block with supported tags
- countryCodes: Array of CountryCode enum values (required for NIN/BUSINESS_ID). User selects their country and validation checks against that specific country's format only
- countryOptions: Array of country ISO code strings (optional for PHONE field). Used by frontend to show country selector dropdown
- options: values for LAYOUT
- layout: options displayed as RADIO, DROPDOWN
- multiline: if True sets the input as a standard TEXTAREA
- allowDecimals: allow either , or . as decimal delimiter
- dateFormat: compatible date format such as yyyy-MM-dd, dd/MM/yy
Field Validations
- exact: performs a case sensitive exact match between set value and user input
- min: Minimum length for TEXT or value for a NUMBER
- max: Maximum length for TEXT or value for a NUMBER
- maxLength: Maximum length for TEXT or value for a NUMBER
- regex: validates that user input matches pattern, optional message can be set
