NewForm: {
    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[];
    externalIdGenerationOnSubmit?: ExternalIdGeneration;
    formsAppEnvironmentId: number;
    formsAppIds: number[];
    isAuthenticated: boolean;
    isMultiPage: boolean;
    name: string;
    organisationId: string;
    paymentEvents?: FormPaymentEvent[];
    personalisation?: EndpointConfiguration;
    postSubmissionAction: FormPostSubmissionAction;
    postSubmissionReceipt?: {
        allowPDFDownload?: PDFConfiguration;
        html?: string;
    };
    publishEndDate?: string;
    publishStartDate?: string;
    redirectUrl?: string;
    schedulingEvents?: FormSchedulingEvent[];
    serverValidation?: FormServerValidation;
    submissionEvents: FormWorkflowEvent[];
    submissionTitle?: string;
    tags: string[];
    unpublishedUserMessage?: string;
    updatedByKey?: {
        id: string;
        name: string;
    };
    updatedByUser?: UserProfile;
}

Type declaration

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

    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 make up the interval at which reminder emails will be sent to approvers of pending approvals.

  • 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

  • description: string

    A description of the form.

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

    All elements contained within the form itself.

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

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

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

  • postSubmissionAction: FormPostSubmissionAction

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

  • Optional postSubmissionReceipt?: {
        allowPDFDownload?: PDFConfiguration;
        html?: string;
    }

    Configuration to customise the display after a successful submission.

    • Optional allowPDFDownload?: PDFConfiguration

      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.

  • 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?: {
        id: string;
        name: string;
    }
    • id: string

      The id of the key

    • name: string

      The name of the key

  • Optional updatedByUser?: UserProfile

    The user that last updated the form