NewForm: {
    allowGeoscapeAddresses?: boolean;
    approvalConfiguration?: {
        approvalCreatedEmailTemplateId?: number;
        approveCannedResponses?: FormApprovalCannedResponse[];
        approvedEmailTemplateId?: number;
        autoDenyAfterClarificationRequest?: {
            days: number;
            internalNotes?: string;
            notify?: {
                cannedResponseKey?: string;
                notes: string;
                notificationEmailAddress?: string[];
            };
        };
        clarificationRequestCannedResponses?: FormApprovalCannedResponse[];
        clarificationRequestEmailTemplateId?: number;
        defaultNotificationEmailElementId?: string;
        defaultPreventPaymentOnClarificationRequest?: boolean;
        deniedEmailTemplateId?: number;
        denyCannedResponses?: FormApprovalCannedResponse[];
        disallowApprovingWhenAwaitingClarification?: boolean;
        pendingApprovalsReminder?: {
            daysInterval: number;
        };
        sendNotificationEmailOptionDefaultUnchecked?: boolean;
    };
    approvalEvents?: FormWorkflowEvent[];
    approvalSteps?: FormApprovalFlowStep[];
    cancelAction: FormPostSubmissionAction;
    cancelRedirectUrl?: string;
    continueWithAutosave?: boolean;
    customCssClasses?: string[];
    customPDFs?: FormCustomPDF[];
    description: string;
    disableAutosave?: boolean;
    draftEvents?: FormWorkflowEvent[];
    elements: FormElement[];
    enableSubmission?: {
        conditionalPredicates: ConditionalPredicate[];
        requiresAllConditionalPredicates: boolean;
    };
    externalIdGenerationOnSubmit?: ExternalIdGeneration;
    formsAppEnvironmentId: number;
    formsAppIds: number[];
    isArchived?: boolean;
    isAuthenticated: boolean;
    isMultiPage: boolean;
    name: string;
    organisationId: string;
    paymentEvents?: FormPaymentEvent[];
    personalisation?: EndpointConfiguration;
    pointAddressEnvironmentId?: string;
    pointAddressV3EnvironmentId?: string;
    postSubmissionAction: FormPostSubmissionAction;
    postSubmissionReceipt?: {
        allowAttachmentsDownload?: EndpointConfiguration;
        allowPDFDownload?: PDFConfiguration | {
            configuration: PDFConfiguration;
            id: string;
        }[];
        html?: string;
    };
    publishEndDate?: string;
    publishStartDate?: string;
    redirectUrl?: string;
    schedulingEvents?: FormSchedulingEvent[];
    serverValidation?: FormServerValidation;
    slug?: string;
    submissionEvents: FormWorkflowEvent[];
    submissionTitle?: string;
    tags: string[];
    unpublishedUserMessage?: string;
    updatedByKey?: DeveloperKeyReference;
    updatedByUser?: UserProfile;
}

Type declaration

  • Optional allowGeoscapeAddresses?: boolean

    Whether or not Geoscape elements can be configured for this form

  • Optional approvalConfiguration?: {
        approvalCreatedEmailTemplateId?: number;
        approveCannedResponses?: FormApprovalCannedResponse[];
        approvedEmailTemplateId?: number;
        autoDenyAfterClarificationRequest?: {
            days: number;
            internalNotes?: string;
            notify?: {
                cannedResponseKey?: string;
                notes: string;
                notificationEmailAddress?: string[];
            };
        };
        clarificationRequestCannedResponses?: FormApprovalCannedResponse[];
        clarificationRequestEmailTemplateId?: number;
        defaultNotificationEmailElementId?: string;
        defaultPreventPaymentOnClarificationRequest?: boolean;
        deniedEmailTemplateId?: number;
        denyCannedResponses?: FormApprovalCannedResponse[];
        disallowApprovingWhenAwaitingClarification?: boolean;
        pendingApprovalsReminder?: {
            daysInterval: number;
        };
        sendNotificationEmailOptionDefaultUnchecked?: boolean;
    }

    Configuration options that affect the whole approval flow

    • Optional approvalCreatedEmailTemplateId?: number

      The identifier for the email template to use when notifying approvers of a new approval to action

    • Optional approveCannedResponses?: FormApprovalCannedResponse[]

      A list of canned responses available for the form that can be assigned when approving an approval

    • Optional approvedEmailTemplateId?: number

      The identifier for the email template to use when notifying the user that submitted the form that an approver has approved their submission

    • Optional autoDenyAfterClarificationRequest?: {
          days: number;
          internalNotes?: string;
          notify?: {
              cannedResponseKey?: string;
              notes: string;
              notificationEmailAddress?: string[];
          };
      }

      Configuration for automatically denying an approval after a number of days when a clarification request has been sent with no response. Set undefined or unset for no Auto Deny.

      • days: number

        The amount of days after a clarification request has been sent with no response until the approval is automatically denied.

      • Optional internalNotes?: string

        Internal notes that are not seen by the user that submitted the form

      • Optional notify?: {
            cannedResponseKey?: string;
            notes: string;
            notificationEmailAddress?: string[];
        }
        • Optional cannedResponseKey?: string

          Key to associate a canned response with an approval to allow for reporting

        • notes: string

          Notes sent to specified users

        • Optional notificationEmailAddress?: string[]

          The email addresses of the users to be notified of the result. If the approval flow has a defaultNotificationEmailElementId configured, this address will also receive a notification email.

    • Optional clarificationRequestCannedResponses?: FormApprovalCannedResponse[]

      A list of canned responses available for the form that can be assigned when requesting clarification

    • Optional clarificationRequestEmailTemplateId?: number

      The identifier for the email template to use when notifying the user that submitted the form that an approver has requested clarification

    • Optional defaultNotificationEmailElementId?: string

      The id of the element to use as a default prefill for the notification email address when actioning an approval for this form

    • Optional defaultPreventPaymentOnClarificationRequest?: boolean

      Allow a default value for the preventPayment flag when approvers are requesting clarification

    • Optional deniedEmailTemplateId?: number

      The identifier for the email template to use when notifying the user that submitted the form that an approver has denied their submission

    • Optional denyCannedResponses?: FormApprovalCannedResponse[]

      A list of canned responses available for the form that can be assigned when denying an approval

    • Optional disallowApprovingWhenAwaitingClarification?: boolean

      Disallow approving when approval is waiting for clarification

    • Optional pendingApprovalsReminder?: {
          daysInterval: number;
      }

      Configuration for sending recurring reminders at an interval of days to Approvers of pending approvals for this form.

      • daysInterval: number

        The amount of days that an approval must be overdue before sending daily reminders

    • Optional sendNotificationEmailOptionDefaultUnchecked?: boolean

      When true, default the option to send notification email to unchecked

  • Optional approvalEvents?: FormWorkflowEvent[]
  • Optional approvalSteps?: FormApprovalFlowStep[]
  • cancelAction: FormPostSubmissionAction
  • Optional cancelRedirectUrl?: string
  • Optional continueWithAutosave?: boolean

    Whether or not viewing the form should auto-continue with autosave data when available rather than prompting the user

  • Optional customCssClasses?: string[]

    Custom CSS classes that will be added to the form during rendering

  • Optional customPDFs?: FormCustomPDF[]

    The custom PDFs that are associated with the form that can be used in place of an OOTB PDF.

  • description: string

    A description of the form.

  • Optional disableAutosave?: boolean

    Disable form data being autosaved

  • Optional draftEvents?: FormWorkflowEvent[]
  • elements: FormElement[]

    An array of elements associated with the form.

    Each element must include an id property that contains a universally unique identifier (UUID). The identifier must be a Version 4 (V4) UUID and must conform to the formatting requirements defined in this RFC 9562 specification: https://www.rfc-editor.org/rfc/rfc9562.html

  • Optional enableSubmission?: {
        conditionalPredicates: ConditionalPredicate[];
        requiresAllConditionalPredicates: boolean;
    }

    Conditionally enable form submission

    • conditionalPredicates: ConditionalPredicate[]

      The predicates to determine if submission should be allowed

    • requiresAllConditionalPredicates: boolean

      Indicates if all predicates need to met to determine if submission should be allowed

  • Optional externalIdGenerationOnSubmit?: ExternalIdGeneration

    The details of the externalId generation endpoint which will be executed after "serverValidation" but before submission.

  • formsAppEnvironmentId: number

    The forms app environment ID the form belong to.

  • formsAppIds: number[]

    ID's of any Forms Apps that the form is included in.

  • Optional isArchived?: boolean

    Whether or not the form is archived. Only archived forms can be deleted from the console

  • isAuthenticated: boolean

    Whether or not the form can only be viewed by an Authenticated user.

  • isMultiPage: boolean

    Whether or not the form contains multiple pages.

    If set to true, the elements array must only contain PageElement types. The elements array in each PageElement type can include all of the other FormElement types.

    If it is false, the elements array must not contain any PageElement types.

  • name: string

    Name of the form.

  • organisationId: string

    The organisation ID the form belong to.

  • Optional paymentEvents?: FormPaymentEvent[]
  • Optional personalisation?: EndpointConfiguration

    The details of the personalisation endpoint which will be executed on form load to prefill existing elements or return a new set of elements.

  • Optional pointAddressEnvironmentId?: string

    Point address environment id to be used for any pointAddress elements

  • Optional pointAddressV3EnvironmentId?: string

    Point address V3 environment id to be used for any pointCadastralParcel elements

  • postSubmissionAction: FormPostSubmissionAction

    The action for the Form to take on a successful submission.

  • Optional postSubmissionReceipt?: {
        allowAttachmentsDownload?: EndpointConfiguration;
        allowPDFDownload?: PDFConfiguration | {
            configuration: PDFConfiguration;
            id: string;
        }[];
        html?: string;
    }

    Configuration to customise the display after a successful submission.

    • Optional allowAttachmentsDownload?: EndpointConfiguration
    • Optional allowPDFDownload?: PDFConfiguration | {
          configuration: PDFConfiguration;
          id: string;
      }[]

      Whether or not to generate a token to allow downloading the form submission PDF after a successful submission.

    • Optional html?: string

      HTML to display instead of the default "Thank you" message after a successful submission.

  • Optional publishEndDate?: string

    The date and time (in ISO format) a form becomes unavailable.

  • Optional publishStartDate?: string

    The date and time (in ISO format) a form becomes available.

  • Optional redirectUrl?: string

    The URL the form will redirect to if configured to do so by the postSubmissionActions.

  • Optional schedulingEvents?: FormSchedulingEvent[]
  • Optional serverValidation?: FormServerValidation

    The details of the form validation endpoint.

  • Optional slug?: string

    Unique domain safe text to identify the form

  • submissionEvents: FormWorkflowEvent[]

    Events that occur/trigger on a valid successful submission.

  • Optional submissionTitle?: string

    The title of a form submission, supports element injection

  • tags: string[]

    A list of tags used to categorise or describe the form.

  • Optional unpublishedUserMessage?: string

    The message to be shown to forms users when the form is not in the published time window

  • Optional updatedByKey?: DeveloperKeyReference
  • Optional updatedByUser?: UserProfile

    The user that last updated the form