@docuseal/api
Version:
JavaScript / TypeScript library for the DocuSeal API
1,808 lines • 73 kB
TypeScript
export type CloneTemplateRequest = {
/**
* Template name. Existing name with (Clone) suffix will be used if not specified.
*/
name?: string;
/**
* The folder's name to which the template should be cloned.
*/
folder_name?: string;
/**
* Your application-specific unique string key to identify this template within your app.
*/
external_id?: string;
};
export type CreateSubmissionDocumentFieldAreaParams = {
/**
* X-coordinate of the field area.
*/
x: number;
/**
* Y-coordinate of the field area.
*/
y: number;
/**
* Width of the field area.
*/
w: number;
/**
* Height of the field area.
*/
h: number;
/**
* Page number of the field area. Starts from 1.
*/
page: number;
/**
* Option string value for 'radio' and 'multiple' select field types.
*/
option?: string;
};
export type CreateSubmissionDocumentFieldParams = {
/**
* Name of the field.
*/
name?: string;
/**
* Type of the field (e.g., text, signature, date, initials).
*/
type?: FieldType;
/**
* Role name of the signer.
*/
role?: string;
/**
* Indicates if the field is required.
*/
required?: boolean;
/**
* Field title displayed to the user instead of the name, shown on the signing form. Supports Markdown.
*/
title?: string;
/**
* Field description displayed on the signing form. Supports Markdown.
*/
description?: string;
/**
* List of areas where the field is located in the document.
*/
areas?: Array<CreateSubmissionDocumentFieldAreaParams>;
/**
* An array of option values for 'select' field type.
*/
options?: Array<string>;
};
export type CreateSubmissionFromDocxDocumentParams = {
/**
* Name of the document.
*/
name: string;
/**
* Base64-encoded content of the PDF or DOCX file or downloadable file URL.
*/
file: string;
/**
* Document position in the submission. If not specified, the document will be added in the order it appears in the documents array.
*/
position?: number;
};
export type CreateSubmissionFromDocxRequest = {
/**
* Name of the document submission.
*/
name?: string;
/**
* Set `false` to disable signature request emails sending.
*/
send_email?: boolean;
/**
* Set `true` to send signature request via phone number and SMS.
*/
send_sms?: boolean;
/**
* Dynamic content variables object. Variable values can be strings, numbers, arrays, objects, or HTML content used to generate styled text, paragraphs, and tables in DOCX.
*/
variables?: {
[key: string]: unknown;
};
/**
* Pass 'random' to send signature request emails to all parties right away. The order is 'preserved' by default so the second party will receive a signature request email only after the document is signed by the first party.
*/
order?: SubmittersOrder;
/**
* Specify URL to redirect to after the submission completion.
*/
completed_redirect_url?: string;
/**
* Specify BCC address to send signed documents to after the completion.
*/
bcc_completed?: string;
/**
* Specify Reply-To address to use in the notification emails.
*/
reply_to?: string;
/**
* Specify the expiration date and time after which the submission becomes unavailable for signature.
*/
expire_at?: string;
/**
* An optional array of template IDs to use in the submission along with the provided documents. This can be used to create multi-document submissions when some of the required documents exist within templates.
*/
template_ids?: Array<number>;
/**
* An array of DOCX documents to create a submission.
*/
documents: Array<CreateSubmissionFromDocxDocumentParams>;
/**
* The list of submitters for the submission.
*/
submitters: Array<CreateSubmissionSubmitterParams>;
message?: CreateSubmissionMessageParams;
/**
* Set `true` to merge the documents into a single PDF file.
*/
merge_documents?: boolean;
/**
* Pass `false` to disable the removal of {{text}} tags from the document. This can be used along with transparent text tags for faster and more robust document processing.
*/
remove_tags?: boolean;
};
export type CreateSubmissionFromHtmlDocumentParams = {
/**
* Document name. Random uuid will be assigned when not specified.
*/
name?: string;
/**
* HTML document content with field tags.
*/
html: string;
/**
* HTML document content of the header to be displayed on every page.
*/
html_header?: string;
/**
* HTML document content of the footer to be displayed on every page.
*/
html_footer?: string;
/**
* Page size. Letter 8.5 x 11 will be assigned when not specified.
*/
size?: PageSize;
/**
* Document position in the submission. If not specified, the document will be added in the order it appears in the documents array.
*/
position?: number;
};
export type CreateSubmissionFromHtmlRequest = {
/**
* Name of the document submission.
*/
name?: string;
/**
* Set `false` to disable signature request emails sending.
*/
send_email?: boolean;
/**
* Set `true` to send signature request via phone number and SMS.
*/
send_sms?: boolean;
/**
* Pass 'random' to send signature request emails to all parties right away. The order is 'preserved' by default so the second party will receive a signature request email only after the document is signed by the first party.
*/
order?: SubmittersOrder;
/**
* Specify URL to redirect to after the submission completion.
*/
completed_redirect_url?: string;
/**
* Specify BCC address to send signed documents to after the completion.
*/
bcc_completed?: string;
/**
* Specify Reply-To address to use in the notification emails.
*/
reply_to?: string;
/**
* Specify the expiration date and time after which the submission becomes unavailable for signature.
*/
expire_at?: string;
/**
* An optional array of template IDs to use in the submission along with the provided documents. This can be used to create multi-document submissions when some of the required documents exist within templates.
*/
template_ids?: Array<number>;
/**
* The list of documents built from HTML. Can be used to create a submission with multiple documents.
*/
documents: Array<CreateSubmissionFromHtmlDocumentParams>;
/**
* The list of submitters for the submission.
*/
submitters: Array<CreateSubmissionSubmitterParams>;
message?: CreateSubmissionMessageParams;
/**
* Set `true` to merge the documents into a single PDF file.
*/
merge_documents?: boolean;
};
export type CreateSubmissionFromPdfDocumentParams = {
/**
* Name of the document.
*/
name: string;
/**
* Base64-encoded content of the PDF file or downloadable file URL.
*/
file: string;
/**
* Fields are optional if you use {{...}} text tags to define fields in the document.
*/
fields?: Array<CreateSubmissionDocumentFieldParams>;
/**
* Document position in the submission. If not specified, the document will be added in the order it appears in the documents array.
*/
position?: number;
};
export type CreateSubmissionFromPdfRequest = {
/**
* Name of the document submission.
*/
name?: string;
/**
* Set `false` to disable signature request emails sending.
*/
send_email?: boolean;
/**
* Set `true` to send signature request via phone number and SMS.
*/
send_sms?: boolean;
/**
* Pass 'random' to send signature request emails to all parties right away. The order is 'preserved' by default so the second party will receive a signature request email only after the document is signed by the first party.
*/
order?: SubmittersOrder;
/**
* Specify URL to redirect to after the submission completion.
*/
completed_redirect_url?: string;
/**
* Specify BCC address to send signed documents to after the completion.
*/
bcc_completed?: string;
/**
* Specify Reply-To address to use in the notification emails.
*/
reply_to?: string;
/**
* Specify the expiration date and time after which the submission becomes unavailable for signature.
*/
expire_at?: string;
/**
* An optional array of template IDs to use in the submission along with the provided documents. This can be used to create multi-document submissions when some of the required documents exist within templates.
*/
template_ids?: Array<number>;
/**
* An array of PDF documents to create a submission.
*/
documents: Array<CreateSubmissionFromPdfDocumentParams>;
/**
* The list of submitters for the submission.
*/
submitters: Array<CreateSubmissionSubmitterParams>;
message?: CreateSubmissionMessageParams;
/**
* Remove PDF form fields from the documents.
*/
flatten?: boolean;
/**
* Set `true` to merge the documents into a single PDF file.
*/
merge_documents?: boolean;
/**
* Pass `false` to disable the removal of {{text}} tags from the PDF. This can be used along with transparent text tags for faster and more robust PDF processing.
*/
remove_tags?: boolean;
};
/**
* Custom signature request email message.
*/
export type CreateSubmissionMessageParams = {
/**
* Custom signature request email subject.
*/
subject?: string;
/**
* Custom signature request email body. Can include variables such as {{template.name}}, {{submission.name}}, {{submitter.link}}, {{account.name}}.
*/
body?: string;
};
export type CreateSubmissionRequest = {
/**
* The unique identifier of the template. Document template forms can be created via the Web UI, <a href="https://www.docuseal.com/guides/use-embedded-text-field-tags-in-the-pdf-to-create-a-fillable-form" class="link">PDF and DOCX API</a>, or <a href="https://www.docuseal.com/guides/create-pdf-document-fillable-form-with-html-api" class="link">HTML API</a>.
*/
template_id: number;
/**
* Set `false` to disable signature request emails sending.
*/
send_email?: boolean;
/**
* Set `true` to send signature request via phone number and SMS.
*/
send_sms?: boolean;
/**
* Pass 'random' to send signature request emails to all parties right away. The order is 'preserved' by default so the second party will receive a signature request email only after the document is signed by the first party.
*/
order?: SubmittersOrder;
/**
* Specify URL to redirect to after the submission completion.
*/
completed_redirect_url?: string;
/**
* Specify BCC address to send signed documents to after the completion.
*/
bcc_completed?: string;
/**
* Specify Reply-To address to use in the notification emails.
*/
reply_to?: string;
/**
* Specify the expiration date and time after which the submission becomes unavailable for signature.
*/
expire_at?: string;
/**
* Dynamic content variables object. Variable values can be strings, numbers, arrays, objects, or HTML content used to generate styled text, paragraphs, and tables in dynamic template documents.
*/
variables?: {
[key: string]: unknown;
};
message?: CreateSubmissionMessageParams;
/**
* The list of submitters for the submission.
*/
submitters: Array<CreateSubmissionSubmitterParams>;
};
export type CreateSubmissionsFromEmailsRequest = {
/**
* The unique identifier of the template.
*/
template_id: number;
/**
* A comma-separated list of email addresses to send the submission to.
*/
emails: string;
/**
* Set `false` to disable signature request emails sending.
*/
send_email?: boolean;
message?: CreateSubmissionMessageParams;
};
export type CreateSubmissionSubmitterFieldParams = {
/**
* Document template field name.
*/
name: string;
default_value?: DefaultValue;
/**
* Set `true` to make it impossible for the submitter to edit predefined field value.
*/
readonly?: boolean;
/**
* Set `true` to make the field required.
*/
required?: boolean;
/**
* Field title displayed to the user instead of the name, shown on the signing form. Supports Markdown.
*/
title?: string;
/**
* Field description displayed on the signing form. Supports Markdown.
*/
description?: string;
validation?: CreateSubmissionSubmitterFieldValidationParams;
preferences?: CreateSubmissionSubmitterFieldPreferencesParams;
};
/**
* Field display preferences.
*/
export type CreateSubmissionSubmitterFieldPreferencesParams = {
/**
* Font size of the field value in pixels.
*/
font_size?: number;
/**
* Font type of the field value.
*/
font_type?: FieldFontType;
/**
* Font family of the field value.
*/
font?: FieldFont;
/**
* Font color of the field value.
*/
color?: string;
/**
* Field box background color.
*/
background?: string;
/**
* Horizontal alignment of the field text value.
*/
align?: FieldAlign;
/**
* Vertical alignment of the field text value.
*/
valign?: FieldValign;
/**
* The data format for different field types.<br>- Date field: accepts formats such as DD/MM/YYYY (default: MM/DD/YYYY).<br>- Signature field: accepts drawn, typed, drawn_or_typed (default), or upload.<br>- Number field: accepts currency formats such as usd, eur, gbp.
*/
format?: string;
/**
* Price value of the payment field. Only for payment fields.
*/
price?: number;
/**
* Currency value of the payment field. Only for payment fields.
*/
currency?: Currency;
/**
* Set `true` to make sensitive data masked on the document.
*/
mask?: number | boolean;
/**
* An array of signature reasons to choose from.
*/
reasons?: Array<string>;
};
/**
* Field validation rules.
*/
export type CreateSubmissionSubmitterFieldValidationParams = {
/**
* HTML field validation pattern string based on https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern specification.
*/
pattern?: string;
/**
* A custom error message to display on validation failure.
*/
message?: string;
/**
* Minimum allowed number value or date depending on field type.
*/
min?: number | string;
/**
* Maximum allowed number value or date depending on field type.
*/
max?: number | string;
/**
* Increment step for number field. Pass 1 to accept only integers, or 0.01 to accept decimal currency.
*/
step?: number;
};
/**
* Custom signature request email message for the submitter.
*/
export type CreateSubmissionSubmitterMessageParams = {
/**
* Custom signature request email subject for the submitter.
*/
subject?: string;
/**
* Custom signature request email body for the submitter. Can include variables such as {{template.name}}, {{submission.name}}, {{submitter.link}}, {{account.name}}.
*/
body?: string;
};
export type CreateSubmissionSubmitterParams = {
/**
* The name of the submitter.
*/
name?: string;
/**
* The role name or title of the submitter.
*/
role?: string;
/**
* The email address of the submitter.
*/
email?: string;
/**
* The phone number of the submitter, formatted according to the E.164 standard.
*/
phone?: string;
/**
* An object with pre-filled values for the submission. Use field names for keys of the object. For more configurations see `fields` param.
*/
values?: {
[key: string]: unknown;
};
/**
* Your application-specific unique string key to identify this submitter within your app.
*/
external_id?: string;
/**
* Pass `true` to mark submitter as completed and auto-signed via API.
*/
completed?: boolean;
/**
* Metadata object with additional submitter information.
*/
metadata?: {
[key: string]: unknown;
};
/**
* Set `false` to disable signature request emails sending only for this submitter.
*/
send_email?: boolean;
/**
* Set `true` to send signature request via phone number and SMS.
*/
send_sms?: boolean;
/**
* Specify Reply-To address to use in the notification emails for this submitter.
*/
reply_to?: string;
/**
* Submitter specific URL to redirect to after the submission completion.
*/
completed_redirect_url?: string;
/**
* The order of the submitter in the workflow (e.g., 0 for the first signer, 1 for the second, etc.). Use the same order number to create order groups. By default, submitters are ordered as in the submitters array.
*/
order?: number;
/**
* Set to `true` to require phone 2FA verification via a one-time code sent to the phone number in order to access the documents.
*/
require_phone_2fa?: boolean;
/**
* Set to `true` to require email 2FA verification via a one-time code sent to the email address in order to access the documents.
*/
require_email_2fa?: boolean;
/**
* Set the role name of the previous party that should invite this party via email.
*/
invite_by?: string;
message?: CreateSubmissionSubmitterMessageParams;
/**
* A list of configurations for template document form fields.
*/
fields?: Array<CreateSubmissionSubmitterFieldParams>;
/**
* A list of roles for the submitter. Use this param to merge multiple roles into one submitter.
*/
roles?: Array<string>;
};
export type CreateTemplateDocumentFieldAreaParams = {
/**
* X-coordinate of the field area.
*/
x: number;
/**
* Y-coordinate of the field area.
*/
y: number;
/**
* Width of the field area.
*/
w: number;
/**
* Height of the field area.
*/
h: number;
/**
* Page number of the field area. Starts from 1.
*/
page: number;
/**
* Option string value for 'radio' and 'multiple' select field types.
*/
option?: string;
};
export type CreateTemplateDocumentFieldParams = {
/**
* Name of the field.
*/
name?: string;
/**
* Type of the field (e.g., text, signature, date, initials).
*/
type?: FieldType;
/**
* Role name of the signer.
*/
role?: string;
/**
* Indicates if the field is required.
*/
required?: boolean;
/**
* Field title displayed to the user instead of the name, shown on the signing form. Supports Markdown.
*/
title?: string;
/**
* Field description displayed on the signing form. Supports Markdown.
*/
description?: string;
/**
* List of areas where the field is located in the document.
*/
areas?: Array<CreateTemplateDocumentFieldAreaParams>;
/**
* An array of option values for 'select' field type.
*/
options?: Array<string>;
validation?: CreateTemplateDocumentFieldValidationParams;
preferences?: CreateTemplateDocumentFieldPreferencesParams;
};
/**
* Field display preferences.
*/
export type CreateTemplateDocumentFieldPreferencesParams = {
/**
* Font size of the field value in pixels.
*/
font_size?: number;
/**
* Font type of the field value.
*/
font_type?: FieldFontType;
/**
* Font family of the field value.
*/
font?: FieldFont;
/**
* Font color of the field value.
*/
color?: string;
/**
* Field box background color.
*/
background?: string;
/**
* Horizontal alignment of the field text value.
*/
align?: FieldAlign;
/**
* Vertical alignment of the field text value.
*/
valign?: FieldValign;
/**
* The data format for different field types.<br>- Date field: accepts formats such as DD/MM/YYYY (default: MM/DD/YYYY).<br>- Signature field: accepts drawn, typed, drawn_or_typed (default), or upload.<br>- Number field: accepts currency formats such as usd, eur, gbp.
*/
format?: string;
/**
* Price value of the payment field. Only for payment fields.
*/
price?: number;
/**
* Currency value of the payment field. Only for payment fields.
*/
currency?: Currency;
/**
* Set `true` to make sensitive data masked on the document.
*/
mask?: number | boolean;
/**
* An array of signature reasons to choose from.
*/
reasons?: Array<string>;
};
/**
* Field validation rules.
*/
export type CreateTemplateDocumentFieldValidationParams = {
/**
* HTML field validation pattern string based on https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/pattern specification.
*/
pattern?: string;
/**
* A custom error message to display on validation failure.
*/
message?: string;
/**
* Minimum allowed number value or date depending on field type.
*/
min?: number | string;
/**
* Maximum allowed number value or date depending on field type.
*/
max?: number | string;
/**
* Increment step for number field. Pass 1 to accept only integers, or 0.01 to accept decimal currency.
*/
step?: number;
};
export type CreateTemplateFromDocxDocumentParams = {
/**
* Name of the document.
*/
name: string;
/**
* Base64-encoded content of the DOCX file or downloadable file URL.
*/
file: string;
/**
* Set to `true` to make the document dynamic. When enabled, the DOCX document content can be edited or use [[variables]] in the template editor.
*/
dynamic?: boolean;
/**
* Fields are optional if you use {{...}} text tags to define fields in the document.
*/
fields?: Array<CreateTemplateDocumentFieldParams>;
};
export type CreateTemplateFromDocxRequest = {
/**
* Name of the template.
*/
name?: string;
/**
* Your application-specific unique string key to identify this template within your app. Existing template with specified `external_id` will be updated with a new document.
*/
external_id?: string;
/**
* The folder's name in which the template should be created.
*/
folder_name?: string;
/**
* Set to `true` to make the template available via a shared link. This will allow anyone with the link to create a submission from this template.
*/
shared_link?: boolean;
/**
* An array of DOCX documents to create a template.
*/
documents: Array<CreateTemplateFromDocxDocumentParams>;
};
export type CreateTemplateFromHtmlDocumentParams = {
/**
* HTML template with field tags.
*/
html: string;
/**
* Document name. Random uuid will be assigned when not specified.
*/
name?: string;
};
export type CreateTemplateFromHtmlRequest = {
/**
* HTML template with field tags.
*/
html?: string;
/**
* HTML template of the header to be displayed on every page.
*/
html_header?: string;
/**
* HTML template of the footer to be displayed on every page.
*/
html_footer?: string;
/**
* Template name. Random uuid will be assigned when not specified.
*/
name?: string;
/**
* Page size. Letter 8.5 x 11 will be assigned when not specified.
*/
size?: PageSize;
/**
* Your application-specific unique string key to identify this template within your app. Existing template with specified `external_id` will be updated with a new HTML.
*/
external_id?: string;
/**
* The folder's name in which the template should be created.
*/
folder_name?: string;
/**
* Set to `true` to make the template available via a shared link. This will allow anyone with the link to create a submission from this template.
*/
shared_link?: boolean;
/**
* The list of documents built from HTML. Can be used to create a template with multiple documents. Leave `documents` param empty when using a top-level `html` param for a template with a single document.
*/
documents?: Array<CreateTemplateFromHtmlDocumentParams>;
};
export type CreateTemplateFromPdfDocumentParams = {
/**
* Name of the document.
*/
name: string;
/**
* Base64-encoded content of the PDF file or downloadable file URL.
*/
file: string;
/**
* Fields are optional if you use {{...}} text tags to define fields in the document.
*/
fields?: Array<CreateTemplateDocumentFieldParams>;
};
export type CreateTemplateFromPdfRequest = {
/**
* Name of the template.
*/
name?: string;
/**
* The folder's name in which the template should be created.
*/
folder_name?: string;
/**
* Your application-specific unique string key to identify this template within your app. Existing template with specified `external_id` will be updated with a new PDF.
*/
external_id?: string;
/**
* Set to `true` to make the template available via a shared link. This will allow anyone with the link to create a submission from this template.
*/
shared_link?: boolean;
/**
* An array of PDF documents to create a template.
*/
documents: Array<CreateTemplateFromPdfDocumentParams>;
/**
* Remove PDF form fields from the documents.
*/
flatten?: boolean;
/**
* Pass `false` to disable the removal of {{text}} tags from the PDF. This can be used along with transparent text tags for faster and more robust PDF processing.
*/
remove_tags?: boolean;
};
export type Currency = "USD" | "EUR" | "GBP" | "CAD" | "AUD" | "CHF" | "SEK";
/**
* Default value of the field. Use base64 encoded file or a public URL to the image file to set default signature or image fields.
*/
export type DefaultValue = string | number | boolean | Array<DefaultValueItem>;
export type DefaultValueItem = string | number | boolean;
export type Document = {
/**
* Document name.
*/
name: string;
/**
* Document URL.
*/
url: string;
};
export type EventType = "form.viewed" | "form.started" | "form.completed" | "form.declined" | "submission.created" | "submission.completed" | "submission.expired" | "submission.archived" | "template.created" | "template.updated" | "template.archived";
export type Field = {
/**
* Unique identifier of the field.
*/
uuid: string;
/**
* Unique identifier of the submitter that filled the field.
*/
submitter_uuid: string;
/**
* Field name.
*/
name: string | null;
/**
* Type of the field (e.g., text, signature, date, initials).
*/
type: FieldType;
/**
* Indicates if the field is required.
*/
required?: boolean;
preferences?: FieldPreferences;
/**
* List of areas where the field is located in the document.
*/
areas?: Array<FieldArea>;
};
export type FieldAlign = "left" | "center" | "right";
export type FieldArea = {
/**
* X coordinate of the area where the field is located in the document.
*/
x: number;
/**
* Y coordinate of the area where the field is located in the document.
*/
y: number;
/**
* Width of the area where the field is located in the document.
*/
w: number;
/**
* Height of the area where the field is located in the document.
*/
h: number;
/**
* Unique identifier of the attached document where the field is located.
*/
attachment_uuid: string;
/**
* Page number of the attached document where the field is located.
*/
page: number;
};
export type FieldFont = "Times" | "Helvetica" | "Courier";
export type FieldFontType = "bold" | "italic" | "bold_italic";
/**
* Field display preferences.
*/
export type FieldPreferences = {
/**
* Font size of the field value in pixels.
*/
font_size?: number | null;
/**
* Font type of the field value.
*/
font_type?: string | null;
/**
* Font family of the field value.
*/
font?: string | null;
/**
* Font color of the field value.
*/
color?: string | null;
/**
* Field box background color.
*/
background?: string | null;
/**
* Horizontal alignment of the field text value.
*/
align?: string | null;
/**
* Vertical alignment of the field text value.
*/
valign?: string | null;
/**
* The data format for different field types.
*/
format?: string | null;
/**
* Price value of the payment field. Only for payment fields.
*/
price?: number | null;
/**
* Currency value of the payment field. Only for payment fields.
*/
currency?: string | null;
/**
* Indicates if the field is masked on the document.
*/
mask?: boolean | null;
/**
* An array of signature reasons to choose from.
*/
reasons?: Array<string> | null;
};
export type FieldType = "heading" | "text" | "signature" | "initials" | "date" | "number" | "image" | "checkbox" | "multiple" | "file" | "radio" | "select" | "cells" | "stamp" | "payment" | "phone" | "verification" | "kba" | "strikethrough";
export type FieldValign = "top" | "center" | "bottom";
export type FieldValue = {
/**
* Document template field name.
*/
field: string;
/**
* Pre-filled value of the field.
*/
value: string | number | boolean | Array<string | number | boolean> | null;
};
export type FormCompletedEvent = {
/**
* The event type.
*/
event_type: string;
/**
* The event timestamp.
*/
timestamp: string;
data: FormData;
};
/**
* Submitted form data object.
*/
export type FormData = {
/**
* The submitter's unique identifier.
*/
id: number;
/**
* The unique submission identifier.
*/
submission_id: number;
/**
* The submitter's email address.
*/
email: string | null;
/**
* The submitter's phone number, formatted according to the E.164 standard.
*/
phone: string | null;
/**
* The submitter's name.
*/
name: string | null;
/**
* The user agent string that provides information about the submitter's web browser.
*/
ua: string | null;
/**
* The submitter's IP address.
*/
ip: string | null;
/**
* The date and time when the signing request was sent to the submitter.
*/
sent_at: string | null;
/**
* The date and time when the submitter opened the signing form.
*/
opened_at: string | null;
/**
* The date and time when the submitter completed the signing form.
*/
completed_at: string | null;
/**
* The date and time when the submitter declined the signing form.
*/
declined_at: string | null;
/**
* The reason provided by the submitter for declining the signing form.
*/
decline_reason: string | null;
/**
* The date and time when the submitter was created.
*/
created_at: string;
/**
* The date and time when the submitter was last updated.
*/
updated_at: string;
/**
* Your application-specific unique string key to identify the submitter.
*/
external_id: string | null;
status: SubmitterStatus;
/**
* The role name of the submitter.
*/
role: string;
/**
* Metadata object with additional submitter information.
*/
metadata?: {
[key: string]: unknown;
};
/**
* Submitter preferences.
*/
preferences: {
[key: string]: unknown;
};
/**
* An array of the filled values submitted by the submitter.
*/
values: Array<FieldValue>;
/**
* An array of the completed documents.
*/
documents: Array<Document>;
/**
* Audit log file URL.
*/
audit_log_url: string | null;
/**
* The submission URL.
*/
submission_url: string;
template: TemplateSummary;
submission: FormSubmission;
};
export type FormDeclinedEvent = {
/**
* The event type.
*/
event_type: string;
/**
* The event timestamp.
*/
timestamp: string;
data: FormData;
};
export type FormStartedEvent = {
/**
* The event type.
*/
event_type: string;
/**
* The event timestamp.
*/
timestamp: string;
data: FormData;
};
/**
* Submission details of the form.
*/
export type FormSubmission = {
/**
* The submission unique identifier.
*/
id: number;
/**
* Audit log file URL.
*/
audit_log_url: string | null;
/**
* Combined PDF file URL with documents and Audit Log.
*/
combined_document_url: string | null;
status: SubmissionStatus;
/**
* The submission URL.
*/
url: string;
/**
* Dynamic document content variables of the submission.
*/
variables?: {
[key: string]: unknown;
};
/**
* The date and time when the submission was created.
*/
created_at: string;
};
export type FormViewedEvent = {
/**
* The event type.
*/
event_type: string;
/**
* The event timestamp.
*/
timestamp: string;
data: FormData;
};
export type MergeTemplateRequest = {
/**
* An array of template ids to merge into a new template.
*/
template_ids: Array<number>;
/**
* Template name. Existing name with (Merged) suffix will be used if not specified.
*/
name?: string;
/**
* The name of the folder in which the merged template should be placed.
*/
folder_name?: string;
/**
* Your application-specific unique string key to identify this template within your app.
*/
external_id?: string;
/**
* Set to `true` to make the template available via a shared link. This will allow anyone with the link to create a submission from this template.
*/
shared_link?: boolean;
/**
* An array of submitter role names to be used in the merged template.
*/
roles?: Array<string>;
};
export type PageSize = "Letter" | "Legal" | "Tabloid" | "Ledger" | "A0" | "A1" | "A2" | "A3" | "A4" | "A5" | "A6";
export type Pagination = {
/**
* Items count.
*/
count: number;
/**
* The ID of the item after which the next page starts.
*/
next: number | null;
/**
* The ID of the item before which the previous page ends.
*/
prev: number | null;
};
export type SchemaDocument = {
/**
* Unique identifier of the attached document.
*/
attachment_uuid: string;
/**
* Name of the attached document.
*/
name: string;
};
export type Submission = {
/**
* Submission unique ID number.
*/
id: number;
/**
* Name of the document submission.
*/
name: string | null;
/**
* Unique slug of the submission.
*/
slug: string;
/**
* The source of the submission.
*/
source: SubmissionSource;
/**
* The order of submitters.
*/
submitters_order: SubmittersOrder;
/**
* Audit log file URL.
*/
audit_log_url: string | null;
/**
* Combined PDF file URL with documents and Audit Log.
*/
combined_document_url: string | null;
/**
* The date and time when the submission was created.
*/
created_at: string;
/**
* The date and time when the submission was last updated.
*/
updated_at: string;
/**
* The date and time when the submission was archived.
*/
archived_at: string | null;
/**
* The date and time when the submission will expire and no longer be available for signing.
*/
expire_at: string | null;
/**
* Dynamic content variables object used in dynamic template documents.
*/
variables: {
[key: string]: unknown;
};
/**
* The list of submitters.
*/
submitters: Array<SubmissionSubmitter>;
template?: TemplateSummary;
created_by_user: User | null;
/**
* An array of events related to the submission.
*/
submission_events: Array<SubmissionEvent>;
/**
* An array of completed or signed documents of the submission.
*/
documents: Array<Document>;
/**
* The status of the submission.
*/
status: SubmissionStatus;
/**
* The date and time when the submission was completed.
*/
completed_at: string | null;
};
export type SubmissionArchivedEvent = {
/**
* The event type.
*/
event_type: string;
/**
* The event timestamp.
*/
timestamp: string;
data: SubmissionArchiveResult;
};
export type SubmissionArchiveResult = {
/**
* Submission unique ID number.
*/
id: number;
/**
* Date and time when the submission was archived.
*/
archived_at: string | null;
};
export type SubmissionCompletedEvent = {
/**
* The event type.
*/
event_type: string;
/**
* The event timestamp.
*/
timestamp: string;
data: Submission;
};
export type SubmissionCreatedEvent = {
/**
* The event type.
*/
event_type: string;
/**
* The event timestamp.
*/
timestamp: string;
data: Submission;
};
export type SubmissionCreateOneoffResult = {
/**
* Submission unique ID number.
*/
id: number;
/**
* Submission name.
*/
name: string;
/**
* The list of submitters.
*/
submitters: Array<SubmitterCreateResult>;
/**
* The source of the submission.
*/
source: SubmissionSource;
/**
* The order of submitters.
*/
submitters_order: SubmittersOrder;
/**
* The status of the submission.
*/
status: SubmissionStatus;
/**
* The one-off submission document files.
*/
schema?: Array<SchemaDocument>;
/**
* List of fields to be filled in the one-off submission.
*/
fields?: Array<Field>;
/**
* The date and time when the submission will expire and no longer be available for signing.
*/
expire_at: string | null;
/**
* The date and time when the submission was created.
*/
created_at: string;
};
export type SubmissionDocuments = {
/**
* Submission unique ID number.
*/
id: number;
/**
* An array of completed or signed documents of the submission.
*/
documents: Array<Document>;
};
export type SubmissionEvent = {
/**
* Submission event unique ID number.
*/
id: number;
/**
* Unique identifier of the submitter that triggered the event.
*/
submitter_id: number;
/**
* Event type.
*/
event_type: SubmissionEventType;
/**
* Date and time when the event was triggered.
*/
event_timestamp: string;
/**
* Additional event details object.
*/
data?: {
[key: string]: unknown;
};
};
export type SubmissionEventType = "send_email" | "bounce_email" | "complaint_email" | "send_reminder_email" | "send_sms" | "send_2fa_sms" | "open_email" | "click_email" | "click_sms" | "phone_verified" | "start_form" | "start_verification" | "complete_verification" | "view_form" | "invite_party" | "complete_form" | "decline_form" | "api_complete_form";
export type SubmissionExpiredEvent = {
/**
* The event type.
*/
event_type: string;
/**
* The event timestamp.
*/
timestamp: string;
data: Submission;
};
export type SubmissionList = {
data: Array<SubmissionListItem>;
pagination: Pagination;
};
export type SubmissionListItem = {
/**
* Submission unique ID number.
*/
id: number;
/**
* Name of the document submission.
*/
name: string | null;
/**
* The source of the submission.
*/
source: SubmissionSource;
/**
* Unique slug of the submission.
*/
slug: string;
/**
* The status of the submission.
*/
status: SubmissionStatus;
/**
* The order of submitters.
*/
submitters_order: SubmittersOrder;
/**
* Audit log file URL.
*/
audit_log_url: string | null;
/**
* Combined PDF file URL with documents and Audit Log.
*/
combined_document_url: string | null;
/**
* The date and time when the submission was completed.
*/
completed_at: string | null;
/**
* The date and time when the submission was created.
*/
created_at: string;
/**
* The date and time when the submission was last updated.
*/
updated_at: string;
/**
* The date and time when the submission was archived.
*/
archived_at: string | null;
/**
* The date and time when the submission will expire and no longer be available for signing.
*/
expire_at: string | null;
/**
* Dynamic content variables object used in dynamic template documents.
*/
variables: {
[key: string]: unknown;
};
/**
* The list of submitters.
*/
submitters: Array<SubmitterSummary>;
template?: TemplateSummary;
created_by_user: User | null;
};
export type SubmissionSource = "invite" | "bulk" | "api" | "embed" | "link";
export type SubmissionStatus = "completed" | "declined" | "expired" | "pending";
export type SubmissionSubmitter = {
/**
* Submitter unique ID number.
*/
id: number;
/**
* Submission unique ID number.
*/
submission_id: number;
/**
* Submitter UUID.
*/
uuid: string;
/**
* The email address of the submitter.
*/
email: string | null;
/**
* Unique key to be used in the form signing link and embedded form.
*/
slug: string;
/**
* The date and time when the signing request was sent to the submitter.
*/
sent_at: string | null;
/**
* The date and time when the submitter opened the signing form.
*/
opened_at: string | null;
/**
* The date and time when the submitter completed the signing form.
*/
completed_at: string | null;
/**
* The date and time when the submitter declined the signing form.
*/
declined_at: string | null;
/**
* The date and time when the submitter was created.
*/
created_at: string;
/**
* The date and time when the submitter was last updated.
*/
updated_at: string;
/**
* The name of the submitter.
*/
name: string | null;
/**
* The phone number of the submitter.
*/
phone: string | null;
/**
* Your application-specific unique string key to identify this submitter within your app.
*/
external_id: string | null;
/**
* The status of signing request for the submitter.
*/
status: SubmitterStatus;
/**
* An array of pre-filled values for the submitter.
*/
values: Array<FieldValue>;
/**
* An array of completed or signed documents by the submitter.
*/
documents: Array<Document>;
/**
* The role of the submitter in the signing process.
*/
role: string;
/**
* Metadata object with additional submitter information.
*/
metadata: {
[key: string]: unknown;
};
/**
* Submitter preferences.
*/
preferences: {
[key: string]: unknown;
};
};
export type SubmissionUpdateResult = {
/**
* Submission unique ID number.
*/
id: number;
/**
* Name of the document submission.
*/
name: string | null;
/**
* Unique slug of the submission.
*/
slug: string;
/**
* The source of the submission.
*/
source: SubmissionSource;
/**
* The order of submitters.
*/
submitters_order: SubmittersOrder;
/**
* Audit log file URL.
*/
audit_log_url: string | null;
/**
* Combined PDF file URL with documents and Audit Log.
*/
combined_document_url: string | null;
/**
* The date and time when the submission was created.
*/
created_at: string;
/**
* The date and time when the submission was last updated.
*/
updated_at: string;
/**
* The date and time when the submission was archived.
*/
archived_at: string | null;
/**
* The date and time when the submission will expire and no longer be available for signing.
*/
expire_at: string | null;
/**
* Dynamic content variables object used in dynamic template documents.
*/
variables: {
[key: string]: unknown;
};
/**
* The list of submitters.
*/
submitters: Array<SubmissionSubmitter>;
template?: TemplateSummary;
created_by_user: User | null;
/**
* An array of completed or signed documents of the submission.
*/
documents: Array<Document>;
/**
* The status of the submission.
*/
status: SubmissionStatus;
/**
* The date and time when the submission was completed.
*/
completed_at: string | null;
};
export type Submitter = {
/**
* Submitter unique ID number.
*/
id: number;
/**
* Submission unique ID number.
*/
submission_id: number;
/**
* Submitter UUID.
*/
uuid: string;
/**
* The email address of the submitter.
*/
email: string | null;
/**
* Unique key to be used in the form signing link and embedded form.
*/
slug: string;
/**
* The date and time when the signing request was sent to the submitter.
*/
sent_at: string | null;
/**
* The date and time when the submitter opened the signing form.
*/
opened_at: string | null;
/**
* The date and time when the submitter completed the signing form.
*/
completed_at: string | null;
/**
* The date and time when the submitter declined the signing form.
*/
declined_at: string | null;
/**
* The date and time when the submitter was created.
*/
created_at: string;
/**
* The date and time when the submitter was last updated.
*/
updated_at: string;
/**
* The name of the submitter.
*/
name: string | null;
/**
* The phone number of the submitter.
*/
phone: string | null;
/**
* The status of signing request for the submitter.
*/
status: SubmitterStatus;
/**
* Your application-specific unique string key to identify this submitter within your app.
*/
external_id: string | null;
/**
* Metadata object with additional submitter information.
*/
metadata: {
[key: string]: unknown;
};
/**
* Submitter preferences.
*/
preferences: {
[key: string]: unknown;
};
template: SubmitterTemplate | null;
/**
* An array of events related to the submission.
*/
submission_events: Array<SubmissionEvent>;
/**
* An array of pre-filled values for the submitter.
*/
values: Array<FieldValue>;
/**
* An array of completed or signed documents by the submitter.
*/
documents: Array<Document>;
/**
* The role of the submitter in the signing process.
*/
role: string;
};
export type SubmitterCreateResult = {
/**
* Submitter unique ID number.
*/
id: number;
/**
* Submission unique ID number.
*/
submission_id: number;
/**
* Submitter UUID.
*/
uuid: string;
/**
* The email address of the submitter.
*/
email: string | null;
/**
* Unique key to be used in the form signing link and embedded form.
*/
slug: string;
/**
* The status of signing request for the submitter.
*/
status: SubmitterStatus;
/**
* An array of pre-filled values for the submitter.
*/
values: Array<FieldValue>;
/**
* Metadata object with additional submitter information.
*/
metadata: {
[key: string]: unknown;
};
/**
* The date and time when the signing request was sent to the submitter.
*/
sent_at: string | null;
/**
* The date and time when the submitter opened the signing form.
*/
opened_at: string | null;
/**
* The date and time when the submitter completed the signing form.
*/
completed_at: string | null;
/**
* The date and time when the submitter declined the signing form.
*/
declined_at: string | null;
/**
* The date and time when the submitter was created.
*/
created_at: string;
/**
* The date and time when the submitter was last updated.
*/
updated_at: string;
/**
* The name of the submitter.
*/
name: string | null;
/**
* The phone number of the submitter.
*/
phone: string | null;
/**
* Your application-specific unique string key to identify this submitter within your app.
*/
external_id: string | null;
/**
* Submitter preferences.
*/
preferences: {
[