Skip to main content
POST
/
forms
/
{id}
/
fields
Add a form field
curl --request POST \
  --url https://api.heffl.com/api/v2/forms/{id}/fields \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "label": "<string>",
  "description": "<string>",
  "required": true,
  "placeholder": "<string>",
  "values": [
    "<string>"
  ],
  "settings": {}
}
'
{
  "formId": "<string>",
  "formTitle": "<string>",
  "fields": [
    {
      "key": "<string>",
      "label": "<string>",
      "dataType": "<string>",
      "required": true,
      "type": "<string>",
      "options": [
        {
          "label": "<string>",
          "value": "<string>"
        }
      ],
      "multiple": true
    }
  ]
}

Authorizations

x-api-key
string
header
required

API key for authentication. Get yours at app.heffl.com/settings/developers

Path Parameters

id
string
required

Form ID (frm_ prefix)

Body

application/json
label
string
required

Question label shown to respondents

dataType
enum<string>
required

Field data type. SINGLE_OPTION / MULTIPLE_OPTION require values.

Available options:
TEXT,
LONG_TEXT,
EMAIL,
MOBILE,
NUMBER,
DATE,
SINGLE_OPTION,
MULTIPLE_OPTION,
FILE_PICKER,
SIGNATURE,
CURRENCY,
LINK,
RATING,
OPINION_SCALE
description
string | null

Optional help text under the question

required
boolean

Whether an answer is required. Defaults to false.

placeholder
string | null

Optional input placeholder

values
string[]

Allowed options. Required (non-empty) for SINGLE_OPTION and MULTIPLE_OPTION fields.

settings
object

Extra config for RATING / OPINION_SCALE fields (e.g. { max: 5 }).

Response

OK

formId
string
required

Form ID (frm_ prefix)

formTitle
string
required

Form title

fields
object[]
required

Ordered list of fields on the form