Form data model

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNo
created_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
namestringNo
descriptionstringNo
fieldsFormField[]No
fields[].idstringNo
fields[].created_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
fields[].updated_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
fields[].namestringYes
fields[].descriptionstringNo
fields[].typeenumYesValues: TEXT, TEXTAREA, NUMBER, EMAIL, URL, DATE, TIME, DATETIME, PHONE, BOOLEAN, SINGLE_SELECT, MULTIPLE_SELECT, FILE_UPLOAD, RATING, SCALE, MATRIX, SECTION_HEADER, OTHER
fields[].is_requiredbooleanNo
fields[].is_activebooleanNo
fields[].choicesstring[]NoFor select/radio/checkbox fields
fields[].default_valuestringNo
fields[].minnumberNo
fields[].maxnumberNo
fields[].patternstringNo
fields[].min_lengthnumberNo
fields[].max_lengthnumberNo
fields[].ordernumberNo
is_activebooleanNo
published_urlstringNo
response_countnumberNo
has_multiple_submissionsbooleanNo
has_progress_barbooleanNo
has_shuffle_questionsbooleanNo
confirmation_messagestringNo
confirmation_redirect_urlstringNo

TypeScript

TypeScript
export type FormsForm = {
	id?: string;
	created_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	name?: string;
	description?: string;
	fields?: [];
	is_active?: boolean;
	published_url?: string;
	response_count?: number;
	has_multiple_submissions?: boolean;
	has_progress_bar?: boolean;
	has_shuffle_questions?: boolean;
	confirmation_message?: string;
	confirmation_redirect_url?: string;
	raw?: any;
} 

Zod

Zod
import { z } from 'zod';

export const ZodFormsForm = z.object({
	id: z.string().optional(),
	created_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	name: z.string().optional(),
	description: z.string().optional(),
	fields: z.array().optional(),
	is_active: z.boolean().optional(),
	published_url: z.string().optional(),
	response_count: z.number().optional(),
	has_multiple_submissions: z.boolean().optional(),
	has_progress_bar: z.boolean().optional(),
	has_shuffle_questions: z.boolean().optional(),
	confirmation_message: z.string().optional(),
	confirmation_redirect_url: z.string().optional(),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class FormsForm:
	id: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	name: Optional[str]
	description: Optional[str]
	fields: Optional[PropertyFormsFormFields]
	is_active: Optional[bool]
	published_url: Optional[str]
	response_count: Optional[int]
	has_multiple_submissions: Optional[bool]
	has_progress_bar: Optional[bool]
	has_shuffle_questions: Optional[bool]
	confirmation_message: Optional[str]
	confirmation_redirect_url: Optional[str]
Are we missing anything? Let us know
Was this page helpful?