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;
        };
    };
    approvalEvents?: FormWorkflowEvent[];
    approvalSteps?: FormApprovalFlowStep[];
    cancelAction: FormPostSubmissionAction;
    cancelRedirectUrl?: string;
    continueWithAutosave?: boolean;
    customCssClasses?: string[];
    description: string;
    draftEvents?: FormWorkflowEvent[];
    elements: FormElement[];
    enableSubmission?: {
        conditionalPredicates: ConditionalPredicate[];
        requiresAllConditionalPredicates: boolean;
    };
    externalIdGenerationOnSubmit?: ExternalIdGeneration;
    formsAppEnvironmentId: number;
    formsAppIds: number[];
    isAuthenticated: boolean;
    isMultiPage: boolean;
    name: string;
    organisationId: string;
    paymentEvents?: FormPaymentEvent[];
    personalisation?: EndpointConfiguration;
    pointAddressEnvironmentId?: string;
    postSubmissionAction: FormPostSubmissionAction;
    postSubmissionReceipt?: {
        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;
        };
    }

    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

  • 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

  • description: string

    A description of the form.

  • 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.

  • 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.

  • 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

  • postSubmissionAction: FormPostSubmissionAction

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

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

    Configuration to customise the display after a successful submission.

    • 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