---
title: "Get all data fields"
method: GET
path: "/data-field"
tags: ["Data Fields"]
---

# Get all data fields

`GET /data-field`

## Request

- Base URL: `https://developer.meetergo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://developer.meetergo.com/data-field`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - API key in header `x-meetergo-api-user-id`

## Response `200`

- DataField[]
  - `id` number, required
  - `label` string, required
  - `name` string, required
  - `target` 'email' | 'firstname' | 'lastname' | 'fullname' | 'phone' | 'marketing_consent' | 'other', required
  - `fieldType` 'email' | 'phone' | 'text-single' | 'text-multi' | 'number' | 'select' | 'checkbox-single' | 'checkbox-multi' | 'radio' | 'slide' | 'url' | 'file' | 'date-of-birth' | 'yes-no' | 'rating' | 'scale' | 'signature' | 'date' | 'time' | 'image' | 'heading' | 'separator' | 'page-break' | 'contact' | 'bank-details' | 'license-plate' | 'info-text' | 'info-image' | 'info-video' | 'currency' | 'location' | 'pdf-template' | 'file-download' | 'testimonial' | 'faq' | 'countdown' | 'loading' | 'quiz-reveal' | 'logos' | 'checklist' | 'html' | 'address', required
  - `order` number, required: Where this field sits when its values are read back on a record. A contact's custom fields are a jsonb bag keyed by field name, so the card showing them had no order but the one values happened to be written in — which put a postcode above the street it belongs under. Ordering the definitions gives every surface reading `additionalData` one answer. Lower first; ties fall back to id, so untouched companies keep the order they already see.
  - `locales` FieldLocale[], required
    - `locale` string, required
    - `label` string, required
    - `labelRichText` RichTextDocument
      - `schemaVersion` 1, required
      - `html` string, required
    - `placeholder` string
  - `default` boolean, required
  - `required` boolean, required
  - `hidden` boolean, required
  - `hideUntilChange` boolean, required
  - `mutable` boolean, required
  - `defaultValue` string
  - `placeholder` string
  - `options` FieldOptions[], required
    - `description` string: Optional plain-text option description
    - `labelRichText` RichTextDocument
      - `schemaVersion` 1, required
      - `html` string, required
    - `descriptionRichText` RichTextDocument
      - `schemaVersion` 1, required
      - `html` string, required
    - `pointValue` number: Points awarded when this option is selected (for scored forms)
    - `locales` FieldLocale[]: Translations for the option label, same structure as field-level locales
      - `locale` string, required
      - `label` string, required
      - `labelRichText` RichTextDocument
        - `schemaVersion` 1, required
        - `html` string, required
      - `placeholder` string
    - `conditions` Expression
      - `operator` 'and' | 'or', required
      - `operands` union[], required
        - union
          - Expression (recursive)
          - ExpressionCondition
            - `operator` 'equals' | 'notEqual' | 'lessThan' | 'greaterThan' | 'lessThanOrEqual' | 'moreThanOrEqual' | 'contains' | 'notContains' | 'blank' | 'notBlank' | 'containsAny' | 'containsNone' | 'startsWith', required
            - `target` 'attendeeEmail' | 'attendeeFullname' | 'attendeeFirstname' | 'attendeeLastname' | 'attendeePhone' | 'attendeePolicyAccepted' | 'attendeeReceiveReminders' | 'attendeeLanguage' | 'attendeeTimezone' | 'attendeeOther' | 'submissionScore' | 'submissionMaxScore' | 'submissionScorePercentage' | 'salesforceField' | 'bookingBlockTarget', required
            - `customTarget` string, required
            - `value` string, required
    - `label` string, required
    - `value` string, required
    - `image` string
    - `icon` string
    - `minValue` number: Used by number fields, min value
    - `maxValue` number: Used by number fields, max value
  - `slideOptions` SlideOptions
    - `description` string, required
    - `multiselect` boolean, required
    - `type` 'checkbox' | 'page' | 'image' | 'icon', required
    - `hideLabel` boolean
    - `childFields` object[]: Per-page child-field instances inside the slide. The editor owns the SlideChildField shape (instanceId, index, dataFieldId, optional inline definition, legacy `required` flag, etc.). We accept it verbatim and keep the type loose because the legacy import path adds extra fields the editor doesn't model. Declaring it on the DTO is what lets a save carry childFields through: without it, class-transformer drops the unknown key from the request body, so DnD-added children never persist.
  - `fileFieldOptions` FileFieldOptions
    - `allowedExtensions` string[], required: Allowed file extensions (e.g., pdf, docx, jpg)
    - `maxFileSizeMB` number, required: Maximum file size in MB
    - `maxFiles` number, required: Maximum number of files
    - `enableCameraCapture` boolean: Enable camera capture on mobile devices (shows camera/file toggle). Only works when allowedExtensions includes image types.
  - `contactOptions` ContactOptions
    - `company` boolean: Company name; becomes the invoice recipient when the field feeds billing
    - `salutation` boolean
    - `firstName` boolean
    - `lastName` boolean
    - `email` boolean
    - `phone` boolean
    - `mobile` boolean
    - `birthdate` boolean
    - `street` boolean
    - `addressSupplement` boolean
    - `zip` boolean
    - `city` boolean
    - `country` boolean
    - `vatId` boolean: USt-IdNr. / VAT ID, for B2B and reverse-charge invoicing
  - `hubspotContactField` string
  - `hubspotCompanyField` string
  - `smartWeContactField` string
  - `smartWeCompanyField` string
  - `pipedriveContactField` string
  - `closeContactField` string
  - `salesforceContactField` string
  - `salesforceLeadField` string
  - `salesforceCaseField` string
  - `salesforceOpportunityField` string
  - `salesforceAccountField` string
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `deletedAt` string, nullable
  - `helpText` string: Optional help text shown below the field in the booking form. Provides additional guidance to users filling out the form.
  - `bankDetailsOptions` BankDetailsOptions
    - `showBic` boolean
    - `showAccountHolder` boolean
    - `showSignature` boolean
  - `licensePlateOptions` LicensePlateOptions
    - `countryFilter` 'all' | 'de': Country format filter: all = any country, de = German format only
  - `textFormatOptions` TextFormatOptions
    - `kind` 'length' | 'digits' | 'preset' | 'mask', required
    - `minLength` number, nullable: kind = length
    - `maxLength` number, nullable: kind = length
    - `length` number, nullable: kind = digits: exact digit count
    - `preset` 'se_orgnr' | 'de_plz' | 'at_plz' | 'ch_plz' | 'de_steuer_id' | 'pl_nip', nullable: kind = preset
    - `mask` string, nullable: kind = mask. # = digit, A = letter, * = letter or digit, anything else is a literal.
    - `errorMessage` string, nullable: Host-authored message shown instead of the derived one
  - `pdfTemplateOptions` PdfTemplateOptions
    - `fileAssetId` string, required: FileAsset ID of the uploaded PDF template
    - `pdfmeTemplate` object, required: pdfme template schema JSON (positions of fields on the PDF). Does not include the basePdf bytes.
    - `requireSignature` boolean, required: When true, respondent must draw a signature before accepting the document.
    - `requireSignatureOtp` boolean: When true, respondent must verify their identity via email OTP (FES) before signing.
  - `fileDownloadOptions` FileDownloadOptions
    - `fileAssetIds` string[], required: FileAsset IDs of library files to offer for download
    - `fileNames` object: Map of fileAssetId → original filename for display without extra API calls
  - `blockOptions` BlockOptions
    - `richText` DataFieldRichText
      - `label` RichTextDocument
        - `schemaVersion` 1, required
        - `html` string, required
      - `helpText` RichTextDocument
        - `schemaVersion` 1, required
        - `html` string, required
    - `testimonials` TestimonialItemOptions[]
      - `quote` string, required
      - `author` string
      - `role` string
      - `avatarUrl` string
      - `rating` number: Star rating, 1-5. Omit for no stars.
    - `faqs` FaqItemOptions[]
      - `question` string, required
      - `answer` string, required
    - `logos` LogoItemOptions[]
      - `imageUrl` string, required
      - `alt` string
    - `checklist` ChecklistItemOptions[]
      - `text` string, required
    - `countdown` CountdownBlockOptions
      - `mode` 'date' | 'duration', required
      - `endsAt` string: ISO 8601 instant, `date` mode only
      - `durationSeconds` number: Countdown length, `duration` mode only
      - `expiredText` string
      - `hideWhenExpired` boolean
    - `loading` LoadingBlockOptions
      - `durationSeconds` number, required
      - `steps` string[]
    - `quizReveal` QuizRevealBlockOptions
      - `tiers` QuizRevealTierOptions[], required
        - `minScorePercent` number, required: Lowest score percentage (0-100) landing here
        - `title` string, required
        - `body` string
        - `imageUrl` string
    - `html` HtmlBlockOptions
      - `code` string, required
  - `displayStyle` object: Controls how options are displayed for radio/checkbox/select fields. 'default' - Standard list view 'card' - Card grid with optional icons
  - `conditions` object, nullable: Conditional visibility expression. When set, the field is only shown to the visitor when the expression evaluates to true against current form values. Uses the same Expression/ExpressionCondition structure as routing rules.
  - `headingLevel` number: Heading level for heading fields (1–6). Defaults to 2 (renders as <h2>).
  - `signingPaused` boolean: Computed per request when a public form is served — not persisted. Populated by `PublicFormController.withSigningAvailability`. True when the owning company has used this month's signature allowance, so the renderer shows this field as temporarily unable to take a signature instead of a signature pad. The rest of the form still renders and still submits: these forms are lead capture, and losing the lead would cost the owner far more than the unsigned document.
  - `showInfobox` boolean, required: Only for data fields of type slide, enable to show an infobox.
  - `infoboxText` string: Only for data fields of type slide, custom infobox text.
  - `companyId` string, required
  - `evalancheFieldId` string
  - `klicktippFieldId` string
  - `min` number: Currently used by number field as min value. For string field, it is minimum amount of characters.
  - `max` number
  - `style` number: For Phone Number field - used to set the style of phone input. 0 - Simple (Default) 1 - With country code picker
  - `defaultCountryCode` string: For Phone Number field - default country code (e.g., "+1", "+49", "+44"). Used when style is WITH_COUNTRY_CODE_PICKER to set the initial country selection.
  - `useMarkdown` boolean, required: When true, field.label is rendered through markdown-it (html: false). Allows **bold**, _italic_, `code`, and links in field labels.
  - `requireSignatureOtp` boolean, required: When true, the signer must verify their email via OTP before the signature canvas is unlocked.

## Other responses

- `401`: Missing, malformed, or expired credentials.
- `403`: Authenticated, but not allowed: the plan does not include this feature, or the token is scoped away from it.
- `429`: Rate limited. Back off and retry.

---

[API](https://skmtc.dev/meetergo/apis/meetergo-platform-api.md) · [All operations](https://skmtc.dev/meetergo/apis/meetergo-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meetergo/apis/meetergo-platform-api/revisions/b5d66cd8be67?raw)
