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;
        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

  • OptionalallowGeoscapeAddresses?: boolean

    Whether or not Geoscape elements can be configured for this form

  • OptionalapprovalConfiguration?: {
        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

    • OptionalapprovalCreatedEmailTemplateId?: number

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

    • OptionalapproveCannedResponses?: FormApprovalCannedResponse[]

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

    • OptionalapprovedEmailTemplateId?: number

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

    • OptionalautoDenyAfterClarificationRequest?: {
          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.

      • OptionalinternalNotes?: string

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

      • Optionalnotify?: {
            cannedResponseKey?: string;
            notes: string;
            notificationEmailAddress?: string[];
        }
        • OptionalcannedResponseKey?: string

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

        • notes: string

          Notes sent to specified users

        • OptionalnotificationEmailAddress?: 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.

    • OptionalclarificationRequestCannedResponses?: FormApprovalCannedResponse[]

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

    • OptionalclarificationRequestEmailTemplateId?: number

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

    • OptionaldefaultNotificationEmailElementId?: string

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

    • OptionaldefaultPreventPaymentOnClarificationRequest?: boolean

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

    • OptionaldeniedEmailTemplateId?: number

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

    • OptionaldenyCannedResponses?: FormApprovalCannedResponse[]

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

    • OptionaldisallowApprovingWhenAwaitingClarification?: boolean

      Disallow approving when approval is waiting for clarification

    • OptionalpendingApprovalsReminder?: {
          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

    • OptionalsendNotificationEmailOptionDefaultUnchecked?: boolean

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

  • OptionalapprovalEvents?: FormWorkflowEvent[]
  • OptionalapprovalSteps?: FormApprovalFlowStep[]
  • cancelAction: FormPostSubmissionAction
  • OptionalcancelRedirectUrl?: string
  • OptionalcontinueWithAutosave?: boolean

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

  • OptionalcustomCssClasses?: string[]

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

  • OptionalcustomPDFs?: 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.

  • OptionaldisableAutosave?: boolean

    Disable form data being autosaved

  • OptionaldraftEvents?: FormWorkflowEvent[]
  • elements: FormElement[]

    All elements contained within the form itself.

  • OptionalenableSubmission?: {
        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

  • OptionalexternalIdGenerationOnSubmit?: 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.

  • OptionalisArchived?: 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.

  • OptionalpaymentEvents?: FormPaymentEvent[]
  • Optionalpersonalisation?: 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.

  • OptionalpointAddressEnvironmentId?: string

    Point address environment id to be used for any pointAddress elements

  • OptionalpointAddressV3EnvironmentId?: 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.

  • OptionalpostSubmissionReceipt?: {
        allowAttachmentsDownload?: EndpointConfiguration;
        allowPDFDownload?: PDFConfiguration;
        html?: string;
    }

    Configuration to customise the display after a successful submission.

    • OptionalallowAttachmentsDownload?: EndpointConfiguration
    • OptionalallowPDFDownload?: PDFConfiguration

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

    • Optionalhtml?: string

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

  • OptionalpublishEndDate?: string

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

  • OptionalpublishStartDate?: string

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

  • OptionalredirectUrl?: string

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

  • OptionalschedulingEvents?: FormSchedulingEvent[]
  • OptionalserverValidation?: FormServerValidation

    The details of the form validation endpoint.

  • Optionalslug?: string

    Unique domain safe text to identify the form

  • submissionEvents: FormWorkflowEvent[]

    Events that occur/trigger on a valid successful submission.

  • OptionalsubmissionTitle?: string

    The title of a form submission, supports element injection

  • tags: string[]

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

  • OptionalunpublishedUserMessage?: string

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

  • OptionalupdatedByKey?: DeveloperKeyReference
  • OptionalupdatedByUser?: UserProfile

    The user that last updated the form