model

package
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 12, 2023 License: BSD-3-Clause Imports: 3 Imported by: 17

Documentation

Overview

Package model provides definitions for all input and output parameters types found in DocuSign's OpenAPI (swagger) file.

Api documentation may be found at: https://developers.docusign.com/docs/esign-rest-api/reference

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIRequestLog

type APIRequestLog struct {
	// The UTC DateTime when the item was created.
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// The API endpoint that was called.
	Description string `json:"description,omitempty"`
	// The ID of the log entry.
	RequestLogID string `json:"requestLogId,omitempty"`
	// The status of the API request.
	Status string `json:"status,omitempty"`
}

APIRequestLog contains API request log information.

type APIRequestLogsResult

type APIRequestLogsResult struct {
	// Reserved: TBD
	APIRequestLogs []APIRequestLog `json:"apiRequestLogs,omitempty"`
}

APIRequestLogsResult contains information about multiple API request logs.

type AccessCodeFormat

type AccessCodeFormat struct {
	// Boolean specifying whether this format configuration is required.
	FormatRequired Bool `json:"formatRequired,omitempty"`
	// Metadata indicating whether the `formatRequired` property is editable.
	FormatRequiredMetadata *SettingsMetadata `json:"formatRequiredMetadata,omitempty"`
	// Boolean specifying whether alphabetical characters are required in the access code string.
	LetterRequired Bool `json:"letterRequired,omitempty"`
	// Metadata indicating whether the `letterRequired` property is editable.
	LetterRequiredMetadata *SettingsMetadata `json:"letterRequiredMetadata,omitempty"`
	// Minimum length of the access code string.
	MinimumLength string `json:"minimumLength,omitempty"`
	// Metadata indicating whether the `minimumLength` property is editable.
	MinimumLengthMetadata *SettingsMetadata `json:"minimumLengthMetadata,omitempty"`
	// Boolean specifying whether numerical characters (0-9) are required in the access code string.
	NumberRequired Bool `json:"numberRequired,omitempty"`
	// Metadata indicating whether the `numberRequired` property is editable.
	NumberRequiredMetadata *SettingsMetadata `json:"numberRequiredMetadata,omitempty"`
	// Boolean specifying whether special characters are required in the access code string. The string cannot contain the special characters '<', '>', '&', or '#'.
	SpecialCharacterRequired Bool `json:"specialCharacterRequired,omitempty"`
	// Metadata indicating whether the `specialCharacterRequired` property is editable.
	SpecialCharacterRequiredMetadata *SettingsMetadata `json:"specialCharacterRequiredMetadata,omitempty"`
}

AccessCodeFormat object specifying the format of the string provided to a recipient in order to access an envelope.

type AccountAddress

type AccountAddress struct {
	// The first line of the address. Maximum length: 100 characters.
	Address1 string `json:"address1,omitempty"`
	// The second line of the address. Maximum length: 100 characters.
	Address2 string `json:"address2,omitempty"`
	// The city associated with the address. Maximum length: 40 characters.
	City string `json:"city,omitempty"`
	// The country associated with the address. Maximum length: 50 characters.
	Country string `json:"country,omitempty"`
	// The email address associated with the account.
	Email string `json:"email,omitempty"`
	// The fax number associated with the account.
	Fax string `json:"fax,omitempty"`
	// The first name of the user associated with the account. Maximum Length: 50 characters.
	FirstName string `json:"firstName,omitempty"`
	// The last name of the user associated with the account.
	LastName string `json:"lastName,omitempty"`
	// The phone number associated with the account.
	Phone string `json:"phone,omitempty"`
	// The postal code associated with the address. Maximum length: 20 characters.
	PostalCode string `json:"postalCode,omitempty"`
	// The state or province associated with the address. Maximum length: 40 characters.
	State string `json:"state,omitempty"`
	// An array of supported countries associated with the account.
	SupportedCountries []Country `json:"supportedCountries,omitempty"`
}

AccountAddress contains information about the address associated with the account.

type AccountBillingPlan

type AccountBillingPlan struct {
	// Reserved for DocuSign.
	AddOns []AddOn `json:"addOns,omitempty"`
	//
	AppStoreReceiptExpirationDate string `json:"appStoreReceiptExpirationDate,omitempty"`
	//
	AppStoreReceiptPurchaseDate string `json:"appStoreReceiptPurchaseDate,omitempty"`
	// Reserved for DocuSign.
	CanCancelRenewal string `json:"canCancelRenewal,omitempty"`
	// When **true,** specifies that you can upgrade the account through the API. For GET methods, you must set the `include_metadata` query parameter to **true** for this property to appear in the response.
	CanUpgrade Bool `json:"canUpgrade,omitempty"`
	// Specifies the ISO currency code to use for the account.
	CurrencyCode string `json:"currencyCode,omitempty"`
	//
	DowngradePlanInformation *DowngradePlanUpdateResponse `json:"downgradePlanInformation,omitempty"`
	// When **true,** customer support is provided as part of the account plan.
	EnableSupport Bool `json:"enableSupport,omitempty"`
	// The number of seats (users) included in the plan.
	IncludedSeats string `json:"includedSeats,omitempty"`
	// Reserved for DocuSign.
	IncrementalSeats string `json:"incrementalSeats,omitempty"`
	// When **true,** the account has been downgraded from a premium account type. Otherwise **false.**
	IsDowngrade Bool `json:"isDowngrade,omitempty"`
	//
	NotificationType string `json:"notificationType,omitempty"`
	//  Any other percentage discount for the plan.
	OtherDiscountPercent string `json:"otherDiscountPercent,omitempty"`
	// The payment cycle associated with the plan. Valid values:
	//
	// - `Monthly`
	// - `Annually`
	PaymentCycle string `json:"paymentCycle,omitempty"`
	//  The payment method used with the plan. Valid values: CreditCard, PurchaseOrder, Premium, or Freemium.
	PaymentMethod string `json:"paymentMethod,omitempty"`
	// The per-seat price associated with the plan.
	//
	// Example: `"456.0000"`
	PerSeatPrice string `json:"perSeatPrice,omitempty"`
	// Identifies the type of plan. Examples include:
	//
	// - `business`
	// - `corporate`
	// - `enterprise`
	// - `free`
	PlanClassification string `json:"planClassification,omitempty"`
	// A complex type that sets the feature sets for the account. It contains the following information (all string content):
	//
	// * currencyFeatureSetPrices - Contains the currencyCode and currencySymbol for the alternate currency values for envelopeFee, fixedFee, seatFee that are configured for this plan feature set.
	// * envelopeFee - An incremental envelope cost for plans with envelope overages (when isEnabled=true).
	// * featureSetId - A unique ID for the feature set.
	// * fixedFee - A one-time fee associated with the plan (when isEnabled=true).
	// * isActive - Specifies whether the feature set is actively set as part of the plan.
	// * isEnabled - Specifies whether the feature set is actively enabled as part of the plan.
	// * name - The name of the feature set.
	// * seatFee - An incremental seat cost for seat-based plans (when isEnabled=true).
	//
	PlanFeatureSets []FeatureSet `json:"planFeatureSets,omitempty"`
	// DocuSign's ID for the account plan.
	PlanID string `json:"planId,omitempty"`
	// The name of the Billing Plan.
	PlanName string `json:"planName,omitempty"`
	// The date that the Account started using the current plan.
	PlanStartDate string `json:"planStartDate,omitempty"`
	// The Product ID from the AppStore.
	ProductID string `json:"productId,omitempty"`
	//
	RenewalDate string `json:"renewalDate,omitempty"`
	// The renewal status for the account. Valid values are:
	//
	// * `auto`: The account automatically renews.
	// * `queued_for_close`: The account will be closed at the `billingPeriodEndDate`.
	// * `queued_for_downgrade`: The account will be downgraded at the `billingPeriodEndDate`.
	//
	// **Note:** For GET methods, you must set the `include_metadata` query parameter to **true** for this property to appear in the response.
	RenewalStatus string `json:"renewalStatus,omitempty"`
	// A complex type that returns information about any seat discounts. It contains the information `BeginSeatCount`, `EndSeatCount` and `SeatDiscountPercent`.
	SeatDiscounts []SeatDiscount `json:"seatDiscounts,omitempty"`
	//
	SubscriptionStartDate string `json:"subscriptionStartDate,omitempty"`
	// The support incident fee charged for each support incident.
	//
	// Example: `"$0.00"`
	SupportIncidentFee string `json:"supportIncidentFee,omitempty"`
	// The support plan fee charged for this plan.
	//
	// Example: `"$0.00"`
	SupportPlanFee string `json:"supportPlanFee,omitempty"`
	//
	TaxExemptID string `json:"taxExemptId,omitempty"`
}

AccountBillingPlan contains information about an account billing plan.

type AccountBillingPlanResponse

type AccountBillingPlanResponse struct {
	// The billing address for the account.
	BillingAddress *AccountAddress `json:"billingAddress,omitempty"`
	// When **true,** the credit card address information is the same as that returned as the billing address. If false, then the billing address is considered a billing contact address, and the credit card address can be different.
	BillingAddressIsCreditCardAddress Bool `json:"billingAddressIsCreditCardAddress,omitempty"`
	// An object that contains details about the billing plan.
	BillingPlan *AccountBillingPlan `json:"billingPlan,omitempty"`
	// A complex type that has information about the credit card used to pay for this account.
	CreditCardInformation *CreditCardInformation `json:"creditCardInformation,omitempty"`
	// Information about the bank that processes direct debits for the payment plan.
	DirectDebitProcessorInformation *DirectDebitProcessorInformation `json:"directDebitProcessorInformation,omitempty"`
	//
	DowngradePlanInformation *DowngradePlanUpdateResponse `json:"downgradePlanInformation,omitempty"`
	//
	DowngradeRequestInformation *DowngradeRequestInformation `json:"downgradeRequestInformation,omitempty"`
	//
	EntityInformation *BillingEntityInformationResponse `json:"entityInformation,omitempty"`
	// The payment method used for the billing plan. Valid values are:
	//
	// - `NotSupported`
	// - `CreditCard`
	// - `PurchaseOrder`
	// - `Premium`
	// - `Freemium`
	// - `FreeTrial`
	// - `AppStore`
	// - `DigitalExternal`
	// - `DirectDebit`
	PaymentMethod string `json:"paymentMethod,omitempty"`
	// Information about the entity that processes payments for the billing plan.
	PaymentProcessorInformation *PaymentProcessorInformation `json:"paymentProcessorInformation,omitempty"`
	// A complex type that contains properties for entering referral and discount information.
	ReferralInformation *ReferralInformation `json:"referralInformation,omitempty"`
	// A list of billing plans that the current billing plan can be rolled into.
	SuccessorPlans []BillingPlan `json:"successorPlans,omitempty"`
	//
	TaxExemptID string `json:"taxExemptId,omitempty"`
}

AccountBillingPlanResponse defines an account billing plan response object.

type AccountIdentityInputOption added in v0.10.0

type AccountIdentityInputOption struct {
	//
	IsRequired bool `json:"isRequired,omitempty"`
	//
	OptionName string `json:"optionName,omitempty"`
	//
	ValueType string `json:"valueType,omitempty"`
}

AccountIdentityInputOption not described in definition file

type AccountIdentityVerificationResponse

type AccountIdentityVerificationResponse struct {
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification []AccountIdentityVerificationWorkflow `json:"identityVerification,omitempty"`
}

AccountIdentityVerificationResponse not described in definition file

type AccountIdentityVerificationStep

type AccountIdentityVerificationStep struct {
	// The name of the Identity Verification workflow step.
	Name string `json:"name,omitempty"`
	// Reserved for DocuSign.
	Type string `json:"type,omitempty"`
}

AccountIdentityVerificationStep information about a specific step in an Identity Verification workflow.

type AccountIdentityVerificationWorkflow

type AccountIdentityVerificationWorkflow struct {
	// Text describing the purpose of the Identity Verification workflow.
	DefaultDescription string `json:"defaultDescription,omitempty"`
	// The name of the Identity Verification workflow.
	DefaultName string `json:"defaultName,omitempty"`
	//
	InputOptions []AccountIdentityInputOption `json:"inputOptions,omitempty"`
	// The signature provider associated with the Identity Verification workflow.
	SignatureProvider *AccountSignatureProvider `json:"signatureProvider,omitempty"`
	// Workflow unique ID</br>This is the ID you must specify when setting ID Verification in an envelope using the `identityVerification`
	// [core recipient parameter](/docs/esign-rest-api/reference/envelopes/enveloperecipients/#core-recipient-parameters)
	WorkflowID string `json:"workflowId,omitempty"`
	// Reserved for DocuSign.
	WorkflowResourceKey string `json:"workflowResourceKey,omitempty"`
}

AccountIdentityVerificationWorkflow specifies an Identity Verification workflow.

type AccountInformation

type AccountInformation struct {
	// The GUID associated with the account ID.
	AccountIDGUID string `json:"accountIdGuid,omitempty"`
	// The name of the current account.
	AccountName string `json:"accountName,omitempty"`
	// The list of
	// account settings accountsettings
	// that determine
	// the features available for the account.
	// Note that some features are determined
	// by the plan used to create the account and cannot be overridden.
	//
	//
	AccountSettings *AccountSettingsInformation `json:"accountSettings,omitempty"`
	// When **true,** the transaction rooms feature exposed through the Workspaces API is enabled.
	AllowTransactionRooms Bool `json:"allowTransactionRooms,omitempty"`
	// Number of days remaining in the current billing period.
	BillingPeriodDaysRemaining string `json:"billingPeriodDaysRemaining,omitempty"`
	// The billing period end date in UTC timedate format.
	BillingPeriodEndDate string `json:"billingPeriodEndDate,omitempty"`
	// The number of envelopes that can be sent in the current billing period (can be unlimited).
	BillingPeriodEnvelopesAllowed string `json:"billingPeriodEnvelopesAllowed,omitempty"`
	// The number of envelopes that have been sent in the current billing period.
	BillingPeriodEnvelopesSent string `json:"billingPeriodEnvelopesSent,omitempty"`
	// The billing period start date in UTC timedate format.
	BillingPeriodStartDate string `json:"billingPeriodStartDate,omitempty"`
	// Reserved for DocuSign.
	//
	BillingProfile string `json:"billingProfile,omitempty"`
	// A list of brands.
	Brands *BrandsResponse `json:"brands,omitempty"`
	// When **true,** specifies that you can upgrade the account through the API. For GET methods, you must set the `include_metadata` query parameter to **true** for this property to appear in the response.
	CanUpgrade Bool `json:"canUpgrade,omitempty"`
	//
	ConnectPermission string `json:"connectPermission,omitempty"`
	// The creation date of the account in UTC timedate format.
	CreatedDate string `json:"createdDate,omitempty"`
	// Specifies the ISO currency code for the account.
	CurrencyCode string `json:"currencyCode,omitempty"`
	// ID of the plan used to create this account.
	CurrentPlanID string `json:"currentPlanId,omitempty"`
	//
	DisplayApplianceStartURL string `json:"displayApplianceStartUrl,omitempty"`
	//
	DisplayApplianceURL string `json:"displayApplianceUrl,omitempty"`
	// The code that identifies the billing plan groups and plans for the new account.
	DistributorCode string `json:"distributorCode,omitempty"`
	// URL of the landing page used to create the account.
	DocuSignLandingURL string `json:"docuSignLandingUrl,omitempty"`
	//
	DssValues map[string]string `json:"dssValues,omitempty"`
	// When **true,** the ability to send envelopes is blocked. When **false,** envelopes can be sent.
	EnvelopeSendingBlocked Bool `json:"envelopeSendingBlocked,omitempty"`
	// The price of sending an envelope, represented in the account's local currency.
	EnvelopeUnitPrice string `json:"envelopeUnitPrice,omitempty"`
	// The Account ID displayed on the user's Account page.
	ExternalAccountID string `json:"externalAccountId,omitempty"`
	//  A complex element that contains up to four Question/Answer pairs for forgotten password information for a user.
	ForgottenPasswordQuestionsCount string `json:"forgottenPasswordQuestionsCount,omitempty"`
	// When **true,** the account has been downgraded from a premium account type. Otherwise **false.**
	IsDowngrade Bool `json:"isDowngrade,omitempty"`
	// The payment method used for the billing plan. Valid values are:
	//
	// - `NotSupported`
	// - `CreditCard`
	// - `PurchaseOrder`
	// - `Premium`
	// - `Freemium`
	// - `FreeTrial`
	// - `AppStore`
	// - `DigitalExternal`
	// - `DirectDebit`
	PaymentMethod string `json:"paymentMethod,omitempty"`
	// Identifies the type of plan. Examples include:
	//
	// - `business`
	// - `corporate`
	// - `enterprise`
	// - `free`
	PlanClassification string `json:"planClassification,omitempty"`
	// The date that the current plan will end.
	PlanEndDate string `json:"planEndDate,omitempty"`
	// The name of the Billing Plan.
	PlanName string `json:"planName,omitempty"`
	// The date that the Account started using the current plan.
	PlanStartDate string `json:"planStartDate,omitempty"`
	//
	RecipientDomains []RecipientDomain `json:"recipientDomains,omitempty"`
	// The number of active users the account can have at one time.
	SeatsAllowed string `json:"seatsAllowed,omitempty"`
	// The number of users currently active on the account.
	SeatsInUse string `json:"seatsInUse,omitempty"`
	// The status of the account content per (Title 21 CFR Part 11)[https://www.fda.gov/regulatory-information/search-fda-guidance-documents/part-11-electronic-records-electronic-signatures-scope-and-application]. This regulation defines the criteria under which electronic records and electronic signatures are considered trustworthy.
	Status21CFRPart11 string `json:"status21CFRPart11,omitempty"`
	// The date on which the account was suspended.
	SuspensionDate string `json:"suspensionDate,omitempty"`
	// Indicates whether the account is currently suspended.
	SuspensionStatus string `json:"suspensionStatus,omitempty"`
	//
	UseDisplayAppliance bool `json:"useDisplayAppliance,omitempty"`
}

AccountInformation contains account Information.

type AccountMinimumPasswordLength

type AccountMinimumPasswordLength struct {
	// The maximum number of entry characters supported by the custom tab.
	MaximumLength string `json:"maximumLength,omitempty"`
	// Minimum length of the access code string.
	MinimumLength string `json:"minimumLength,omitempty"`
}

AccountMinimumPasswordLength not described in definition file

type AccountNotification

type AccountNotification struct {
	// A complex element that specifies the expiration settings for the envelope.
	Expirations *Expirations `json:"expirations,omitempty"`
	// A complex element that specifies reminder settings for the envelope.
	Reminders *Reminders `json:"reminders,omitempty"`
	// When **true,** the user can override envelope expirations.
	UserOverrideEnabled Bool `json:"userOverrideEnabled,omitempty"`
}

AccountNotification is a complex element that specifies notifications (expirations and reminders) for the envelope.

type AccountPasswordExpirePasswordDays

type AccountPasswordExpirePasswordDays struct {
	//
	MaximumDays string `json:"maximumDays,omitempty"`
	//
	MinimumDays string `json:"minimumDays,omitempty"`
}

AccountPasswordExpirePasswordDays not described in definition file

type AccountPasswordLockoutDurationMinutes

type AccountPasswordLockoutDurationMinutes struct {
	//
	MaximumMinutes string `json:"maximumMinutes,omitempty"`
	//
	MinimumMinutes string `json:"minimumMinutes,omitempty"`
}

AccountPasswordLockoutDurationMinutes not described in definition file

type AccountPasswordLockoutDurationType

type AccountPasswordLockoutDurationType struct {
	// An array of option strings supported by this setting.
	Options []string `json:"options,omitempty"`
}

AccountPasswordLockoutDurationType not described in definition file

type AccountPasswordMinimumPasswordAgeDays

type AccountPasswordMinimumPasswordAgeDays struct {
	//
	MaximumAge string `json:"maximumAge,omitempty"`
	//
	MinimumAge string `json:"minimumAge,omitempty"`
}

AccountPasswordMinimumPasswordAgeDays not described in definition file

type AccountPasswordQuestionsRequired

type AccountPasswordQuestionsRequired struct {
	// The maximum number of password reset questions allowed for the account. This number must be between `0` and `4`, and equal to or greater than `minimumQuestions`.
	MaximumQuestions string `json:"maximumQuestions,omitempty"`
	// The minimum number of password reset questions allowed for the account. This number must be between `0` and `4`, and equal to or less than `maximumQuestions`.
	MinimumQuestions string `json:"minimumQuestions,omitempty"`
}

AccountPasswordQuestionsRequired information about the number of password questions required (0 to 4) to confirm a user's identity when a user needs to reset their password.

type AccountPasswordRules

type AccountPasswordRules struct {
	// When **true,** passwords expire. The default value is `false`.
	ExpirePassword Bool `json:"expirePassword,omitempty"`
	// The number of days before passwords expire. To use this property, the `expirePassword` property must be set to **true.**
	ExpirePasswordDays string `json:"expirePasswordDays,omitempty"`
	// Metadata that indicates whether the `expirePasswordDays` property is editable.
	//
	ExpirePasswordDaysMetadata *AccountPasswordExpirePasswordDays `json:"expirePasswordDaysMetadata,omitempty"`
	// The number of minutes a user is locked out of the system after three failed login attempts. The default value is `2`.
	LockoutDurationMinutes string `json:"lockoutDurationMinutes,omitempty"`
	// Metadata that indicates whether the `lockoutDurationMinutes` property is editable.
	//
	LockoutDurationMinutesMetadata *AccountPasswordLockoutDurationMinutes `json:"lockoutDurationMinutesMetadata,omitempty"`
	// The interval associated with the user lockout after a failed login attempt.
	//
	// Possible values are:
	//
	// - `minutes` (default)
	// - `hours`
	// - `days`
	LockoutDurationType string `json:"lockoutDurationType,omitempty"`
	// Metadata that indicates whether the `lockoutDurationType` property is editable.
	//
	LockoutDurationTypeMetadata *AccountPasswordLockoutDurationType `json:"lockoutDurationTypeMetadata,omitempty"`
	// The minimum number of days after a password is set before it can be changed. This value can be `0` or more days. The default value is `0`.
	MinimumPasswordAgeDays string `json:"minimumPasswordAgeDays,omitempty"`
	// Metadata that indicates whether the `minimumPasswordAgeDays` property is editable.
	//
	MinimumPasswordAgeDaysMetadata *AccountPasswordMinimumPasswordAgeDays `json:"minimumPasswordAgeDaysMetadata,omitempty"`
	// The minimum number of characters in the password. This value must be a number between `6` and `15`. The default value is `6`.
	MinimumPasswordLength string `json:"minimumPasswordLength,omitempty"`
	// Metadata that indicates whether the `minimumPasswordLength` property is editable.
	//
	MinimumPasswordLengthMetadata *AccountMinimumPasswordLength `json:"minimumPasswordLengthMetadata,omitempty"`
	// When **true,** passwords must include a digit. The default value is `false`.
	PasswordIncludeDigit Bool `json:"passwordIncludeDigit,omitempty"`
	// When **true,** passwords must include either a digit or a special character. The default value is `false`.
	//
	// **Note:** Passwords cannot include angle brackets (`<` `>`) or spaces.
	PasswordIncludeDigitOrSpecialCharacter Bool `json:"passwordIncludeDigitOrSpecialCharacter,omitempty"`
	// When **true,** passwords must include a lowercase letter. The default value is `false`.
	PasswordIncludeLowerCase Bool `json:"passwordIncludeLowerCase,omitempty"`
	// When **true,** passwords must include a special character. The default value is `false`.
	//
	// **Note:** Passwords cannot include angle brackets (`<` `>`) or spaces.
	PasswordIncludeSpecialCharacter Bool `json:"passwordIncludeSpecialCharacter,omitempty"`
	// When **true,** passwords must include an uppercase letter. The default value is `false`.
	PasswordIncludeUpperCase Bool `json:"passwordIncludeUpperCase,omitempty"`
	// The type of password strength. Possible values are:
	//
	// - `basic`: The minimum password length is 6 characters with no other password requirements.
	// - `medium`: The minimum password length is 7 characters. Passwords must also have one uppercase letter, one lowercase letter, and one number or special character.
	// - `strong`: The minimum password length is 9 characters. Passwords must also have one uppercase letter, one lowercase letter, one number, and one special character.
	// - `custom`: This option enables you to customize password requirements, including the following properties:
	//
	//    - `minimumPasswordLength`
	//    - `minimumPasswordAgeDays`
	//    - `passwordIncludeDigit`
	//    - `passwordIncludeDigitOrSpecialCharacter`
	//    - `passwordIncludeLowerCase`
	//    - `passwordIncludeSpecialCharacter`
	//    - `passwordIncludeUpperCase`
	//    - `questionsRequired`
	PasswordStrengthType string `json:"passwordStrengthType,omitempty"`
	// Metadata that indicates whether the `passwordStrengthType` property is editable.
	//
	PasswordStrengthTypeMetadata *AccountPasswordStrengthType `json:"passwordStrengthTypeMetadata,omitempty"`
	// The number of security questions required to confirm the user’s identity before the user can reset their password. The default value is `0`.
	QuestionsRequired string `json:"questionsRequired,omitempty"`
	// Metadata that indicates whether the `questionsRequired` property is editable.
	//
	QuestionsRequiredMetadata *AccountPasswordQuestionsRequired `json:"questionsRequiredMetadata,omitempty"`
}

AccountPasswordRules not described in definition file

type AccountPasswordStrengthType

type AccountPasswordStrengthType struct {
	// An array of option strings supported by this setting.
	Options []AccountPasswordStrengthTypeOption `json:"options,omitempty"`
}

AccountPasswordStrengthType not described in definition file

type AccountPasswordStrengthTypeOption

type AccountPasswordStrengthTypeOption struct {
	// Minimum length of the access code string.
	MinimumLength string `json:"minimumLength,omitempty"`
	//
	Name string `json:"name,omitempty"`
	// When **true,** passwords must include a digit. The default value is `false`.
	PasswordIncludeDigit Bool `json:"passwordIncludeDigit,omitempty"`
	// When **true,** passwords must include either a digit or a special character. The default value is `false`.
	//
	// **Note:** Passwords cannot include angle brackets (`<` `>`) or spaces.
	PasswordIncludeDigitOrSpecialCharacter Bool `json:"passwordIncludeDigitOrSpecialCharacter,omitempty"`
	// When **true,** passwords must include a lowercase letter. The default value is `false`.
	PasswordIncludeLowerCase Bool `json:"passwordIncludeLowerCase,omitempty"`
	// When **true,** passwords must include a special character. The default value is `false`.
	//
	// **Note:** Passwords cannot include angle brackets (`<` `>`) or spaces.
	PasswordIncludeSpecialCharacter Bool `json:"passwordIncludeSpecialCharacter,omitempty"`
	// When **true,** passwords must include an uppercase letter. The default value is `false`.
	PasswordIncludeUpperCase Bool `json:"passwordIncludeUpperCase,omitempty"`
}

AccountPasswordStrengthTypeOption not described in definition file

type AccountRoleSettings

type AccountRoleSettings struct {
	// When **true,** users have full administrative access to the account.
	AllowAccountManagement Bool `json:"allowAccountManagement,omitempty"`
	// Metadata that indicates whether the `allowAccountManagement` property is editable.
	//
	AllowAccountManagementMetadata *SettingsMetadata `json:"allowAccountManagementMetadata,omitempty"`
	// When **true,** users can manage documents by using the API.
	AllowAPIAccess Bool `json:"allowApiAccess,omitempty"`
	// Metadata that indicates whether the `allowApiAccess` property is editable.
	//
	AllowAPIAccessMetadata *SettingsMetadata `json:"allowApiAccessMetadata,omitempty"`
	// When **true,** users can access the account by using the eSignature API.
	AllowAPIAccessToAccount Bool `json:"allowApiAccessToAccount,omitempty"`
	// Metadata that indicates whether the `allowApiAccessToAccount` property is editable.
	//
	AllowAPIAccessToAccountMetadata *SettingsMetadata `json:"allowApiAccessToAccountMetadata,omitempty"`
	// When **true,** users can send envelopes on behalf of others.
	AllowAPISendingOnBehalfOfOthers Bool `json:"allowApiSendingOnBehalfOfOthers,omitempty"`
	// Metadata that indicates whether the `allowApiSendingOnBehalfOfOthers` property is editable.
	//
	AllowAPISendingOnBehalfOfOthersMetadata *SettingsMetadata `json:"allowApiSendingOnBehalfOfOthersMetadata,omitempty"`
	// When **true,** users may specify sequential signing recipients when they send documents by using the API.
	AllowAPISequentialSigning Bool `json:"allowApiSequentialSigning,omitempty"`
	// Metadata that indicates whether the `allowApiSequentialSigning` property is editable.
	//
	AllowAPISequentialSigningMetadata *SettingsMetadata `json:"allowApiSequentialSigningMetadata,omitempty"`
	//  When **true,** auto-tagging is enabled for the account.
	AllowAutoTagging string `json:"allowAutoTagging,omitempty"`
	// Metadata that indicates whether the `allowAutoTagging` property is editable.
	AllowAutoTaggingMetadata *SettingsMetadata `json:"allowAutoTaggingMetadata,omitempty"`
	// When **true,** bulk sending is enabled for users.
	AllowBulkSending Bool `json:"allowBulkSending,omitempty"`
	// Metadata that indicates whether the `allowBulkSending` property is editable.
	//
	AllowBulkSendingMetadata *SettingsMetadata `json:"allowBulkSendingMetadata,omitempty"`
	// When **true,** the DocuSign Desktop Client is enabled for users.
	//
	AllowDocuSignDesktopClient Bool `json:"allowDocuSignDesktopClient,omitempty"`
	// Metadata that indicates whether the `allowDocuSignDesktopClient` property is editable.
	//
	AllowDocuSignDesktopClientMetadata *SettingsMetadata `json:"allowDocuSignDesktopClientMetadata,omitempty"`
	// When **true,** users can add electronic seal ([eSeal](https://support.docusign.com/en/guides/ndse-user-guide-apply-electronic-seals)) recipients.
	AllowESealRecipients Bool `json:"allowESealRecipients,omitempty"`
	// Metadata that indicates whether the `allowESealRecipients` property is editable.
	AllowESealRecipientsMetadata *SettingsMetadata `json:"allowESealRecipientsMetadata,omitempty"`
	// When **true,** users can send envelopes.
	AllowEnvelopeSending Bool `json:"allowEnvelopeSending,omitempty"`
	// Metadata that indicates whether the `allowEnvelopeSending` property is editable.
	//
	AllowEnvelopeSendingMetadata *SettingsMetadata `json:"allowEnvelopeSendingMetadata,omitempty"`
	// When **true,** PowerForm Administrators can access all of the PowerForm envelopes associated with the account.
	AllowPowerFormsAdminToAccessAllPowerFormEnvelopes Bool `json:"allowPowerFormsAdminToAccessAllPowerFormEnvelopes,omitempty"`
	// Metadata that indicates whether the `allowPowerFormsAdminToAccessAllPowerFormEnvelopes` property is editable.
	AllowPowerFormsAdminToAccessAllPowerFormEnvelopesMetadata *SettingsMetadata `json:"allowPowerFormsAdminToAccessAllPowerFormEnvelopesMetadata,omitempty"`
	// When **true,** senders can set the language of the email that is sent to recipients.
	AllowSendersToSetRecipientEmailLanguage Bool `json:"allowSendersToSetRecipientEmailLanguage,omitempty"`
	// Metadata that indicates whether the `allowSendersToSetRecipientEmailLanguage` property is editable.
	//
	AllowSendersToSetRecipientEmailLanguageMetadata *SettingsMetadata `json:"allowSendersToSetRecipientEmailLanguageMetadata,omitempty"`
	// When **true,** users can add requests for attachments from signers.
	AllowSignerAttachments Bool `json:"allowSignerAttachments,omitempty"`
	// Metadata that indicates whether the `allowSignerAttachments` property is editable.
	//
	AllowSignerAttachmentsMetadata *SettingsMetadata `json:"allowSignerAttachmentsMetadata,omitempty"`
	// When **true,** senders can include supplemental documents.
	AllowSupplementalDocuments Bool `json:"allowSupplementalDocuments,omitempty"`
	// Metadata that indicates whether the `allowSupplementalDocuments` property is editable.
	AllowSupplementalDocumentsMetadata *SettingsMetadata `json:"allowSupplementalDocumentsMetadata,omitempty"`
	// When **true,** the tagger palette is visible during the sending and correct flows and users can add tabs to documents.
	AllowTaggingInSendAndCorrect Bool `json:"allowTaggingInSendAndCorrect,omitempty"`
	// Metadata that indicates whether the `allowTaggingInSendAndCorrect` property is editable.
	//
	AllowTaggingInSendAndCorrectMetadata *SettingsMetadata `json:"allowTaggingInSendAndCorrectMetadata,omitempty"`
	// Reserved for DocuSign.
	AllowVaulting Bool `json:"allowVaulting,omitempty"`
	// Reserved for DocuSign.
	AllowVaultingMetadata *SettingsMetadata `json:"allowVaultingMetadata,omitempty"`
	// When **true,** users can override the default account setting that controls whether recipients can sign documents on paper. The option to overrride this setting occurs during the sending process on a per-envelope basis.
	AllowWetSigningOverride Bool `json:"allowWetSigningOverride,omitempty"`
	// Metadata that indicates whether the `allowWetSigningOverride` property is editable.
	//
	AllowWetSigningOverrideMetadata *SettingsMetadata `json:"allowWetSigningOverrideMetadata,omitempty"`
	// Specifies the level of access that users have to the account's address book. Valid values are:
	//
	// - `personal`
	// - `useShared`
	// - `usePersonalAndShared`
	// - `personalAndShared`
	//
	AllowedAddressBookAccess Bool `json:"allowedAddressBookAccess,omitempty"`
	// Metadata that indicates whether the `allowedAddressBookAccess` property is editable.
	//
	AllowedAddressBookAccessMetadata *SettingsMetadata `json:"allowedAddressBookAccessMetadata,omitempty"`
	//
	AllowedClickwrapsAccess string `json:"allowedClickwrapsAccess,omitempty"`
	//
	AllowedClickwrapsAccessMetadata *SettingsMetadata `json:"allowedClickwrapsAccessMetadata,omitempty"`
	// Specifies the level of access that users have to account templates. Valid values are:
	//
	// - `none`
	// - `use`
	// - `create`
	// - `share`
	AllowedTemplateAccess Bool `json:"allowedTemplateAccess,omitempty"`
	// Metadata that indicates whether the `allowedTemplateAccess` property is editable.
	//
	AllowedTemplateAccessMetadata *SettingsMetadata `json:"allowedTemplateAccessMetadata,omitempty"`
	// When **true,** users can be recipients of envelopes transferred to them by administrators of other accounts.
	AllowedToBeEnvelopeTransferRecipient Bool `json:"allowedToBeEnvelopeTransferRecipient,omitempty"`
	// Metadata that indicates whether the `allowedToBeEnvelopeTransferRecipient` property is editable.
	//
	AllowedToBeEnvelopeTransferRecipientMetadata *SettingsMetadata `json:"allowedToBeEnvelopeTransferRecipientMetadata,omitempty"`
	// Reserved for DocuSign.
	CanCreateWorkspaces Bool `json:"canCreateWorkspaces,omitempty"`
	// Reserved for DocuSign.
	CanCreateWorkspacesMetadata *SettingsMetadata `json:"canCreateWorkspacesMetadata,omitempty"`
	//
	CanSendEnvelopesViaSMS string `json:"canSendEnvelopesViaSMS,omitempty"`
	//
	CanSendEnvelopesViaSMSMetadata *SettingsMetadata `json:"canSendEnvelopesViaSMSMetadata,omitempty"`
	// When **true,** users cannot upload documents.
	DisableDocumentUpload Bool `json:"disableDocumentUpload,omitempty"`
	// Metadata that indicates whether the `disableDocumentUpload` property is editable.
	//
	DisableDocumentUploadMetadata *SettingsMetadata `json:"disableDocumentUploadMetadata,omitempty"`
	// When **true,** users can access the **Other Actions** menu.
	DisableOtherActions Bool `json:"disableOtherActions,omitempty"`
	// Metadata that indicates whether the `disableOtherActions` property is editable.
	//
	DisableOtherActionsMetadata *SettingsMetadata `json:"disableOtherActionsMetadata,omitempty"`
	// When **true,** API request logging is enabled.
	//
	// **Note:** Logging limits apply.
	EnableAPIRequestLogging Bool `json:"enableApiRequestLogging,omitempty"`
	// Metadata that indicates whether the `enableApiRequestLogging` property is editable.
	//
	EnableAPIRequestLoggingMetadata *SettingsMetadata `json:"enableApiRequestLoggingMetadata,omitempty"`
	//
	EnableKeyTermsSuggestionsByDocumentType string `json:"enableKeyTermsSuggestionsByDocumentType,omitempty"`
	//
	EnableKeyTermsSuggestionsByDocumentTypeMetadata *SettingsMetadata `json:"enableKeyTermsSuggestionsByDocumentTypeMetadata,omitempty"`
	// When **true,** senders are notified when recipients view the documents that they send.
	EnableRecipientViewingNotifications Bool `json:"enableRecipientViewingNotifications,omitempty"`
	// Metadata that indicates whether the `enableRecipientViewingNotifications` property is editable.
	//
	EnableRecipientViewingNotificationsMetadata *SettingsMetadata `json:"enableRecipientViewingNotificationsMetadata,omitempty"`
	// When **true,** the sequential signing user interface is enabled.
	EnableSequentialSigningInterface Bool `json:"enableSequentialSigningInterface,omitempty"`
	// Metadata that indicates whether the `enableSequentialSigningInterface` property is editable.
	//
	EnableSequentialSigningInterfaceMetadata *SettingsMetadata `json:"enableSequentialSigningInterfaceMetadata,omitempty"`
	// Reserved for DocuSign.
	EnableTransactionPointIntegration Bool `json:"enableTransactionPointIntegration,omitempty"`
	// Reserved for DocuSign.
	EnableTransactionPointIntegrationMetadata *SettingsMetadata `json:"enableTransactionPointIntegrationMetadata,omitempty"`
	// The PowerForms rights associated with the account permission profile. Valid values are:
	//
	// - `none`
	// - `user`
	// - `admin`
	//
	PowerFormRole string `json:"powerFormRole,omitempty"`
	// Metadata that indicates whether the `powerFormRole` property is editable.
	//
	PowerFormRoleMetadata *SettingsMetadata `json:"powerFormRoleMetadata,omitempty"`
	// When **true,** senders receive emails about completed, self-signed documents that contain links to the completed documents instead of PDF attachments.
	ReceiveCompletedSelfSignedDocumentsAsEmailLinks Bool `json:"receiveCompletedSelfSignedDocumentsAsEmailLinks,omitempty"`
	// Metadata that indicates whether the `receiveCompletedSelfSignedDocumentsAsEmailLinks` property is editable.
	//
	ReceiveCompletedSelfSignedDocumentsAsEmailLinksMetadata *SettingsMetadata `json:"receiveCompletedSelfSignedDocumentsAsEmailLinksMetadata,omitempty"`
	// Reserved for DocuSign.
	SigningUIVersionMetadata *SettingsMetadata `json:"signingUiVersionMetadata,omitempty"`
	// When **true,** senders can require recipients to accept supplemental documents.
	SupplementalDocumentsMustAccept Bool `json:"supplementalDocumentsMustAccept,omitempty"`
	// Metadata that indicates whether the `supplementalDocumentsMustAccept` property is editable.
	//
	SupplementalDocumentsMustAcceptMetadata *SettingsMetadata `json:"supplementalDocumentsMustAcceptMetadata,omitempty"`
	// When **true,** senders can require recipients to read supplemental documents.
	SupplementalDocumentsMustRead Bool `json:"supplementalDocumentsMustRead,omitempty"`
	// Metadata that indicates whether the `supplementalDocumentsMustRead` property is editable.
	//
	SupplementalDocumentsMustReadMetadata *SettingsMetadata `json:"supplementalDocumentsMustReadMetadata,omitempty"`
	// When **true,** users can require recipients to view supplemental documents.
	SupplementalDocumentsMustView Bool `json:"supplementalDocumentsMustView,omitempty"`
	// Metadata that indicates whether the `supplementalDocumentsMustView` property is editable.
	//
	SupplementalDocumentsMustViewMetadata *SettingsMetadata `json:"supplementalDocumentsMustViewMetadata,omitempty"`
	// Reserved for DocuSign.
	UseNewDocuSignExperienceInterface Bool `json:"useNewDocuSignExperienceInterface,omitempty"`
	// Reserved for DocuSign.
	UseNewDocuSignExperienceInterfaceMetadata *SettingsMetadata `json:"useNewDocuSignExperienceInterfaceMetadata,omitempty"`
	// Reserved for DocuSign.
	UseNewSendingInterface Bool `json:"useNewSendingInterface,omitempty"`
	// Reserved for DocuSign.
	UseNewSendingInterfaceMetadata *SettingsMetadata `json:"useNewSendingInterfaceMetadata,omitempty"`
	// Reserved for DocuSign.
	VaultingMode string `json:"vaultingMode,omitempty"`
	// Reserved for DocuSign.
	VaultingModeMetadata *SettingsMetadata `json:"vaultingModeMetadata,omitempty"`
	//
	WebForms string `json:"webForms,omitempty"`
	//
	WebFormsMetadata *SettingsMetadata `json:"webFormsMetadata,omitempty"`
}

AccountRoleSettings this object defines account permissions for users who are associated with the account permission profile.

type AccountSeals

type AccountSeals struct {
	// A list of electronic seals to apply to documents.
	Seals []SealIdentifier `json:"seals,omitempty"`
}

AccountSeals not described in definition file

type AccountSettingsInformation

type AccountSettingsInformation struct {
	//
	EnvelopeLimitsTotalDocumentSizeAllowedInMB string `json:"EnvelopeLimitsTotalDocumentSizeAllowedInMB,omitempty"`
	//
	EnvelopeLimitsTotalDocumentSizeAllowedInMBEnabled string `json:"EnvelopeLimitsTotalDocumentSizeAllowedInMBEnabled,omitempty"`
	//
	EnvelopeLimitsTotalDocumentSizeAllowedInMBEnabledMetadata *SettingsMetadata `json:"EnvelopeLimitsTotalDocumentSizeAllowedInMBEnabledMetadata,omitempty"`
	//
	EnvelopeLimitsTotalDocumentSizeAllowedInMBMetadata *SettingsMetadata `json:"EnvelopeLimitsTotalDocumentSizeAllowedInMBMetadata,omitempty"`
	// Format of the string provided to a recipient in order to access an envelope.
	AccessCodeFormat *AccessCodeFormat `json:"accessCodeFormat,omitempty"`
	// UTC date/time format for the account.
	AccountDateTimeFormat string `json:"accountDateTimeFormat,omitempty"`
	// Metadata that indicates whether the `accountDateTimeFormat` property is editable.
	AccountDateTimeFormatMetadata *SettingsMetadata `json:"accountDateTimeFormatMetadata,omitempty"`
	//
	AccountDefaultLanguage string `json:"accountDefaultLanguage,omitempty"`
	//
	AccountDefaultLanguageMetadata *SettingsMetadata `json:"accountDefaultLanguageMetadata,omitempty"`
	// The name on the account.
	AccountName string `json:"accountName,omitempty"`
	// Metadata that indicates whether the `accountName` property is editable.
	AccountNameMetadata *SettingsMetadata `json:"accountNameMetadata,omitempty"`
	// An object that specifies notifications (expirations and reminders) for the envelope.
	AccountNotification *AccountNotification `json:"accountNotification,omitempty"`
	// An object that defines the settings to use in the UI.
	AccountUISettings *AccountUISettings `json:"accountUISettings,omitempty"`
	// When **true,** [Signature Adoption Configuration](https://support.docusign.com/en/guides/ndse-admin-guide-signature-adopt-config) is enabled.
	//
	// **Note:** Only Admin users can change this setting.
	AdoptSigConfig Bool `json:"adoptSigConfig,omitempty"`
	// Metadata that indicates whether the `adoptSigConfig` property is editable.
	//
	AdoptSigConfigMetadata *SettingsMetadata `json:"adoptSigConfigMetadata,omitempty"`
	// When **true,** the Advanced Correction feature is enabled for this account.
	AdvancedCorrect Bool `json:"advancedCorrect,omitempty"`
	// Metadata that indicates whether the `advancedCorrect` property is editable.
	//
	AdvancedCorrectMetadata *SettingsMetadata `json:"advancedCorrectMetadata,omitempty"`
	// When **true,** the configured [Access Code Format](/docs/esign-rest-api/reference/accounts/accounts/get/#accessCodeFormat) page is enabled for account administrators.
	//
	// **Note:** Only Admin users can change this setting.
	AllowAccessCodeFormat Bool `json:"allowAccessCodeFormat,omitempty"`
	// Metadata that indicates whether the `allowAccessCodeFormat` property is editable.
	//
	AllowAccessCodeFormatMetadata *SettingsMetadata `json:"allowAccessCodeFormatMetadata,omitempty"`
	// When **true,** the account can be managed on a per-user basis.
	//
	// **Note:** Only Admin users can change this setting.
	AllowAccountManagementGranular Bool `json:"allowAccountManagementGranular,omitempty"`
	// Metadata that indicates whether the `allowAccountManagementGranular` property is editable.
	//
	AllowAccountManagementGranularMetadata *SettingsMetadata `json:"allowAccountManagementGranularMetadata,omitempty"`
	// Boolean that specifies whether member names can be changed in the account.
	AllowAccountMemberNameChange Bool `json:"allowAccountMemberNameChange,omitempty"`
	// Metadata that indicates whether the `allowAccountMemberNameChange` property is editable.
	//
	AllowAccountMemberNameChangeMetadata *SettingsMetadata `json:"allowAccountMemberNameChangeMetadata,omitempty"`
	// When **true,** [Conditional Routing](https://support.docusign.com/en/guides/ndse-user-guide-conditional-recipients) is enabled for the account as part of DocuSign's Advanced Recipient Routing feature.
	AllowAdvancedRecipientRoutingConditional Bool `json:"allowAdvancedRecipientRoutingConditional,omitempty"`
	// Metadata that indicates whether the ` allowAdvancedRecipientRoutingConditional` property is editable.
	AllowAdvancedRecipientRoutingConditionalMetadata *SettingsMetadata `json:"allowAdvancedRecipientRoutingConditionalMetadata,omitempty"`
	//   When **true,** an agent recipient can change the email addresses of recipients later in the signing order.
	//
	AllowAgentNameEmailEdit string `json:"allowAgentNameEmailEdit,omitempty"`
	// Metadata that indicates whether the `allowAgentNameEmailEdit` property is editable.
	//
	AllowAgentNameEmailEditMetadata *SettingsMetadata `json:"allowAgentNameEmailEditMetadata,omitempty"`
	//
	AllowAgreementActions string `json:"allowAgreementActions,omitempty"`
	// Metadata about the `allowAgreementActions` property.
	AllowAgreementActionsMetadata *SettingsMetadata `json:"allowAgreementActionsMetadata,omitempty"`
	//
	AllowAgreementOrchestrationWorkflows string `json:"allowAgreementOrchestrationWorkflows,omitempty"`
	//
	AllowAgreementOrchestrationWorkflowsMetadata *SettingsMetadata `json:"allowAgreementOrchestrationWorkflowsMetadata,omitempty"`
	//   When **true,** auto-navigation can be enabled for this account.
	//
	AllowAutoNavSettings string `json:"allowAutoNavSettings,omitempty"`
	// Metadata that indicates whether the `allowAutoNavSettings` property is editable.
	//
	AllowAutoNavSettingsMetadata *SettingsMetadata `json:"allowAutoNavSettingsMetadata,omitempty"`
	//  When **true,** auto-tagging is enabled for the account.
	AllowAutoTagging string `json:"allowAutoTagging,omitempty"`
	// Metadata that indicates whether the `allowAutoTagging` property is editable.
	AllowAutoTaggingMetadata *SettingsMetadata `json:"allowAutoTaggingMetadata,omitempty"`
	// When **true,** bulk send functionality is enabled for the account.
	//
	// **Note:** Only Admin users can change this setting.
	AllowBulkSend Bool `json:"allowBulkSend,omitempty"`
	// Metadata that indicates whether the `allowBulkSend` property is editable.
	//
	AllowBulkSendMetadata *SettingsMetadata `json:"allowBulkSendMetadata,omitempty"`
	// When **true,** indicates that the customer can withdraw their consent to the consumer disclosure when they decline to sign documents. If these recipients sign documents sent to them from your account in the future, they will be required to agree to the terms in the disclosure. The default value is **false.**
	// **Note:** Only Admin users can change this setting.
	AllowCDWithdraw Bool `json:"allowCDWithdraw,omitempty"`
	// Metadata that indicates whether the `allowCDWithdraw` property is editable.
	//
	AllowCDWithdrawMetadata *SettingsMetadata `json:"allowCDWithdrawMetadata,omitempty"`
	// Boolean that specifies whether a Connect configuration can use HTTP listeners.
	AllowConnectHTTPListenerConfigs Bool `json:"allowConnectHttpListenerConfigs,omitempty"`
	//
	AllowConnectOAuthUI string `json:"allowConnectOAuthUI,omitempty"`
	// Reserved for DocuSign.
	AllowConnectSendFinishLater string `json:"allowConnectSendFinishLater,omitempty"`
	// Metadata that indicates whether the `allowConnectSendFinishLater` property is editable.
	//
	AllowConnectSendFinishLaterMetadata *SettingsMetadata `json:"allowConnectSendFinishLaterMetadata,omitempty"`
	//
	AllowConnectUnifiedPayloadUI string `json:"allowConnectUnifiedPayloadUI,omitempty"`
	// When **true,**
	// the account has the ability to change the
	// [Consumer Disclosure](https://support.docusign.com/en/guides/ndse-admin-guide-legal-disclosure)
	// setting.
	//
	AllowConsumerDisclosureOverride Bool `json:"allowConsumerDisclosureOverride,omitempty"`
	// Metadata that indicates whether the `allowConsumerDisclosureOverride` property is editable.
	//
	AllowConsumerDisclosureOverrideMetadata *SettingsMetadata `json:"allowConsumerDisclosureOverrideMetadata,omitempty"`
	// When **true,** senders can download form data from the envelopes that they send.
	//
	// **Note:** Only Admin users can change this setting.
	//
	AllowDataDownload Bool `json:"allowDataDownload,omitempty"`
	// Metadata that indicates whether the `allowDataDownload` property is editable.
	//
	AllowDataDownloadMetadata *SettingsMetadata `json:"allowDataDownloadMetadata,omitempty"`
	// "true" if the account has permission to use the scheduled sending feature to send envelopes at a specified datetime in the future, "false" otherwise.
	AllowDelayedRouting string `json:"allowDelayedRouting,omitempty"`
	//
	AllowDelayedRoutingMetadata *SettingsMetadata `json:"allowDelayedRoutingMetadata,omitempty"`
	//
	AllowDelegatedSigning string `json:"allowDelegatedSigning,omitempty"`
	//
	AllowDelegatedSigningMetadata *SettingsMetadata `json:"allowDelegatedSigningMetadata,omitempty"`
	//
	AllowDocGenDocuments string `json:"allowDocGenDocuments,omitempty"`
	//
	AllowDocGenDocumentsMetadata *SettingsMetadata `json:"allowDocGenDocumentsMetadata,omitempty"`
	// Boolean that specifies whether disclosure documents can be included in envelopes.
	AllowDocumentDisclosures Bool `json:"allowDocumentDisclosures,omitempty"`
	// Metadata that indicates whether the `allowDocumentDisclosures` property is editable.
	//
	AllowDocumentDisclosuresMetadata *SettingsMetadata `json:"allowDocumentDisclosuresMetadata,omitempty"`
	// When **true,** the [Document Visibility](https://support.docusign.com/guides/ndse-user-guide-document-visibility) feature is enabled for the account.
	//
	AllowDocumentVisibility Bool `json:"allowDocumentVisibility,omitempty"`
	// Metadata that indicates whether the `allowDocumentVisibility` property is editable.
	//
	AllowDocumentVisibilityMetadata *SettingsMetadata `json:"allowDocumentVisibilityMetadata,omitempty"`
	// Boolean that specifies whether notifications can include the envelope's signed document.
	AllowDocumentsOnSignedEnvelopes Bool `json:"allowDocumentsOnSignedEnvelopes,omitempty"`
	// Metadata that indicates whether the `allowDocumentsOnSignedEnvelopes` property is editable.
	//
	AllowDocumentsOnSignedEnvelopesMetadata *SettingsMetadata `json:"allowDocumentsOnSignedEnvelopesMetadata,omitempty"`
	// When **true,**
	// [eHanko stamps](https://support.docusign.com/en/guides/ndse-user-guide-manage-your-stamps)
	// are enabled.
	//
	AllowEHankoStamps Bool `json:"allowEHankoStamps,omitempty"`
	// Metadata that indicates whether the `allowEHankoStamps` property is editable.
	//
	AllowEHankoStampsMetadata *SettingsMetadata `json:"allowEHankoStampsMetadata,omitempty"`
	// Specifies whether eNote eOriginal integration is enabled.
	//
	AllowENoteEOriginal string `json:"allowENoteEOriginal,omitempty"`
	// Metadata that indicates whether the `allowENoteEOriginal` property is editable.
	//
	AllowENoteEOriginalMetadata *SettingsMetadata `json:"allowENoteEOriginalMetadata,omitempty"`
	// When **true,** the envelope correction feature is enabled.
	//
	// **Note:** Only Admin users can change this setting.
	//
	AllowEnvelopeCorrect Bool `json:"allowEnvelopeCorrect,omitempty"`
	// Metadata that indicates whether the `allowEnvelopeCorrect` property is editable.
	//
	AllowEnvelopeCorrectMetadata *SettingsMetadata `json:"allowEnvelopeCorrectMetadata,omitempty"`
	// Specifies whether the account is able to
	// manage rules that [transfer ownership](https://support.docusign.com/en/guides/ndse-admin-guide-custody-transfer)
	// of envelopes within the same account.
	//
	//
	//
	//
	AllowEnvelopeCustodyTransfer string `json:"allowEnvelopeCustodyTransfer,omitempty"`
	// Metadata that indicates whether the `allowEnvelopeCustodyTransfer` property is editable.
	//
	AllowEnvelopeCustodyTransferMetadata *SettingsMetadata `json:"allowEnvelopeCustodyTransferMetadata,omitempty"`
	// Specifies whether
	// [envelope custom fields](https://support.docusign.com/en/guides/ndse-user-guide-manage-custom-fields)
	// are enabled.
	//
	AllowEnvelopeCustomFields string `json:"allowEnvelopeCustomFields,omitempty"`
	// Metadata that indicates whether the `allowEnvelopeCustomFields` property is editable.
	//
	AllowEnvelopeCustomFieldsMetadata *SettingsMetadata `json:"allowEnvelopeCustomFieldsMetadata,omitempty"`
	// When **true,** envelope publishing reporting is enabled.
	//
	// **Note:** Only Admin users can change this setting.
	//
	AllowEnvelopePublishReporting Bool `json:"allowEnvelopePublishReporting,omitempty"`
	// Metadata that indicates whether the `allowEnvelopePublishReporting` property is editable.
	//
	AllowEnvelopePublishReportingMetadata *SettingsMetadata `json:"allowEnvelopePublishReportingMetadata,omitempty"`
	// Specifies whether the account has access to reports.
	//
	AllowEnvelopeReporting string `json:"allowEnvelopeReporting,omitempty"`
	// Metadata that indicates whether the `allowEnvelopeReporting` property is editable.
	//
	AllowEnvelopeReportingMetadata *SettingsMetadata `json:"allowEnvelopeReportingMetadata,omitempty"`
	// When **true,** signers are required to use Express Digital Signatures.
	//
	// **Note:** Only Admin users can change this setting.
	//
	AllowExpressSignerCertificate Bool `json:"allowExpressSignerCertificate,omitempty"`
	// Metadata that indicates whether the `allowExpressSignerCertificate` property is editable.
	//
	AllowExpressSignerCertificateMetadata *SettingsMetadata `json:"allowExpressSignerCertificateMetadata,omitempty"`
	// If the account plan does not include calculated fields, this setting allows an account to use them.
	//
	//
	AllowExpression string `json:"allowExpression,omitempty"`
	// Metadata that indicates whether the `allowExpression` property is editable.
	//
	AllowExpressionMetadata *SettingsMetadata `json:"allowExpressionMetadata,omitempty"`
	// Boolean that specifies whether resource files can be used for extended sending.
	AllowExtendedSendingResourceFile Bool `json:"allowExtendedSendingResourceFile,omitempty"`
	// Metadata that indicates whether the `allowExtendedSendingResourceFile` property is editable.
	//
	AllowExtendedSendingResourceFileMetadata *SettingsMetadata `json:"allowExtendedSendingResourceFileMetadata,omitempty"`
	//
	AllowExternalLinkedAccounts string `json:"allowExternalLinkedAccounts,omitempty"`
	//
	AllowExternalLinkedAccountsMetadata *SettingsMetadata `json:"allowExternalLinkedAccountsMetadata,omitempty"`
	// When **true,** the account can
	// configure and use signature pads for their recipients.
	//
	// **Note:** Only Admin users can change this setting.
	//
	AllowExternalSignaturePad Bool `json:"allowExternalSignaturePad,omitempty"`
	// Metadata that indicates whether the `allowExternalSignaturePad` property is editable.
	//
	AllowExternalSignaturePadMetadata *SettingsMetadata `json:"allowExternalSignaturePadMetadata,omitempty"`
	//
	AllowIDVForEUQualifiedSignatures string `json:"allowIDVForEUQualifiedSignatures,omitempty"`
	//
	AllowIDVForEUQualifiedSignaturesMetadata *SettingsMetadata `json:"allowIDVForEUQualifiedSignaturesMetadata,omitempty"`
	// When **true,** IDV Level 1 is allowed. The default value is **false.**
	AllowIDVLevel1 Bool `json:"allowIDVLevel1,omitempty"`
	// Metadata that indicates whether the `allowIDVLevel1` property is editable.
	AllowIDVLevel1Metadata *SettingsMetadata `json:"allowIDVLevel1Metadata,omitempty"`
	//
	AllowIDVLevel2 string `json:"allowIDVLevel2,omitempty"`
	//
	AllowIDVLevel2Metadata *SettingsMetadata `json:"allowIDVLevel2Metadata,omitempty"`
	//
	AllowIDVLevel3 string `json:"allowIDVLevel3,omitempty"`
	//
	AllowIDVLevel3Metadata *SettingsMetadata `json:"allowIDVLevel3Metadata,omitempty"`
	//
	AllowIDVPlatform string `json:"allowIDVPlatform,omitempty"`
	// Metadata that indicates whether the `allowIDVPlatform` property is editable.
	AllowIDVPlatformMetadata *SettingsMetadata `json:"allowIDVPlatformMetadata,omitempty"`
	// When **true,** the account administrator can enable in-person signing.
	//
	// **Note:** Only SysAdmin users can change this setting.
	//
	//
	AllowInPerson Bool `json:"allowInPerson,omitempty"`
	// Account-level flag that determines the ability to perform In-Person Electronic Notary (IPEN) actions.
	//
	AllowInPersonElectronicNotary string `json:"allowInPersonElectronicNotary,omitempty"`
	// Metadata for the `allowInPersonElectronicNotary` flag.
	//
	AllowInPersonElectronicNotaryMetadata *SettingsMetadata `json:"allowInPersonElectronicNotaryMetadata,omitempty"`
	// Metadata that indicates whether the `allowInPerson` property is editable.
	//
	AllowInPersonMetadata *SettingsMetadata `json:"allowInPersonMetadata,omitempty"`
	// When **true,** [Managed Stamps](https://support.docusign.com/en/guides/ndse-admin-guide-managed-stamps) are enabled.
	AllowManagedStamps Bool `json:"allowManagedStamps,omitempty"`
	// Metadata that indicates whether the `allowManagedStamps` property is editable.
	//
	AllowManagedStampsMetadata *SettingsMetadata `json:"allowManagedStampsMetadata,omitempty"`
	//
	AllowManagingEnvelopesOnBehalfOfOthers string `json:"allowManagingEnvelopesOnBehalfOfOthers,omitempty"`
	//
	AllowManagingEnvelopesOnBehalfOfOthersMetadata *SettingsMetadata `json:"allowManagingEnvelopesOnBehalfOfOthersMetadata,omitempty"`
	// When **true,** the Document Markup feature is enabled.
	//
	// **Note:**  To use this feature, Document Markup must be enabled at both the account and envelope levels. Only Admin users can change this setting at the account level.
	//
	AllowMarkup Bool `json:"allowMarkup,omitempty"`
	// Metadata that indicates whether the `allowMarkup` property is editable.
	//
	AllowMarkupMetadata *SettingsMetadata `json:"allowMarkupMetadata,omitempty"`
	// When **true,** account users can set their own
	// [time zone settings](https://support.docusign.com/en/articles/How-do-I-modify-time-zone-settings-for-my-account).
	//
	// **Note:** Only Admin users can change this setting.
	//
	AllowMemberTimeZone Bool `json:"allowMemberTimeZone,omitempty"`
	// Metadata that indicates whether the `allowMemberTimeZone` property is editable.
	//
	AllowMemberTimeZoneMetadata *SettingsMetadata `json:"allowMemberTimeZoneMetadata,omitempty"`
	// When **true,** the account can use
	// [merge fields](https://support.docusign.com/en/guides/dfs-user-guide-merge-fields-user)
	// with DocuSign for Salesforce.
	//
	AllowMergeFields Bool `json:"allowMergeFields,omitempty"`
	// Metadata that indicates whether the `allowMergeFields` property is editable.
	//
	AllowMergeFieldsMetadata *SettingsMetadata `json:"allowMergeFieldsMetadata,omitempty"`
	// Specifies whether the account supports multiple brands.
	//
	AllowMultipleBrandProfiles string `json:"allowMultipleBrandProfiles,omitempty"`
	// Metadata that indicates whether the `allowMultipleBrandProfiles` property is editable.
	//
	AllowMultipleBrandProfilesMetadata *SettingsMetadata `json:"allowMultipleBrandProfilesMetadata,omitempty"`
	// When **true,** recipients can
	// upload multiple signer attachments with a single attachment.
	//
	// **Note:** Only Admin users can change this setting.
	AllowMultipleSignerAttachments Bool `json:"allowMultipleSignerAttachments,omitempty"`
	// Metadata that indicates whether the `allowMultipleSignerAttachments` property is editable.
	//
	AllowMultipleSignerAttachmentsMetadata *SettingsMetadata `json:"allowMultipleSignerAttachmentsMetadata,omitempty"`
	// Specifies whether users can use
	// international numbers
	// for phone authentication.
	//
	AllowNonUSPhoneAuth string `json:"allowNonUSPhoneAuth,omitempty"`
	// Metadata that indicates whether the `allowNonUSPhoneAuth` property is editable.
	//
	AllowNonUSPhoneAuthMetadata *SettingsMetadata `json:"allowNonUSPhoneAuthMetadata,omitempty"`
	//
	AllowOcrOfEnvelopeDocuments string `json:"allowOcrOfEnvelopeDocuments,omitempty"`
	//
	AllowOcrOfEnvelopeDocumentsMetadata *SettingsMetadata `json:"allowOcrOfEnvelopeDocumentsMetadata,omitempty"`
	// When **true,**
	// [offline signing](https://support.docusign.com/articles/Offline-access-with-the-DocuSign-Mobile-App-for-iOS-iPad-iPhone-iPod-Touch)
	// is enabled for the account.
	//
	// **Note:** Only Admin users can change this setting.
	AllowOfflineSigning Bool `json:"allowOfflineSigning,omitempty"`
	// Metadata that indicates whether the `allowOfflineSigning` property is editable.
	//
	AllowOfflineSigningMetadata *SettingsMetadata `json:"allowOfflineSigningMetadata,omitempty"`
	// When **true,** senders can use OpenTrust signer certificates.
	//
	// **Note:** Only Admin users can change this setting.
	AllowOpenTrustSignerCertificate Bool `json:"allowOpenTrustSignerCertificate,omitempty"`
	// Metadata that indicates whether the `allowOpenTrustSignerCertificate` property is editable.
	//
	AllowOpenTrustSignerCertificateMetadata *SettingsMetadata `json:"allowOpenTrustSignerCertificateMetadata,omitempty"`
	//
	AllowOrganizationDocusignMonitor string `json:"allowOrganizationDocusignMonitor,omitempty"`
	//
	AllowOrganizationDocusignMonitorMetadata *SettingsMetadata `json:"allowOrganizationDocusignMonitorMetadata,omitempty"`
	//
	AllowOrganizationDomainUserManagement string `json:"allowOrganizationDomainUserManagement,omitempty"`
	//
	AllowOrganizationDomainUserManagementMetadata *SettingsMetadata `json:"allowOrganizationDomainUserManagementMetadata,omitempty"`
	//
	AllowOrganizationSsoManagement string `json:"allowOrganizationSsoManagement,omitempty"`
	//
	AllowOrganizationSsoManagementMetadata *SettingsMetadata `json:"allowOrganizationSsoManagementMetadata,omitempty"`
	// Organization-level flag that determines the ability to perform In-Person Electronic Notary (IPEN) actions.
	//
	AllowOrganizationToUseInPersonElectronicNotary string `json:"allowOrganizationToUseInPersonElectronicNotary,omitempty"`
	// Metadata for the `allowOrganizationToUseInPersonElectronicNotary` flag.
	//
	AllowOrganizationToUseInPersonElectronicNotaryMetadata *SettingsMetadata `json:"allowOrganizationToUseInPersonElectronicNotaryMetadata,omitempty"`
	//
	AllowOrganizationToUseRemoteNotary string `json:"allowOrganizationToUseRemoteNotary,omitempty"`
	//
	AllowOrganizationToUseRemoteNotaryMetadata *SettingsMetadata `json:"allowOrganizationToUseRemoteNotaryMetadata,omitempty"`
	// Org level flag that determines the availability to perform Third Party Notary (3PN) actions.
	AllowOrganizationToUseThirdPartyElectronicNotary string `json:"allowOrganizationToUseThirdPartyElectronicNotary,omitempty"`
	//
	AllowOrganizationToUseThirdPartyElectronicNotaryMetadata *SettingsMetadata `json:"allowOrganizationToUseThirdPartyElectronicNotaryMetadata,omitempty"`
	// Boolean that specifies whether [DocuSign Admin](/docs/admin-api/) is enabled for the account.
	AllowOrganizations Bool `json:"allowOrganizations,omitempty"`
	// Metadata that indicates whether the `allowOrganizations` property is editable.
	//
	AllowOrganizationsMetadata *SettingsMetadata `json:"allowOrganizationsMetadata,omitempty"`
	//
	AllowParticipantRecipientType string `json:"allowParticipantRecipientType,omitempty"`
	//
	AllowParticipantRecipientTypeMetadata *SettingsMetadata `json:"allowParticipantRecipientTypeMetadata,omitempty"`
	// When **true,** payment processing is enabled for the account.
	//
	// **Note:** Only Admin users can change this setting.
	AllowPaymentProcessing Bool `json:"allowPaymentProcessing,omitempty"`
	// Metadata that indicates whether the `allowPaymentProcessing` property is editable.
	//
	AllowPaymentProcessingMetadata *SettingsMetadata `json:"allowPaymentProcessingMetadata,omitempty"`
	//
	AllowPerformanceAnalytics string `json:"allowPerformanceAnalytics,omitempty"`
	//
	AllowPerformanceAnalyticsMetadata *SettingsMetadata `json:"allowPerformanceAnalyticsMetadata,omitempty"`
	// Boolean that specifies whether users can override phone authentication.
	AllowPhoneAuthOverride Bool `json:"allowPhoneAuthOverride,omitempty"`
	// Metadata that indicates whether the `allowPhoneAuthOverride` property is editable.
	//
	AllowPhoneAuthOverrideMetadata *SettingsMetadata `json:"allowPhoneAuthOverrideMetadata,omitempty"`
	// Boolean that specifies whether phone authentication is enabled for the account.
	AllowPhoneAuthentication Bool `json:"allowPhoneAuthentication,omitempty"`
	// Metadata that indicates whether the `allowPhoneAuthentication` property is editable.
	//
	AllowPhoneAuthenticationMetadata *SettingsMetadata `json:"allowPhoneAuthenticationMetadata,omitempty"`
	// Reserved for DocuSign. This property returns the value **false** when listing account settings. This property is read-only.
	AllowPrivateSigningGroups string `json:"allowPrivateSigningGroups,omitempty"`
	// Metadata that indicates whether the `allowPrivateSigningGroups` property is editable.
	//
	AllowPrivateSigningGroupsMetadata *SettingsMetadata `json:"allowPrivateSigningGroupsMetadata,omitempty"`
	//
	AllowRecipientConnect string `json:"allowRecipientConnect,omitempty"`
	//
	AllowRecipientConnectMetadata *SettingsMetadata `json:"allowRecipientConnectMetadata,omitempty"`
	// When **true,**
	// an account administrator can to turn on reminders
	// and expiration defaults for the account.
	//
	// **Note:** Only Admin users can change this setting.
	//
	AllowReminders Bool `json:"allowReminders,omitempty"`
	// Metadata that indicates whether the `allowReminders` property is editable.
	//
	AllowRemindersMetadata *SettingsMetadata `json:"allowRemindersMetadata,omitempty"`
	//
	AllowRemoteNotary string `json:"allowRemoteNotary,omitempty"`
	//
	AllowRemoteNotaryMetadata *SettingsMetadata `json:"allowRemoteNotaryMetadata,omitempty"`
	// When **true,**
	// resource files can be uploaded in branding.
	//
	AllowResourceFileBranding Bool `json:"allowResourceFileBranding,omitempty"`
	// Metadata that indicates whether the `allowResourceFileBranding` property is editable.
	//
	AllowResourceFileBrandingMetadata *SettingsMetadata `json:"allowResourceFileBrandingMetadata,omitempty"`
	//
	AllowSMSDelivery string `json:"allowSMSDelivery,omitempty"`
	//
	AllowSMSDeliveryMetadata *SettingsMetadata `json:"allowSMSDeliveryMetadata,omitempty"`
	// When **true,**
	// account administrators can
	// specify that signers are
	// required to use SAFE-BioPharma digital signatures.
	//
	// **Note:** Only Admin users can change this setting.
	//
	AllowSafeBioPharmaSignerCertificate Bool `json:"allowSafeBioPharmaSignerCertificate,omitempty"`
	// Metadata that indicates whether the `allowSafeBioPharmaSignerCertificate` property is editable.
	//
	AllowSafeBioPharmaSignerCertificateMetadata *SettingsMetadata `json:"allowSafeBioPharmaSignerCertificateMetadata,omitempty"`
	// "true" if the account has permission to use the scheduled sending feature to send envelopes at a specified datetime in the future, "false" otherwise.
	AllowScheduledSending string `json:"allowScheduledSending,omitempty"`
	//
	AllowScheduledSendingMetadata *SettingsMetadata `json:"allowScheduledSendingMetadata,omitempty"`
	// Boolean that specifies whether a DocuSign Signature Appliance can be used with the account.
	AllowSecurityAppliance Bool `json:"allowSecurityAppliance,omitempty"`
	// Metadata that indicates whether the `allowSecurityAppliance` property is editable.
	//
	AllowSecurityApplianceMetadata *SettingsMetadata `json:"allowSecurityApplianceMetadata,omitempty"`
	// When **true,**
	// the account admin can enable the
	// Send to Certified Delivery
	// feature on the account.
	//
	AllowSendToCertifiedDelivery Bool `json:"allowSendToCertifiedDelivery,omitempty"`
	// Metadata that indicates whether the `allowSendToCertifiedDelivery` property is editable.
	//
	AllowSendToCertifiedDeliveryMetadata *SettingsMetadata `json:"allowSendToCertifiedDeliveryMetadata,omitempty"`
	// When **true,**
	// the account admin can enable the Send to Intermediary
	// feature on the account.
	//
	AllowSendToIntermediary Bool `json:"allowSendToIntermediary,omitempty"`
	// Metadata that indicates whether the `allowSendToIntermediary` property is editable.
	//
	AllowSendToIntermediaryMetadata *SettingsMetadata `json:"allowSendToIntermediaryMetadata,omitempty"`
	//
	AllowSendingEnvelopesOnBehalfOfOthers string `json:"allowSendingEnvelopesOnBehalfOfOthers,omitempty"`
	//
	AllowSendingEnvelopesOnBehalfOfOthersMetadata *SettingsMetadata `json:"allowSendingEnvelopesOnBehalfOfOthersMetadata,omitempty"`
	// When **true,**
	// the account can use templates.
	//
	AllowServerTemplates Bool `json:"allowServerTemplates,omitempty"`
	// Metadata that indicates whether the `allowServerTemplates` property is editable.
	//
	AllowServerTemplatesMetadata *SettingsMetadata `json:"allowServerTemplatesMetadata,omitempty"`
	//
	AllowSetEmbeddedRecipientStartURL string `json:"allowSetEmbeddedRecipientStartURL,omitempty"`
	//
	AllowSetEmbeddedRecipientStartURLMetadata *SettingsMetadata `json:"allowSetEmbeddedRecipientStartURLMetadata,omitempty"`
	// When **true,**
	// shared tabs are enabled for the account.
	//
	// **Note:** Only Admin users can change this setting.
	//
	AllowSharedTabs Bool `json:"allowSharedTabs,omitempty"`
	// Metadata that indicates whether the `allowSharedTabs` property is editable.
	//
	AllowSharedTabsMetadata *SettingsMetadata `json:"allowSharedTabsMetadata,omitempty"`
	// When **true,** recipients can sign documents from the home page.
	//
	// **Note:** Only Admin users can change this setting.
	AllowSignDocumentFromHomePage Bool `json:"allowSignDocumentFromHomePage,omitempty"`
	// Metadata that indicates whether the `allowSignDocumentFromHomePage` property is editable.
	//
	AllowSignDocumentFromHomePageMetadata *SettingsMetadata `json:"allowSignDocumentFromHomePageMetadata,omitempty"`
	// When **true,**
	// the account administrator can enable
	// the Sign Now feature.
	//
	AllowSignNow Bool `json:"allowSignNow,omitempty"`
	// Metadata that indicates whether the `allowSignNow` property is editable.
	//
	AllowSignNowMetadata string `json:"allowSignNowMetadata,omitempty"`
	// When **true,** Signature Stamps are enabled.
	//
	// **Note:** Only Admin users can change this setting.
	AllowSignatureStamps Bool `json:"allowSignatureStamps,omitempty"`
	// Metadata that indicates whether the `allowSignatureStamps` property is editable.
	//
	AllowSignatureStampsMetadata *SettingsMetadata `json:"allowSignatureStampsMetadata,omitempty"`
	// When **true,** the recipient of an envelope sent from this account can reassign it to another person.
	//
	// **Note:** Only Admin users can change this setting.
	//
	AllowSignerReassign Bool `json:"allowSignerReassign,omitempty"`
	// Metadata that indicates whether the `allowSignerReassign` property is editable.
	//
	AllowSignerReassignMetadata *SettingsMetadata `json:"allowSignerReassignMetadata,omitempty"`
	// When **true,** an account administrator can override the ability of an envelope recipient to reassign it to another person.
	//
	// **Note:** Only Admin users can change this setting.
	AllowSignerReassignOverride Bool `json:"allowSignerReassignOverride,omitempty"`
	// Metadata that indicates whether the `allowSignerReassignOverride` property is editable.
	//
	AllowSignerReassignOverrideMetadata *SettingsMetadata `json:"allowSignerReassignOverrideMetadata,omitempty"`
	// Boolean that specifies whether Signing and App Extensions are allowed.
	AllowSigningExtensions Bool `json:"allowSigningExtensions,omitempty"`
	// Metadata that indicates whether the `allowSigningExtensions` property is editable.
	//
	AllowSigningExtensionsMetadata *SettingsMetadata `json:"allowSigningExtensionsMetadata,omitempty"`
	// When **true,** the account allows signing groups. This setting is only shown in responses that list account settings. This property is read-only.
	AllowSigningGroups Bool `json:"allowSigningGroups,omitempty"`
	// Metadata that indicates whether the `allowSigningGroups` property is editable.
	//
	AllowSigningGroupsMetadata *SettingsMetadata `json:"allowSigningGroupsMetadata,omitempty"`
	//
	AllowSigningInsights string `json:"allowSigningInsights,omitempty"`
	//
	AllowSigningInsightsMetadata *SettingsMetadata `json:"allowSigningInsightsMetadata,omitempty"`
	// Boolean that specifies whether the account supports radio buttons on tabs [Radio CustomTabType](/docs/esign-soap-api/reference/sending-group/tab/).
	AllowSigningRadioDeselect Bool `json:"allowSigningRadioDeselect,omitempty"`
	// Metadata that indicates whether the `allowSigningRadioDeselect` property is editable.
	//
	AllowSigningRadioDeselectMetadata *SettingsMetadata `json:"allowSigningRadioDeselectMetadata,omitempty"`
	// Deprecated.
	AllowSocialIDLogin string `json:"allowSocialIdLogin,omitempty"`
	// Deprecated.
	AllowSocialIDLoginMetadata *SettingsMetadata `json:"allowSocialIdLoginMetadata,omitempty"`
	// When **true,** this user can include supplemental documents.
	AllowSupplementalDocuments Bool `json:"allowSupplementalDocuments,omitempty"`
	// Metadata that indicates whether the `allowSupplementalDocuments` property is editable.
	AllowSupplementalDocumentsMetadata *SettingsMetadata `json:"allowSupplementalDocumentsMetadata,omitempty"`
	// Account level flag that determines the availability to perform Third Party Notary (3PN) actions.
	AllowThirdPartyElectronicNotary string `json:"allowThirdPartyElectronicNotary,omitempty"`
	//
	AllowThirdPartyElectronicNotaryMetadata *SettingsMetadata `json:"allowThirdPartyElectronicNotaryMetadata,omitempty"`
	//
	AllowUsersToAccessDirectory string `json:"allowUsersToAccessDirectory,omitempty"`
	//
	AllowUsersToAccessDirectoryMetadata *SettingsMetadata `json:"allowUsersToAccessDirectoryMetadata,omitempty"`
	//
	AllowValueInsights string `json:"allowValueInsights,omitempty"`
	//
	AllowValueInsightsMetadata *SettingsMetadata `json:"allowValueInsightsMetadata,omitempty"`
	//
	AllowWebForms string `json:"allowWebForms,omitempty"`
	//
	AllowWebFormsMetadata *SettingsMetadata `json:"allowWebFormsMetadata,omitempty"`
	// This property determines how template anchor tabs are applied.
	//
	// Valid values are:
	//
	// - `document`: Anchor tabs are applied only to the document that you specify.
	// - `envelope`: Anchor tabs are applied to all of the documents in the envelope associated with the template.
	//
	// **Note:** When you are using the `anchorPopulationScope` property with a Composite Template, the value `document` is supported only with a single server template and a single inline template.
	//
	//
	AnchorPopulationScope string `json:"anchorPopulationScope,omitempty"`
	// Metadata that indicates whether the `anchorPopulationScope` property is editable.
	//
	AnchorPopulationScopeMetadata *SettingsMetadata `json:"anchorPopulationScopeMetadata,omitempty"`
	// Reserved for DocuSign.
	//
	AnchorTagVersionedPlacementEnabled string `json:"anchorTagVersionedPlacementEnabled,omitempty"`
	//
	AnchorTagVersionedPlacementMetadataEnabled *SettingsMetadata `json:"anchorTagVersionedPlacementMetadataEnabled,omitempty"`
	// When **true,** envelope documents are included as a PDF file attachment to "signing completed" emails.
	//
	// **Note:** Only SysAdmin users can change this setting.
	AttachCompletedEnvelope Bool `json:"attachCompletedEnvelope,omitempty"`
	// Metadata that indicates whether the `attachCompletedEnvelope` property is editable.
	AttachCompletedEnvelopeMetadata *SettingsMetadata `json:"attachCompletedEnvelopeMetadata,omitempty"`
	// Sets when authentication checks are applied for recipient envelope access. This setting only applies to the following ID checks:
	//
	// - Phone Authentication
	// - SMS Authentication
	// - Knowledge-Based ID
	//
	// This setting takes one of the following options:
	//
	// - `initial_access`: The authentication check always applies the first time a recipient accesses the documents. Recipients are not asked to authenticate again when they access the documents from the same browser on the same device. If the recipient attempts to access the documents from a different browser or a different device, the recipient must pass authentication again. Once authenticated, that recipient is not challenged again on the new device or browser. The ability for a recipient to skip authentication for documents is limited to documents sent from the same sending account.
	// - `each_access`: Authentication checks apply every time a recipient attempts to access the envelope. However, you can configure the Authentication Expiration setting to allow recipients to skip authentication when they have recently passed authentication by setting a variable time frame.
	//
	// **Note:** Only Admin users can change this setting.
	//
	AuthenticationCheck string `json:"authenticationCheck,omitempty"`
	// Metadata that indicates whether the `authenticationCheck` property is editable.
	//
	AuthenticationCheckMetadata *SettingsMetadata `json:"authenticationCheckMetadata,omitempty"`
	// Specifies how auto-navigation works.
	// Valid values are:
	//
	// - `off`
	// - `required_fields`
	// - `required_and_blank_fields`
	// - `all_fields`
	// - `page_then_required_fields`
	// - `page_then_required_and_blank_fields`
	// - `page_then_all_fields`
	//
	AutoNavRule string `json:"autoNavRule,omitempty"`
	// Metadata that indicates whether the `autoNavRule` property is editable.
	//
	AutoNavRuleMetadata *SettingsMetadata `json:"autoNavRuleMetadata,omitempty"`
	// Boolean that specifies whether to automatically provision a user membership in the account for accountless recipients. (Also known as Just-in-Time provisioning.)
	AutoProvisionSignerAccount Bool `json:"autoProvisionSignerAccount,omitempty"`
	// Metadata that indicates whether the `autoProvisionSignerAccount` property is editable.
	//
	AutoProvisionSignerAccountMetadata *SettingsMetadata `json:"autoProvisionSignerAccountMetadata,omitempty"`
	// Boolean that specifies whether BCC for Email Archive is enabled for the account. BCC for Email Archive allows you to set up an archive email address so that a BCC copy of an envelope is sent only to that address.
	BccEmailArchive Bool `json:"bccEmailArchive,omitempty"`
	// Metadata that indicates whether the `bccEmailArchive` property is editable.
	//
	BccEmailArchiveMetadata *SettingsMetadata `json:"bccEmailArchiveMetadata,omitempty"`
	// Reserved for DocuSign.
	//
	BetaSwitchConfiguration string `json:"betaSwitchConfiguration,omitempty"`
	// Reserved for DocuSign.
	BetaSwitchConfigurationMetadata *SettingsMetadata `json:"betaSwitchConfigurationMetadata,omitempty"`
	// The billing address for the account.
	BillingAddress *AddressInformation `json:"billingAddress,omitempty"`
	// Metadata that indicates whether the `billingAddress` property is editable.
	//
	BillingAddressMetadata *SettingsMetadata `json:"billingAddressMetadata,omitempty"`
	// When **true,** this user can use the bulk send feature for the account.
	BulkSend Bool `json:"bulkSend,omitempty"`
	//
	BulkSendActionResendLimit string `json:"bulkSendActionResendLimit,omitempty"`
	//
	BulkSendMaxCopiesInBatch string `json:"bulkSendMaxCopiesInBatch,omitempty"`
	//
	BulkSendMaxUnprocessedEnvelopesCount string `json:"bulkSendMaxUnprocessedEnvelopesCount,omitempty"`
	// Metadata that indicates whether the `bulkSend` property is editable.
	//
	BulkSendMetadata *SettingsMetadata `json:"bulkSendMetadata,omitempty"`
	// When **true,** account administrators can self-brand their sending console through the DocuSign console.
	CanSelfBrandSend Bool `json:"canSelfBrandSend,omitempty"`
	// Metadata that indicates whether the `canSelfBrandSend` property is editable.
	//
	CanSelfBrandSendMetadata *SettingsMetadata `json:"canSelfBrandSendMetadata,omitempty"`
	// When **true,** account administrators can self-brand their signing console through the DocuSign console.
	CanSelfBrandSign Bool `json:"canSelfBrandSign,omitempty"`
	// Metadata that indicates whether the `canSelfBrandSign` property is editable.
	//
	CanSelfBrandSignMetadata *SettingsMetadata `json:"canSelfBrandSignMetadata,omitempty"`
	//
	CanUseSalesforceOAuth string `json:"canUseSalesforceOAuth,omitempty"`
	//
	CanUseSalesforceOAuthMetadata *SettingsMetadata `json:"canUseSalesforceOAuthMetadata,omitempty"`
	// Reserved for DocuSign.
	CaptureVoiceRecording string `json:"captureVoiceRecording,omitempty"`
	// Reserved for DocuSign.
	CaptureVoiceRecordingMetadata *SettingsMetadata `json:"captureVoiceRecordingMetadata,omitempty"`
	//
	Cfr21SimplifiedSigningEnabled string `json:"cfr21SimplifiedSigningEnabled,omitempty"`
	//
	Cfr21SimplifiedSigningEnabledMetadata *SettingsMetadata `json:"cfr21SimplifiedSigningEnabledMetadata,omitempty"`
	// Boolean that specifies whether to use a shorter/wider format when generating the CFR Part 11 signature image.
	CfrUseWideImage Bool `json:"cfrUseWideImage,omitempty"`
	// Metadata that indicates whether the `cfrUseWideImage` property is editable.
	//
	CfrUseWideImageMetadata *SettingsMetadata `json:"cfrUseWideImageMetadata,omitempty"`
	//
	CheckForMultipleAdminsOnAccount string `json:"checkForMultipleAdminsOnAccount,omitempty"`
	// Metadata that indicates whether the `checkForMultipleAdminsOnAccount` property is editable.
	CheckForMultipleAdminsOnAccountMetadata *SettingsMetadata `json:"checkForMultipleAdminsOnAccountMetadata,omitempty"`
	// Boolean that specifies whether the signers of the envelopes from this account use a signature with a DocuSign chrome around it or not.
	ChromeSignatureEnabled Bool `json:"chromeSignatureEnabled,omitempty"`
	// Metadata that indicates whether the `chromeSignatureEnabled` property is editable.
	//
	ChromeSignatureEnabledMetadata *SettingsMetadata `json:"chromeSignatureEnabledMetadata,omitempty"`
	// When **true,** the text of comments is included in email notifications when a comment is posted.
	//
	// **Note:**  If the envelope requires additional recipient authentication, comment text is not included.
	CommentEmailShowMessageText Bool `json:"commentEmailShowMessageText,omitempty"`
	// Metadata that indicates whether the `commentEmailShowMessageText` property is editable.
	//
	CommentEmailShowMessageTextMetadata *SettingsMetadata `json:"commentEmailShowMessageTextMetadata,omitempty"`
	// When **true** and comments are enabled for the account, senders can disable comments for an envelope through the **Advanced Options** menu that appears during the sending process.
	CommentsAllowEnvelopeOverride string `json:"commentsAllowEnvelopeOverride,omitempty"`
	// Metadata that indicates whether the `commentsAllowEnvelopeOverride` property is editable.
	//
	CommentsAllowEnvelopeOverrideMetadata *SettingsMetadata `json:"commentsAllowEnvelopeOverrideMetadata,omitempty"`
	// When **true,** conditional fields can be used in documents.
	//
	// **Note:** Only Admin users can change this setting.
	ConditionalFieldsEnabled Bool `json:"conditionalFieldsEnabled,omitempty"`
	// Metadata that indicates whether the `conditionalFieldsEnabled` property is editable.
	//
	ConditionalFieldsEnabledMetadata *SettingsMetadata `json:"conditionalFieldsEnabledMetadata,omitempty"`
	// Speficies how often to display the consumer disclosure.
	//
	// Valid values are:
	//
	// - `once`: Per account, the supplemental document is displayed once only per `userId`.
	// - `always`: Per envelope, the supplemental document is displayed once only per `userId`.
	// - `each_access`: Per envelope, the supplemental document is displayed once only per `recipientId`.
	//
	ConsumerDisclosureFrequency string `json:"consumerDisclosureFrequency,omitempty"`
	// Metadata that indicates whether the `consumerDisclosureFrequency` property is editable.
	//
	ConsumerDisclosureFrequencyMetadata *SettingsMetadata `json:"consumerDisclosureFrequencyMetadata,omitempty"`
	// Boolean that specifies whether to enable PDF form fields to get converted to DocuSign secure fields when the document is added or uploaded to an envelope.
	ConvertPdfFields Bool `json:"convertPdfFields,omitempty"`
	// Metadata that indicates whether the `convertPdfFields` property is editable.
	//
	ConvertPdfFieldsMetadata *SettingsMetadata `json:"convertPdfFieldsMetadata,omitempty"`
	// Specifies how data is shared for tabs with the same tabLabel. Valid values are:
	//
	// - `document`: Tabs in a document with the same label populate with the same data.
	// - `envelope`: Tabs in all documents in the envelope with the same label populate with the same data.
	//
	// This setting applies to the following tab types:
	//
	// - Check box
	// - Company
	// - Data field
	// - Drop-down list
	// - Full name
	// - Formula
	// - Note
	// - Title
	//
	// **Note:** Only Admin users can change this setting. Changing this setting affects envelopes that have been sent but not completed.
	DataPopulationScope string `json:"dataPopulationScope,omitempty"`
	// Metadata that indicates whether the `dataPopulationScope` property is editable.
	//
	DataPopulationScopeMetadata *SettingsMetadata `json:"dataPopulationScopeMetadata,omitempty"`
	//
	DisableAutoTemplateMatching string `json:"disableAutoTemplateMatching,omitempty"`
	//
	DisableAutoTemplateMatchingMetadata *SettingsMetadata `json:"disableAutoTemplateMatchingMetadata,omitempty"`
	// When **true,** the mobile app distributor key is prevented from connecting for account users.
	DisableMobileApp Bool `json:"disableMobileApp,omitempty"`
	// Metadata that indicates whether the `disableMobileApp` property is editable.
	//
	DisableMobileAppMetadata *SettingsMetadata `json:"disableMobileAppMetadata,omitempty"`
	// When **true,** push notifications are disabled for the account.
	//
	// **Note:** Only Admin users can change this setting.
	DisableMobilePushNotifications Bool `json:"disableMobilePushNotifications,omitempty"`
	// Metadata that indicates whether the `disableMobilePushNotifications` property is editable.
	//
	DisableMobilePushNotificationsMetadata *SettingsMetadata `json:"disableMobilePushNotificationsMetadata,omitempty"`
	// When **true,** sending from a mobile application is disabled.
	//
	// **Note:** Only Admin users can change this setting.
	DisableMobileSending Bool `json:"disableMobileSending,omitempty"`
	// Metadata that indicates whether the `disableMobileSending` property is editable.
	//
	DisableMobileSendingMetadata *SettingsMetadata `json:"disableMobileSendingMetadata,omitempty"`
	// When **true,** account users cannot be logged into multiple sessions at the same time.
	//
	// **Note:** Only Admin users can change this setting.
	DisableMultipleSessions Bool `json:"disableMultipleSessions,omitempty"`
	// Metadata that indicates whether the `disableMultipleSessions` property is editable.
	//
	DisableMultipleSessionsMetadata *SettingsMetadata `json:"disableMultipleSessionsMetadata,omitempty"`
	// Reserved for DocuSign.
	DisablePurgeNotificationsForSenderMetadata *SettingsMetadata `json:"disablePurgeNotificationsForSenderMetadata,omitempty"`
	// When **true,** signers cannot view certificates of completion.
	DisableSignerCertView Bool `json:"disableSignerCertView,omitempty"`
	// Metadata that indicates whether the `disableSignerCertView` property is editable.
	//
	DisableSignerCertViewMetadata *SettingsMetadata `json:"disableSignerCertViewMetadata,omitempty"`
	// When **true,** signers cannot view envelope history.
	DisableSignerHistoryView Bool `json:"disableSignerHistoryView,omitempty"`
	// Metadata that indicates whether the `disableSignerHistoryView` property is editable.
	//
	DisableSignerHistoryViewMetadata *SettingsMetadata `json:"disableSignerHistoryViewMetadata,omitempty"`
	// When **true,** the **Select Style** option is hidden from signers and they must draw their signature instead.
	DisableStyleSignature Bool `json:"disableStyleSignature,omitempty"`
	// Metadata that indicates whether the `disableStyleSignature` property is editable.
	//
	DisableStyleSignatureMetadata *SettingsMetadata `json:"disableStyleSignatureMetadata,omitempty"`
	// When **true,** signers cannot upload custom image files of their signature and initials.
	//
	// **Note:** Only Admin users can change this setting.
	DisableUploadSignature Bool `json:"disableUploadSignature,omitempty"`
	// Metadata that indicates whether the `disableUploadSignature` property is editable.
	//
	DisableUploadSignatureMetadata *SettingsMetadata `json:"disableUploadSignatureMetadata,omitempty"`
	// When **true,** the User Sharing feature is disabled for the account.
	DisableUserSharing Bool `json:"disableUserSharing,omitempty"`
	// Metadata that indicates whether the `disableUserSharing` property is editable.
	//
	DisableUserSharingMetadata *SettingsMetadata `json:"disableUserSharingMetadata,omitempty"`
	// Boolean that specifies whether to display a Beta switch for your app.
	DisplayBetaSwitch Bool `json:"displayBetaSwitch,omitempty"`
	// Metadata that indicates whether the `displayBetaSwitch` property is editable.
	//
	DisplayBetaSwitchMetadata *SettingsMetadata `json:"displayBetaSwitchMetadata,omitempty"`
	// Sets the account document upload restriction for non-account administrators. Valid values are:
	//
	// - `no_restrictions`: There are no restrictions on the type of documents that can be uploaded.
	// - `allow_pdf_only`: Non-administrators can only upload PDF files.
	// - `no_upload`: Non-administrators cannot upload files.
	//
	// **Note:** Only Admin users can change this setting.
	//
	DocumentConversionRestrictions string `json:"documentConversionRestrictions,omitempty"`
	// Metadata that indicates whether the `documentConversionRestrictions` property is editable.
	//
	DocumentConversionRestrictionsMetadata *SettingsMetadata `json:"documentConversionRestrictionsMetadata,omitempty"`
	// Sets a document retention period, which controls the number of days that DocuSign retains documents after they have reached a completed,declined, or voided state. When document retention is enabled for the account, the default value is `356` days.
	DocumentRetention string `json:"documentRetention,omitempty"`
	// Metadata that indicates whether the `documentRetention` property is editable.
	//
	DocumentRetentionMetadata *SettingsMetadata `json:"documentRetentionMetadata,omitempty"`
	// When **true** and `documentRetention` is set, document fields and metadata are also purged after the document retention period ends. The default value is **false.**
	//
	// **Note:** Only Admins can change this setting.
	DocumentRetentionPurgeTabs string `json:"documentRetentionPurgeTabs,omitempty"`
	// Configures the Document Visibility feature for the account. Valid values are:
	//
	// - `Off`: Document Visibility is not active for the account.
	// - `MustSignToViewUnlessSenderAccount`: Document Visibility is enabled for all envelopes sent from the account. Any member of the sending account can view all of the documents in an envelope.
	// - `MustSignToViewUnlessSender`: Document Visibility is enabled for all envelopes sent from the account. Only the sender can view all of the documents in an envelope.
	// - `SenderCanSetMustSignToViewUnlessSenderAccount`: The sender has the option to enable Document Visibility for an envelope. When enabled for an envelope, all of the documents within it are still visible to any member of the sending account.
	// Vd- `SenderCanSetMustSignToViewUnlessSender`: The sender has the option to enable Document Visibility for an envelope. When enabled for an envelope, all of the documents in the envelope are visible only to the sender.
	//
	// **Note:** For this configuration to take effect, `allowDocumentVisibility` must be set to **true.**
	DocumentVisibility string `json:"documentVisibility,omitempty"`
	// Metadata that indicates whether the `documentVisibility` property is editable.
	//
	DocumentVisibilityMetadata *SettingsMetadata `json:"documentVisibilityMetadata,omitempty"`
	//
	DssSIGN28411EnableLeavePagePromptRadminOption string `json:"dss_SIGN_28411_EnableLeavePagePrompt_RadminOption,omitempty"`
	//
	DssSIGN29182SlideUpBarRadminOption string `json:"dss_SIGN_29182_SlideUpBar_RadminOption,omitempty"`
	// Specifies the version of the email templates used in an account. If new signing is selected in a member's Admin page, the user is updated to the newest version (1.1), the minimum version of email supported for the account.
	EmailTemplateVersion string `json:"emailTemplateVersion,omitempty"`
	// Metadata that indicates whether the `emailTemplateVersion` property is editable.
	//
	EmailTemplateVersionMetadata *SettingsMetadata `json:"emailTemplateVersionMetadata,omitempty"`
	// When **true,** enables Access Code Generator on the account.
	EnableAccessCodeGenerator Bool `json:"enableAccessCodeGenerator,omitempty"`
	// Metadata that indicates whether the `enableAccessCodeGenerator` property is editable.
	//
	EnableAccessCodeGeneratorMetadata *SettingsMetadata `json:"enableAccessCodeGeneratorMetadata,omitempty"`
	// When **true,** enables Advanced Payments for the account.
	EnableAdvancedPayments Bool `json:"enableAdvancedPayments,omitempty"`
	// Metadata that indicates whether the `enableAdvancedPayments` property is editable.
	//
	EnableAdvancedPaymentsMetadata *SettingsMetadata `json:"enableAdvancedPaymentsMetadata,omitempty"`
	// When **true,** enables advanced PowerForms for the account.
	EnableAdvancedPowerForms Bool `json:"enableAdvancedPowerForms,omitempty"`
	// Metadata that indicates whether the `enableAdvancedPowerForms` property is editable.
	//
	EnableAdvancedPowerFormsMetadata *SettingsMetadata `json:"enableAdvancedPowerFormsMetadata,omitempty"`
	//
	EnableAgreementActionsForCLM string `json:"enableAgreementActionsForCLM,omitempty"`
	//
	EnableAgreementActionsForCLMMetadata *SettingsMetadata `json:"enableAgreementActionsForCLMMetadata,omitempty"`
	//
	EnableAgreementActionsForESign string `json:"enableAgreementActionsForESign,omitempty"`
	//
	EnableAgreementActionsForESignMetadata *SettingsMetadata `json:"enableAgreementActionsForESignMetadata,omitempty"`
	// When **true,** enables the account to set the AutoNav rule setting, which enables a sender to override the auto-navigation setting per envelope.
	//
	// **Note:** To change this setting, you must be a SysAdmin user or `EnableAutoNavByDSAdmin must be set.
	EnableAutoNav Bool `json:"enableAutoNav,omitempty"`
	// Metadata that indicates whether the `enableAutoNav` property is editable.
	//
	EnableAutoNavMetadata *SettingsMetadata `json:"enableAutoNavMetadata,omitempty"`
	//
	EnableBccDummyLink string `json:"enableBccDummyLink,omitempty"`
	//
	EnableBccDummyLinkMetadata *SettingsMetadata `json:"enableBccDummyLinkMetadata,omitempty"`
	// When **true,** calculated fields are enabled for the account.
	//
	// **Note:** This setting can be changed only by Admin users, and only if the account-level setting `allowExpression` is set to **true.**
	EnableCalculatedFields Bool `json:"enableCalculatedFields,omitempty"`
	// Metadata that indicates whether the `enableCalculatedFields` property is editable.
	//
	EnableCalculatedFieldsMetadata *SettingsMetadata `json:"enableCalculatedFieldsMetadata,omitempty"`
	// Boolean that specifies whether clickwraps are enabled in your app. A [clickwrap](/docs/click-api/click101/) is an iframe that you embed in your own website or app.
	EnableClickwraps Bool `json:"enableClickwraps,omitempty"`
	// Metadata that indicates whether the `enableClickwraps` property is editable.
	//
	EnableClickwrapsMetadata *SettingsMetadata `json:"enableClickwrapsMetadata,omitempty"`
	//
	EnableCombinedPDFDownloadForSBS string `json:"enableCombinedPDFDownloadForSBS,omitempty"`
	//
	EnableCommentsHistoryDownloadInSigning string `json:"enableCommentsHistoryDownloadInSigning,omitempty"`
	//
	EnableCommentsHistoryDownloadInSigningMetadata *SettingsMetadata `json:"enableCommentsHistoryDownloadInSigningMetadata,omitempty"`
	//
	EnableContactSuggestions string `json:"enableContactSuggestions,omitempty"`
	//
	EnableContactSuggestionsMetadata *SettingsMetadata `json:"enableContactSuggestionsMetadata,omitempty"`
	// When **true,** enables customer satisfaction metric tracking for the account.
	EnableCustomerSatisfactionMetricTracking Bool `json:"enableCustomerSatisfactionMetricTracking,omitempty"`
	// Metadata that indicates whether the `enableCustomerSatisfactionMetricTracking` property is editable.
	//
	EnableCustomerSatisfactionMetricTrackingMetadata *SettingsMetadata `json:"enableCustomerSatisfactionMetricTrackingMetadata,omitempty"`
	// Reserved for DocuSign.
	EnableDSPro string `json:"enableDSPro,omitempty"`
	// Metadata that indicates whether the `enableDSPro` property is editable.
	//
	EnableDSProMetadata *SettingsMetadata `json:"enableDSProMetadata,omitempty"`
	//
	EnableESignAPIHourlyLimitManagement string `json:"enableESignAPIHourlyLimitManagement,omitempty"`
	//
	EnableESignAPIHourlyLimitManagementMetadata *SettingsMetadata `json:"enableESignAPIHourlyLimitManagementMetadata,omitempty"`
	// When **true,** enables the account administrator
	// to control envelope stamping for an account
	// (stamping the `envelopeId` in the document margins).
	//
	// **Note:** This setting can be changed only
	// by Admin users, and only if the account-level
	// setting `enableEnvelopeStampingByDSAdmin` is set to **true.**
	EnableEnvelopeStampingByAccountAdmin Bool `json:"enableEnvelopeStampingByAccountAdmin,omitempty"`
	// Metadata that indicates whether the `enableEnvelopeStampingByAccountAdmin` property is editable.
	//
	EnableEnvelopeStampingByAccountAdminMetadata *SettingsMetadata `json:"enableEnvelopeStampingByAccountAdminMetadata,omitempty"`
	// When **true,** enables the DocuSign administrator to control envelope stamping for an account (placement of the `envelopeId`).
	EnableEnvelopeStampingByDSAdmin Bool `json:"enableEnvelopeStampingByDSAdmin,omitempty"`
	// Metadata that indicates whether the `enableEnvelopeStampingByDSAdmin` property is editable.
	//
	EnableEnvelopeStampingByDSAdminMetadata *SettingsMetadata `json:"enableEnvelopeStampingByDSAdminMetadata,omitempty"`
	//
	EnableEsignCommunities string `json:"enableEsignCommunities,omitempty"`
	//
	EnableEsignCommunitiesMetadata *SettingsMetadata `json:"enableEsignCommunitiesMetadata,omitempty"`
	//
	EnableIDFxAccountlessSMSAuthForPart11 string `json:"enableIDFxAccountlessSMSAuthForPart11,omitempty"`
	//
	EnableIDFxAccountlessSMSAuthForPart11Metadata *SettingsMetadata `json:"enableIDFxAccountlessSMSAuthForPart11Metadata,omitempty"`
	//
	EnableIDFxIntuitKBA string `json:"enableIDFxIntuitKBA,omitempty"`
	//
	EnableIDFxIntuitKBAMetadata *SettingsMetadata `json:"enableIDFxIntuitKBAMetadata,omitempty"`
	//
	EnableIDFxPhoneAuthentication string `json:"enableIDFxPhoneAuthentication,omitempty"`
	//
	EnableIDFxPhoneAuthenticationMetadata *SettingsMetadata `json:"enableIDFxPhoneAuthenticationMetadata,omitempty"`
	//
	EnableInBrowserEditor string `json:"enableInBrowserEditor,omitempty"`
	//
	EnableInBrowserEditorMetadata *SettingsMetadata `json:"enableInBrowserEditorMetadata,omitempty"`
	//
	EnableKeyTermsSuggestionsByDocumentType string `json:"enableKeyTermsSuggestionsByDocumentType,omitempty"`
	//
	EnableKeyTermsSuggestionsByDocumentTypeMetadata *SettingsMetadata `json:"enableKeyTermsSuggestionsByDocumentTypeMetadata,omitempty"`
	//
	EnablePDFAConversion string `json:"enablePDFAConversion,omitempty"`
	//
	EnablePDFAConversionMetadata *SettingsMetadata `json:"enablePDFAConversionMetadata,omitempty"`
	//
	EnableParticipantRecipientSettingMetadata *SettingsMetadata `json:"enableParticipantRecipientSettingMetadata,omitempty"`
	// When **true,** payment processing is enabled for this account.
	//
	// **Note:** This setting can be changed only by Admin users, and only if the account-level setting `allowPaymentProcessing` is set.
	EnablePaymentProcessing Bool `json:"enablePaymentProcessing,omitempty"`
	// Metadata that indicates whether the `enablePaymentProcessing` property is editable.
	//
	EnablePaymentProcessingMetadata *SettingsMetadata `json:"enablePaymentProcessingMetadata,omitempty"`
	// When **true,** enables PowerForms for the account.
	//
	// **Note:** Only SysAdmin users can change this setting.
	EnablePowerForm Bool `json:"enablePowerForm,omitempty"`
	// When **true,** enables direct PowerForms for an account. Direct PowerForms are in-session PowerForms.
	//
	// **Note:** Only Admin users can change this setting.
	EnablePowerFormDirect Bool `json:"enablePowerFormDirect,omitempty"`
	// Metadata that indicates whether the `enablePowerFormDirect` property is editable.
	//
	EnablePowerFormDirectMetadata *SettingsMetadata `json:"enablePowerFormDirectMetadata,omitempty"`
	// Metadata that indicates whether the `enablePowerForm` property is editable.
	//
	EnablePowerFormMetadata *SettingsMetadata `json:"enablePowerFormMetadata,omitempty"`
	// Reserved for DocuSign.
	EnableRecipientDomainValidation string `json:"enableRecipientDomainValidation,omitempty"`
	// Metadata that indicates whether the `enableRecipientDomainValidation` property is editable.
	//
	EnableRecipientDomainValidationMetadata *SettingsMetadata `json:"enableRecipientDomainValidationMetadata,omitempty"`
	//
	EnableRecipientMayProvidePhoneNumber string `json:"enableRecipientMayProvidePhoneNumber,omitempty"`
	//
	EnableRecipientMayProvidePhoneNumberMetadata *SettingsMetadata `json:"enableRecipientMayProvidePhoneNumberMetadata,omitempty"`
	// Enables direct links to envelopes in reports for administrators in the following scopes:
	// - `NoEnvelopes`
	// - `AllEnvelopes`
	// - `OnlyOwnEnvelopes`
	EnableReportLinks string `json:"enableReportLinks,omitempty"`
	// Metadata that indicates whether the `enableReportLinks` property is editable.
	//
	EnableReportLinksMetadata *SettingsMetadata `json:"enableReportLinksMetadata,omitempty"`
	// When **true,** the account can use the `requireSignOnPaper` option.
	//
	// **Note:** Only Admin users can change this setting.
	//
	EnableRequireSignOnPaper Bool `json:"enableRequireSignOnPaper,omitempty"`
	// Metadata that indicates whether the `enableRequireSignOnPaper` property is editable.
	//
	EnableRequireSignOnPaperMetadata *SettingsMetadata `json:"enableRequireSignOnPaperMetadata,omitempty"`
	// When **true,** account administrators can reserve a web domain and users. Domains are organization-specific reserved internet domains, such as `@exampledomain.com`. You can define policy settings for users of each reserved domain within your organization, export lists of domain users for audit purposes, and manage domain users.
	//
	// - Domains may be claimed by an organization.
	// - When a domain is claimed by an organization, all users within that domain are added to the organization, even if they have trial or free accounts.
	// - You can set domain controls for all users of the domain.
	// - You can export information about your organization’s users that are associated with your reserved domains.
	//
	// **Note:** Only SysAdmin users can change this setting.
	EnableReservedDomain Bool `json:"enableReservedDomain,omitempty"`
	// Metadata that indicates whether the `enableReservedDomain` property is editable.
	//
	EnableReservedDomainMetadata *SettingsMetadata `json:"enableReservedDomainMetadata,omitempty"`
	// When **true,** enables responsive signing.
	EnableResponsiveSigning Bool `json:"enableResponsiveSigning,omitempty"`
	// Metadata that indicates whether the `enableResponsiveSigning` property is editable.
	//
	EnableResponsiveSigningMetadata *SettingsMetadata `json:"enableResponsiveSigningMetadata,omitempty"`
	// When **true,** the account can use SMS authentication.
	//
	// **Note:** Only Admin users can change this setting.
	//
	EnableSMSAuthentication Bool `json:"enableSMSAuthentication,omitempty"`
	// Metadata that indicates whether the `enableSMSAuthentication` property is editable.
	//
	EnableSMSAuthenticationMetadata *SettingsMetadata `json:"enableSMSAuthenticationMetadata,omitempty"`
	//
	EnableSMSDeliveryAdditionalNotification string `json:"enableSMSDeliveryAdditionalNotification,omitempty"`
	//
	EnableSMSDeliveryAdditionalNotificationMetadata *SettingsMetadata `json:"enableSMSDeliveryAdditionalNotificationMetadata,omitempty"`
	//
	EnableSMSDeliveryPrimary string `json:"enableSMSDeliveryPrimary,omitempty"`
	// When **true,** scheduled releases are enabled. The default value is **false.**
	EnableScheduledRelease Bool `json:"enableScheduledRelease,omitempty"`
	// Metadata that indicates whether the `enableScheduledRelease` property is editable.
	//
	EnableScheduledReleaseMetadata *SettingsMetadata `json:"enableScheduledReleaseMetadata,omitempty"`
	//
	EnableSearch string `json:"enableSearch,omitempty"`
	//
	EnableSearchMetadata *SettingsMetadata `json:"enableSearchMetadata,omitempty"`
	//
	EnableSearchSiteSpecificAPI string `json:"enableSearchSiteSpecificApi,omitempty"`
	//
	EnableSearchSiteSpecificAPIMetadata *SettingsMetadata `json:"enableSearchSiteSpecificApiMetadata,omitempty"`
	//
	EnableSearchUI string `json:"enableSearchUI,omitempty"`
	//
	EnableSearchUIMetadata *SettingsMetadata `json:"enableSearchUIMetadata,omitempty"`
	// When **true,** this account can use the Agent recipient type.
	//
	// **Note:** Only SysAdmin users can change this setting.
	//
	EnableSendToAgent Bool `json:"enableSendToAgent,omitempty"`
	// Metadata that indicates whether the `enableSendToAgent` property is editable.
	//
	EnableSendToAgentMetadata *SettingsMetadata `json:"enableSendToAgentMetadata,omitempty"`
	// When **true,** this account can use the Intermediary recipient type.
	//
	// **Note:** Only Admin users can change this setting, and only if `allowSendToIntermediary` is set.
	//
	EnableSendToIntermediary Bool `json:"enableSendToIntermediary,omitempty"`
	// Metadata that indicates whether the `enableSendToIntermediary` property is editable.
	//
	EnableSendToIntermediaryMetadata *SettingsMetadata `json:"enableSendToIntermediaryMetadata,omitempty"`
	// When **true,** this account can use the Editor recipient type.
	//
	// **Note:** Only Admin users can change this setting.
	//
	EnableSendToManage Bool `json:"enableSendToManage,omitempty"`
	// Metadata that indicates whether the `enableSendToManage` property is editable.
	//
	EnableSendToManageMetadata *SettingsMetadata `json:"enableSendToManageMetadata,omitempty"`
	// When **true,** enables fonts to be set on tags for the account.
	EnableSendingTagsFontSettings Bool `json:"enableSendingTagsFontSettings,omitempty"`
	// Metadata that indicates whether the `enableSendingTagsFontSettings` property is editable.
	//
	EnableSendingTagsFontSettingsMetadata *SettingsMetadata `json:"enableSendingTagsFontSettingsMetadata,omitempty"`
	// When **true,** the account can define the routing
	// order of recipients for envelopes sent by using the eSignature API.
	//
	// **Note:** Only SysAdmin users can change this setting.
	EnableSequentialSigningAPI Bool `json:"enableSequentialSigningAPI,omitempty"`
	// Metadata that indicates whether the `enableSequentialSigningAPI` property is editable.
	//
	EnableSequentialSigningAPIMetadata *SettingsMetadata `json:"enableSequentialSigningAPIMetadata,omitempty"`
	// When **true,** the account can define the routing order
	// of recipients for envelopes sent by using the DocuSign application.
	//
	// **Note:** Only SysAdmin users can change this setting.
	//
	EnableSequentialSigningUI Bool `json:"enableSequentialSigningUI,omitempty"`
	// Metadata that indicates whether the `enableSequentialSigningUI` property is editable.
	//
	EnableSequentialSigningUIMetadata *SettingsMetadata `json:"enableSequentialSigningUIMetadata,omitempty"`
	// When **true,** a sender can allow signers to use the sign on paper option.
	//
	// **Note:** Only Admin users can change this setting.
	//
	EnableSignOnPaper Bool `json:"enableSignOnPaper,omitempty"`
	// Metadata that indicates whether the `enableSignOnPaper` property is editable.
	//
	EnableSignOnPaperMetadata *SettingsMetadata `json:"enableSignOnPaperMetadata,omitempty"`
	// When **true,** a user can override the default default account setting for the Sign on Paper option, which specifies whether signers can sign documents on paper as an option to signing electronically.
	//
	// **Note:** Only Admin users can change this setting.
	EnableSignOnPaperOverride Bool `json:"enableSignOnPaperOverride,omitempty"`
	// Metadata that indicates whether the `enableSignOnPaperOverride` property is editable.
	//
	EnableSignOnPaperOverrideMetadata *SettingsMetadata `json:"enableSignOnPaperOverrideMetadata,omitempty"`
	// When **true,** Sign with Notary functionality is enabled for the account.
	//
	// **Note:** Only Admin users can change this setting.
	EnableSignWithNotary Bool `json:"enableSignWithNotary,omitempty"`
	// Metadata that indicates whether the `enableSignWithNotary` property is editable.
	//
	EnableSignWithNotaryMetadata *SettingsMetadata `json:"enableSignWithNotaryMetadata,omitempty"`
	// When **true,** users can use the signing attachments feature to request attachments from signers.
	//
	// **Note:** Only Admin users can change this setting.
	EnableSignerAttachments Bool `json:"enableSignerAttachments,omitempty"`
	// Metadata that indicates whether the `enableSignerAttachments` property is editable.
	//
	EnableSignerAttachmentsMetadata *SettingsMetadata `json:"enableSignerAttachmentsMetadata,omitempty"`
	// When **true,** enables comments for the account so that signers and recipients can make and respond to comments in documents belonging to the envelopes that they are sent.
	EnableSigningExtensionComments Bool `json:"enableSigningExtensionComments,omitempty"`
	// Metadata that indicates whether the `enableSigningExtensionComments` property is editable.
	//
	EnableSigningExtensionCommentsMetadata *SettingsMetadata `json:"enableSigningExtensionCommentsMetadata,omitempty"`
	// When **true,** enables conversation functionality.
	EnableSigningExtensionConversations Bool `json:"enableSigningExtensionConversations,omitempty"`
	// Metadata that indicates whether the `enableSigningExtensionConversations` property is editable.
	//
	EnableSigningExtensionConversationsMetadata *SettingsMetadata `json:"enableSigningExtensionConversationsMetadata,omitempty"`
	// When **true,** switches Signing Order to On by default for new envelopes.
	EnableSigningOrderSettingsForAccount Bool `json:"enableSigningOrderSettingsForAccount,omitempty"`
	// Metadata that indicates whether the `enableSigningOrderSettingsForAccount` property is editable.
	//
	EnableSigningOrderSettingsForAccountMetadata *SettingsMetadata `json:"enableSigningOrderSettingsForAccountMetadata,omitempty"`
	// When **true,** blockchain-based [Smart Contracts](https://www.docusign.com/products/blockchain) are enabled. The default value is **false.**
	EnableSmartContracts Bool `json:"enableSmartContracts,omitempty"`
	// Metadata that indicates whether the `enableSmartContracts` property is editable.
	EnableSmartContractsMetadata *SettingsMetadata `json:"enableSmartContractsMetadata,omitempty"`
	// Deprecated.
	EnableSocialIDLogin string `json:"enableSocialIdLogin,omitempty"`
	// Deprecated.
	EnableSocialIDLoginMetadata *SettingsMetadata `json:"enableSocialIdLoginMetadata,omitempty"`
	// When **true,** enables strikethrough formatting in documents.
	EnableStrikeThrough Bool `json:"enableStrikeThrough,omitempty"`
	// Metadata that indicates whether the `enableStrikeThrough` property is editable.
	//
	EnableStrikeThroughMetadata *SettingsMetadata `json:"enableStrikeThroughMetadata,omitempty"`
	// Reserved for DocuSign.
	EnableTransactionPoint string `json:"enableTransactionPoint,omitempty"`
	// Reserved for DocuSign.
	EnableTransactionPointMetadata *SettingsMetadata `json:"enableTransactionPointMetadata,omitempty"`
	// When **true,** Vaulting is enabled for the account.
	EnableVaulting Bool `json:"enableVaulting,omitempty"`
	// Metadata that indicates whether the `enableVaulting` property is editable.
	//
	EnableVaultingMetadata *SettingsMetadata `json:"enableVaultingMetadata,omitempty"`
	// Reserved for DocuSign.
	EnableWitnessing string `json:"enableWitnessing,omitempty"`
	// Metadata that indicates whether the `enableWitnessing` property is editable.
	//
	EnableWitnessingMetadata *SettingsMetadata `json:"enableWitnessingMetadata,omitempty"`
	// When **true,** the template name must be unique.
	EnforceTemplateNameUniqueness Bool `json:"enforceTemplateNameUniqueness,omitempty"`
	// Metadata that indicates whether the `enforceTemplateNameUniqueness` property is editable.
	//
	EnforceTemplateNameUniquenessMetadata *SettingsMetadata `json:"enforceTemplateNameUniquenessMetadata,omitempty"`
	// Shows the envelope integration rule for the account, which indicates whether custom admins can enable Connect for their accounts. Enumeration values are:
	//
	// - `not_allowed`
	// - `full`
	//
	// **Note:** Only SysAdmin users can change this setting.
	EnvelopeIntegrationAllowed string `json:"envelopeIntegrationAllowed,omitempty"`
	// Metadata that indicates whether the `envelopeIntegrationAllowed` property is editable.
	//
	EnvelopeIntegrationAllowedMetadata *SettingsMetadata `json:"envelopeIntegrationAllowedMetadata,omitempty"`
	// When **true,** enables Connect for an account. Note that Connect integration requires additional configuration that must be set up for it to take effect; this switch is only the on/off control for the account.
	//
	// **Note:** Only Admin users can change this setting, and only when `envelopeIntegrationAllowed` is set.
	EnvelopeIntegrationEnabled Bool `json:"envelopeIntegrationEnabled,omitempty"`
	// Metadata that indicates whether the `envelopeIntegrationEnabled` property is editable.
	//
	EnvelopeIntegrationEnabledMetadata *SettingsMetadata `json:"envelopeIntegrationEnabledMetadata,omitempty"`
	// When **true,** envelopes sent by this account automatically have the envelope ID stamped in the document margins, unless the sender selects not to have the documents stamped.
	EnvelopeStampingDefaultValue Bool `json:"envelopeStampingDefaultValue,omitempty"`
	// Metadata that indicates whether the `envelopeStampingDefaultValue` property is editable.
	//
	EnvelopeStampingDefaultValueMetadata *SettingsMetadata `json:"envelopeStampingDefaultValueMetadata,omitempty"`
	//
	ExitPrompt string `json:"exitPrompt,omitempty"`
	//
	ExitPromptMetadata *SettingsMetadata `json:"exitPromptMetadata,omitempty"`
	// Boolean that specifies whether a member of an account can express send (without tags) or must send with tags on documents.
	ExpressSend Bool `json:"expressSend,omitempty"`
	// Boolean that specifies whether a member of an account can send templates without the tags being stripped out, even when the account is configured to let its users express send only (they cannot use the tagger).
	ExpressSendAllowTabs Bool `json:"expressSendAllowTabs,omitempty"`
	// Metadata that indicates whether the `expressSendAllowTabs` property is editable.
	//
	ExpressSendAllowTabsMetadata *SettingsMetadata `json:"expressSendAllowTabsMetadata,omitempty"`
	// Metadata that indicates whether the `expressSend` property is editable.
	//
	ExpressSendMetadata *SettingsMetadata `json:"expressSendMetadata,omitempty"`
	// A list of external document sources such as DropBox and OneDrive.
	ExternalDocumentSources *ExternalDocumentSources `json:"externalDocumentSources,omitempty"`
	// Specifies the signature pad type.
	// Valid values are:
	//
	// - `none`
	// - `topaz`
	// - `e_padv9`
	// - `e_pad_integrisign`
	// - `topaz_sigplusextlite`
	//
	// **Note:** Only Admin users can change this setting.
	//
	ExternalSignaturePadType string `json:"externalSignaturePadType,omitempty"`
	// Metadata that indicates whether the `externalSignaturePadType` property is editable.
	//
	ExternalSignaturePadTypeMetadata *SettingsMetadata `json:"externalSignaturePadTypeMetadata,omitempty"`
	// When **true,** fax delivery to recipients is allowed for the account.
	//
	// **Note:** Only Admin users can change this setting.
	FaxOutEnabled Bool `json:"faxOutEnabled,omitempty"`
	// Metadata that indicates whether the `faxOutEnabled` property is editable.
	//
	FaxOutEnabledMetadata *SettingsMetadata `json:"faxOutEnabledMetadata,omitempty"`
	//
	FinishReminder string `json:"finishReminder,omitempty"`
	//
	FinishReminderMetadata *SettingsMetadata `json:"finishReminderMetadata,omitempty"`
	// When **true,** HTML used to implement [Guided Forms](https://www.docusign.com/products/guided-forms) is enabled for the account.
	GUIDEDFormsHTMLAllowed Bool `json:"guidedFormsHtmlAllowed,omitempty"`
	//
	GUIDEDFormsHTMLAllowedMetadata *SettingsMetadata `json:"guidedFormsHtmlAllowedMetadata,omitempty"`
	//
	HasRecipientConnectClaimedDomain string `json:"hasRecipientConnectClaimedDomain,omitempty"`
	// Boolean that specifies whether to hide the account address in the Certificate of Completion.
	HideAccountAddressInCoC Bool `json:"hideAccountAddressInCoC,omitempty"`
	// Metadata that indicates whether the `hideAccountAddressInCoC` property is editable.
	//
	HideAccountAddressInCoCMetadata *SettingsMetadata `json:"hideAccountAddressInCoCMetadata,omitempty"`
	// Boolean that specifies whether to hide the pricing functionality for an account.
	HidePricing Bool `json:"hidePricing,omitempty"`
	// Metadata that indicates whether the `hidePricing` property is editable.
	//
	HidePricingMetadata *SettingsMetadata `json:"hidePricingMetadata,omitempty"`
	// A list of ID check configuration objects.
	IDCheckConfigurations []IDCheckConfiguration `json:"idCheckConfigurations,omitempty"`
	// Determines when a user's authentication with the account expires. Valid values are:
	//
	// - `always`: Users are required to authenticate each time.
	// - `variable`: If the authentication for a user is valid and falls within the value for the `idCheckExpireDays` property, the user is not required to authenticate again.
	//
	// **Note:** Only Admin users can change this setting.
	IDCheckExpire string `json:"idCheckExpire,omitempty"`
	// The number of days before user authentication credentials expire. A value of `0` specifies that users must re-authenticate for each new session.
	//
	// **Note:** Only Admin users can change this setting.
	IDCheckExpireDays string `json:"idCheckExpireDays,omitempty"`
	// Metadata that indicates whether the `idCheckExpireDays` property is editable.
	//
	IDCheckExpireDaysMetadata *SettingsMetadata `json:"idCheckExpireDaysMetadata,omitempty"`
	// Metadata that indicates whether the `idCheckExpire` property is editable.
	//
	IDCheckExpireMetadata *SettingsMetadata `json:"idCheckExpireMetadata,omitempty"`
	// The number of minutes before user authentication credentials expire.
	IDCheckExpireMinutes string `json:"idCheckExpireMinutes,omitempty"`
	// Metadata that indicates whether the `idCheckExpireMinutes` property is editable.
	//
	IDCheckExpireMinutesMetadata *SettingsMetadata `json:"idCheckExpireMinutesMetadata,omitempty"`
	// Indicates if authentication is configured for the account. Valid values are:
	//
	// - `always`: Authentication checks are performed on every envelope.
	// - `never`: Authentication checks are not performed on any envelopes.
	// - `optional`: Authentication is configurable per envelope.
	//
	// **Note:** Only Admin users can change this setting.
	IDCheckRequired string `json:"idCheckRequired,omitempty"`
	// Metadata that indicates whether the `idCheckRequired` property is editable.
	//
	IDCheckRequiredMetadata *SettingsMetadata `json:"idCheckRequiredMetadata,omitempty"`
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification []AccountIdentityVerificationWorkflow `json:"identityVerification,omitempty"`
	// Metadata that indicates whether the `identityVerification` property is editable.
	//
	IdentityVerificationMetadata *SettingsMetadata `json:"identityVerificationMetadata,omitempty"`
	//
	IDFXPhoneAuthenticationOverride string `json:"idfxPhoneAuthenticationOverride,omitempty"`
	//
	IDFXPhoneAuthenticationOverrideMetadata *SettingsMetadata `json:"idfxPhoneAuthenticationOverrideMetadata,omitempty"`
	// Reserved for DocuSign.
	IgnoreErrorIfAnchorTabNotFound string `json:"ignoreErrorIfAnchorTabNotFound,omitempty"`
	// Reserved for DocuSign.
	IgnoreErrorIfAnchorTabNotFoundMetadataEnabled *SettingsMetadata `json:"ignoreErrorIfAnchorTabNotFoundMetadataEnabled,omitempty"`
	// A text field containing the question that an in-person signing host uses to collect personal information from the recipient. The recipient's response to this question is saved and can be viewed in the certificate associated with the envelope.
	//
	// **Note:** Only Admin users can change this setting.
	InPersonIDCheckQuestion string `json:"inPersonIDCheckQuestion,omitempty"`
	// Metadata that indicates whether the `inPersonIDCheckQuestion` property is editable.
	//
	InPersonIDCheckQuestionMetadata *SettingsMetadata `json:"inPersonIDCheckQuestionMetadata,omitempty"`
	// When **true,** in-person signing is enabled for the account.
	InPersonSigningEnabled Bool `json:"inPersonSigningEnabled,omitempty"`
	// Metadata that indicates whether the `inPersonSigningEnabled` property is editable.
	//
	InPersonSigningEnabledMetadata *SettingsMetadata `json:"inPersonSigningEnabledMetadata,omitempty"`
	// When **true,** the account can send in-session (embedded) envelopes.
	//
	// **Note:** Only Admin users can change this setting.
	InSessionEnabled Bool `json:"inSessionEnabled,omitempty"`
	// Metadata that indicates whether the `inSessionEnabled` property is editable.
	//
	InSessionEnabledMetadata *SettingsMetadata `json:"inSessionEnabledMetadata,omitempty"`
	// When **true,** emails are not sent to the in-session (embedded) recipients on an envelope.
	//
	// **Note:** Only Admin users can change this setting.
	InSessionSuppressEmails Bool `json:"inSessionSuppressEmails,omitempty"`
	// Metadata that indicates whether the `inSessionSuppressEmails` property is editable.
	//
	InSessionSuppressEmailsMetadata *SettingsMetadata `json:"inSessionSuppressEmailsMetadata,omitempty"`
	//
	LinkedExternalPrimaryAccounts []LinkedExternalPrimaryAccount `json:"linkedExternalPrimaryAccounts,omitempty"`
	// The maximum number of custom stamps.
	MaxNumberOfCustomStamps string `json:"maxNumberOfCustomStamps,omitempty"`
	// The maximum number of signing groups allowed on the account. The default value is `50`. This setting is only shown in responses that list account settings.
	//
	// **Note:** Only SysAdmin users can change this setting.
	MaximumSigningGroups string `json:"maximumSigningGroups,omitempty"`
	// Metadata that indicates whether the `maximumSigningGroups` property is editable.
	//
	MaximumSigningGroupsMetadata *SettingsMetadata `json:"maximumSigningGroupsMetadata,omitempty"`
	// The maximum number of users per signing group. The default value is `50`. This setting is only shown in responses that list account settings.
	//
	// **Note:** Only SysAdmin users can change this setting.
	MaximumUsersPerSigningGroup string `json:"maximumUsersPerSigningGroup,omitempty"`
	// Metadata that indicates whether the `maximumUsersPerSigningGroup` property is editable.
	//
	MaximumUsersPerSigningGroupMetadata *SettingsMetadata `json:"maximumUsersPerSigningGroupMetadata,omitempty"`
	// The number of minutes of inactivity before a mobile user is automatically logged out of the system. Valid values are `1` to `120` minutes. The default value is `20` minutes.
	//
	// **Note:** Only Admin users can change this setting.
	MobileSessionTimeout string `json:"mobileSessionTimeout,omitempty"`
	// Metadata that indicates whether the `mobileSessionTimeout` property is editable.
	//
	MobileSessionTimeoutMetadata *SettingsMetadata `json:"mobileSessionTimeoutMetadata,omitempty"`
	// The number of active custom stamps associated with the account. DocuSign calculates this number automatically. This property is only visible to the DocuSign account manager.
	NumberOfActiveCustomStamps string `json:"numberOfActiveCustomStamps,omitempty"`
	// Boolean that specifies whether to opt in for Signing v02 on Mobile Devices functionality.
	OptInMobileSigningV02 Bool `json:"optInMobileSigningV02,omitempty"`
	// Metadata that indicates whether the `optInMobileSigningV02` property is editable.
	//
	OptInMobileSigningV02Metadata *SettingsMetadata `json:"optInMobileSigningV02Metadata,omitempty"`
	// Boolean that allows envelope senders to opt out of the recipient signing auto-navigation feature and opt out of updating tab font color.
	OptOutAutoNavTextAndTabColorUpdates Bool `json:"optOutAutoNavTextAndTabColorUpdates,omitempty"`
	// Metadata that indicates whether the `optOutAutoNavTextAndTabColorUpdates` property is editable.
	//
	OptOutAutoNavTextAndTabColorUpdatesMetadata *SettingsMetadata `json:"optOutAutoNavTextAndTabColorUpdatesMetadata,omitempty"`
	// Boolean that specifies whether to allow envelope senders to opt out of using the new platform seal.
	OptOutNewPlatformSeal Bool `json:"optOutNewPlatformSeal,omitempty"`
	// Metadata that indicates whether the `optOutNewPlatformSealPlatform` property is editable.
	//
	OptOutNewPlatformSealPlatformMetadata *SettingsMetadata `json:"optOutNewPlatformSealPlatformMetadata,omitempty"`
	//
	PdfMaxChunkedUploadPartSize string `json:"pdfMaxChunkedUploadPartSize,omitempty"`
	//
	PdfMaxChunkedUploadPartSizeMetadata *SettingsMetadata `json:"pdfMaxChunkedUploadPartSizeMetadata,omitempty"`
	//
	PdfMaxChunkedUploadTotalSize string `json:"pdfMaxChunkedUploadTotalSize,omitempty"`
	//
	PdfMaxChunkedUploadTotalSizeMetadata *SettingsMetadata `json:"pdfMaxChunkedUploadTotalSizeMetadata,omitempty"`
	//
	PdfMaxIndividualUploadSize string `json:"pdfMaxIndividualUploadSize,omitempty"`
	//
	PdfMaxIndividualUploadSizeMetadata *SettingsMetadata `json:"pdfMaxIndividualUploadSizeMetadata,omitempty"`
	// When **true,** senders can allow recipients to provide a phone number for the Phone Authentication process.
	//
	// **Note:** Only Admin users can change this setting.
	PhoneAuthRecipientMayProvidePhoneNumber Bool `json:"phoneAuthRecipientMayProvidePhoneNumber,omitempty"`
	// Metadata that indicates whether the `phoneAuthRecipientMayProvidePhoneNumber` property is editable.
	//
	PhoneAuthRecipientMayProvidePhoneNumberMetadata *SettingsMetadata `json:"phoneAuthRecipientMayProvidePhoneNumberMetadata,omitempty"`
	// The policy for adding a digital certificate to downloaded, printed, and emailed documents.
	//
	// Possible values are:
	//
	// - `no_sign`
	// - `no_sign_allow_user_override`
	// - `yes_sign` (Specifies that PDF files downloaded from the platform are signed.)
	//
	// **Note:** Only Admin users can change this setting.
	//
	PkiSignDownloadedPDFDocs string `json:"pkiSignDownloadedPDFDocs,omitempty"`
	// Metadata that indicates whether the `pkiSignDownloadedPDFDocs` property is editable.
	//
	PkiSignDownloadedPDFDocsMetadata *SettingsMetadata `json:"pkiSignDownloadedPDFDocsMetadata,omitempty"`
	//
	ReadOnlyMode string `json:"readOnlyMode,omitempty"`
	//
	ReadOnlyModeMetadata *SettingsMetadata `json:"readOnlyModeMetadata,omitempty"`
	// When **true,** recipients receiving envelopes from this account can override auto-navigation functionality.
	//
	// **Note:** Only Admin users can change this setting.
	//
	RecipientSigningAutoNavigationControl Bool `json:"recipientSigningAutoNavigationControl,omitempty"`
	// Metadata that indicates whether the `recipientSigningAutoNavigationControl` property is editable.
	//
	RecipientSigningAutoNavigationControlMetadata *SettingsMetadata `json:"recipientSigningAutoNavigationControlMetadata,omitempty"`
	// When **true,**
	// recipients receiving envelopes from this account
	// can sign offline.
	//
	// **Note:** Only Admin users can change this setting.
	//
	RecipientsCanSignOffline Bool `json:"recipientsCanSignOffline,omitempty"`
	// Metadata that indicates whether the `recipientsCanSignOffline` property is editable.
	//
	RecipientsCanSignOfflineMetadata *SettingsMetadata `json:"recipientsCanSignOfflineMetadata,omitempty"`
	// When **true,**
	// recipients are required
	// to use a 21 CFR part 11-compliant signing experience.
	//
	// **Note:** Only Admin users can change this setting.
	//
	Require21CFRpt11Compliance Bool `json:"require21CFRpt11Compliance,omitempty"`
	// Metadata that indicates whether the `require21CFRpt11Compliance` property is editable.
	//
	Require21CFRpt11ComplianceMetadata *SettingsMetadata `json:"require21CFRpt11ComplianceMetadata,omitempty"`
	// When **true,** signers who decline to sign an envelope sent from this account
	// are required to provide a reason for declining.
	//
	// **Note:** Only Admin users can change this setting.
	//
	RequireDeclineReason Bool `json:"requireDeclineReason,omitempty"`
	// Metadata that indicates whether the `requireDeclineReason` property is editable.
	//
	RequireDeclineReasonMetadata *SettingsMetadata `json:"requireDeclineReasonMetadata,omitempty"`
	// When **true,** the account requires external management of users.
	//
	// **Note:** Only Admin users can change this setting.
	//
	RequireExternalUserManagement Bool `json:"requireExternalUserManagement,omitempty"`
	// Metadata that indicates whether the `requireExternalUserManagement` property is editable.
	//
	RequireExternalUserManagementMetadata *SettingsMetadata `json:"requireExternalUserManagementMetadata,omitempty"`
	// Sets the Digital Signature certificate requirements for sending envelopes.
	// Valid values are:
	//
	// - `none`: A Digital Signature certificate is not required.
	// - `docusign_express`: Signers must use a DocuSign Express certificate.
	// - `docusign_personal`: Signers must use a DocuSign personal certificate.
	// - `safe`
	// - `open_trust`: Signers must use an OpenTrust certificate.
	//
	RequireSignerCertificateType string `json:"requireSignerCertificateType,omitempty"`
	// Metadata that indicates whether the `requireSignerCertificateType` property is editable.
	//
	RequireSignerCertificateTypeMetadata *SettingsMetadata `json:"requireSignerCertificateTypeMetadata,omitempty"`
	// The RSA account name.
	//
	// **Note:**
	// Only Admin users can change this setting. Modifying this value may disrupt
	// your ID Check capability.
	// Ensure you have the correct value before changing it.
	//
	RsaVeridAccountName string `json:"rsaVeridAccountName,omitempty"`
	// The password for the RSA account.
	//
	//
	// **Note:**
	// Only Admin users can change this setting. Modifying this value may disrupt
	// your ID Check capability.
	// Ensure you have the correct value before changing it.
	//
	RsaVeridPassword string `json:"rsaVeridPassword,omitempty"`
	// The RSA rule set used with the account.
	//
	// **Note:**
	// Only Admin users can change this setting. Modifying this value may disrupt
	// your ID Check capability.
	// Ensure you have the correct value before changing it.
	//
	RsaVeridRuleset string `json:"rsaVeridRuleset,omitempty"`
	// The user ID for the RSA account.
	//
	// **Note:**
	// Only Admin users can change this setting. Modifying this value may disrupt
	// your ID Check capability.
	// Ensure you have the correct value before changing it.
	//
	RsaVeridUserID string `json:"rsaVeridUserId,omitempty"`
	// Sets how self-signed documents are presented to the email recipients.
	// Valid values are:
	//
	// - `include_pdf`: A PDF of the completed document is attached to the email.
	// - `include_link`: A secure link to the self-signed documents is included
	//    in the email.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SelfSignedRecipientEmailDocument string `json:"selfSignedRecipientEmailDocument,omitempty"`
	// Metadata that indicates whether the `selfSignedRecipientEmailDocument` property is editable.
	//
	SelfSignedRecipientEmailDocumentMetadata *SettingsMetadata `json:"selfSignedRecipientEmailDocumentMetadata,omitempty"`
	// When **true,** the `selfSignedRecipientEmailDocument` user setting
	// can be set for an individual user.
	// The user setting overrides the account setting.
	//
	// **Note:** Only Admin users can change this account setting.
	//
	SelfSignedRecipientEmailDocumentUserOverride Bool `json:"selfSignedRecipientEmailDocumentUserOverride,omitempty"`
	// Metadata that indicates whether the `selfSignedRecipientEmailDocumentUserOverride` property is editable.
	//
	SelfSignedRecipientEmailDocumentUserOverrideMetadata *SettingsMetadata `json:"selfSignedRecipientEmailDocumentUserOverrideMetadata,omitempty"`
	//
	SendLockoutRecipientNotification string `json:"sendLockoutRecipientNotification,omitempty"`
	//
	SendLockoutRecipientNotificationMetadata *SettingsMetadata `json:"sendLockoutRecipientNotificationMetadata,omitempty"`
	// When true,
	// the account can use the
	// certified deliveries recipient type.
	//
	SendToCertifiedDeliveryEnabled string `json:"sendToCertifiedDeliveryEnabled,omitempty"`
	// Metadata that indicates whether the `sendToCertifiedDeliveryEnabled` property is editable.
	//
	SendToCertifiedDeliveryEnabledMetadata *SettingsMetadata `json:"sendToCertifiedDeliveryEnabledMetadata,omitempty"`
	// When **true,** a signer can draw their signature in each
	// location where a sign or initial tab exists. This functionality
	// is typically used for mobile signing.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SenderCanSignInEachLocation Bool `json:"senderCanSignInEachLocation,omitempty"`
	// Metadata that indicates whether the `senderCanSignInEachLocation` property is editable.
	//
	SenderCanSignInEachLocationMetadata *SettingsMetadata `json:"senderCanSignInEachLocationMetadata,omitempty"`
	// When **true,** a sender who is also a recipient of an envelope
	// must follow the authentication requirements for the envelope.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SenderMustAuthenticateSigning Bool `json:"senderMustAuthenticateSigning,omitempty"`
	// Metadata that indicates whether the `senderMustAuthenticateSigning` property is editable.
	//
	SenderMustAuthenticateSigningMetadata *SettingsMetadata `json:"senderMustAuthenticateSigningMetadata,omitempty"`
	// The account-wide default font color to use for the content of the tab.
	//
	// Valid values are:
	//
	// - `Black`
	// - `BrightBlue`
	// - `BrightRed`
	// - `DarkGreen`
	// - `DarkRed`
	// - `Gold`
	// - `Green`
	// - `NavyBlue`
	// - `Purple`
	// - `White`
	//
	SendingTagsFontColor string `json:"sendingTagsFontColor,omitempty"`
	// Metadata that indicates whether the `sendingTagsFontColor` property is editable.
	//
	SendingTagsFontColorMetadata *SettingsMetadata `json:"sendingTagsFontColorMetadata,omitempty"`
	// The account-wide default font to be used for the tab value. Supported fonts include:
	//
	// - `Default`
	// - `Arial`
	// - `ArialNarrow`
	// - `Calibri`
	// - `CourierNew`
	// - `Garamond`
	// - `Georgia`
	// - `Helvetica`
	// - `LucidaConsole`
	// - `MSGothic`
	// - `MSMincho`
	// - `OCR-A`
	// - `Tahoma`
	// - `TimesNewRoman`
	// - `Trebuchet`
	// - `Verdana`
	SendingTagsFontName string `json:"sendingTagsFontName,omitempty"`
	// Metadata that indicates whether the `sendingTagsFontName` property is editable.
	//
	SendingTagsFontNameMetadata *SettingsMetadata `json:"sendingTagsFontNameMetadata,omitempty"`
	// The account-wide default font size used for the information in the tab:
	//
	// - `Size7`
	// - `Size8`
	// - `Size9`
	// - `Size10`
	// - `Size11`
	// - `Size12`
	// - `Size14`
	// - `Size16`
	// - `Size18`
	// - `Size20`
	// - `Size22`
	// - `Size24`
	// - `Size26`
	// - `Size28`
	// - `Size36`
	// - `Size48`
	// - `Size72`
	SendingTagsFontSize string `json:"sendingTagsFontSize,omitempty"`
	// Metadata that indicates whether the `sendingTagsFontSize` property is editable.
	//
	SendingTagsFontSizeMetadata *SettingsMetadata `json:"sendingTagsFontSizeMetadata,omitempty"`
	// The amount of idle activity time, in minutes, before a user is automatically logged out of the system. The minimum setting is 20 minutes and the maximum setting is 120 minutes.
	//
	SessionTimeout string `json:"sessionTimeout,omitempty"`
	// Metadata that indicates whether the `sessionTimeout` property is editable.
	//
	SessionTimeoutMetadata *SettingsMetadata `json:"sessionTimeoutMetadata,omitempty"`
	// When **true,** senders can set the email language to use for
	// each recipient.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SetRecipEmailLang Bool `json:"setRecipEmailLang,omitempty"`
	// Metadata that indicates whether the `setRecipEmailLang` property is editable.
	//
	SetRecipEmailLangMetadata *SettingsMetadata `json:"setRecipEmailLangMetadata,omitempty"`
	// When **true,**
	// setting a unique language for a recipient
	// not only affects the email language, but also the signing
	// language they are presented with. When **false,** only the email will
	// be affected when the sender specifies a unique language for a
	// recipient.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SetRecipSignLang Bool `json:"setRecipSignLang,omitempty"`
	// Metadata that indicates whether the `setRecipSignLang` property is editable.
	//
	SetRecipSignLangMetadata *SettingsMetadata `json:"setRecipSignLangMetadata,omitempty"`
	// Boolean that specifies whether an account can use Shared Template Folders.
	SharedTemplateFolders Bool `json:"sharedTemplateFolders,omitempty"`
	// Metadata that indicates whether the `sharedTemplateFolders` property is editable.
	//
	SharedTemplateFoldersMetadata *SettingsMetadata `json:"sharedTemplateFoldersMetadata,omitempty"`
	// Boolean that specifies whether complete dialogs are displayed directly within an application in embedded signing sessions.
	ShowCompleteDialogInEmbeddedSession Bool `json:"showCompleteDialogInEmbeddedSession,omitempty"`
	// Metadata that indicates whether the `showCompleteDialogInEmbeddedSession` property is editable.
	//
	ShowCompleteDialogInEmbeddedSessionMetadata *SettingsMetadata `json:"showCompleteDialogInEmbeddedSessionMetadata,omitempty"`
	// When **true,** Conditional Routing options display to senders during the sending experience.
	ShowConditionalRoutingOnSend Bool `json:"showConditionalRoutingOnSend,omitempty"`
	//
	ShowConditionalRoutingOnSendMetadata *SettingsMetadata `json:"showConditionalRoutingOnSendMetadata,omitempty"`
	// Boolean that specifies whether conditional field options are initially displayed (before a user makes entries).
	ShowInitialConditionalFields Bool `json:"showInitialConditionalFields,omitempty"`
	// Metadata that indicates whether the `showInitialConditionalFields` property is editable.
	//
	ShowInitialConditionalFieldsMetadata *SettingsMetadata `json:"showInitialConditionalFieldsMetadata,omitempty"`
	// Boolean that specifies whether localized watermarks are displayed.
	ShowLocalizedWatermarks Bool `json:"showLocalizedWatermarks,omitempty"`
	// Metadata that indicates whether the `showLocalizedWatermarks` property is editable.
	//
	ShowLocalizedWatermarksMetadata *SettingsMetadata `json:"showLocalizedWatermarksMetadata,omitempty"`
	//
	ShowMaskedFieldsWhenDownloadingDocumentAsSender string `json:"showMaskedFieldsWhenDownloadingDocumentAsSender,omitempty"`
	//
	ShowMaskedFieldsWhenDownloadingDocumentAsSenderMetadata *SettingsMetadata `json:"showMaskedFieldsWhenDownloadingDocumentAsSenderMetadata,omitempty"`
	// When **true,**
	// show tutorials.
	//
	ShowTutorials Bool `json:"showTutorials,omitempty"`
	// Metadata that indicates whether the `showTutorials` property is editable.
	//
	ShowTutorialsMetadata *SettingsMetadata `json:"showTutorialsMetadata,omitempty"`
	// The format for the signature date. Valid values are:
	//
	// - `d/M/yyyy`
	// - `dd-MM-yy`
	// - `dd-MMM-yy`
	// - `dd-MM-yyyy`
	// - `dd.MM.yyyy`
	// - `dd-MMM-yyyy`
	// - `dd MMMM yyyy`
	// - `M/d/yyyy`
	// - `MM-dd-yyyy`
	// - `MM/dd/yyyy`
	// - `MM/dd/yy`
	// - `MMM-dd-yyyy`
	// - `MMM d, yyyy`
	// - `MMMM d, yyyy`
	// - `yyyy-MM-dd`
	// - `yyyy-MMM-dd`
	// - `yyyy/MM/dd`
	// - `yyyy MMMM d`
	//
	// **Note:** Only Admin users can change this setting.
	//
	SignDateFormat string `json:"signDateFormat,omitempty"`
	// Metadata that indicates whether the `signDateFormat` property is editable.
	//
	SignDateFormatMetadata *SettingsMetadata `json:"signDateFormatMetadata,omitempty"`
	//
	SignDateTimeAccountLanguageOverride string `json:"signDateTimeAccountLanguageOverride,omitempty"`
	//
	SignDateTimeAccountLanguageOverrideMetadata *SettingsMetadata `json:"signDateTimeAccountLanguageOverrideMetadata,omitempty"`
	//
	SignDateTimeAccountTimezoneOverride string `json:"signDateTimeAccountTimezoneOverride,omitempty"`
	//
	SignDateTimeAccountTimezoneOverrideMetadata *SettingsMetadata `json:"signDateTimeAccountTimezoneOverrideMetadata,omitempty"`
	// The format for the signature time. Valid values are:
	//
	// - `none`
	// - `HH:mm`
	// - `h:mm`
	// - `HH:mm:ss`
	// - `h:mm:ss`
	//
	SignTimeFormat string `json:"signTimeFormat,omitempty"`
	// Metadata that indicates whether the `signTimeFormat` property is editable.
	//
	SignTimeFormatMetadata *SettingsMetadata `json:"signTimeFormatMetadata,omitempty"`
	// When **true,**
	// the time shows the AM or PM indicator.
	//
	SignTimeShowAmPm Bool `json:"signTimeShowAmPm,omitempty"`
	// Metadata that indicates whether the `signTimeShowAmPm` property is editable.
	//
	SignTimeShowAmPmMetadata *SettingsMetadata `json:"signTimeShowAmPmMetadata,omitempty"`
	// Names of electronic or digital signature providers that can be used.
	SignatureProviders []string `json:"signatureProviders,omitempty"`
	// Metadata that indicates whether the `signatureProviders` property is editable.
	//
	SignatureProvidersMetadata *SettingsMetadata `json:"signatureProvidersMetadata,omitempty"`
	// When **true,**
	// the Certificate of Completion is included in the PDF of the envelope documents
	// when it is downloaded.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SignerAttachCertificateToEnvelopePDF Bool `json:"signerAttachCertificateToEnvelopePDF,omitempty"`
	// Metadata that indicates whether the `signerAttachCertificateToEnvelopePDF` property is editable.
	//
	SignerAttachCertificateToEnvelopePDFMetadata *SettingsMetadata `json:"signerAttachCertificateToEnvelopePDFMetadata,omitempty"`
	// When **true,** signer attachments are added to the parent document
	// that contains the attachment.
	// The default behavior creates
	// a new document in the envelope for every signer attachment.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SignerAttachConcat Bool `json:"signerAttachConcat,omitempty"`
	// Metadata that indicates whether the `signerAttachConcat` property is editable.
	//
	SignerAttachConcatMetadata *SettingsMetadata `json:"signerAttachConcatMetadata,omitempty"`
	// When **true,**
	// a signer can create a DocuSign account
	// after signing.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SignerCanCreateAccount Bool `json:"signerCanCreateAccount,omitempty"`
	// Metadata that indicates whether the `signerCanCreateAccount` property is editable.
	//
	SignerCanCreateAccountMetadata *SettingsMetadata `json:"signerCanCreateAccountMetadata,omitempty"`
	// When **true,** recipients can sign on a mobile device.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SignerCanSignOnMobile Bool `json:"signerCanSignOnMobile,omitempty"`
	// Metadata that indicates whether the `signerCanSignOnMobile` property is editable.
	//
	SignerCanSignOnMobileMetadata *SettingsMetadata `json:"signerCanSignOnMobileMetadata,omitempty"`
	// When **true,** an "envelope complete" email is sent to an in-session
	// (embedded) or offline signer after DocuSign processes the envelope
	// if in-session emails are not suppressed.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SignerInSessionUseEnvelopeCompleteEmail Bool `json:"signerInSessionUseEnvelopeCompleteEmail,omitempty"`
	// Metadata that indicates whether the `signerInSessionUseEnvelopeCompleteEmail` property is editable.
	//
	SignerInSessionUseEnvelopeCompleteEmailMetadata *SettingsMetadata `json:"signerInSessionUseEnvelopeCompleteEmailMetadata,omitempty"`
	// Sets the login requirements for signers. Valid values are:
	//
	// - `login_not_required`: Signers are not required to log in.
	// - `login_required_if_account_holder`: If the signer has a DocuSign account,
	//   they must log in to sign the document.
	// - `login_required_per_session`: The sender cannot send an envelope to anyone
	//   who does not have a DocuSign account.
	// - `login_required_per_envelope`: The sender cannot send an envelope to anyone
	//   who does not have a DocuSign account, and the signer must also log in for
	//   each envelope they will sign.
	//
	//
	// **Note:** Only Admin users can change this setting. If you use Direct PowerForms
	// or captive (embedded signers), the "Account required" settings are bypassed for
	// those signers. If your workflow requires that the signer have an account,
	// you should not use those methods.
	//
	SignerLoginRequirements string `json:"signerLoginRequirements,omitempty"`
	// Metadata that indicates whether the `signerLoginRequirements` property is editable.
	//
	SignerLoginRequirementsMetadata *SettingsMetadata `json:"signerLoginRequirementsMetadata,omitempty"`
	// When **true,** senders can only send an envelope to a recipient
	// that has a DocuSign account.
	//
	// **Note:** Only Account Administrators can change this setting.
	//
	SignerMustHaveAccount Bool `json:"signerMustHaveAccount,omitempty"`
	// Metadata that indicates whether the `signerMustHaveAccount` property is editable.
	//
	SignerMustHaveAccountMetadata *SettingsMetadata `json:"signerMustHaveAccountMetadata,omitempty"`
	// When **true,**
	// signers must log in to the DocuSign platform to sign an envelope.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SignerMustLoginToSign Bool `json:"signerMustLoginToSign,omitempty"`
	// Metadata that indicates whether the `signerMustLoginToSign` property is editable.
	//
	SignerMustLoginToSignMetadata *SettingsMetadata `json:"signerMustLoginToSignMetadata,omitempty"`
	// When **true,** the initial values of all SecureFields are written
	// to the document when it is sent.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SignerShowSecureFieldInitialValues Bool `json:"signerShowSecureFieldInitialValues,omitempty"`
	// Metadata that indicates whether the `signerShowSecureFieldInitialValues` property is editable.
	//
	SignerShowSecureFieldInitialValuesMetadata *SettingsMetadata `json:"signerShowSecureFieldInitialValuesMetadata,omitempty"`
	// The number of minutes
	// that a signing session stays
	// alive without any activity.
	//
	SigningSessionTimeout string `json:"signingSessionTimeout,omitempty"`
	// Metadata that indicates whether the `signingSessionTimeout` property is editable.
	//
	SigningSessionTimeoutMetadata *SettingsMetadata `json:"signingSessionTimeoutMetadata,omitempty"`
	// Reserved for DocuSign.
	//
	SigningUIVersion string `json:"signingUiVersion,omitempty"`
	// Reserved for DocuSign.
	SigningUIVersionMetadata *SettingsMetadata `json:"signingUiVersionMetadata,omitempty"`
	// When **true,** simplified sending is enabled for the account. The default value is **false.**
	SimplifiedSendingEnabled Bool `json:"simplifiedSendingEnabled,omitempty"`
	// Metadata that indicates whether the `simplifiedSendingEnabled` property is editable.
	//
	SimplifiedSendingEnabledMetadata *SettingsMetadata `json:"simplifiedSendingEnabledMetadata,omitempty"`
	// When **true,**
	// single sign-on (SSO) is enabled.
	//
	SingleSignOnEnabled Bool `json:"singleSignOnEnabled,omitempty"`
	// Metadata that indicates whether the `singleSignOnEnabled` property is editable.
	//
	SingleSignOnEnabledMetadata *SettingsMetadata `json:"singleSignOnEnabledMetadata,omitempty"`
	// When **true,**
	// do not require authentication prompt for viewing completed envelopes
	//
	SkipAuthCompletedEnvelopes Bool `json:"skipAuthCompletedEnvelopes,omitempty"`
	// Metadata that indicates whether the `skipAuthCompletedEnvelopes` property is editable.
	//
	SkipAuthCompletedEnvelopesMetadata *SettingsMetadata `json:"skipAuthCompletedEnvelopesMetadata,omitempty"`
	// When **true,**
	// recipients can use
	// [social ids](https://support.docusign.com/guides/signer-authentication)
	// when signing
	//
	SocialIDRecipAuth Bool `json:"socialIdRecipAuth,omitempty"`
	// Metadata that indicates whether the `socialIdRecipAuth` property is editable.
	//
	SocialIDRecipAuthMetadata *SettingsMetadata `json:"socialIdRecipAuthMetadata,omitempty"`
	// When **true,** senders can specify the visibility of the documents in an envelope at the recipient level.
	//
	SpecifyDocumentVisibility Bool `json:"specifyDocumentVisibility,omitempty"`
	// Metadata that indicates whether the `specifyDocumentVisibility` property is editable.
	//
	SpecifyDocumentVisibilityMetadata *SettingsMetadata `json:"specifyDocumentVisibilityMetadata,omitempty"`
	// When **true,**
	// when initiating correction of an in-flight envelope
	// the sender starts in advanced correct mode.
	//
	StartInAdvancedCorrect Bool `json:"startInAdvancedCorrect,omitempty"`
	// Metadata that indicates whether the `startInAdvancedCorrect` property is editable.
	//
	StartInAdvancedCorrectMetadata *SettingsMetadata `json:"startInAdvancedCorrectMetadata,omitempty"`
	// When **true,** account users must accept supplemental documents when signing.
	SupplementalDocumentsMustAccept Bool `json:"supplementalDocumentsMustAccept,omitempty"`
	// Metadata that indicates whether the `supplementalDocumentsMustAccept` property is editable.
	//
	SupplementalDocumentsMustAcceptMetadata *SettingsMetadata `json:"supplementalDocumentsMustAcceptMetadata,omitempty"`
	// When **true,** account users must both view and accept supplemental documents when signing.
	SupplementalDocumentsMustRead Bool `json:"supplementalDocumentsMustRead,omitempty"`
	// Metadata that indicates whether the `supplementalDocumentsMustRead` property is editable.
	//
	SupplementalDocumentsMustReadMetadata *SettingsMetadata `json:"supplementalDocumentsMustReadMetadata,omitempty"`
	// When **true,** account users must view supplemental documents when signing.
	SupplementalDocumentsMustView Bool `json:"supplementalDocumentsMustView,omitempty"`
	// Metadata that indicates whether the `supplementalDocumentsMustView` property is editable.
	//
	SupplementalDocumentsMustViewMetadata *SettingsMetadata `json:"supplementalDocumentsMustViewMetadata,omitempty"`
	// Boolean that specifies whether or not API calls require a x509 cert in the header of the call.
	SuppressCertificateEnforcement Bool `json:"suppressCertificateEnforcement,omitempty"`
	// Metadata that indicates whether the `suppressCertificateEnforcement` property is editable.
	//
	SuppressCertificateEnforcementMetadata *SettingsMetadata `json:"suppressCertificateEnforcementMetadata,omitempty"`
	// Account-wide tab settings.
	TabAccountSettings *TabAccountSettings `json:"tabAccountSettings,omitempty"`
	// Specifies the time zone
	// to use with the API.
	//
	// Valid values are:
	//
	// - `TZ_01_AfghanistanStandardTime`
	// - `TZ_02_AlaskanStandardTime`
	// - `TZ_03_ArabStandardTime`
	// - `TZ_04_ArabianStandardTime`
	// - `TZ_05_ArabicStandardTime`
	// - `TZ_06_ArgentinaStandardTime`
	// - `TZ_07_AtlanticStandardTime`
	// - `TZ_08_AUS_CentralStandardTime`
	// - `TZ_09_AUS_EasternStandardTime`
	// - `TZ_10_AzerbaijanStandardTime`
	// - `TZ_11_AzoresStandardTime`
	// - `TZ_12_BangladeshStandardTime`
	// - `TZ_13_CanadaCentralStandardTime`
	// - `TZ_14_CapeVerdeStandardTime`
	// - `TZ_15_CaucasusStandardTime`
	// - `TZ_16_CentralAustraliaStandardTime`
	// - `TZ_17_CentralAmericaStandardTime`
	// - `TZ_18_CentralAsiaStandardTime`
	// - `TZ_19_CentralBrazilianStandardTime`
	// - `TZ_20_CentralEuropeStandardTime`
	// - `TZ_21_CentralEuropeanStandardTime`
	// - `TZ_22_CentralPacificStandardTime`
	// - `TZ_23_CentralStandardTime`
	// - `TZ_24_CentralStandardTimeMexico`
	// - `TZ_25_ChinaStandardTime`
	// - `TZ_26_DatelineStandardTime`
	// - `TZ_27_E_AfricaStandardTime`
	// - `TZ_28_E_AustraliaStandardTime`
	// - `TZ_29_E_EuropeStandardTime`
	// - `TZ_30_E_SouthAmericaStandardTime`
	// - `TZ_31_EasternStandardTime`
	// - `TZ_32_EgyptStandardTime`
	// - `TZ_33_EkaterinburgStandardTime`
	// - `TZ_34_FijiStandardTime`
	// - `TZ_35_FLE_StandardTime`
	// - `TZ_36_GeorgianStandardTime`
	// - `TZ_37_GMT_StandardTime`
	// - `TZ_38_GreenlandStandardTime`
	// - `TZ_39_GreenwichStandardTime`
	// - `TZ_40_GTB_StandardTime`
	// - `TZ_41_HawaiianStandardTime`
	// - `TZ_42_IndiaStandardTime`
	// - `TZ_43_IranStandardTime`
	// - `TZ_44_IsraelStandardTime`
	// - `TZ_45_JordanStandardTime`
	// - `TZ_46_KaliningradStandardTime`
	// - `TZ_47_KamchatkaStandardTime`
	// - `TZ_48_KoreaStandardTime`
	// - `TZ_49_MagadanStandardTime`
	// - `TZ_50_MauritiusStandardTime`
	// - `TZ_51_MidAtlanticStandardTime`
	// - `TZ_52_MiddleEastStandardTime`
	// - `TZ_53_MontevideoStandardTime`
	// - `TZ_54_MoroccoStandardTime`
	// - `TZ_55_MountainStandardTime`
	// - `TZ_56_MountainStandardTimeMMexico`
	// - `TZ_57_MyanmarStandardTime`
	// - `TZ_58_N_CentralAsiaStandardTime`
	// - `TZ_59_NamibiaStandardTime`
	// - `TZ_60_NepalStandardTime`
	// - `TZ_61_NewZealandStandardTime`
	// - `TZ_62_NewfoundlandStandardTime`
	// - `TZ_63_NorthAsiaEastStandardTime`
	// - `TZ_64_NorthAsiaStandardTime`
	// - `TZ_65_PacificSAStandardTime`
	// - `TZ_66_PacificStandardTime`
	// - `TZ_67_PacificStandardTimeMexico`
	// - `TZ_68_PakistanStandardTime`
	// - `TZ_69_ParaguayStandardTime`
	// - `TZ_70_RomanceStandardTime`
	// - `TZ_71_RussianStandardTime`
	// - `TZ_72_SAEasternStandardTime`
	// - `TZ_73_SAPacificStandardTime`
	// - `TZ_74_SAWesternStandardTime`
	// - `TZ_75_SamoaStandardTime`
	// - `TZ_76_SE_AsiaStandardTime`
	// - `TZ_77_SingaporeStandardTime`
	// - `TZ_78_SouthAfricaStandardTime`
	// - `TZ_79_SriLankaStandardTime`
	// - `TZ_80_SyriaStandardTime`
	// - `TZ_81_TaipeiStandardTime`
	// - `TZ_82_TasmaniaStandardTime`
	// - `TZ_83_TokyoStandardTime`
	// - `TZ_84_TongaStandardTime`
	// - `TZ_85_TurkeyStandardTime`
	// - `TZ_86_UlaanbaatarStandardTime`
	// - `TZ_87_US_EasternStandardTime`
	// - `TZ_88_USMountainStandardTime`
	// - `TZ_89_VenezuelaStandardTime`
	// - `TZ_90_VladivostokStandardTime`
	// - `TZ_91_W_AustraliaStandardTime`
	// - `TZ_92_W_CentralAfricaStandardTime`
	// - `TZ_93_W_EuropeStandardTime`
	// - `TZ_94_WestAsiaStandardTime`
	// - `TZ_95_WestPacificStandardTime`
	// - `TZ_96_YakutskStandardTime`
	//
	TimezoneOffsetAPI string `json:"timezoneOffsetAPI,omitempty"`
	// Metadata that indicates whether the `timezoneOffsetAPI` property is editable.
	//
	TimezoneOffsetAPIMetadata *SettingsMetadata `json:"timezoneOffsetAPIMetadata,omitempty"`
	// Specifies the time zone
	// to use in the UI.
	//
	// Valid values are:
	//
	// - `TZ_01_AfghanistanStandardTime`
	// - `TZ_02_AlaskanStandardTime`
	// - `TZ_03_ArabStandardTime`
	// - `TZ_04_ArabianStandardTime`
	// - `TZ_05_ArabicStandardTime`
	// - `TZ_06_ArgentinaStandardTime`
	// - `TZ_07_AtlanticStandardTime`
	// - `TZ_08_AUS_CentralStandardTime`
	// - `TZ_09_AUS_EasternStandardTime`
	// - `TZ_10_AzerbaijanStandardTime`
	// - `TZ_11_AzoresStandardTime`
	// - `TZ_12_BangladeshStandardTime`
	// - `TZ_13_CanadaCentralStandardTime`
	// - `TZ_14_CapeVerdeStandardTime`
	// - `TZ_15_CaucasusStandardTime`
	// - `TZ_16_CentralAustraliaStandardTime`
	// - `TZ_17_CentralAmericaStandardTime`
	// - `TZ_18_CentralAsiaStandardTime`
	// - `TZ_19_CentralBrazilianStandardTime`
	// - `TZ_20_CentralEuropeStandardTime`
	// - `TZ_21_CentralEuropeanStandardTime`
	// - `TZ_22_CentralPacificStandardTime`
	// - `TZ_23_CentralStandardTime`
	// - `TZ_24_CentralStandardTimeMexico`
	// - `TZ_25_ChinaStandardTime`
	// - `TZ_26_DatelineStandardTime`
	// - `TZ_27_E_AfricaStandardTime`
	// - `TZ_28_E_AustraliaStandardTime`
	// - `TZ_29_E_EuropeStandardTime`
	// - `TZ_30_E_SouthAmericaStandardTime`
	// - `TZ_31_EasternStandardTime`
	// - `TZ_32_EgyptStandardTime`
	// - `TZ_33_EkaterinburgStandardTime`
	// - `TZ_34_FijiStandardTime`
	// - `TZ_35_FLE_StandardTime`
	// - `TZ_36_GeorgianStandardTime`
	// - `TZ_37_GMT_StandardTime`
	// - `TZ_38_GreenlandStandardTime`
	// - `TZ_39_GreenwichStandardTime`
	// - `TZ_40_GTB_StandardTime`
	// - `TZ_41_HawaiianStandardTime`
	// - `TZ_42_IndiaStandardTime`
	// - `TZ_43_IranStandardTime`
	// - `TZ_44_IsraelStandardTime`
	// - `TZ_45_JordanStandardTime`
	// - `TZ_46_KaliningradStandardTime`
	// - `TZ_47_KamchatkaStandardTime`
	// - `TZ_48_KoreaStandardTime`
	// - `TZ_49_MagadanStandardTime`
	// - `TZ_50_MauritiusStandardTime`
	// - `TZ_51_MidAtlanticStandardTime`
	// - `TZ_52_MiddleEastStandardTime`
	// - `TZ_53_MontevideoStandardTime`
	// - `TZ_54_MoroccoStandardTime`
	// - `TZ_55_MountainStandardTime`
	// - `TZ_56_MountainStandardTimeMMexico`
	// - `TZ_57_MyanmarStandardTime`
	// - `TZ_58_N_CentralAsiaStandardTime`
	// - `TZ_59_NamibiaStandardTime`
	// - `TZ_60_NepalStandardTime`
	// - `TZ_61_NewZealandStandardTime`
	// - `TZ_62_NewfoundlandStandardTime`
	// - `TZ_63_NorthAsiaEastStandardTime`
	// - `TZ_64_NorthAsiaStandardTime`
	// - `TZ_65_PacificSAStandardTime`
	// - `TZ_66_PacificStandardTime`
	// - `TZ_67_PacificStandardTimeMexico`
	// - `TZ_68_PakistanStandardTime`
	// - `TZ_69_ParaguayStandardTime`
	// - `TZ_70_RomanceStandardTime`
	// - `TZ_71_RussianStandardTime`
	// - `TZ_72_SAEasternStandardTime`
	// - `TZ_73_SAPacificStandardTime`
	// - `TZ_74_SAWesternStandardTime`
	// - `TZ_75_SamoaStandardTime`
	// - `TZ_76_SE_AsiaStandardTime`
	// - `TZ_77_SingaporeStandardTime`
	// - `TZ_78_SouthAfricaStandardTime`
	// - `TZ_79_SriLankaStandardTime`
	// - `TZ_80_SyriaStandardTime`
	// - `TZ_81_TaipeiStandardTime`
	// - `TZ_82_TasmaniaStandardTime`
	// - `TZ_83_TokyoStandardTime`
	// - `TZ_84_TongaStandardTime`
	// - `TZ_85_TurkeyStandardTime`
	// - `TZ_86_UlaanbaatarStandardTime`
	// - `TZ_87_US_EasternStandardTime`
	// - `TZ_88_USMountainStandardTime`
	// - `TZ_89_VenezuelaStandardTime`
	// - `TZ_90_VladivostokStandardTime`
	// - `TZ_91_W_AustraliaStandardTime`
	// - `TZ_92_W_CentralAfricaStandardTime`
	// - `TZ_93_W_EuropeStandardTime`
	// - `TZ_94_WestAsiaStandardTime`
	// - `TZ_95_WestPacificStandardTime`
	// - `TZ_96_YakutskStandardTime`
	//
	TimezoneOffsetUI string `json:"timezoneOffsetUI,omitempty"`
	// Metadata that indicates whether the `timezoneOffsetUI` property is editable.
	//
	TimezoneOffsetUIMetadata *SettingsMetadata `json:"timezoneOffsetUIMetadata,omitempty"`
	// Reserved for DocuSign.
	//
	UniversalSignatureOptIn string `json:"universalSignatureOptIn,omitempty"`
	// Reserved for DocuSign.
	//
	UseAccountLevelEmail string `json:"useAccountLevelEmail,omitempty"`
	// Metadata that indicates whether the `useAccountLevelEmail` property is editable.
	//
	UseAccountLevelEmailMetadata *SettingsMetadata `json:"useAccountLevelEmailMetadata,omitempty"`
	// When **true,** the account uses an Electronic Record and
	// Signature Disclosure Statement.
	//
	// **Note:** Only Admin users can change this setting.
	//
	UseConsumerDisclosure Bool `json:"useConsumerDisclosure,omitempty"`
	// Metadata that indicates whether the `useConsumerDisclosure` property is editable.
	//
	UseConsumerDisclosureMetadata *SettingsMetadata `json:"useConsumerDisclosureMetadata,omitempty"`
	// When **true,** specifies that recipients in the same account as the sender must agree to eSign an Electronic Record and Signature Disclosure Statement.
	UseConsumerDisclosureWithinAccount Bool `json:"useConsumerDisclosureWithinAccount,omitempty"`
	// Metadata that indicates whether the `useConsumerDisclosureWithinAccount` property is editable.
	//
	UseConsumerDisclosureWithinAccountMetadata *SettingsMetadata `json:"useConsumerDisclosureWithinAccountMetadata,omitempty"`
	// Reserved for DocuSign.
	//
	UseDerivedKeys string `json:"useDerivedKeys,omitempty"`
	// Metadata that indicates whether the `useDerivedKeys` property is editable.
	//
	UseDerivedKeysMetadata *SettingsMetadata `json:"useDerivedKeysMetadata,omitempty"`
	// When **true,**
	// signers
	// are required to use Express Digital Signatures.
	//
	UseDocuSignExpressSignerCertificate Bool `json:"useDocuSignExpressSignerCertificate,omitempty"`
	// Metadata that indicates whether the `useDocuSignExpressSignerCertificate` property is editable.
	//
	UseDocuSignExpressSignerCertificateMetadata *SettingsMetadata `json:"useDocuSignExpressSignerCertificateMetadata,omitempty"`
	//
	UseMultiAppGroupsData string `json:"useMultiAppGroupsData,omitempty"`
	//
	UseMultiAppGroupsDataMetadata *SettingsMetadata `json:"useMultiAppGroupsDataMetadata,omitempty"`
	// Reserved for DocuSign.
	//
	UseNewBlobForPdf string `json:"useNewBlobForPdf,omitempty"`
	// Metadata that indicates whether the `useNewBlobForPdf` property is editable.
	//
	UseNewBlobForPdfMetadata *SettingsMetadata `json:"useNewBlobForPdfMetadata,omitempty"`
	// When **true,**
	// signers are
	// required to use SAFE digital signatures.
	//
	UseSAFESignerCertificates Bool `json:"useSAFESignerCertificates,omitempty"`
	// Metadata that indicates whether the `useSAFESignerCertificates` property is editable.
	//
	UseSAFESignerCertificatesMetadata *SettingsMetadata `json:"useSAFESignerCertificatesMetadata,omitempty"`
	// Boolean that specifies whether the account uses the digital signature provider platform to eSign.
	UseSignatureProviderPlatform Bool `json:"useSignatureProviderPlatform,omitempty"`
	// Metadata that indicates whether the `useSignatureProviderPlatform` property is editable.
	//
	UseSignatureProviderPlatformMetadata *SettingsMetadata `json:"useSignatureProviderPlatformMetadata,omitempty"`
	//
	UseSmartContractsV1 string `json:"useSmartContractsV1,omitempty"`
	// When **true,**
	// the account can use the API.
	//
	// **Note:** Only SysAdmin users can change this setting.
	//
	UsesAPI Bool `json:"usesAPI,omitempty"`
	// Metadata that indicates whether the `usesAPI` property is editable.
	//
	UsesAPIMetadata *SettingsMetadata `json:"usesAPIMetadata,omitempty"`
	// Boolean that specifies whether validations on recipient email domains are allowed.
	ValidationsAllowed Bool `json:"validationsAllowed,omitempty"`
	// Metadata that indicates whether the `validationsAllowed` property is editable.
	//
	ValidationsAllowedMetadata *SettingsMetadata `json:"validationsAllowedMetadata,omitempty"`
	// Valid values are:
	//
	// - `docusign`
	// - `account`
	//
	ValidationsBrand string `json:"validationsBrand,omitempty"`
	// Metadata that indicates whether the `validationsBrand` property is editable.
	//
	ValidationsBrandMetadata *SettingsMetadata `json:"validationsBrandMetadata,omitempty"`
	// Valid values are:
	//
	// - `none`
	// - `monthly`
	//
	ValidationsCadence string `json:"validationsCadence,omitempty"`
	// Metadata that indicates whether the `validationsCadence` property is editable.
	//
	ValidationsCadenceMetadata *SettingsMetadata `json:"validationsCadenceMetadata,omitempty"`
	// When **true,**
	// enables validations.
	//
	ValidationsEnabled Bool `json:"validationsEnabled,omitempty"`
	// Metadata that indicates whether the `validationsEnabled` property is editable.
	//
	ValidationsEnabledMetadata *SettingsMetadata `json:"validationsEnabledMetadata,omitempty"`
	// Valid values are:
	//
	// - `none`
	// - `life_sciences_part11`
	//
	ValidationsReport string `json:"validationsReport,omitempty"`
	// Metadata that indicates whether the `validationsReport` property is editable.
	//
	ValidationsReportMetadata *SettingsMetadata `json:"validationsReportMetadata,omitempty"`
	// When **true,**
	// the
	// [watermark feature](https://support.docusign.com/en/articles/How-do-I-manage-the-watermark-for-In-Process-envelopes-sent-from-my-account)
	// is enabled for the account.
	//
	WaterMarkEnabled Bool `json:"waterMarkEnabled,omitempty"`
	// Metadata that indicates whether the `waterMarkEnabled` property is editable.
	//
	WaterMarkEnabledMetadata *SettingsMetadata `json:"waterMarkEnabledMetadata,omitempty"`
	// When **true,**
	// sent reminders are included in the envelope history.
	WriteReminderToEnvelopeHistory Bool `json:"writeReminderToEnvelopeHistory,omitempty"`
	// Metadata that indicates whether the `writeReminderToEnvelopeHistory` property is editable.
	//
	WriteReminderToEnvelopeHistoryMetadata *SettingsMetadata `json:"writeReminderToEnvelopeHistoryMetadata,omitempty"`
	// The smallest screen allowed.
	WurflMinAllowableScreenSize string `json:"wurflMinAllowableScreenSize,omitempty"`
	// Metadata that indicates whether the `wurflMinAllowableScreenSize` property is editable.
	//
	WurflMinAllowableScreenSizeMetadata *SettingsMetadata `json:"wurflMinAllowableScreenSizeMetadata,omitempty"`
}

AccountSettingsInformation contains account settings information. Used in requests to set property values. Used in responses to report property values.

type AccountSharedAccess

type AccountSharedAccess struct {
	// The account ID associated with the envelope.
	AccountID string `json:"accountId,omitempty"`
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// A complex type containing an errorCode and message identifying the error that occurred.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// A list of shared access information of envelope and templates for the users specified in the request.
	SharedAccess []MemberSharedItems `json:"sharedAccess,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

AccountSharedAccess contains shared access information.

type AccountSignature added in v0.10.0

type AccountSignature struct {
	// The UTC date and time when the user adopted the signature.
	AdoptedDateTime string `json:"adoptedDateTime,omitempty"`
	// The UTC DateTime when the item was created.
	CreatedDateTime string `json:"createdDateTime,omitempty"`
	//
	CustomField string `json:"customField,omitempty"`
	// Specifies the area in which a date stamp is placed. This parameter uses pixel positioning to draw a rectangle at the center of the stamp area. The stamp is superimposed on top of this central area.
	//
	// This property contains the following information about the central rectangle:
	//
	// - `DateAreaX`: The X axis position of the top-left corner.
	// - `DateAreaY`: The Y axis position of the top-left corner.
	// - `DateAreaWidth`: The width of the rectangle.
	// - `DateAreaHeight`: The height of the rectangle.
	DateStampProperties *DateStampProperties `json:"dateStampProperties,omitempty"`
	// When **true,** users may not resize the stamp.
	DisallowUserResizeStamp Bool `json:"disallowUserResizeStamp,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Optionally specify an external identifier for the user's signature.
	ExternalID string `json:"externalID,omitempty"`
	//
	ImageBase64 string `json:"imageBase64,omitempty"`
	// Specificies the type of image. Valid values are:
	//
	// - `signature_image`
	// - `initials_image`
	ImageType string `json:"imageType,omitempty"`
	// The ID of the user's initials image.
	Initials150ImageID string `json:"initials150ImageId,omitempty"`
	// The URI for retrieving the image of the user's initials.
	InitialsImageURI string `json:"initialsImageUri,omitempty"`
	// Boolean that specifies whether the signature is the default signature for the user.
	IsDefault Bool `json:"isDefault,omitempty"`
	// The date and time that the item was last modified.
	LastModifiedDateTime string `json:"lastModifiedDateTime,omitempty"`
	// The National Association of Realtors (NAR) membership ID for a user who is a realtor.
	NrdsID string `json:"nrdsId,omitempty"`
	// The realtor's last name.
	NrdsLastName string `json:"nrdsLastName,omitempty"`
	// The realtor's NAR membership status. The value `active` verifies that the user is a current NAR member. Valid values are:
	//
	// - `Active`
	// - `Inactive`
	// - `Terminate`
	// - `Provisional`
	// - `Deceased`
	// - `Suspend`
	// - `Unknown`
	NrdsStatus string `json:"nrdsStatus,omitempty"`
	// The phonetic spelling of the `signatureName`.
	PhoneticName string `json:"phoneticName,omitempty"`
	// The ID of the user's signature image.
	Signature150ImageID string `json:"signature150ImageId,omitempty"`
	// The font type to use for the signature if the signature is not drawn. The following font styles  are supported. The quotes are to indicate that these values are strings, not `enums`.
	//
	// - `"1_DocuSign"`
	// - `"2_DocuSign"`
	// - `"3_DocuSign"`
	// - `"4_DocuSign"`
	// - `"5_DocuSign"`
	// - `"6_DocuSign"`
	// - `"7_DocuSign"`
	// - `"8_DocuSign"`
	// - `"Mistral"`
	// - `"Rage Italic"`
	//
	SignatureFont string `json:"signatureFont,omitempty"`
	//
	SignatureGroups []SignatureGroup `json:"signatureGroups,omitempty"`
	// Specifies the signature ID associated with the signature name. You can use the signature ID in the URI in place of the signature name, and the value stored in the `signatureName` property in the body is used. This allows the use of special characters (such as "&", "<", ">") in a the signature name. Note that with each update to signatures, the returned signature ID might change, so the caller will need to trigger off the signature name to get the new signature ID.
	SignatureID string `json:"signatureId,omitempty"`
	// An endpoint URI that you can use to retrieve the user's signature image.
	SignatureImageURI string `json:"signatureImageUri,omitempty"`
	// Specifies the user's signature in initials format.
	SignatureInitials string `json:"signatureInitials,omitempty"`
	// Specifies the user's signature name.
	SignatureName string `json:"signatureName,omitempty"`
	// The rights that the user has to the signature. Valid values are:
	//
	// - `none`
	// - `read`
	// - `admin`
	SignatureRights string `json:"signatureRights,omitempty"`
	// Specifies the type of signature.
	SignatureType string `json:"signatureType,omitempty"`
	//
	SignatureUsers []SignatureUser `json:"signatureUsers,omitempty"`
	// The format of a stamp. Valid values are:
	//
	// - `NameHanko`: The stamp represents only the signer's name.
	// - `NameDateHanko`: The stamp represents the signer's name and the date.
	StampFormat string `json:"stampFormat,omitempty"`
	// The URI for retrieving the image of the user's stamp.
	StampImageURI string `json:"stampImageUri,omitempty"`
	// The physical height of the stamp image (in millimeters) that the stamp vendor recommends for displaying the image in PDF documents.
	StampSizeMM string `json:"stampSizeMM,omitempty"`
	// The type of stamp. Valid values are:
	//
	// - `signature`: A signature image. This is the default value.
	// - `stamp`: A stamp image.
	// - null
	StampType string `json:"stampType,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * sent - The envelope is sent to the recipients.
	// * created - The envelope is saved as a draft and can be modified and sent later.
	Status string `json:"status,omitempty"`
}

AccountSignature not described in definition file

type AccountSignatureDefinition added in v0.10.0

type AccountSignatureDefinition struct {
	// Specifies the area in which a date stamp is placed. This parameter uses pixel positioning to draw a rectangle at the center of the stamp area. The stamp is superimposed on top of this central area.
	//
	// This property contains the following information about the central rectangle:
	//
	// - `DateAreaX`: The X axis position of the top-left corner.
	// - `DateAreaY`: The Y axis position of the top-left corner.
	// - `DateAreaWidth`: The width of the rectangle.
	// - `DateAreaHeight`: The height of the rectangle.
	DateStampProperties *DateStampProperties `json:"dateStampProperties,omitempty"`
	// When **true,** users may not resize the stamp.
	DisallowUserResizeStamp Bool `json:"disallowUserResizeStamp,omitempty"`
	// Optionally specify an external identifier for the user's signature.
	ExternalID string `json:"externalID,omitempty"`
	// Specificies the type of image. Valid values are:
	//
	// - `signature_image`
	// - `initials_image`
	ImageType string `json:"imageType,omitempty"`
	// Boolean that specifies whether the signature is the default signature for the user.
	IsDefault Bool `json:"isDefault,omitempty"`
	// The National Association of Realtors (NAR) membership ID for a user who is a realtor.
	NrdsID string `json:"nrdsId,omitempty"`
	// The realtor's last name.
	NrdsLastName string `json:"nrdsLastName,omitempty"`
	// The phonetic spelling of the `signatureName`.
	PhoneticName string `json:"phoneticName,omitempty"`
	// The font type to use for the signature if the signature is not drawn. The following font styles  are supported. The quotes are to indicate that these values are strings, not `enums`.
	//
	// - `"1_DocuSign"`
	// - `"2_DocuSign"`
	// - `"3_DocuSign"`
	// - `"4_DocuSign"`
	// - `"5_DocuSign"`
	// - `"6_DocuSign"`
	// - `"7_DocuSign"`
	// - `"8_DocuSign"`
	// - `"Mistral"`
	// - `"Rage Italic"`
	//
	SignatureFont string `json:"signatureFont,omitempty"`
	//
	SignatureGroups []SignatureGroupDef `json:"signatureGroups,omitempty"`
	// Specifies the signature ID associated with the signature name. You can use the signature ID in the URI in place of the signature name, and the value stored in the `signatureName` property in the body is used. This allows the use of special characters (such as "&", "<", ">") in a the signature name. Note that with each update to signatures, the returned signature ID might change, so the caller will need to trigger off the signature name to get the new signature ID.
	SignatureID string `json:"signatureId,omitempty"`
	// Specifies the user's signature in initials format.
	SignatureInitials string `json:"signatureInitials,omitempty"`
	// Specifies the user's signature name.
	SignatureName string `json:"signatureName,omitempty"`
	// Specifies the type of signature.
	SignatureType string `json:"signatureType,omitempty"`
	//
	SignatureUsers []SignatureUserDef `json:"signatureUsers,omitempty"`
	// The format of a stamp. Valid values are:
	//
	// - `NameHanko`: The stamp represents only the signer's name.
	// - `NameDateHanko`: The stamp represents the signer's name and the date.
	StampFormat string `json:"stampFormat,omitempty"`
	// The physical height of the stamp image (in millimeters) that the stamp vendor recommends for displaying the image in PDF documents.
	StampSizeMM string `json:"stampSizeMM,omitempty"`
}

AccountSignatureDefinition not described in definition file

type AccountSignatureProvider

type AccountSignatureProvider struct {
	// Reserved for DocuSign.
	IsRequired string `json:"isRequired,omitempty"`
	// Reserved for DocuSign.
	Priority string `json:"priority,omitempty"`
	// Reserved for DocuSign.
	SignatureProviderDisplayName string `json:"signatureProviderDisplayName,omitempty"`
	// Reserved for DocuSign.
	SignatureProviderID string `json:"signatureProviderId,omitempty"`
	// The name of an Electronic or Standards Based Signature (digital signature) provider for the signer to use. For details, see [the current provider list](/docs/esign-rest-api/esign101/concepts/standards-based-signatures/). You can also retrieve the list by using the [AccountSignatureProviders: List](/docs/esign-rest-api/reference/accounts/accountsignatureproviders/list/) method.
	//
	// Example: `universalsignaturepen_default`
	//
	//
	SignatureProviderName string `json:"signatureProviderName,omitempty"`
	// Reserved for DocuSign.
	SignatureProviderOptionsMetadata []AccountSignatureProviderOption `json:"signatureProviderOptionsMetadata,omitempty"`
	// Reserved for DocuSign.
	SignatureProviderRequiredOptions []SignatureProviderRequiredOption `json:"signatureProviderRequiredOptions,omitempty"`
}

AccountSignatureProvider contains information about the signature provider associated with the Identity Verification workflow. If empty, then this specific workflow is not intended for signers.

type AccountSignatureProviderOption

type AccountSignatureProviderOption struct {
	// Reserved for DocuSign.
	SignatureProviderOptionDisplayName string `json:"signatureProviderOptionDisplayName,omitempty"`
	// Reserved for DocuSign.
	SignatureProviderOptionID string `json:"signatureProviderOptionId,omitempty"`
	// Reserved for DocuSign.
	SignatureProviderOptionName string `json:"signatureProviderOptionName,omitempty"`
}

AccountSignatureProviderOption reserved for DocuSign.

type AccountSignatureProviders

type AccountSignatureProviders struct {
	// Names of electronic or digital signature providers that can be used.
	SignatureProviders []AccountSignatureProvider `json:"signatureProviders,omitempty"`
}

AccountSignatureProviders this resource provides information on the Standards Based Signature providers that have been provisioned for an account.

type AccountSignaturesInformation added in v0.10.0

type AccountSignaturesInformation struct {
	//
	AccountSignatures []AccountSignature `json:"accountSignatures,omitempty"`
}

AccountSignaturesInformation not described in definition file

type AccountUISettings added in v0.10.0

type AccountUISettings struct {
	//
	AdminMessage *AdminMessage `json:"adminMessage,omitempty"`
	//
	AskAnAdmin *AskAnAdmin `json:"askAnAdmin,omitempty"`
	//
	EnableAdminMessage string `json:"enableAdminMessage,omitempty"`
	//
	EnableAdminMessageMetadata *SettingsMetadata `json:"enableAdminMessageMetadata,omitempty"`
	//
	EnableEasySignCanUseMultiTemplateApply string `json:"enableEasySignCanUseMultiTemplateApply,omitempty"`
	//
	EnableEasySignCanUseMultiTemplateApplyMetadata *SettingsMetadata `json:"enableEasySignCanUseMultiTemplateApplyMetadata,omitempty"`
	//
	EnableEasySignTemplateUpload string `json:"enableEasySignTemplateUpload,omitempty"`
	//
	EnableEasySignTemplateUploadMetadata *SettingsMetadata `json:"enableEasySignTemplateUploadMetadata,omitempty"`
	//
	EnableEnvelopeCopyWithData string `json:"enableEnvelopeCopyWithData,omitempty"`
	//
	EnableEnvelopeCopyWithDataMetadata *SettingsMetadata `json:"enableEnvelopeCopyWithDataMetadata,omitempty"`
	//
	EnableLegacySendflowLink string `json:"enableLegacySendflowLink,omitempty"`
	//
	EnableLegacySendflowLinkMetadata *SettingsMetadata `json:"enableLegacySendflowLinkMetadata,omitempty"`
	//
	HasExternalLinkedAccounts string `json:"hasExternalLinkedAccounts,omitempty"`
	//
	HasExternalLinkedAccountsMetadata *SettingsMetadata `json:"hasExternalLinkedAccountsMetadata,omitempty"`
	//
	HideSendAnEnvelope string `json:"hideSendAnEnvelope,omitempty"`
	//
	HideSendAnEnvelopeMetadata *SettingsMetadata `json:"hideSendAnEnvelopeMetadata,omitempty"`
	// When **true,** the **Templates** menu is hidden from account users who are not Admins. The default value is **false.**
	HideUseATemplate Bool `json:"hideUseATemplate,omitempty"`
	//
	HideUseATemplateInPrepare string `json:"hideUseATemplateInPrepare,omitempty"`
	//
	HideUseATemplateInPrepareMetadata *SettingsMetadata `json:"hideUseATemplateInPrepareMetadata,omitempty"`
	//
	HideUseATemplateMetadata *SettingsMetadata `json:"hideUseATemplateMetadata,omitempty"`
	//
	OrderBasedRecipientIDGeneration string `json:"orderBasedRecipientIdGeneration,omitempty"`
	//
	OrderBasedRecipientIDGenerationMetadata *SettingsMetadata `json:"orderBasedRecipientIdGenerationMetadata,omitempty"`
	//
	RemoveEnvelopeForwarding string `json:"removeEnvelopeForwarding,omitempty"`
	//
	RemoveEnvelopeForwardingMetadata *SettingsMetadata `json:"removeEnvelopeForwardingMetadata,omitempty"`
	//
	ShouldRedactAccessCode string `json:"shouldRedactAccessCode,omitempty"`
	//
	ShouldRedactAccessCodeMetadata *SettingsMetadata `json:"shouldRedactAccessCodeMetadata,omitempty"`
	//
	UploadNewImageToSignOrInitial string `json:"uploadNewImageToSignOrInitial,omitempty"`
	//
	UploadNewImageToSignOrInitialMetadata *SettingsMetadata `json:"uploadNewImageToSignOrInitialMetadata,omitempty"`
}

AccountUISettings is an object that defines the options that are available to non-administrators in the UI.

type AddOn

type AddOn struct {
	// Reserved for DocuSign.
	Active string `json:"active,omitempty"`
	// Reserved for DocuSign.
	AddOnID string `json:"addOnId,omitempty"`
	// A unique ID for the Salesforce object.
	ID string `json:"id,omitempty"`
	// Reserved for DocuSign.
	Name string `json:"name,omitempty"`
}

AddOn contains information about add ons.

type AddressInformation

type AddressInformation struct {
	// The first line of the user's address.
	// Maximum length: 100 characters.
	Address1 string `json:"address1,omitempty"`
	// The second line of the user's address.
	// Maximum length: 100 characters.
	Address2 string `json:"address2,omitempty"`
	// The user's city. Maximum length: 40 characters.
	City string `json:"city,omitempty"`
	// The user's country. Maximum length: 50 characters.
	Country string `json:"country,omitempty"`
	// A fax number associated with the address, if one is available.
	Fax string `json:"fax,omitempty"`
	// A phone number associated with the address.
	Phone string `json:"phone,omitempty"`
	// The user's postal code. Maximum length: 20 characters.
	PostalCode string `json:"postalCode,omitempty"`
	// The user's state or province. Maximum length: 40 characters.
	StateOrProvince string `json:"stateOrProvince,omitempty"`
	//
	ZipPlus4 string `json:"zipPlus4,omitempty"`
}

AddressInformation contains address information.

type AddressInformationInput

type AddressInformationInput struct {
	// A complex type that contains the following information for the new account: `address1`, `address2`, `city`, `country`, `fax`, `phone`, `postalCode` and `stateOrProvince`.
	//
	// The maximum characters for the strings are:
	// * `address1`, `address2`, `city`, `country` and `stateOrProvince`: 100 characters
	// * `postalCode`, `phone`, and `fax`: 20 characters
	//
	// **Note:** If country is US (United States), `stateOrProvince` codes are validated. Otherwise, `stateOrProvince` is treated as a non-validated string used to specify a state, province, or region.
	AddressInformation *AddressInformation `json:"addressInformation,omitempty"`
	// Specifies the display level for the recipient. Valid values are:
	// * `ReadOnly`
	// * `Editable`
	// * `DoNotDisplay`
	DisplayLevelCode string `json:"displayLevelCode,omitempty"`
	// A Boolean value that specifies whether the information must be returned in the response.
	ReceiveInResponse Bool `json:"receiveInResponse,omitempty"`
}

AddressInformationInput contains address input information.

type AdminMessage added in v0.10.0

type AdminMessage struct {
	//
	BaseMessage string `json:"baseMessage,omitempty"`
	//
	MoreInformation string `json:"moreInformation,omitempty"`
}

AdminMessage not described in definition file

type Agent

type Agent struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// Metadata that indicates whether the `accessCode` property is editable. This property is read-only.
	AccessCodeMetadata *PropertyMetadata `json:"accessCodeMetadata,omitempty"`
	// Optional. When **true,** the access code will be added to the email sent to the recipient. This nullifies the security measure of `accessCode` on the recipient.
	AddAccessCodeToEmail string `json:"addAccessCodeToEmail,omitempty"`
	// An array of additional notification objects.
	AdditionalNotifications []RecipientAdditionalNotification `json:"additionalNotifications,omitempty"`
	// When **true,** if the recipient is locked on a template, advanced recipient routing can override the lock.
	AllowSystemOverrideForLockedRecipient Bool `json:"allowSystemOverrideForLockedRecipient,omitempty"`
	// Error message provided by the destination email system. This field is only provided if the email notification to the recipient fails to send. This property is read-only.
	//
	AutoRespondedReason string `json:"autoRespondedReason,omitempty"`
	// Specifies whether the recipient is embedded or remote.
	//
	// If the `clientUserId` property is not null then the recipient is embedded. Use this field to associate the signer with their userId in your app. Authenticating the user is the responsibility of your app when you use embedded signing.
	//
	// Note: if the `clientUserId` property is set and either `SignerMustHaveAccount` or `SignerMustLoginToSign` property of the account settings is set to  **true,** an error is generated on sending.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// Indicates the number of times that the recipient has been through a signing completion for the envelope. If this number is greater than 0 for a signing group, only the user who previously completed may sign again. This property is read-only.
	CompletedCount string `json:"completedCount,omitempty"`
	//
	ConsentDetailsList []ConsentDetails `json:"consentDetailsList,omitempty"`
	// An optional array of strings that allows the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each customField string can be a maximum of 100 characters.
	CustomFields []string `json:"customFields,omitempty"`
	// The date and time the recipient declined the document. This property is read-only.
	DeclinedDateTime *time.Time `json:"declinedDateTime,omitempty"`
	// The reason the recipient declined the document. This property is read-only.
	DeclinedReason string `json:"declinedReason,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime *time.Time `json:"deliveredDateTime,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethodMetadata *PropertyMetadata `json:"deliveryMethodMetadata,omitempty"`
	// Reserved for DocuSign.
	DesignatorID string `json:"designatorId,omitempty"`
	// Reserved for DocuSign.
	DesignatorIDGUID string `json:"designatorIdGuid,omitempty"`
	// A list of `documentVisibility` objects. Each object in the list specifies whether a document in the envelope is visible to this recipient. For the envelope to use this functionality, Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true.**
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
	// The email ID of the agent. Notification of the document to sign is sent to this email id.
	//
	// Maximum length: 100 characters.
	Email string `json:"email,omitempty"`
	// Metadata that indicates whether the `email` property is editable. This property is read-only.
	EmailMetadata *PropertyMetadata `json:"emailMetadata,omitempty"`
	// An optional complex type that sets a specific email subject and body for this recipient's notification email.
	//
	// **Note:** You can set the `emailNotification` property separately for each recipient. If you set the value only for certain recipients, the other recipients will inherit the this value from the top-level `emailSubject` and `emailBlurb`.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	//
	EmailRecipientPostSigningURL string `json:"emailRecipientPostSigningURL,omitempty"`
	// Specifies a sender-provided valid URL string for redirecting an embedded recipient. When using this option, the embedded recipient still receives an email from DocuSign, just as a remote recipient would. When the document link in the email is clicked the recipient is redirected, through DocuSign, to the supplied URL to complete their actions. When routing to the URL, the sender's system (the server responding to the URL) must request a recipient token to launch a signing session.
	//
	// When `SIGN_AT_DOCUSIGN`, the recipient is directed to an embedded signing or viewing process directly at DocuSign. The signing or viewing action is initiated by the DocuSign system and the transaction activity and Certificate of Completion records will reflect this. In all other ways the process is identical to an embedded signing or viewing operation launched by a partner.
	//
	// It is important to understand that in a typical embedded workflow, the authentication of an embedded recipient is the responsibility of the sending application. DocuSign expects that senders will follow their own processes for establishing the recipient's identity. In this workflow the recipient goes through the sending application before the embedded signing or viewing process is initiated. However, when the sending application sets `EmbeddedRecipientStartURL=SIGN_AT_DOCUSIGN`, the recipient goes directly to the embedded signing or viewing process, bypassing the sending application and any authentication steps the sending application would use. In this case, DocuSign recommends that you use one of the normal DocuSign authentication features (Access Code, Phone Authentication, SMS Authentication, etc.) to verify the identity of the recipient.
	//
	// If the `clientUserId` property is NOT set, and the `embeddedRecipientStartURL` is set, DocuSign will ignore the redirect URL and launch the standard signing process for the email recipient. Information can be appended to the embedded recipient start URL using merge fields. The available merge fields items are: `envelopeId`, `recipientId`, `recipientName`, `recipientEmail`, and `customFields`. The `customFields` property must be set for the recipient or envelope. The merge fields are enclosed in double brackets.
	//
	// *Example*:
	//
	// `http://senderHost/[[mergeField1]]/ beginSigningSession? [[mergeField2]]&[[mergeField3]]`
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Specifies the documents that are not visible to this recipient. Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true** for the envelope to use this.
	//
	// When enforce signer visibility is enabled, documents with tabs can only be viewed by signers that have a tab on that document. Recipients that have an administrative role (Agent, Editor, or Intermediaries) or informational role (Certified Deliveries or Carbon Copies) can always see all the documents in an envelope, unless they are specifically excluded using this setting when an envelope is sent. Documents that do not have tabs are always visible to all recipients, unless they are specifically excluded using this setting when an envelope is sent.
	ExcludedDocuments Bool `json:"excludedDocuments,omitempty"`
	// Reserved for DocuSign.
	FaxNumber string `json:"faxNumber,omitempty"`
	// Reserved for DocuSign.
	FaxNumberMetadata *PropertyMetadata `json:"faxNumberMetadata,omitempty"`
	// The recipient's first name. Maximum Length: 50 characters.
	FirstName string `json:"firstName,omitempty"`
	// Metadata that indicates whether the `firstName` property is editable. This property is read-only.
	FirstNameMetadata *PropertyMetadata `json:"firstNameMetadata,omitempty"`
	// Reserved for DocuSign.
	FullName string `json:"fullName,omitempty"`
	// Reserved for DocuSign.
	FullNameMetadata *PropertyMetadata `json:"fullNameMetadata,omitempty"`
	// The name of the authentication check to use. This value must match one of the authentication types that the account uses. The names of these authentication types appear in the web console sending interface in the Identify list for a recipient. This setting overrides any default authentication setting. Valid values are:
	//
	// - `Phone Auth $`: The recipient must authenticate by using two-factor authentication (2FA). You provide the phone number to use for 2FA in the `phoneAuthentication` object.
	// - `SMS Auth $`: The recipient must authenticate via SMS. You provide the phone number to use in the `smsAuthentication` object.
	// - `ID Check $`: The  recipient must answer detailed security questions.
	//
	// **Example:** Your account has ID Check and SMS Authentication available. In the web console Identify list, these appear as ID Check $ and SMS Auth $. To use ID Check in an envelope, the idCheckConfigurationName should be ID Check $. For SMS, you would use SMS Auth $, and you would also need to add a phone number to the smsAuthentication node.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// Metadata that indicates whether the `idCheckConfigurationName` property is editable. This property is read-only.
	IDCheckConfigurationNameMetadata *PropertyMetadata `json:"idCheckConfigurationNameMetadata,omitempty"`
	// An object that contains input information related to a recipient ID check.
	IDCheckInformationInput *IDCheckInformationInput `json:"idCheckInformationInput,omitempty"`
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification *RecipientIdentityVerification `json:"identityVerification,omitempty"`
	// When **true** and the envelope recipient creates a DocuSign account after signing, the Manage Account Email Notification settings are used as the default settings for the recipient's account.
	InheritEmailNotificationConfiguration Bool `json:"inheritEmailNotificationConfiguration,omitempty"`
	// The recipient's last name.
	LastName string `json:"lastName,omitempty"`
	// Metadata that indicates whether the `lastName` property is editable. This property is read-only.
	LastNameMetadata *PropertyMetadata `json:"lastNameMetadata,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientPhoneAuthEditable string `json:"lockedRecipientPhoneAuthEditable,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientSmsEditable string `json:"lockedRecipientSmsEditable,omitempty"`
	// The full legal name of the recipient. Maximum Length: 100 characters.
	//
	// **Note:** You must always set a value for this property in requests, even if `firstName` and `lastName` are set.
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// A note sent to the recipient in the signing email.
	// This note is unique to this recipient.
	// In the user interface,
	// it appears near the upper left corner
	// of the document
	// on the signing screen.
	//
	// Maximum Length: 1000 characters.
	//
	Note string `json:"note,omitempty"`
	// Metadata that indicates whether the `note` property is editable. This property is read-only.
	NoteMetadata *PropertyMetadata `json:"noteMetadata,omitempty"`
	// When `idCheckConfigurationName` is set to `Phone Auth $`, you use this complex type to provide the recipient authentication method details. It contains the following elements:
	//
	// * `recipMayProvideNumber`: Boolean. When **true,** the recipient can use whatever phone number they choose.
	// * `senderProvidedNumbers`: ArrayOfStrings.  A list of phone numbers the recipient can use.
	// * `recordVoicePrint`: Reserved for DocuSign.
	// * `validateRecipProvidedNumber`: Reserved for DocuSign.
	//
	//
	PhoneAuthentication Bool `json:"phoneAuthentication,omitempty"`
	// Describes the recipient phone number.
	PhoneNumber *RecipientPhoneNumber `json:"phoneNumber,omitempty"`
	// Reserved for DocuSign.
	RecipientAttachments []RecipientAttachment `json:"recipientAttachments,omitempty"`
	// Information about the recipient's authentication status. This property is read-only.
	RecipientAuthenticationStatus *AuthenticationStatus `json:"recipientAuthenticationStatus,omitempty"`
	// Metadata about the features that are supported for the recipient type. This property is read-only.
	RecipientFeatureMetadata []FeatureAvailableMetadata `json:"recipientFeatureMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// The recipient type, as specified by the following values:
	// - `agent`: Agent recipients can add name and email information for recipients that appear after the agent in routing order.
	// - `carbonCopy`: Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date, or add information to any of the documents. This type of recipient can be used in any routing order.
	// - `certifiedDelivery`: Certified delivery recipients must receive the completed documents for the envelope to be completed. They don't need to sign, initial, date, or add information to any of the documents.
	// - `editor`: Editors have the same management and access rights for the envelope as the sender. Editors can add name and email information, add or change the routing order, set authentication options, and can edit signature/initial tabs and data fields for the remaining recipients.
	// - `inPersonSigner`: In-person recipients are DocuSign users who act as signing hosts in the same physical location as the signer.
	// - `intermediaries`: Intermediary recipients can optionally add name and email information for recipients at the same or subsequent level in the routing order.
	// - `seal`: Electronic seal recipients represent legal entities.
	// - `signer`: Signers are recipients who must sign, initial, date, or add data to form fields on the documents in the envelope.
	// - `witness`: Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.
	RecipientType string `json:"recipientType,omitempty"`
	// Metadata that indicates whether the `recipientType` property is editable. This property is read-only.
	RecipientTypeMetadata *PropertyMetadata `json:"recipientTypeMetadata,omitempty"`
	// When **true,** the recipient is required to use the specified ID check method (including Phone and SMS authentication) to validate their identity.
	RequireIDLookup Bool `json:"requireIdLookup,omitempty"`
	// Metadata that indicates whether the `requireIdLookup` property is editable. This property is read-only.
	RequireIDLookupMetadata *PropertyMetadata `json:"requireIdLookupMetadata,omitempty"`
	// Optional element. Specifies the role name associated with the recipient.<br/><br/>This property is required when you are working with template recipients.
	RoleName string `json:"roleName,omitempty"`
	// Specifies the routing order of the recipient in the envelope.
	RoutingOrder string `json:"routingOrder,omitempty"`
	// Metadata that indicates whether the `routingOrder` property is editable. This property is read-only.
	RoutingOrderMetadata *PropertyMetadata `json:"routingOrderMetadata,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime *time.Time `json:"sentDateTime,omitempty"`
	// Reserved for DocuSign.
	SignedDateTime *time.Time `json:"signedDateTime,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// Metadata that indicates whether the `signingGroupId` property is editable. This property is read-only.
	SigningGroupIDMetadata *PropertyMetadata `json:"signingGroupIdMetadata,omitempty"`
	// Optional. The name of the signing group.
	//
	// Maximum Length: 100 characters.
	SigningGroupName string `json:"signingGroupName,omitempty"`
	// A complex type that contains information about users in the signing group.
	SigningGroupUsers []UserInfo `json:"signingGroupUsers,omitempty"`
	// When `idCheckConfigurationName` is set to `SMS Auth $`, you use this complex type to provide the recipient authentication method details. It contains the element `senderProvidedNumbers`, which is an array of phone numbers that the recipient can use for SMS text authentication.
	//
	//
	SmsAuthentication *RecipientSMSAuthentication `json:"smsAuthentication,omitempty"`
	// Deprecated.
	SocialAuthentications []SocialAuthentication `json:"socialAuthentications,omitempty"`
	// The recipient's status. This property is read-only.
	//
	// Valid values:
	//
	// - `autoresponded`: The recipient's email system auto-responded to the email from DocuSign. This status is used in the web console to inform senders about the bounced-back email. This recipient status is only used if **Send-on-behalf-of** is turned off for the account.
	// - `completed`: The recipient has completed their actions (signing or other required actions if not a signer) for an envelope.
	// - `created`: The recipient is in a draft state. This value is only associated with draft envelopes (envelopes that have a status of `created`).
	// - `declined`: The recipient declined to sign the documents in the envelope.
	// - `delivered`: The recipient has viewed the documents in an envelope through the DocuSign signing website. This is not an email delivery of the documents in an envelope.
	// - `faxPending`: The recipient has finished signing and the system is waiting for a fax attachment from the recipient before completing their signing step.
	// - `sent`: The recipient has been sent an email notification that it is their turn to sign an envelope.
	// - `signed`: The recipient has completed (signed) all required tags in an envelope. This is a temporary state during processing, after which the recipient's status automatically switches to `completed`.
	Status string `json:"status,omitempty"`
	// The code associated with the recipient's status. This property is read-only.
	StatusCode string `json:"statusCode,omitempty"`
	// When **true,** email notifications are suppressed for the recipient, and they must access envelopes and documents from their DocuSign inbox.
	SuppressEmails Bool `json:"suppressEmails,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// The total number of tabs in the documents. This property is read-only.
	TotalTabCount string `json:"totalTabCount,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

Agent contains information about an agent recipient. An agent is a recipient who can add name and email information for recipients that appear after the agent in routing order.

type AppStoreProduct

type AppStoreProduct struct {
	//
	MarketPlace string `json:"marketPlace,omitempty"`
	// The Product ID from the AppStore.
	ProductID string `json:"productId,omitempty"`
}

AppStoreProduct contains information about an APP store product.

type AppStoreReceipt

type AppStoreReceipt struct {
	//
	DowngradeProductID string `json:"downgradeProductId,omitempty"`
	//
	IsDowngradeCancellation string `json:"isDowngradeCancellation,omitempty"`
	// The Product ID from the AppStore.
	ProductID string `json:"productId,omitempty"`
	// Reserved: TBD
	ReceiptData string `json:"receiptData,omitempty"`
}

AppStoreReceipt contains information about an APP store receipt.

type Approve

type Approve struct {
	TabBase
	TabGuidedForm
	TabPosition
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// When **true,** the information in the tab is bold.
	Bold Bool `json:"bold,omitempty"`
	// Metadata that indicates whether the `bold` property is editable.
	BoldMetadata *PropertyMetadata `json:"boldMetadata,omitempty"`
	//  Specifies the approval text that displays in the tab.
	ButtonText string `json:"buttonText,omitempty"`
	// Metadata that indicates whether the `buttonText` property is editable.
	ButtonTextMetadata *PropertyMetadata `json:"buttonTextMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The font to be used for the tab value. Supported fonts include:
	//
	// - Default
	// - Arial
	// - ArialNarrow
	// - Calibri
	// - CourierNew
	// - Garamond
	// - Georgia
	// - Helvetica
	// - LucidaConsole
	// - MSGothic
	// - MSMincho
	// - OCR-A
	// - Tahoma
	// - TimesNewRoman
	// - Trebuchet
	// - Verdana
	//
	Font string `json:"font,omitempty"`
	// The font color to use for the information in the tab. Possible values are:
	//
	// - Black
	// - BrightBlue
	// - BrightRed
	// - DarkGreen
	// - DarkRed
	// - Gold
	// - Green
	// - NavyBlue
	// - Purple
	// - White
	//
	FontColor string `json:"fontColor,omitempty"`
	// Metadata that indicates whether the `fontColor` property is editable.
	FontColorMetadata *PropertyMetadata `json:"fontColorMetadata,omitempty"`
	// Metadata that indicates whether the `font` property is editable.
	FontMetadata *PropertyMetadata `json:"fontMetadata,omitempty"`
	// The font size used for the information in the tab. Possible values are:
	//
	// - Size7
	// - Size8
	// - Size9
	// - Size10
	// - Size11
	// - Size12
	// - Size14
	// - Size16
	// - Size18
	// - Size20
	// - Size22
	// - Size24
	// - Size26
	// - Size28
	// - Size36
	// - Size48
	// - Size72
	FontSize string `json:"fontSize,omitempty"`
	// Metadata that indicates whether the `fontSize` property is editable.
	FontSizeMetadata *PropertyMetadata `json:"fontSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,** the information in the tab is italic.
	Italic Bool `json:"italic,omitempty"`
	// Metadata that indicates whether the `italic` property is editable.
	ItalicMetadata *PropertyMetadata `json:"italicMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// **Note:** Approve tabs never display this tooltip in the signing interface.
	//
	// Although you can technically set a value via the API for this tab,
	// it will not be displayed to the recipient.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// When **true,** the information in the tab is underlined.
	Underline Bool `json:"underline,omitempty"`
	// Metadata that indicates whether the `underline` property is editable.
	UnderlineMetadata *PropertyMetadata `json:"underlineMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

Approve is a tab that allows the recipient to approve documents without placing a signature or initials on the document.

type AskAnAdmin added in v0.10.0

type AskAnAdmin struct {
	//
	Email string `json:"email,omitempty"`
	//
	Message string `json:"message,omitempty"`
	//
	Name string `json:"name,omitempty"`
	//
	Phone string `json:"phone,omitempty"`
}

AskAnAdmin not described in definition file

type Attachment

type Attachment struct {
	// Valid values are `sender` and `senderAndAllRecipients`.
	AccessControl string `json:"accessControl,omitempty"`
	// The unique identifier for the attachment.
	AttachmentID string `json:"attachmentId,omitempty"`
	// Specifies the type of the attachment for the recipient.
	AttachmentType string `json:"attachmentType,omitempty"`
	// A Base64-encoded representation of the attachment that is used to upload and download the file. File attachments may be up to 50 MB in size.
	Data []byte `json:"data,omitempty"`
	// A label for the attachment. Potential values include:
	//
	// - `guidedForm`: [Guided forms](https://www.docusign.com/products/guided-forms) provide a step-by-step, mobile-ready experience to help signers easily complete long or complex forms.
	// - `eventNotifications`: A list of envelope-level event statuses that trigger Connect to send updates to the endpoint specified in the `url` property.
	//
	Label string `json:"label,omitempty"`
	// The name of the attachment.
	Name string `json:"name,omitempty"`
	// The URL of a previously staged chunked upload. Using a chunked upload enables you to stage a large, chunkable temp file. You then use the `remoteUrl` property to reference the chunked upload as the content in attachment and document-related requests. The `remoteUrl` property cannot be used for downloads.
	RemoteURL string `json:"remoteUrl,omitempty"`
}

Attachment contains information about an attachment.

type AuthenticationMethod

type AuthenticationMethod struct {
	// Indicates the type of authentication. Valid values are: PhoneAuth, STAN, ISCheck, OFAC, AccessCode, AgeVerify, or SSOAuth.
	AuthenticationType string `json:"authenticationType,omitempty"`
	// The last provider that authenticated the user.
	LastProvider string `json:"lastProvider,omitempty"`
	//  The data and time the user last used the authentication method.
	LastTimestamp string `json:"lastTimestamp,omitempty"`
	// The number of times the authentication method was used.
	TotalCount string `json:"totalCount,omitempty"`
}

AuthenticationMethod contains information about the method used for authentication.

type AuthenticationStatus

type AuthenticationStatus struct {
	// The result of a user's attempt to authenticate by using an access code. It returns:
	//
	// - `Status`: `Pass` or `Fail`.
	// - `dateTime`: The date and time that the event occurred.
	// - `FailureDescription`: A string containing the details about a failed authentication.
	// - `VendorFailureStatusCode`: A string containing the vendor's status code for a failed authentication.
	AccessCodeResult *EventResult `json:"accessCodeResult,omitempty"`
	// The result of an age verification check. It returns:
	//
	// - `Status`: `Pass` or `Fail`.
	// - `dateTime`: The date and time that the event occurred.
	// - `FailureDescription`: A string containing the details about a failed authentication.
	// - `VendorFailureStatusCode`: A string containing the vendor's status code for a failed authentication.
	AgeVerifyResult *EventResult `json:"ageVerifyResult,omitempty"`
	// Deprecated.
	AnySocialIDResult *EventResult `json:"anySocialIDResult,omitempty"`
	// Deprecated.
	FacebookResult *EventResult `json:"facebookResult,omitempty"`
	// Deprecated.
	GoogleResult *EventResult `json:"googleResult,omitempty"`
	// The result of an ID lookup authentication check. It returns:
	//
	// - `Status`: `Pass` or `Fail`.
	// - `dateTime`: The date and time that the event occurred.
	// - `FailureDescription`: A string containing the details about a failed authentication.
	// - `VendorFailureStatusCode`: A string containing the vendor's status code for a failed authentication.
	IDLookupResult *EventResult `json:"idLookupResult,omitempty"`
	// The result of the user's answers to ID challenge questions. It returns:
	//
	// - `Status`: `Pass` or `Fail`.
	// - `dateTime`: The date and time that the event occurred.
	// - `FailureDescription`: A string containing the details about a failed authentication.
	// - `VendorFailureStatusCode`: A string containing the vendor's status code for a failed authentication.
	IDQuestionsResult *EventResult `json:"idQuestionsResult,omitempty"`
	// The result of an [Identity Verification][IDV] workflow.
	//
	// [IDV]: /docs/esign-rest-api/reference/accounts/identityverifications/
	IdentityVerificationResult *EventResult `json:"identityVerificationResult,omitempty"`
	// Deprecated.
	LinkedinResult *EventResult `json:"linkedinResult,omitempty"`
	// Deprecated.
	LiveIDResult *EventResult `json:"liveIDResult,omitempty"`
	// The result of an Office of Foreign Asset Control (OFAC) check. It returns:
	//
	// - `Status`: `Pass` or `Fail`.
	// - `dateTime`: The date and time that the event occurred.
	// - `FailureDescription`: A string containing the details about a failed authentication.
	// - `VendorFailureStatusCode`: A string containing the vendor's status code for a failed authentication.
	OfacResult *EventResult `json:"ofacResult,omitempty"`
	// Deprecated.
	OpenIDResult *EventResult `json:"openIDResult,omitempty"`
	// The result of the user's attempt to authenticate by using two-factor authentication (2FA) through phone messaging. It returns:
	//
	// - `Status`: `Pass` or `Fail`.
	// - `dateTime`: The date and time that the event occurred.
	// - `FailureDescription`: A string containing the details about a failed authentication.
	// - `VendorFailureStatusCode`: A string containing the vendor's status code for a failed authentication.
	PhoneAuthResult *EventResult `json:"phoneAuthResult,omitempty"`
	// The result of a Student Authentication Network (STAN) authentication check. It returns:
	//
	// - `Status`: `Pass` or `Fail`.
	// - `dateTime`: The date and time that the event occurred.
	// - `FailureDescription`: A string containing the details about a failed authentication.
	// - `VendorFailureStatusCode`: A string containing the vendor's status code for a failed authentication.
	STANPinResult *EventResult `json:"sTANPinResult,omitempty"`
	// Success/failure result of authentication using sign-in with a Salesforce account. It returns:
	//
	// - `Status`: `Pass` or `Fail`.
	// - `dateTime`: The date and time that the event occurred.
	// - `FailureDescription`: A string containing the details about a failed authentication.
	// - `VendorFailureStatusCode`: A string containing the vendor's status code for a failed authentication.
	SalesforceResult *EventResult `json:"salesforceResult,omitempty"`
	// The result of the user's attempt to authenticate by using a signature provider.
	SignatureProviderResult *EventResult `json:"signatureProviderResult,omitempty"`
	// The result of the user's attempt to authenticate by using two-factor authentication (2FA) through SMS messaging on a mobile phone.
	SmsAuthResult *EventResult `json:"smsAuthResult,omitempty"`
	// Deprecated.
	TwitterResult *EventResult `json:"twitterResult,omitempty"`
	// Deprecated.
	YahooResult *EventResult `json:"yahooResult,omitempty"`
}

AuthenticationStatus is a complex element that contains information about a user's authentication status.

type BccEmailAddress

type BccEmailAddress struct {
	// Only users with canManageAccount setting can use this option. An array of up to 5 email addresses the envelope is sent to as a BCC email.
	//
	// Example: If your account has BCC for Email Archive set up for the email address 'archive@mycompany.com' and you send an envelope using the BCC Email Override to send a BCC email to 'salesarchive@mycompany.com', then a copy of the envelope is only sent to the 'salesarchive@mycompany.com' email address.
	BccEmailAddressID string `json:"bccEmailAddressId,omitempty"`
	// Specifies the BCC email address. DocuSign verifies that the email format is correct, but does not verify that the email is active.Using this overrides the BCC for Email Archive information setting for this envelope.
	//
	// Maximum of length: 100 characters.
	Email string `json:"email,omitempty"`
}

BccEmailAddress contains information about the BCC email address.

type BccEmailArchive added in v0.10.0

type BccEmailArchive struct {
	// The ID of the account that owns the BCC email archive configuration.
	AccountID string `json:"accountId,omitempty"`
	// The ID of the BCC email archive configuration.
	BccEmailArchiveID string `json:"bccEmailArchiveId,omitempty"`
	// The UTC DateTime when the BCC email archive configuration was created.
	Created string `json:"created,omitempty"`
	// Details about the user who created the BCC email archive configuration.
	CreatedBy *UserInfo `json:"createdBy,omitempty"`
	// The BCC email address to use for archiving DocuSign messages.
	//
	// Example: customer_bcc@example.com
	Email string `json:"email,omitempty"`
	// The GUID of the activation email message sent to the BCC email address.
	EmailNotificationID string `json:"emailNotificationId,omitempty"`
	// The UTC DateTime when the BCC email archive configuration was last modified.
	Modified string `json:"modified,omitempty"`
	// Details about the user who last modified the BCC email archive configuration.
	ModifiedBy *UserInfo `json:"modifiedBy,omitempty"`
	// The status of the BCC email address. Possible values are:
	//
	// - `activation_sent`: An activation link has been sent to the BCC email address.
	// - `active`: The BCC email address is actively used for archiving.
	// - `closed`: The BCC email address is no longer used for archiving.
	Status string `json:"status,omitempty"`
	// The helper URI for retrieving the BCC email archive.
	URI string `json:"uri,omitempty"`
}

BccEmailArchive this object contains information abut a BCC email archive configuration (a BCC email address used to archive DocuSign-generated emails).

type BccEmailArchiveHistory added in v0.10.0

type BccEmailArchiveHistory struct {
	// The ID of the account that owns the BCC email archive configuration.
	AccountID string `json:"accountId,omitempty"`
	// The action taken on the BCC email archive configuration.
	//
	// Examples:
	//
	// - `CREATED`: The BCC email archive configuration has been created.
	// - `UPDATED`: The BCC email address has been activated by clicking on the activation link in the activation email message.
	// - `CLOSED`: The BCC email address has been marked as closed is no longer used for archiving.
	Action string `json:"action,omitempty"`
	// The BCC email address used to archive the emails that DocuSign generates.
	//
	// Example: customer_bcc@example.com
	Email string `json:"email,omitempty"`
	// The UTC DateTime when the BCC email address was last modified.
	Modified string `json:"modified,omitempty"`
	// Details about the user who last modified the BCC email archive configuration.
	ModifiedBy *UserInfo `json:"modifiedBy,omitempty"`
	// The status of the BCC email address. Possible values are:
	//
	// - `activation_sent`: An activation link has been sent to the BCC email address.
	// - `active`: The BCC email address is actively used for archiving.
	// - `closed`: The BCC email address is no longer used for archiving.
	Status string `json:"status,omitempty"`
}

BccEmailArchiveHistory contains details about the history of the BCC email archive configuration.

type BccEmailArchiveHistoryList added in v0.10.0

type BccEmailArchiveHistoryList struct {
	// A list of changes to the BCC email archive configuration.
	BccEmailArchiveHistory []BccEmailArchiveHistory `json:"bccEmailArchiveHistory,omitempty"`
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

BccEmailArchiveHistoryList is the `EmailArchive` resource provides methods for managing your email archive configuration, which consists of the BCC email address or addresses that you want to use to archive DocuSign emails. Each account can use up to five BCC email addresses for archiving purposes.

type BccEmailArchiveList added in v0.10.0

type BccEmailArchiveList struct {
	// A list of  BCC email archive configurations.
	BccEmailArchives []BccEmailArchive `json:"bccEmailArchives,omitempty"`
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

BccEmailArchiveList contains a list of BCC email archive configurations.

type BillingCharge

type BillingCharge struct {
	// Reserved: TBD
	AllowedQuantity string `json:"allowedQuantity,omitempty"`
	// Reserved: TBD
	Blocked string `json:"blocked,omitempty"`
	// Provides information on what services the charge item is for.
	//
	// The following table provides a description of the different chargeName values available at this time.
	//
	// | chargeName | Description |
	// | --- | --- |
	// | id_check | ID Check Charge |
	// | in_person_signing | In Person Signing charge |
	// | envelopes Included | Sent Envelopes for the account |
	// | age_verify | Age verification check |
	// | ofac | OFAC Check |
	// | id_confirm | ID confirmation check |
	// | student_authentication | STAN PIN authentication check |
	// | wet_sign_fax | Pages for returning signed documents by fax |
	// | attachment_fax | Pages for returning attachments by fax |
	// | phone_authentication | Phone authentication charge |
	// | powerforms | PowerForm envelopes sent |
	// | signer_payments | Payment processing charge |
	// | outbound_fax | Send by fax charge |
	// | bulk_recipient_envelopes | Bulk Recipient Envelopes sent |
	// | sms_authentications | SMS authentication charge |
	// | saml_authentications | SAML authentication charge |
	// | express_signer_certificate | DocuSign Express Certificate charge |
	// | personal_signer_certificate | Personal Signer Certificate charge |
	// | safe_certificate | SAFE BioPharma Signer Certificate charge |
	// | seats | Included active seats charge |
	// | open_trust_certificate | OpenTrust Signer Certificate charge |
	ChargeName string `json:"chargeName,omitempty"`
	// Reserved: TBD
	ChargeType string `json:"chargeType,omitempty"`
	// Reserved: TBD
	ChargeUnitOfMeasure string `json:"chargeUnitOfMeasure,omitempty"`
	//
	Discounts []BillingDiscount `json:"discounts,omitempty"`
	//
	FirstEffectiveDate string `json:"firstEffectiveDate,omitempty"`
	//
	IncludedQuantity string `json:"includedQuantity,omitempty"`
	// Reserved: TBD
	IncrementalQuantity string `json:"incrementalQuantity,omitempty"`
	//
	LastEffectiveDate string `json:"lastEffectiveDate,omitempty"`
	//
	Prices []BillingPrice `json:"prices,omitempty"`
	// Reserved: TBD
	UnitPrice string `json:"unitPrice,omitempty"`
	//
	UsedQuantity string `json:"usedQuantity,omitempty"`
}

BillingCharge contains information about a billing charge.

type BillingChargeResponse

type BillingChargeResponse struct {
	// Reserved: TBD
	BillingChargeItems []BillingCharge `json:"billingChargeItems,omitempty"`
}

BillingChargeResponse defines a billing charge response object.

type BillingDiscount

type BillingDiscount struct {
	// Reserved: TBD
	BeginQuantity string `json:"beginQuantity,omitempty"`
	//
	Discount string `json:"discount,omitempty"`
	//
	EndQuantity string `json:"endQuantity,omitempty"`
}

BillingDiscount not described in definition file

type BillingEntityInformationResponse added in v0.10.0

type BillingEntityInformationResponse struct {
	// The type of billing method on the account. Valid values are:
	//
	// - `direct`
	// - `web`
	BillingProfile string `json:"billingProfile,omitempty"`
	//
	EntityName string `json:"entityName,omitempty"`
	//
	ExternalEntityID string `json:"externalEntityId,omitempty"`
	//
	IsExternallyBilled string `json:"isExternallyBilled,omitempty"`
}

BillingEntityInformationResponse not described in definition file

type BillingInvoice

type BillingInvoice struct {
	// The total amount of the purchase.
	Amount string `json:"amount,omitempty"`
	// Reserved: TBD
	Balance string `json:"balance,omitempty"`
	// Reserved: TBD
	DueDate string `json:"dueDate,omitempty"`
	// Reserved: TBD
	InvoiceID string `json:"invoiceId,omitempty"`
	// Reserved: TBD
	InvoiceItems []BillingInvoiceItem `json:"invoiceItems,omitempty"`
	// Reserved: TBD
	InvoiceNumber string `json:"invoiceNumber,omitempty"`
	// Contains a URI for an endpoint that you can use to retrieve invoice information.
	InvoiceURI string `json:"invoiceUri,omitempty"`
	//
	NonTaxableAmount string `json:"nonTaxableAmount,omitempty"`
	//
	PdfAvailable string `json:"pdfAvailable,omitempty"`
	//
	TaxableAmount string `json:"taxableAmount,omitempty"`
}

BillingInvoice contains information about a billing invoice.

type BillingInvoiceItem

type BillingInvoiceItem struct {
	// Reserved: TBD
	ChargeAmount string `json:"chargeAmount,omitempty"`
	// Reserved: TBD
	ChargeName string `json:"chargeName,omitempty"`
	// Reserved: TBD
	InvoiceItemID string `json:"invoiceItemId,omitempty"`
	// The quantity of envelopes to add to the account.
	Quantity string `json:"quantity,omitempty"`
	//
	TaxAmount string `json:"taxAmount,omitempty"`
	//
	TaxExemptAmount string `json:"taxExemptAmount,omitempty"`
	// Reserved: TBD
	UnitPrice string `json:"unitPrice,omitempty"`
}

BillingInvoiceItem contains information about an item on a billing invoice.

type BillingInvoicesResponse

type BillingInvoicesResponse struct {
	// Reserved: TBD
	BillingInvoices []BillingInvoice `json:"billingInvoices,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
}

BillingInvoicesResponse defines a billing invoice response object.

type BillingInvoicesSummary

type BillingInvoicesSummary struct {
	//
	AccountBalance string `json:"accountBalance,omitempty"`
	// Reserved: TBD
	BillingInvoices []BillingInvoice `json:"billingInvoices,omitempty"`
	// The currency code for the account, based on the [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html).
	CurrencyCode string `json:"currencyCode,omitempty"`
	//
	PastDueBalance string `json:"pastDueBalance,omitempty"`
	//
	PaymentAllowed string `json:"paymentAllowed,omitempty"`
}

BillingInvoicesSummary not described in definition file

type BillingPayment

type BillingPayment struct {
	// Reserved: TBD
	Amount string `json:"amount,omitempty"`
	// Reserved: TBD
	InvoiceID string `json:"invoiceId,omitempty"`
	// The ID of the payment.
	PaymentID string `json:"paymentId,omitempty"`
}

BillingPayment contains information on a billing plan.

type BillingPaymentItem

type BillingPaymentItem struct {
	// The total amount of the purchase.
	Amount string `json:"amount,omitempty"`
	// A sender-defined description of the line item.
	//
	Description string `json:"description,omitempty"`
	//
	PaymentDate string `json:"paymentDate,omitempty"`
	// The ID of the payment.
	PaymentID string `json:"paymentId,omitempty"`
	// When **true,** a PDF version of the invoice is available.
	//
	// To get the PDF, make the call again and change "Accept:" in the header to "Accept: application/pdf".
	PaymentNumber Bool `json:"paymentNumber,omitempty"`
}

BillingPaymentItem defines a billing payment request object.

type BillingPaymentRequest

type BillingPaymentRequest struct {
	// The payment amount for the past due invoices. This value must match the pastDueBalance value retrieved using Get Past Due Invoices.
	PaymentAmount string `json:"paymentAmount,omitempty"`
}

BillingPaymentRequest not described in definition file

type BillingPaymentResponse

type BillingPaymentResponse struct {
	// Reserved: TBD
	BillingPayments []BillingPayment `json:"billingPayments,omitempty"`
}

BillingPaymentResponse defines an billing payment response object.

type BillingPaymentsResponse

type BillingPaymentsResponse struct {
	// Reserved: TBD
	BillingPayments []BillingPaymentItem `json:"billingPayments,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
}

BillingPaymentsResponse defines a billing payments response object.

type BillingPlan

type BillingPlan struct {
	// Reserved for DocuSign.
	AppStoreProducts []AppStoreProduct `json:"appStoreProducts,omitempty"`
	// Contains the `currencyCode` and `currencySymbol` for the alternate currency values for `envelopeFee`, `fixedFee`, and `seatFee` that are configured for this plan feature set.
	CurrencyPlanPrices []CurrencyPlanPrice `json:"currencyPlanPrices,omitempty"`
	// When **true,** customer support is provided as part of the account plan.
	EnableSupport Bool `json:"enableSupport,omitempty"`
	// The number of seats (users) included in the plan.
	IncludedSeats string `json:"includedSeats,omitempty"`
	// Any other percentage discount for the plan.
	//
	// Example: `"0.00"`
	OtherDiscountPercent string `json:"otherDiscountPercent,omitempty"`
	//  The payment cycle associated with the plan. Valid values: Monthly or Annually.
	PaymentCycle string `json:"paymentCycle,omitempty"`
	// The payment method used for the billing plan. Valid values are:
	//
	// - `NotSupported`
	// - `CreditCard`
	// - `PurchaseOrder`
	// - `Premium`
	// - `Freemium`
	// - `FreeTrial`
	// - `AppStore`
	// - `DigitalExternal`
	// - `DirectDebit`
	PaymentMethod string `json:"paymentMethod,omitempty"`
	// The per seat price for the plan.
	PerSeatPrice string `json:"perSeatPrice,omitempty"`
	// Identifies the type of plan. Examples include:
	//
	// - `business`
	// - `corporate`
	// - `enterprise`
	// - `free`
	PlanClassification string `json:"planClassification,omitempty"`
	// Reserved for DocuSign.
	PlanFeatureSets []FeatureSet `json:"planFeatureSets,omitempty"`
	// DocuSign's ID for the account plan.
	PlanID string `json:"planId,omitempty"`
	// The name of the billing plan used for the account.
	//
	// Examples:
	//
	// - `Personal - Annual`
	// - `Unlimited Envelope Subscription - Annual Billing`
	PlanName string `json:"planName,omitempty"`
	// A complex type that returns information about any seat discounts. It contains the information `BeginSeatCount`, `EndSeatCount` and `SeatDiscountPercent`.
	SeatDiscounts []SeatDiscount `json:"seatDiscounts,omitempty"`
	// The support incident fee charged for each support incident.
	//
	// Example: `"$0.00"`
	SupportIncidentFee string `json:"supportIncidentFee,omitempty"`
	// The support plan fee charged for this plan.
	//
	// Example: `"$0.00"`
	SupportPlanFee string `json:"supportPlanFee,omitempty"`
}

BillingPlan contains information about a billing plan.

type BillingPlanInformation

type BillingPlanInformation struct {
	//
	AppStoreReceipt *AppStoreReceipt `json:"appStoreReceipt,omitempty"`
	// The billing address for the account.
	BillingAddress *AccountAddress `json:"billingAddress,omitempty"`
	// A complex type that has information about the credit card used to pay for this account.
	CreditCardInformation *CreditCardInformation `json:"creditCardInformation,omitempty"`
	// Information about the bank that processes direct debits for the payment plan.
	DirectDebitProcessorInformation *DirectDebitProcessorInformation `json:"directDebitProcessorInformation,omitempty"`
	// (Optional) The user's reason for downgrading their billing plan.
	DowngradeReason string `json:"downgradeReason,omitempty"`
	//
	EnablePreAuth string `json:"enablePreAuth,omitempty"`
	// When **true,** customer support is provided as part of the account plan.
	EnableSupport Bool `json:"enableSupport,omitempty"`
	// The number of seats (users) included in the plan.
	IncludedSeats string `json:"includedSeats,omitempty"`
	// Reserved for DocuSign.
	IncrementalSeats string `json:"incrementalSeats,omitempty"`
	// The payment method used for the billing plan. Valid values are:
	//
	// - `NotSupported`
	// - `CreditCard`
	// - `PurchaseOrder`
	// - `Premium`
	// - `Freemium`
	// - `FreeTrial`
	// - `AppStore`
	// - `DigitalExternal`
	// - `DirectDebit`
	PaymentMethod string `json:"paymentMethod,omitempty"`
	//
	PaymentProcessor string `json:"paymentProcessor,omitempty"`
	// Information about the entity that processes payments for the billing plan.
	PaymentProcessorInformation *PaymentProcessorInformation `json:"paymentProcessorInformation,omitempty"`
	// An object used to identify the features and attributes of the account being created.
	PlanInformation *PlanInformation `json:"planInformation,omitempty"`
	//
	ProcessPayment string `json:"processPayment,omitempty"`
	// A complex type that contains properties for entering referral and discount information.
	ReferralInformation *ReferralInformation `json:"referralInformation,omitempty"`
	// The renewal status of the account. Possible values are:
	//
	// - `auto`: The account automatically renews.
	// - `queued_for_close`: The account will be closed at the billingPeriodEndDate.
	// - queued_for_downgrade`: The account will be downgraded at the `billingPeriodEndDate`.
	RenewalStatus string `json:"renewalStatus,omitempty"`
	// Reserved for DocuSign.
	SaleDiscountAmount string `json:"saleDiscountAmount,omitempty"`
	// Reserved for DocuSign.
	SaleDiscountFixedAmount string `json:"saleDiscountFixedAmount,omitempty"`
	// Reserved for DocuSign.
	SaleDiscountPercent string `json:"saleDiscountPercent,omitempty"`
	// Reserved for DocuSign.
	SaleDiscountPeriods string `json:"saleDiscountPeriods,omitempty"`
	// Reserved for DocuSign.
	SaleDiscountSeatPriceOverride string `json:"saleDiscountSeatPriceOverride,omitempty"`
	//
	TaxExemptID string `json:"taxExemptId,omitempty"`
}

BillingPlanInformation this object contains details about a billing plan.

type BillingPlanPreview

type BillingPlanPreview struct {
	// Specifies the ISO currency code for the account.
	CurrencyCode string `json:"currencyCode,omitempty"`
	//
	Invoice *BillingInvoice `json:"invoice,omitempty"`
	// When **true,** the billing plan is prorated.
	IsProrated Bool `json:"isProrated,omitempty"`
	//
	SubtotalAmount string `json:"subtotalAmount,omitempty"`
	//
	TaxAmount string `json:"taxAmount,omitempty"`
	//
	TotalAmount string `json:"totalAmount,omitempty"`
}

BillingPlanPreview information used to provide a preview of a billing plan.

type BillingPlanResponse

type BillingPlanResponse struct {
	// An object that contains details about the billing plan.
	BillingPlan *BillingPlan `json:"billingPlan,omitempty"`
	// A list of billing plans that the current billing plan can be rolled into.
	SuccessorPlans []BillingPlan `json:"successorPlans,omitempty"`
}

BillingPlanResponse defines a billing plan response object.

type BillingPlanUpdateResponse

type BillingPlanUpdateResponse struct {
	// The type of payment method used for the account. Valid values are:
	//
	// - `credit_card`
	// -
	AccountPaymentMethod string `json:"accountPaymentMethod,omitempty"`
	//
	BillingPlanPreview *BillingPlanPreview `json:"billingPlanPreview,omitempty"`
	// Specifies the ISO currency code for the account.
	CurrencyCode string `json:"currencyCode,omitempty"`
	// The number of seats (users) included in the plan.
	IncludedSeats string `json:"includedSeats,omitempty"`
	// The payment cycle associated with the plan. Valid values:
	//
	// - `Monthly`
	// - `Annually`
	PaymentCycle string `json:"paymentCycle,omitempty"`
	// The payment method used for the billing plan. Valid values are:
	//
	// - `NotSupported`
	// - `CreditCard`
	// - `PurchaseOrder`
	// - `Premium`
	// - `Freemium`
	// - `FreeTrial`
	// - `AppStore`
	// - `DigitalExternal`
	// - `DirectDebit`
	PaymentMethod string `json:"paymentMethod,omitempty"`
	// DocuSign's ID for the account plan.
	PlanID string `json:"planId,omitempty"`
	// The name of the billing plan used for the account.
	//
	// Examples:
	//
	// - `Personal - Annual`
	// - `Unlimited Envelope Subscription - Annual Billing`
	PlanName string `json:"planName,omitempty"`
}

BillingPlanUpdateResponse defines a billing plan update response object.

type BillingPlansResponse

type BillingPlansResponse struct {
	// Reserved: TBD
	BillingPlans []BillingPlan `json:"billingPlans,omitempty"`
}

BillingPlansResponse defines a billing plans response object.

type BillingPrice

type BillingPrice struct {
	// Reserved: TBD
	BeginQuantity string `json:"beginQuantity,omitempty"`
	//
	EndQuantity string `json:"endQuantity,omitempty"`
	// Reserved: TBD
	UnitPrice string `json:"unitPrice,omitempty"`
}

BillingPrice not described in definition file

type Bool added in v0.10.0

type Bool string

Bool represents a DocuSign boolean value which is either a string "true" or a string "false". This construct allows the setting of a false value that will not be omitted during a JSON Marshal. Use the DSBool function to set the proper values

const (
	// True is the standard true value for a Bool
	TRUE Bool = "true"
	// False is the standard false value for a Bool
	FALSE Bool = "false"

	// REQUIRED_DEFAULT sets the default value for (BOOL) Required field on a tab. This
	// constant is kept from a previous version where the Requried tab field was defined
	// as a integer.
	REQUIRED_DEFAULT Bool = ""
	// REQUIRED_FALSE sets the default value for (BOOL) Required field on a tab
	REQUIRED_FALSE Bool = "false"
	// REQUIRED_TRUE sets the default value for (BOOL) Required field on a tab
	REQUIRED_TRUE Bool = "true"
)

func DSBool

func DSBool(b bool) Bool

DSBool converts the boolean value to a Bool

func (Bool) True added in v0.10.0

func (b Bool) True() bool

True returns the bool value of the Bool string

type Brand

type Brand struct {
	// The name of the company associated with the brand.
	BrandCompany string `json:"brandCompany,omitempty"`
	// The ID used to identify a specific brand in API calls.
	BrandID string `json:"brandId,omitempty"`
	// An array of two-letter codes for the languages that you want to use with the brand. The supported languages are:
	//
	// - Arabic (`ar`)
	// - Armenian (`hy`)
	// - Bahasa Indonesia (`id`)
	// - Bahasa Malay (`ms`)
	// - Bulgarian (`bg`)
	// - Chinese Simplified (`zh_CN`)
	// - Chinese Traditional (`zh_TW`)
	// - Croatian (`hr`)
	// - Czech (`cs`)
	// - Danish (`da`)
	// - Dutch (`nl`)
	// - English UK (`en_GB`)
	// - English US (`en`)
	// - Estonian (`et`)
	// - Farsi (`fa`)
	// - Finnish (`fi`)
	// - French (`fr`)
	// - French Canada (`fr_CA`)
	// - German (`de`)
	// - Greek (`el`)
	// - Hebrew (`he`)
	// - Hindi (`hi`)
	// - Hungarian (`hu`)
	// - Italian (`it`)
	// - Japanese (`ja`)
	// - Korean (`ko`)
	// - Latvian (`lv`)
	// - Lithuanian (`lt`)
	// - Norwegian (`no`)
	// - Polish (`pl`)
	// - Portuguese (`pt`)
	// - Portuguese Brasil (`pt_BR`)
	// - Romanian (`ro`)
	// - Russian (`ru`)
	// - Serbian (`sr`)
	// - Slovak (`sk`)
	// - Slovenian (`sl`)
	// - Spanish (`es`)
	// - Spanish Latin America (`es_MX`)
	// - Swedish (`sv`)
	// - Thai (`th`)
	// - Turkish (`tr`)
	// - Ukranian (`uk`)
	// - Vietnamese (`vi`)
	BrandLanguages []string `json:"brandLanguages,omitempty"`
	// The name of the brand.
	BrandName string `json:"brandName,omitempty"`
	// An array of name-value pairs specifying the colors that the brand uses for the following elements:
	//
	// - Button background
	// - Button text
	// - Header background
	// - Header text
	Colors []NameValue `json:"colors,omitempty"`
	// The two-letter code for the language that you want to use as the brand default. The supported languages are:
	//
	// - Arabic (`ar`)
	// - Armenian (`hy`)
	// - Bahasa Indonesia (`id`)
	// - Bahasa Malay (`ms`)
	// - Bulgarian (`bg`)
	// - Chinese Simplified (`zh_CN`)
	// - Chinese Traditional (`zh_TW`)
	// - Croatian (`hr`)
	// - Czech (`cs`)
	// - Danish (`da`)
	// - Dutch (`nl`)
	// - English UK (`en_GB`)
	// - English US (`en`)
	// - Estonian (`et`)
	// - Farsi (`fa`)
	// - Finnish (`fi`)
	// - French (`fr`)
	// - French Canada (`fr_CA`)
	// - German (`de`)
	// - Greek (`el`)
	// - Hebrew (`he`)
	// - Hindi (`hi`)
	// - Hungarian (`hu`)
	// - Italian (`it`)
	// - Japanese (`ja`)
	// - Korean (`ko`)
	// - Latvian (`lv`)
	// - Lithuanian (`lt`)
	// - Norwegian (`no`)
	// - Polish (`pl`)
	// - Portuguese (`pt`)
	// - Portuguese Brasil (`pt_BR`)
	// - Romanian (`ro`)
	// - Russian (`ru`)
	// - Serbian (`sr`)
	// - Slovak (`sk`)
	// - Slovenian (`sl`)
	// - Spanish (`es`)
	// - Spanish Latin America (`es_MX`)
	// - Swedish (`sv`)
	// - Thai (`th`)
	// - Turkish (`tr`)
	// - Ukranian (`uk`)
	// - Vietnamese (`vi`)
	DefaultBrandLanguage string `json:"defaultBrandLanguage,omitempty"`
	// Deprecated.
	EmailContent []BrandEmailContent `json:"emailContent,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// When **true,** the `brandCompany` property is overriding the name of the company in the account settings.
	IsOverridingCompanyName Bool `json:"isOverridingCompanyName,omitempty"`
	// When **true,** the sending brand is the default brand for sending new envelopes.
	IsSendingDefault Bool `json:"isSendingDefault,omitempty"`
	// When **true,** the siging brand is the default brand for the signing experience.
	IsSigningDefault Bool `json:"isSigningDefault,omitempty"`
	// An array of name/value pairs specifying the pages to which the user is redirected after the following events occur:
	//
	// - Signing Completed
	// - Viewed Exit
	// - Finish Later
	// - Decline
	// - Session Timeout
	// - Authentication Failure
	//
	// If you do not specify landing pages, the DocuSign default pages are used.
	LandingPages []NameValue `json:"landingPages,omitempty"`
	// An array of `brandLink` objects that contain information about the links that the brand uses.
	Links []BrandLink `json:"links,omitempty"`
	// The URIs for retrieving the logos that are associated with the brand.
	Logos *BrandLogos `json:"logos,omitempty"`
	// An object containing the URLs for the four DocuSign master resource files that the brand uses for sending, signing, email messages, and captive (embedded) signing. You can modify the default email messages and formats in these file to customize the user experience.
	//
	// **Note:** This object is returned only when the `resourceContentType` is `sending`, `signing`, `email`, or `signing_captive`.
	Resources *BrandResourceUrls `json:"resources,omitempty"`
}

Brand information about a brand that is associated with an account. A brand applies custom styles and text to an envelope.

type BrandEmailContent

type BrandEmailContent struct {
	// Deprecated.
	Content string `json:"content,omitempty"`
	// Deprecated.
	EmailContentType string `json:"emailContentType,omitempty"`
	// Deprecated.
	EmailToLink string `json:"emailToLink,omitempty"`
	// Deprecated.
	LinkText string `json:"linkText,omitempty"`
}

BrandEmailContent deprecated.

type BrandLink struct {
	// The text used for the link.
	LinkText string `json:"linkText,omitempty"`
	// The type of link. Valid values include:
	//
	// - `aboutDocusign`
	// - `closeButton`
	LinkType string `json:"linkType,omitempty"`
	// When **true,** the link displays to the recipient.
	ShowLink Bool `json:"showLink,omitempty"`
	// The URL or mailto address of the link.
	URLOrMailTo string `json:"urlOrMailTo,omitempty"`
}

BrandLink information about a link that a brand uses.

type BrandLogos

type BrandLogos struct {
	// The URI for the brand's secondary logo.
	//
	// This is a read-only property that provides a URI to the logo in use.
	// To update a logo use
	// [AccountBrands: updateLogo](/docs/esign-rest-api/reference/accounts/accountbrands/updatelogo/).
	//
	Email string `json:"email,omitempty"`
	// The URI for the brand's secondary logo.
	//
	// This is a read-only property that provides a URI to the logo in use.
	// To update a logo use
	// [AccountBrands: updateLogo](/docs/esign-rest-api/reference/accounts/accountbrands/updatelogo/).
	//
	Primary string `json:"primary,omitempty"`
	// The URI for the brand's secondary logo.
	//
	// This is a read-only property that provides a URI to the logo in use.
	// To update a logo use
	// [AccountBrands: updateLogo](/docs/esign-rest-api/reference/accounts/accountbrands/updatelogo/).
	//
	Secondary string `json:"secondary,omitempty"`
}

BrandLogos is the URIs for retrieving the logos that are associated with the brand.

These are read-only properties that provide a URI to logos in use. To update a logo use [AccountBrands: updateLogo](/docs/esign-rest-api/reference/accounts/accountbrands/updatelogo/).

type BrandRequest

type BrandRequest struct {
	// The ID of the brand used in API calls
	BrandID string `json:"brandId,omitempty"`
}

BrandRequest this request object contains information about a specific brand.

type BrandResourceUrls

type BrandResourceUrls struct {
	// The URI for the email resource file that the brand uses.
	Email string `json:"email,omitempty"`
	// The URI for the sending resource file that the brand uses.
	Sending string `json:"sending,omitempty"`
	// The URI for the signing resource file that the brand uses.
	Signing string `json:"signing,omitempty"`
	// The URI for the captive (embedded) signing resource file that the brand uses.
	SigningCaptive string `json:"signingCaptive,omitempty"`
}

BrandResourceUrls brands use resource files to style the following experiences:

- Email - Sending - Signing - Captive (embedded) signing

You can modify these resource files to customize these experiences.

type BrandResources

type BrandResources struct {
	// The user ID of the user who created the brand resource.
	CreatedByUserInfo *UserInfo `json:"createdByUserInfo,omitempty"`
	// The date and time that the brand resource was created.
	CreatedDate string `json:"createdDate,omitempty"`
	// Deprecated.
	DataNotSavedNotInMaster []string `json:"dataNotSavedNotInMaster,omitempty"`
	// Information about the user who last modified the brand resource.
	ModifiedByUserInfo *UserInfo `json:"modifiedByUserInfo,omitempty"`
	// The date on which this user record was last modified.
	ModifiedDate string `json:"modifiedDate,omitempty"`
	// This property is returned in the response to the [AccountBrands::listResources][listResources] request. It contains a list of any email templates that have been modified to differ from the master resource files.
	//
	// [listResources]: /docs/esign-rest-api/reference/accounts/accountbrands/listresources/
	ModifiedTemplates []string `json:"modifiedTemplates,omitempty"`
	// The type of brand resource file. A brand uses a different resource file to control each of the following experiences:
	//
	// - Sending (`sending`)
	// - Signing (`signing`)
	// - Email messages (`email`)
	// - Captive (embedded) signing (`signing_captive`)
	//
	// You can modify the default email messages and formats in these files and upload them to your brand to customize the user experience.
	ResourcesContentType string `json:"resourcesContentType,omitempty"`
	// The URI for the brand resource file.
	ResourcesContentURI string `json:"resourcesContentUri,omitempty"`
}

BrandResources information about the resource files that the brand uses for the email, signing, sending, and captive (embedded) signing experiences.

type BrandResourcesList

type BrandResourcesList struct {
	// A list of resources that the brand uses.
	ResourcesContentTypes []BrandResources `json:"resourcesContentTypes,omitempty"`
}

BrandResourcesList not described in definition file

type BrandsRequest

type BrandsRequest struct {
	// A list of brands.
	Brands []BrandRequest `json:"brands,omitempty"`
}

BrandsRequest details about one or more brands.

type BrandsResponse

type BrandsResponse struct {
	// A list of brands.
	Brands []Brand `json:"brands,omitempty"`
	// The brand that envelope recipients see when a brand is not explicitly set.
	RecipientBrandIDDefault string `json:"recipientBrandIdDefault,omitempty"`
	// The brand that envelope senders see when a brand is not explicitly set.
	SenderBrandIDDefault string `json:"senderBrandIdDefault,omitempty"`
}

BrandsResponse is the AccountBrands resource enables you to use account-level brands to customize the styles and text that recipients see.

type BulkEnvelope

type BulkEnvelope struct {
	// The row of the recipient in the CSV file used to create the bulk recipient list.
	BulkRecipientRow string `json:"bulkRecipientRow,omitempty"`
	// Indicates the status of the bulk send operation. Returned values can be:
	// - `queued`
	// - `processing`
	// - `sent`
	// - `failed`
	BulkStatus string `json:"bulkStatus,omitempty"`
	// The email address of the recipient assigned to this envelope transaction.
	Email string `json:"email,omitempty"`
	// GUID of the bulk envelope.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// The URI for retrieving the envelope or envelopes.
	EnvelopeURI string `json:"envelopeUri,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The name of the recipient assigned to this envelope transaction.
	Name string `json:"name,omitempty"`
	// The date and time on which the bulk envelope was created.
	SubmittedDateTime *time.Time `json:"submittedDateTime,omitempty"`
	// Identifier for the envelope transaction. The ID is a sender-generated value and is valid in the DocuSign system for 7 days. DocuSign recommends that you use a transaction ID for offline signing to ensure that an envelope is not sent multiple times. You can use the transaction ID to determine an envelope's status (queued, processing, sent, or failed) in cases where the Internet connection is lost before envelope status is returned.
	TransactionID string `json:"transactionId,omitempty"`
}

BulkEnvelope not described in definition file

type BulkEnvelopeStatus

type BulkEnvelopeStatus struct {
	// Specifies an identifier which can be used to retrieve a more detailed status of individual bulk recipient batches.
	BatchID string `json:"batchId,omitempty"`
	// The number of items returned in this response.
	BatchSize string `json:"batchSize,omitempty"`
	// A list of bulk envelope objects.
	BulkEnvelopes []BulkEnvelope `json:"bulkEnvelopes,omitempty"`
	// URI at which you can retrieve the batch envelopes.
	BulkEnvelopesBatchURI string `json:"bulkEnvelopesBatchUri,omitempty"`
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The number of entries with a status of failed.
	Failed string `json:"failed,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of entries with a status of queued.
	Queued string `json:"queued,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The number of entries with a status of sent.
	Sent string `json:"sent,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The date on which the bulk envelope was created.
	SubmittedDate string `json:"submittedDate,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

BulkEnvelopeStatus not described in definition file

type BulkProcessRequest added in v0.10.0

type BulkProcessRequest struct {
	//
	BatchName string `json:"batchName,omitempty"`
	// The GUID of the envelope or template.
	EnvelopeOrTemplateID string `json:"envelopeOrTemplateId,omitempty"`
}

BulkProcessRequest not described in definition file

type BulkProcessResponse added in v0.10.0

type BulkProcessResponse struct {
	// Identifier used to query the status of an individual bulk recipient batch.
	BatchID string `json:"batchId,omitempty"`
	//
	BatchName string `json:"batchName,omitempty"`
	// The total number of items in the batch being queried.
	BatchSize string `json:"batchSize,omitempty"`
	// Error details.
	//
	ErrorDetails []string `json:"errorDetails,omitempty"`
	//
	Errors []string `json:"errors,omitempty"`
	//
	QueueLimit string `json:"queueLimit,omitempty"`
	//
	TotalQueued string `json:"totalQueued,omitempty"`
}

BulkProcessResponse not described in definition file

type BulkProcessResult added in v0.10.0

type BulkProcessResult struct {
	//
	Errors []BulkSendBatchError `json:"errors,omitempty"`
	// The GUID of the bulk send list.
	ListID string `json:"listId,omitempty"`
	//
	Success string `json:"success,omitempty"`
}

BulkProcessResult not described in definition file

type BulkProcessingListSummaries added in v0.10.0

type BulkProcessingListSummaries struct {
	// An array of `bulkSendingListSummary` objects where each summary provides basic information about a bulk send list that belongs to the current user.
	BulkListSummaries []BulkProcessingListSummary `json:"bulkListSummaries,omitempty"`
}

BulkProcessingListSummaries not described in definition file

type BulkProcessingListSummary added in v0.10.0

type BulkProcessingListSummary struct {
	//
	BulkProcessListID string `json:"bulkProcessListId,omitempty"`
	//
	CreatedByUser string `json:"createdByUser,omitempty"`
	// The creation date of the account in UTC timedate format.
	CreatedDate string `json:"createdDate,omitempty"`
	//
	Name string `json:"name,omitempty"`
}

BulkProcessingListSummary not described in definition file

type BulkProcessingLists added in v0.10.0

type BulkProcessingLists struct {
	//
	BulkProcessListIds []string `json:"bulkProcessListIds,omitempty"`
}

BulkProcessingLists not described in definition file

type BulkRecipient

type BulkRecipient struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// Specifies the recipient's email address.
	//
	// Maximum length: 100 characters.
	Email string `json:"email,omitempty"`
	// Array or errors.
	ErrorDetails []ErrorDetails `json:"errorDetails,omitempty"`
	// Specifies the authentication check used for the signer. If blank then no authentication check is required for the signer. Only one value can be used in this field.
	//
	// Valid values:
	//
	// * KBA: Enables the normal ID check authentication set up for your account.
	// * Phone: Enables phone authentication.
	// * SMS: Enables SMS authentication.
	Identification string `json:"identification,omitempty"`
	// Specifies the recipient's name.
	//
	// Maximum length: 50 characters.
	Name string `json:"name,omitempty"`
	// A note sent to the recipient in the signing email.
	// This note is unique to this recipient.
	// In the user interface,
	// it appears near the upper left corner
	// of the document
	// on the signing screen.
	//
	// Maximum Length: 1000 characters.
	//
	Note string `json:"note,omitempty"`
	// This is only used if the Identification field value is Phone or SMS. The value for this field can be a valid telephone number or, if Phone, usersupplied (SMS authentication cannot use a user supplied number). Parenthesis and dashes can be used in the telephone number.
	//
	// If `usersupplied` is used, the signer supplies his or her own telephone number.
	PhoneNumber string `json:"phoneNumber,omitempty"`
	//
	RecipientSignatureProviderInfo []BulkRecipientSignatureProvider `json:"recipientSignatureProviderInfo,omitempty"`
	//
	RowNumber string `json:"rowNumber,omitempty"`
	// Specifies values used to populate recipient tabs with information. This allows each bulk recipient signer to have different values for their associated tabs. Any number of `tabLabel` columns can be added to the bulk recipient file.
	//
	// The information used in the bulk recipient file header must be the same as the `tabLabel` for the tab.
	//
	// The values entered in this column are automatically inserted into the corresponding tab for the recipient in the same row.
	//
	// Note that this option cannot be used for tabs that do not have data or that are automatically populated data such as Signature, Full Name, Email Address, Company, Title, and Date Signed tabs.
	TabLabels []BulkRecipientTabLabel `json:"tabLabels,omitempty"`
}

BulkRecipient not described in definition file

type BulkRecipientSignatureProvider

type BulkRecipientSignatureProvider struct {
	//
	Name string `json:"name,omitempty"`
	// Specifies the value of the tab.
	Value string `json:"value,omitempty"`
}

BulkRecipientSignatureProvider not described in definition file

type BulkRecipientTabLabel

type BulkRecipientTabLabel struct {
	//
	Name string `json:"name,omitempty"`
	// Specifies the value of the tab.
	Value string `json:"value,omitempty"`
}

BulkRecipientTabLabel not described in definition file

type BulkRecipientsResponse

type BulkRecipientsResponse struct {
	// A complex type containing information about the bulk recipients in the response.
	BulkRecipients []BulkRecipient `json:"bulkRecipients,omitempty"`
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

BulkRecipientsResponse not described in definition file

type BulkRecipientsUpdateResponse

type BulkRecipientsUpdateResponse struct {
	//
	Signer *Signer `json:"signer,omitempty"`
}

BulkRecipientsUpdateResponse not described in definition file

type BulkSendBatchActionRequest added in v0.10.0

type BulkSendBatchActionRequest struct {
	//
	Action string `json:"action,omitempty"`
	//
	Notification *Notification `json:"notification,omitempty"`
	//
	VoidReason string `json:"voidReason,omitempty"`
}

BulkSendBatchActionRequest not described in definition file

type BulkSendBatchError added in v0.10.0

type BulkSendBatchError struct {
	// The server error associated with the Connect post failure.
	Error string `json:"error,omitempty"`
	//
	ErrorDetail string `json:"errorDetail,omitempty"`
}

BulkSendBatchError not described in definition file

type BulkSendBatchRequest added in v0.10.0

type BulkSendBatchRequest struct {
	//
	BatchName string `json:"batchName,omitempty"`
}

BulkSendBatchRequest not described in definition file

type BulkSendBatchStatus added in v0.10.0

type BulkSendBatchStatus struct {
	//
	Action string `json:"action,omitempty"`
	//
	ActionStatus string `json:"actionStatus,omitempty"`
	// The batch ID.
	BatchID string `json:"batchId,omitempty"`
	// The batch name.
	BatchName string `json:"batchName,omitempty"`
	// The number of of bulk envelopes submitted in the current batch
	//
	BatchSize string `json:"batchSize,omitempty"`
	// An array of error statuses.
	BulkErrors []BulkSendErrorStatus `json:"bulkErrors,omitempty"`
	// The ID of the draft envelope or template that was used to create the batch.
	//
	EnvelopeIDOrTemplateID string `json:"envelopeIdOrTemplateId,omitempty"`
	//
	EnvelopesInfo *BulkSendEnvelopesInfo `json:"envelopesInfo,omitempty"`
	// The URI to get all envelopes sent in the batch.
	//
	EnvelopesURI string `json:"envelopesUri,omitempty"`
	// The number of envelopes that failed to process or send.
	//
	Failed string `json:"failed,omitempty"`
	// The ID of the mailing list used to create the batch.
	MailingListID string `json:"mailingListId,omitempty"`
	//
	MailingListName string `json:"mailingListName,omitempty"`
	//
	OwnerUserID string `json:"ownerUserId,omitempty"`
	// The number of envelopes waiting in pending queue
	//
	Queued string `json:"queued,omitempty"`
	//
	ResendsRemaining string `json:"resendsRemaining,omitempty"`
	// The ID of the sender.
	SenderUserID string `json:"senderUserId,omitempty"`
	// The number of envelopes sent successfully.
	Sent string `json:"sent,omitempty"`
	// The timestamp of  when the batch was submitted in ISO 8601 format.
	//
	//
	SubmittedDate string `json:"submittedDate,omitempty"`
}

BulkSendBatchStatus result of `getBulkSendBatchStatus`

type BulkSendBatchSummaries added in v0.10.0

type BulkSendBatchSummaries struct {
	// The maximum number of envelopes the account is permitted to submit in a given batch.
	BatchSizeLimit string `json:"batchSizeLimit,omitempty"`
	// An array of batch summaries.
	BulkBatchSummaries []BulkSendBatchSummary `json:"bulkBatchSummaries,omitempty"`
	//
	BulkProcessQueueLimit string `json:"bulkProcessQueueLimit,omitempty"`
	//
	BulkProcessTotalQueued string `json:"bulkProcessTotalQueued,omitempty"`
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// Maximum number of envelopes an account is permitted to have in the queue at any one time.
	QueueLimit string `json:"queueLimit,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The number of envelopes currently pending processing for the entire account.
	TotalQueued string `json:"totalQueued,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

BulkSendBatchSummaries is a list of bulk send batch summaries.

type BulkSendBatchSummary added in v0.10.0

type BulkSendBatchSummary struct {
	// The batch ID.
	BatchID string `json:"batchId,omitempty"`
	// The name of the batch.
	BatchName string `json:"batchName,omitempty"`
	// The number of envelopes in the batch.
	BatchSize string `json:"batchSize,omitempty"`
	// The batch details URI.
	BatchURI string `json:"batchUri,omitempty"`
	// Number of envelopes that failed to send.
	Failed string `json:"failed,omitempty"`
	// Number of envelopes peding processing.
	//
	Queued string `json:"queued,omitempty"`
	// Number of envelopes that have been sent.
	Sent string `json:"sent,omitempty"`
	// The time stamp of when the batch was created in ISO 8601 format.
	SubmittedDate string `json:"submittedDate,omitempty"`
}

BulkSendBatchSummary summary status of a single batch.

type BulkSendEnvelopesInfo added in v0.10.0

type BulkSendEnvelopesInfo struct {
	// When **true,** marks all of the documents in the envelope as authoritative copies.
	//
	// **Note:** You can override this value for a specific document. For example, you can set the `authoritativeCopy` property to **true** at the envelope level, but turn it off for a single document by setting the `authoritativeCopy` property for the document to **false.**
	AuthoritativeCopy Bool `json:"authoritativeCopy,omitempty"`
	//
	Completed string `json:"completed,omitempty"`
	//
	Correct string `json:"correct,omitempty"`
	// The UTC DateTime when the workspace user authorization was created.
	Created string `json:"created,omitempty"`
	//
	Declined string `json:"declined,omitempty"`
	//
	Deleted string `json:"deleted,omitempty"`
	//
	Delivered string `json:"delivered,omitempty"`
	//
	DigitalSignaturesPending string `json:"digitalSignaturesPending,omitempty"`
	// The number of entries with a status of `sent`.
	Sent string `json:"sent,omitempty"`
	//
	Signed string `json:"signed,omitempty"`
	//
	TimedOut string `json:"timedOut,omitempty"`
	//
	TransferCompleted string `json:"transferCompleted,omitempty"`
	//
	Voided string `json:"voided,omitempty"`
}

BulkSendEnvelopesInfo not described in definition file

type BulkSendErrorStatus added in v0.10.0

type BulkSendErrorStatus struct {
	// The timestamp of when the error occurred in ISO 8601 format.
	Created string `json:"created,omitempty"`
	// The envelope ID of the envelope status that failed to post.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// The error message generated during processing, if any.
	//
	ErrorMessage string `json:"errorMessage,omitempty"`
	// An array of email addresses for the failed bulk envelope.
	//
	// Recipient email/info of the failed bulk envelope.
	//
	RecipientEmails []string `json:"recipientEmails,omitempty"`
}

BulkSendErrorStatus is a single bulk send error report.

type BulkSendRequest added in v0.10.0

type BulkSendRequest struct {
	// The human-readable name of the batch. If you do not set this value, it defaults to the `name` property of the `bulkSendingList` object.
	//
	BatchName string `json:"batchName,omitempty"`
	// The GUID of the envelope or template that you want to send in bulk.
	EnvelopeOrTemplateID string `json:"envelopeOrTemplateId,omitempty"`
}

BulkSendRequest this object contains information about the envelope or template that you want to send in bulk.

type BulkSendResponse added in v0.10.0

type BulkSendResponse struct {
	// A batch identifier that you can use to get the status of the batch.
	BatchID string `json:"batchId,omitempty"`
	//
	BatchName string `json:"batchName,omitempty"`
	// The total number of items in the batch being queried.
	BatchSize string `json:"batchSize,omitempty"`
	// The GUID of the envelope or template that was sent.
	EnvelopeOrTemplateID string `json:"envelopeOrTemplateId,omitempty"`
	// A human-readable object that describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails []string `json:"errorDetails,omitempty"`
	// A list of errors that occurred. This information is intended to be parsed by machine.
	Errors []string `json:"errors,omitempty"`
	//
	QueueLimit string `json:"queueLimit,omitempty"`
	//
	TotalQueued string `json:"totalQueued,omitempty"`
}

BulkSendResponse is the object contains the response to a bulk send request.

type BulkSendTestResponse added in v0.10.0

type BulkSendTestResponse struct {
	// When **true,** the envelope or template is compatible with the bulk send list and can be sent by using the [BulkSend: createBulkSendRequest][BulkSendRequest] method.
	//
	// **Note:** This property is only returned in responses and ignored in requests.
	//
	// [BulkSendRequest]:  /docs/esign-rest-api/reference/bulkenvelopes/bulksend/createbulksendrequest/
	//
	CanBeSent Bool `json:"canBeSent,omitempty"`
	// Human-readable details about any validation errors that occurred.
	ValidationErrorDetails []string `json:"validationErrorDetails,omitempty"`
	// A list of validation errors that were encountered during the bulk send test.
	//
	// **Note:** This information is intended to be parsed by machine.
	ValidationErrors []string `json:"validationErrors,omitempty"`
}

BulkSendTestResponse this object contains the results of a bulk send test.

type BulkSendingCopy added in v0.10.0

type BulkSendingCopy struct {
	// The custom fields for this copy of the envelope.
	//
	// **Note:** These custom fields must also be included in the original envelope or template that you want to send.
	CustomFields []BulkSendingCopyCustomField `json:"customFields,omitempty"`
	// The email body for this copy of the envelope.
	EmailBlurb string `json:"emailBlurb,omitempty"`
	// The email subject line for this copy of the envelope.
	//
	// For information about adding merge field information to the email subject,
	// see [Template Email Subject Merge Fields](/docs/esign-rest-api/reference/templates/templates/create/).
	//
	// **Note:** The subject line is limited to 100 characters, including any merged fields.It is not truncated. It is an error if the text is longer than 100 characters.
	EmailSubject string `json:"emailSubject,omitempty"`
	// Information about the recipients associated with this copy of the envelope.
	Recipients []BulkSendingCopyRecipient `json:"recipients,omitempty"`
}

BulkSendingCopy this object contains the details to use for a specific copy, or instance, of the envelope. When you send an envelope by using a bulk send list, you can customize these properties for each instance.

type BulkSendingCopyCustomField added in v0.10.0

type BulkSendingCopyCustomField struct {
	// The name of the custom field.
	Name string `json:"name,omitempty"`
	// The value of the custom field.
	Value string `json:"value,omitempty"`
}

BulkSendingCopyCustomField this object contains details about a custom field for a bulk send copy. In a bulk send request, each custom field in the bulk send list must match a custom field in the envelope or template that you want to send.

type BulkSendingCopyRecipient added in v0.10.0

type BulkSendingCopyRecipient struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// Specifies whether the recipient is embedded or remote.
	//
	// If the `clientUserId` property is not null then the recipient is embedded. Use this field to associate the signer with their userId in your app. Authenticating the user is the responsibility of your app when you use embedded signing.
	//
	// Note: if the `clientUserId` property is set and either `SignerMustHaveAccount` or `SignerMustLoginToSign` property of the account settings is set to  **true,** an error is generated on sending.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// An optional array of strings that allows the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each customField string can be a maximum of 100 characters.
	CustomFields []string `json:"customFields,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	// The recipient's email address.
	Email string `json:"email,omitempty"`
	// An optional complex type that sets a specific email subject and body for this recipient's notification email.
	//
	// **Note:** You can set the `emailNotification` property separately for each recipient. If you set the value only for certain recipients, the other recipients will inherit the this value from the top-level `emailSubject` and `emailBlurb`.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	// Specifies a sender-provided valid URL string for redirecting an embedded recipient. When using this option, the embedded recipient still receives an email from DocuSign, just as a remote recipient would. When the document link in the email is clicked the recipient is redirected, through DocuSign, to the supplied URL to complete their actions. When routing to the URL, the sender's system (the server responding to the URL) must request a recipient token to launch a signing session.
	//
	// When `SIGN_AT_DOCUSIGN`, the recipient is directed to an embedded signing or viewing process directly at DocuSign. The signing or viewing action is initiated by the DocuSign system and the transaction activity and Certificate of Completion records will reflect this. In all other ways the process is identical to an embedded signing or viewing operation launched by a partner.
	//
	// It is important to understand that in a typical embedded workflow, the authentication of an embedded recipient is the responsibility of the sending application. DocuSign expects that senders will follow their own processes for establishing the recipient's identity. In this workflow the recipient goes through the sending application before the embedded signing or viewing process is initiated. However, when the sending application sets `EmbeddedRecipientStartURL=SIGN_AT_DOCUSIGN`, the recipient goes directly to the embedded signing or viewing process, bypassing the sending application and any authentication steps the sending application would use. In this case, DocuSign recommends that you use one of the normal DocuSign authentication features (Access Code, Phone Authentication, SMS Authentication, etc.) to verify the identity of the recipient.
	//
	// If the `clientUserId` property is NOT set, and the `embeddedRecipientStartURL` is set, DocuSign will ignore the redirect URL and launch the standard signing process for the email recipient. Information can be appended to the embedded recipient start URL using merge fields. The available merge fields items are: `envelopeId`, `recipientId`, `recipientName`, `recipientEmail`, and `customFields`. The `customFields` property must be set for the recipient or envelope. The merge fields are enclosed in double brackets.
	//
	// *Example*:
	//
	// `http://senderHost/[[mergeField1]]/ beginSigningSession? [[mergeField2]]&[[mergeField3]]`
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// Reserved for DocuSign.
	FaxNumber string `json:"faxNumber,omitempty"`
	// The email address of the signing host.
	// This is the DocuSign user that is hosting the in-person signing session.
	//
	// Required when `inPersonSigningType` is `inPersonSigner`.
	// For eNotary flow, use `email` instead.
	//
	// Maximum Length: 100 characters.
	//
	HostEmail string `json:"hostEmail,omitempty"`
	// The name of the signing host.
	// This is the DocuSign user that is hosting the in-person signing session.
	//
	// Required when `inPersonSigningType` is `inPersonSigner`.
	// For eNotary flow, use `name` instead.
	//
	// Maximum Length: 100 characters.
	//
	HostName string `json:"hostName,omitempty"`
	// The name of the authentication check to use. This value must match one of the authentication types that the account uses. The names of these authentication types appear in the web console sending interface in the Identify list for a recipient. This setting overrides any default authentication setting. Valid values are:
	//
	// - `Phone Auth $`: The recipient must authenticate by using two-factor authentication (2FA). You provide the phone number to use for 2FA in the `phoneAuthentication` object.
	// - `SMS Auth $`: The recipient must authenticate via SMS. You provide the phone number to use in the `smsAuthentication` object.
	// - `ID Check $`: The  recipient must answer detailed security questions.
	//
	// **Example:** Your account has ID Check and SMS Authentication available. In the web console Identify list, these appear as ID Check $ and SMS Auth $. To use ID Check in an envelope, the idCheckConfigurationName should be ID Check $. For SMS, you would use SMS Auth $, and you would also need to add a phone number to the smsAuthentication node.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// An object that contains input information related to a recipient ID check.
	IDCheckInformationInput *IDCheckInformationInput `json:"idCheckInformationInput,omitempty"`
	//
	IdentificationMethod string `json:"identificationMethod,omitempty"`
	//
	Name string `json:"name,omitempty"`
	// A note sent to the recipient in the signing email.
	// This note is unique to this recipient.
	// In the user interface,
	// it appears near the upper left corner
	// of the document
	// on the signing screen.
	//
	// Maximum Length: 1000 characters.
	//
	Note string `json:"note,omitempty"`
	// When `idCheckConfigurationName` is set to `Phone Auth $`, you use this complex type to provide the recipient authentication method details. It contains the following elements:
	//
	// * `recipMayProvideNumber`: Boolean. When **true,** the recipient can use whatever phone number they choose.
	// * `senderProvidedNumbers`: ArrayOfStrings.  A list of phone numbers the recipient can use.
	// * `recordVoicePrint`: Reserved for DocuSign.
	// * `validateRecipProvidedNumber`: Reserved for DocuSign.
	//
	//
	PhoneAuthentication *RecipientPhoneAuthentication `json:"phoneAuthentication,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	//
	// **Note:** Every recipient must be assigned either a `recipientId` or a `roleName` but not both. You cannot use `roleName` and `recipientId` in the same list.
	RecipientID string `json:"recipientId,omitempty"`
	// The default signature provider is the DocuSign Electronic signature system. This parameter is used to specify one or more Standards Based Signature (digital signature) providers for the signer to use. [More information.](/docs/esign-rest-api/esign101/concepts/standards-based-signatures/)
	RecipientSignatureProviders []RecipientSignatureProvider `json:"recipientSignatureProviders,omitempty"`
	// The name of the role associated with the recipient.
	//
	// **Note:** Every recipient must be assigned either a `recipientId` or a `roleName` but not both. You cannot use `roleName` and `recipientId` in the same list.
	RoleName string `json:"roleName,omitempty"`
	// The in-person signer's full legal name.
	//
	// Required when `inPersonSigningType` is `inPersonSigner`.
	// For eNotary flow, use `name` instead.
	//
	// Maximum Length: 100 characters.
	//
	SignerName string `json:"signerName,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// When `idCheckConfigurationName` is set to `SMS Auth $`, you use this complex type to provide the recipient authentication method details. It contains the element `senderProvidedNumbers`, which is an array of phone numbers that the recipient can use for SMS text authentication.
	//
	//
	SmsAuthentication *RecipientSMSAuthentication `json:"smsAuthentication,omitempty"`
	// Deprecated.
	SocialAuthentications []SocialAuthentication `json:"socialAuthentications,omitempty"`
	// A list of tabs associated with the recipient. In a bulk send request, each of these recipient tabs must match a recipient tab on the envelope or template that you want to send. To match up, the `tabLabel` for this tab and the `tabLabel` for the corresponding tab on the envelope or template must be the same.
	//
	// For example, if the envelope has a placeholder text tab with the `tabLabel` `childName`, you must assign the same `tabLabel` `childName` to the tab here that you are populating with that information.
	//
	//  You can use the following types of tabs to match bulk send recipients to an envelope:
	//
	// - Text tabs
	// - Radio group tabs (where the name of the `radioGroup` on the envelope is used as the `tabLabel` in the bulk send list)
	// - List tabs
	Tabs []BulkSendingCopyTab `json:"tabs,omitempty"`
}

BulkSendingCopyRecipient this object contains details about a bulk send recipient.

type BulkSendingCopyTab added in v0.10.0

type BulkSendingCopyTab struct {
	// The initial value that you want to assign to the tab.
	InitialValue string `json:"initialValue,omitempty"`
	// The label associated with the recipient tab. In a bulk send request, the `tabLabel` for this tab and the `tabLabel` for the corresponding tab on the envelope or template must be the same.
	//
	// Maximum Length: 500 characters.
	TabLabel string `json:"tabLabel,omitempty"`
}

BulkSendingCopyTab is a tab associated with the bulk send recipient. In a bulk send request, each recipient tab must match a recipient tab on the envelope or template that you want to send. To match up, the `tabLabel` for this tab and the `tabLabel` for the corresponding tab on the envelope or template must be the same.

For example, if the envelope has a placeholder text tab with the `tabLabel` `childName`, you must assign the same `tabLabel` `childName` to the tab here that you are populating with that information.

type BulkSendingList added in v0.10.0

type BulkSendingList struct {
	// An array of `bulkCopy` objects. Each object represents an instance or copy of an envelope and contains details such as the recipient, custom fields, tabs, and other information.
	BulkCopies []BulkSendingCopy `json:"bulkCopies,omitempty"`
	// The GUID of the bulk send list.
	ListID string `json:"listId,omitempty"`
	// The name of the bulk send list.
	Name string `json:"name,omitempty"`
}

BulkSendingList this object contains the details for the bulk send list.

type BulkSendingListSummaries added in v0.10.0

type BulkSendingListSummaries struct {
	// An array of `bulkSendingListSummary` objects where each summary provides basic information about a bulk send list that belongs to the current user.
	BulkListSummaries []BulkSendingListSummary `json:"bulkListSummaries,omitempty"`
}

BulkSendingListSummaries this complex type contains summaries that provide basic information about the bulk send lists that belong to the current user.

type BulkSendingListSummary added in v0.10.0

type BulkSendingListSummary struct {
	// The GUID of the bulk send list. This property is created after you post a new bulk send list.
	BulkSendListID string `json:"bulkSendListId,omitempty"`
	// The GUID of the user who created the bulk send list.
	CreatedByUser string `json:"createdByUser,omitempty"`
	// The UTC DateTime that the bulk send list was created.
	CreatedDate string `json:"createdDate,omitempty"`
	// The name of the bulk send list.
	Name string `json:"name,omitempty"`
}

BulkSendingListSummary this object contains basic information about a bulk send list.

type CaptiveRecipient

type CaptiveRecipient struct {
	// Specifies whether the recipient is embedded or remote.
	//
	// If the `clientUserId` property is not null then the recipient is embedded. Use this field to associate the signer with their userId in your app. Authenticating the user is the responsibility of your app when you use embedded signing.
	//
	// Note: if the `clientUserId` property is set and either `SignerMustHaveAccount` or `SignerMustLoginToSign` property of the account settings is set to  **true,** an error is generated on sending.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// The email address associated with the captive recipient.
	Email string `json:"email,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The username associated with the captive recipient.
	UserName string `json:"userName,omitempty"`
}

CaptiveRecipient this object contains details about a captive (embedded) recipient.

type CaptiveRecipientInformation

type CaptiveRecipientInformation struct {
	// A complex type containing information about one or more captive recipients.
	CaptiveRecipients []CaptiveRecipient `json:"captiveRecipients,omitempty"`
}

CaptiveRecipientInformation contains information about captive (embedded) recipients.

type CarbonCopy

type CarbonCopy struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// Metadata that indicates whether the `accessCode` property is editable. This property is read-only.
	AccessCodeMetadata *PropertyMetadata `json:"accessCodeMetadata,omitempty"`
	// Optional. When **true,** the access code will be added to the email sent to the recipient. This nullifies the security measure of `accessCode` on the recipient.
	AddAccessCodeToEmail string `json:"addAccessCodeToEmail,omitempty"`
	// An array of additional notification objects.
	AdditionalNotifications []RecipientAdditionalNotification `json:"additionalNotifications,omitempty"`
	// Optional element. When **true,** the agents recipient associated with this recipient can change the recipient's pre-populated email address. This element is only active if enabled for the account.
	AgentCanEditEmail Bool `json:"agentCanEditEmail,omitempty"`
	// Optional element. When **true,** the agents recipient associated with this recipient can change the recipient's pre-populated name. This element is only active if enabled for the account.
	AgentCanEditName Bool `json:"agentCanEditName,omitempty"`
	// When **true,** if the recipient is locked on a template, advanced recipient routing can override the lock.
	AllowSystemOverrideForLockedRecipient Bool `json:"allowSystemOverrideForLockedRecipient,omitempty"`
	// Error message provided by the destination email system. This field is only provided if the email notification to the recipient fails to send. This property is read-only.
	//
	AutoRespondedReason string `json:"autoRespondedReason,omitempty"`
	// Not applicable for Carbon Copy recipients.
	ClientUserID string `json:"clientUserId,omitempty"`
	// Indicates the number of times that the recipient has been through a signing completion for the envelope. If this number is greater than 0 for a signing group, only the user who previously completed may sign again. This property is read-only.
	CompletedCount string `json:"completedCount,omitempty"`
	//
	ConsentDetailsList []ConsentDetails `json:"consentDetailsList,omitempty"`
	// An optional array of strings that allows the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each customField string can be a maximum of 100 characters.
	CustomFields []string `json:"customFields,omitempty"`
	// The date and time the recipient declined the document. This property is read-only.
	DeclinedDateTime *time.Time `json:"declinedDateTime,omitempty"`
	// The reason the recipient declined the document. This property is read-only.
	DeclinedReason string `json:"declinedReason,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime *time.Time `json:"deliveredDateTime,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethodMetadata *PropertyMetadata `json:"deliveryMethodMetadata,omitempty"`
	// Reserved for DocuSign.
	DesignatorID string `json:"designatorId,omitempty"`
	// Reserved for DocuSign.
	DesignatorIDGUID string `json:"designatorIdGuid,omitempty"`
	// A list of `documentVisibility` objects. Each object in the list specifies whether a document in the envelope is visible to this recipient. For the envelope to use this functionality, Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true.**
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
	// The recipient's email address. Notification of the document to sign is sent to this email address.
	//
	// Maximum length: 100 characters.
	Email string `json:"email,omitempty"`
	// Metadata that indicates whether the `email` property is editable. This property is read-only.
	EmailMetadata *PropertyMetadata `json:"emailMetadata,omitempty"`
	// An optional complex type that sets a specific email subject and body for this recipient's notification email.
	//
	// **Note:** You can set the `emailNotification` property separately for each recipient. If you set the value only for certain recipients, the other recipients will inherit the this value from the top-level `emailSubject` and `emailBlurb`.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	//
	EmailRecipientPostSigningURL string `json:"emailRecipientPostSigningURL,omitempty"`
	// Specifies a sender-provided valid URL string for redirecting an embedded recipient. When using this option, the embedded recipient still receives an email from DocuSign, just as a remote recipient would. When the document link in the email is clicked the recipient is redirected, through DocuSign, to the supplied URL to complete their actions. When routing to the URL, the sender's system (the server responding to the URL) must request a recipient token to launch a signing session.
	//
	// When `SIGN_AT_DOCUSIGN`, the recipient is directed to an embedded signing or viewing process directly at DocuSign. The signing or viewing action is initiated by the DocuSign system and the transaction activity and Certificate of Completion records will reflect this. In all other ways the process is identical to an embedded signing or viewing operation launched by a partner.
	//
	// It is important to understand that in a typical embedded workflow, the authentication of an embedded recipient is the responsibility of the sending application. DocuSign expects that senders will follow their own processes for establishing the recipient's identity. In this workflow the recipient goes through the sending application before the embedded signing or viewing process is initiated. However, when the sending application sets `EmbeddedRecipientStartURL=SIGN_AT_DOCUSIGN`, the recipient goes directly to the embedded signing or viewing process, bypassing the sending application and any authentication steps the sending application would use. In this case, DocuSign recommends that you use one of the normal DocuSign authentication features (Access Code, Phone Authentication, SMS Authentication, etc.) to verify the identity of the recipient.
	//
	// If the `clientUserId` property is NOT set, and the `embeddedRecipientStartURL` is set, DocuSign will ignore the redirect URL and launch the standard signing process for the email recipient. Information can be appended to the embedded recipient start URL using merge fields. The available merge fields items are: `envelopeId`, `recipientId`, `recipientName`, `recipientEmail`, and `customFields`. The `customFields` property must be set for the recipient or envelope. The merge fields are enclosed in double brackets.
	//
	// *Example*:
	//
	// `http://senderHost/[[mergeField1]]/ beginSigningSession? [[mergeField2]]&[[mergeField3]]`
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Specifies the documents that are not visible to this recipient. Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true** for the envelope to use this.
	//
	// When enforce signer visibility is enabled, documents with tabs can only be viewed by signers that have a tab on that document. Recipients that have an administrative role (Agent, Editor, or Intermediaries) or informational role (Certified Deliveries or Carbon Copies) can always see all the documents in an envelope, unless they are specifically excluded using this setting when an envelope is sent. Documents that do not have tabs are always visible to all recipients, unless they are specifically excluded using this setting when an envelope is sent.
	ExcludedDocuments Bool `json:"excludedDocuments,omitempty"`
	// Reserved for DocuSign.
	FaxNumber string `json:"faxNumber,omitempty"`
	// Reserved for DocuSign.
	FaxNumberMetadata *PropertyMetadata `json:"faxNumberMetadata,omitempty"`
	// The recipient's first name. Maximum Length: 50 characters.
	FirstName string `json:"firstName,omitempty"`
	// Metadata that indicates whether the `firstName` property is editable. This property is read-only.
	FirstNameMetadata *PropertyMetadata `json:"firstNameMetadata,omitempty"`
	// Reserved for DocuSign.
	FullName string `json:"fullName,omitempty"`
	// Reserved for DocuSign.
	FullNameMetadata *PropertyMetadata `json:"fullNameMetadata,omitempty"`
	// The name of the authentication check to use. This value must match one of the authentication types that the account uses. The names of these authentication types appear in the web console sending interface in the Identify list for a recipient. This setting overrides any default authentication setting. Valid values are:
	//
	// - `Phone Auth $`: The recipient must authenticate by using two-factor authentication (2FA). You provide the phone number to use for 2FA in the `phoneAuthentication` object.
	// - `SMS Auth $`: The recipient must authenticate via SMS. You provide the phone number to use in the `smsAuthentication` object.
	// - `ID Check $`: The  recipient must answer detailed security questions.
	//
	// **Example:** Your account has ID Check and SMS Authentication available. In the web console Identify list, these appear as ID Check $ and SMS Auth $. To use ID Check in an envelope, the idCheckConfigurationName should be ID Check $. For SMS, you would use SMS Auth $, and you would also need to add a phone number to the smsAuthentication node.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// Metadata that indicates whether the `idCheckConfigurationName` property is editable. This property is read-only.
	IDCheckConfigurationNameMetadata *PropertyMetadata `json:"idCheckConfigurationNameMetadata,omitempty"`
	// An object that contains input information related to a recipient ID check.
	IDCheckInformationInput *IDCheckInformationInput `json:"idCheckInformationInput,omitempty"`
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification *RecipientIdentityVerification `json:"identityVerification,omitempty"`
	// When **true** and the envelope recipient creates a DocuSign account after signing, the Manage Account Email Notification settings are used as the default settings for the recipient's account.
	InheritEmailNotificationConfiguration Bool `json:"inheritEmailNotificationConfiguration,omitempty"`
	// The recipient's last name.
	LastName string `json:"lastName,omitempty"`
	// Metadata that indicates whether the `lastName` property is editable. This property is read-only.
	LastNameMetadata *PropertyMetadata `json:"lastNameMetadata,omitempty"`
	//
	LinkedAccountConfigurationID string `json:"linkedAccountConfigurationId,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientPhoneAuthEditable string `json:"lockedRecipientPhoneAuthEditable,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientSmsEditable string `json:"lockedRecipientSmsEditable,omitempty"`
	// The full legal name of the recipient. Maximum Length: 100 characters.
	//
	// **Note:** You must always set a value for this property in requests, even if `firstName` and `lastName` are set.
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// A note sent to the recipient in the signing email.
	// This note is unique to this recipient.
	// In the user interface,
	// it appears near the upper left corner
	// of the document
	// on the signing screen.
	//
	// Maximum Length: 1000 characters.
	//
	Note string `json:"note,omitempty"`
	// Metadata that indicates whether the `note` property is editable. This property is read-only.
	NoteMetadata *PropertyMetadata `json:"noteMetadata,omitempty"`
	// When `idCheckConfigurationName` is set to `Phone Auth $`, you use this complex type to provide the recipient authentication method details. It contains the following elements:
	//
	// * `recipMayProvideNumber`: Boolean. When **true,** the recipient can use whatever phone number they choose.
	// * `senderProvidedNumbers`: ArrayOfStrings.  A list of phone numbers the recipient can use.
	// * `recordVoicePrint`: Reserved for DocuSign.
	// * `validateRecipProvidedNumber`: Reserved for DocuSign.
	//
	//
	PhoneAuthentication Bool `json:"phoneAuthentication,omitempty"`
	// Describes the recipient phone number.
	PhoneNumber *RecipientPhoneNumber `json:"phoneNumber,omitempty"`
	// The proof file of the recipient.
	ProofFile *RecipientProofFile `json:"proofFile,omitempty"`
	// Reserved for DocuSign.
	RecipientAttachments []RecipientAttachment `json:"recipientAttachments,omitempty"`
	// Information about the recipient's authentication status. This property is read-only.
	RecipientAuthenticationStatus *AuthenticationStatus `json:"recipientAuthenticationStatus,omitempty"`
	// Metadata about the features that are supported for the recipient type. This property is read-only.
	RecipientFeatureMetadata []FeatureAvailableMetadata `json:"recipientFeatureMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// The recipient type, as specified by the following values:
	// - `agent`: Agent recipients can add name and email information for recipients that appear after the agent in routing order.
	// - `carbonCopy`: Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date, or add information to any of the documents. This type of recipient can be used in any routing order.
	// - `certifiedDelivery`: Certified delivery recipients must receive the completed documents for the envelope to be completed. They don't need to sign, initial, date, or add information to any of the documents.
	// - `editor`: Editors have the same management and access rights for the envelope as the sender. Editors can add name and email information, add or change the routing order, set authentication options, and can edit signature/initial tabs and data fields for the remaining recipients.
	// - `inPersonSigner`: In-person recipients are DocuSign users who act as signing hosts in the same physical location as the signer.
	// - `intermediaries`: Intermediary recipients can optionally add name and email information for recipients at the same or subsequent level in the routing order.
	// - `seal`: Electronic seal recipients represent legal entities.
	// - `signer`: Signers are recipients who must sign, initial, date, or add data to form fields on the documents in the envelope.
	// - `witness`: Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.
	RecipientType string `json:"recipientType,omitempty"`
	// Metadata that indicates whether the `recipientType` property is editable. This property is read-only.
	RecipientTypeMetadata *PropertyMetadata `json:"recipientTypeMetadata,omitempty"`
	// When **true,** the recipient is required to use the specified ID check method (including Phone and SMS authentication) to validate their identity.
	RequireIDLookup Bool `json:"requireIdLookup,omitempty"`
	// Metadata that indicates whether the `requireIdLookup` property is editable. This property is read-only.
	RequireIDLookupMetadata *PropertyMetadata `json:"requireIdLookupMetadata,omitempty"`
	// Optional element. Specifies the role name associated with the recipient.<br/><br/>This property is required when you are working with template recipients.
	RoleName string `json:"roleName,omitempty"`
	// Specifies the routing order of the recipient in the envelope.
	RoutingOrder string `json:"routingOrder,omitempty"`
	// Metadata that indicates whether the `routingOrder` property is editable. This property is read-only.
	RoutingOrderMetadata *PropertyMetadata `json:"routingOrderMetadata,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime *time.Time `json:"sentDateTime,omitempty"`
	// Reserved for DocuSign.
	SignedDateTime *time.Time `json:"signedDateTime,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// Metadata that indicates whether the `signingGroupId` property is editable. This property is read-only.
	SigningGroupIDMetadata *PropertyMetadata `json:"signingGroupIdMetadata,omitempty"`
	// Optional. The name of the signing group.
	//
	// Maximum Length: 100 characters.
	SigningGroupName string `json:"signingGroupName,omitempty"`
	// A complex type that contains information about users in the signing group.
	SigningGroupUsers []UserInfo `json:"signingGroupUsers,omitempty"`
	// When `idCheckConfigurationName` is set to `SMS Auth $`, you use this complex type to provide the recipient authentication method details. It contains the element `senderProvidedNumbers`, which is an array of phone numbers that the recipient can use for SMS text authentication.
	//
	//
	SmsAuthentication *RecipientSMSAuthentication `json:"smsAuthentication,omitempty"`
	// Deprecated.
	SocialAuthentications []SocialAuthentication `json:"socialAuthentications,omitempty"`
	// The recipient's status. This property is read-only.
	//
	// Valid values:
	//
	// - `autoresponded`: The recipient's email system auto-responded to the email from DocuSign. This status is used in the web console to inform senders about the bounced-back email. This recipient status is only used if **Send-on-behalf-of** is turned off for the account.
	// - `completed`: The recipient has completed their actions (signing or other required actions if not a signer) for an envelope.
	// - `created`: The recipient is in a draft state. This value is only associated with draft envelopes (envelopes that have a status of `created`).
	// - `declined`: The recipient declined to sign the documents in the envelope.
	// - `delivered`: The recipient has viewed the documents in an envelope through the DocuSign signing website. This is not an email delivery of the documents in an envelope.
	// - `faxPending`: The recipient has finished signing and the system is waiting for a fax attachment from the recipient before completing their signing step.
	// - `sent`: The recipient has been sent an email notification that it is their turn to sign an envelope.
	// - `signed`: The recipient has completed (signed) all required tags in an envelope. This is a temporary state during processing, after which the recipient's status automatically switches to `completed`.
	Status string `json:"status,omitempty"`
	// The code associated with the recipient's status. This property is read-only.
	StatusCode string `json:"statusCode,omitempty"`
	// When **true,** email notifications are suppressed for the recipient, and they must access envelopes and documents from their DocuSign inbox.
	SuppressEmails Bool `json:"suppressEmails,omitempty"`
	// A list of `commentTabs` that contains the Carbon Copy recipient's comments.
	Tabs *Tabs `json:"tabs,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// The total number of tabs in the documents. This property is read-only.
	TotalTabCount string `json:"totalTabCount,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

CarbonCopy contains information about a carbon copy recipient. Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date or add information to any of the documents.

type CertifiedDelivery

type CertifiedDelivery struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// Metadata that indicates whether the `accessCode` property is editable. This property is read-only.
	AccessCodeMetadata *PropertyMetadata `json:"accessCodeMetadata,omitempty"`
	// Optional. When **true,** the access code will be added to the email sent to the recipient. This nullifies the security measure of `accessCode` on the recipient.
	AddAccessCodeToEmail string `json:"addAccessCodeToEmail,omitempty"`
	// An array of additional notification objects.
	AdditionalNotifications []RecipientAdditionalNotification `json:"additionalNotifications,omitempty"`
	// Optional element. When **true,** the agents recipient associated with this recipient can change the recipient's pre-populated email address. This element is only active if enabled for the account.
	AgentCanEditEmail Bool `json:"agentCanEditEmail,omitempty"`
	// Optional element. When **true,** the agents recipient associated with this recipient can change the recipient's pre-populated name. This element is only active if enabled for the account.
	AgentCanEditName Bool `json:"agentCanEditName,omitempty"`
	// When **true,** if the recipient is locked on a template, advanced recipient routing can override the lock.
	AllowSystemOverrideForLockedRecipient Bool `json:"allowSystemOverrideForLockedRecipient,omitempty"`
	// Error message provided by the destination email system. This field is only provided if the email notification to the recipient fails to send. This property is read-only.
	//
	AutoRespondedReason string `json:"autoRespondedReason,omitempty"`
	// Specifies whether the recipient is embedded or remote.
	//
	// If the `clientUserId` property is not null then the recipient is embedded. Use this field to associate the signer with their userId in your app. Authenticating the user is the responsibility of your app when you use embedded signing.
	//
	// Note: if the `clientUserId` property is set and either `SignerMustHaveAccount` or `SignerMustLoginToSign` property of the account settings is set to  **true,** an error is generated on sending.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// Indicates the number of times that the recipient has been through a signing completion for the envelope. If this number is greater than 0 for a signing group, only the user who previously completed may sign again. This property is read-only.
	CompletedCount string `json:"completedCount,omitempty"`
	//
	ConsentDetailsList []ConsentDetails `json:"consentDetailsList,omitempty"`
	// An optional array of strings that allows the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each customField string can be a maximum of 100 characters.
	CustomFields []string `json:"customFields,omitempty"`
	// The date and time the recipient declined the document. This property is read-only.
	DeclinedDateTime *time.Time `json:"declinedDateTime,omitempty"`
	// The reason the recipient declined the document. This property is read-only.
	DeclinedReason string `json:"declinedReason,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime *time.Time `json:"deliveredDateTime,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethodMetadata *PropertyMetadata `json:"deliveryMethodMetadata,omitempty"`
	// Reserved for DocuSign.
	DesignatorID string `json:"designatorId,omitempty"`
	// Reserved for DocuSign.
	DesignatorIDGUID string `json:"designatorIdGuid,omitempty"`
	// A list of `documentVisibility` objects. Each object in the list specifies whether a document in the envelope is visible to this recipient. For the envelope to use this functionality, Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true.**
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
	// The recipient's email address.
	Email string `json:"email,omitempty"`
	// Metadata that indicates whether the `email` property is editable. This property is read-only.
	EmailMetadata *PropertyMetadata `json:"emailMetadata,omitempty"`
	// An optional complex type that sets a specific email subject and body for this recipient's notification email.
	//
	// **Note:** You can set the `emailNotification` property separately for each recipient. If you set the value only for certain recipients, the other recipients will inherit the this value from the top-level `emailSubject` and `emailBlurb`.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	//
	EmailRecipientPostSigningURL string `json:"emailRecipientPostSigningURL,omitempty"`
	// Specifies a sender-provided valid URL string for redirecting an embedded recipient. When using this option, the embedded recipient still receives an email from DocuSign, just as a remote recipient would. When the document link in the email is clicked the recipient is redirected, through DocuSign, to the supplied URL to complete their actions. When routing to the URL, the sender's system (the server responding to the URL) must request a recipient token to launch a signing session.
	//
	// When `SIGN_AT_DOCUSIGN`, the recipient is directed to an embedded signing or viewing process directly at DocuSign. The signing or viewing action is initiated by the DocuSign system and the transaction activity and Certificate of Completion records will reflect this. In all other ways the process is identical to an embedded signing or viewing operation launched by a partner.
	//
	// It is important to understand that in a typical embedded workflow, the authentication of an embedded recipient is the responsibility of the sending application. DocuSign expects that senders will follow their own processes for establishing the recipient's identity. In this workflow the recipient goes through the sending application before the embedded signing or viewing process is initiated. However, when the sending application sets `EmbeddedRecipientStartURL=SIGN_AT_DOCUSIGN`, the recipient goes directly to the embedded signing or viewing process, bypassing the sending application and any authentication steps the sending application would use. In this case, DocuSign recommends that you use one of the normal DocuSign authentication features (Access Code, Phone Authentication, SMS Authentication, etc.) to verify the identity of the recipient.
	//
	// If the `clientUserId` property is NOT set, and the `embeddedRecipientStartURL` is set, DocuSign will ignore the redirect URL and launch the standard signing process for the email recipient. Information can be appended to the embedded recipient start URL using merge fields. The available merge fields items are: `envelopeId`, `recipientId`, `recipientName`, `recipientEmail`, and `customFields`. The `customFields` property must be set for the recipient or envelope. The merge fields are enclosed in double brackets.
	//
	// *Example*:
	//
	// `http://senderHost/[[mergeField1]]/ beginSigningSession? [[mergeField2]]&[[mergeField3]]`
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Specifies the documents that are not visible to this recipient. Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true** for the envelope to use this.
	//
	// When enforce signer visibility is enabled, documents with tabs can only be viewed by signers that have a tab on that document. Recipients that have an administrative role (Agent, Editor, or Intermediaries) or informational role (Certified Deliveries or Carbon Copies) can always see all the documents in an envelope, unless they are specifically excluded using this setting when an envelope is sent. Documents that do not have tabs are always visible to all recipients, unless they are specifically excluded using this setting when an envelope is sent.
	ExcludedDocuments Bool `json:"excludedDocuments,omitempty"`
	// Reserved for DocuSign.
	FaxNumber string `json:"faxNumber,omitempty"`
	// Reserved for DocuSign.
	FaxNumberMetadata *PropertyMetadata `json:"faxNumberMetadata,omitempty"`
	// The recipient's first name. Maximum Length: 50 characters.
	FirstName string `json:"firstName,omitempty"`
	// Metadata that indicates whether the `firstName` property is editable. This property is read-only.
	FirstNameMetadata *PropertyMetadata `json:"firstNameMetadata,omitempty"`
	// Reserved for DocuSign.
	FullName string `json:"fullName,omitempty"`
	// Reserved for DocuSign.
	FullNameMetadata *PropertyMetadata `json:"fullNameMetadata,omitempty"`
	// The name of the authentication check to use. This value must match one of the authentication types that the account uses. The names of these authentication types appear in the web console sending interface in the Identify list for a recipient. This setting overrides any default authentication setting. Valid values are:
	//
	// - `Phone Auth $`: The recipient must authenticate by using two-factor authentication (2FA). You provide the phone number to use for 2FA in the `phoneAuthentication` object.
	// - `SMS Auth $`: The recipient must authenticate via SMS. You provide the phone number to use in the `smsAuthentication` object.
	// - `ID Check $`: The  recipient must answer detailed security questions.
	//
	// **Example:** Your account has ID Check and SMS Authentication available. In the web console Identify list, these appear as ID Check $ and SMS Auth $. To use ID Check in an envelope, the idCheckConfigurationName should be ID Check $. For SMS, you would use SMS Auth $, and you would also need to add a phone number to the smsAuthentication node.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// Metadata that indicates whether the `idCheckConfigurationName` property is editable. This property is read-only.
	IDCheckConfigurationNameMetadata *PropertyMetadata `json:"idCheckConfigurationNameMetadata,omitempty"`
	// An object that contains input information related to a recipient ID check.
	IDCheckInformationInput *IDCheckInformationInput `json:"idCheckInformationInput,omitempty"`
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification *RecipientIdentityVerification `json:"identityVerification,omitempty"`
	// When **true** and the envelope recipient creates a DocuSign account after signing, the Manage Account Email Notification settings are used as the default settings for the recipient's account.
	InheritEmailNotificationConfiguration Bool `json:"inheritEmailNotificationConfiguration,omitempty"`
	// The recipient's last name.
	LastName string `json:"lastName,omitempty"`
	// Metadata that indicates whether the `lastName` property is editable. This property is read-only.
	LastNameMetadata *PropertyMetadata `json:"lastNameMetadata,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientPhoneAuthEditable string `json:"lockedRecipientPhoneAuthEditable,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientSmsEditable string `json:"lockedRecipientSmsEditable,omitempty"`
	// The full legal name of the recipient. Maximum Length: 100 characters.
	//
	// **Note:** You must always set a value for this property in requests, even if `firstName` and `lastName` are set.
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// A note sent to the recipient in the signing email.
	// This note is unique to this recipient.
	// In the user interface,
	// it appears near the upper left corner
	// of the document
	// on the signing screen.
	//
	// Maximum Length: 1000 characters.
	//
	Note string `json:"note,omitempty"`
	// Metadata that indicates whether the `note` property is editable. This property is read-only.
	NoteMetadata *PropertyMetadata `json:"noteMetadata,omitempty"`
	// When `idCheckConfigurationName` is set to `Phone Auth $`, you use this complex type to provide the recipient authentication method details. It contains the following elements:
	//
	// * `recipMayProvideNumber`: Boolean. When **true,** the recipient can use whatever phone number they choose.
	// * `senderProvidedNumbers`: ArrayOfStrings.  A list of phone numbers the recipient can use.
	// * `recordVoicePrint`: Reserved for DocuSign.
	// * `validateRecipProvidedNumber`: Reserved for DocuSign.
	//
	//
	PhoneAuthentication Bool `json:"phoneAuthentication,omitempty"`
	// Describes the recipient phone number.
	PhoneNumber *RecipientPhoneNumber `json:"phoneNumber,omitempty"`
	// The proof file of the recipient.
	ProofFile *RecipientProofFile `json:"proofFile,omitempty"`
	// Reserved for DocuSign.
	RecipientAttachments []RecipientAttachment `json:"recipientAttachments,omitempty"`
	// Information about the recipient's authentication status. This property is read-only.
	RecipientAuthenticationStatus *AuthenticationStatus `json:"recipientAuthenticationStatus,omitempty"`
	// Metadata about the features that are supported for the recipient type. This property is read-only.
	RecipientFeatureMetadata []FeatureAvailableMetadata `json:"recipientFeatureMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// The recipient type, as specified by the following values:
	// - `agent`: Agent recipients can add name and email information for recipients that appear after the agent in routing order.
	// - `carbonCopy`: Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date, or add information to any of the documents. This type of recipient can be used in any routing order.
	// - `certifiedDelivery`: Certified delivery recipients must receive the completed documents for the envelope to be completed. They don't need to sign, initial, date, or add information to any of the documents.
	// - `editor`: Editors have the same management and access rights for the envelope as the sender. Editors can add name and email information, add or change the routing order, set authentication options, and can edit signature/initial tabs and data fields for the remaining recipients.
	// - `inPersonSigner`: In-person recipients are DocuSign users who act as signing hosts in the same physical location as the signer.
	// - `intermediaries`: Intermediary recipients can optionally add name and email information for recipients at the same or subsequent level in the routing order.
	// - `seal`: Electronic seal recipients represent legal entities.
	// - `signer`: Signers are recipients who must sign, initial, date, or add data to form fields on the documents in the envelope.
	// - `witness`: Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.
	RecipientType string `json:"recipientType,omitempty"`
	// Metadata that indicates whether the `recipientType` property is editable. This property is read-only.
	RecipientTypeMetadata *PropertyMetadata `json:"recipientTypeMetadata,omitempty"`
	// When **true,** the recipient is required to use the specified ID check method (including Phone and SMS authentication) to validate their identity.
	RequireIDLookup Bool `json:"requireIdLookup,omitempty"`
	// Metadata that indicates whether the `requireIdLookup` property is editable. This property is read-only.
	RequireIDLookupMetadata *PropertyMetadata `json:"requireIdLookupMetadata,omitempty"`
	// Optional element. Specifies the role name associated with the recipient.<br/><br/>This property is required when you are working with template recipients.
	RoleName string `json:"roleName,omitempty"`
	// Specifies the routing order of the recipient in the envelope.
	RoutingOrder string `json:"routingOrder,omitempty"`
	// Metadata that indicates whether the `routingOrder` property is editable. This property is read-only.
	RoutingOrderMetadata *PropertyMetadata `json:"routingOrderMetadata,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime *time.Time `json:"sentDateTime,omitempty"`
	// Reserved for DocuSign.
	SignedDateTime *time.Time `json:"signedDateTime,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// Metadata that indicates whether the `signingGroupId` property is editable. This property is read-only.
	SigningGroupIDMetadata *PropertyMetadata `json:"signingGroupIdMetadata,omitempty"`
	// Optional. The name of the signing group.
	//
	// Maximum Length: 100 characters.
	SigningGroupName string `json:"signingGroupName,omitempty"`
	// A complex type that contains information about users in the signing group.
	SigningGroupUsers []UserInfo `json:"signingGroupUsers,omitempty"`
	// When `idCheckConfigurationName` is set to `SMS Auth $`, you use this complex type to provide the recipient authentication method details. It contains the element `senderProvidedNumbers`, which is an array of phone numbers that the recipient can use for SMS text authentication.
	//
	//
	SmsAuthentication *RecipientSMSAuthentication `json:"smsAuthentication,omitempty"`
	// Deprecated.
	SocialAuthentications []SocialAuthentication `json:"socialAuthentications,omitempty"`
	// The status of the recipient. This property is read-only.
	//
	// Valid values:
	//
	// - `autoresponded`: The recipient's email system auto-responded to the email from DocuSign. This status is used in the web console to inform senders about the bounced-back email. This recipient status is only used if **Send-on-behalf-of** is turned off for the account.
	// - `completed`: The recipient has completed their actions (signing or other required actions if not a signer) for an envelope.
	// - `created`: The recipient is in a draft state. This value is only associated with draft envelopes (envelopes that have a status of `created`).
	// - `declined`: The recipient declined to sign the documents in the envelope.
	// - `delivered`: The recipient has viewed the documents in an envelope through the DocuSign signing website. This is not an email delivery of the documents in an envelope.
	// - `faxPending`: The recipient has finished signing and the system is waiting for a fax attachment from the recipient before completing their signing step.
	// - `sent`: The recipient has been sent an email notification that it is their turn to sign an envelope.
	// - `signed`: The recipient has completed (signed) all required tags in an envelope. This is a temporary state during processing, after which the recipient's status automatically switches to `completed`.
	Status string `json:"status,omitempty"`
	// The code associated with the recipient's status. This property is read-only.
	StatusCode string `json:"statusCode,omitempty"`
	// When **true,** email notifications are suppressed for the recipient, and they must access envelopes and documents from their DocuSign inbox.
	SuppressEmails Bool `json:"suppressEmails,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// The total number of tabs in the documents. This property is read-only.
	TotalTabCount string `json:"totalTabCount,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

CertifiedDelivery contains information about a certified delivery recipient. Certified delivery recipients must receive the completed documents for the envelope to be completed. However, they don't need to sign, initial, date or add information to any of the documents.

type Checkbox

type Checkbox struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// Optional element for field markup. When **true,** the signer is required to initial when they modify a shared field.
	RequireInitialOnSharedChange Bool `json:"requireInitialOnSharedChange,omitempty"`
	// Metadata that indicates whether the `requireInitialOnSharedChange` property is editable.
	RequireInitialOnSharedChangeMetadata *PropertyMetadata `json:"requireInitialOnSharedChangeMetadata,omitempty"`
	// This property does not apply to `checkbox` tabs.
	//
	// To require users to check
	// at least one, or at most some number
	// of checkboxes,
	// associate the checkbox tabs
	// with a [`tabGroup`][tabGroup].
	// Then set the following `tabGroup` properties:
	//
	// - [`maximumAllowed`][maximumAllowed]
	// - [`minimumRequired`][minimumRequired]
	// - [`groupRule`][groupRule] specifies how the other two properties are interpreted.
	//
	// You can find an example
	// at [Stack Overflow][so].
	//
	// [so]:               https://stackoverflow.com/questions/58209376/checkbox-validation-using-docusign-rest-api/58210277#58210277
	// [tabGroup]:         /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#definition__enveloperecipienttabs_tabgroups
	// [groupRule]:        /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#definition__enveloperecipienttabs_tabgroups_grouprule
	// [maximumAllowed]:   /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#definition__enveloperecipienttabs_tabgroups_maximumallowed
	// [minimumRequired]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#definition__enveloperecipienttabs_tabgroups_minimumrequired
	//
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// When **true,** the checkbox is selected.
	Selected Bool `json:"selected,omitempty"`
	// Metadata that indicates whether the `selected` property is editable.
	SelectedMetadata *PropertyMetadata `json:"selectedMetadata,omitempty"`
	//
	SelectedOriginal string `json:"selectedOriginal,omitempty"`
	//
	SelectedOriginalMetadata *PropertyMetadata `json:"selectedOriginalMetadata,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipients string `json:"shareToRecipients,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipientsMetadata *PropertyMetadata `json:"shareToRecipientsMetadata,omitempty"`
	// When **true,** this tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	//
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

Checkbox is a tab that allows the recipient to select a yes/no (on/off) option.

type ChunkedUploadPart

type ChunkedUploadPart struct {
	// The order of the part in the chunked upload.
	Sequence string `json:"sequence,omitempty"`
	// The size of the part in bytes.
	//
	// DocuSign recommends that a chunked upload part is no larger than a few MB in size.
	Size string `json:"size,omitempty"`
}

ChunkedUploadPart is an object that contains information about the chunked upload part.

type ChunkedUploadRequest

type ChunkedUploadRequest struct {
	// The ID of the chunked upload.
	//
	// **Note:** This property is ignored in requests, and overridden with an auto-generated value in responses.
	ChunkedUploadID string `json:"chunkedUploadId,omitempty"`
	// A base64-encoded representation of the content that is used to upload the file.
	//
	// Maximum size: 50 MB. However, data is also subject to REST API limits regarding request sizes, and Internet Information Systems (IIS) might place further constraints on file size.
	Data []byte `json:"data,omitempty"`
}

ChunkedUploadRequest this is the request object for uploading a chunked upload.

type ChunkedUploadResponse

type ChunkedUploadResponse struct {
	// A 64-byte, Secure Hash Algorithm 256 (SHA256) checksum that the caller computes across the entirety of the original content that has been uploaded to the chunked upload. DocuSign compares this value to its own computation. If the two values are not equal, the original content and received content are not the same and the commit action is refused.
	Checksum string `json:"checksum,omitempty"`
	// The ID of the chunked upload.
	ChunkedUploadID string `json:"chunkedUploadId,omitempty"`
	// A list of the parts that compose the chunked upload, including their byte sizes. The list must be contiguous before you can commit the chunked upload.
	ChunkedUploadParts []ChunkedUploadPart `json:"chunkedUploadParts,omitempty"`
	// The URI that you use to reference the chunked upload in other API requests, such as envelope document and envelope attachment requests.
	ChunkedUploadURI string `json:"chunkedUploadUri,omitempty"`
	// When **true,** the chunked upload has been committed. A committed chunked upload can no longer receive any additional parts and is ready for use within other API requests.
	Committed Bool `json:"committed,omitempty"`
	// The UTC time at which the chunked upload expires and is no longer addressable.
	//
	// **Note:** The length of time before expiration is configurable, and begins when you initiate the chunked upload. You must fully upload and use a chunked upload within this time. The default value for this duration is 20 minutes.
	ExpirationDateTime *time.Time `json:"expirationDateTime,omitempty"`
	// The maximum number of parts allowed for a chunked upload. This value is configurable per DocuSign environment, account, or integrator. The default value is 128. The maximum possible value is 256.
	//
	MaxChunkedUploadParts string `json:"maxChunkedUploadParts,omitempty"`
	// The maximum total size allowed for a chunked upload. This value is configured per DocuSign environment, account, or integrator. The default value is 50 MB.
	MaxTotalSize string `json:"maxTotalSize,omitempty"`
	// The total size of the parts of the chunked upload.
	//
	// **Note:** When a chunked upload is used as an envelope document, it is subject to the PDF size limit (25 MB) and page count limit that apply to all envelope documents.
	TotalSize string `json:"totalSize,omitempty"`
}

ChunkedUploadResponse is the ChunkedUploads resource provides methods to complete integrity checks, and to add, commit, retrieve, initiate and delete chunked uploads.

type CloudStorageProvider

type CloudStorageProvider struct {
	// The authentication URL used for the cloud storage provider. This information is only included in the response if the user has not passed authentication for the cloud storage provider. If the redirectUrl query string is provided, the returnUrl is appended to the authenticationUrl.
	AuthenticationURL string `json:"authenticationUrl,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The URL the user is redirected to after the cloud storage provider authenticates the user. Using this will append the redirectUrl to the authenticationUrl.
	//
	// The redirectUrl is restricted to URLs in the docusign.com or docusign.net domains.
	RedirectURL string `json:"redirectUrl,omitempty"`
	// The service name for the cloud storage provider.
	Service string `json:"service,omitempty"`
	// The DocuSign-generated ID for the cloud storage provider.
	ServiceID string `json:"serviceId,omitempty"`
}

CloudStorageProvider contains details about a specific cloud storage provider.

type CloudStorageProviders

type CloudStorageProviders struct {
	// An Array containing the storage providers associated with the user.
	StorageProviders []CloudStorageProvider `json:"storageProviders,omitempty"`
}

CloudStorageProviders is the CloudStorageProviders resource provides methods that allow you to manage the cloud storage providers associate with an account.

type Comment

type Comment struct {
	// The envelope ID of the envelope status that failed to post.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// Reserved for DocuSign.
	Hmac string `json:"hmac,omitempty"`
	// A unique ID for the Salesforce object.
	ID string `json:"id,omitempty"`
	// An array of userIds that are mentioned directly in the body of a comment.
	Mentions []string `json:"mentions,omitempty"`
	// Indicates if the comment has been read by the target recipient of the comment.
	Read bool `json:"read,omitempty"`
	//
	SentByEmail string `json:"sentByEmail,omitempty"`
	//
	SentByFullName string `json:"sentByFullName,omitempty"`
	// Reserved for DocuSign.
	SentByImageID string `json:"sentByImageId,omitempty"`
	//
	SentByInitials string `json:"sentByInitials,omitempty"`
	//
	SentByRecipientID string `json:"sentByRecipientId,omitempty"`
	//
	SentByUserID string `json:"sentByUserId,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// Optional. The name of the signing group.
	//
	// Maximum Length: 100 characters.
	SigningGroupName string `json:"signingGroupName,omitempty"`
	//
	Subject string `json:"subject,omitempty"`
	// The unique identifier for the tab.
	TabID string `json:"tabId,omitempty"`
	// Specifies the text that is shown in the dropdown list.
	Text string `json:"text,omitempty"`
	// The unique identifier for the comment thread.
	ThreadID string `json:"threadId,omitempty"`
	// The userId of the user who created the thread.
	ThreadOriginatorID string `json:"threadOriginatorId,omitempty"`
	//
	TimeStampFormatted string `json:"timeStampFormatted,omitempty"`
	//
	Timestamp string `json:"timestamp,omitempty"`
	//
	VisibleTo []string `json:"visibleTo,omitempty"`
}

Comment details about envelope comments.

type CommentHistoryResult

type CommentHistoryResult struct {
	// An array of comment tabs that contain information about users' comments on documents.
	Comments []Comment `json:"comments,omitempty"`
	// The maximum number of results to return.
	Count int32 `json:"count,omitempty"`
	//
	EndTimetoken string `json:"endTimetoken,omitempty"`
	//
	StartTimetoken string `json:"startTimetoken,omitempty"`
}

CommentHistoryResult not described in definition file

type CommentPublish

type CommentPublish struct {
	// A unique ID for the Salesforce object.
	ID string `json:"id,omitempty"`
	// An array of userIds that are mentioned directly in the body of a comment.
	Mentions []string `json:"mentions,omitempty"`
	// Specifies the text that is shown in the dropdown list.
	Text string `json:"text,omitempty"`
	//
	ThreadAnchorKeys map[string]string `json:"threadAnchorKeys,omitempty"`
	// The unique identifier for the comment thread.
	ThreadID string `json:"threadId,omitempty"`
	//
	VisibleTo []string `json:"visibleTo,omitempty"`
}

CommentPublish not described in definition file

type CommentThread

type CommentThread struct {
	TabBase
	TabGuidedForm
	TabPosition
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// When **true,** the information in the tab is bold.
	Bold Bool `json:"bold,omitempty"`
	// Metadata that indicates whether the `bold` property is editable.
	BoldMetadata *PropertyMetadata `json:"boldMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// An array of comment tabs that contain information about users' comments on documents.
	Comments []Comment `json:"comments,omitempty"`
	// The font to be used for the tab value. Supported fonts include:
	//
	// - Default
	// - Arial
	// - ArialNarrow
	// - Calibri
	// - CourierNew
	// - Garamond
	// - Georgia
	// - Helvetica
	// - LucidaConsole
	// - MSGothic
	// - MSMincho
	// - OCR-A
	// - Tahoma
	// - TimesNewRoman
	// - Trebuchet
	// - Verdana
	//
	Font string `json:"font,omitempty"`
	// The font color to use for the information in the tab. Possible values are:
	//
	// - Black
	// - BrightBlue
	// - BrightRed
	// - DarkGreen
	// - DarkRed
	// - Gold
	// - Green
	// - NavyBlue
	// - Purple
	// - White
	//
	FontColor string `json:"fontColor,omitempty"`
	// Metadata that indicates whether the `fontColor` property is editable.
	FontColorMetadata *PropertyMetadata `json:"fontColorMetadata,omitempty"`
	// Metadata that indicates whether the `font` property is editable.
	FontMetadata *PropertyMetadata `json:"fontMetadata,omitempty"`
	// The font size used for the information in the tab. Possible values are:
	//
	// - Size7
	// - Size8
	// - Size9
	// - Size10
	// - Size11
	// - Size12
	// - Size14
	// - Size16
	// - Size18
	// - Size20
	// - Size22
	// - Size24
	// - Size26
	// - Size28
	// - Size36
	// - Size48
	// - Size72
	FontSize string `json:"fontSize,omitempty"`
	// Metadata that indicates whether the `fontSize` property is editable.
	FontSizeMetadata *PropertyMetadata `json:"fontSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,** the information in the tab is italic.
	Italic Bool `json:"italic,omitempty"`
	// Metadata that indicates whether the `italic` property is editable.
	ItalicMetadata *PropertyMetadata `json:"italicMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// The unique identifier for the comment thread.
	ThreadID string `json:"threadId,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// When **true,** the information in the tab is underlined.
	Underline Bool `json:"underline,omitempty"`
	// Metadata that indicates whether the `underline` property is editable.
	UnderlineMetadata *PropertyMetadata `json:"underlineMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

CommentThread not described in definition file

type CommentsPublish

type CommentsPublish struct {
	//
	CommentsToPublish []CommentPublish `json:"commentsToPublish,omitempty"`
}

CommentsPublish not described in definition file

type CommissionCounty added in v0.10.0

type CommissionCounty struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

CommissionCounty is a Commission County tab displays the county of a notary's commission. The tab is populated with the notary's commission information, but the recipient can also edit the value when notarizing. This tab can only be assigned to a remote notary recipient using [DocuSign Notary](/docs/notary-api/).

type CommissionExpiration added in v0.10.0

type CommissionExpiration struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

CommissionExpiration is a Commission Expiration tab displays the expiration date of a notary's commission. The tab is populated with the notary's commission information, but the recipient can also edit the value when notarizing. This tab can only be assigned to a remote notary recipient using [DocuSign Notary](/docs/notary-api/).

type CommissionNumber added in v0.10.0

type CommissionNumber struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

CommissionNumber is a Commission Number tab displays a notary's commission number. The tab is populated with the notary's commission information, but the recipient can also edit the value when notarizing. This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary].

[notary]: /docs/notary-api/

type CommissionState added in v0.10.0

type CommissionState struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

CommissionState is a Commission State tab displays the state in which a notary's commission was granted. The tab is populated with the notary's commission information, but the recipient can also edit the value when notarizing. This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary].

[notary]: /docs/notary-api/

type Company

type Company struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

Company is a tab that displays the recipient's company name.

type CompositeTemplate

type CompositeTemplate struct {
	// The ID of this composite template. This ID is used as a reference when adding document object information. If used, the document's `content-disposition` must include the composite template ID to which the document should be added. If a composite template ID is not specified in the content-disposition, the document is applied based on the value of the `documentId` property only. If no document object is specified, the composite template inherits the first document.
	CompositeTemplateID string `json:"compositeTemplateId,omitempty"`
	// An optional document object that will act as the primary document in the composite template object. If the document node is present, it will take precedence over any server template or inline template documents. It always comes first. Only use this when you want to supply the document dynamically.
	Document *Document `json:"document,omitempty"`
	//  Zero or more inline templates and their position in the overlay. If supplied, they are overlaid into the envelope in the order of their Sequence value.
	InlineTemplates []InlineTemplate `json:"inlineTemplates,omitempty"`
	// A number representing the sequence in which to apply the template that contains the PDF metadata.
	//
	// Example: `4`
	PdfMetaDataTemplateSequence string `json:"pdfMetaDataTemplateSequence,omitempty"`
	// Zero or more server-side templates and their position in the overlay. If supplied, they are overlaid into the envelope in the order of their Sequence value.
	ServerTemplates []ServerTemplate `json:"serverTemplates,omitempty"`
}

CompositeTemplate this object contains information about a [composite template][composite], which you can use to to apply multiple templates to a single envelope, combine templates with PDF forms, and combine templates with documents from cloud sources.

[composite]: /docs/esign-rest-api/esign101/concepts/templates/composite/

type ConditionalRecipientRule added in v0.10.0

type ConditionalRecipientRule struct {
	// An array of conditions that define when the recipients will be used.
	Conditions []ConditionalRecipientRuleCondition `json:"conditions,omitempty"`
	// An integer that specifies the order in which rules are processed.
	// Lower values are processed before higher values.
	Order string `json:"order,omitempty"`
	// A set of recipients that may be used for the envelope, depending on the `conditions` defined.
	RecipientGroup *RecipientGroup `json:"recipientGroup,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
}

ConditionalRecipientRule is a rule that defines a set of recipients and the conditions under which they will be used for the envelope.

type ConditionalRecipientRuleCondition added in v0.10.0

type ConditionalRecipientRuleCondition struct {
	//
	Filters []ConditionalRecipientRuleFilter `json:"filters,omitempty"`
	// An integer that specifies the order in which rules are processed.
	// Lower values are processed before higher values.
	Order string `json:"order,omitempty"`
	// An identifier for the recipient. After assigning this value in a `recipient` object, you can reference it in the `conditions` object to set the recipient as a conditional recipient. For an example, see [How to use conditional recipients](/docs/esign-rest-api/how-to/use-conditional-recipients/).
	//
	RecipientLabel string `json:"recipientLabel,omitempty"`
}

ConditionalRecipientRuleCondition not described in definition file

type ConditionalRecipientRuleFilter added in v0.10.0

type ConditionalRecipientRuleFilter struct {
	// How the tab value is compared to the `value` property. Valid values:
	//
	// * `equals`
	// * `greaterThan`
	// * `greaterThanEquals`
	// * `lessThan`
	// * `lessThanEquals`
	// * `filled`
	// * `selected`
	Operator string `json:"operator,omitempty"`
	// The ID of the recipient (as specified in the `recipients` object).
	RecipientID string `json:"recipientId,omitempty"`
	// The scope under which the condition is evaluated. Valid values:
	//
	// * `tabs`
	Scope string `json:"scope,omitempty"`
	// The unique identifier for the tab.
	TabID string `json:"tabId,omitempty"`
	// The label associated with the tab. This value may be an empty string.
	// If no value is provided, the tab type is used as the value.
	//
	// Maximum Length: 500 characters.
	//
	TabLabel string `json:"tabLabel,omitempty"`
	// Indicates the type of tab (for example, `signHere` or `initialHere`).
	TabType string `json:"tabType,omitempty"`
	// A set value to which the tab's actual value is compared.
	Value string `json:"value,omitempty"`
}

ConditionalRecipientRuleFilter not described in definition file

type ConnectConfigResults

type ConnectConfigResults struct {
	// An array of DocuSign Connect configurations.
	Configurations []ConnectCustomConfiguration `json:"configurations,omitempty"`
	// The number of results.
	TotalRecords string `json:"totalRecords,omitempty"`
}

ConnectConfigResults this object contains the results of a ConnectConfigurations::GET method.

type ConnectCustomConfiguration

type ConnectCustomConfiguration struct {
	// When **true,** the tracked envelope and recipient events for all users, including users that are added a later time, are sent through Connect. The default value is **false.**
	//
	// **Note:** If this property is **false,** make sure you set the `userIds` property to a non-empty array of user IDs.
	AllUsers Bool `json:"allUsers,omitempty"`
	// This flag allows you to toggle between including and excluding specified users from the configuration. When **false,** the users corresponding to the IDs in `userIds` will be included in the configuration. Conversely, when **true,** the users will be excluded from the configuration. The default value is **false.**
	AllUsersExcept string `json:"allUsersExcept,omitempty"`
	// Set this value to **true** to enable the webhook. The default property is **false.**
	AllowEnvelopePublish Bool `json:"allowEnvelopePublish,omitempty"`
	// When **true,** DocuSign sends data to the designated Salesforce account through Connect. The default value is **true.**
	AllowSalesforcePublish Bool `json:"allowSalesforcePublish,omitempty"`
	// The type of the configuration. Valid values:
	//
	// * `custom`: Creates an account-level configuration
	// * `customrecipient`: Creates a Recipient Connect configuration
	// * `salesforce`
	// * `eOriginal`
	//
	// This property is required.
	ConfigurationType string `json:"configurationType,omitempty"`
	// The DocuSign-generated ID for the Connect configuration.
	//
	// This property is read-only.
	ConnectID string `json:"connectId,omitempty"`
	// The delivery mode of the configuration. Valid values:
	//
	// * `SIM`
	// * `Aggregate`
	DeliveryMode string `json:"deliveryMode,omitempty"`
	//
	DisabledBy string `json:"disabledBy,omitempty"`
	// When **true,** Connect logging is turned on. DocuSign recommends that you enable this functionality to help troubleshoot any issues.
	//
	// You can have a maximum of 100 active logs in your account. You can view the entries in active logs in the **Logs** tab in the Connect console.
	EnableLog Bool `json:"enableLog,omitempty"`
	// A list of envelope-level event statuses that will trigger Connect to send updates to the endpoint specified in the `url` property.
	//
	// When using any of [the legacy event message formats](/platform/webhooks/connect/legacy-message-formats/), you must include either the `envelopeEvents` property or the `recipientEvents` property. If you are instead using the [JSON SIM event model](]/platform/webhooks/connect/improved-json-sim-event-model/), use the `events` property.
	//
	// The [possible event statuses](/platform/webhooks/connect/event-triggers/) are:
	//
	// * `Sent`
	// * `Delivered`
	// * `Completed`
	// * `Declined`
	// * `Voided`
	//
	// **Note:** These values are case-sensitive.
	EnvelopeEvents []string `json:"envelopeEvents,omitempty"`
	// Allows you to specify the format of the information the Connect webhooks returns.
	EventData *ConnectEventData `json:"eventData,omitempty"`
	// A comma-separated list of envelope-level event statuses that will trigger Connect to send updates to the endpoint specified in the `urlToPublishTo` property.
	//
	// Set this property when you are using the [JSON SIM event model](/platform/webhooks/connect/improved-json-sim-event-model/). If you are instead using any of [the legacy event message formats](/platform/webhooks/connect/legacy-message-formats/), set either the `envelopeEvents` property or the `recipientEvents` property.
	//
	// The [possible event statuses](/platform/webhooks/connect/improved-json-sim-event-model/#eventreference) are:
	//
	// * `envelope-sent`
	// * `envelope-resent`
	// * `envelope-delivered`
	// * `envelope-completed`
	// * `envelope-declined`
	// * `envelope-voided`
	// * `recipient-authenticationfailed`
	// * `recipient-autoresponded`
	// * `recipient-declined`
	// * `recipient-delivered`
	// * `recipient-completed`
	// * `recipient-sent`
	// * `recipient-resent`
	// * `template-created`
	// * `template-modified`
	// * `template-deleted`
	// * `envelope-corrected`
	// * `envelope-purge`
	// * `envelope-deleted`
	// * `envelope-discard`
	// * `recipient-reassign`
	// * `recipient-delegate`
	// * `recipient-finish-later`
	// * `click-agreed`
	// * `click-declined`
	//
	Events []string `json:"events,omitempty"`
	// The ID of an external folder.
	ExternalFolderID string `json:"externalFolderId,omitempty"`
	// The label for an external folder.
	ExternalFolderLabel string `json:"externalFolderLabel,omitempty"`
	//
	GroupIds []string `json:"groupIds,omitempty"`
	//
	IncludeCertSoapHeader string `json:"includeCertSoapHeader,omitempty"`
	// When **true,** the Connect Service includes the Certificate of Completion with completed envelopes.
	IncludeCertificateOfCompletion Bool `json:"includeCertificateOfCompletion,omitempty"`
	// When **true,** the Document Fields associated with the envelope's documents are included in the notification messages. Document Fields are optional custom name-value pairs added to documents using the API.
	IncludeDocumentFields Bool `json:"includeDocumentFields,omitempty"`
	// reserved
	IncludeDocuments Bool `json:"includeDocuments,omitempty"`
	// When **true,** if the envelope is voided, the Connect Service notification will include the void reason, as entered by the person that voided the envelope.
	IncludeEnvelopeVoidReason Bool `json:"includeEnvelopeVoidReason,omitempty"`
	//
	IncludeHMAC string `json:"includeHMAC,omitempty"`
	// When **true,** Connect will include the sender account as Custom Field in the data.
	IncludeSenderAccountasCustomField Bool `json:"includeSenderAccountasCustomField,omitempty"`
	// When **true,** Connect will include the envelope time zone information.
	IncludeTimeZoneInformation Bool `json:"includeTimeZoneInformation,omitempty"`
	// The name of the Connect configuration.
	//
	// This property is required.
	Name string `json:"name,omitempty"`
	// The user's encrypted password hash.
	Password string `json:"password,omitempty"`
	// An array of recipient event statuses that will trigger Connect to send notifications to your webhook listener at the URL endpoint specified in the `url` property.
	//
	// When using any of [the legacy event message formats](/platform/webhooks/connect/legacy-message-formats/), you must include either the `envelopeEvents` property or the `recipientEvents` property. If you are instead using the [JSON SIM event model](/platform/webhooks/connect/improved-json-sim-event-model/), use the `events` property.
	//
	// The [possible event statuses](/platform/webhooks/connect/event-triggers/) are:
	//
	// * `Sent`
	// * `AutoResponded`
	// * `Delivered`
	// * `Completed`
	// * `Declined`
	// * `AuthenticationFailed`
	//
	// **Note:** These values are case-sensitive.
	RecipientEvents []string `json:"recipientEvents,omitempty"`
	// When **true,** [Mutual TLS](/platform/webhooks/mutual-tls/) authentication is enabled.
	RequireMutualTLS Bool `json:"requireMutualTls,omitempty"`
	// When **true,** event delivery acknowledgements are enabled for your Connect configuration.
	//
	// DocuSign Connect awaits a valid 200 response from your application acknowledging that it received a message. If you do not acknowledge receiving an event notification message within 100 seconds, DocuSign treats the message as a failure and places it into a failure queue. It is imperative that you acknowledge successful receipt of Connect events as they occur by sending a 200 event back.
	//
	// #### When **true** and Send Individual Messages (SIM) mode is activated
	//
	// If the HTTP status response to a notification message is not in the range of 200-299,
	// then the message delivery failed, and the configuration is marked as down.
	//
	// The message will be queued and retried once per day.
	// While a Connect configuration is marked down, subsequent notifications will not be tried. Instead they will be immediately queued with the reason `Pending`.
	// When a message succeeds, all queued messages for the configuration will be tried immediately, in order.
	//
	// There is a maximum of ten retries. Alternately, you can use **Republish Connect Information** to manually republish the notification.
	//
	// #### When **true** and SIM mode is not activated
	//
	// If the HTTP Status response to a notification message is not in the range of 200-299,  then the message delivery failed, and the message is queued.
	//
	// The message will be retried after at least a day the next time a subsequent message is successfully sent to this configuration (subscription).  Subsequent notifications will be tried when they occur.
	// There is a maximum of ten retries. Alternately, you can use **Republish Connect Information** to manually republish the notification.
	//
	// #### When **false**
	//
	// When `requiresAcknowledgement` is set to **false** and you do not acknowledge receiving an event notification message within 100 seconds, DocuSign treats the message as a failure and determines that the server is unavailable. It does not retry to send the notification message, and you must handle the failure manually.
	//
	//
	RequiresAcknowledgement Bool `json:"requiresAcknowledgement,omitempty"`
	// The version of the Salesforce API that you are using.
	SalesforceAPIVersion string `json:"salesforceApiVersion,omitempty"`
	//
	SalesforceAuthcode string `json:"salesforceAuthcode,omitempty"`
	//
	SalesforceCallBackURL string `json:"salesforceCallBackUrl,omitempty"`
	// When **true,** DocuSign can use documents in your Salesforce account for sending and signing.
	SalesforceDocumentsAsContentFiles Bool `json:"salesforceDocumentsAsContentFiles,omitempty"`
	//
	SenderOverride string `json:"senderOverride,omitempty"`
	// This property sets the items that are available for selection when adding or editing Connect objects.
	SenderSelectableItems []string `json:"senderSelectableItems,omitempty"`
	// An array of Salesforce objects.
	SfObjects []ConnectSalesforceObject `json:"sfObjects,omitempty"`
	// When **true,** Mutual TLS will be enabled for notifications. Mutual TLS must be initiated by the listener (the customer's web server) during the TLS handshake protocol.
	SignMessageWithX509Certificate Bool `json:"signMessageWithX509Certificate,omitempty"`
	// The namespace of the SOAP interface.
	//
	// **Note:** If `useSoapInterface` is set to **true,** you must set this value.
	SoapNamespace string `json:"soapNamespace,omitempty"`
	// The web address of the listener or retrieving service endpoint. It must be an HTTPS URL.
	URLToPublishTo string `json:"urlToPublishTo,omitempty"`
	// When **true,** the notifications are sent to your endpoint as SOAP requests.
	UseSoapInterface Bool `json:"useSoapInterface,omitempty"`
	// A comma-separated list of user IDs. This sets the users associated with the tracked envelope and recipient events. When a tracked event occurs for a set user, the a notification message is sent to your Connect listener.
	//
	// By default, the users will be included in the configuration. If you want to exclude the users, set the `allUsersExcept` property to **true.**
	//
	// **Note:** If `allUsers` is set to `false`, then you must provide a list of user IDs.
	UserIds []string `json:"userIds,omitempty"`
	// The name of the user.
	UserName string `json:"userName,omitempty"`
}

ConnectCustomConfiguration is the `connectCustomConfiguration` object describes a Connect configuration for your account.

type ConnectDebugLog

type ConnectDebugLog struct {
	// The name of the Connect configuration.
	ConnectConfig string `json:"connectConfig,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The UTC date and time of the event.
	EventDateTime *time.Time `json:"eventDateTime,omitempty"`
	// A description of the event.
	EventDescription string `json:"eventDescription,omitempty"`
	// Log output.
	Payload string `json:"payload,omitempty"`
}

ConnectDebugLog not described in definition file

type ConnectDeleteFailureResult added in v0.10.0

type ConnectDeleteFailureResult struct {
}

ConnectDeleteFailureResult not described in definition file

type ConnectEventData added in v0.10.0

type ConnectEventData struct {
	// Reserved for DocuSign.
	Format string `json:"format,omitempty"`
	// A string array of the data to be included.
	// The default is the empty array `[]`.
	//
	// - `attachments`: Include attachments associated with the envelope.
	// - `custom_fields`: Include the custom fields associated with the envelope.
	// - `documents`: Include the documents associated with the envelope.
	// - `extensions`: Include information about the email settings associated with the envelope.
	// - `folders`: Include the folder where the envelope exists.
	// - `payment_tabs`: Include the payment tabs associated with the envelope.
	// - `powerform`: Include the PowerForms associated with the envelope.
	// - `prefill_tabs`: Include the [pre-filled tabs](/docs/esign-rest-api/esign101/concepts/tabs/prefilled-tabs/) associated with the envelope.
	// - `recipients`: Include the recipients associated with the envelope.
	// - `tabs`: Include the tabs associated with the envelope.
	//
	IncludeData []string `json:"includeData,omitempty"`
	// Set this property to `restv2.1` to return event data in JSON. If the property is not set, the event data will be returned in XML by default.
	Version string `json:"version,omitempty"`
}

ConnectEventData this object lets you choose the data format of your Connect response.

type ConnectFailureFilter

type ConnectFailureFilter struct {
	// An array of envelope GUIDs.
	//
	// Example: `93be49ab-xxxx-xxxx-xxxx-f752070d71ec`
	//
	EnvelopeIds []string `json:"envelopeIds,omitempty"`
	// Must be **false.** Setting this property to any other value will result in errors.
	Synchronous string `json:"synchronous,omitempty"`
}

ConnectFailureFilter is a list of failed envelope IDs to retry.

type ConnectFailureResult

type ConnectFailureResult struct {
	// Reserved for DocuSign.
	ConfigID string `json:"configId,omitempty"`
	// Reserved for DocuSign.
	//
	ConfigURL string `json:"configUrl,omitempty"`
	// The envelope ID of the envelope status that failed to post.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// The connection status.
	Status string `json:"status,omitempty"`
	// A human-readable message describing the connection status.
	StatusMessage string `json:"statusMessage,omitempty"`
}

ConnectFailureResult this object contains details about a Connect failure result.

type ConnectFailureResults

type ConnectFailureResults struct {
	// Details about a Connect failure result.
	RetryQueue []ConnectFailureResult `json:"retryQueue,omitempty"`
}

ConnectFailureResults not described in definition file

type ConnectHistoricalEnvelopeRepublish added in v0.10.0

type ConnectHistoricalEnvelopeRepublish struct {
	// An object describing the ad hoc Connect configuration data. This object is required.
	//
	// **Note:** Regardless of the `eventData.version` parameter on this object, envelope data will always be transmitted in JSON format. XML is not supported.
	Config *ConnectCustomConfiguration `json:"config,omitempty"`
	// An array of envelope IDs as comma-separated strings. This property is required.
	//
	// For example: `["4280f274-xxxx-xxxx-xxxx-b218b7eeda08","9586h293-xxxx-xxxx-xxxx-m923b8opre71","2347w948-xxxx-xxxx-xxxx-t096b8krno89"]`
	Envelopes []string `json:"envelopes,omitempty"`
}

ConnectHistoricalEnvelopeRepublish is the request body for the `createHistoricalEnvelopePublishTransaction` endpoint.

type ConnectLog

type ConnectLog struct {
	// The account ID associated with the envelope.
	AccountID string `json:"accountId,omitempty"`
	// The web address of the listener or retrieving service endpoint for Connect.
	ConfigURL string `json:"configUrl,omitempty"`
	// A complex element containing information about the Connect configuration, error details, date/time, description and payload.
	// This information is included in the response only when the `additional_info` query is set to **true.**
	// This additional information is only available when retrieving general logs with [ConnectEvents:get](/docs/esign-rest-api/reference/connect/connectevents/get/), but not when retrieving failure logs with [ConnectEvents:listFailures](/docs/esign-rest-api/reference/connect/connectevents/listfailures/).
	ConnectDebugLog []ConnectDebugLog `json:"connectDebugLog,omitempty"`
	// The ID of the Connect configuration that failed. If an account has multiple Connect configurations, this value is used to look up the Connect configuration for the failed post.
	ConnectID string `json:"connectId,omitempty"`
	// The UTC DateTime when the Connect post was created.
	Created *time.Time `json:"created,omitempty"`
	// The email address of the envelope sender.
	Email string `json:"email,omitempty"`
	// The ID of the envelope that failed to post.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// The error that caused the Connect post to fail.
	Error string `json:"error,omitempty"`
	// The failure log ID for the failure.
	FailureID string `json:"failureId,omitempty"`
	// The URI for the Connect post failure.
	FailureURI string `json:"failureUri,omitempty"`
	// The UTC DateTime of the last attempt to post.
	LastTry string `json:"lastTry,omitempty"`
	// The Connect log ID for the entry.
	LogID string `json:"logId,omitempty"`
	// The URI for the Connect log entry.
	LogURI string `json:"logUri,omitempty"`
	// The number of times the Connect post has been retried.
	RetryCount string `json:"retryCount,omitempty"`
	// A URI that you can use to retry to publish the Connect post.
	RetryURI string `json:"retryUri,omitempty"`
	// The envelope status for the Connect post. Possible values are:
	// - `Any`
	// - `Voided`
	// - `Created`
	// - `Deleted`
	// - `Sent`
	// - `Delivered`
	// - `Signed`
	// - `Completed`
	// - `Declined`
	// - `TimedOut`
	// - `Template`
	// - `Processing`
	//
	// For details about these statuses, see [Envelope Status Code Descriptions](/docs/esign-rest-api/esign101/rules-and-limits/responses/).
	Status string `json:"status,omitempty"`
	// The subject of the envelope.
	Subject string `json:"subject,omitempty"`
	// The name of the sender of the envelope.
	UserName string `json:"userName,omitempty"`
}

ConnectLog contains information about a Connect log entry.

type ConnectLogs

type ConnectLogs struct {
	// An array of containing failure information from the Connect failure log.
	Failures []ConnectLog `json:"failures,omitempty"`
	// A list of Connect general logs.
	Logs []ConnectLog `json:"logs,omitempty"`
	// The count of records in the log list.
	TotalRecords string `json:"totalRecords,omitempty"`
	// The type of this tab. Values are:
	//
	// - Approve
	// - CheckBox
	// - Company
	// - Date
	// - DateSigned,	Decline
	// - Email,	EmailAddress
	// - EnvelopeId
	// - FirstName
	// - Formula
	// - FullName,	InitialHere
	// - InitialHereOptional
	// - LastName
	// - List
	// - Note
	// - Number
	// - Radio
	// - SignerAttachment
	// - SignHere
	// - SignHereOptional
	// - Ssn
	// - Text
	// - Title
	// - Zip5
	// - Zip5Dash4
	//
	Type string `json:"type,omitempty"`
}

ConnectLogs not described in definition file

type ConnectOAuthConfig added in v0.10.0

type ConnectOAuthConfig struct {
	//
	AuthorizationServerURL string `json:"authorizationServerUrl,omitempty"`
	//
	ClientID string `json:"clientId,omitempty"`
	//
	ClientSecret string `json:"clientSecret,omitempty"`
	// Must be set to "api".
	Scope string `json:"scope,omitempty"`
}

ConnectOAuthConfig not described in definition file

type ConnectSalesforceField

type ConnectSalesforceField struct {
	//
	DsAttribute string `json:"dsAttribute,omitempty"`
	// A URL that links to the information in the DocuSign field.
	DsLink string `json:"dsLink,omitempty"`
	//
	DsNode string `json:"dsNode,omitempty"`
	// A unique ID for the Salesforce object.
	ID string `json:"id,omitempty"`
	//
	SfField string `json:"sfField,omitempty"`
	// The name of the Salesforce field.
	SfFieldName string `json:"sfFieldName,omitempty"`
	// The name of the Salesforce folder.
	SfFolder string `json:"sfFolder,omitempty"`
	//
	SfLockedValue string `json:"sfLockedValue,omitempty"`
}

ConnectSalesforceField this object is used to match a DocuSign field to a Salesforce field so that DocuSign can send information to your Salesforce account.

type ConnectSalesforceObject

type ConnectSalesforceObject struct {
	// When **true,** the `connectSalesforceObject` is active.
	Active Bool `json:"active,omitempty"`
	// A description of the `connectSalesforceObject`.
	Description string `json:"description,omitempty"`
	// The ID of the `connectSalesforceObject`.
	ID string `json:"id,omitempty"`
	//
	Insert string `json:"insert,omitempty"`
	// When **true,** Salesforce is updated only when the envelope is complete.
	OnCompleteOnly Bool `json:"onCompleteOnly,omitempty"`
	// The DocuSign and Salesforce fields that you want to use to match a Salesforce object with DocuSign information. This information tells Connect when to send updates to Salesforce.
	SelectFields []ConnectSalesforceField `json:"selectFields,omitempty"`
	// The Salesforce.com object type, such as `case`, `contact`, or `opportunity`.
	SfObject string `json:"sfObject,omitempty"`
	// A name for the Salesforce object.
	//
	// **Note:** You can enter any name for the object. It does not have to match the `sfObject` property.
	SfObjectName string `json:"sfObjectName,omitempty"`
	// The DocuSign and Salesforce fields that you want to update.
	//
	// **Note:** You can choose to update SalesForce (with information from DocuSign) only, update DocuSign only, or both.
	UpdateFields []ConnectSalesforceField `json:"updateFields,omitempty"`
}

ConnectSalesforceObject is a `connectSalesforceObject` is an object that updates envelope and document status or recipient status in your Salesforce account.

When you install DocuSign Connect for Salesforce, the service automatically sets up two Connect objects: one that updates envelope status and documents and one that updates recipient status. You can also customize DocuSign Connect for Salesforce by associating DocuSign objects with Salesforce objects so that DocuSign Connect for Salesforce updates or inserts the information into the Salesforce object. For more information, see [DocuSign for Salesforce - Adding Completed Documents to the Notes and Attachments](https://support.docusign.com/articles/DocuSign-for-Salesforce-Adding-Completed-Documents-to-the-Notes-and-Attachments-New).

type ConnectUserInfo added in v0.10.0

type ConnectUserInfo struct {
	//
	Email string `json:"email,omitempty"`
	//
	IsIncluded string `json:"isIncluded,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
	// The name of the user.
	UserName string `json:"userName,omitempty"`
}

ConnectUserInfo not described in definition file

type ConnectUserObject

type ConnectUserObject struct {
	// The type of custom Connect configuration being accessed.
	Configurationtype string `json:"configurationtype,omitempty"`
	// The ID of the custom Connect configuration being accessed.
	ConnectID string `json:"connectId,omitempty"`
	// Boolean value that indicates whether the custom Connect configuration is enabled or not.
	Enabled Bool `json:"enabled,omitempty"`
	//
	HasAccess string `json:"hasAccess,omitempty"`
	//
	SenderSearchableItems []string `json:"senderSearchableItems,omitempty"`
}

ConnectUserObject not described in definition file

type ConsentDetails added in v0.10.0

type ConsentDetails struct {
	//
	ConsentKey string `json:"consentKey,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	//
	SignerConsentStatus string `json:"signerConsentStatus,omitempty"`
}

ConsentDetails not described in definition file

type ConsoleViewRequest

type ConsoleViewRequest struct {
	// The ID of the envelope.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// (Required) The URL to which the user should be redirected after the console
	// view session has ended.
	//
	// Maximum Length: 470 characters. If the `returnUrl` exceeds this
	// limit, the user is redirected to a truncated URL
	// Be sure to include `https://` in the URL
	// or redirecting might fail on some browsers.
	//
	ReturnURL string `json:"returnUrl,omitempty"`
}

ConsoleViewRequest is the request object for the [EnvelopeViews: createConsole](/docs/esign-rest-api/reference/envelopes/envelopeviews/createconsole/) method.

type ConsumerDisclosure

type ConsumerDisclosure struct {
	// The GUID of the account associated with the consumer disclosure.
	AccountEsignID string `json:"accountEsignId,omitempty"`
	// When **true,** indicates that the customer can withdraw their consent to the consumer disclosure when they decline to sign documents. If these recipients sign documents sent to them from your account in the future, they will be required to agree to the terms in the disclosure. The default value is **false.**
	// **Note:** Only Admin users can change this setting.
	AllowCDWithdraw Bool `json:"allowCDWithdraw,omitempty"`
	// Metadata that indicates whether the `allowCDWithdraw` property is editable.
	//
	AllowCDWithdrawMetadata *SettingsMetadata `json:"allowCDWithdrawMetadata,omitempty"`
	// If the customer needs to change their email address, this is the email address to which they should the change request.
	//
	// Maximum length: 100 characters.
	ChangeEmail string `json:"changeEmail,omitempty"`
	// Other information about the requirements for the user to change their email address.
	//
	// Maximum length: 255 characters.
	//
	// Example:
	//
	// `We do not require any other information from you to change your email address.`
	ChangeEmailOther string `json:"changeEmailOther,omitempty"`
	// Specifies the company name used in the disclosure. The default value is the account name.
	//
	// However, if your account uses signing brands that specify a company name, you can substitute the brand's company name by setting the `useBrand` property to **true.** Whenever an envelope is sent from the account that uses a signing brand with a specified `companyName`, that value is used in email notifications and in the signing experience.
	//
	// **Note:** This substitution only works if you use the default legal disclosure or if you apply the `companyName` to the merge fields in a custom ERSD. You must also set the value of the `useBrand` property to **true.**
	CompanyName string `json:"companyName,omitempty"`
	// The phone number of the company associated with the consumer disclosure, as a free-formatted string.
	CompanyPhone string `json:"companyPhone,omitempty"`
	// The cost per page if the customer requests paper copies.
	//
	// Example:
	//
	// `0.0000`
	CopyCostPerPage string `json:"copyCostPerPage,omitempty"`
	// Specifies the fee collection method for cases in which the customer requires paper copies of the document.
	//
	// Maximum length: 255 characters.
	//
	// Example:
	//
	// `We will bill you for any fees at that time, if any.`
	CopyFeeCollectionMethod string `json:"copyFeeCollectionMethod,omitempty"`
	// The email address to which the customer should send a request for copies of a document.
	//
	// Maximum length: 100 characters.
	CopyRequestEmail string `json:"copyRequestEmail,omitempty"`
	// When **true,** indicates that the consumer disclosure is a custom disclosure. The default is **false.**
	Custom Bool `json:"custom,omitempty"`
	// When **true** (default), indicates that eSign is enabled.
	EnableEsign string `json:"enableEsign,omitempty"`
	// The final, assembled text of the Electronic Record and Signature Disclosure that includes the appropriate `companyName` and other specifics. It also includes the HTML tags used for formatting.
	EsignAgreement string `json:"esignAgreement,omitempty"`
	// The template for the Electronic Record and Signature Disclosure, which contains placeholders for information such as the `companyName`. It also includes the HTML tags used for formatting.
	//
	// **Note:** If you are switching to or updating a custom disclosure, you can edit both the text and the HTML formatting.
	EsignText string `json:"esignText,omitempty"`
	// The code for the language version of the disclosure. The following languages are supported:
	//
	// - Arabic (`ar`)
	// - Bulgarian (`bg`)
	// - Czech (`cs`)
	// - Chinese Simplified (`zh_CN`)
	// - Chinese Traditional (`zh_TW`)
	// - Croatian (`hr`)
	// - Danish (`da`)
	// - Dutch (`nl`)
	// - English US (`en`)
	// - English UK (`en_GB`)
	// - Estonian (`et`)
	// - Farsi (`fa`)
	// - Finnish (`fi`)
	// - French (`fr`)
	// - French Canadian (`fr_CA`)
	// - German (`de`)
	// - Greek (`el`)
	// - Hebrew (`he`)
	// - Hindi (`hi`)
	// - Hungarian (`hu`)
	// - Bahasa Indonesian (`id`)
	// - Italian (`it`)
	// - Japanese (`ja`)
	// - Korean (`ko`)
	// - Latvian (`lv`)
	// - Lithuanian (`lt`)
	// - Bahasa Melayu (`ms`)
	// - Norwegian (`no`)
	// - Polish (`pl`)
	// - Portuguese (`pt`)
	// - Portuguese Brazil (`pt_BR`)
	// - Romanian (`ro`)
	// - Russian (`ru`)
	// - Serbian (`sr`)
	// - Slovak (`sk`)
	// - Slovenian (`sl`)
	// - Spanish (`es`)
	// - Spanish Latin America (`es_MX`)
	// - Swedish (`sv`)
	// - Thai (`th`)
	// - Turkish (`tr`)
	// - Ukrainian (`uk`)
	// - Vietnamese (`vi`)
	//
	// Additionally, you can automatically detect the browser language being used by the viewer and display the disclosure in that language by setting the value to `browser`.
	LanguageCode string `json:"languageCode,omitempty"`
	// When **true,** the  recipient must agree to the consumer disclosure. The value of this property is read-only. It is calculated based on the account setting `consumerDisclosureFrequency` and the user's actions.
	MustAgreeToEsign Bool `json:"mustAgreeToEsign,omitempty"`
	// **Deprecated.**
	//
	// The `pdfId` property in the consumer_disclosure PUT request is deprecated. For security reasons going forward, any value provided in the request packet must be ignored.
	PdfID string `json:"pdfId,omitempty"`
	// When **true,** specifies that the company name in the signing brand is used for the disclosure. Whenever an envelope is sent from the account that uses a signing brand with a specified company name, that value is used in email notifications and in the signing experience.
	//
	// When **false** (default), or if the signing brand does not specify a company name, the account name is used instead.
	//
	// **Note:** This substitution only works if you use the default legal disclosure or if you apply the `companyName` to the merge fields in a custom ERSD.
	UseBrand Bool `json:"useBrand,omitempty"`
	// When **true,** specifies that recipients in the same account as the sender must agree to eSign an Electronic Record and Signature Disclosure Statement.
	UseConsumerDisclosureWithinAccount Bool `json:"useConsumerDisclosureWithinAccount,omitempty"`
	// Metadata that indicates whether the `useConsumerDisclosureWithinAccount` property is editable.
	//
	UseConsumerDisclosureWithinAccountMetadata *SettingsMetadata `json:"useConsumerDisclosureWithinAccountMetadata,omitempty"`
	// Contains the first address line of the postal address to which a customer can send a consent withdrawal notification.
	//
	// Maximum length: 100 characters.
	WithdrawAddressLine1 string `json:"withdrawAddressLine1,omitempty"`
	// Contains the second address line of the postal address to which a customer can send a consent withdrawal notification.
	//
	// Maximum length: 100 characters.
	WithdrawAddressLine2 string `json:"withdrawAddressLine2,omitempty"`
	// When **true** (default), indicates that the customer can withdraw consent by email.
	WithdrawByEmail Bool `json:"withdrawByEmail,omitempty"`
	// When **true,** indicates that the customer can withdraw consent by postal mail. The default is **false.**
	WithdrawByMail Bool `json:"withdrawByMail,omitempty"`
	// When **true,** indicates that the customer can withdraw consent by phone. The default is **false.**
	WithdrawByPhone Bool `json:"withdrawByPhone,omitempty"`
	// Contains the city of the postal address to which a customer can send a consent withdrawal notification.
	//
	// Maximum length: 50 characters.
	WithdrawCity string `json:"withdrawCity,omitempty"`
	// Text indicating the consequences of withdrawing consent.
	//
	// Maximum length: 255 characters.
	WithdrawConsequences string `json:"withdrawConsequences,omitempty"`
	// Contains the email address to which a customer can send a consent withdrawal notification.
	//
	// Maximum length: 100 characters.
	WithdrawEmail string `json:"withdrawEmail,omitempty"`
	// Contains any other information needed to withdraw consent.
	//
	// Maximum length: 255 characters.
	//
	// Example:
	//
	// `We do not need any other information from you to withdraw consent.`
	WithdrawOther string `json:"withdrawOther,omitempty"`
	// Contains the phone number that a customer can call to register consent withdrawal notification as a free-formatted string.
	//
	// Maximum length: 20 characters.
	WithdrawPhone string `json:"withdrawPhone,omitempty"`
	// Contains the postal code of the postal address to which a customer can send a consent withdrawal notification.
	//
	// Maximum length: 20 characters.
	WithdrawPostalCode string `json:"withdrawPostalCode,omitempty"`
	// Contains the state of the postal address to which a customer can send a consent withdrawal notification.
	//
	// Example: `PA`
	WithdrawState string `json:"withdrawState,omitempty"`
}

ConsumerDisclosure details about consumer disclosures.

type Contact

type Contact struct {
	// The cloud service that provided the contact. Valid values are:
	//
	// - `rooms`
	// - `docusignCore` (default)
	//
	// <!-- Future:
	//
	// - `Box`
	// - `GoogleDrive`
	// - `Dropbox`
	// - `SalesForce`
	// - `SkyDrive`
	//
	// -->
	CloudProvider string `json:"cloudProvider,omitempty"`
	// The ID of the container at the cloud provider. For example, this might be the room ID for a DocuSign Transaction Room.
	CloudProviderContainerID string `json:"cloudProviderContainerId,omitempty"`
	// The ID of a contact person in the account's address book.
	ContactID string `json:"contactId,omitempty"`
	// A list of the contact's phone numbers.
	//
	// **Note:** The phone numbers associated with shared contacts do not display to users other than the user who added the contact. Additionally, in the following scenarios, the phone number of a shared contact does not populate automatically for anyone other than the user who added the contact:
	//
	// - Sending an envelope by using SMS
	// - Using phone authentication
	//
	// You must ask the user who added the contact for the phone number and then manually enter it into the authentication box.
	ContactPhoneNumbers []ContactPhoneNumber `json:"contactPhoneNumbers,omitempty"`
	// The URI for retrieving information about the contact.
	ContactURI string `json:"contactUri,omitempty"`
	// An array of email addresses.
	Emails []string `json:"emails,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	//
	IsOwner bool `json:"isOwner,omitempty"`
	// The name of the contact.
	Name string `json:"name,omitempty"`
	//
	Organization string `json:"organization,omitempty"`
	//
	RoomContactType string `json:"roomContactType,omitempty"`
	// When **true,** this contact is shared.
	Shared Bool `json:"shared,omitempty"`
	// The ID of the signing group.
	SigningGroup string `json:"signingGroup,omitempty"`
	// Optional. The name of the signing group.
	//
	// Maximum Length: 100 characters.
	SigningGroupName string `json:"signingGroupName,omitempty"`
}

Contact not described in definition file

type ContactGetResponse

type ContactGetResponse struct {
	// A list of contacts.
	Contacts []Contact `json:"contacts,omitempty"`
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

ContactGetResponse this response object contains information about the contacts associated with an account.

type ContactModRequest

type ContactModRequest struct {
	// A list of contacts.
	ContactList []Contact `json:"contactList,omitempty"`
}

ContactModRequest is the request object containing the new information for the contacts.

type ContactPhoneNumber

type ContactPhoneNumber struct {
	// The contact's phone number.
	//
	// Example: `+12223334444`
	PhoneNumber string `json:"phoneNumber,omitempty"`
	// The type of phone number. Valid values are:
	//
	// - `home`
	// - `mobile`
	// - `work`
	// - `other`
	// - `fax`
	PhoneType string `json:"phoneType,omitempty"`
}

ContactPhoneNumber details about the phone numbers associated with a specific contact.

type ContactUpdateResponse

type ContactUpdateResponse struct {
	// A list of contacts.
	Contacts []Contact `json:"contacts,omitempty"`
}

ContactUpdateResponse this response objects shows the updated details for the contacts.

type CorrectViewRequest

type CorrectViewRequest struct {
	//
	BeginOnTagger string `json:"beginOnTagger,omitempty"`
	// (Required) The URL to which the user should be redirected after
	// the view session has ended.
	//
	// Maximum Length: 470 characters. If the `returnUrl` exceeds this
	// limit, the user is redirected to a truncated URL
	// Be sure to include `https://` in the URL
	// or redirecting might fail on some browsers.
	//
	// When DocuSign redirects to
	// this URL, it will include an `event` query parameter that your app can use:
	//
	// * `send`: User corrected and sent the envelope.
	// * `save`: User saved the envelope.
	// * `cancel`: User canceled the transaction.
	// * `error`: There was an error when performing the correct or send.
	// * `sessionEnd`: The session ended before the user completed a different action.
	//
	ReturnURL string `json:"returnUrl,omitempty"`
	// Specifies whether the window is displayed with or without dressing.
	SuppressNavigation string `json:"suppressNavigation,omitempty"`
	//
	ViewURL string `json:"viewUrl,omitempty"`
}

CorrectViewRequest is the request body for the [EnvelopeViews: createCorrect](/docs/esign-rest-api/reference/envelopes/envelopeviews/createcorrect/) method.

type Country

type Country struct {
	//
	IsoCode string `json:"isoCode,omitempty"`
	//
	Name string `json:"name,omitempty"`
	//
	ProvinceValidated string `json:"provinceValidated,omitempty"`
	//
	Provinces []Province `json:"provinces,omitempty"`
}

Country not described in definition file

type CreditCardInformation

type CreditCardInformation struct {
	// A complex element containing the credit card billing address information.
	Address *AddressInformation `json:"address,omitempty"`
	//
	CardLastDigits string `json:"cardLastDigits,omitempty"`
	// The credit card number.
	CardNumber string `json:"cardNumber,omitempty"`
	// The type of credit card. Valid values are:
	//
	// - `visa`
	// - `mastercard`
	// - `amex`
	CardType string `json:"cardType,omitempty"`
	// The 3 or 4-digit card verification value (CVV) number associated with the credit card. CVV numbers are also referred to as card security codes (CSCs).
	CvNumber string `json:"cvNumber,omitempty"`
	// The month that the credit card expires, expressed as a number from 1 to 12.
	ExpirationMonth string `json:"expirationMonth,omitempty"`
	// The year in which the credit card expires, in 4-digit format.
	ExpirationYear string `json:"expirationYear,omitempty"`
	// The exact name as it appears on the credit card.
	NameOnCard string `json:"nameOnCard,omitempty"`
	//
	TokenizedCard string `json:"tokenizedCard,omitempty"`
}

CreditCardInformation this object contains information about a credit card that is associated with an account.

type CreditCardTypes

type CreditCardTypes struct {
	// An array containing supported credit card types.
	CardTypes []string `json:"cardTypes,omitempty"`
}

CreditCardTypes not described in definition file

type Currency added in v0.10.0

type Currency struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	//
	MaxNumericalValue string `json:"maxNumericalValue,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	//
	MinNumericalValue string `json:"minNumericalValue,omitempty"`
	//
	NumericalValue string `json:"numericalValue,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true** and shared is true, information must be entered in this field to complete the envelope.
	RequireAll string `json:"requireAll,omitempty"`
	// Metadata that indicates whether the `requireAll` property is editable.
	RequireAllMetadata *PropertyMetadata `json:"requireAllMetadata,omitempty"`
	// Optional element for field markup. When **true,** the signer is required to initial when they modify a shared field.
	RequireInitialOnSharedChange string `json:"requireInitialOnSharedChange,omitempty"`
	// Metadata that indicates whether the `requireInitialOnSharedChange` property is editable.
	RequireInitialOnSharedChangeMetadata *PropertyMetadata `json:"requireInitialOnSharedChangeMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// When **true,** the sender must populate the tab before an envelope can be sent using the template.
	//
	// This value tab can only be changed by modifying (PUT) the template.
	//
	// Tabs with a `senderRequired` value of true cannot be deleted from an envelope.
	SenderRequired Bool `json:"senderRequired,omitempty"`
	// Metadata that indicates whether the `senderRequired` property is editable.
	SenderRequiredMetadata *PropertyMetadata `json:"senderRequiredMetadata,omitempty"`
	// When **true,** this custom tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

Currency not described in definition file

type CurrencyFeatureSetPrice

type CurrencyFeatureSetPrice struct {
	// Reserved for DocuSign.
	CurrencyCode string `json:"currencyCode,omitempty"`
	// Reserved for DocuSign.
	CurrencySymbol string `json:"currencySymbol,omitempty"`
	// Reserved for DocuSign.
	EnvelopeFee Bool `json:"envelopeFee,omitempty"`
	// Reserved for DocuSign.
	FixedFee Bool `json:"fixedFee,omitempty"`
	// Reserved for DocuSign.
	SeatFee Bool `json:"seatFee,omitempty"`
}

CurrencyFeatureSetPrice information about the price and currency associated with the feature set. Reserved for internal DocuSign use only.

type CurrencyPlanPrice

type CurrencyPlanPrice struct {
	// Specifies the ISO currency code for the account.
	CurrencyCode string `json:"currencyCode,omitempty"`
	// Specifies the currency symbol for the account.
	CurrencySymbol string `json:"currencySymbol,omitempty"`
	// The per-seat price associated with the plan.
	//
	// Example: `"456.0000"`
	PerSeatPrice string `json:"perSeatPrice,omitempty"`
	// The support incident fee charged for each support incident.
	//
	// Example: `"$0.00"`
	SupportIncidentFee string `json:"supportIncidentFee,omitempty"`
	// The support plan fee charged for this plan.
	//
	// Example: `"$0.00"`
	SupportPlanFee string `json:"supportPlanFee,omitempty"`
	// A simple type enumeration of the language used. The supported languages, with the language value shown in parenthesis, are: Arabic (ar), Bahasa Indonesia (id), Bahasa Melayu (ms) Bulgarian (bg), Czech (cs), Chinese Simplified (zh_CN), Chinese Traditional (zh_TW), Croatian (hr), Danish (da), Dutch (nl), English US (en), English UK (en_GB), Estonian (et), Farsi (fa), Finnish (fi), French (fr), French Canada (fr_CA), German (de), Greek (el), Hebrew (he), Hindi (hi), Hungarian (hu), Italian (it), Japanese (ja), Korean (ko), Latvian (lv), Lithuanian (lt), Norwegian (no), Polish (pl), Portuguese (pt), Portuguese Brazil (pt_BR), Romanian (ro),Russian (ru), Serbian (sr), Slovak (sk), Slovenian (sl), Spanish (es),Spanish Latin America (es_MX), Swedish (sv), Thai (th), Turkish (tr), Ukrainian (uk) and Vietnamese (vi).
	SupportedCardTypes *CreditCardTypes `json:"supportedCardTypes,omitempty"`
}

CurrencyPlanPrice not described in definition file

type CustomField

type CustomField struct {
	// The type of custom field. Valid values are:
	//
	// - `text` (default)
	// - `list`
	CustomFieldType string `json:"customFieldType,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The ID of the custom field.
	FieldID string `json:"fieldId,omitempty"`
	// For a list custom field, this is an array of strings that represent the items in a list.
	//
	// Maximum Length: 2,000 characters.
	ListItems []string `json:"listItems,omitempty"`
	// The name of the custom field.
	Name string `json:"name,omitempty"`
	// When **true,** the signer must complete the custom field.
	Required Bool `json:"required,omitempty"`
	// When **true,** the custom field displays at the top of the Certificate of Completion.
	Show Bool `json:"show,omitempty"`
	// Specifies the value of the custom field.
	//
	// Maximum Length: 2,000 characters.
	Value string `json:"value,omitempty"`
}

CustomField this object provides details about a custom field.

type CustomFields

type CustomFields struct {
	// An array of list custom fields.
	ListCustomFields []ListCustomField `json:"listCustomFields,omitempty"`
	// An array of text custom fields.
	TextCustomFields []TextCustomField `json:"textCustomFields,omitempty"`
}

CustomFields is a template custom field enables you to prepopulate custom metadata for all new envelopes that are created by using a specific template. You can then use the custom data for sorting, organizing, searching, and other downstream processes.

type CustomFieldsEnvelope

type CustomFieldsEnvelope struct {
	// An array of list custom fields.
	ListCustomFields []ListCustomField `json:"listCustomFields,omitempty"`
	// An array of text custom fields.
	TextCustomFields []TextCustomField `json:"textCustomFields,omitempty"`
}

CustomFieldsEnvelope not described in definition file

type CustomSettingsInformation

type CustomSettingsInformation struct {
	// The name/value pair information for the user custom setting.
	CustomSettings []NameValue `json:"customSettings,omitempty"`
}

CustomSettingsInformation not described in definition file

type Date

type Date struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true** and shared is true, information must be entered in this field to complete the envelope.
	RequireAll Bool `json:"requireAll,omitempty"`
	// Metadata that indicates whether the `requireAll` property is editable.
	RequireAllMetadata *PropertyMetadata `json:"requireAllMetadata,omitempty"`
	// Optional element for field markup. When **true,** the signer is required to initial when they modify a shared field.
	RequireInitialOnSharedChange Bool `json:"requireInitialOnSharedChange,omitempty"`
	// Metadata that indicates whether the `requireInitialOnSharedChange` property is editable.
	RequireInitialOnSharedChangeMetadata *PropertyMetadata `json:"requireInitialOnSharedChangeMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// When **true,** the sender must populate the tab before an envelope can be sent using the template.
	//
	// This value tab can only be changed by modifying (PUT) the template.
	//
	// Tabs with a `senderRequired` value of true cannot be deleted from an envelope.
	SenderRequired Bool `json:"senderRequired,omitempty"`
	// Metadata that indicates whether the `senderRequired` property is editable.
	SenderRequiredMetadata *PropertyMetadata `json:"senderRequiredMetadata,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipients string `json:"shareToRecipients,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipientsMetadata *PropertyMetadata `json:"shareToRecipientsMetadata,omitempty"`
	// When **true,** this custom tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The message displayed if the custom tab fails input validation (either custom of embedded).
	ValidationMessage string `json:"validationMessage,omitempty"`
	// Metadata that indicates whether the `validationMessage` property is editable.
	ValidationMessageMetadata *PropertyMetadata `json:"validationMessageMetadata,omitempty"`
	// A regular expression used to validate input for the tab.
	ValidationPattern string `json:"validationPattern,omitempty"`
	// Metadata that indicates whether the `validationPattern` property is editable.
	ValidationPatternMetadata *PropertyMetadata `json:"validationPatternMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

Date is a tab that allows the recipient to enter a date. Date tabs are one-line fields that allow date information to be entered in any format. The tooltip for this tab recommends entering the date as MM/DD/YYYY, but this is not enforced. The format entered by the signer is retained. If you need a particular date format enforced, DocuSign recommends using a Text tab with a validation pattern and a validation message to enforce the format.

type DateSigned

type DateSigned struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// **Note:** Date Signed tabs never display this tooltip in the signing interface.
	//
	// Although you can technically set a value via the API for this tab,
	// it will not be displayed to the recipient.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

DateSigned is a tab that displays the date that the recipient signed the document.

type DateStampProperties

type DateStampProperties struct {
	// The height of the rectangle.
	DateAreaHeight string `json:"dateAreaHeight,omitempty"`
	// The width of the rectangle.
	DateAreaWidth string `json:"dateAreaWidth,omitempty"`
	// The X axis position of the top-left corner.
	DateAreaX string `json:"dateAreaX,omitempty"`
	// The Y axis position of the top-left corner.
	DateAreaY string `json:"dateAreaY,omitempty"`
}

DateStampProperties specifies the area in which a date stamp is placed. This parameter uses pixel positioning to draw a rectangle at the center of the stamp area. The stamp is superimposed on top of this central area.

This property contains the following information about the central rectangle:

- `DateAreaX`: The X axis position of the top-left corner. - `DateAreaY`: The Y axis position of the top-left corner. - `DateAreaWidth`: The width of the rectangle. - `DateAreaHeight`: The height of the rectangle.

type Decline

type Decline struct {
	TabBase
	TabGuidedForm
	TabPosition
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// When **true,** the information in the tab is bold.
	Bold Bool `json:"bold,omitempty"`
	// Metadata that indicates whether the `bold` property is editable.
	BoldMetadata *PropertyMetadata `json:"boldMetadata,omitempty"`
	//  Specifies the decline text displayed in the tab.
	ButtonText string `json:"buttonText,omitempty"`
	// Metadata that indicates whether the `buttonText` property is editable.
	ButtonTextMetadata *PropertyMetadata `json:"buttonTextMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The reason the recipient declined the document.
	DeclineReason string `json:"declineReason,omitempty"`
	// Metadata that indicates whether the `declineReason` property is editable.
	DeclineReasonMetadata *PropertyMetadata `json:"declineReasonMetadata,omitempty"`
	// The font to be used for the tab value. Supported fonts include:
	//
	// - Default
	// - Arial
	// - ArialNarrow
	// - Calibri
	// - CourierNew
	// - Garamond
	// - Georgia
	// - Helvetica
	// - LucidaConsole
	// - MSGothic
	// - MSMincho
	// - OCR-A
	// - Tahoma
	// - TimesNewRoman
	// - Trebuchet
	// - Verdana
	//
	Font string `json:"font,omitempty"`
	// The font color to use for the information in the tab. Possible values are:
	//
	// - Black
	// - BrightBlue
	// - BrightRed
	// - DarkGreen
	// - DarkRed
	// - Gold
	// - Green
	// - NavyBlue
	// - Purple
	// - White
	//
	FontColor string `json:"fontColor,omitempty"`
	// Metadata that indicates whether the `fontColor` property is editable.
	FontColorMetadata *PropertyMetadata `json:"fontColorMetadata,omitempty"`
	// Metadata that indicates whether the `font` property is editable.
	FontMetadata *PropertyMetadata `json:"fontMetadata,omitempty"`
	// The font size used for the information in the tab. Possible values are:
	//
	// - Size7
	// - Size8
	// - Size9
	// - Size10
	// - Size11
	// - Size12
	// - Size14
	// - Size16
	// - Size18
	// - Size20
	// - Size22
	// - Size24
	// - Size26
	// - Size28
	// - Size36
	// - Size48
	// - Size72
	FontSize string `json:"fontSize,omitempty"`
	// Metadata that indicates whether the `fontSize` property is editable.
	FontSizeMetadata *PropertyMetadata `json:"fontSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,** the information in the tab is italic.
	Italic Bool `json:"italic,omitempty"`
	// Metadata that indicates whether the `italic` property is editable.
	ItalicMetadata *PropertyMetadata `json:"italicMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// **Note:** Decline tabs never display this tooltip in the signing interface.
	//
	// Although you can technically set a value via the API for this tab,
	// it will not be displayed to the recipient.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// When **true,** the information in the tab is underlined.
	Underline Bool `json:"underline,omitempty"`
	// Metadata that indicates whether the `underline` property is editable.
	UnderlineMetadata *PropertyMetadata `json:"underlineMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

Decline is a tab that allows the recipient the option of declining an envelope. If the recipient clicks the tab during the signing process, the envelope is voided.

type DelayedRouting added in v0.10.0

type DelayedRouting struct {
	// The ISO 8601 timestamp of when the envelope is scheduled to be sent to the recipients associated with the workflow step. This property is `null` if the workflow step has not been initiated.
	//
	// This property is read-only.
	//
	ResumeDate string `json:"resumeDate,omitempty"`
	// User-specified rules indicating how and when the envelope should sent for the workflow step and its associated recipients. Only one rule may be specified.
	Rules []EnvelopeDelayRule `json:"rules,omitempty"`
	// Status of the delayed routing step. Valid values:
	//
	// * `pending`: The workflow step has not been reached and the delay has not been initiated.
	// * `started`: The workflow step has begun and the delay is in progress. The envelope has not yet been sent to the workflow step's recipients.
	// * `completed`: The delay has elapsed and the envelope has been sent to the workflow step's recipients.
	//
	// This property is read-only.
	Status string `json:"status,omitempty"`
}

DelayedRouting is a complex element that specifies the delayed routing settings for the workflow step.

type DelegationInfo added in v0.10.0

type DelegationInfo struct {
	//
	Email string `json:"Email,omitempty"`
	//
	Name string `json:"Name,omitempty"`
	//
	UserAuthorizationID string `json:"UserAuthorizationId,omitempty"`
	//
	UserID string `json:"UserId,omitempty"`
}

DelegationInfo not described in definition file

type DiagnosticsSettingsInformation

type DiagnosticsSettingsInformation struct {
	// Specifies the maximum number of API requests to log.
	APIRequestLogMaxEntries string `json:"apiRequestLogMaxEntries,omitempty"`
	// Indicates the remaining number of API requests that can be logged.
	APIRequestLogRemainingEntries string `json:"apiRequestLogRemainingEntries,omitempty"`
	//  When **true,** enables API request logging for the user.
	APIRequestLogging Bool `json:"apiRequestLogging,omitempty"`
}

DiagnosticsSettingsInformation request logs

type DirectDebitProcessorInformation

type DirectDebitProcessorInformation struct {
	// The branch code of the bank used for direct debit.
	//
	// Maximum Length: 10 characters.
	BankBranchCode string `json:"bankBranchCode,omitempty"`
	// The check digit or digits in the international bank account number. These digits are used to confirm the validity of the account.
	//
	// Maximum Length: 4 characters.
	BankCheckDigit string `json:"bankCheckDigit,omitempty"`
	// The code or number that identifies the bank. This is also known as the sort code.
	//
	// Example: `200000`
	//
	// Maximum Length: 18 characters.
	BankCode string `json:"bankCode,omitempty"`
	// The name of the direct debit bank.
	//
	// Maximum Length: 80 characters.
	BankName string `json:"bankName,omitempty"`
	// The name on the direct debit bank account. This field is required for POST and PUT requests.
	//
	// Maximum Length: 60 characters.
	BankTransferAccountName string `json:"bankTransferAccountName,omitempty"`
	// The customer's bank account number. This value will be obfuscated. This field is required for POST and PUT requests.
	//
	// Maximum Length: 30 characters.
	BankTransferAccountNumber string `json:"bankTransferAccountNumber,omitempty"`
	// Specifies the type of direct debit transfer. The value of this field is dependent on the user's country. This field is required for POST and PUT requests. Possible values are:
	//
	// - `DirectDebitUK`
	// - `DirectEntryAU`
	// - `SEPA`
	BankTransferType string `json:"bankTransferType,omitempty"`
	// The user's country. The system populates this value automatically.
	//
	//
	Country string `json:"country,omitempty"`
	// The email address of the user who is associated with the payment method. This field is required for POST and PUT requests.
	//
	// Maximum Length: 80 characters.
	Email string `json:"email,omitempty"`
	// The user's first name. This field is required for POST and PUT requests.
	//
	// Maximum Length: 30 characters.
	FirstName string `json:"firstName,omitempty"`
	// The International Bank Account Number (IBAN).
	//
	// Example: `DE89370400440532013000`
	//
	// For more information, see [PeopleSoft's guide to Setting Up Banks](https://docs.oracle.com/cd/E16365_01/fscm91pbr0/eng/psbooks/fsbk/chapter.htm?File=fsbk/htm/fsbk03.htm).
	//
	// **Note:** This number will be obfuscated.
	IBAN string `json:"iBAN,omitempty"`
	// The user's last name. This field is required for POST and PUT requests.
	//
	// Maximum Length: 70 characters.
	LastName string `json:"lastName,omitempty"`
}

DirectDebitProcessorInformation contains information about a bank that processes a customer's direct debit payments.

type DobInformationInput

type DobInformationInput struct {
	// Specifies the recipient's date, month, and year of birth.
	DateOfBirth string `json:"dateOfBirth,omitempty"`
	// Specifies the display level for the recipient. Valid values are:
	// * `ReadOnly`
	// * `Editable`
	// * `DoNotDisplay`
	DisplayLevelCode string `json:"displayLevelCode,omitempty"`
	// A Boolean value that specifies whether the information must be returned in the response.
	ReceiveInResponse Bool `json:"receiveInResponse,omitempty"`
}

DobInformationInput complex type containing:

* dateOfBirth * displayLevelCode * receiveInResponse

type Document

type Document struct {
	// Reserved for DocuSign.
	ApplyAnchorTabs string `json:"applyAnchorTabs,omitempty"`
	//
	AssignTabsToRecipientID string `json:"assignTabsToRecipientId,omitempty"`
	// This string sets the display and behavior properties of
	// the document during signing. Valid values:
	//
	// * `modal`<br>
	//   The document is shown as a supplement action strip
	//   and can be viewed, downloaded, or printed in a modal window.
	//   This is the recommended value for supplemental documents.
	//
	// * `inline`<br>
	//   The document is shown in the normal signing window.
	//   This value is not used with supplemental documents,
	//   but is the default value for all other documents.
	//
	Display string `json:"display,omitempty"`
	// The document's bytes. This field can be used to include a base64 version of the document bytes within an envelope definition instead of sending the document using a multi-part HTTP request. The maximum document size is smaller if this field is used due to the overhead of the base64 encoding.
	DocumentBase64 []byte `json:"documentBase64,omitempty"`
	// The array of name/value custom data strings to be added to a document. Custom document field information is returned in the status, but otherwise is not used by DocuSign. The array contains the elements:
	//
	// * `name`: A string that can be a maximum of 50 characters.
	// * `value`: A string that can be a maximum of 200 characters.
	//
	// If you are using XML, the name/value pair is contained in a `nameValue` element.
	//
	DocumentFields []NameValue `json:"documentFields,omitempty"`
	// Specifies the document ID of this document. This value is used by tabs to determine which document they appear in.
	DocumentID string `json:"documentId,omitempty"`
	// When **true,** the document has been encrypted by the sender for use with the DocuSign Key Manager Security Appliance.
	//
	EncryptedWithKeyManager Bool `json:"encryptedWithKeyManager,omitempty"`
	// The file extension type of the document. Non-PDF documents are converted to PDF.
	//
	// If the document is not a PDF, `fileExtension` is required.
	//
	// If you try to upload a non-PDF document without a `fileExtension`, you will receive an "unable to load document" error message.
	//
	FileExtension string `json:"fileExtension,omitempty"`
	//
	FileFormatHint string `json:"fileFormatHint,omitempty"`
	// Defines how to generate the responsive-formatted HTML for the document.
	// See [Responsive signing](/docs/esign-rest-api/esign101/concepts/responsive/)
	// in the [eSignature concepts guide](/docs/esign-rest-api/esign101/concepts/).
	HTMLDefinition *DocumentHTMLDefinition `json:"htmlDefinition,omitempty"`
	// When **true,**
	// the document is included in the combined document download (`documentsCombinedUri`).
	// The default value is **true.**
	//
	IncludeInDownload Bool `json:"includeInDownload,omitempty"`
	// Matchboxes define areas in a document for document matching when you are creating envelopes.
	// They are only used when you upload and edit a template.
	//
	//
	MatchBoxes []MatchBox `json:"matchBoxes,omitempty"`
	// The name of the document.
	Name string `json:"name,omitempty"`
	// The order in which to sort the results.
	//
	// Valid values are:
	//
	//
	// * `asc`: Ascending order.
	// * `desc`: Descending order.
	Order string `json:"order,omitempty"`
	// The number of pages in the document. This property is read-only.
	Pages string `json:"pages,omitempty"`
	// The user's encrypted password hash.
	Password string `json:"password,omitempty"`
	//
	PdfFormFieldOption string `json:"pdfFormFieldOption,omitempty"`
	// The file ID from the cloud storage service where
	// the document is located. This information is
	// returned using
	// [CloudStorage: listFolders](/docs/esign-rest-api/reference/cloudstorage/cloudstorage/listfolders/) or
	// [CloudStorage: list](/docs/esign-rest-api/reference/cloudstorage/cloudstorage/list/).
	//
	RemoteURL string `json:"remoteUrl,omitempty"`
	// Sets how the signer interacts with the supplemental document.
	// Valid values:
	//
	// *	`no_interaction`<br>
	//   No recipient action is required.
	//
	// *	`view`<br>
	//   The recipient is required to view the document.
	//
	// *	`accept`<br>
	//   The recipient is required to accept the document by selecting accept during signing, but is not required to view the document.
	//
	// *	`view_accept`<br>
	//   The recipient is required to view and accept the document.
	//
	//
	SignerMustAcknowledge string `json:"signerMustAcknowledge,omitempty"`
	// When **true,** the account default setting for the required recipient option is used. If this property is set, `signerMustAcknowledge` cannot be set (and vice versa).
	SignerMustAcknowledgeUseAccountDefault Bool `json:"signerMustAcknowledgeUseAccountDefault,omitempty"`
	// A list of tabs, which are represented graphically as symbols on documents at the time of signing. Tabs show recipients where to sign, initial, or enter data. They may also display data to the recipients.
	Tabs *Tabs `json:"tabs,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// When **true,** PDF form field data is transformed into document tab values when the PDF form field name matches the DocuSign custom tab tabLabel. The resulting PDF form data is also returned in the PDF meta data when requesting the document PDF.
	//
	TransformPdfFields Bool `json:"transformPdfFields,omitempty"`
	// A URI containing the user ID.
	URI string `json:"uri,omitempty"`
}

Document is a document object.

type DocumentFieldsInformation

type DocumentFieldsInformation struct {
	// The array of name/value custom data strings to be added to a document. Custom document field information is returned in the status, but otherwise is not used by DocuSign. The array contains the elements:
	//
	// * name - A string that can be a maximum of 50 characters.
	// * value - A string that can be a maximum of 200 characters.
	//
	// *IMPORTANT*: If you are using xml, the name/value pair is contained in a nameValue element.
	//
	DocumentFields []NameValue `json:"documentFields,omitempty"`
}

DocumentFieldsInformation envelope document fields

type DocumentHTMLCollapsibleDisplaySettings

type DocumentHTMLCollapsibleDisplaySettings struct {
	// Indicates the direction of the disclosure arrow
	// when the collapsible section is in the closed state.
	//
	// One of the following:
	//
	// - `up`: In the closed state, the disclosure arrow points up.
	// - `down`: In the closed state, the disclosure arrow points down.
	// - `left`: In the closed state, the disclosure arrow points left.
	// - `right`: In the closed state, the disclosure arrow points right.
	//
	ArrowClosed string `json:"arrowClosed,omitempty"`
	// A CSS color value (such as `#DCF851`) that indicates the color of the arrow.
	//
	ArrowColor string `json:"arrowColor,omitempty"`
	// The location of the arrow relative to the collapsible section's label. Possible values are:
	//
	// - `right` (default)
	// - `left`
	//
	ArrowLocation string `json:"arrowLocation,omitempty"`
	// Indicates the direction of the disclosure arrow
	// when the collapsible section is in the open state.
	//
	// One of the following:
	//
	// - `up`: In the open state, the disclosure arrow points up.
	// - `down`: In the open state, the disclosure arrow points down.
	// - `left`: In the open state, the disclosure arrow points left.
	// - `right`: In the open state, the disclosure arrow points right.
	//
	ArrowOpen string `json:"arrowOpen,omitempty"`
	// Indicates the size of the collapsible arrows. Possible values are:
	//
	// - `small`
	// - `large` (default)
	//
	ArrowSize string `json:"arrowSize,omitempty"`
	// The name of the CSS style to be used on collapsible arrow section.
	//
	ArrowStyle string `json:"arrowStyle,omitempty"`
	// The name of the CSS style to be used for the collapsible container.
	//
	ContainerStyle string `json:"containerStyle,omitempty"`
	// The name of the CSS style to be used for the collapsible container's label.
	LabelStyle string `json:"labelStyle,omitempty"`
	// When **true,** only the arrow is clickable to expand or collapse the section.
	// When **false** (the default), both the label and the arrow are clickable.
	//
	// If no arrow is used, this setting is ignored.
	//
	OnlyArrowIsClickable Bool `json:"onlyArrowIsClickable,omitempty"`
	// The name of the CSS style to be used for the collapsible container's outer label and arrow style.
	OuterLabelAndArrowStyle string `json:"outerLabelAndArrowStyle,omitempty"`
}

DocumentHTMLCollapsibleDisplaySettings display settings for collapsible section.

type DocumentHTMLDefinition

type DocumentHTMLDefinition struct {
	// Contains text that all display anchors must start with. Using at least four characters will improve anchor processing performance.
	DisplayAnchorPrefix string `json:"displayAnchorPrefix,omitempty"`
	// An object that defines how to handle a section of the HTML in signing. This property enables an incoming request to make a section of the HTML collapsible and expandable or hidden from view.
	//
	// A start anchor, end anchor, or both are required.
	// If the anchors are not found, the display anchor will be ignored.
	//
	// For a list of the available types, see the
	// [`display` property](/docs/esign-rest-api/reference/envelopes/envelopes/create/#schema__envelopedefinition_documents_htmldefinition_displayanchors_displaysettings_display)
	// of the
	// [`displaySettings` object.](/docs/esign-rest-api/reference/envelopes/envelopes/create/#schema__envelopedefinition_documents_htmldefinition_displayanchors_displaysettings)
	DisplayAnchors []DocumentHTMLDisplayAnchor `json:"displayAnchors,omitempty"`
	// The position on the page where the display section appears.
	DisplayOrder int32 `json:"displayOrder,omitempty"`
	// The number of the page on which the display section appears.
	DisplayPageNumber int32 `json:"displayPageNumber,omitempty"`
	// The GUID of the document.
	DocumentGUID string `json:"documentGuid,omitempty"`
	// Specifies the document ID number that the tab is placed on. This must refer to an existing Document's ID attribute.
	DocumentID string `json:"documentId,omitempty"`
	// Header text or an HTML tag to place above the responsive HTML block.
	HeaderLabel string `json:"headerLabel,omitempty"`
	// If set, the responsive HTML version of the signing document will only display on screens with the specified pixel width or less. If the screen is larger than the value that you specify, the default PDF version of the content displays instead.
	//
	// This setting can also be configured at the account level.
	//
	MaxScreenWidth string `json:"maxScreenWidth,omitempty"`
	// Holds a comma-separated list of HTML tags to remove if they have no text within their node (including child nodes).
	RemoveEmptyTags Bool `json:"removeEmptyTags,omitempty"`
	// When **true** (the default), the **Mobile-Friendly** toggle displays at the top of the screen on the user's mobile device. When **false,** the toggle will not be displayed.
	//
	// the **Mobile-Friendly** toggle lets the user switch between the mobile-friendly and the PDF versions of a document. For example, the recipient can use this toggle to review the document using the PDF view before they finish signing.
	//
	ShowMobileOptimizedToggle Bool `json:"showMobileOptimizedToggle,omitempty"`
	// Specifies the type of responsive signing that will be used with the document.
	//
	// If the value of this property is valid HTML,
	// and the [smart sections feature][] is enabled,
	// the HTML code is used to display the signing page:
	//
	// “`
	// source: "<html> ... <body><p>hello world</p></body></html>"
	// “`
	//
	// If the value of this property is the string `document`,
	// the HTML signing page is generated from the provided document.
	//
	// “`
	// source: "document"
	// “`
	//
	// **Related topics**
	//
	// - [How to create a signable HTML document](/docs/esign-rest-api/how-to/creating-signable-html/)
	// - [How to convert a PDF file into a signable HTML document](/docs/esign-rest-api/how-to/converting-pdf/)
	// - [Responsive signing](/docs/esign-rest-api/esign101/concepts/responsive/)
	//
	//
	// [smart sections feature]: https://support.docusign.com/s/document-item?language=en_US&bundleId=gbo1643332197980&topicId=qlx1578456478178.html&_LANG=enus
	Source string `json:"source,omitempty"`
}

DocumentHTMLDefinition holds the properties that define how to generate the responsive-formatted HTML for the document. See [Responsive signing](/docs/esign-rest-api/esign101/concepts/responsive/) in the [eSignature concepts guide](/docs/esign-rest-api/esign101/concepts/).

type DocumentHTMLDefinitionOriginal

type DocumentHTMLDefinitionOriginal struct {
	// Specifies the document ID number that the tab is placed on. This must refer to an existing Document's ID attribute.
	DocumentID string `json:"documentId,omitempty"`
	// The GUID of the document.
	DocumentIDGUID string `json:"documentIdGuid,omitempty"`
	// Defines how to generate the responsive-formatted HTML for the document.
	HTMLDefinition *DocumentHTMLDefinition `json:"htmlDefinition,omitempty"`
}

DocumentHTMLDefinitionOriginal not described in definition file

type DocumentHTMLDefinitionOriginals

type DocumentHTMLDefinitionOriginals struct {
	// Holds the properties that define how to generate the responsive-formatted HTML for the document.
	HTMLDefinitions []DocumentHTMLDefinitionOriginal `json:"htmlDefinitions,omitempty"`
}

DocumentHTMLDefinitionOriginals not described in definition file

type DocumentHTMLDefinitions

type DocumentHTMLDefinitions struct {
	// Holds the properties that define how to generate the responsive-formatted HTML for the document.
	HTMLDefinitions []string `json:"htmlDefinitions,omitempty"`
}

DocumentHTMLDefinitions this resource is used to create a responsive preview of all of the documents associated with a template.

type DocumentHTMLDisplayAnchor

type DocumentHTMLDisplayAnchor struct {
	// When **true,** the start or end anchor strings must match the strings specified by the start and end anchor settings in case as well as in content.
	CaseSensitive Bool `json:"caseSensitive,omitempty"`
	// This object defines how the HTML section inside the `startAnchor` and `endAnchor` displays.
	DisplaySettings *DocumentHTMLDisplaySettings `json:"displaySettings,omitempty"`
	// Specifies the end of the area in the HTML where the display settings will be applied. If you do not specify an end anchor, the end of the document will be used by default.
	//
	// **Note:** A start anchor, an end anchor, or both are required.
	EndAnchor string `json:"endAnchor,omitempty"`
	// When **true,** removes the end anchor string for the Smart Section from the HTML, preventing it from displaying.
	RemoveEndAnchor Bool `json:"removeEndAnchor,omitempty"`
	// When **true,** removes the start anchor string for the Smart Section from the HTML, preventing it from displaying.
	RemoveStartAnchor Bool `json:"removeStartAnchor,omitempty"`
	// Specifies the beginning of the area in the HTML where the display settings will be applied. If you do not specify a start anchor, the beginning of the document will be used by default.
	//
	// **Note:** A start anchor, an end anchor, or both are required.
	StartAnchor string `json:"startAnchor,omitempty"`
}

DocumentHTMLDisplayAnchor not described in definition file

type DocumentHTMLDisplaySettings

type DocumentHTMLDisplaySettings struct {
	// Specifies the valid CSS-formatted styles to use on responsive table cells. Only valid in display sections of `responsive_table` or `responsive_table_single_column` types.
	CellStyle string `json:"cellStyle,omitempty"`
	// This object defines the appearance and function of a collapsible section or item.
	CollapsibleSettings *DocumentHTMLCollapsibleDisplaySettings `json:"collapsibleSettings,omitempty"`
	// Sets the display and behavior properties. Possible  values are:
	//
	// - `inline`:
	//   Leaves the HTML where it is in the document.
	//   This property lets you add a label or present on a separate page.
	//
	// - `collapsible`:
	//   The HTML in this section may be expanded or collapsed.
	//   Initially this section is expanded.
	//
	// - `collapsed`:
	//   The HTML in this section may be expanded or collapsed.
	//   Initially this section is collapsed.
	//
	// - `continue_button`:
	//   Creates a stop point in the document to draw the reader's
	//   attention before proceeding to the next section.
	//
	// - `responsive_table`:
	//   Turns this section into a responsive table.
	//   Note that this is only used on HTML tables that fall within the anchor start and end positions.
	//
	// - `responsive_table_single_column`:
	//   Turns this section into a responsive single-column table.
	//   Note this is only used on HTML tables that fall within the anchor start and end positions.
	//   The table will be converted to one single column where each current column will become a row, then stacked.
	//
	// - `print_only`:
	//   Do not show this portion of the HTML in the responsive signing view.
	//
	//
	//
	Display string `json:"display,omitempty"`
	// The label to add to this display section in the signing page.
	//
	DisplayLabel string `json:"displayLabel,omitempty"`
	// The position on the page where the display section appears.
	DisplayOrder int32 `json:"displayOrder,omitempty"`
	// The number of the page on which the display section appears.
	DisplayPageNumber int32 `json:"displayPageNumber,omitempty"`
	// When **true,** the `displayLabel` is hidden when the display section is expanded and the display section is no longer collapsible. This property is valid only when the value of the `display` property is `collapsed`.
	HideLabelWhenOpened Bool `json:"hideLabelWhenOpened,omitempty"`
	// Specifies the valid CSS-formatted styles to use on inline display sections. This property is valid only when the value of the `display` property is `inline`.
	InlineOuterStyle string `json:"inlineOuterStyle,omitempty"`
	// The label for the display section when it is expanded from a collapsed state. This label displays only on the first opening and is only valid with the value of the `display` property is `collapsed`.
	LabelWhenOpened string `json:"labelWhenOpened,omitempty"`
	// Enables you to add descriptive text that appears before a collapsed section or continue button.
	PreLabel string `json:"preLabel,omitempty"`
	// When **true** and the section is expanded,
	// the position of the section-close control
	// scrolls to the top of the screen. This property is only valid when the value of the `display` property is `collapsed`.
	//
	ScrollToTopWhenOpened bool `json:"scrollToTopWhenOpened,omitempty"`
	// Specifies the valid CSS-formatted styles to use on responsive tables. This property is valid only when the value of the `display` property is `responsive_table` or `responsive_table_single_column`.
	TableStyle string `json:"tableStyle,omitempty"`
}

DocumentHTMLDisplaySettings this object defines how to display the HTML between the `startAnchor` and `endAnchor`.

type DocumentTemplate

type DocumentTemplate struct {
	//
	DocumentEndPage string `json:"documentEndPage,omitempty"`
	// Specifies the document ID number that the tab is placed on. This must refer to an existing Document's ID attribute.
	DocumentID string `json:"documentId,omitempty"`
	//
	DocumentStartPage string `json:"documentStartPage,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The unique identifier of the template. If this is not provided, DocuSign generates an error and the call fails.
	TemplateID string `json:"templateId,omitempty"`
}

DocumentTemplate not described in definition file

type DocumentTemplateList

type DocumentTemplateList struct {
	//
	DocumentTemplates []DocumentTemplate `json:"documentTemplates,omitempty"`
}

DocumentTemplateList not described in definition file

type DocumentVisibility

type DocumentVisibility struct {
	// Specifies the document ID number that the tab is placed on. This must refer to an existing Document's ID attribute.
	DocumentID string `json:"documentId,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// Indicates whether the document is editable:
	//
	// - `editable`
	// - `read_only`
	Rights string `json:"rights,omitempty"`
	// When **true,** the document is visible to the recipient.
	Visible Bool `json:"visible,omitempty"`
}

DocumentVisibility this object configures a recipient's read/write access to a document.

type DocumentVisibilityList

type DocumentVisibilityList struct {
	// An array of `documentVisibility` objects that specifies which documents are visible to which recipients.
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
}

DocumentVisibilityList document Visibility enables senders to control the visibility of the documents in an envelope at the recipient level. For example, if the parties associated with a legal proceeding should have access to different documents, the Document Visibility feature enables you to keep all of the documents in the same envelope and set view permissions for the documents by recipient. This functionality is enabled for envelopes and templates. It is not available for PowerForms.

**Note:** Before you use Document Visibility, you should be aware of the following information:

- Document Visibility must be enabled for your account by your DocuSign administrator. - A document cannot be hidden from a recipient if the recipient has tabs assigned to them on the document. - When the Document Visibility setting hides a document from a recipient, the document also does not appear in the recipient's list of envelopes, documents, or page images. - Carbon Copy, Certified Delivery (Needs to Sign), Editor, and Agent recipients can always see all of the documents associated with the envelope or template.

The Document Visibility feature has multiple settings that specify the options that senders have when sending documents. For more information, see [Use Document Visibility to Control Recipient Access](https://support.docusign.com/en/guides/ndse-user-guide-document-visibility).

type DowngradRequestBillingInfoResponse added in v0.10.0

type DowngradRequestBillingInfoResponse struct {
	//
	DowngradePlanInformation *DowngradePlanUpdateResponse `json:"downgradePlanInformation,omitempty"`
	// The payment method used for the billing plan. Valid values are:
	//
	// - `NotSupported`
	// - `CreditCard`
	// - `PurchaseOrder`
	// - `Premium`
	// - `Freemium`
	// - `FreeTrial`
	// - `AppStore`
	// - `DigitalExternal`
	// - `DirectDebit`
	PaymentMethod string `json:"paymentMethod,omitempty"`
}

DowngradRequestBillingInfoResponse not described in definition file

type DowngradeBillingPlanInformation added in v0.10.0

type DowngradeBillingPlanInformation struct {
	//
	DowngradeEventType string `json:"downgradeEventType,omitempty"`
	// An object used to identify the features and attributes of the account being created.
	PlanInformation *PlanInformation `json:"planInformation,omitempty"`
	//
	PromoCode string `json:"promoCode,omitempty"`
	//
	SaleDiscount string `json:"saleDiscount,omitempty"`
	// Reserved for DocuSign.
	SaleDiscountPeriods string `json:"saleDiscountPeriods,omitempty"`
	//
	SaleDiscountType string `json:"saleDiscountType,omitempty"`
}

DowngradeBillingPlanInformation not described in definition file

type DowngradePlanUpdateResponse added in v0.10.0

type DowngradePlanUpdateResponse struct {
	// The type of payment method used for the account. Valid values are:
	//
	// - `credit_card`
	// -
	AccountPaymentMethod string `json:"accountPaymentMethod,omitempty"`
	//
	DiscountApplied string `json:"discountApplied,omitempty"`
	//
	DowngradeEffectiveDate string `json:"downgradeEffectiveDate,omitempty"`
	//
	DowngradePaymentCycle string `json:"downgradePaymentCycle,omitempty"`
	//
	DowngradePlanID string `json:"downgradePlanId,omitempty"`
	//
	DowngradePlanName string `json:"downgradePlanName,omitempty"`
	//
	DowngradeRequestStatus string `json:"downgradeRequestStatus,omitempty"`
	//
	Message string `json:"message,omitempty"`
	// The Product ID from the AppStore.
	ProductID string `json:"productId,omitempty"`
	//
	PromoCode string `json:"promoCode,omitempty"`
	//
	SaleDiscount string `json:"saleDiscount,omitempty"`
	// Reserved for DocuSign.
	SaleDiscountPeriods string `json:"saleDiscountPeriods,omitempty"`
	//
	SaleDiscountType string `json:"saleDiscountType,omitempty"`
}

DowngradePlanUpdateResponse not described in definition file

type DowngradeRequestInformation added in v0.10.0

type DowngradeRequestInformation struct {
	//
	DowngradeRequestCreation string `json:"downgradeRequestCreation,omitempty"`
	//
	DowngradeRequestProductID string `json:"downgradeRequestProductId,omitempty"`
	//
	DowngradeRequestStatus string `json:"downgradeRequestStatus,omitempty"`
}

DowngradeRequestInformation not described in definition file

type Draw added in v0.10.0

type Draw struct {
	TabBase
	TabGuidedForm
	// When **true,** the recipient can upload an image to use as the background of the drawing field. The default value is **false.**
	AllowSignerUpload Bool `json:"allowSignerUpload,omitempty"`
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are placed. When **true,** the text string in a document must match the case of the `anchorString` property for an anchor tab to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the anchor string is `DocuSign`, then `DocuSign` will match but `Docusign`, `docusign`, `DoCuSiGn`, etc. will not match. When **false,** `DocuSign`, `Docusign`, `docusign`, `DoCuSiGn`, etc. will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	AnchorCaseSensitive string `json:"anchorCaseSensitive,omitempty"`
	// Metadata that indicates whether the `anchorCaseSensitive` property is editable.
	AnchorCaseSensitiveMetadata *PropertyMetadata `json:"anchorCaseSensitiveMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are aligned in relation to the anchor text. Possible values are :
	//
	// - `left`: Aligns the left side of the tab with the beginning of the first character of the matching anchor word. This is the default value.
	// - `right`: Aligns the tab’s left side with the last character of the matching anchor word.
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorHorizontalAlignment string `json:"anchorHorizontalAlignment,omitempty"`
	// Metadata that indicates whether the `anchorHorizontalAlignment` property is editable.
	AnchorHorizontalAlignmentMetadata *PropertyMetadata `json:"anchorHorizontalAlignmentMetadata,omitempty"`
	// When **true,** this tab is ignored if the `anchorString` is not found in the document.
	AnchorIgnoreIfNotPresent Bool `json:"anchorIgnoreIfNotPresent,omitempty"`
	// Metadata that indicates whether the `anchorIgnoreIfNotPresent` property is editable.
	AnchorIgnoreIfNotPresentMetadata *PropertyMetadata `json:"anchorIgnoreIfNotPresentMetadata,omitempty"`
	// When **true,** the text string in a document must match the value of the `anchorString` property in its entirety for an [anchor tab][AnchorTab] to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the input is `man` then `man` will match but `manpower`, `fireman`, and `penmanship` will not. When **false,** if the input is `man` then `man`, `manpower`, `fireman`, and `penmanship` will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTab]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorMatchWholeWord Bool `json:"anchorMatchWholeWord,omitempty"`
	// Metadata that indicates whether the `anchorMatchWholeWord` property is editable.
	AnchorMatchWholeWordMetadata *PropertyMetadata `json:"anchorMatchWholeWordMetadata,omitempty"`
	// Specifies the string to find in the document and use as the basis for tab placement.
	AnchorString string `json:"anchorString,omitempty"`
	// Metadata that indicates whether the `anchorString` property is editable.
	AnchorStringMetadata *PropertyMetadata `json:"anchorStringMetadata,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersion string `json:"anchorTabProcessorVersion,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersionMetadata *PropertyMetadata `json:"anchorTabProcessorVersionMetadata,omitempty"`
	// Specifies units of the
	// `anchorXOffset` and
	// `anchorYOffset`.
	// Valid units are:
	//
	// - `pixels`
	// - `inches`
	// - `mms`
	// - `cms`
	//
	AnchorUnits string `json:"anchorUnits,omitempty"`
	// Metadata that indicates whether the `anchorUnits` property is editable.
	AnchorUnitsMetadata *PropertyMetadata `json:"anchorUnitsMetadata,omitempty"`
	// Specifies the X axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorXOffset string `json:"anchorXOffset,omitempty"`
	// Metadata that indicates whether the `anchorXOffset` property is editable.
	AnchorXOffsetMetadata *PropertyMetadata `json:"anchorXOffsetMetadata,omitempty"`
	// Specifies the Y axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorYOffset string `json:"anchorYOffset,omitempty"`
	// Metadata that indicates whether the `anchorYOffset` property is editable.
	AnchorYOffsetMetadata *PropertyMetadata `json:"anchorYOffsetMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
	CustomTabID string `json:"customTabId,omitempty"`
	// Metadata that indicates whether the `customTabId` property is editable.
	CustomTabIDMetadata *PropertyMetadata `json:"customTabIdMetadata,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// Contains the information necessary to map the tab to a field in SalesForce.
	MergeField *MergeField `json:"mergeField,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// Specifies the page number on which the tab is located.
	PageNumber string `json:"pageNumber,omitempty"`
	// Metadata that indicates whether the `pageNumber` property is editable.
	PageNumberMetadata *PropertyMetadata `json:"pageNumberMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// When **true,** this custom tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * sent - The envelope is sent to the recipients.
	// * created - The envelope is saved as a draft and can be modified and sent later.
	Status string `json:"status,omitempty"`
	// Metadata that indicates whether the `status` property is editable.
	StatusMetadata *PropertyMetadata `json:"statusMetadata,omitempty"`
	// The unique identifier for the tab.
	TabID string `json:"tabId,omitempty"`
	// Metadata that indicates whether the `tabId` property is editable.
	TabIDMetadata *PropertyMetadata `json:"tabIdMetadata,omitempty"`
	// Metadata that indicates whether the `tabLabel` property is editable.
	TabLabelMetadata *PropertyMetadata `json:"tabLabelMetadata,omitempty"`
	// A positive integer that sets the order the tab is navigated to during signing.
	//
	// Tabs on a page are navigated to in ascending order, starting with the lowest number and moving to the highest. If two or more tabs have the same `tabOrder` value, the normal auto-navigation setting behavior for the envelope is used.
	TabOrder string `json:"tabOrder,omitempty"`
	// Metadata that indicates whether the `tabOrder` property is editable.
	TabOrderMetadata *PropertyMetadata `json:"tabOrderMetadata,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// Metadata that indicates whether the `templateLocked` property is editable.
	TemplateLockedMetadata *PropertyMetadata `json:"templateLockedMetadata,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// Metadata that indicates whether the `templateRequired` property is editable.
	TemplateRequiredMetadata *PropertyMetadata `json:"templateRequiredMetadata,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	//
	UseBackgroundAsCanvas string `json:"useBackgroundAsCanvas,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
	// This property indicates the horizontal offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	XPosition string `json:"xPosition,omitempty"`
	// Metadata that indicates whether the `xPosition` property is editable.
	XPositionMetadata *PropertyMetadata `json:"xPositionMetadata,omitempty"`
	// This property indicates the vertical offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	YPosition string `json:"yPosition,omitempty"`
	// Metadata that indicates whether the `yPosition` property is editable.
	YPositionMetadata *PropertyMetadata `json:"yPositionMetadata,omitempty"`
}

Draw is a tab that allows the recipient to add a free-form drawing to the document.

type ENoteConfiguration

type ENoteConfiguration struct {
	//
	APIKey string `json:"apiKey,omitempty"`
	//
	ConnectConfigured string `json:"connectConfigured,omitempty"`
	//
	ENoteConfigured string `json:"eNoteConfigured,omitempty"`
	//
	Organization string `json:"organization,omitempty"`
	// The user's encrypted password hash.
	Password string `json:"password,omitempty"`
	// The name of the user.
	UserName string `json:"userName,omitempty"`
}

ENoteConfiguration not described in definition file

type Editor

type Editor struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// Metadata that indicates whether the `accessCode` property is editable. This property is read-only.
	AccessCodeMetadata *PropertyMetadata `json:"accessCodeMetadata,omitempty"`
	// Optional. When **true,** the access code will be added to the email sent to the recipient. This nullifies the security measure of `accessCode` on the recipient.
	AddAccessCodeToEmail string `json:"addAccessCodeToEmail,omitempty"`
	// An array of additional notification objects.
	AdditionalNotifications []RecipientAdditionalNotification `json:"additionalNotifications,omitempty"`
	// When **true,** if the recipient is locked on a template, advanced recipient routing can override the lock.
	AllowSystemOverrideForLockedRecipient Bool `json:"allowSystemOverrideForLockedRecipient,omitempty"`
	// Error message provided by the destination email system. This field is only provided if the email notification to the recipient fails to send. This property is read-only.
	//
	AutoRespondedReason string `json:"autoRespondedReason,omitempty"`
	// Specifies whether the recipient is embedded or remote.
	//
	// If the `clientUserId` property is not null then the recipient is embedded. Use this field to associate the signer with their userId in your app. Authenticating the user is the responsibility of your app when you use embedded signing.
	//
	// Note: if the `clientUserId` property is set and either `SignerMustHaveAccount` or `SignerMustLoginToSign` property of the account settings is set to  **true,** an error is generated on sending.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// Indicates the number of times that the recipient has been through a signing completion for the envelope. If this number is greater than 0 for a signing group, only the user who previously completed may sign again. This property is read-only.
	CompletedCount string `json:"completedCount,omitempty"`
	//
	ConsentDetailsList []ConsentDetails `json:"consentDetailsList,omitempty"`
	// An optional array of strings that allows the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each customField string can be a maximum of 100 characters.
	CustomFields []string `json:"customFields,omitempty"`
	// The date and time the recipient declined the document. This property is read-only.
	DeclinedDateTime *time.Time `json:"declinedDateTime,omitempty"`
	// The reason the recipient declined the document. This property is read-only.
	DeclinedReason string `json:"declinedReason,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime *time.Time `json:"deliveredDateTime,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethodMetadata *PropertyMetadata `json:"deliveryMethodMetadata,omitempty"`
	// Reserved for DocuSign.
	DesignatorID string `json:"designatorId,omitempty"`
	// Reserved for DocuSign.
	DesignatorIDGUID string `json:"designatorIdGuid,omitempty"`
	// A list of `documentVisibility` objects. Each object in the list specifies whether a document in the envelope is visible to this recipient. For the envelope to use this functionality, Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true.**
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
	// The recipient's email address. Notification of the document to sign is sent to this email address.
	//
	// Maximum length: 100 characters.
	Email string `json:"email,omitempty"`
	// Metadata that indicates whether the `email` property is editable. This property is read-only.
	EmailMetadata *PropertyMetadata `json:"emailMetadata,omitempty"`
	// An optional complex type that sets a specific email subject and body for this recipient's notification email.
	//
	// **Note:** You can set the `emailNotification` property separately for each recipient. If you set the value only for certain recipients, the other recipients will inherit the this value from the top-level `emailSubject` and `emailBlurb`.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	//
	EmailRecipientPostSigningURL string `json:"emailRecipientPostSigningURL,omitempty"`
	// Specifies a sender-provided valid URL string for redirecting an embedded recipient. When using this option, the embedded recipient still receives an email from DocuSign, just as a remote recipient would. When the document link in the email is clicked the recipient is redirected, through DocuSign, to the supplied URL to complete their actions. When routing to the URL, the sender's system (the server responding to the URL) must request a recipient token to launch a signing session.
	//
	// When `SIGN_AT_DOCUSIGN`, the recipient is directed to an embedded signing or viewing process directly at DocuSign. The signing or viewing action is initiated by the DocuSign system and the transaction activity and Certificate of Completion records will reflect this. In all other ways the process is identical to an embedded signing or viewing operation launched by a partner.
	//
	// It is important to understand that in a typical embedded workflow, the authentication of an embedded recipient is the responsibility of the sending application. DocuSign expects that senders will follow their own processes for establishing the recipient's identity. In this workflow the recipient goes through the sending application before the embedded signing or viewing process is initiated. However, when the sending application sets `EmbeddedRecipientStartURL=SIGN_AT_DOCUSIGN`, the recipient goes directly to the embedded signing or viewing process, bypassing the sending application and any authentication steps the sending application would use. In this case, DocuSign recommends that you use one of the normal DocuSign authentication features (Access Code, Phone Authentication, SMS Authentication, etc.) to verify the identity of the recipient.
	//
	// If the `clientUserId` property is NOT set, and the `embeddedRecipientStartURL` is set, DocuSign will ignore the redirect URL and launch the standard signing process for the email recipient. Information can be appended to the embedded recipient start URL using merge fields. The available merge fields items are: `envelopeId`, `recipientId`, `recipientName`, `recipientEmail`, and `customFields`. The `customFields` property must be set for the recipient or envelope. The merge fields are enclosed in double brackets.
	//
	// *Example*:
	//
	// `http://senderHost/[[mergeField1]]/ beginSigningSession? [[mergeField2]]&[[mergeField3]]`
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Reserved for DocuSign.
	FaxNumber string `json:"faxNumber,omitempty"`
	// Reserved for DocuSign.
	FaxNumberMetadata *PropertyMetadata `json:"faxNumberMetadata,omitempty"`
	// The recipient's first name.
	//
	// Maximum Length: 50 characters.
	FirstName string `json:"firstName,omitempty"`
	// Metadata that indicates whether the `firstName` property is editable. This property is read-only.
	FirstNameMetadata *PropertyMetadata `json:"firstNameMetadata,omitempty"`
	// Reserved for DocuSign.
	FullName string `json:"fullName,omitempty"`
	// Reserved for DocuSign.
	FullNameMetadata *PropertyMetadata `json:"fullNameMetadata,omitempty"`
	// The name of the authentication check to use. This value must match one of the authentication types that the account uses. The names of these authentication types appear in the web console sending interface in the Identify list for a recipient. This setting overrides any default authentication setting. Valid values are:
	//
	// - `Phone Auth $`: The recipient must authenticate by using two-factor authentication (2FA). You provide the phone number to use for 2FA in the `phoneAuthentication` object.
	// - `SMS Auth $`: The recipient must authenticate via SMS. You provide the phone number to use in the `smsAuthentication` object.
	// - `ID Check $`: The  recipient must answer detailed security questions.
	//
	// **Example:** Your account has ID Check and SMS Authentication available. In the web console Identify list, these appear as ID Check $ and SMS Auth $. To use ID Check in an envelope, the idCheckConfigurationName should be ID Check $. For SMS, you would use SMS Auth $, and you would also need to add a phone number to the smsAuthentication node.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// Metadata that indicates whether the `idCheckConfigurationName` property is editable. This property is read-only.
	IDCheckConfigurationNameMetadata *PropertyMetadata `json:"idCheckConfigurationNameMetadata,omitempty"`
	// An object that contains input information related to a recipient ID check.
	IDCheckInformationInput *IDCheckInformationInput `json:"idCheckInformationInput,omitempty"`
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification *RecipientIdentityVerification `json:"identityVerification,omitempty"`
	// When **true** and the envelope recipient creates a DocuSign account after signing, the Manage Account Email Notification settings are used as the default settings for the recipient's account.
	InheritEmailNotificationConfiguration Bool `json:"inheritEmailNotificationConfiguration,omitempty"`
	// The recipient's last name.
	LastName string `json:"lastName,omitempty"`
	// Metadata that indicates whether the `lastName` property is editable. This property is read-only.
	LastNameMetadata *PropertyMetadata `json:"lastNameMetadata,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientPhoneAuthEditable string `json:"lockedRecipientPhoneAuthEditable,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientSmsEditable string `json:"lockedRecipientSmsEditable,omitempty"`
	// The full legal name of the recipient. Maximum Length: 100 characters.
	//
	// **Note:** You must always set a value for this property in requests, even if `firstName` and `lastName` are set.
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// A note sent to the recipient in the signing email.
	// This note is unique to this recipient.
	// In the user interface,
	// it appears near the upper left corner
	// of the document
	// on the signing screen.
	//
	// Maximum Length: 1000 characters.
	//
	Note string `json:"note,omitempty"`
	// Metadata that indicates whether the `note` property is editable. This property is read-only.
	NoteMetadata *PropertyMetadata `json:"noteMetadata,omitempty"`
	// When `idCheckConfigurationName` is set to `Phone Auth $`, you use this complex type to provide the recipient authentication method details. It contains the following elements:
	//
	// * `recipMayProvideNumber`: Boolean. When **true,** the recipient can use whatever phone number they choose.
	// * `senderProvidedNumbers`: ArrayOfStrings.  A list of phone numbers the recipient can use.
	// * `recordVoicePrint`: Reserved for DocuSign.
	// * `validateRecipProvidedNumber`: Reserved for DocuSign.
	//
	//
	PhoneAuthentication Bool `json:"phoneAuthentication,omitempty"`
	// Describes the recipient phone number.
	PhoneNumber *RecipientPhoneNumber `json:"phoneNumber,omitempty"`
	// Reserved for DocuSign.
	RecipientAttachments []RecipientAttachment `json:"recipientAttachments,omitempty"`
	// Information about the recipient's authentication status. This property is read-only.
	RecipientAuthenticationStatus *AuthenticationStatus `json:"recipientAuthenticationStatus,omitempty"`
	// Metadata about the features that are supported for the recipient type. This property is read-only.
	RecipientFeatureMetadata []FeatureAvailableMetadata `json:"recipientFeatureMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// The recipient type, as specified by the following values:
	// - `agent`: Agent recipients can add name and email information for recipients that appear after the agent in routing order.
	// - `carbonCopy`: Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date, or add information to any of the documents. This type of recipient can be used in any routing order.
	// - `certifiedDelivery`: Certified delivery recipients must receive the completed documents for the envelope to be completed. They don't need to sign, initial, date, or add information to any of the documents.
	// - `editor`: Editors have the same management and access rights for the envelope as the sender. Editors can add name and email information, add or change the routing order, set authentication options, and can edit signature/initial tabs and data fields for the remaining recipients.
	// - `inPersonSigner`: In-person recipients are DocuSign users who act as signing hosts in the same physical location as the signer.
	// - `intermediaries`: Intermediary recipients can optionally add name and email information for recipients at the same or subsequent level in the routing order.
	// - `seal`: Electronic seal recipients represent legal entities.
	// - `signer`: Signers are recipients who must sign, initial, date, or add data to form fields on the documents in the envelope.
	// - `witness`: Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.
	RecipientType string `json:"recipientType,omitempty"`
	// Metadata that indicates whether the `recipientType` property is editable. This property is read-only.
	RecipientTypeMetadata *PropertyMetadata `json:"recipientTypeMetadata,omitempty"`
	// When **true,** the recipient is required to use the specified ID check method (including Phone and SMS authentication) to validate their identity.
	RequireIDLookup Bool `json:"requireIdLookup,omitempty"`
	// Metadata that indicates whether the `requireIdLookup` property is editable. This property is read-only.
	RequireIDLookupMetadata *PropertyMetadata `json:"requireIdLookupMetadata,omitempty"`
	// Optional element. Specifies the role name associated with the recipient.<br/><br/>This property is required when you are working with template recipients.
	RoleName string `json:"roleName,omitempty"`
	// Specifies the routing order of the recipient in the envelope.
	RoutingOrder string `json:"routingOrder,omitempty"`
	// Metadata that indicates whether the `routingOrder` property is editable. This property is read-only.
	RoutingOrderMetadata *PropertyMetadata `json:"routingOrderMetadata,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime *time.Time `json:"sentDateTime,omitempty"`
	// Reserved for DocuSign.
	SignedDateTime *time.Time `json:"signedDateTime,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// Metadata that indicates whether the `signingGroupId` property is editable. This property is read-only.
	SigningGroupIDMetadata *PropertyMetadata `json:"signingGroupIdMetadata,omitempty"`
	// Optional. The name of the signing group.
	//
	// Maximum Length: 100 characters.
	SigningGroupName string `json:"signingGroupName,omitempty"`
	// A complex type that contains information about users in the signing group.
	SigningGroupUsers []UserInfo `json:"signingGroupUsers,omitempty"`
	// When `idCheckConfigurationName` is set to `SMS Auth $`, you use this complex type to provide the recipient authentication method details. It contains the element `senderProvidedNumbers`, which is an array of phone numbers that the recipient can use for SMS text authentication.
	//
	//
	SmsAuthentication *RecipientSMSAuthentication `json:"smsAuthentication,omitempty"`
	// Deprecated.
	SocialAuthentications []SocialAuthentication `json:"socialAuthentications,omitempty"`
	// The recipient's status. This property is read-only.
	//
	// Valid values:
	//
	// - `autoresponded`: The recipient's email system auto-responded to the email from DocuSign. This status is used in the web console to inform senders about the bounced-back email. This recipient status is only used if **Send-on-behalf-of** is turned off for the account.
	// - `completed`: The recipient has completed their actions (signing or other required actions if not a signer) for an envelope.
	// - `created`: The recipient is in a draft state. This value is only associated with draft envelopes (envelopes that have a status of `created`).
	// - `declined`: The recipient declined to sign the documents in the envelope.
	// - `delivered`: The recipient has viewed the documents in an envelope through the DocuSign signing website. This is not an email delivery of the documents in an envelope.
	// - `faxPending`: The recipient has finished signing and the system is waiting for a fax attachment from the recipient before completing their signing step.
	// - `sent`: The recipient has been sent an email notification that it is their turn to sign an envelope.
	// - `signed`: The recipient has completed (signed) all required tags in an envelope. This is a temporary state during processing, after which the recipient's status automatically switches to `completed`.
	//
	Status string `json:"status,omitempty"`
	// The code associated with the recipient's status. This property is read-only.
	StatusCode string `json:"statusCode,omitempty"`
	// When **true,** email notifications are suppressed for the recipient, and they must access envelopes and documents from their DocuSign inbox.
	SuppressEmails Bool `json:"suppressEmails,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// The total number of tabs in the documents. This property is read-only.
	TotalTabCount string `json:"totalTabCount,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

Editor is a complex type defining the management and access rights of a recipient assigned as an editor on the envelope. Editors have the same management and access rights for the envelope as the sender. They can make changes to the envelope as if they were using the Correct feature. This recipient can add name and email information, add or change the routing order and set authentication options for the remaining recipients. Additionally, this recipient can edit signature/initial tabs and text tabs for the remaining recipients.

type Email

type Email struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true** and shared is true, information must be entered in this field to complete the envelope.
	RequireAll Bool `json:"requireAll,omitempty"`
	// Metadata that indicates whether the `requireAll` property is editable.
	RequireAllMetadata *PropertyMetadata `json:"requireAllMetadata,omitempty"`
	// Optional element for field markup. When **true,** the signer is required to initial when they modify a shared field.
	RequireInitialOnSharedChange Bool `json:"requireInitialOnSharedChange,omitempty"`
	// Metadata that indicates whether the `requireInitialOnSharedChange` property is editable.
	RequireInitialOnSharedChangeMetadata *PropertyMetadata `json:"requireInitialOnSharedChangeMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// When **true,** the sender must populate the tab before an envelope can be sent using the template.
	//
	// This value tab can only be changed by modifying (PUT) the template.
	//
	// Tabs with a `senderRequired` value of true cannot be deleted from an envelope.
	SenderRequired Bool `json:"senderRequired,omitempty"`
	// Metadata that indicates whether the `senderRequired` property is editable.
	SenderRequiredMetadata *PropertyMetadata `json:"senderRequiredMetadata,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipients string `json:"shareToRecipients,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipientsMetadata *PropertyMetadata `json:"shareToRecipientsMetadata,omitempty"`
	// When **true,** this tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The message displayed if the custom tab fails input validation (either custom of embedded).
	ValidationMessage string `json:"validationMessage,omitempty"`
	// Metadata that indicates whether the `validationMessage` property is editable.
	ValidationMessageMetadata *PropertyMetadata `json:"validationMessageMetadata,omitempty"`
	// A regular expression used to validate input for the tab.
	ValidationPattern string `json:"validationPattern,omitempty"`
	// Metadata that indicates whether the `validationPattern` property is editable.
	ValidationPatternMetadata *PropertyMetadata `json:"validationPatternMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

Email is a tab that allows the recipient to enter an email address. This is a one-line field that checks that a valid email address is entered. It uses the same parameters as a Text tab, with the validation message and pattern set for email information.

When getting information that includes this tab type, the original value of the tab when the associated envelope was sent is included in the response.

type EmailAddress

type EmailAddress struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// **Note:** Email Address tabs never display this tooltip in the signing interface.
	//
	// Although you can technically set a value via the API for this tab,
	// it will not be displayed to the recipient.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

EmailAddress is a tab that displays the recipient's email as entered in the recipient information.

type EmailSettings

type EmailSettings struct {
	// An array containing the email address that should receive a copy of all email communications related to an envelope for archiving purposes. Maximum Length: 100 characters.
	//
	// While this property is an array, note that it takes only a single email address.
	//
	// **Note:** Only users with the `canManageAccount` setting set to **true** can use this option.
	//
	// DocuSign verifies that the email format is correct, but does not verify that the email address is active. You can use this for archiving purposes. However, using this property overrides the BCC for Email Archive information setting for this envelope.
	//
	// **Example:** if your account has BCC for Email Archive set up for the email address archive@mycompany.com and you send an envelope using the BCC Email Override to send a BCC email to salesarchive@mycompany.com, then a copy of the envelope is only sent to the salesarchive@mycompany.com email address.
	BccEmailAddresses []BccEmailAddress `json:"bccEmailAddresses,omitempty"`
	// The Reply To email address to use for email replies, instead of the one that is configured at the account level. DocuSign verifies that the email address is in a correct format, but does not verify that it is active. Maximum Length: 100 characters.
	ReplyEmailAddressOverride string `json:"replyEmailAddressOverride,omitempty"`
	// The name to associate with the Reply To email address, instead of the name that is configured at the account level. Maximum Length: 100 characters.
	ReplyEmailNameOverride string `json:"replyEmailNameOverride,omitempty"`
}

EmailSettings is a complex element that allows the sender to override some envelope email setting information. This can be used to override the Reply To email address and name associated with the envelope and to override the BCC email addresses to which an envelope is sent.

When the emailSettings information is used for an envelope, it only applies to that envelope.

**IMPORTANT:** The emailSettings information is not returned in the GET for envelope status. Use GET /email_settings to return information about the emailSettings.

EmailSettings consists of:

* replyEmailAddressOverride - The Reply To email used for the envelope. DocuSign will verify that a correct email format is used, but does not verify that the email is active. Maximum Length: 100 characters. * replyEmailNameOverride - The name associated with the Reply To email address. Maximum Length: 100 characters. * bccEmailAddresses - An array of up to five email addresses to which the envelope is sent to as a BCC email. Only users with canManageAccount setting set to true can use this option. DocuSign verifies that the email format is correct, but does not verify that the email is active. Using this overrides the BCC for Email Archive information setting for this envelope. Maximum Length: 100 characters. *Example*: if your account has BCC for Email Archive set up for the email address 'archive@mycompany.com' and you send an envelope using the BCC Email Override to send a BCC email to 'salesarchive@mycompany.com', then a copy of the envelope is only sent to the 'salesarchive@mycompany.com' email address.

type Envelope

type Envelope struct {
	// Reserved for DocuSign.
	AccessControlListBase64 string `json:"accessControlListBase64,omitempty"`
	// When **true,** users can add comments to the documents in the envelope. For example, if a signer has a question about the text in the document, they can add a comment to the document.
	AllowComments Bool `json:"allowComments,omitempty"`
	// When **true,** the Document Markup feature is enabled.
	//
	// **Note:**  To use this feature, Document Markup must be enabled at both the account and envelope levels. Only Admin users can change this setting at the account level.
	//
	AllowMarkup Bool `json:"allowMarkup,omitempty"`
	// When **true,** the recipient can redirect an envelope to a more appropriate recipient.
	AllowReassign Bool `json:"allowReassign,omitempty"`
	// When **true,** recipients can view the history of the envelope.
	AllowViewHistory Bool `json:"allowViewHistory,omitempty"`
	// Deprecated. This feature has been replaced by signing groups.
	AnySigner string `json:"anySigner,omitempty"`
	// When **true,** the envelope is queued for
	// processing and the value of the `status` property
	// is set to `Processing`. Additionally, GET status
	// calls return `Processing` until completed.
	//
	//
	// **Note:** A `transactionId` is required for this
	// call to work correctly. When the envelope is
	// created, the status is `Processing` and an
	// `envelopeId` is not returned in the response. To
	// get the `envelopeId`, use a GET envelope query by
	// using the
	// [transactionId](/docs/esign-rest-api/reference/envelopes/envelopes/create/) or by checking the
	// Connect notification.
	Asynchronous Bool `json:"asynchronous,omitempty"`
	// Contains a URL for retrieving the attachments that are associated with the envelope.
	AttachmentsURI string `json:"attachmentsUri,omitempty"`
	// When **true,** marks all of the documents in the envelope as authoritative copies.
	//
	// **Note:** You can override this value for a specific document. For example, you can set the `authoritativeCopy` property to **true** at the envelope level, but turn it off for a single document by setting the `authoritativeCopy` property for the document to **false.**
	AuthoritativeCopy Bool `json:"authoritativeCopy,omitempty"`
	// The default `authoritativeCopy` setting for documents in this envelope that do not have `authoritativeCopy` set.
	// If this property is not set, each document defaults to the envelope's `authoritativeCopy`.
	AuthoritativeCopyDefault string `json:"authoritativeCopyDefault,omitempty"`
	// When **true,** autonavigation is set for the recipient.
	//
	AutoNavigation Bool `json:"autoNavigation,omitempty"`
	// The ID of the brand.
	BrandID string `json:"brandId,omitempty"`
	// When **true,** the `brandId` for the envelope is locked and senders cannot change the brand used for the envelope.
	BrandLock Bool `json:"brandLock,omitempty"`
	// The URI for retrieving certificate information.
	CertificateURI string `json:"certificateUri,omitempty"`
	// Specifies the date and time this item was completed.
	CompletedDateTime *time.Time `json:"completedDateTime,omitempty"`
	//
	CopyRecipientData string `json:"copyRecipientData,omitempty"`
	// The UTC DateTime when the item was created.
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// An optional array of strings that enables the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each `customField` string can be a maximum of 100 characters.
	CustomFields *CustomFields `json:"customFields,omitempty"`
	// The URI for retrieving custom fields.
	CustomFieldsURI string `json:"customFieldsUri,omitempty"`
	// The date and time the recipient declined the document. This property is read-only.
	DeclinedDateTime *time.Time `json:"declinedDateTime,omitempty"`
	// Reserved for DocuSign.
	DeletedDateTime *time.Time `json:"deletedDateTime,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime *time.Time `json:"deliveredDateTime,omitempty"`
	// When **true,** responsive documents are disabled for the envelope.
	DisableResponsiveDocument Bool `json:"disableResponsiveDocument,omitempty"`
	// The document's bytes. This field can be used to include a base64 version of the document bytes within an envelope definition instead of sending the document using a multi-part HTTP request. The maximum document size is smaller if this field is used due to the overhead of the base64 encoding.
	DocumentBase64 string `json:"documentBase64,omitempty"`
	// The URI for retrieving all of the documents associated with the envelope as a single PDF file.
	DocumentsCombinedURI string `json:"documentsCombinedUri,omitempty"`
	// The URI for retrieving all of the documents associated with the envelope as separate files.
	DocumentsURI string `json:"documentsUri,omitempty"`
	// This is the same as the email body. If specified it is included in the email body for all envelope recipients.
	EmailBlurb string `json:"emailBlurb,omitempty"`
	// A complex element that allows  the sender to override some envelope email setting information. This can be used to override the Reply To email address and name associated with the envelope and to override the BCC email addresses to which an envelope is sent.
	//
	// When the emailSettings information is used for an envelope, it only applies to that envelope.
	//
	// **IMPORTANT:** The `emailSettings` information is not returned in the GET method for envelope status. Use GET /email_settings to return information about the email settings.
	EmailSettings *EmailSettings `json:"emailSettings,omitempty"`
	// The subject line of the email message that is sent to all recipients.
	//
	// For information about adding merge field information to the email subject, see [Template Email Subject Merge Fields](/docs/esign-rest-api/reference/templates/templates/create/#template-email-subject-merge-fields).
	//
	// **Note:** The subject line is limited to 100 characters, including any merged fields.It is not truncated. It is an error if the text is longer than 100 characters.
	//
	EmailSubject string `json:"emailSubject,omitempty"`
	// When **true,** the signer is allowed to print the document and sign it on paper.
	EnableWetSign Bool `json:"enableWetSign,omitempty"`
	// When **true,** signers can only view the documents on which they have tabs. Recipients that have an administrative role (Agent, Editor, or Intermediaries) or informational role (Certified Deliveries or Carbon Copies) can always see all of the documents in an envelope, unless they are specifically excluded by using this setting when an envelope is sent. Documents that do not have tabs are always visible to all recipients, unless they are specifically excluded by using this setting when an envelope is sent.
	//
	// **Note:** To use this functionality, [Document Visibility][docviz] must be enabled for the account by making the account setting `allowDocumentVisibility` **true.**
	//
	// [docviz]: /docs/esign-rest-api/reference/envelopes/envelopedocumentvisibility/
	EnforceSignerVisibility Bool `json:"enforceSignerVisibility,omitempty"`
	// An array of attachment objects that provide information about the attachments that are associated with the envelope.
	EnvelopeAttachments []Attachment `json:"envelopeAttachments,omitempty"`
	//
	EnvelopeCustomMetadata *EnvelopeCustomMetadata `json:"envelopeCustomMetadata,omitempty"`
	// An array containing information about the documents that are included in the envelope.
	EnvelopeDocuments []EnvelopeDocument `json:"envelopeDocuments,omitempty"`
	// The envelope ID of the envelope status that failed to post.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// When **true,** [Envelope ID Stamping](https://support.docusign.com/en/guides/ndse-user-guide-set-advanced-document-options) is enabled.
	// After a document or attachment is stamped with an Envelope ID,
	// the ID is seen by all recipients
	// and becomes a permanent part of the document
	// and cannot be removed.
	EnvelopeIDStamping Bool `json:"envelopeIdStamping,omitempty"`
	// Reserved for DocuSign.
	EnvelopeLocation string `json:"envelopeLocation,omitempty"`
	// Metadata that indicates whether the `envelope` property is editable.
	//
	EnvelopeMetadata *EnvelopeMetadata `json:"envelopeMetadata,omitempty"`
	// The URI for retrieving the envelope or envelopes.
	EnvelopeURI string `json:"envelopeUri,omitempty"`
	// Not used. Use the
	// [`expirations`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification_expirations)
	// property in the [`notification`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification) object instead.
	ExpireAfter string `json:"expireAfter,omitempty"`
	// Not used. Use the
	// [`expirations`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification_expirations)
	// property in the [`notification`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification) object instead.
	ExpireDateTime string `json:"expireDateTime,omitempty"`
	// Not used. Use the
	// [`expirations`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification_expirations)
	// property in the [`notification`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification) object instead.
	ExpireEnabled string `json:"expireEnabled,omitempty"`
	// May contain an external identifier for the envelope.
	ExternalEnvelopeID string `json:"externalEnvelopeId,omitempty"`
	// A list of folder objects.
	Folders []Folder `json:"folders,omitempty"`
	// When **true,** indicates that users have added comments to the envelope.
	HasComments Bool `json:"hasComments,omitempty"`
	// Specifies if the `EnvelopeFormData` associated with any forms in the envelope has changed.
	HasFormDataChanged string `json:"hasFormDataChanged,omitempty"`
	// When **true,** indicates that a .wav file used for voice authentication is included in the envelope.
	HasWavFile Bool `json:"hasWavFile,omitempty"`
	// Reserved for DocuSign.
	Holder string `json:"holder,omitempty"`
	// The date and time the envelope was initially sent.
	InitialSentDateTime *time.Time `json:"initialSentDateTime,omitempty"`
	// When **true,** indicates compliance with United States Food and Drug Administration (FDA) regulations on electronic records and electronic signatures (ERES).
	Is21CFRPart11 Bool `json:"is21CFRPart11,omitempty"`
	// When **true,** indicates that the envelope is a dynamic envelope.
	IsDynamicEnvelope Bool `json:"isDynamicEnvelope,omitempty"`
	// When **true,** indicates that the envelope is a signature-provided envelope.
	IsSignatureProviderEnvelope Bool `json:"isSignatureProviderEnvelope,omitempty"`
	// The date and time that the item was last modified.
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
	// Reserved for DocuSign.
	Location string `json:"location,omitempty"`
	// Provides lock information about an envelope that a user has locked.
	LockInformation *LockInformation `json:"lockInformation,omitempty"`
	// When **true,** prevents senders from changing the contents of `emailBlurb` and `emailSubject` properties for the envelope.
	//
	// Additionally, this prevents users from making changes to the contents of `emailBlurb` and `emailSubject` properties when correcting envelopes.
	//
	// However, if the `messageLock` node is set to **true** and the `emailSubject` property is empty, senders and correctors are able to add a subject to the envelope.
	MessageLock Bool `json:"messageLock,omitempty"`
	// A complex element that specifies the notification options for the envelope. It consists of:
	//
	// * useAccountDefaults - When **true,** the account default notification settings are used for the envelope.
	// * reminders - A complex element that specifies reminder settings for the envelope. It consists of:
	//
	//    * reminderEnabled - When **true,** a reminder message is sent to the recipient.
	//    * reminderDelay - An integer that sets the number of days after the recipient receives the envelope that reminder emails are sent to the recipient.
	//    * reminderFrequency - An integer that sets the interval, in days, between reminder emails.
	//
	// * expirations - A complex element that specifies the expiration settings for the envelope. It consists of:
	//
	//    * expireEnabled - When **true,** the envelope expires (is no longer available for signing) in the set number of days. If false, the account default setting is used. If the account does not have an expiration setting, the DocuSign default value of 120 days is used.
	//    * expireAfter - An integer that sets the number of days the envelope is active.
	//    * expireWarn - An integer that sets the number of days before envelope expiration that an expiration warning email is sent to the recipient. When 0 (zero), no warning email is sent.
	//
	Notification Bool `json:"notification,omitempty"`
	// The URI for retrieving notifications.
	NotificationURI string `json:"notificationUri,omitempty"`
	// Information about any PowerForms that are included in the envelope.
	PowerForm *PowerForm `json:"powerForm,omitempty"`
	// The date that a purge was completed.
	PurgeCompletedDate string `json:"purgeCompletedDate,omitempty"`
	// The date that a purge was requested.
	PurgeRequestDate string `json:"purgeRequestDate,omitempty"`
	// Shows the current purge state for the envelope. Valid values:
	//
	// - `unpurged`: There has been no successful request to purge documents.
	// - `documents_queued`: The envelope documents have been added to the purge queue, but have not been purged.
	// - `documents_dequeued`: The envelope documents have been taken out of the purge queue.
	// - `documents_purged`: The envelope documents have been successfully purged.
	// - `documents_and_metadata_queued`: The envelope documents and metadata have been added to the purge queue, but have not yet been purged.
	// - `documents_and_metadata_purged`: The envelope documents and metadata have been successfully purged.
	// - `documents_and_metadata_and_redact_queued`: The envelope documents and metadata have been added to the purge queue, but have not yet been purged, nor has personal information been redacted.
	// - `documents_and_metadata_and_redact_purged`: The envelope documents and metadata have been successfully purged, and personal information has been redacted.
	//
	// **Related topics**
	//
	// - [Purging documents (eSingature Concepts)](/docs/esign-rest-api/esign101/concepts/documents/purging/)
	// - [Purging documents in an envelope (blog post)](https://www.docusign.com/blog/developers/purging-documents-envelope)
	//
	//
	PurgeState string `json:"purgeState,omitempty"`
	// An array of recipient objects that provides details about the recipients of the envelope.
	Recipients *Recipients `json:"recipients,omitempty"`
	// When **true,** prevents senders from changing, correcting, or deleting the recipient information for the envelope.
	RecipientsLock Bool `json:"recipientsLock,omitempty"`
	// Contains a URI for an endpoint that you can use to retrieve the recipients.
	RecipientsURI string `json:"recipientsUri,omitempty"`
	// Information about the sender of the envelope.
	Sender *UserInfo `json:"sender,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime *time.Time `json:"sentDateTime,omitempty"`
	// When **true,** recipients can sign on a mobile device.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SignerCanSignOnMobile Bool `json:"signerCanSignOnMobile,omitempty"`
	// Specifies the physical location where the signing takes place. It can have two enumeration values; `inPerson` and `online`. The default value is `online`.
	SigningLocation string `json:"signingLocation,omitempty"`
	// * `completed`: The recipients have finished working with the envelope: the documents are signed and all required tabs are filled in.
	// * `created`: The envelope is created as a draft. It can be modified and sent later.
	// * `declined`: The envelope has been declined by the recipients.
	// * `delivered`: The envelope has been delivered to the recipients.
	// * `sent`: The envelope will be sent to the recipients after the envelope is created.
	// * `signed`: The envelope has been signed by the recipients.
	// * `voided`: The envelope is no longer valid and recipients cannot access or sign the envelope.
	//
	Status string `json:"status,omitempty"`
	// The data and time that the status changed.
	StatusChangedDateTime *time.Time `json:"statusChangedDateTime,omitempty"`
	// The DateTime that the envelope changed status (i.e. was created or sent.)
	StatusDateTime string `json:"statusDateTime,omitempty"`
	// The URI for retrieving the templates.
	TemplatesURI string `json:"templatesUri,omitempty"`
	//  Used to identify an envelope. The ID is a sender-generated value and is valid in the DocuSign system for 7 days. It is recommended that a transaction ID is used for offline signing to ensure that an envelope is not sent multiple times. The `transactionId` property can be used determine an envelope's status (i.e. was it created or not) in cases where the internet connection was lost before the envelope status was returned.
	TransactionID string `json:"transactionId,omitempty"`
	// When **true,** the disclosure is shown to recipients in accordance with the account's Electronic Record and Signature Disclosure frequency setting. When **false,** the Electronic Record and Signature Disclosure is not shown to any envelope recipients.
	//
	// If the `useDisclosure` property is not set, then the account's normal disclosure setting is used and the value of the `useDisclosure` property is not returned in responses when getting envelope information.
	UseDisclosure Bool `json:"useDisclosure,omitempty"`
	// The date and time the envelope or template was voided.
	VoidedDateTime *time.Time `json:"voidedDateTime,omitempty"`
	// The reason the envelope or template was voided.
	//
	// **Note:** The string is truncated to the first 200 characters.
	//
	VoidedReason string `json:"voidedReason,omitempty"`
	//
	Workflow *Workflow `json:"workflow,omitempty"`
}

Envelope envelope creation, management

type EnvelopeAttachment

type EnvelopeAttachment struct {
	// Valid values are `sender` and `senderAndAllRecipients`.
	AccessControl string `json:"accessControl,omitempty"`
	// The unique identifier for the attachment.
	AttachmentID string `json:"attachmentId,omitempty"`
	// Specifies the type of the attachment for the recipient. Possible values are:
	//
	// - `.htm`
	// - `.xml`
	AttachmentType string `json:"attachmentType,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	//
	Label string `json:"label,omitempty"`
	//
	Name string `json:"name,omitempty"`
}

EnvelopeAttachment not described in definition file

type EnvelopeAttachmentsRequest

type EnvelopeAttachmentsRequest struct {
	// An object that contains information about the attachment.
	Attachments []Attachment `json:"attachments,omitempty"`
}

EnvelopeAttachmentsRequest not described in definition file

type EnvelopeAttachmentsResult

type EnvelopeAttachmentsResult struct {
	// An array of attachment objects that contain information about the attachments.
	Attachments []EnvelopeAttachment `json:"attachments,omitempty"`
}

EnvelopeAttachmentsResult not described in definition file

type EnvelopeAuditEvent

type EnvelopeAuditEvent struct {
	//
	EventFields []NameValue `json:"eventFields,omitempty"`
}

EnvelopeAuditEvent not described in definition file

type EnvelopeAuditEventResponse

type EnvelopeAuditEventResponse struct {
	// Reserved: TBD
	AuditEvents []EnvelopeAuditEvent `json:"auditEvents,omitempty"`
}

EnvelopeAuditEventResponse not described in definition file

type EnvelopeCustomMetadata added in v0.10.0

type EnvelopeCustomMetadata struct {
	//
	EnvelopeCustomMetadataDetails []NameValue `json:"envelopeCustomMetadataDetails,omitempty"`
}

EnvelopeCustomMetadata not described in definition file

type EnvelopeDefinition

type EnvelopeDefinition struct {
	// Reserved for DocuSign.
	AccessControlListBase64 string `json:"accessControlListBase64,omitempty"`
	// Sets the document reading zones for screen reader applications.  This element can only be used if Document Accessibility is enabled for the account.
	//
	// **Note:** This information is currently generated from the DocuSign web console by setting the reading zones when creating a template, exporting the reading zone string information, and adding it here.
	Accessibility string `json:"accessibility,omitempty"`
	// When **true,** comments are allowed on the envelope.
	AllowComments Bool `json:"allowComments,omitempty"`
	// When **true,** the Document Markup feature is enabled.
	//
	// **Note:**  To use this feature, Document Markup must be enabled at both the account and envelope levels. Only Admin users can change this setting at the account level.
	//
	AllowMarkup Bool `json:"allowMarkup,omitempty"`
	// When **true,** the recipient can redirect an envelope to a more appropriate recipient.
	AllowReassign Bool `json:"allowReassign,omitempty"`
	// When **true,** this enables the Recursive Recipients feature and allows a recipient to appear more than once in the routing order.
	AllowRecipientRecursion Bool `json:"allowRecipientRecursion,omitempty"`
	// When **true,** users can view the history of the envelope.
	AllowViewHistory Bool `json:"allowViewHistory,omitempty"`
	// Deprecated. This feature has been replaced by signing groups.
	AnySigner string `json:"anySigner,omitempty"`
	// When **true,** the envelope is queued for
	// processing and the value of the `status` property
	// is set to `Processing`. Additionally, GET status
	// calls return `Processing` until completed.
	//
	//
	// **Note:** A `transactionId` is required for this
	// call to work correctly. When the envelope is
	// created, the status is `Processing` and an
	// `envelopeId` is not returned in the response. To
	// get the `envelopeId`, use a GET envelope query by
	// using the
	// [transactionId](/docs/esign-rest-api/reference/envelopes/envelopes/create/) or by checking the
	// Connect notification.
	Asynchronous Bool `json:"asynchronous,omitempty"`
	// An array of attachment objects containing details about any envelope attachments.
	Attachments []Attachment `json:"attachments,omitempty"`
	// The URI for retrieving the envelope attachments.
	AttachmentsURI string `json:"attachmentsUri,omitempty"`
	// When **true,** marks all of the documents in the envelope as authoritative copies.
	//
	// **Note:** You can override this value for a specific document. For example, you can set the `authoritativeCopy` property to **true** at the envelope level, but turn it off for a single document by setting the `authoritativeCopy` property for the document to **false.**
	AuthoritativeCopy Bool `json:"authoritativeCopy,omitempty"`
	// The default `authoritativeCopy` setting for documents in this envelope that do not have `authoritativeCopy` set.
	// If this property is not set, each document defaults to the envelope's `authoritativeCopy`.
	AuthoritativeCopyDefault string `json:"authoritativeCopyDefault,omitempty"`
	// When **true,** autonavigation is set for the recipient.
	//
	AutoNavigation Bool `json:"autoNavigation,omitempty"`
	// The ID of the brand, or text and formatting, to use for the envelope. To use brands, account branding must be enabled for the account.
	//
	// **Note:** When creating an envelope using a branded template, include this value to ensure that the brand is applied.
	BrandID string `json:"brandId,omitempty"`
	// When **true,** the `brandId` for the envelope is locked and senders cannot change the brand used for the envelope.
	BrandLock Bool `json:"brandLock,omitempty"`
	// The URI for retrieving certificate information.
	CertificateURI string `json:"certificateUri,omitempty"`
	// The date and time that the envelope was completed.
	CompletedDateTime *time.Time `json:"completedDateTime,omitempty"`
	// A complex type that can be added to create envelopes from a combination of DocuSign templates and PDF forms. The basic envelope remains the same, while the Composite Template adds new document and template overlays into the envelope. There can be any number of Composite Template structures in the envelope.
	CompositeTemplates []CompositeTemplate `json:"compositeTemplates,omitempty"`
	// This value is only applicable when copying an existing envelope. Provide the ID of the envelope to clone in `envelopeId`.
	//
	// When **true,** the recipient field values of the existing envelope are included. Only values from data entry fields, like checkboxes and radio buttons, will be copied. Fields that require an action, like signatures and initials, will not be included.
	CopyRecipientData string `json:"copyRecipientData,omitempty"`
	// The date and time that the envelope was created.
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// An optional array of strings that enables the sender to provide
	// custom data about the recipient. This information is returned in
	// the envelope status but otherwise not used by DocuSign. Each
	// `customField` string can be a maximum of 100 characters.
	//
	//
	// **Note:** Any custom fields you set with this API method
	// will _replace_ custom fields you have defined with
	// [Envelope Custom Fields in Admin](https://support.docusign.com/en/guides/ndse-admin-guide-document-labels),
	// whether the
	// **Show field to envelope creators**
	// or
	// **Make fields required for envelopes**
	// options are checked or not.
	//
	CustomFields *CustomFields `json:"customFields,omitempty"`
	// The URI for retrieving custom fields.
	CustomFieldsURI string `json:"customFieldsUri,omitempty"`
	// The date and time that the recipient declined the envelope.
	DeclinedDateTime *time.Time `json:"declinedDateTime,omitempty"`
	// The date and time that the envelope was deleted.
	DeletedDateTime *time.Time `json:"deletedDateTime,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime *time.Time `json:"deliveredDateTime,omitempty"`
	// When **true,** the responsive document feature is turned off for the envelope.
	DisableResponsiveDocument Bool `json:"disableResponsiveDocument,omitempty"`
	// The document's bytes. This field can be used to include a base64 version of the document bytes within an envelope definition instead of sending the document using a multi-part HTTP request. The maximum document size is smaller if this field is used due to the overhead of the base64 encoding.
	DocumentBase64 string `json:"documentBase64,omitempty"`
	// A complex element that contains details about the documents associated with the envelope.
	Documents []Document `json:"documents,omitempty"`
	// The URI for retrieving all of the documents associated with the envelope as a single PDF file.
	DocumentsCombinedURI string `json:"documentsCombinedUri,omitempty"`
	// The URI for retrieving all of the documents associated with the envelope as separate files.
	DocumentsURI string `json:"documentsUri,omitempty"`
	// This optional element holds the body of the email message that is sent to all envelope recipients.
	//
	// Maximum Length: 10000 characters.
	EmailBlurb string `json:"emailBlurb,omitempty"`
	// This optional complex element enables the sender to override some envelope email setting information. This can be used to override the Reply To email address and name associated with the envelope, as well as the BCC email addresses to which an envelope is sent. When the `emailSettings` information is used for an envelope, it only applies to that envelope.
	//
	// **Important Note:** The `emailSettings` information is not returned in the GET method for envelope status. Use GET /email_settings to return information about the emailSettings.
	EmailSettings *EmailSettings `json:"emailSettings,omitempty"`
	// The subject line of the email message that is sent to all recipients.
	//
	// For information about adding merge field information to the email subject, see [Template Email Subject Merge Fields](/docs/esign-rest-api/reference/templates/templates/create/#template-email-subject-merge-fields).
	//
	// **Note:** The subject line is limited to 100 characters, including any merged fields.It is not truncated. It is an error if the text is longer than 100 characters.
	//
	EmailSubject string `json:"emailSubject,omitempty"`
	// When **true,** the signer is allowed to print the document and sign it on paper.
	EnableWetSign Bool `json:"enableWetSign,omitempty"`
	// When **true,** signers can only view the documents on which they have tabs. Recipients that have an administrative role (Agent, Editor, or Intermediaries) or informational role (Certified Deliveries or Carbon Copies) can always see all of the documents in an envelope, unless they are specifically excluded by using this setting when an envelope is sent. Documents that do not have tabs are always visible to all recipients, unless they are specifically excluded by using this setting when an envelope is sent.
	//
	// **Note:** To use this functionality, [Document Visibility][docviz] must be enabled for the account by making the account setting `allowDocumentVisibility` **true.**
	//
	// [docviz]: /docs/esign-rest-api/reference/envelopes/envelopedocumentvisibility/
	EnforceSignerVisibility Bool `json:"enforceSignerVisibility,omitempty"`
	// An array of attachment objects that provide information about the attachments that are associated with the envelope.
	EnvelopeAttachments []Attachment `json:"envelopeAttachments,omitempty"`
	//
	EnvelopeCustomMetadata *EnvelopeCustomMetadata `json:"envelopeCustomMetadata,omitempty"`
	// An array containing information about the documents that are included in the envelope.
	EnvelopeDocuments []EnvelopeDocument `json:"envelopeDocuments,omitempty"`
	// The envelope ID.
	//
	// When used as a request body in [Envelopes: create](/docs/esign-rest-api/reference/envelopes/envelopes/create/), this is the ID of the envelope to clone.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// When **true,** [Envelope ID Stamping](https://support.docusign.com/en/guides/ndse-user-guide-set-advanced-document-options) is enabled.
	// After a document or attachment is stamped with an Envelope ID,
	// the ID is seen by all recipients
	// and becomes a permanent part of the document
	// and cannot be removed.
	EnvelopeIDStamping Bool `json:"envelopeIdStamping,omitempty"`
	// Reserved for DocuSign.
	EnvelopeLocation string `json:"envelopeLocation,omitempty"`
	// Metadata about the features that are enabled for the envelope.
	EnvelopeMetadata *EnvelopeMetadata `json:"envelopeMetadata,omitempty"`
	// The URI for retrieving the envelope or envelopes.
	EnvelopeURI string `json:"envelopeUri,omitempty"`
	// This optional object is used to register a webhook that will receive status changes for this envelope.
	EventNotification *EventNotification `json:"eventNotification,omitempty"`
	// Not used. Use the
	// [`expirations`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification_expirations)
	// property in the [`notification`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification) object instead.
	ExpireAfter string `json:"expireAfter,omitempty"`
	// Not used. Use the
	// [`expirations`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification_expirations)
	// property in the [`notification`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification) object instead.
	ExpireDateTime string `json:"expireDateTime,omitempty"`
	// Not used. Use the
	// [`expirations`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification_expirations)
	// property in the [`notification`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification) object instead.
	ExpireEnabled string `json:"expireEnabled,omitempty"`
	// May contain an external identifier for the envelope.
	ExternalEnvelopeID string `json:"externalEnvelopeId,omitempty"`
	// An array of folders that the envelope belongs to.
	Folders []Folder `json:"folders,omitempty"`
	// When **true,** indicates that users have added comments to the envelope.
	HasComments Bool `json:"hasComments,omitempty"`
	// When **true,** indicates that the form data associated with the envelope has changed since it was sent. When **false,** this property does not appear in the response.
	HasFormDataChanged Bool `json:"hasFormDataChanged,omitempty"`
	// When **true,** indicates that a wave file (voice recording) is part of the envelope.
	HasWavFile Bool `json:"hasWavFile,omitempty"`
	// Reserved for DocuSign.
	Holder string `json:"holder,omitempty"`
	// The date and time that the envelope was first sent.
	InitialSentDateTime *time.Time `json:"initialSentDateTime,omitempty"`
	// When **true,** indicates compliance with United States Food and Drug Administration (FDA) regulations on electronic records and electronic signatures (ERES).
	Is21CFRPart11 Bool `json:"is21CFRPart11,omitempty"`
	// When **true,** indicates that the envelope is a dynamic envelope.
	IsDynamicEnvelope Bool `json:"isDynamicEnvelope,omitempty"`
	// When **true,** indicates that the envelope is a signature-provided envelope.
	IsSignatureProviderEnvelope Bool `json:"isSignatureProviderEnvelope,omitempty"`
	// The date and time that the item was last modified.
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
	// Reserved for DocuSign.
	Location string `json:"location,omitempty"`
	// Provides lock information about an envelope that a user has locked.
	LockInformation *LockInformation `json:"lockInformation,omitempty"`
	// When **true,** prevents senders from changing the contents of `emailBlurb` and `emailSubject` properties for the envelope.
	//
	// Additionally, this prevents users from making changes to the contents of `emailBlurb` and `emailSubject` properties when correcting envelopes.
	//
	// However, if the `messageLock` node is set to **true** and the `emailSubject` property is empty, senders and correctors are able to add a subject to the envelope.
	MessageLock Bool `json:"messageLock,omitempty"`
	// An optional complex element that specifies the notification options for the envelope.
	Notification *Notification `json:"notification,omitempty"`
	// The URI for retrieving notifications.
	NotificationURI string `json:"notificationUri,omitempty"`
	// The user's encrypted password hash.
	Password string `json:"password,omitempty"`
	// Information about any PowerForms that are included in the envelope.
	PowerForm *PowerForm `json:"powerForm,omitempty"`
	// The date that a purge was completed.
	PurgeCompletedDate string `json:"purgeCompletedDate,omitempty"`
	// The date that a purge was requested.
	PurgeRequestDate string `json:"purgeRequestDate,omitempty"`
	// Initiates a purge request. Valid values are:
	//
	// - `documents_queued`: Places envelope documents in the purge queue.
	// - `documents_and_metadata_queued`: Places envelope documents
	//    and metadata in the purge queue.
	// - `documents_and_metadata_and_redact_queued`: Places envelope documents
	//    and metadata in the purge queue and redacts personal information.
	//
	// **Related topics**
	//
	// - [Purging documents (eSingature Concepts)](/docs/esign-rest-api/esign101/concepts/documents/purging/)
	// - [Purging documents in an envelope (blog post)](https://www.docusign.com/blog/developers/purging-documents-envelope)
	//
	PurgeState string `json:"purgeState,omitempty"`
	//
	RecipientViewRequest *RecipientViewRequest `json:"recipientViewRequest,omitempty"`
	// Specifies the envelope recipients.
	Recipients *Recipients `json:"recipients,omitempty"`
	// When **true,** prevents senders from changing, correcting, or deleting the recipient information for the envelope.
	RecipientsLock Bool `json:"recipientsLock,omitempty"`
	// Contains a URI for an endpoint that you can use to retrieve the recipients.
	RecipientsURI string `json:"recipientsUri,omitempty"`
	// Information about the sender of the envelope.
	Sender *UserInfo `json:"sender,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime *time.Time `json:"sentDateTime,omitempty"`
	// When **true,** recipients can sign on a mobile device.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SignerCanSignOnMobile Bool `json:"signerCanSignOnMobile,omitempty"`
	// Specifies the physical location where the signing takes place. It can have two enumeration values; `inPerson` and `online`. The default value is `online`.
	SigningLocation string `json:"signingLocation,omitempty"`
	// Indicates the envelope status. Valid values when creating an envelope are:
	//
	// * `created`: The envelope is created as a draft. It can be modified and sent later.
	// * `sent`: The envelope will be sent to the recipients after the envelope is created.
	//
	// You can query these additional statuses once the recipients have interacted with the envelope.
	//
	// * `completed`: The recipients have finished working with the envelope: the documents are signed and all required tabs are filled in.
	// * `declined`: The envelope has been declined by the recipients.
	// * `delivered`: The envelope has been delivered to the recipients.
	// * `signed`: The envelope has been signed by the recipients.
	// * `voided`: The envelope is no longer valid and recipients cannot access or sign the envelope.
	//
	Status string `json:"status,omitempty"`
	// The data and time that the status changed.
	StatusChangedDateTime *time.Time `json:"statusChangedDateTime,omitempty"`
	// The DateTime that the envelope changed status (i.e. was created or sent.)
	StatusDateTime string `json:"statusDateTime,omitempty"`
	// The ID of the template. If a value is not provided, DocuSign generates a value.
	TemplateID string `json:"templateId,omitempty"`
	// This object specifies the template recipients. Each `roleName` in the template must have a recipient assigned to it. This object is comprised of the following elements:
	//
	// * `email`: The recipient's email address.
	// * `name`: The recipient's name.
	// * `roleName`: The template roleName associated with the recipient.
	// * `clientUserId`: An optional property that specifies whether the recipient is embedded or remote. If the `clientUserId` is not null, then the recipient is embedded. Note that if a `clientUserId` is used and the account settings `signerMustHaveAccount` or `signerMustLoginToSign` are **true,** an error is generated on sending.
	// * `defaultRecipient`: Optional, When **true,** this recipient is the default recipient and any tabs generated by the `transformPdfFields` option are mapped to this recipient.
	// * `routingOrder`: This specifies the routing order of the recipient in the envelope.
	// * `accessCode`: This optional element specifies the access code a recipient has to enter to validate the identity. Maximum Length: 50 characters.
	// * `inPersonSignerName`: Optional. If the template role is an in-person signer, this is the full legal name of the signer. Maximum Length: 100 characters.
	// * `emailNotification`: This is an optional complex element that has a role-specific `emailSubject`, `emailBody`, and `language`. It follows the same format as the `emailNotification` property for recipients.
	// * `tabs`: This property enables the tab values to be specified for matching to tabs in the template.
	//
	TemplateRoles []TemplateRole `json:"templateRoles,omitempty"`
	// The URI for retrieving any templates associated with the envelope.
	TemplatesURI string `json:"templatesUri,omitempty"`
	//  Used to identify an envelope. The ID is a sender-generated value and is valid in the DocuSign system for 7 days. DocuSign recommends that you use a transaction ID for offline signing to ensure that an envelope is not sent multiple times. You can use the `transactionId` property to determine an envelope's status (i.e. was it created or not) in cases where the Internet connection was lost before the envelope status was returned.
	TransactionID string `json:"transactionId,omitempty"`
	// When **true,** the disclosure is shown to recipients in accordance with the account's Electronic Record and Signature Disclosure frequency setting. When **false,** the Electronic Record and Signature Disclosure is not shown to any envelope recipients.
	//
	// If the `useDisclosure` property is not set, then the account's normal disclosure setting is used and the value of the `useDisclosure` property is not returned in responses when getting envelope information.
	UseDisclosure Bool `json:"useDisclosure,omitempty"`
	// The date and time the envelope or template was voided.
	VoidedDateTime *time.Time `json:"voidedDateTime,omitempty"`
	// The reason the envelope or template was voided.
	//
	// **Note:** The string is truncated to the first 200 characters.
	//
	VoidedReason string `json:"voidedReason,omitempty"`
	// Describes the workflow for this envelope.
	Workflow *Workflow `json:"workflow,omitempty"`
}

EnvelopeDefinition envelope object definition.

type EnvelopeDelayRule added in v0.10.0

type EnvelopeDelayRule struct {
	// A string timespan representing the duration of the sending delay. The timespan is in the format `d.hh:mm:ss` where `d` is the number of days, `hh` is the number of hours (measured on a 24-hour clock), `mm` is minutes, and `ss` is seconds. The maximum delay is 30 days.
	Delay string `json:"delay,omitempty"`
	// An ISO 8601 formatted datetime string indicating the date and time that the envelope will be sent. The specified datetime must occur in the future. It must not exceed 30 days from the time that the request is made.
	ResumeDate string `json:"resumeDate,omitempty"`
}

EnvelopeDelayRule is a user-specified object that describes the envelope delay.

To indicate a relative delay, use `delay`. To indicate the exact datetime the envelope should be sent, use `resumeDate`. Only one of the two properties can be used.

type EnvelopeDocument

type EnvelopeDocument struct {
	// If recipients were added by converting form fields into tabs, their IDs appear here. This property is read-only.
	AddedRecipientIds []string `json:"addedRecipientIds,omitempty"`
	// If this document is an attachment to another document in the envelope, this is the ID of the attachment tab it is associated with on the other document.
	AttachmentTabID string `json:"attachmentTabId,omitempty"`
	// When **true,** marks all of the documents in the envelope as authoritative copies.
	//
	// **Note:** You can override this value for a specific document. For example, you can set the `authoritativeCopy` property to **true** at the envelope level, but turn it off for a single document by setting the `authoritativeCopy` property for the document to **false.**
	AuthoritativeCopy Bool `json:"authoritativeCopy,omitempty"`
	// Metadata that indicates if the sender can edit the `authoritativeCopy` property. Not applicable for template documents.
	AuthoritativeCopyMetadata *PropertyMetadata `json:"authoritativeCopyMetadata,omitempty"`
	//
	AvailableDocumentTypes []SignatureType `json:"availableDocumentTypes,omitempty"`
	// When **true,** the document has editable form fields that are made available through a PDF format.
	ContainsPdfFormFields Bool `json:"containsPdfFormFields,omitempty"`
	// This string sets the display and behavior properties of
	// the document during signing. Valid values:
	//
	// * `modal`<br>
	//   The document is shown as a supplement action strip
	//   and can be viewed, downloaded, or printed in a modal window.
	//   This is the recommended value for supplemental documents.
	//
	// * `inline`<br>
	//   The document is shown in the normal signing window.
	//   This value is not used with supplemental documents,
	//   but is the default value for all other documents.
	//
	Display string `json:"display,omitempty"`
	// Metadata that indicates if the sender can edit the `display` property. Not applicable for template documents.
	DisplayMetadata *PropertyMetadata `json:"displayMetadata,omitempty"`
	// The document's bytes. This field can be used to include a base64 version of the document bytes within an envelope definition instead of sending the document using a multi-part HTTP request. The maximum document size is smaller if this field is used due to the overhead of the base64 encoding.
	DocumentBase64 string `json:"documentBase64,omitempty"`
	// An object containing information about the custom fields on the document.
	DocumentFields []NameValue `json:"documentFields,omitempty"`
	// The ID of the document that the tab is placed on. This value must refer to the ID of an existing document.
	DocumentID string `json:"documentId,omitempty"`
	// The GUID of the document.
	DocumentIDGUID string `json:"documentIdGuid,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// When **true,**
	// the document is included in the combined document download (`documentsCombinedUri`).
	// The default value is **true.**
	//
	IncludeInDownload Bool `json:"includeInDownload,omitempty"`
	// Metadata that indicates if the sender can edit the `includeInDownload` property. Not applicable for template documents.
	IncludeInDownloadMetadata *PropertyMetadata `json:"includeInDownloadMetadata,omitempty"`
	// The document's file name.
	//
	// Example: `Q1-Report.docx`
	Name string `json:"name,omitempty"`
	// Metadata that indicates if the sender can edit the `name` property. Not applicable for template documents.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// The order in which to sort the results.
	//
	// Valid values are:
	//
	//
	// * `asc`: Ascending order.
	// * `desc`: Descending order.
	Order string `json:"order,omitempty"`
	// An array of page objects that contain information about the pages in the document.
	Pages []Page `json:"pages,omitempty"`
	// Sets how the signer interacts with the supplemental document.
	// Valid values:
	//
	// *	`no_interaction`<br>
	//   No recipient action is required.
	//
	// *	`view`<br>
	//   The recipient is required to view the document.
	//
	// *	`accept`<br>
	//   The recipient is required to accept the document by selecting accept during signing, but is not required to view the document.
	//
	// *	`view_accept`<br>
	//   The recipient is required to view and accept the document.
	//
	//
	SignerMustAcknowledge string `json:"signerMustAcknowledge,omitempty"`
	// Metadata that indicates if the sender can edit the `signerMustAcknowledge` property. Not applicable for template documents.
	SignerMustAcknowledgeMetadata *PropertyMetadata `json:"signerMustAcknowledgeMetadata,omitempty"`
	//
	SizeBytes string `json:"sizeBytes,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// The type of this tab. Values are:
	//
	// - Approve
	// - CheckBox
	// - Company
	// - Date
	// - DateSigned,	Decline
	// - Email,	EmailAddress
	// - EnvelopeId
	// - FirstName
	// - Formula
	// - FullName,	InitialHere
	// - InitialHereOptional
	// - LastName
	// - List
	// - Note
	// - Number
	// - Radio
	// - SignerAttachment
	// - SignHere
	// - SignHereOptional
	// - Ssn
	// - Text
	// - Title
	// - Zip5
	// - Zip5Dash4
	//
	Type string `json:"type,omitempty"`
	// The URI for retrieving the document.
	URI string `json:"uri,omitempty"`
}

EnvelopeDocument this object contains details about the envelope document.

type EnvelopeDocumentsResult

type EnvelopeDocumentsResult struct {
	// An array containing information about the documents that are included in the envelope.
	EnvelopeDocuments []EnvelopeDocument `json:"envelopeDocuments,omitempty"`
	// The envelope ID.
	EnvelopeID string `json:"envelopeId,omitempty"`
}

EnvelopeDocumentsResult not described in definition file

type EnvelopeEvent

type EnvelopeEvent struct {
	// An envelope status for which your webhook should be called. Values: Draft, Sent, Delivered, Completed, Declined, or Voided.
	EnvelopeEventStatusCode string `json:"envelopeEventStatusCode,omitempty"`
	// When **true,**
	// the Connect webhook messages
	// will include the envelope's PDF documents.
	// Including the PDF documents
	// greatly increases the size of the notification messages.
	// Ensure that your listener can handle
	// incoming messages that are 25MB or larger.
	IncludeDocuments Bool `json:"includeDocuments,omitempty"`
}

EnvelopeEvent for which envelope events should your webhook be called?

type EnvelopeFormData

type EnvelopeFormData struct {
	// The subject line of the email message that is sent to all recipients.
	//
	// For information about adding merge field information to the email subject, see [Template Email Subject Merge Fields](/docs/esign-rest-api/reference/templates/templates/create/#template-email-subject-merge-fields).
	//
	// **Note:** The subject line is limited to 100 characters, including any merged fields.It is not truncated. It is an error if the text is longer than 100 characters.
	//
	EmailSubject string `json:"emailSubject,omitempty"`
	// The ID of the envelope.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// An array of form data objects.
	FormData []FormDataItem `json:"formData,omitempty"`
	// An array of `formDataItem` objects for [prefill tabs](/docs/esign-rest-api/reference/envelopes/envelopedocumenttabs/create/#definition__tabs_prefilltabs).
	PrefillFormData *PrefillFormData `json:"prefillFormData,omitempty"`
	// An array of form data objects that are associated with specific recipients.
	RecipientFormData []RecipientFormData `json:"recipientFormData,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime *time.Time `json:"sentDateTime,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * `completed`: The recipients have finished working with the envelope: the documents are signed and all required tabs are filled in.
	// * `created`: The envelope is created as a draft. It can be modified and sent later.
	// * `declined`: The envelope has been declined by the recipients.
	// * `delivered`: The envelope has been delivered to the recipients.
	// * `sent`: The envelope will be sent to the recipients after the envelope is created.
	// * `signed`: The envelope has been signed by the recipients.
	// * `voided`: The envelope is no longer valid and recipients cannot access or sign the envelope.
	//
	Status string `json:"status,omitempty"`
}

EnvelopeFormData this object contains the data that recipients have entered into the form fields associated with an envelope.

type EnvelopeID

type EnvelopeID struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

EnvelopeID is a tab that displays the envelope ID.

**Note:** The eSignature API uses the name `envelopeId` two ways:

  • As a _property_ of type `string` used to identify an envelope by its GUID.
  • As an _object_ used to represent an envelope tab that displays the envelope's GUID.

type EnvelopeIdsRequest

type EnvelopeIdsRequest struct {
	// A comma-separated list of envelope IDs to include in the results.
	EnvelopeIds []string `json:"envelopeIds,omitempty"`
	// A comma-separated list of transaction IDs to include in the results. Note that transaction IDs are valid for seven days.
	TransactionIds []string `json:"transactionIds,omitempty"`
}

EnvelopeIdsRequest lists of envelope and transaction IDs to use in the results.

If you use this request body with Envelopes: listStatus, you must set one or both of the following query parameters to the special value `request_body`:

- `envelope_ids=request_body` - `transaction_ids=request_body`

type EnvelopeMetadata

type EnvelopeMetadata struct {
	// Specifies if the Advanced Correct feature is enabled for the envelope. This feature enables you to correct the details of in process envelopes that you sent or are shared with you. It offers more functionality than the Correct feature.
	AllowAdvancedCorrect string `json:"allowAdvancedCorrect,omitempty"`
	// Specifies if the Correct feature is enabled for the envelope. This feature enables you to correct the details of in process envelopes that you sent or are shared with you, including the recipient, envelope, and document information.
	AllowCorrect string `json:"allowCorrect,omitempty"`
	// Specifies if DocuSign eNotary service is enabled for the envelope.
	EnableSignWithNotary string `json:"enableSignWithNotary,omitempty"`
}

EnvelopeMetadata not described in definition file

type EnvelopeNotificationRequest

type EnvelopeNotificationRequest struct {
	// A complex element that specifies the expiration settings for the envelope.
	Expirations *Expirations `json:"expirations,omitempty"`
	// A complex element that specifies reminder settings for the envelope.
	Reminders *Reminders `json:"reminders,omitempty"`
	// When **true,** the account default notification settings are used for the envelope, overriding the reminders and expirations settings. When **false,** the reminders and expirations settings specified in this request are used. The default value is **false.**
	UseAccountDefaults Bool `json:"useAccountDefaults,omitempty"`
}

EnvelopeNotificationRequest is a complex element that specifies the notification settings for the envelope.

type EnvelopePublishTransaction added in v0.10.0

type EnvelopePublishTransaction struct {
	//
	ApplyConnectSettings string `json:"applyConnectSettings,omitempty"`
	//
	EnvelopeCount string `json:"envelopeCount,omitempty"`
	//
	EnvelopeLevelErrorRollups []EnvelopePublishTransactionErrorRollup `json:"envelopeLevelErrorRollups,omitempty"`
	// The ID of the publish transaction.
	EnvelopePublishTransactionID string `json:"envelopePublishTransactionId,omitempty"`
	//
	ErrorCount string `json:"errorCount,omitempty"`
	//
	FileLevelErrors []string `json:"fileLevelErrors,omitempty"`
	//
	NoActionRequiredEnvelopeCount string `json:"noActionRequiredEnvelopeCount,omitempty"`
	//
	ProcessedEnvelopeCount string `json:"processedEnvelopeCount,omitempty"`
	// The status of the transaction. Valid values:
	//
	// * `unprocessed`
	// * `processing`
	// * `complete`
	// * `fatal_error`
	//
	ProcessingStatus string `json:"processingStatus,omitempty"`
	//
	ResultsURI string `json:"resultsUri,omitempty"`
	//
	SubmissionDate string `json:"submissionDate,omitempty"`
	//
	SubmittedByUserInfo *UserInfo `json:"submittedByUserInfo,omitempty"`
	//
	SubmittedForPublishingEnvelopeCount string `json:"submittedForPublishingEnvelopeCount,omitempty"`
}

EnvelopePublishTransaction not described in definition file

type EnvelopePublishTransactionErrorRollup added in v0.10.0

type EnvelopePublishTransactionErrorRollup struct {
	// The maximum number of results to return.
	Count string `json:"count,omitempty"`
	//
	ErrorType string `json:"errorType,omitempty"`
}

EnvelopePublishTransactionErrorRollup not described in definition file

type EnvelopePurgeConfiguration

type EnvelopePurgeConfiguration struct {
	// When **true,** purging is enabled.
	PurgeEnvelopes Bool `json:"purgeEnvelopes,omitempty"`
	// When **true,** the system also redacts personally identifiable information (PII).
	//
	// **Note:** To redact PII, you must also set the property `removeTabsAndEnvelopeAttachments` to **true.**
	RedactPII Bool `json:"redactPII,omitempty"`
	// When **true,** the system also purges the tabs and attachments associated with the envelopes.
	RemoveTabsAndEnvelopeAttachments Bool `json:"removeTabsAndEnvelopeAttachments,omitempty"`
	// The number of days to retain envelope documents before purging them. This value must be a number between `0` and `999`.
	RetentionDays string `json:"retentionDays,omitempty"`
}

EnvelopePurgeConfiguration contains information about the current envelope purge configuration for an account, which enables account administrators to purge documents from completed and voided envelopes after a set number of days (`retentionDays`).

type EnvelopeSummary

type EnvelopeSummary struct {
	// An object that describes the status of the bulk send envelopes.
	BulkEnvelopeStatus *BulkEnvelopeStatus `json:"bulkEnvelopeStatus,omitempty"`
	// The envelope ID of the envelope status that failed to post.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	//
	RecipientSigningURI string `json:"recipientSigningUri,omitempty"`
	//
	RecipientSigningURIError string `json:"recipientSigningUriError,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * `completed`: The recipients have finished working with the envelope: the documents are signed and all required tabs are filled in.
	// * `created`: The envelope is created as a draft. It can be modified and sent later.
	// * `declined`: The envelope has been declined by the recipients.
	// * `delivered`: The envelope has been delivered to the recipients.
	// * `sent`: The envelope will be sent to the recipients after the envelope is created.
	// * `signed`: The envelope has been signed by the recipients.
	// * `voided`: The envelope is no longer valid and recipients cannot access or sign the envelope.
	//
	Status string `json:"status,omitempty"`
	// The DateTime that the envelope changed status (i.e. was created or sent.)
	StatusDateTime *time.Time `json:"statusDateTime,omitempty"`
	// A URI containing the user ID.
	URI string `json:"uri,omitempty"`
}

EnvelopeSummary This object describes an envelope.

type EnvelopeTemplate

type EnvelopeTemplate struct {
	// Reserved for DocuSign.
	AccessControlListBase64 string `json:"accessControlListBase64,omitempty"`
	// When **true,** indicates that comments are allowed on the envelope.
	AllowComments Bool `json:"allowComments,omitempty"`
	// When **true,** the Document Markup feature is enabled.
	//
	// **Note:**  To use this feature, Document Markup must be enabled at both the account and envelope levels. Only Admin users can change this setting at the account level.
	//
	AllowMarkup Bool `json:"allowMarkup,omitempty"`
	// When **true,** the recipient can redirect an envelope to a more appropriate recipient.
	AllowReassign Bool `json:"allowReassign,omitempty"`
	// When **true,** recipients can view the history of the envelope.
	AllowViewHistory Bool `json:"allowViewHistory,omitempty"`
	// Deprecated. This feature has been replaced by signing groups.
	AnySigner string `json:"anySigner,omitempty"`
	// When **true,** the envelope is queued for
	// processing and the value of the `status` property
	// is set to `Processing`. Additionally, GET status
	// calls return `Processing` until completed.
	//
	//
	// **Note:** A `transactionId` is required for this
	// call to work correctly. When the envelope is
	// created, the status is `Processing` and an
	// `envelopeId` is not returned in the response. To
	// get the `envelopeId`, use a GET envelope query by
	// using the
	// [transactionId](/docs/esign-rest-api/reference/envelopes/envelopes/create/) or by checking the
	// Connect notification.
	Asynchronous Bool `json:"asynchronous,omitempty"`
	// Contains a URL for retrieving the attachments that are associated with the envelope.
	AttachmentsURI string `json:"attachmentsUri,omitempty"`
	// When **true,** marks all of the documents in the envelope as authoritative copies.
	//
	// **Note:** You can override this value for a specific document. For example, you can set the `authoritativeCopy` property to **true** at the envelope level, but turn it off for a single document by setting the `authoritativeCopy` property for the document to **false.**
	AuthoritativeCopy Bool `json:"authoritativeCopy,omitempty"`
	// The default `authoritativeCopy` setting for documents in this envelope that do not have `authoritativeCopy` set.
	// If this property is not set, each document defaults to the envelope's `authoritativeCopy`.
	AuthoritativeCopyDefault string `json:"authoritativeCopyDefault,omitempty"`
	// By default, templates that have been used within
	// the last 60 days are included in auto-matching.
	//
	// By explicitly setting `autoMatch`,
	// you can permanently include or exclude the template
	// in auto matching.
	//
	// When **true** the template is included in auto-matching
	// regardless of when it was last used.
	//
	// When **false** the template is never included in auto-matching.
	AutoMatch string `json:"autoMatch,omitempty"`
	// When **true,** the template has been explicitly included in or excluded from auto-matching. The default is false.
	// This is a read-only property.
	AutoMatchSpecifiedByUser Bool `json:"autoMatchSpecifiedByUser,omitempty"`
	// When **true,** autonavigation is set for the recipient.
	//
	AutoNavigation Bool `json:"autoNavigation,omitempty"`
	// The ID of the brand.
	BrandID string `json:"brandId,omitempty"`
	// When **true,** the `brandId` for the envelope is locked and senders cannot change the brand used for the envelope.
	BrandLock Bool `json:"brandLock,omitempty"`
	// The URI for retrieving certificate information.
	CertificateURI string `json:"certificateUri,omitempty"`
	// Specifies the date and time this item was completed.
	CompletedDateTime *time.Time `json:"completedDateTime,omitempty"`
	//
	CopyRecipientData string `json:"copyRecipientData,omitempty"`
	// The UTC DateTime when the workspace user authorization was created.
	Created string `json:"created,omitempty"`
	// The UTC DateTime when the item was created.
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// An optional array of strings that enables the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each `customField` string can be a maximum of 100 characters.
	CustomFields *CustomFields `json:"customFields,omitempty"`
	// The URI for retrieving custom fields.
	CustomFieldsURI string `json:"customFieldsUri,omitempty"`
	// The date and time the recipient declined the document. This property is read-only.
	DeclinedDateTime *time.Time `json:"declinedDateTime,omitempty"`
	// Reserved for DocuSign.
	DeletedDateTime *time.Time `json:"deletedDateTime,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime *time.Time `json:"deliveredDateTime,omitempty"`
	// A sender-defined description of the line item.
	//
	Description string `json:"description,omitempty"`
	// When **true,** responsive documents are disabled for the envelope.
	DisableResponsiveDocument Bool `json:"disableResponsiveDocument,omitempty"`
	// The document's bytes. This field can be used to include a base64 version of the document bytes within an envelope definition instead of sending the document using a multi-part HTTP request. The maximum document size is smaller if this field is used due to the overhead of the base64 encoding.
	DocumentBase64 string `json:"documentBase64,omitempty"`
	// A complex element that contains details about the documents associated with the envelope.
	Documents []Document `json:"documents,omitempty"`
	// The URI for retrieving all of the documents associated with the envelope as a single PDF file.
	DocumentsCombinedURI string `json:"documentsCombinedUri,omitempty"`
	// The URI for retrieving all of the documents associated with the envelope as separate files.
	DocumentsURI string `json:"documentsUri,omitempty"`
	// This is the same as the email body. If the sender enters an email blurb, it is included in the email body for all envelope recipients.
	EmailBlurb string `json:"emailBlurb,omitempty"`
	// A complex type that contains email settings.
	EmailSettings *EmailSettings `json:"emailSettings,omitempty"`
	// The subject line of the email message that is sent to all recipients.
	//
	// For information about adding merge field information to the email subject, see [Template Email Subject Merge Fields](/docs/esign-rest-api/reference/templates/templates/create/#template-email-subject-merge-fields).
	//
	// **Note:** The subject line is limited to 100 characters, including any merged fields.It is not truncated. It is an error if the text is longer than 100 characters.
	//
	EmailSubject string `json:"emailSubject,omitempty"`
	// When **true,** the signer is allowed to print the document and sign it on paper.
	EnableWetSign Bool `json:"enableWetSign,omitempty"`
	// When **true,** signers can only view the documents on which they have tabs. Recipients that have an administrative role (Agent, Editor, or Intermediaries) or informational role (Certified Deliveries or Carbon Copies) can always see all of the documents in an envelope, unless they are specifically excluded by using this setting when an envelope is sent. Documents that do not have tabs are always visible to all recipients, unless they are specifically excluded by using this setting when an envelope is sent.
	//
	// **Note:** To use this functionality, [Document Visibility][docviz] must be enabled for the account by making the account setting `allowDocumentVisibility` **true.**
	//
	// [docviz]: /docs/esign-rest-api/reference/envelopes/envelopedocumentvisibility/
	EnforceSignerVisibility Bool `json:"enforceSignerVisibility,omitempty"`
	// An array of attachment objects that provide information about the attachments that are associated with the envelope.
	EnvelopeAttachments []Attachment `json:"envelopeAttachments,omitempty"`
	//
	EnvelopeCustomMetadata *EnvelopeCustomMetadata `json:"envelopeCustomMetadata,omitempty"`
	// An array containing information about the documents that are included in the envelope.
	EnvelopeDocuments []EnvelopeDocument `json:"envelopeDocuments,omitempty"`
	// The envelope ID of the envelope status that failed to post.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// When **true,** [Envelope ID Stamping](https://support.docusign.com/en/guides/ndse-user-guide-set-advanced-document-options) is enabled.
	// After a document or attachment is stamped with an Envelope ID,
	// the ID is seen by all recipients
	// and becomes a permanent part of the document
	// and cannot be removed.
	EnvelopeIDStamping Bool `json:"envelopeIdStamping,omitempty"`
	// Reserved for DocuSign.
	EnvelopeLocation string `json:"envelopeLocation,omitempty"`
	// Provides information about the features and services that are enabled for the envelope, including the Correct feature, the Advanced Correct feature, and DocuSign eNotary service.
	EnvelopeMetadata *EnvelopeMetadata `json:"envelopeMetadata,omitempty"`
	// The URI for retrieving the envelope or envelopes.
	EnvelopeURI string `json:"envelopeUri,omitempty"`
	// Not used. Use the
	// [`expirations`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification_expirations)
	// property in the [`notification`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification) object instead.
	ExpireAfter string `json:"expireAfter,omitempty"`
	// Not used. Use the
	// [`expirations`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification_expirations)
	// property in the [`notification`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification) object instead.
	ExpireDateTime string `json:"expireDateTime,omitempty"`
	// Not used. Use the
	// [`expirations`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification_expirations)
	// property in the [`notification`](/docs/esign-rest-api/reference/envelopes/envelopes/create/#definition__envelopedefinition_notification) object instead.
	ExpireEnabled string `json:"expireEnabled,omitempty"`
	// May contain an external identifier for the envelope.
	ExternalEnvelopeID string `json:"externalEnvelopeId,omitempty"`
	//
	FavoritedByMe string `json:"favoritedByMe,omitempty"`
	// The unique identifier for the folder that the template belongs to.
	FolderID string `json:"folderId,omitempty"`
	// An array of folder IDs that the template is in.
	FolderIds []string `json:"folderIds,omitempty"`
	// The name of the folder the template belongs to.
	FolderName string `json:"folderName,omitempty"`
	// A list of folder objects.
	Folders []Folder `json:"folders,omitempty"`
	// When **true,** indicates that users have added comments to the envelope.
	HasComments Bool `json:"hasComments,omitempty"`
	// Specifies if the `EnvelopeFormData` associated with any forms in the template has changed.
	HasFormDataChanged string `json:"hasFormDataChanged,omitempty"`
	// When **true,** indicates that the template includes a .wav file.
	HasWavFile Bool `json:"hasWavFile,omitempty"`
	// Reserved for DocuSign.
	Holder string `json:"holder,omitempty"`
	// The date and time the envelope that used the template was initially sent.
	InitialSentDateTime *time.Time `json:"initialSentDateTime,omitempty"`
	// When **true,** indicates compliance with United States Food and Drug Administration (FDA) regulations on electronic records and electronic signatures (ERES).
	Is21CFRPart11 Bool `json:"is21CFRPart11,omitempty"`
	// When **true,** indicates that the envelope is a dynamic envelope.
	IsDynamicEnvelope Bool `json:"isDynamicEnvelope,omitempty"`
	// When **true,** indicates that the envelope is a signature-provided envelope.
	IsSignatureProviderEnvelope Bool `json:"isSignatureProviderEnvelope,omitempty"`
	// The UTC date and time that the comment was last updated.
	//
	// **Note:** This can only be done by the creator.
	LastModified string `json:"lastModified,omitempty"`
	// The userId of the user who last modified the template.
	LastModifiedBy *UserInfo `json:"lastModifiedBy,omitempty"`
	// The date and time the template was last modified.
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
	// The date and time the template was last used.
	LastUsed string `json:"lastUsed,omitempty"`
	// Reserved for DocuSign.
	Location string `json:"location,omitempty"`
	// Provides lock information about an envelope that a user has locked.
	LockInformation *LockInformation `json:"lockInformation,omitempty"`
	// When **true,** prevents senders from changing the contents of `emailBlurb` and `emailSubject` properties for the envelope.
	//
	// Additionally, this prevents users from making changes to the contents of `emailBlurb` and `emailSubject` properties when correcting envelopes.
	//
	// However, if the `messageLock` node is set to **true** and the `emailSubject` property is empty, senders and correctors are able to add a subject to the envelope.
	MessageLock Bool `json:"messageLock,omitempty"`
	// The name of the template.
	Name string `json:"name,omitempty"`
	// The user's new password.
	NewPassword string `json:"newPassword,omitempty"`
	// A complex element that specifies the notification options for envelopes that use the template.
	Notification *Notification `json:"notification,omitempty"`
	// The URI for retrieving notifications.
	NotificationURI string `json:"notificationUri,omitempty"`
	// The owner of the template.
	Owner *UserInfo `json:"owner,omitempty"`
	// An integer value specifying the number of document pages in the template.
	PageCount string `json:"pageCount,omitempty"`
	// The password for editing the template.
	Password string `json:"password,omitempty"`
	// When **true,** a password is required to edit the template.
	PasswordProtected Bool `json:"passwordProtected,omitempty"`
	// A PowerForm objects that contain information about any PowerForms that are included in the template.
	PowerForm *PowerForm `json:"powerForm,omitempty"`
	// An array of PowerForm objects that contain information about any PowerForms that are included in the template.
	PowerForms []PowerForm `json:"powerForms,omitempty"`
	// The date that a purge was completed.
	PurgeCompletedDate string `json:"purgeCompletedDate,omitempty"`
	// The date that a purge was requested.
	PurgeRequestDate string `json:"purgeRequestDate,omitempty"`
	// Shows the current purge state for the envelope. Valid values:
	//
	// - `unpurged`: There has been no successful request to purge documents.
	// - `documents_queued`: The envelope documents have been added to the purge queue, but have not been purged.
	// - `documents_dequeued`: The envelope documents have been taken out of the purge queue.
	// - `documents_purged`: The envelope documents have been successfully purged.
	// - `documents_and_metadata_queued`: The envelope documents and metadata have been added to the purge queue, but have not yet been purged.
	// - `documents_and_metadata_purged`: The envelope documents and metadata have been successfully purged.
	// - `documents_and_metadata_and_redact_queued`: The envelope documents and metadata have been added to the purge queue, but have not yet been purged, nor has personal information been redacted.
	// - `documents_and_metadata_and_redact_purged`: The envelope documents and metadata have been successfully purged, and personal information has been redacted.
	//
	// **Related topics**
	//
	// - [Purging documents (eSingature Concepts)](/docs/esign-rest-api/esign101/concepts/documents/purging/)
	// - [Purging documents in an envelope (blog post)](https://www.docusign.com/blog/developers/purging-documents-envelope)
	//
	//
	PurgeState string `json:"purgeState,omitempty"`
	// An array of recipient objects.
	Recipients *Recipients `json:"recipients,omitempty"`
	// When **true,** prevents senders from changing, correcting, or deleting the recipient information for the envelope.
	RecipientsLock Bool `json:"recipientsLock,omitempty"`
	// Contains a URI for an endpoint that you can use to retrieve the recipients.
	RecipientsURI string `json:"recipientsUri,omitempty"`
	// Information about the sender.
	Sender *UserInfo `json:"sender,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime *time.Time `json:"sentDateTime,omitempty"`
	// When **true,** indicates the template is shared with the **Everyone** group,
	// and is shared with all users on the account.
	//
	// When **false,** the template is only shared with the **Administrator** group.
	//
	Shared Bool `json:"shared,omitempty"`
	// When **true,** recipients can sign on a mobile device.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SignerCanSignOnMobile Bool `json:"signerCanSignOnMobile,omitempty"`
	// Specifies the physical location where the signing takes place. It can have two enumeration values; `inPerson` and `online`. The default value is `online`.
	SigningLocation string `json:"signingLocation,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * `completed`: The recipients have finished working with the envelope: the documents are signed and all required tabs are filled in.
	// * `created`: The envelope is created as a draft. It can be modified and sent later.
	// * `declined`: The envelope has been declined by the recipients.
	// * `delivered`: The envelope has been delivered to the recipients.
	// * `sent`: The envelope will be sent to the recipients after the envelope is created.
	// * `signed`: The envelope has been signed by the recipients.
	// * `voided`: The envelope is no longer valid and recipients cannot access or sign the envelope.
	//
	Status string `json:"status,omitempty"`
	// The data and time that the status changed.
	StatusChangedDateTime *time.Time `json:"statusChangedDateTime,omitempty"`
	// The DateTime that the envelope changed status (i.e. was created or sent.)
	StatusDateTime string `json:"statusDateTime,omitempty"`
	// The unique identifier of the template. If this is not provided, DocuSign will generate a value.
	TemplateID string `json:"templateId,omitempty"`
	// The URI for retrieving the templates.
	TemplatesURI string `json:"templatesUri,omitempty"`
	//  Used to identify an envelope. The ID is a sender-generated value and is valid in the DocuSign system for 7 days. It is recommended that a transaction ID is used for offline signing to ensure that an envelope is not sent multiple times. The `transactionId` property can be used determine an envelope's status (i.e. was it created or not) in cases where the internet connection was lost before the envelope status was returned.
	TransactionID string `json:"transactionId,omitempty"`
	// Contains a URI that you can use to retreve the template.
	URI string `json:"uri,omitempty"`
	// When **true,** the disclosure is shown to recipients in accordance with the account's Electronic Record and Signature Disclosure frequency setting. When **false,** the Electronic Record and Signature Disclosure is not shown to any envelope recipients.
	//
	// If the `useDisclosure` property is not set, then the account's normal disclosure setting is used and the value of the `useDisclosure` property is not returned in responses when getting envelope information.
	UseDisclosure Bool `json:"useDisclosure,omitempty"`
	// The date and time the envelope or template was voided.
	VoidedDateTime *time.Time `json:"voidedDateTime,omitempty"`
	// The reason the envelope or template was voided.
	//
	// **Note:** The string is truncated to the first 200 characters.
	//
	VoidedReason string `json:"voidedReason,omitempty"`
	//
	Workflow *Workflow `json:"workflow,omitempty"`
}

EnvelopeTemplate template management

type EnvelopeTemplateResults

type EnvelopeTemplateResults struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The list of requested templates.
	EnvelopeTemplates []EnvelopeTemplate `json:"envelopeTemplates,omitempty"`
	// A list of folder objects.
	Folders []Folder `json:"folders,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

EnvelopeTemplateResults information about templates.

type EnvelopeTransactionStatus

type EnvelopeTransactionStatus struct {
	// The envelope ID of the envelope status that failed to post.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * `completed`: The recipients have finished working with the envelope: the documents are signed and all required tabs are filled in.
	// * `created`: The envelope is created as a draft. It can be modified and sent later.
	// * `declined`: The envelope has been declined by the recipients.
	// * `delivered`: The envelope has been delivered to the recipients.
	// * `sent`: The envelope will be sent to the recipients after the envelope is created.
	// * `signed`: The envelope has been signed by the recipients.
	// * `voided`: The envelope is no longer valid and recipients cannot access or sign the envelope.
	//
	Status string `json:"status,omitempty"`
	//  Used to identify an envelope. The ID is a sender-generated value and is valid in the DocuSign system for 7 days. It is recommended that a transaction ID is used for offline signing to ensure that an envelope is not sent multiple times. The `transactionId` property can be used determine an envelope's status (i.e. was it created or not) in cases where the internet connection was lost before the envelope status was returned.
	TransactionID string `json:"transactionId,omitempty"`
}

EnvelopeTransactionStatus not described in definition file

type EnvelopeTransferRule

type EnvelopeTransferRule struct {
	// When **true,** the original owner is added as a carbon copy recipient after envelope transfer. The default value is **false.**
	CarbonCopyOriginalOwner Bool `json:"carbonCopyOriginalOwner,omitempty"`
	// When **true,** the envelope transfer rule is active.
	Enabled Bool `json:"enabled,omitempty"`
	// The ID of the envelope transfer rule. The system generates this ID when the rule is first created.
	EnvelopeTransferRuleID string `json:"envelopeTransferRuleId,omitempty"`
	// The type of envelope event that triggers the transfer. Valid values are:
	//
	// - `sent`
	// - `before sent`
	// - `completed`
	EventType string `json:"eventType,omitempty"`
	// Information about the group that triggers the transfer.
	FromGroup *Group `json:"fromGroup,omitempty"`
	// Information about the user who triggers the transfer.
	FromUser *UserInformation `json:"fromUser,omitempty"`
	// The UTC DateTime when the envelope transfer rule was last modified. This property is read-only.
	ModifiedDate string `json:"modifiedDate,omitempty"`
	// Information about the user who last modified the envelope transfer rule.
	ModifiedUser *UserInformation `json:"modifiedUser,omitempty"`
	// Information about the destination folder to which the envelope is transferred.
	ToFolder *Folder `json:"toFolder,omitempty"`
	// Information about the user to which the envelope is transferred.
	ToUser *UserInformation `json:"toUser,omitempty"`
}

EnvelopeTransferRule this object contains details about an envelope transfer rule.

type EnvelopeTransferRuleInformation

type EnvelopeTransferRuleInformation struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// Contains information about a specific envelope transfer rule.
	EnvelopeTransferRules []EnvelopeTransferRule `json:"envelopeTransferRules,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

EnvelopeTransferRuleInformation not described in definition file

type EnvelopeTransferRuleRequest

type EnvelopeTransferRuleRequest struct {
	// When **true,** the original owner is added as a carbon copy recipient after envelope transfer. The default value is **false.**
	CarbonCopyOriginalOwner Bool `json:"carbonCopyOriginalOwner,omitempty"`
	// When **true,** the envelope transfer rule is active.
	Enabled Bool `json:"enabled,omitempty"`
	// The ID of the envelope transfer rule. The system generates this ID when the rule is first created.
	EnvelopeTransferRuleID string `json:"envelopeTransferRuleId,omitempty"`
	// The type of envelope event that triggers the transfer. Valid values are:
	//
	// - `sent`
	// - `before sent`
	// - `completed`
	EventType string `json:"eventType,omitempty"`
	// Information about the group that triggers the transfer.
	FromGroups []Group `json:"fromGroups,omitempty"`
	// Information about the user who triggers the transfer.
	FromUsers []UserInformation `json:"fromUsers,omitempty"`
	// The UTC DateTime when the envelope transfer rule was last modified. This property is read-only.
	ModifiedDate string `json:"modifiedDate,omitempty"`
	// Information about the user who last modified the envelope transfer rule.
	ModifiedUser *UserInformation `json:"modifiedUser,omitempty"`
	// Information about the destination folder to which the envelope is transferred.
	ToFolder *Folder `json:"toFolder,omitempty"`
	// Information about the user to which the envelope is transferred.
	ToUser *UserInformation `json:"toUser,omitempty"`
}

EnvelopeTransferRuleRequest this object contains details about the envelope transfer rule that you want to create.

type EnvelopeUpdateSummary

type EnvelopeUpdateSummary struct {
	// An object that describes the status of the bulk send envelopes.
	BulkEnvelopeStatus *BulkEnvelopeStatus `json:"bulkEnvelopeStatus,omitempty"`
	// The envelope ID of the envelope status that failed to post.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	//
	ListCustomFieldUpdateResults []ListCustomField `json:"listCustomFieldUpdateResults,omitempty"`
	// Provides lock information about an envelope that a user has locked.
	LockInformation *LockInformation `json:"lockInformation,omitempty"`
	// Shows the current purge state for the envelope. Valid values:
	//
	// - `unpurged`: There has been no successful request to purge documents.
	// - `documents_queued`: The envelope documents have been added to the purge queue, but have not been purged.
	// - `documents_dequeued`: The envelope documents have been taken out of the purge queue.
	// - `documents_purged`: The envelope documents have been successfully purged.
	// - `documents_and_metadata_queued`: The envelope documents and metadata have been added to the purge queue, but have not yet been purged.
	// - `documents_and_metadata_purged`: The envelope documents and metadata have been successfully purged.
	// - `documents_and_metadata_and_redact_queued`: The envelope documents and metadata have been added to the purge queue, but have not yet been purged, nor has personal information been redacted.
	// - `documents_and_metadata_and_redact_purged`: The envelope documents and metadata have been successfully purged, and personal information has been redacted.
	//
	// **Related topics**
	//
	// - [Purging documents (eSingature Concepts)](/docs/esign-rest-api/esign101/concepts/documents/purging/)
	// - [Purging documents in an envelope (blog post)](https://www.docusign.com/blog/developers/purging-documents-envelope)
	//
	//
	PurgeState string `json:"purgeState,omitempty"`
	// An array of `recipientUpdateResults` objects that contain details about the recipients.
	RecipientUpdateResults []RecipientUpdateResponse `json:"recipientUpdateResults,omitempty"`
	//
	TabUpdateResults *Tabs `json:"tabUpdateResults,omitempty"`
	//
	TextCustomFieldUpdateResults []TextCustomField `json:"textCustomFieldUpdateResults,omitempty"`
}

EnvelopeUpdateSummary not described in definition file

type EnvelopesInformation

type EnvelopesInformation struct {
	// A token returned by an earlier API call that you can use with a new call to resume a search query at the point where it left off.  This token system enhances the performance of the API.
	ContinuationToken string `json:"continuationToken,omitempty"`
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// Array of envelope statuses and transaction IDs in the result set.
	EnvelopeTransactionStatuses []EnvelopeTransactionStatus `json:"envelopeTransactionStatuses,omitempty"`
	// Set of envelope information
	Envelopes []Envelope `json:"envelopes,omitempty"`
	// A list of folder objects.
	Folders []Folder `json:"folders,omitempty"`
	// The last time that a query was performed.
	LastQueriedDateTime string `json:"lastQueriedDateTime,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

EnvelopesInformation result set for the Envelopes: listStatusChanges method

type ErrorDetails

type ErrorDetails struct {
	// The code associated with the error condition.
	ErrorCode string `json:"errorCode,omitempty"`
	// A brief message describing the error condition.
	Message string `json:"message,omitempty"`
}

ErrorDetails this object describes errors that occur. It is only valid for responses and ignored in requests.

type EventNotification

type EventNotification struct {
	//
	DeliveryMode string `json:"deliveryMode,omitempty"`
	// A list of envelope-level event statuses that will trigger Connect to send updates to the endpoint specified in the `url` property.
	//
	// To receive notifications, you must include either an `envelopeEvents` node or a `recipientEvents` node. You do not need to specify both.
	EnvelopeEvents []EnvelopeEvent `json:"envelopeEvents,omitempty"`
	// Allows you to specify the format of the information the Connect webhooks returns.
	EventData *ConnectEventData `json:"eventData,omitempty"`
	// A comma-separated list of envelope-level event statuses that will trigger Connect to send updates to the endpoint specified in the `urlToPublishTo` property.
	//
	// Set this property when you are using the [JSON SIM event model](/platform/webhooks/connect/improved-json-sim-event-model/). If you are instead using any of [the legacy event message formats](/platform/webhooks/connect/legacy-message-formats/), set either the `envelopeEvents` property or the `recipientEvents` property.
	//
	// The [possible event statuses](/platform/webhooks/connect/improved-json-sim-event-model/#eventreference) are:
	//
	// * `envelope-sent`
	// * `envelope-resent`
	// * `envelope-delivered`
	// * `envelope-completed`
	// * `envelope-declined`
	// * `envelope-voided`
	// * `recipient-authenticationfailed`
	// * `recipient-autoresponded`
	// * `recipient-declined`
	// * `recipient-delivered`
	// * `recipient-completed`
	// * `recipient-sent`
	// * `recipient-resent`
	// * `template-created`
	// * `template-modified`
	// * `template-deleted`
	// * `envelope-corrected`
	// * `envelope-purge`
	// * `envelope-deleted`
	// * `envelope-discard`
	// * `recipient-reassign`
	// * `recipient-delegate`
	// * `recipient-finish-later`
	// * `click-agreed`
	// * `click-declined`
	//
	Events []string `json:"events,omitempty"`
	// When **true,** the Connect Service includes the Certificate of Completion with completed envelopes.
	IncludeCertificateOfCompletion Bool `json:"includeCertificateOfCompletion,omitempty"`
	// When **true,**
	// the Connect service will digitally sign
	// the data.
	// The signature will be included in the message.
	IncludeCertificateWithSoap Bool `json:"includeCertificateWithSoap,omitempty"`
	// When **true,** the Document Fields associated with the envelope's documents are included in the notification messages. Document Fields are optional custom name-value pairs added to documents using the API.
	IncludeDocumentFields Bool `json:"includeDocumentFields,omitempty"`
	// When **true,**
	// the Connect webhook messages
	// will include the envelope's PDF documents.
	// Including the PDF documents
	// greatly increases the size of the notification messages.
	// Ensure that your listener can handle
	// incoming messages that are 25MB or larger.
	IncludeDocuments Bool `json:"includeDocuments,omitempty"`
	// When **true,** this tells the Connect Service to include the void reason, as entered by the person that voided the envelope, in the message.
	IncludeEnvelopeVoidReason Bool `json:"includeEnvelopeVoidReason,omitempty"`
	// When **true,** HMAC headers will be included with the webhook notifications.
	//
	// **Note:** [HMAC must enabled](/platform/webhooks/connect/hmac/) at the account level with [one or more HMAC secrets](/platform/webhooks/connect/setting-up-hmac/).
	IncludeHMAC Bool `json:"includeHMAC,omitempty"`
	// When **true,** Connect will include the sender account as Custom Field in the data.
	IncludeSenderAccountAsCustomField Bool `json:"includeSenderAccountAsCustomField,omitempty"`
	// When **true,** the envelope's time zone information is included in the webhook messages.
	IncludeTimeZone Bool `json:"includeTimeZone,omitempty"`
	// When **true,** the webhook messages are logged. They can be viewed on the DocuSign Administration Web Tool in the Connect section. Logged messages can also be downloaded via the [ConnectEvents resource](/docs/esign-rest-api/reference/connect/connectevents/).
	LoggingEnabled Bool `json:"loggingEnabled,omitempty"`
	// A list of recipient event statuses that will trigger Connect to send updates to   the endpoint specified in the URL property.
	//
	// To receive notifications, you must include either an `envelopeEvents` node or a `recipientEvents` node. You do not need to specify both.
	RecipientEvents []RecipientEvent `json:"recipientEvents,omitempty"`
	// When **true,** the DocuSign Connect service checks that the message was received and retries on failures.
	RequireAcknowledgment Bool `json:"requireAcknowledgment,omitempty"`
	// When **true,** Mutual TLS will be enabled for notifications. Mutual TLS must be initiated by the listener (the customer's web server) during the TLS handshake protocol.
	SignMessageWithX509Cert Bool `json:"signMessageWithX509Cert,omitempty"`
	// The namespace of the SOAP interface.
	//
	// The namespace value must be set if useSoapInterface is set to true.
	SoapNameSpace string `json:"soapNameSpace,omitempty"`
	// The endpoint to which webhook notification messages are sent via an HTTPS POST request. The URL must start with https. The customer's web server must use an SSL/TLS certificate whose CA is in the Microsoft list of trusted CAs. Self-signed certificates are not ok. Free certificates from Let's Encrypt can be used.
	URL string `json:"url,omitempty"`
	// When **true,** this tells the Connect service that the user's endpoint has implemented a SOAP interface.
	UseSoapInterface Bool `json:"useSoapInterface,omitempty"`
}

EventNotification use this object to configure a [DocuSign Connect webhook](/platform/webhooks/connect/).

type EventResult

type EventResult struct {
	// Date/time of the event.
	EventTimestamp string `json:"eventTimestamp,omitempty"`
	// Reason for failure, if the event failed.
	FailureDescription string `json:"failureDescription,omitempty"`
	// Event status.
	Status string `json:"status,omitempty"`
	// Failure status code, if the event failed.
	VendorFailureStatusCode string `json:"vendorFailureStatusCode,omitempty"`
}

EventResult information about the result of an event.

type Expirations

type Expirations struct {
	// An integer that sets the number of days the envelope is active. For this value to be used, `expireEnabled` must be explicitly set to **true.**
	ExpireAfter string `json:"expireAfter,omitempty"`
	// When **true,** the envelope expires in the number of days set by `expireAfter`. When **false** or not set, the envelope expires in the number of days specified by the [default expiration account setting](https://support.docusign.com/en/guides/ndse-admin-guide-reminders-and-expirations).
	ExpireEnabled Bool `json:"expireEnabled,omitempty"`
	// An integer that specifying the number of days before the envelope expires that an expiration warning email is sent to the recipient. When 0 (zero), no warning email is sent.
	ExpireWarn string `json:"expireWarn,omitempty"`
}

Expirations is a complex element that specifies the expiration settings for the envelope. When an envelope expires, it is voided and no longer available for signing. **Note:** there is a short delay between when the envelope expires and when it is voided.

type ExternalDocServiceErrorDetails

type ExternalDocServiceErrorDetails struct {
	// Reserved: TBD
	AuthenticationURL string `json:"authenticationUrl,omitempty"`
	// A code associated with the error condition.
	ErrorCode string `json:"errorCode,omitempty"`
	//
	Message string `json:"message,omitempty"`
}

ExternalDocServiceErrorDetails not described in definition file

type ExternalDocumentSources

type ExternalDocumentSources struct {
	// The account is enabled to allow external documents to be attached from BoxNet.
	BoxnetEnabled string `json:"boxnetEnabled,omitempty"`
	// Metadata indicating whether the `boxnetEnabled` property is editable.
	BoxnetMetadata *SettingsMetadata `json:"boxnetMetadata,omitempty"`
	// The account is enabled to allow external documents to be attached from DropBox.
	DropboxEnabled string `json:"dropboxEnabled,omitempty"`
	// Metadata indicating whether the `dropboxEnabled` property is editable.
	DropboxMetadata *SettingsMetadata `json:"dropboxMetadata,omitempty"`
	// The account is enabled to allow external documents to be attached from Google Drive.
	GoogleDriveEnabled string `json:"googleDriveEnabled,omitempty"`
	// Metadata indicating whether the `googleDriveEnabled` property is editable.
	GoogleDriveMetadata *SettingsMetadata `json:"googleDriveMetadata,omitempty"`
	// The account is enabled to allow external documents to be attached from OneDrive.
	OneDriveEnabled string `json:"oneDriveEnabled,omitempty"`
	// Metadata indicating whether the `oneDriveEnabled` property is editable.
	OneDriveMetadata *SettingsMetadata `json:"oneDriveMetadata,omitempty"`
	// The account is enabled to allow external documents to be attached from Salesforce.
	SalesforceEnabled string `json:"salesforceEnabled,omitempty"`
	// Metadata indicating whether the `salesforceEnabled` property is editable.
	SalesforceMetadata *SettingsMetadata `json:"salesforceMetadata,omitempty"`
}

ExternalDocumentSources is a complex object specifying the external document sources.

type ExternalFile

type ExternalFile struct {
	// The UTC date and time that the file or folder was last modified.
	Date string `json:"date,omitempty"`
	//
	HasCompositeTemplate string `json:"hasCompositeTemplate,omitempty"`
	// The storage provider's ID for the file or folder.
	ID string `json:"id,omitempty"`
	// The file extension for a file.
	//
	// **Note:** If the item is a folder, this value is null.
	Img string `json:"img,omitempty"`
	// The full name of a file.
	Name string `json:"name,omitempty"`
	//
	OwnerName string `json:"ownerName,omitempty"`
	// The size of the file. The file size limit varies based on the cloud storage provider.
	Size string `json:"size,omitempty"`
	// When **true,** DocuSign supports the file type for upload.
	Supported Bool `json:"supported,omitempty"`
	// The type of cloud storage item. Valid values are:
	//
	// - `file`
	// - `folder`
	Type string `json:"type,omitempty"`
	// The URI for the file or folder.
	URI string `json:"uri,omitempty"`
}

ExternalFile this object contains information about a file or folder in cloud storage.

type ExternalFolder

type ExternalFolder struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ExternalDocServiceErrorDetails `json:"errorDetails,omitempty"`
	// A unique ID for the Salesforce object.
	ID string `json:"id,omitempty"`
	// A list of objects that contain information about a file or folder in cloud storage.
	Items []ExternalFile `json:"items,omitempty"`
	// The name of the cloud storage item.
	Name string `json:"name,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

ExternalFolder cloud storage

type ExternalPrimaryAccountRecipientAuthRequirements added in v0.10.0

type ExternalPrimaryAccountRecipientAuthRequirements struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	//
	IDVerification string `json:"idVerification,omitempty"`
	//
	Kba string `json:"kba,omitempty"`
	//
	Phone string `json:"phone,omitempty"`
}

ExternalPrimaryAccountRecipientAuthRequirements not described in definition file

type FavoriteTemplatesContentItem added in v0.10.0

type FavoriteTemplatesContentItem struct {
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	//
	FavoritedDate string `json:"favoritedDate,omitempty"`
	// The unique identifier of the template. If this is not provided, DocuSign will generate a value.
	TemplateID string `json:"templateId,omitempty"`
}

FavoriteTemplatesContentItem not described in definition file

type FavoriteTemplatesInfo added in v0.10.0

type FavoriteTemplatesInfo struct {
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	//
	FavoriteTemplates []FavoriteTemplatesContentItem `json:"favoriteTemplates,omitempty"`
	//
	TemplatesUpdatedCount int32 `json:"templatesUpdatedCount,omitempty"`
}

FavoriteTemplatesInfo not described in definition file

type FeatureAvailableMetadata

type FeatureAvailableMetadata struct {
	//
	Availabilty string `json:"availabilty,omitempty"`
	//
	FeatureName string `json:"featureName,omitempty"`
}

FeatureAvailableMetadata not described in definition file

type FeatureSet

type FeatureSet struct {
	// Reserved for DocuSign.
	CurrencyFeatureSetPrices []CurrencyFeatureSetPrice `json:"currencyFeatureSetPrices,omitempty"`
	// Reserved for DocuSign.
	EnvelopeFee string `json:"envelopeFee,omitempty"`
	// Reserved for DocuSign.
	FeatureSetID string `json:"featureSetId,omitempty"`
	// Reserved for DocuSign.
	FixedFee string `json:"fixedFee,omitempty"`
	// Reserved for DocuSign.
	Is21CFRPart11 Bool `json:"is21CFRPart11,omitempty"`
	// Reserved for DocuSign.
	IsActive Bool `json:"isActive,omitempty"`
	// When **true,** the feature set is actively enabled as part of the plan.
	IsEnabled Bool `json:"isEnabled,omitempty"`
	// Reserved for DocuSign.
	Name string `json:"name,omitempty"`
	// Reserved for DocuSign.
	SeatFee string `json:"seatFee,omitempty"`
}

FeatureSet this object provides details about a feature set, or add-on product that is associated with an account. It is reserved for DocuSign internal use only.

type FileType

type FileType struct {
	//
	FileExtension string `json:"fileExtension,omitempty"`
	// The mime-type of a file type listed in a fileTypes collection.
	MimeType string `json:"mimeType,omitempty"`
}

FileType not described in definition file

type FileTypeList

type FileTypeList struct {
	// A collection of file types.
	FileTypes []FileType `json:"fileTypes,omitempty"`
}

FileTypeList not described in definition file

type Filter

type Filter struct {
	// When **true,** the current user needs to take action on the item.
	ActionRequired Bool `json:"actionRequired,omitempty"`
	// The number of days a sent envelope remains active before it expires.
	Expires string `json:"expires,omitempty"`
	// Filters for any combination of folder IDs and folder types. The possible folder types are:
	//
	// - `awaiting_my_signature`
	// - `completed`
	// - `draft`
	// - `drafts`
	// - `expiring_soon`
	// - `inbox`
	// - `out_for_signature`
	// - `recyclebin`
	// - `sentitems`
	// - `waiting_for_others`
	FolderIds string `json:"folderIds,omitempty"`
	// The UTC DateTime of the beginning of a date range. If no value is provided, the default search is the previous 30 days.
	FromDateTime string `json:"fromDateTime,omitempty"`
	// When **true,** the item is a template.
	IsTemplate Bool `json:"isTemplate,omitempty"`
	// The order in which to sort the results.
	//
	// Valid values are:
	//
	//
	// * `asc`: Ascending order.
	// * `desc`: Descending order.
	Order string `json:"order,omitempty"`
	// The field used to sort the results.
	//
	// Example: `Created`
	OrderBy string `json:"orderBy,omitempty"`
	// Reserved for DocuSign.
	SearchTarget string `json:"searchTarget,omitempty"`
	// A free text search field for searching across the items in a folder. The search looks for the text that you enter in the recipient names and emails, envelope custom fields, sender name, and subject.
	SearchText string `json:"searchText,omitempty"`
	// The status of the envelope. By default, all statuses are returned.
	//
	// For details, see [Envelope Status Code Descriptions](/docs/esign-rest-api/esign101/rules-and-limits/responses/).
	Status string `json:"status,omitempty"`
	// The UTC DateTime of the end of a date range. If no value is provided, the default search is to the current date.
	ToDateTime string `json:"toDateTime,omitempty"`
}

Filter use this object to create a filtered view of the items in a folder.

type FirstName

type FirstName struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

FirstName is a tab that displays the recipient's first name. This tab takes the recipient's name as entered in the recipient information, splits it into sections based on spaces and uses the first section as the first name.

type Folder

type Folder struct {
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// An object used to present a filtered view of the items in a folder.
	Filter *Filter `json:"filter,omitempty"`
	// The ID of the folder.
	FolderID string `json:"folderId,omitempty"`
	// A list of envelopes and templates that the folder contains.
	FolderItems []FolderItemV2 `json:"folderItems,omitempty"`
	// A collection of folder objects returned in a response.
	Folders []Folder `json:"folders,omitempty"`
	// When **true,** the current user has access to the folder.
	HasAccess Bool `json:"hasAccess,omitempty"`
	// When **true,** the folder has subfolders.
	HasSubFolders Bool `json:"hasSubFolders,omitempty"`
	// The number of items in the folder.
	ItemCount string `json:"itemCount,omitempty"`
	// The name of the folder.
	Name string `json:"name,omitempty"`
	// Information about the user who owns the folder.
	Owner *UserInfo `json:"owner,omitempty"`
	// The ID of the parent folder, or the special value `root` for the root folder.
	ParentFolderID string `json:"parentFolderId,omitempty"`
	// The URI of the parent folder.
	ParentFolderURI string `json:"parentFolderUri,omitempty"`
	// The number of subfolders.
	SubFolderCount string `json:"subFolderCount,omitempty"`
	// The type of folder. Possible values include:
	//
	// - `draft`
	// - `inbox`
	// - `normal` (a system-generated folder)
	// - `recyclebin`
	// - `sentitems`
	// - `custom` (a custom folder created by a user)
	Type string `json:"type,omitempty"`
	// The URI for the folder.
	URI string `json:"uri,omitempty"`
}

Folder this object contains details about a folder.

type FolderItemResponse

type FolderItemResponse struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// A list of the envelopes in the specified folder or folders.
	FolderItems []FolderItemV2 `json:"folderItems,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result.
	TotalRows string `json:"totalRows,omitempty"`
}

FolderItemResponse results from a folder item request.

type FolderItemV2

type FolderItemV2 struct {
	// If the item is an envelope, this is the UTC DateTime when the envelope was completed.
	CompletedDateTime *time.Time `json:"completedDateTime,omitempty"`
	// The UTC DateTime when the item was created.
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// If the item is an envelope, this is the ID of the envelope.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// If the item is an envelope, this is the URI for retrieving it.
	EnvelopeURI string `json:"envelopeUri,omitempty"`
	// The date and time the envelope is set to expire.
	ExpireDateTime *time.Time `json:"expireDateTime,omitempty"`
	// The ID of the folder.
	FolderID string `json:"folderId,omitempty"`
	// If the item is a subfolder, this is the URI for retrieving it.
	FolderURI string `json:"folderUri,omitempty"`
	// When **true,** indicates compliance with United States Food and Drug Administration (FDA) regulations on electronic records and electronic signatures (ERES).
	Is21CFRPart11 Bool `json:"is21CFRPart11,omitempty"`
	// The date and time that the item was last modified.
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
	// The name of the user who owns the folder.
	OwnerName string `json:"ownerName,omitempty"`
	// An array of recipient objects that provides details about the recipients of the envelope.
	Recipients *Recipients `json:"recipients,omitempty"`
	// Contains a URI for an endpoint that you can use to retrieve the recipients.
	RecipientsURI string `json:"recipientsUri,omitempty"`
	// The name of the sender's company.
	SenderCompany string `json:"senderCompany,omitempty"`
	// The sender's email address.
	SenderEmail string `json:"senderEmail,omitempty"`
	// The sender's name.
	SenderName string `json:"senderName,omitempty"`
	// The sender's id.
	SenderUserID string `json:"senderUserId,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime *time.Time `json:"sentDateTime,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * sent - The envelope is sent to the recipients.
	// * created - The envelope is saved as a draft and can be modified and sent later.
	Status string `json:"status,omitempty"`
	// The subject of the envelope.
	Subject string `json:"subject,omitempty"`
	// The unique identifier of the template. If this is not provided, DocuSign will generate a value.
	TemplateID string `json:"templateId,omitempty"`
	// The URI for retrieving the template.
	TemplateURI string `json:"templateUri,omitempty"`
}

FolderItemV2 information about folder item results.

type FolderItemsResponse

type FolderItemsResponse struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	//
	Envelopes []EnvelopeSummary `json:"envelopes,omitempty"`
	// A list of folder objects.
	Folders []Folder `json:"folders,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

FolderItemsResponse not described in definition file

type FolderSharedItem

type FolderSharedItem struct {
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The ID of the folder.
	FolderID string `json:"folderId,omitempty"`
	// The name of the folder.
	Name string `json:"name,omitempty"`
	// Information about the user who owns the folder.
	Owner *UserInfo `json:"owner,omitempty"`
	// The ID of the parent folder.
	ParentFolderID string `json:"parentFolderId,omitempty"`
	// The URI for the parent folder.
	ParentFolderURI string `json:"parentFolderUri,omitempty"`
	// Indicates how the folder is shared. Valid values are:
	//
	// - `not_shared`
	// - `shared_to`
	Shared string `json:"shared,omitempty"`
	// A list of groups that share the folder.
	SharedGroups []MemberGroupSharedItem `json:"sharedGroups,omitempty"`
	// A list of users that share the folder.
	SharedUsers []UserSharedItem `json:"sharedUsers,omitempty"`
	// A URI containing the user ID.
	URI string `json:"uri,omitempty"`
	// Information about the user associated with the folder.
	User *UserInfo `json:"user,omitempty"`
}

FolderSharedItem not described in definition file

type FoldersRequest

type FoldersRequest struct {
	// A comma-separated list of envelope IDs.
	EnvelopeIds []string `json:"envelopeIds,omitempty"`
	// A list of folder objects.
	Folders []Folder `json:"folders,omitempty"`
	//  The ID of the folder that the envelope is being moved from.
	FromFolderID string `json:"fromFolderId,omitempty"`
}

FoldersRequest information for a folder request.

type FoldersResponse

type FoldersResponse struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// A list of envelopes in this folder.
	Envelopes []EnvelopeSummary `json:"envelopes,omitempty"`
	// A list of folder objects.
	Folders []Folder `json:"folders,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

FoldersResponse folders allow you to organize envelopes and templates.

type ForgottenPasswordInformation

type ForgottenPasswordInformation struct {
	// The answer to the first forgotten password challenge question.
	ForgottenPasswordAnswer1 string `json:"forgottenPasswordAnswer1,omitempty"`
	// The answer to the second forgotten password challenge question.
	ForgottenPasswordAnswer2 string `json:"forgottenPasswordAnswer2,omitempty"`
	// The answer to the third forgotten password challenge question.
	ForgottenPasswordAnswer3 string `json:"forgottenPasswordAnswer3,omitempty"`
	// The answer to the fourth forgotten password challenge question.
	ForgottenPasswordAnswer4 string `json:"forgottenPasswordAnswer4,omitempty"`
	// The first challenge question presented to a user who has forgotten their password.
	ForgottenPasswordQuestion1 string `json:"forgottenPasswordQuestion1,omitempty"`
	// The second challenge question presented to a user who has forgotten their password.
	ForgottenPasswordQuestion2 string `json:"forgottenPasswordQuestion2,omitempty"`
	// The third challenge question presented to a user who has forgotten their password.
	ForgottenPasswordQuestion3 string `json:"forgottenPasswordQuestion3,omitempty"`
	// The fourth challenge question presented to a user who has forgotten their password.
	ForgottenPasswordQuestion4 string `json:"forgottenPasswordQuestion4,omitempty"`
}

ForgottenPasswordInformation is a complex element that has up to four Question/Answer pairs for forgotten password information.

type FormDataItem

type FormDataItem struct {
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The selected value in a list.
	ListSelectedValue string `json:"listSelectedValue,omitempty"`
	// The name of the form field.
	Name string `json:"name,omitempty"`
	//
	NumericalValue string `json:"numericalValue,omitempty"`
	// The initial value associated with the form field.
	OriginalValue string `json:"originalValue,omitempty"`
	// The current value associated with the form field.
	Value string `json:"value,omitempty"`
}

FormDataItem not described in definition file

type FormulaTab

type FormulaTab struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// Contains the formula
	// for calculating the value of
	// this tab.
	//
	// Use a tab's `tabLabel`,
	// enclosed in brackets,
	// to refer to it.
	//
	// For example,
	// you want to present the total cost
	// of two items, tax included.
	//
	// The cost of each item is stored
	// in number tabs labeled Item1 and Item2.
	// The tax rate is in a number tab
	// labeled TaxRate.
	//
	// The formula string for this property
	// would be:
	// `([Item1] + [Item2]) * (1 + [TaxRate])`
	//
	// See [Calculated Fields][calculatedfields]
	// in the DocuSign Support Center
	// to learn more about formulas.
	//
	// Maximum Length: 2000 characters
	//
	// [calculatedfields]: https://support.docusign.com/en/guides/ndse-user-guide-calculated-fields
	//
	Formula string `json:"formula,omitempty"`
	// Metadata indicating if the sender can edit the `formula` property.
	FormulaMetadata *PropertyMetadata `json:"formulaMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// If this is a regular formula (no `paymentDetails` property is present):
	//
	// * **true:** The tab is hidden.
	// * **false:** The tab is shown.
	//
	// If the formula is payment item (a `paymentDetails` property is present):
	//
	// * **true:** The tab is displayed as a payment.
	// * **false:** The tab is displayed as a regular formula.
	//
	Hidden string `json:"hidden,omitempty"`
	// Metadata that indicates whether the `hidden` property is editable.
	HiddenMetadata *PropertyMetadata `json:"hiddenMetadata,omitempty"`
	// Reserved for DocuSign.
	IsPaymentAmountMetadata *PropertyMetadata `json:"isPaymentAmountMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// This property indicates
	// that this formula tab
	// is a payment item.
	// See [Requesting Payments Along with Signatures][paymentguide]
	// in the DocuSign Support Center
	// to learn more about payments.
	//
	// [paymentguide]:     https://support.docusign.com/en/guides/requesting-payments-along-with-signatures
	//
	PaymentDetails *PaymentDetails `json:"paymentDetails,omitempty"`
	// When **true** and shared is true, information must be entered in this field to complete the envelope.
	RequireAll Bool `json:"requireAll,omitempty"`
	// Metadata that indicates whether the `requireAll` property is editable.
	RequireAllMetadata *PropertyMetadata `json:"requireAllMetadata,omitempty"`
	// Optional element for field markup. When **true,** the signer is required to initial when they modify a shared field.
	RequireInitialOnSharedChange Bool `json:"requireInitialOnSharedChange,omitempty"`
	// Metadata that indicates whether the `requireInitialOnSharedChange` property is editable.
	RequireInitialOnSharedChangeMetadata *PropertyMetadata `json:"requireInitialOnSharedChangeMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// The number of decimal places to round to.
	RoundDecimalPlaces string `json:"roundDecimalPlaces,omitempty"`
	// Metadata that indicates whether the `roundDecimalPlaces` property is editable.
	RoundDecimalPlacesMetadata *PropertyMetadata `json:"roundDecimalPlacesMetadata,omitempty"`
	// When **true,** the sender must populate the tab before an envelope can be sent using the template.
	//
	// This value tab can only be changed by modifying (PUT) the template.
	//
	// Tabs with a `senderRequired` value of true cannot be deleted from an envelope.
	SenderRequired Bool `json:"senderRequired,omitempty"`
	// Metadata that indicates whether the `senderRequired` property is editable.
	SenderRequiredMetadata *PropertyMetadata `json:"senderRequiredMetadata,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipients string `json:"shareToRecipients,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipientsMetadata *PropertyMetadata `json:"shareToRecipientsMetadata,omitempty"`
	// When **true,** this custom tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The message displayed if the custom tab fails input validation (either custom of embedded).
	ValidationMessage string `json:"validationMessage,omitempty"`
	// Metadata that indicates whether the `validationMessage` property is editable.
	ValidationMessageMetadata *PropertyMetadata `json:"validationMessageMetadata,omitempty"`
	// A regular expression used to validate input for the tab.
	ValidationPattern string `json:"validationPattern,omitempty"`
	// Metadata that indicates whether the `validationPattern` property is editable.
	ValidationPatternMetadata *PropertyMetadata `json:"validationPatternMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

FormulaTab is the value of a formula tab is calculated from the values of other number or date tabs in the document. When the recipient completes the underlying fields, the formula tab calculates and displays the result.

The `formula` property of the tab contains the references to the underlying tabs. See [Calculated Fields]calculatedfields in the DocuSign Support Center to learn more about formulas.

If a formula tab contains a `paymentDetails` property, the tab is considered a payment item. See [Requesting Payments Along with Signatures]paymentguide in the DocuSign Support Center to learn more about payments.

type FullName

type FullName struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

FullName is a tab that displays the recipient's full name.

type GraphicsContext

type GraphicsContext struct {
	// The fill color to use for the overlay. Colors are typically specified by their RGB hex values, but you can also use a [friendly CSS color name](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value).
	FillColor string `json:"fillColor,omitempty"`
	// The line color to use for the overlay. Colors are typically specified by their RGB hex values, but you can also use a [friendly CSS color name](https://developer.mozilla.org/en-US/docs/Web/CSS/color_value).
	LineColor string `json:"lineColor,omitempty"`
	// The line weight or thickness to use for the overlay.
	LineWeight string `json:"lineWeight,omitempty"`
}

GraphicsContext not described in definition file

type Group

type Group struct {
	//
	DsGroupID string `json:"dsGroupId,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The DocuSign group ID for the group.
	GroupID string `json:"groupId,omitempty"`
	// The name of the group.
	GroupName string `json:"groupName,omitempty"`
	// The group type.
	GroupType string `json:"groupType,omitempty"`
	// The ID of the permission profile associated with the group. Possible values include:
	//
	// - `2301416` (for the `DocuSign Viewer` profile)
	// - `2301415` (for the `DocuSign Sender` profile)
	// - `2301414` (for the `Account Administrator` profile)
	PermissionProfileID string `json:"permissionProfileId,omitempty"`
	// A list of the users in the group.
	Users []UserInfo `json:"users,omitempty"`
	// The total number of users in the group.
	UsersCount string `json:"usersCount,omitempty"`
}

Group this object contains information about a group.

type GroupInformation

type GroupInformation struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// A collection group objects containing information about the groups.
	Groups []Group `json:"groups,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

GroupInformation not described in definition file

type IDCheckConfiguration

type IDCheckConfiguration struct {
	// A list of ID check security steps, each specifying an authorization type.
	AuthSteps []IDCheckSecurityStep `json:"authSteps,omitempty"`
	// Boolean that specifies whether the signature is the default signature for the user.
	IsDefault Bool `json:"isDefault,omitempty"`
	// The name of the signature.
	Name string `json:"name,omitempty"`
}

IDCheckConfiguration is a complex object specifying ID check configuration.

type IDCheckInformationInput

type IDCheckInformationInput struct {
	// An object that specifies recipient address information and how it is displayed.
	AddressInformationInput *AddressInformationInput `json:"addressInformationInput,omitempty"`
	// An object that specifies recipient date of birth information and how it is displayed.
	DobInformationInput *DobInformationInput `json:"dobInformationInput,omitempty"`
	// An object that specifies the last four digits of the recipient's Social Security Number (SSN).
	Ssn4InformationInput *Ssn4InformationInput `json:"ssn4InformationInput,omitempty"`
	// An object that specifies the recipient's Social Security Number (SSN) information. Note that ssn9 information cannot be returned in a response.
	Ssn9InformationInput *Ssn9InformationInput `json:"ssn9InformationInput,omitempty"`
}

IDCheckInformationInput is a complex element that contains input information related to a recipient ID check.

type IDCheckSecurityStep

type IDCheckSecurityStep struct {
	// Type of authorization used for the security check.
	AuthType string `json:"authType,omitempty"`
}

IDCheckSecurityStep not described in definition file

type IDEvidenceResourceToken added in v0.10.0

type IDEvidenceResourceToken struct {
	//
	ProofBaseURI string `json:"proofBaseURI,omitempty"`
	//
	ResourceToken string `json:"resourceToken,omitempty"`
}

IDEvidenceResourceToken not described in definition file

type IDEvidenceViewLink struct {
	//
	ViewLink string `json:"ViewLink,omitempty"`
}

IDEvidenceViewLink not described in definition file

type InPersonSigner

type InPersonSigner struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// Metadata that indicates whether the `accessCode` property is editable. This property is read-only.
	AccessCodeMetadata *PropertyMetadata `json:"accessCodeMetadata,omitempty"`
	// Optional. When **true,** the access code will be added to the email sent to the recipient. This nullifies the security measure of `accessCode` on the recipient.
	AddAccessCodeToEmail string `json:"addAccessCodeToEmail,omitempty"`
	// When **true,** if the recipient is locked on a template, advanced recipient routing can override the lock.
	AllowSystemOverrideForLockedRecipient Bool `json:"allowSystemOverrideForLockedRecipient,omitempty"`
	// When **true,** autonavigation is set for the recipient.
	//
	AutoNavigation Bool `json:"autoNavigation,omitempty"`
	// Error message provided by the destination email system. This field is only provided if the email notification to the recipient fails to send. This property is read-only.
	//
	AutoRespondedReason string `json:"autoRespondedReason,omitempty"`
	// When **true,** specifies that the signer can perform the signing ceremony offline.
	CanSignOffline Bool `json:"canSignOffline,omitempty"`
	// Specifies whether the recipient is embedded or remote.
	//
	// If the `clientUserId` property is not null then the recipient is embedded. Use this field to associate the signer with their userId in your app. Authenticating the user is the responsibility of your app when you use embedded signing.
	//
	// Note: if the `clientUserId` property is set and either `SignerMustHaveAccount` or `SignerMustLoginToSign` property of the account settings is set to  **true,** an error is generated on sending.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// Indicates the number of times that the recipient has been through a signing completion.
	//
	// If this number is greater than `0` for a signing group, only the user who previously completed may sign again.
	CompletedCount string `json:"completedCount,omitempty"`
	// The reason why the recipient was created (for example, `sender`). This property is read-only.
	CreationReason string `json:"creationReason,omitempty"`
	// An optional array of strings that allows the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each customField string can be a maximum of 100 characters.
	CustomFields []string `json:"customFields,omitempty"`
	// The date and time the recipient declined the document. This property is read-only.
	DeclinedDateTime *time.Time `json:"declinedDateTime,omitempty"`
	// The reason the recipient declined the document. This property is read-only.
	DeclinedReason string `json:"declinedReason,omitempty"`
	// When **true,**
	// this is the default recipient for the envelope.
	// This option is used when creating an envelope from a template.
	//
	DefaultRecipient Bool `json:"defaultRecipient,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime *time.Time `json:"deliveredDateTime,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethodMetadata *PropertyMetadata `json:"deliveryMethodMetadata,omitempty"`
	// Reserved for DocuSign.
	DesignatorID string `json:"designatorId,omitempty"`
	// Reserved for DocuSign.
	DesignatorIDGUID string `json:"designatorIdGuid,omitempty"`
	// A list of `documentVisibility` objects. Each object in the list specifies whether a document in the envelope is visible to this recipient. For the envelope to use this functionality, Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true.**
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
	// The signer's email address in an eNotary flow.
	//
	// Use only when `inPersonSigningType` is `notary`.
	// For regular in-person-signer flow, use `signerEmail` instead.
	//
	Email string `json:"email,omitempty"`
	// Metadata that indicates whether the `email` property is editable. This property is read-only.
	EmailMetadata *PropertyMetadata `json:"emailMetadata,omitempty"`
	// An optional complex type that sets a specific email subject and body for this recipient's notification email.
	//
	// **Note:** You can set the `emailNotification` property separately for each recipient. If you set the value only for certain recipients, the other recipients will inherit the this value from the top-level `emailSubject` and `emailBlurb`.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	// Specifies a sender-provided valid URL string for redirecting an embedded recipient. When using this option, the embedded recipient still receives an email from DocuSign, just as a remote recipient would. When the document link in the email is clicked the recipient is redirected, through DocuSign, to the supplied URL to complete their actions. When routing to the URL, the sender's system (the server responding to the URL) must request a recipient token to launch a signing session.
	//
	// When `SIGN_AT_DOCUSIGN`, the recipient is directed to an embedded signing or viewing process directly at DocuSign. The signing or viewing action is initiated by the DocuSign system and the transaction activity and Certificate of Completion records will reflect this. In all other ways the process is identical to an embedded signing or viewing operation launched by a partner.
	//
	// It is important to understand that in a typical embedded workflow, the authentication of an embedded recipient is the responsibility of the sending application. DocuSign expects that senders will follow their own processes for establishing the recipient's identity. In this workflow the recipient goes through the sending application before the embedded signing or viewing process is initiated. However, when the sending application sets `EmbeddedRecipientStartURL=SIGN_AT_DOCUSIGN`, the recipient goes directly to the embedded signing or viewing process, bypassing the sending application and any authentication steps the sending application would use. In this case, DocuSign recommends that you use one of the normal DocuSign authentication features (Access Code, Phone Authentication, SMS Authentication, etc.) to verify the identity of the recipient.
	//
	// If the `clientUserId` property is NOT set, and the `embeddedRecipientStartURL` is set, DocuSign will ignore the redirect URL and launch the standard signing process for the email recipient. Information can be appended to the embedded recipient start URL using merge fields. The available merge fields items are: `envelopeId`, `recipientId`, `recipientName`, `recipientEmail`, and `customFields`. The `customFields` property must be set for the recipient or envelope. The merge fields are enclosed in double brackets.
	//
	// *Example*:
	//
	// `http://senderHost/[[mergeField1]]/ beginSigningSession? [[mergeField2]]&[[mergeField3]]`
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Specifies the documents that are not visible to this recipient. Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true** for the envelope to use this.
	//
	// When enforce signer visibility is enabled, documents with tabs can only be viewed by signers that have a tab on that document. Recipients that have an administrative role (Agent, Editor, or Intermediaries) or informational role (Certified Deliveries or Carbon Copies) can always see all the documents in an envelope, unless they are specifically excluded using this setting when an envelope is sent. Documents that do not have tabs are always visible to all recipients, unless they are specifically excluded using this setting when an envelope is sent.
	ExcludedDocuments []string `json:"excludedDocuments,omitempty"`
	// Reserved for DocuSign.
	FaxNumber string `json:"faxNumber,omitempty"`
	// Reserved for DocuSign.
	FaxNumberMetadata *PropertyMetadata `json:"faxNumberMetadata,omitempty"`
	// The email address of the signing host.
	// This is the DocuSign user that is hosting the in-person signing session.
	//
	// Required when `inPersonSigningType` is `inPersonSigner`.
	// For eNotary flow, use `email` instead.
	//
	// Maximum Length: 100 characters.
	//
	HostEmail string `json:"hostEmail,omitempty"`
	// Metadata that indicates whether the `hostEmail` property is editable.
	HostEmailMetadata *PropertyMetadata `json:"hostEmailMetadata,omitempty"`
	// The name of the signing host.
	// This is the DocuSign user that is hosting the in-person signing session.
	//
	// Required when `inPersonSigningType` is `inPersonSigner`.
	// For eNotary flow, use `name` instead.
	//
	// Maximum Length: 100 characters.
	//
	HostName string `json:"hostName,omitempty"`
	// Metadata that indicates whether the `hostName` property is editable.
	HostNameMetadata *PropertyMetadata `json:"hostNameMetadata,omitempty"`
	// The name of the authentication check to use. This value must match one of the authentication types that the account uses. The names of these authentication types appear in the web console sending interface in the Identify list for a recipient. This setting overrides any default authentication setting. Valid values are:
	//
	// - `Phone Auth $`: The recipient must authenticate by using two-factor authentication (2FA). You provide the phone number to use for 2FA in the `phoneAuthentication` object.
	// - `SMS Auth $`: The recipient must authenticate via SMS. You provide the phone number to use in the `smsAuthentication` object.
	// - `ID Check $`: The  recipient must answer detailed security questions.
	//
	// **Example:** Your account has ID Check and SMS Authentication available. In the web console Identify list, these appear as ID Check $ and SMS Auth $. To use ID Check in an envelope, the idCheckConfigurationName should be ID Check $. For SMS, you would use SMS Auth $, and you would also need to add a phone number to the smsAuthentication node.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// Metadata that indicates whether the `idCheckConfigurationName` property is editable. This property is read-only.
	IDCheckConfigurationNameMetadata *PropertyMetadata `json:"idCheckConfigurationNameMetadata,omitempty"`
	// An object that contains input information related to a recipient ID check.
	IDCheckInformationInput *IDCheckInformationInput `json:"idCheckInformationInput,omitempty"`
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification *RecipientIdentityVerification `json:"identityVerification,omitempty"`
	// Specifies whether the envelope uses the eNotary feature.
	// Valid values:
	//
	// * `inPersonSigner`: The envelope uses the normal in-person signing flow.
	// * `notary`: The envelope uses the eNotary in-person signing flow.
	//
	InPersonSigningType string `json:"inPersonSigningType,omitempty"`
	// Metadata that indicates whether the `inPersonSigningType` property is editable.
	InPersonSigningTypeMetadata *PropertyMetadata `json:"inPersonSigningTypeMetadata,omitempty"`
	// When **true** and the envelope recipient creates a DocuSign account after signing, the Manage Account Email Notification settings are used as the default settings for the recipient's account.
	InheritEmailNotificationConfiguration Bool `json:"inheritEmailNotificationConfiguration,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientPhoneAuthEditable string `json:"lockedRecipientPhoneAuthEditable,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientSmsEditable string `json:"lockedRecipientSmsEditable,omitempty"`
	// The signer's full legal name in an eNotary flow.
	//
	// Required when `inPersonSigningType` is `notary`.
	// For a regular in-person-signer flow, use `signerName` instead.
	//
	// Maximum Length: 100 characters.
	//
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// Information about the notary host. The following information is required when using the eNotary in-person signing flow:
	//
	// - `name`: The name of the notary.
	// - `email`: The email address of the notary.
	// - `recipientId`: A unique ID number for the notary signing host.
	NotaryHost *NotaryHost `json:"notaryHost,omitempty"`
	//
	NotaryID string `json:"notaryId,omitempty"`
	// A note sent to the in-person signer in the signing email.
	// This note is visible only to this recipient.
	//
	// Maximum Length: 1000 characters.
	//
	Note string `json:"note,omitempty"`
	// Metadata that indicates whether the `note` property is editable. This property is read-only.
	NoteMetadata *PropertyMetadata `json:"noteMetadata,omitempty"`
	// When `idCheckConfigurationName` is set to `Phone Auth $`, you use this complex type to provide the recipient authentication method details. It contains the following elements:
	//
	// * `recipMayProvideNumber`: Boolean. When **true,** the recipient can use whatever phone number they choose.
	// * `senderProvidedNumbers`: ArrayOfStrings.  A list of phone numbers the recipient can use.
	// * `recordVoicePrint`: Reserved for DocuSign.
	// * `validateRecipProvidedNumber`: Reserved for DocuSign.
	//
	//
	PhoneAuthentication Bool `json:"phoneAuthentication,omitempty"`
	// Reserved for DocuSign.
	RecipientAttachments []RecipientAttachment `json:"recipientAttachments,omitempty"`
	// Information about the recipient's authentication status. This property is read-only.
	RecipientAuthenticationStatus *AuthenticationStatus `json:"recipientAuthenticationStatus,omitempty"`
	// Metadata about the features that are supported for the recipient type. This property is read-only.
	RecipientFeatureMetadata []FeatureAvailableMetadata `json:"recipientFeatureMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// The default signature provider is the DocuSign Electronic signature system. This parameter is used to specify one or more Standards Based Signature (digital signature) providers for the signer to use. [More information.](/docs/esign-rest-api/esign101/concepts/standards-based-signatures/)
	RecipientSignatureProviders []RecipientSignatureProvider `json:"recipientSignatureProviders,omitempty"`
	// When **true,** specifies that the recipient creates the tabs.
	RecipientSuppliesTabs Bool `json:"recipientSuppliesTabs,omitempty"`
	// The recipient type, as specified by the following values:
	// - `agent`: Agent recipients can add name and email information for recipients that appear after the agent in routing order.
	// - `carbonCopy`: Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date, or add information to any of the documents. This type of recipient can be used in any routing order.
	// - `certifiedDelivery`: Certified delivery recipients must receive the completed documents for the envelope to be completed. They don't need to sign, initial, date, or add information to any of the documents.
	// - `editor`: Editors have the same management and access rights for the envelope as the sender. Editors can add name and email information, add or change the routing order, set authentication options, and can edit signature/initial tabs and data fields for the remaining recipients.
	// - `inPersonSigner`: In-person recipients are DocuSign users who act as signing hosts in the same physical location as the signer.
	// - `intermediaries`: Intermediary recipients can optionally add name and email information for recipients at the same or subsequent level in the routing order.
	// - `seal`: Electronic seal recipients represent legal entities.
	// - `signer`: Signers are recipients who must sign, initial, date, or add data to form fields on the documents in the envelope.
	// - `witness`: Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.
	RecipientType string `json:"recipientType,omitempty"`
	// Metadata that indicates whether the `recipientType` property is editable. This property is read-only.
	RecipientTypeMetadata *PropertyMetadata `json:"recipientTypeMetadata,omitempty"`
	// When **true,** the recipient is required to use the specified ID check method (including Phone and SMS authentication) to validate their identity.
	RequireIDLookup Bool `json:"requireIdLookup,omitempty"`
	// Metadata that indicates whether the `requireIdLookup` property is editable. This property is read-only.
	RequireIDLookupMetadata *PropertyMetadata `json:"requireIdLookupMetadata,omitempty"`
	// When **true,** the signer must print, sign, and upload or fax the signed documents to DocuSign.
	RequireSignOnPaper Bool `json:"requireSignOnPaper,omitempty"`
	// By default, DocuSign signers create electronic signatures. This field can be used to require the signer to use a SAFE-BioPharma digital certificate for signing.
	//
	// This parameter should only be used to select a SAFE-BioPharma certificate. New integrations should use the `recipientSignatureProviders` parameter for other types of digital certificates.
	//
	// Set this parameter to `safe` to use a SAFE-BioPharma certificate.
	//
	// The signer must be enrolled in the SAFE program to sign with a SAFE certificate.
	RequireSignerCertificate string `json:"requireSignerCertificate,omitempty"`
	// When **true,** the signer is required to upload a new signature, even if they have a pre-adopted signature in their personal DocuSign account.
	RequireUploadSignature Bool `json:"requireUploadSignature,omitempty"`
	// Optional element. Specifies the role name associated with the recipient.<br/><br/>This property is required when you are working with template recipients.
	RoleName string `json:"roleName,omitempty"`
	// Specifies the routing order of the recipient in the envelope.
	RoutingOrder string `json:"routingOrder,omitempty"`
	// Metadata that indicates whether the `routingOrder` property is editable. This property is read-only.
	RoutingOrderMetadata *PropertyMetadata `json:"routingOrderMetadata,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime *time.Time `json:"sentDateTime,omitempty"`
	// When **true** and the feature is enabled in the sender's account, the signing recipient is required to draw signatures and initials at each signature/initial tab (instead of adopting a signature/initial style or only drawing a signature/initial once).
	SignInEachLocation Bool `json:"signInEachLocation,omitempty"`
	// Metadata that indicates whether the `signInEachLocation` property is editable. This property is read-only.
	SignInEachLocationMetadata *PropertyMetadata `json:"signInEachLocationMetadata,omitempty"`
	// Allows the sender to pre-specify the signature name, signature initials and signature font used in the signature stamp for the recipient.
	//
	// Used only with recipient types In Person Signers and Signers.
	SignatureInfo *RecipientSignatureInformation `json:"signatureInfo,omitempty"`
	// Reserved for DocuSign.
	SignedDateTime *time.Time `json:"signedDateTime,omitempty"`
	// The in-person signer's email address.
	//
	// Required when `inPersonSigningType` is `inPersonSigner`.
	// For eNotary flow, use `email` instead.
	//
	// Maximum Length: 100 characters.
	//
	//
	SignerEmail string `json:"signerEmail,omitempty"`
	// Metadata that indicates if the sender can edit the in-person signer's email address.
	SignerEmailMetadata *PropertyMetadata `json:"signerEmailMetadata,omitempty"`
	// The signer's first name.
	SignerFirstName string `json:"signerFirstName,omitempty"`
	// Metadata that indicates if the `signerFirstName` property is editable.
	SignerFirstNameMetadata *PropertyMetadata `json:"signerFirstNameMetadata,omitempty"`
	// The signer's last name.
	SignerLastName string `json:"signerLastName,omitempty"`
	// Metadata that indicates whether the `signerLastName` property is editable.
	SignerLastNameMetadata *PropertyMetadata `json:"signerLastNameMetadata,omitempty"`
	// Required. The full legal name of a signer for the envelope.
	//
	// Maximum Length: 100 characters.
	//
	//
	//
	SignerName string `json:"signerName,omitempty"`
	// Metadata that indicates whether the `signerName` property is editable.
	SignerNameMetadata *PropertyMetadata `json:"signerNameMetadata,omitempty"`
	// Not applicable. You cannot use a signing group for an in-person signer.
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// Not applicable.
	SigningGroupIDMetadata *PropertyMetadata `json:"signingGroupIdMetadata,omitempty"`
	// Not applicable.
	SigningGroupName string `json:"signingGroupName,omitempty"`
	// Not applicable.
	SigningGroupUsers []UserInfo `json:"signingGroupUsers,omitempty"`
	// When `idCheckConfigurationName` is set to `SMS Auth $`, you use this complex type to provide the recipient authentication method details. It contains the element `senderProvidedNumbers`, which is an array of phone numbers that the recipient can use for SMS text authentication.
	//
	//
	SmsAuthentication *RecipientSMSAuthentication `json:"smsAuthentication,omitempty"`
	// Deprecated.
	SocialAuthentications []SocialAuthentication `json:"socialAuthentications,omitempty"`
	// The recipient's status. This property is read-only.
	//
	// Valid values:
	//
	// - `autoresponded`: The recipient's email system auto-responded to the email from DocuSign. This status is used in the web console to inform senders about the bounced-back email. This recipient status is only used if **Send-on-behalf-of** is turned off for the account.
	// - `completed`: The recipient has completed their actions (signing or other required actions if not a signer) for an envelope.
	// - `created`: The recipient is in a draft state. This value is only associated with draft envelopes (envelopes that have a status of `created`).
	// - `declined`: The recipient declined to sign the documents in the envelope.
	// - `delivered`: The recipient has viewed the documents in an envelope through the DocuSign signing website. This is not an email delivery of the documents in an envelope.
	// - `faxPending`: The recipient has finished signing and the system is waiting for a fax attachment from the recipient before completing their signing step.
	// - `sent`: The recipient has been sent an email notification that it is their turn to sign an envelope.
	// - `signed`: The recipient has completed (signed) all required tags in an envelope. This is a temporary state during processing, after which the recipient's status automatically switches to `completed`.
	Status string `json:"status,omitempty"`
	// The code associated with the recipient's status. This property is read-only.
	StatusCode string `json:"statusCode,omitempty"`
	// When **true,** email notifications are suppressed for the recipient, and they must access envelopes and documents from their DocuSign inbox.
	SuppressEmails Bool `json:"suppressEmails,omitempty"`
	// A list of tabs, which are represented graphically as symbols on documents at the time of signing. Tabs show recipients where to sign, initial, or enter data. They may also display data to the recipients.
	Tabs *Tabs `json:"tabs,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// The total number of tabs in the documents. This property is read-only.
	TotalTabCount string `json:"totalTabCount,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

InPersonSigner contains information about an in-person recipient. This is a DocuSign user, acting as a Signing Host, who is in the same physical location as the signer. To learn about the fields used for the eNotary feature, see the [EnvelopeRecipients resource][resource].

[resource]: /docs/esign-rest-api/reference/envelopes/enveloperecipients/#in-person-signer-recipient

type InitialHere

type InitialHere struct {
	TabBase
	TabGuidedForm
	TabPosition
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// Reserved for DocuSign.
	HandDrawRequired string `json:"handDrawRequired,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The name of the tab. For example, `Sign Here` or `Initial Here`.
	//
	// If the `tooltip` attribute is not set, this value will be displayed as the custom tooltip text.
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// When **true,** the recipient does not need to complete this tab to complete the signing process.
	Optional Bool `json:"optional,omitempty"`
	// Metadata that indicates whether the `optional` property is editable.
	OptionalMetadata *PropertyMetadata `json:"optionalMetadata,omitempty"`
	//  Sets the size for the InitialHere tab. It can be value from 0.5 to 1.0, where 1.0 represents full size and 0.5 is 50% size.
	ScaleValue string `json:"scaleValue,omitempty"`
	// Metadata that indicates whether the `scaleValue` property is editable.
	ScaleValueMetadata *PropertyMetadata `json:"scaleValueMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

InitialHere is a tab that allows the recipient to initial the document. May be optional.

type InlineTemplate

type InlineTemplate struct {
	// An optional array of strings that enables the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each `customField` string can be a maximum of 100 characters.
	CustomFields *CustomFields `json:"customFields,omitempty"`
	// A complex element that contains details about the documents associated with the envelope.
	Documents []Document `json:"documents,omitempty"`
	// A container used to send documents to recipients. The envelope carries information about the sender and timestamps to indicate the progress of the delivery procedure. It can contain collections of Documents, Tabs and Recipients.
	Envelope *Envelope `json:"envelope,omitempty"`
	// An array of recipient objects that provides details about the recipients of the envelope.
	Recipients *Recipients `json:"recipients,omitempty"`
	// Specifies the order in which templates are overlaid.
	Sequence string `json:"sequence,omitempty"`
}

InlineTemplate not described in definition file

type IntegratedConnectUserInfoList added in v0.10.0

type IntegratedConnectUserInfoList struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
	// User management information.
	Users []ConnectUserInfo `json:"users,omitempty"`
}

IntegratedConnectUserInfoList not described in definition file

type IntegratedUserInfoList

type IntegratedUserInfoList struct {
	//
	AllUsersSelected string `json:"allUsersSelected,omitempty"`
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
	// User management information.
	Users []UserInfo `json:"users,omitempty"`
}

IntegratedUserInfoList not described in definition file

type Intermediary

type Intermediary struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// Metadata that indicates whether the `accessCode` property is editable. This property is read-only.
	AccessCodeMetadata *PropertyMetadata `json:"accessCodeMetadata,omitempty"`
	// Optional. When **true,** the access code will be added to the email sent to the recipient. This nullifies the security measure of `accessCode` on the recipient.
	AddAccessCodeToEmail string `json:"addAccessCodeToEmail,omitempty"`
	// An array of additional notification objects.
	AdditionalNotifications []RecipientAdditionalNotification `json:"additionalNotifications,omitempty"`
	// When **true,** if the recipient is locked on a template, advanced recipient routing can override the lock.
	AllowSystemOverrideForLockedRecipient Bool `json:"allowSystemOverrideForLockedRecipient,omitempty"`
	// Error message provided by the destination email system. This field is only provided if the email notification to the recipient fails to send. This property is read-only.
	//
	AutoRespondedReason string `json:"autoRespondedReason,omitempty"`
	// Specifies whether the recipient is embedded or remote.
	//
	// If the `clientUserId` property is not null then the recipient is embedded. Use this field to associate the signer with their userId in your app. Authenticating the user is the responsibility of your app when you use embedded signing.
	//
	// Note: if the `clientUserId` property is set and either `SignerMustHaveAccount` or `SignerMustLoginToSign` property of the account settings is set to  **true,** an error is generated on sending.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// Indicates the number of times that the recipient has been through a signing completion for the envelope. If this number is greater than 0 for a signing group, only the user who previously completed may sign again. This property is read-only.
	CompletedCount string `json:"completedCount,omitempty"`
	//
	ConsentDetailsList []ConsentDetails `json:"consentDetailsList,omitempty"`
	// An optional array of strings that allows the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each customField string can be a maximum of 100 characters.
	CustomFields []string `json:"customFields,omitempty"`
	// The date and time the recipient declined the document. This property is read-only.
	DeclinedDateTime *time.Time `json:"declinedDateTime,omitempty"`
	// The reason the recipient declined the document. This property is read-only.
	DeclinedReason string `json:"declinedReason,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime *time.Time `json:"deliveredDateTime,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethodMetadata *PropertyMetadata `json:"deliveryMethodMetadata,omitempty"`
	// Reserved for DocuSign.
	DesignatorID string `json:"designatorId,omitempty"`
	// Reserved for DocuSign.
	DesignatorIDGUID string `json:"designatorIdGuid,omitempty"`
	// A list of `documentVisibility` objects. Each object in the list specifies whether a document in the envelope is visible to this recipient. For the envelope to use this functionality, Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true.**
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
	// The recipient's email address. Notification of the document to sign is sent to this email address.
	//
	// Maximum length: 100 characters.
	Email string `json:"email,omitempty"`
	// Metadata that indicates whether the `email` property is editable. This property is read-only.
	EmailMetadata *PropertyMetadata `json:"emailMetadata,omitempty"`
	// An optional complex type that sets a specific email subject and body for this recipient's notification email.
	//
	// **Note:** You can set the `emailNotification` property separately for each recipient. If you set the value only for certain recipients, the other recipients will inherit the this value from the top-level `emailSubject` and `emailBlurb`.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	//
	EmailRecipientPostSigningURL string `json:"emailRecipientPostSigningURL,omitempty"`
	// Specifies a sender-provided valid URL string for redirecting an embedded recipient. When using this option, the embedded recipient still receives an email from DocuSign, just as a remote recipient would. When the document link in the email is clicked the recipient is redirected, through DocuSign, to the supplied URL to complete their actions. When routing to the URL, the sender's system (the server responding to the URL) must request a recipient token to launch a signing session.
	//
	// When `SIGN_AT_DOCUSIGN`, the recipient is directed to an embedded signing or viewing process directly at DocuSign. The signing or viewing action is initiated by the DocuSign system and the transaction activity and Certificate of Completion records will reflect this. In all other ways the process is identical to an embedded signing or viewing operation launched by a partner.
	//
	// It is important to understand that in a typical embedded workflow, the authentication of an embedded recipient is the responsibility of the sending application. DocuSign expects that senders will follow their own processes for establishing the recipient's identity. In this workflow the recipient goes through the sending application before the embedded signing or viewing process is initiated. However, when the sending application sets `EmbeddedRecipientStartURL=SIGN_AT_DOCUSIGN`, the recipient goes directly to the embedded signing or viewing process, bypassing the sending application and any authentication steps the sending application would use. In this case, DocuSign recommends that you use one of the normal DocuSign authentication features (Access Code, Phone Authentication, SMS Authentication, etc.) to verify the identity of the recipient.
	//
	// If the `clientUserId` property is NOT set, and the `embeddedRecipientStartURL` is set, DocuSign will ignore the redirect URL and launch the standard signing process for the email recipient. Information can be appended to the embedded recipient start URL using merge fields. The available merge fields items are: `envelopeId`, `recipientId`, `recipientName`, `recipientEmail`, and `customFields`. The `customFields` property must be set for the recipient or envelope. The merge fields are enclosed in double brackets.
	//
	// *Example*:
	//
	// `http://senderHost/[[mergeField1]]/ beginSigningSession? [[mergeField2]]&[[mergeField3]]`
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Specifies the documents that are not visible to this recipient. Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true** for the envelope to use this.
	//
	// When enforce signer visibility is enabled, documents with tabs can only be viewed by signers that have a tab on that document. Recipients that have an administrative role (Agent, Editor, or Intermediaries) or informational role (Certified Deliveries or Carbon Copies) can always see all the documents in an envelope, unless they are specifically excluded using this setting when an envelope is sent. Documents that do not have tabs are always visible to all recipients, unless they are specifically excluded using this setting when an envelope is sent.
	ExcludedDocuments Bool `json:"excludedDocuments,omitempty"`
	// Reserved for DocuSign.
	FaxNumber string `json:"faxNumber,omitempty"`
	// Reserved for DocuSign.
	FaxNumberMetadata *PropertyMetadata `json:"faxNumberMetadata,omitempty"`
	// The recipient's first name. Maximum Length: 50 characters.
	FirstName string `json:"firstName,omitempty"`
	// Metadata that indicates whether the `firstName` property is editable. This property is read-only.
	FirstNameMetadata *PropertyMetadata `json:"firstNameMetadata,omitempty"`
	// Reserved for DocuSign.
	FullName string `json:"fullName,omitempty"`
	// Reserved for DocuSign.
	FullNameMetadata *PropertyMetadata `json:"fullNameMetadata,omitempty"`
	// The name of the authentication check to use. This value must match one of the authentication types that the account uses. The names of these authentication types appear in the web console sending interface in the Identify list for a recipient. This setting overrides any default authentication setting. Valid values are:
	//
	// - `Phone Auth $`: The recipient must authenticate by using two-factor authentication (2FA). You provide the phone number to use for 2FA in the `phoneAuthentication` object.
	// - `SMS Auth $`: The recipient must authenticate via SMS. You provide the phone number to use in the `smsAuthentication` object.
	// - `ID Check $`: The  recipient must answer detailed security questions.
	//
	// **Example:** Your account has ID Check and SMS Authentication available. In the web console Identify list, these appear as ID Check $ and SMS Auth $. To use ID Check in an envelope, the idCheckConfigurationName should be ID Check $. For SMS, you would use SMS Auth $, and you would also need to add a phone number to the smsAuthentication node.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// Metadata that indicates whether the `idCheckConfigurationName` property is editable. This property is read-only.
	IDCheckConfigurationNameMetadata *PropertyMetadata `json:"idCheckConfigurationNameMetadata,omitempty"`
	// An object that contains input information related to a recipient ID check.
	IDCheckInformationInput *IDCheckInformationInput `json:"idCheckInformationInput,omitempty"`
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification *RecipientIdentityVerification `json:"identityVerification,omitempty"`
	// When **true** and the envelope recipient creates a DocuSign account after signing, the Manage Account Email Notification settings are used as the default settings for the recipient's account.
	InheritEmailNotificationConfiguration Bool `json:"inheritEmailNotificationConfiguration,omitempty"`
	// The recipient's last name.
	LastName string `json:"lastName,omitempty"`
	// Metadata that indicates whether the `lastName` property is editable. This property is read-only.
	LastNameMetadata *PropertyMetadata `json:"lastNameMetadata,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientPhoneAuthEditable string `json:"lockedRecipientPhoneAuthEditable,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientSmsEditable string `json:"lockedRecipientSmsEditable,omitempty"`
	// The full legal name of the recipient. Maximum Length: 100 characters.
	//
	// **Note:** You must always set a value for this property in requests, even if `firstName` and `lastName` are set.
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// A note sent to the recipient in the signing email.
	// This note is unique to this recipient.
	// In the user interface,
	// it appears near the upper left corner
	// of the document
	// on the signing screen.
	//
	// Maximum Length: 1000 characters.
	//
	Note string `json:"note,omitempty"`
	// Metadata that indicates whether the `note` property is editable. This property is read-only.
	NoteMetadata *PropertyMetadata `json:"noteMetadata,omitempty"`
	// When `idCheckConfigurationName` is set to `Phone Auth $`, you use this complex type to provide the recipient authentication method details. It contains the following elements:
	//
	// * `recipMayProvideNumber`: Boolean. When **true,** the recipient can use whatever phone number they choose.
	// * `senderProvidedNumbers`: ArrayOfStrings.  A list of phone numbers the recipient can use.
	// * `recordVoicePrint`: Reserved for DocuSign.
	// * `validateRecipProvidedNumber`: Reserved for DocuSign.
	//
	//
	PhoneAuthentication Bool `json:"phoneAuthentication,omitempty"`
	// Describes the recipient phone number.
	PhoneNumber *RecipientPhoneNumber `json:"phoneNumber,omitempty"`
	// Reserved for DocuSign.
	RecipientAttachments []RecipientAttachment `json:"recipientAttachments,omitempty"`
	// Information about the recipient's authentication status. This property is read-only.
	RecipientAuthenticationStatus *AuthenticationStatus `json:"recipientAuthenticationStatus,omitempty"`
	// Metadata about the features that are supported for the recipient type. This property is read-only.
	RecipientFeatureMetadata []FeatureAvailableMetadata `json:"recipientFeatureMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// The recipient type, as specified by the following values:
	// - `agent`: Agent recipients can add name and email information for recipients that appear after the agent in routing order.
	// - `carbonCopy`: Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date, or add information to any of the documents. This type of recipient can be used in any routing order.
	// - `certifiedDelivery`: Certified delivery recipients must receive the completed documents for the envelope to be completed. They don't need to sign, initial, date, or add information to any of the documents.
	// - `editor`: Editors have the same management and access rights for the envelope as the sender. Editors can add name and email information, add or change the routing order, set authentication options, and can edit signature/initial tabs and data fields for the remaining recipients.
	// - `inPersonSigner`: In-person recipients are DocuSign users who act as signing hosts in the same physical location as the signer.
	// - `intermediaries`: Intermediary recipients can optionally add name and email information for recipients at the same or subsequent level in the routing order.
	// - `seal`: Electronic seal recipients represent legal entities.
	// - `signer`: Signers are recipients who must sign, initial, date, or add data to form fields on the documents in the envelope.
	// - `witness`: Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.
	RecipientType string `json:"recipientType,omitempty"`
	// Metadata that indicates whether the `recipientType` property is editable. This property is read-only.
	RecipientTypeMetadata *PropertyMetadata `json:"recipientTypeMetadata,omitempty"`
	// When **true,** the recipient is required to use the specified ID check method (including Phone and SMS authentication) to validate their identity.
	RequireIDLookup Bool `json:"requireIdLookup,omitempty"`
	// Metadata that indicates whether the `requireIdLookup` property is editable. This property is read-only.
	RequireIDLookupMetadata *PropertyMetadata `json:"requireIdLookupMetadata,omitempty"`
	// Optional element. Specifies the role name associated with the recipient.<br/><br/>This property is required when you are working with template recipients.
	RoleName string `json:"roleName,omitempty"`
	// Specifies the routing order of the recipient in the envelope.
	RoutingOrder string `json:"routingOrder,omitempty"`
	// Metadata that indicates whether the `routingOrder` property is editable. This property is read-only.
	RoutingOrderMetadata *PropertyMetadata `json:"routingOrderMetadata,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime *time.Time `json:"sentDateTime,omitempty"`
	// Reserved for DocuSign.
	SignedDateTime *time.Time `json:"signedDateTime,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// Metadata that indicates whether the `signingGroupId` property is editable. This property is read-only.
	SigningGroupIDMetadata *PropertyMetadata `json:"signingGroupIdMetadata,omitempty"`
	// Optional. The name of the signing group.
	//
	// Maximum Length: 100 characters.
	SigningGroupName string `json:"signingGroupName,omitempty"`
	// A complex type that contains information about users in the signing group.
	SigningGroupUsers []UserInfo `json:"signingGroupUsers,omitempty"`
	// When `idCheckConfigurationName` is set to `SMS Auth $`, you use this complex type to provide the recipient authentication method details. It contains the element `senderProvidedNumbers`, which is an array of phone numbers that the recipient can use for SMS text authentication.
	//
	//
	SmsAuthentication *RecipientSMSAuthentication `json:"smsAuthentication,omitempty"`
	// Deprecated.
	SocialAuthentications []SocialAuthentication `json:"socialAuthentications,omitempty"`
	// The recipient's status. This property is read-only.
	//
	// Valid values:
	//
	// - `autoresponded`: The recipient�s email system auto-responded to the email from DocuSign. This status is used in the web console to inform senders about the bounced-back email. This recipient status is only used if **Send-on-behalf-of** is turned off for the account.
	// - `completed`: The recipient has completed their actions (signing or other required actions if not a signer) for an envelope.
	// - `created`: The recipient is in a draft state. This value is only associated with draft envelopes (envelopes that have a status of `created`).
	// - `declined`: The recipient declined to sign the documents in the envelope.
	// - `delivered`: The recipient has viewed the documents in an envelope through the DocuSign signing website. This is not an email delivery of the documents in an envelope.
	// - `faxPending`: The recipient has finished signing and the system is waiting for a fax attachment from the recipient before completing their signing step.
	// - `sent`: The recipient has been sent an email notification that it is their turn to sign an envelope.
	// - `signed`: The recipient has completed (signed) all required tags in an envelope. This is a temporary state during processing, after which the recipient's status automatically switches to `completed`.
	//
	Status string `json:"status,omitempty"`
	// The code associated with the recipient's status. This property is read-only.
	StatusCode string `json:"statusCode,omitempty"`
	// When **true,** email notifications are suppressed for the recipient, and they must access envelopes and documents from their DocuSign inbox.
	SuppressEmails Bool `json:"suppressEmails,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// The total number of tabs in the documents. This property is read-only.
	TotalTabCount string `json:"totalTabCount,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

Intermediary contains information about an intermediary recipient. An intermediary is a recipient who can, but is not required to, add name and email information for recipients at the same or subsequent level in the routing order, unless subsequent agents, editors or intermediaries are added.

type Jurisdiction

type Jurisdiction struct {
	// When **true,** the seal can be generated by the platform.
	AllowSystemCreatedSeal Bool `json:"allowSystemCreatedSeal,omitempty"`
	// When **true,** the seal can be uploaded by the user.
	AllowUserUploadedSeal Bool `json:"allowUserUploadedSeal,omitempty"`
	// When **true,** the notary's `comissionId` appears in the seal.
	CommissionIDInSeal Bool `json:"commissionIdInSeal,omitempty"`
	// The county of the jurisdiction.
	County string `json:"county,omitempty"`
	// When **true,** the county name appears in the seal.
	CountyInSeal Bool `json:"countyInSeal,omitempty"`
	// When **true,** this jurisdiction is enabled.
	Enabled Bool `json:"enabled,omitempty"`
	// The ID of the jurisdiction.
	// The following jurisdictions
	// are supported:
	//
	// -  `5 - California`
	// -  `6 - Colorado`
	// -  `9 - Florida`
	// -  `10 - Georgia`
	// -  `12 - Idaho`
	// -  `13 - Illinois`
	// -  `14 - Indiana`
	// -  `15 - Iowa`
	// -  `17 - Kentucky`
	// -  `23 - Minnesota`
	// -  `25 - Missouri`
	// -  `30 - New Jersey`
	// -  `32 - New York`
	// -  `33 - North Carolina`
	// -  `35 - Ohio`
	// -  `37 - Oregon`
	// -  `38 - Pennsylvania`
	// -  `40 - South Carolina`
	// -  `43 - Texas`
	// -  `44 - Utah`
	// -  `47 - Washington`
	// -  `48 - West Virginia`
	// -  `49 - Wisconsin`
	// -  `62 - Florida Commissioner of Deeds`
	//
	JurisdictionID string `json:"jurisdictionId,omitempty"`
	// The name of the jurisdiction. Typically the state name.
	Name string `json:"name,omitempty"`
	// When **true,** the name of the notary appears in the seal.
	NotaryPublicInSeal Bool `json:"notaryPublicInSeal,omitempty"`
	// When **true,** the name of the state appears in the seal.
	StateNameInSeal Bool `json:"stateNameInSeal,omitempty"`
}

Jurisdiction describes the jurisdiction of a notary. This is read-only object.

type LastName

type LastName struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

LastName is a tab that displays the recipient's last name. This tab takes the recipient's name as entered in the recipient information, splits it into sections based on spaces and uses the last section as the last name.

type LinkedExternalPrimaryAccount added in v0.10.0

type LinkedExternalPrimaryAccount struct {
	// The name on the account.
	AccountName string `json:"accountName,omitempty"`
	//
	ConfigurationID string `json:"configurationId,omitempty"`
	//
	Email string `json:"email,omitempty"`
	//
	LinkID string `json:"linkId,omitempty"`
	//
	PdfFieldHandlingOption string `json:"pdfFieldHandlingOption,omitempty"`
	//
	RecipientAuthRequirements *ExternalPrimaryAccountRecipientAuthRequirements `json:"recipientAuthRequirements,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * `sent` - The envelope is sent to the recipients.
	// * `created` - The envelope is saved as a draft and can be modified to be sent later.
	Status string `json:"status,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

LinkedExternalPrimaryAccount not described in definition file

type List

type List struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// When **true,** the information in the tab is bold.
	Bold Bool `json:"bold,omitempty"`
	// Metadata that indicates whether the `bold` property is editable.
	BoldMetadata *PropertyMetadata `json:"boldMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The font to be used for the tab value. Supported fonts include:
	//
	// - Default
	// - Arial
	// - ArialNarrow
	// - Calibri
	// - CourierNew
	// - Garamond
	// - Georgia
	// - Helvetica
	// - LucidaConsole
	// - MSGothic
	// - MSMincho
	// - OCR-A
	// - Tahoma
	// - TimesNewRoman
	// - Trebuchet
	// - Verdana
	//
	Font string `json:"font,omitempty"`
	// The font color to use for the information in the tab. Possible values are:
	//
	// - Black
	// - BrightBlue
	// - BrightRed
	// - DarkGreen
	// - DarkRed
	// - Gold
	// - Green
	// - NavyBlue
	// - Purple
	// - White
	//
	FontColor string `json:"fontColor,omitempty"`
	// Metadata that indicates whether the `fontColor` property is editable.
	FontColorMetadata *PropertyMetadata `json:"fontColorMetadata,omitempty"`
	// Metadata that indicates whether the `font` property is editable.
	FontMetadata *PropertyMetadata `json:"fontMetadata,omitempty"`
	// The font size used for the information in the tab. Possible values are:
	//
	// - Size7
	// - Size8
	// - Size9
	// - Size10
	// - Size11
	// - Size12
	// - Size14
	// - Size16
	// - Size18
	// - Size20
	// - Size22
	// - Size24
	// - Size26
	// - Size28
	// - Size36
	// - Size48
	// - Size72
	FontSize string `json:"fontSize,omitempty"`
	// Metadata that indicates whether the `fontSize` property is editable.
	FontSizeMetadata *PropertyMetadata `json:"fontSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,** the information in the tab is italic.
	Italic Bool `json:"italic,omitempty"`
	// Metadata that indicates whether the `italic` property is editable.
	ItalicMetadata *PropertyMetadata `json:"italicMetadata,omitempty"`
	// The list of values that can be selected by senders. The list values are separated by semi-colons. Example: [one;two;three;four]
	//
	// Maximum Length of listItems:  2048 characters.
	// Maximum Length of items in the list: 100 characters.
	//
	ListItems []ListItem `json:"listItems,omitempty"`
	// The value in the list that is selected by default.
	ListSelectedValue string `json:"listSelectedValue,omitempty"`
	// Metadata that indicates whether the `listSelectedValue` property is editable.
	ListSelectedValueMetadata *PropertyMetadata `json:"listSelectedValueMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true** and shared is true, information must be entered in this field to complete the envelope.
	RequireAll Bool `json:"requireAll,omitempty"`
	// Metadata that indicates whether the `requireAll` property is editable.
	RequireAllMetadata *PropertyMetadata `json:"requireAllMetadata,omitempty"`
	// Optional element for field markup. When **true,** the signer is required to initial when they modify a shared field.
	RequireInitialOnSharedChange Bool `json:"requireInitialOnSharedChange,omitempty"`
	// Metadata that indicates whether the `requireInitialOnSharedChange` property is editable.
	RequireInitialOnSharedChangeMetadata *PropertyMetadata `json:"requireInitialOnSharedChangeMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// When **true,** the sender must populate the tab before an envelope can be sent using the template.
	//
	// This value tab can only be changed by modifying (PUT) the template.
	//
	// Tabs with a `senderRequired` value of true cannot be deleted from an envelope.
	SenderRequired Bool `json:"senderRequired,omitempty"`
	// Metadata that indicates whether the `senderRequired` property is editable.
	SenderRequiredMetadata *PropertyMetadata `json:"senderRequiredMetadata,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipients string `json:"shareToRecipients,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipientsMetadata *PropertyMetadata `json:"shareToRecipientsMetadata,omitempty"`
	// When **true,** this custom tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// When **true,** the information in the tab is underlined.
	Underline Bool `json:"underline,omitempty"`
	// Metadata that indicates whether the `underline` property is editable.
	UnderlineMetadata *PropertyMetadata `json:"underlineMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

List this tab offers a list of options to choose from. The `listItems` property contains a list of [`listItem`](/docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/) objects to specify the selectable options.

type ListCustomField

type ListCustomField struct {
	// If you are using merge fields, this property specifies the type of the merge field. The only supported value is `salesforce`.
	ConfigurationType string `json:"configurationType,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The ID of the custom field.
	FieldID string `json:"fieldId,omitempty"`
	// An array of strings that represents the options in a list.
	//
	// Maximum length: 2048 characters, but each individual option string can only be a maximum of 100 characters.
	ListItems []string `json:"listItems,omitempty"`
	// The name of the custom field.
	Name string `json:"name,omitempty"`
	// When **true,** senders are required to select an option from the list before they can send the envelope.
	Required Bool `json:"required,omitempty"`
	// When **true,** the field displays in the **Envelope Custom Fields** section when a user creates or sends an envelope.
	Show Bool `json:"show,omitempty"`
	// The value of the custom field. This is the value that the user who creates or sends the envelope selects from the list.
	Value string `json:"value,omitempty"`
}

ListCustomField this object represents a list custom field from which envelope creators and senders can select custom data.

type ListItem

type ListItem struct {
	// When **true,** indicates that this item is the default selection shown to a signer.
	//
	// Only one selection can be set as the default.
	Selected Bool `json:"selected,omitempty"`
	// Metadata that indicates whether the `selected` property is editable.
	SelectedMetadata *PropertyMetadata `json:"selectedMetadata,omitempty"`
	// Specifies the text that is shown in the dropdown list.
	Text string `json:"text,omitempty"`
	//
	TextMetadata *PropertyMetadata `json:"textMetadata,omitempty"`
	// Specifies the value that is used when the list item is selected.
	Value string `json:"value,omitempty"`
	// Metadata that indicates whether the `value` property is editable.
	ValueMetadata *PropertyMetadata `json:"valueMetadata,omitempty"`
}

ListItem one of the selectable items in the `listItems` property of a [`list`](/docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/) tab.

type LocalePolicy

type LocalePolicy struct {
	//
	AddressFormat string `json:"addressFormat,omitempty"`
	//
	AddressFormatMetadata *SettingsMetadata `json:"addressFormatMetadata,omitempty"`
	//
	AllowRegion string `json:"allowRegion,omitempty"`
	//
	CalendarType string `json:"calendarType,omitempty"`
	//
	CalendarTypeMetadata *SettingsMetadata `json:"calendarTypeMetadata,omitempty"`
	//
	CultureName string `json:"cultureName,omitempty"`
	//
	CultureNameMetadata *SettingsMetadata `json:"cultureNameMetadata,omitempty"`
	// The currency code for the account, based on the [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html).
	CurrencyCode string `json:"currencyCode,omitempty"`
	// Metadata that indicates whether the `currencyCode` property is editable.
	CurrencyCodeMetadata *SettingsMetadata `json:"currencyCodeMetadata,omitempty"`
	//
	CurrencyNegativeFormat string `json:"currencyNegativeFormat,omitempty"`
	//
	CurrencyNegativeFormatMetadata *SettingsMetadata `json:"currencyNegativeFormatMetadata,omitempty"`
	//
	CurrencyPositiveFormat string `json:"currencyPositiveFormat,omitempty"`
	//
	CurrencyPositiveFormatMetadata *SettingsMetadata `json:"currencyPositiveFormatMetadata,omitempty"`
	//
	CustomDateFormat string `json:"customDateFormat,omitempty"`
	//
	CustomSignDateFormat string `json:"customSignDateFormat,omitempty"`
	//
	CustomSignTimeFormat string `json:"customSignTimeFormat,omitempty"`
	//
	CustomTimeFormat string `json:"customTimeFormat,omitempty"`
	//
	DateFormat string `json:"dateFormat,omitempty"`
	//
	DateFormatMetadata *SettingsMetadata `json:"dateFormatMetadata,omitempty"`
	//
	EffectiveAddressFormat string `json:"effectiveAddressFormat,omitempty"`
	//
	EffectiveCalendarType string `json:"effectiveCalendarType,omitempty"`
	//
	EffectiveCurrencyCode string `json:"effectiveCurrencyCode,omitempty"`
	//
	EffectiveCurrencyNegativeFormat string `json:"effectiveCurrencyNegativeFormat,omitempty"`
	//
	EffectiveCurrencyPositiveFormat string `json:"effectiveCurrencyPositiveFormat,omitempty"`
	//
	EffectiveCustomDateFormat string `json:"effectiveCustomDateFormat,omitempty"`
	//
	EffectiveCustomTimeFormat string `json:"effectiveCustomTimeFormat,omitempty"`
	//
	EffectiveDateFormat string `json:"effectiveDateFormat,omitempty"`
	//
	EffectiveInitialFormat string `json:"effectiveInitialFormat,omitempty"`
	//
	EffectiveNameFormat string `json:"effectiveNameFormat,omitempty"`
	//
	EffectiveTimeFormat string `json:"effectiveTimeFormat,omitempty"`
	//
	EffectiveTimeZone string `json:"effectiveTimeZone,omitempty"`
	//
	InitialFormat string `json:"initialFormat,omitempty"`
	//
	InitialFormatMetadata *SettingsMetadata `json:"initialFormatMetadata,omitempty"`
	//
	NameFormat string `json:"nameFormat,omitempty"`
	//
	NameFormatMetadata *SettingsMetadata `json:"nameFormatMetadata,omitempty"`
	// The format for the signature date. Valid values are:
	//
	// - `d/M/yyyy`
	// - `dd-MM-yy`
	// - `dd-MMM-yy`
	// - `dd-MM-yyyy`
	// - `dd.MM.yyyy`
	// - `dd-MMM-yyyy`
	// - `dd MMMM yyyy`
	// - `M/d/yyyy`
	// - `MM-dd-yyyy`
	// - `MM/dd/yyyy`
	// - `MM/dd/yy`
	// - `MMM-dd-yyyy`
	// - `MMM d, yyyy`
	// - `MMMM d, yyyy`
	// - `yyyy-MM-dd`
	// - `yyyy-MMM-dd`
	// - `yyyy/MM/dd`
	// - `yyyy MMMM d`
	//
	// **Note:** Only Admin users can change this setting.
	//
	SignDateFormat string `json:"signDateFormat,omitempty"`
	// Metadata that indicates whether the `signDateFormat` property is editable.
	//
	SignDateFormatMetadata *SettingsMetadata `json:"signDateFormatMetadata,omitempty"`
	// The format for the signature time. Valid values are:
	//
	// - `none`
	// - `HH:mm`
	// - `h:mm`
	// - `HH:mm:ss`
	// - `h:mm:ss`
	//
	SignTimeFormat string `json:"signTimeFormat,omitempty"`
	// Metadata that indicates whether the `signTimeFormat` property is editable.
	//
	SignTimeFormatMetadata *SettingsMetadata `json:"signTimeFormatMetadata,omitempty"`
	//
	TimeFormat string `json:"timeFormat,omitempty"`
	//
	TimeFormatMetadata *SettingsMetadata `json:"timeFormatMetadata,omitempty"`
	//
	TimeZone string `json:"timeZone,omitempty"`
	//
	TimeZoneMetadata *SettingsMetadata `json:"timeZoneMetadata,omitempty"`
}

LocalePolicy not described in definition file

type LocalePolicyTab

type LocalePolicyTab struct {
	//
	AddressFormat string `json:"addressFormat,omitempty"`
	//
	CalendarType string `json:"calendarType,omitempty"`
	//
	CultureName string `json:"cultureName,omitempty"`
	// The currency code for the account, based on the [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html).
	CurrencyCode string `json:"currencyCode,omitempty"`
	//
	CurrencyNegativeFormat string `json:"currencyNegativeFormat,omitempty"`
	//
	CurrencyPositiveFormat string `json:"currencyPositiveFormat,omitempty"`
	//
	CustomDateFormat string `json:"customDateFormat,omitempty"`
	//
	CustomTimeFormat string `json:"customTimeFormat,omitempty"`
	//
	DateFormat string `json:"dateFormat,omitempty"`
	//
	InitialFormat string `json:"initialFormat,omitempty"`
	//
	NameFormat string `json:"nameFormat,omitempty"`
	//
	TimeFormat string `json:"timeFormat,omitempty"`
	//
	TimeZone string `json:"timeZone,omitempty"`
}

LocalePolicyTab not described in definition file

type LockInformation

type LockInformation struct {
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The number of seconds until the lock expires when there is no activity on the template.
	//
	// If no value is entered, then the default value of 300 seconds is used. The maximum value is 1,800 seconds.
	//
	// The lock duration can be extended.
	//
	LockDurationInSeconds string `json:"lockDurationInSeconds,omitempty"`
	// A unique identifier provided to the owner of the lock. You must use this token with subsequent calls to prove ownership of the lock.
	LockToken string `json:"lockToken,omitempty"`
	// The type of lock.  Currently `edit` is the only supported type.
	LockType string `json:"lockType,omitempty"`
	// Specifies the friendly name of  the application that is locking the envelope.
	LockedByApp string `json:"lockedByApp,omitempty"`
	// A complex type containing information about the user that has the envelope or template locked.
	LockedByUser *UserInfo `json:"lockedByUser,omitempty"`
	// The date and time that the lock expires.
	LockedUntilDateTime *time.Time `json:"lockedUntilDateTime,omitempty"`
	// When **true,** a scratchpad is used to edit information.
	//
	UseScratchPad Bool `json:"useScratchPad,omitempty"`
}

LockInformation this section provides information about template locks. You use template locks to prevent others from making changes to a template while you are modifying it.

type LockRequest

type LockRequest struct {
	// The number of seconds to lock the envelope for editing.  Must be greater than 0 seconds.
	LockDurationInSeconds string `json:"lockDurationInSeconds,omitempty"`
	// The type of lock.  Currently `edit` is the only supported type.
	LockType string `json:"lockType,omitempty"`
	// A friendly name of the application used to lock the envelope.  Will be used in error messages to the user when lock conflicts occur.
	LockedByApp string `json:"lockedByApp,omitempty"`
	// The [password for the template](https://support.docusign.com/en/guides/ndse-user-guide-template-passwords). If you are using a lock for a template that has a password or an envelope that is based on a template that has a password, you must enter the `templatePassword` to save the changes.
	TemplatePassword string `json:"templatePassword,omitempty"`
	// When **true,** a scratchpad is used to edit information.
	//
	UseScratchPad Bool `json:"useScratchPad,omitempty"`
}

LockRequest this request object contains information about the lock that you want to create or update.

type LoginAccount

type LoginAccount struct {
	// The account ID associated with the envelope.
	AccountID string `json:"accountId,omitempty"`
	// The GUID associated with the account ID.
	AccountIDGUID string `json:"accountIdGuid,omitempty"`
	// The URL that should be used for successive calls to this account. It includes the protocal (https), the DocuSign server where the account is located, and the account number. Use this Url to make API calls against this account. Many of the API calls provide Uri's that are relative to this baseUrl.
	BaseURL string `json:"baseUrl,omitempty"`
	// The email address for the user.
	Email string `json:"email,omitempty"`
	// This value is true if this is the default account for the user, otherwise false is returned.
	IsDefault Bool `json:"isDefault,omitempty"`
	// A list of settings on the account that indicate what features are available.
	LoginAccountSettings []NameValue `json:"loginAccountSettings,omitempty"`
	// A list of user-level settings that indicate what user-specific features are available.
	LoginUserSettings []NameValue `json:"loginUserSettings,omitempty"`
	// The name associated with the account.
	Name string `json:"name,omitempty"`
	// An optional descirption of the site that hosts the account.
	SiteDescription string `json:"siteDescription,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
	// The name of this user as defined by the account.
	UserName string `json:"userName,omitempty"`
}

LoginAccount not described in definition file

type LoginInformation

type LoginInformation struct {
	// Contains a token that can be used for authentication in API calls instead of using the user name and password. Only returned if the `api_password=true` query string is added to the URL.
	APIPassword string `json:"apiPassword,omitempty"`
	// The list of accounts that authenticating user is a member of.
	LoginAccounts []LoginAccount `json:"loginAccounts,omitempty"`
}

LoginInformation not described in definition file

type MatchBox

type MatchBox struct {
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Specifies the page number on which the tab is located.
	// Must be 1 for supplemental documents.
	//
	PageNumber string `json:"pageNumber,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// This property indicates the horizontal offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	XPosition string `json:"xPosition,omitempty"`
	// This property indicates the vertical offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	YPosition string `json:"yPosition,omitempty"`
}

MatchBox not described in definition file

type MemberGroupSharedItem

type MemberGroupSharedItem struct {
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The group sharing the item.
	Group *Group `json:"group,omitempty"`
	// How the item is shared. One of:
	//
	//
	// - `not_shared`: The item is not shared.
	//
	// - `shared_to`: The item is shared.
	Shared Bool `json:"shared,omitempty"`
}

MemberGroupSharedItem information about items shared among groups.

type MemberSharedItems

type MemberSharedItems struct {
	// List of information about shared envelopes.
	Envelopes []SharedItem `json:"envelopes,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// List of information about shared folders.
	Folders []FolderSharedItem `json:"folders,omitempty"`
	// List of information about shared templates.
	Templates []TemplateSharedItem `json:"templates,omitempty"`
	// Information about the user requesting sharing information.
	User *UserInfo `json:"user,omitempty"`
}

MemberSharedItems information about shared items.

type MergeField

type MergeField struct {
	// When **true,** the sender can modify the value of the `mergeField` tab during the sending process.
	AllowSenderToEdit Bool `json:"allowSenderToEdit,omitempty"`
	// Metadata that indicates if the sender can edit the `allowSenderToEdit` property.
	AllowSenderToEditMetadata *PropertyMetadata `json:"allowSenderToEditMetadata,omitempty"`
	// If you are using merge fields, this property specifies the type of the merge field. The only supported value is `salesforce`.
	ConfigurationType string `json:"configurationType,omitempty"`
	// Metadata that indicates if the sender can edit the `configurationType` property.
	ConfigurationTypeMetadata *PropertyMetadata `json:"configurationTypeMetadata,omitempty"`
	// Sets the object associated with the custom tab. Currently this is the Salesforce Object.
	Path string `json:"path,omitempty"`
	// Reserved for DocuSign.
	PathExtended []PathExtendedElement `json:"pathExtended,omitempty"`
	// Reserved for DocuSign.
	PathExtendedMetadata *PropertyMetadata `json:"pathExtendedMetadata,omitempty"`
	// Metadata that indicates whether the `path` property is editable.
	//
	PathMetadata *PropertyMetadata `json:"pathMetadata,omitempty"`
	// Specifies the row number in a Salesforce table that the merge field value corresponds to.
	Row string `json:"row,omitempty"`
	// Metadata that indicates whether the `row` property is editable.
	//
	RowMetadata *PropertyMetadata `json:"rowMetadata,omitempty"`
	// When **true,** data entered into the merge field during Signing will update the mapped Salesforce field.
	WriteBack Bool `json:"writeBack,omitempty"`
	// Metadata that indicates if the sender can edit the `writeBack` property.
	WriteBackMetadata *PropertyMetadata `json:"writeBackMetadata,omitempty"`
}

MergeField contains information for transferring values between Salesforce data fields and DocuSign tabs.

type MobileNotifierConfiguration

type MobileNotifierConfiguration struct {
	//
	DeviceID string `json:"deviceId,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The Platform of the client application
	Platform string `json:"platform,omitempty"`
}

MobileNotifierConfiguration not described in definition file

type MobileNotifierConfigurationInformation

type MobileNotifierConfigurationInformation struct {
	//
	MobileNotifierConfigurations []MobileNotifierConfiguration `json:"mobileNotifierConfigurations,omitempty"`
}

MobileNotifierConfigurationInformation not described in definition file

type Money

type Money struct {
	// The total payment amount
	// in the currency's base unit.
	// For example, for USD
	// the base currency is one cent.
	//
	AmountInBaseUnit string `json:"amountInBaseUnit,omitempty"`
	// The three-letter
	// [ISO 4217][ISO 4217] currency code for the payment.
	//
	// For example:
	//
	// * AUD Australian dollar
	// * CAD Canadian dollar
	// * EUR Euro
	// * GBP Great Britain pound
	// * USD United States dollar
	//
	// This is a read-only property.
	//
	// [ISO 4217]:          https://en.wikipedia.org/wiki/ISO_4217
	//
	Currency string `json:"currency,omitempty"`
	// The payment amount as displayed
	// in the `currency`.
	//
	// For example, if the payment amount
	// is USD 12.59,
	// the `amountInBaseUnit` is 1259 (cents),
	// and the displayed amount is `$12.59 USD`.
	//
	// This is a read-only property.
	//
	DisplayAmount string `json:"displayAmount,omitempty"`
}

Money describes information about the `total` of a payment.

type NameValue

type NameValue struct {
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The name of the item.
	Name string `json:"name,omitempty"`
	// The initial value of the item.
	OriginalValue string `json:"originalValue,omitempty"`
	// The current value of the item.
	Value string `json:"value,omitempty"`
}

NameValue is a name-value pair that describes an item and provides a value for the item.

func GetTabValues

func GetTabValues(tabs Tabs) []NameValue

GetTabValues returns a NameValue list of all entry tabs

type NewAccountDefinition

type NewAccountDefinition struct {
	// The account name for the new account.
	AccountName string `json:"accountName,omitempty"`
	// The list of
	// account settings accountsettings
	// that determine
	// the features available for the account.
	// Note that some features are determined
	// by the plan used to create the account and cannot be overridden.
	//
	//
	AccountSettings *AccountSettingsInformation `json:"accountSettings,omitempty"`
	// A complex type that contains the following information for the new account: `Street1`, `Street2`, `City`, `State`, `Zip`, `Phone`, and `Fax`.
	AddressInformation *AccountAddress `json:"addressInformation,omitempty"`
	// A complex type that has information about the credit card used to pay for this account.
	CreditCardInformation *CreditCardInformation `json:"creditCardInformation,omitempty"`
	// Information about the bank that processes direct debits for the payment plan.
	DirectDebitProcessorInformation *DirectDebitProcessorInformation `json:"directDebitProcessorInformation,omitempty"`
	// The Distributor Code that you received from DocuSign.
	DistributorCode string `json:"distributorCode,omitempty"`
	// The password for the `distributorCode`.
	DistributorPassword string `json:"distributorPassword,omitempty"`
	//
	EnablePreAuth string `json:"enablePreAuth,omitempty"`
	// Reserved for DocuSign.
	EnvelopePartitionID string `json:"envelopePartitionId,omitempty"`
	// A complex type with the initial user information for the new account. Note that some user information is set internally based on the plan and cannot be overridden.
	InitialUser *UserInformation `json:"initialUser,omitempty"`
	// The payment method used for the billing plan. Valid values are:
	//
	// - `NotSupported`
	// - `CreditCard`
	// - `PurchaseOrder`
	// - `Premium`
	// - `Freemium`
	// - `FreeTrial`
	// - `AppStore`
	// - `DigitalExternal`
	// - `DirectDebit`
	PaymentMethod string `json:"paymentMethod,omitempty"`
	//
	PaymentProcessor string `json:"paymentProcessor,omitempty"`
	// Information about the entity that processes payments for the billing plan.
	PaymentProcessorInformation *PaymentProcessorInformation `json:"paymentProcessorInformation,omitempty"`
	// An object used to identify the features and attributes of the account being created.
	PlanInformation *PlanInformation `json:"planInformation,omitempty"`
	//
	ProcessPayment string `json:"processPayment,omitempty"`
	// A complex type that contains properties for entering referral and discount information.
	ReferralInformation *ReferralInformation `json:"referralInformation,omitempty"`
	// Contains properties that map a DocuSign user to a social account such as Facebook or Yahoo.
	SocialAccountInformation *SocialAccountInformation `json:"socialAccountInformation,omitempty"`
	//
	TaxExemptID string `json:"taxExemptId,omitempty"`
}

NewAccountDefinition not described in definition file

type NewAccountSummary

type NewAccountSummary struct {
	// The account ID associated with the envelope.
	AccountID string `json:"accountId,omitempty"`
	// The GUID associated with the account ID.
	AccountIDGUID string `json:"accountIdGuid,omitempty"`
	// The account name for the new account.
	AccountName string `json:"accountName,omitempty"`
	// Contains a token that can be used for authentication in API calls instead of using the user name and password.
	APIPassword string `json:"apiPassword,omitempty"`
	// The URL that should be used for successive calls to this account. It includes the protocal (https), the DocuSign server where the account is located, and the account number. Use this Url to make API calls against this account. Many of the API calls provide Uri's that are relative to this baseUrl.
	BaseURL string `json:"baseUrl,omitempty"`
	//
	BillingPlanPreview *BillingPlanPreview `json:"billingPlanPreview,omitempty"`
	// Specifies the user ID of the new user.
	UserID string `json:"userId,omitempty"`
}

NewAccountSummary not described in definition file

type NewUser

type NewUser struct {
	// Contains a token that can be used for authentication in API calls instead of using the user name and password.
	APIPassword string `json:"apiPassword,omitempty"`
	// The UTC DateTime when the item was created.
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// The user's email address.
	Email string `json:"email,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The user's membership ID.
	MembershipID string `json:"membershipId,omitempty"`
	// The ID of the permission profile.
	//
	// Use [AccountPermissionProfiles: list](/docs/esign-rest-api/reference/accounts/accountpermissionprofiles/list/)
	// to get a list of permission profiles and their IDs.
	//
	// You can also download a CSV file of all permission profiles
	// and their IDs from the **Settings > Permission Profiles** page
	// of your eSignature account page.
	//
	PermissionProfileID string `json:"permissionProfileId,omitempty"`
	// The name of the account permission profile.
	//
	// Example: `Account Administrator`
	PermissionProfileName string `json:"permissionProfileName,omitempty"`
	// A URI containing the user ID.
	URI string `json:"uri,omitempty"`
	// Specifies the user ID for the new user.
	UserID string `json:"userId,omitempty"`
	// The name of the user.
	UserName string `json:"userName,omitempty"`
	// Status of the user's account. One of:
	//
	// - `ActivationRequired`
	// - `ActivationSent`
	// - `Active`
	// - `Closed`
	// - `Disabled`
	//
	UserStatus string `json:"userStatus,omitempty"`
}

NewUser object representing a new user.

type NewUsersDefinition

type NewUsersDefinition struct {
	// A list of one or more new users.
	NewUsers []UserInformation `json:"newUsers,omitempty"`
}

NewUsersDefinition not described in definition file

type NewUsersSummary

type NewUsersSummary struct {
	// A list of one or more new users.
	NewUsers []NewUser `json:"newUsers,omitempty"`
}

NewUsersSummary object representing a summary of data for new users.

type Notarize

type Notarize struct {
	TabBase
	TabGuidedForm
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are placed. When **true,** the text string in a document must match the case of the `anchorString` property for an anchor tab to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the anchor string is `DocuSign`, then `DocuSign` will match but `Docusign`, `docusign`, `DoCuSiGn`, etc. will not match. When **false,** `DocuSign`, `Docusign`, `docusign`, `DoCuSiGn`, etc. will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	AnchorCaseSensitive string `json:"anchorCaseSensitive,omitempty"`
	// Metadata that indicates whether the `anchorCaseSensitive` property is editable.
	AnchorCaseSensitiveMetadata *PropertyMetadata `json:"anchorCaseSensitiveMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are aligned in relation to the anchor text. Possible values are :
	//
	// - `left`: Aligns the left side of the tab with the beginning of the first character of the matching anchor word. This is the default value.
	// - `right`: Aligns the tab’s left side with the last character of the matching anchor word.
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorHorizontalAlignment string `json:"anchorHorizontalAlignment,omitempty"`
	// Metadata that indicates whether the `anchorHorizontalAlignment` property is editable.
	AnchorHorizontalAlignmentMetadata *PropertyMetadata `json:"anchorHorizontalAlignmentMetadata,omitempty"`
	// When **true,** this tab is ignored if the `anchorString` is not found in the document.
	AnchorIgnoreIfNotPresent Bool `json:"anchorIgnoreIfNotPresent,omitempty"`
	// Metadata that indicates whether the `anchorIgnoreIfNotPresent` property is editable.
	AnchorIgnoreIfNotPresentMetadata *PropertyMetadata `json:"anchorIgnoreIfNotPresentMetadata,omitempty"`
	// When **true,** the text string in a document must match the value of the `anchorString` property in its entirety for an [anchor tab][AnchorTab] to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the input is `man` then `man` will match but `manpower`, `fireman`, and `penmanship` will not. When **false,** if the input is `man` then `man`, `manpower`, `fireman`, and `penmanship` will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTab]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorMatchWholeWord Bool `json:"anchorMatchWholeWord,omitempty"`
	// Metadata that indicates whether the `anchorMatchWholeWord` property is editable.
	AnchorMatchWholeWordMetadata *PropertyMetadata `json:"anchorMatchWholeWordMetadata,omitempty"`
	// Specifies the string to find in the document and use as the basis for tab placement.
	AnchorString string `json:"anchorString,omitempty"`
	// Metadata that indicates whether the `anchorString` property is editable.
	AnchorStringMetadata *PropertyMetadata `json:"anchorStringMetadata,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersion string `json:"anchorTabProcessorVersion,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersionMetadata *PropertyMetadata `json:"anchorTabProcessorVersionMetadata,omitempty"`
	// Specifies units of the
	// `anchorXOffset` and
	// `anchorYOffset`.
	// Valid units are:
	//
	// - `pixels`
	// - `inches`
	// - `mms`
	// - `cms`
	//
	AnchorUnits string `json:"anchorUnits,omitempty"`
	// Metadata that indicates whether the `anchorUnits` property is editable.
	AnchorUnitsMetadata *PropertyMetadata `json:"anchorUnitsMetadata,omitempty"`
	// Specifies the X axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorXOffset string `json:"anchorXOffset,omitempty"`
	// Metadata that indicates whether the `anchorXOffset` property is editable.
	AnchorXOffsetMetadata *PropertyMetadata `json:"anchorXOffsetMetadata,omitempty"`
	// Specifies the Y axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorYOffset string `json:"anchorYOffset,omitempty"`
	// Metadata that indicates whether the `anchorYOffset` property is editable.
	AnchorYOffsetMetadata *PropertyMetadata `json:"anchorYOffsetMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
	CustomTabID string `json:"customTabId,omitempty"`
	// Metadata that indicates whether the `customTabId` property is editable.
	CustomTabIDMetadata *PropertyMetadata `json:"customTabIdMetadata,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// Contains the information necessary to map the tab to a field in SalesForce.
	MergeField *MergeField `json:"mergeField,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// Specifies the page number on which the tab is located.
	PageNumber string `json:"pageNumber,omitempty"`
	// Metadata that indicates whether the `pageNumber` property is editable.
	PageNumberMetadata *PropertyMetadata `json:"pageNumberMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// The status of the tab. Possible values are:
	//
	// - `active`: The tab is active, but the recipient has not yet interacted with it.
	// - `signed`: The recipient signed the tab.
	// - `declined`: The recipient declined the envelope.
	// - `na`: Used when the `status` property is not applicable to the tab type. (For example, a tab that has the `tabType` `SignerAttachmentOptional`).
	Status string `json:"status,omitempty"`
	// Metadata that indicates whether the `status` property is editable.
	StatusMetadata *PropertyMetadata `json:"statusMetadata,omitempty"`
	// The unique identifier for the tab.
	TabID string `json:"tabId,omitempty"`
	// Metadata that indicates whether the `tabId` property is editable.
	TabIDMetadata *PropertyMetadata `json:"tabIdMetadata,omitempty"`
	// A positive integer that sets the order the tab is navigated to during signing.
	//
	// Tabs on a page are navigated to in ascending order, starting with the lowest number and moving to the highest. If two or more tabs have the same `tabOrder` value, the normal auto-navigation setting behavior for the envelope is used.
	TabOrder string `json:"tabOrder,omitempty"`
	// Metadata that indicates whether the `tabOrder` property is editable.
	TabOrderMetadata *PropertyMetadata `json:"tabOrderMetadata,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// Metadata that indicates whether the `templateLocked` property is editable.
	TemplateLockedMetadata *PropertyMetadata `json:"templateLockedMetadata,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// Metadata that indicates whether the `templateRequired` property is editable.
	TemplateRequiredMetadata *PropertyMetadata `json:"templateRequiredMetadata,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
	// This property indicates the horizontal offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	//
	XPosition string `json:"xPosition,omitempty"`
	// Metadata that indicates whether the `xPosition` property is editable.
	XPositionMetadata *PropertyMetadata `json:"xPositionMetadata,omitempty"`
	// This property indicates the vertical offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	//
	YPosition string `json:"yPosition,omitempty"`
	// Metadata that indicates whether the `yPosition` property is editable.
	YPositionMetadata *PropertyMetadata `json:"yPositionMetadata,omitempty"`
}

Notarize is a tab that alerts notary recipients that they must take action on the page. Only one notarize tab can appear on a page.

type Notary added in v0.10.0

type Notary struct {
	// The creation date of the account in UTC timedate format.
	CreatedDate string `json:"createdDate,omitempty"`
	//
	Enabled string `json:"enabled,omitempty"`
	//
	Searchable string `json:"searchable,omitempty"`
	// Information about the user registering to be a notary.
	UserInfo *UserInformation `json:"userInfo,omitempty"`
}

Notary use DocuSign eNotary to notarize documents digitally. Check the [DocuSign eNotary support documentation](https://support.docusign.com/en/guides/ndse-user-guide-enotary-resources) to see which jurisdictions are supported.

type NotaryHost

type NotaryHost struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// Metadata that indicates whether the `accessCode` property is editable. This property is read-only.
	AccessCodeMetadata *PropertyMetadata `json:"accessCodeMetadata,omitempty"`
	// Optional. When **true,** the access code will be added to the email sent to the recipient. This nullifies the security measure of `accessCode` on the recipient.
	AddAccessCodeToEmail string `json:"addAccessCodeToEmail,omitempty"`
	// When **true,** if the recipient is locked on a template, advanced recipient routing can override the lock.
	AllowSystemOverrideForLockedRecipient Bool `json:"allowSystemOverrideForLockedRecipient,omitempty"`
	// Error message provided by the destination email system. This field is only provided if the email notification to the recipient fails to send. This property is read-only.
	//
	AutoRespondedReason string `json:"autoRespondedReason,omitempty"`
	// Specifies whether the recipient is embedded or remote.
	//
	// If the `clientUserId` property is not null then the recipient is embedded. Use this field to associate the signer with their userId in your app. Authenticating the user is the responsibility of your app when you use embedded signing.
	//
	// Note: if the `clientUserId` property is set and either `SignerMustHaveAccount` or `SignerMustLoginToSign` property of the account settings is set to  **true,** an error is generated on sending.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// Indicates the number of times that the recipient has been through a signing completion for the envelope. If this number is greater than 0 for a signing group, only the user who previously completed may sign again. This property is read-only.
	CompletedCount string `json:"completedCount,omitempty"`
	// An optional array of strings that allows the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each customField string can be a maximum of 100 characters.
	CustomFields []string `json:"customFields,omitempty"`
	// The date and time the recipient declined the document. This property is read-only.
	DeclinedDateTime *time.Time `json:"declinedDateTime,omitempty"`
	// The reason the recipient declined the document. This property is read-only.
	DeclinedReason string `json:"declinedReason,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime *time.Time `json:"deliveredDateTime,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethodMetadata *PropertyMetadata `json:"deliveryMethodMetadata,omitempty"`
	// Reserved for DocuSign.
	DesignatorID string `json:"designatorId,omitempty"`
	// Reserved for DocuSign.
	DesignatorIDGUID string `json:"designatorIdGuid,omitempty"`
	// A list of `documentVisibility` objects. Each object in the list specifies whether a document in the envelope is visible to this recipient. For the envelope to use this functionality, Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true.**
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
	// The notary's email address.
	//
	// Maximum Length: 100 characters.
	//
	Email string `json:"email,omitempty"`
	// Metadata that indicates whether the `email` property is editable. This property is read-only.
	EmailMetadata *PropertyMetadata `json:"emailMetadata,omitempty"`
	// An optional complex type that sets a specific email subject and body for this recipient's notification email.
	//
	// **Note:** You can set the `emailNotification` property separately for each recipient. If you set the value only for certain recipients, the other recipients will inherit the this value from the top-level `emailSubject` and `emailBlurb`.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	// Specifies a sender-provided valid URL string for redirecting an embedded recipient. When using this option, the embedded recipient still receives an email from DocuSign, just as a remote recipient would. When the document link in the email is clicked the recipient is redirected, through DocuSign, to the supplied URL to complete their actions. When routing to the URL, the sender's system (the server responding to the URL) must request a recipient token to launch a signing session.
	//
	// When `SIGN_AT_DOCUSIGN`, the recipient is directed to an embedded signing or viewing process directly at DocuSign. The signing or viewing action is initiated by the DocuSign system and the transaction activity and Certificate of Completion records will reflect this. In all other ways the process is identical to an embedded signing or viewing operation launched by a partner.
	//
	// It is important to understand that in a typical embedded workflow, the authentication of an embedded recipient is the responsibility of the sending application. DocuSign expects that senders will follow their own processes for establishing the recipient's identity. In this workflow the recipient goes through the sending application before the embedded signing or viewing process is initiated. However, when the sending application sets `EmbeddedRecipientStartURL=SIGN_AT_DOCUSIGN`, the recipient goes directly to the embedded signing or viewing process, bypassing the sending application and any authentication steps the sending application would use. In this case, DocuSign recommends that you use one of the normal DocuSign authentication features (Access Code, Phone Authentication, SMS Authentication, etc.) to verify the identity of the recipient.
	//
	// If the `clientUserId` property is NOT set, and the `embeddedRecipientStartURL` is set, DocuSign will ignore the redirect URL and launch the standard signing process for the email recipient. Information can be appended to the embedded recipient start URL using merge fields. The available merge fields items are: `envelopeId`, `recipientId`, `recipientName`, `recipientEmail`, and `customFields`. The `customFields` property must be set for the recipient or envelope. The merge fields are enclosed in double brackets.
	//
	// *Example*:
	//
	// `http://senderHost/[[mergeField1]]/ beginSigningSession? [[mergeField2]]&[[mergeField3]]`
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Reserved for DocuSign.
	FaxNumber string `json:"faxNumber,omitempty"`
	// Reserved for DocuSign.
	FaxNumberMetadata *PropertyMetadata `json:"faxNumberMetadata,omitempty"`
	//
	HostRecipientID string `json:"hostRecipientId,omitempty"`
	// The name of the authentication check to use. This value must match one of the authentication types that the account uses. The names of these authentication types appear in the web console sending interface in the Identify list for a recipient. This setting overrides any default authentication setting. Valid values are:
	//
	// - `Phone Auth $`: The recipient must authenticate by using two-factor authentication (2FA). You provide the phone number to use for 2FA in the `phoneAuthentication` object.
	// - `SMS Auth $`: The recipient must authenticate via SMS. You provide the phone number to use in the `smsAuthentication` object.
	// - `ID Check $`: The  recipient must answer detailed security questions.
	//
	// **Example:** Your account has ID Check and SMS Authentication available. In the web console Identify list, these appear as ID Check $ and SMS Auth $. To use ID Check in an envelope, the idCheckConfigurationName should be ID Check $. For SMS, you would use SMS Auth $, and you would also need to add a phone number to the smsAuthentication node.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// Metadata that indicates whether the `idCheckConfigurationName` property is editable. This property is read-only.
	IDCheckConfigurationNameMetadata *PropertyMetadata `json:"idCheckConfigurationNameMetadata,omitempty"`
	// An object that contains input information related to a recipient ID check.
	IDCheckInformationInput *IDCheckInformationInput `json:"idCheckInformationInput,omitempty"`
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification *RecipientIdentityVerification `json:"identityVerification,omitempty"`
	// When **true** and the envelope recipient creates a DocuSign account after signing, the Manage Account Email Notification settings are used as the default settings for the recipient's account.
	InheritEmailNotificationConfiguration Bool `json:"inheritEmailNotificationConfiguration,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientPhoneAuthEditable string `json:"lockedRecipientPhoneAuthEditable,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientSmsEditable string `json:"lockedRecipientSmsEditable,omitempty"`
	// The notary's full legal name.
	//
	// Maximum Length: 100 characters.
	//
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// A note sent to the notary in the signing email.
	// This note is visible only to this notary.
	//
	// Maximum Length: 1000 characters.
	//
	Note string `json:"note,omitempty"`
	// Metadata that indicates whether the `note` property is editable. This property is read-only.
	NoteMetadata *PropertyMetadata `json:"noteMetadata,omitempty"`
	// When `idCheckConfigurationName` is set to `Phone Auth $`, you use this complex type to provide the recipient authentication method details. It contains the following elements:
	//
	// * `recipMayProvideNumber`: Boolean. When **true,** the recipient can use whatever phone number they choose.
	// * `senderProvidedNumbers`: ArrayOfStrings.  A list of phone numbers the recipient can use.
	// * `recordVoicePrint`: Reserved for DocuSign.
	// * `validateRecipProvidedNumber`: Reserved for DocuSign.
	//
	//
	PhoneAuthentication Bool `json:"phoneAuthentication,omitempty"`
	// Reserved for DocuSign.
	RecipientAttachments []RecipientAttachment `json:"recipientAttachments,omitempty"`
	// Information about the recipient's authentication status. This property is read-only.
	RecipientAuthenticationStatus *AuthenticationStatus `json:"recipientAuthenticationStatus,omitempty"`
	// Metadata about the features that are supported for the recipient type. This property is read-only.
	RecipientFeatureMetadata []FeatureAvailableMetadata `json:"recipientFeatureMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// The recipient type, as specified by the following values:
	// - `agent`: Agent recipients can add name and email information for recipients that appear after the agent in routing order.
	// - `carbonCopy`: Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date, or add information to any of the documents. This type of recipient can be used in any routing order.
	// - `certifiedDelivery`: Certified delivery recipients must receive the completed documents for the envelope to be completed. They don't need to sign, initial, date, or add information to any of the documents.
	// - `editor`: Editors have the same management and access rights for the envelope as the sender. Editors can add name and email information, add or change the routing order, set authentication options, and can edit signature/initial tabs and data fields for the remaining recipients.
	// - `inPersonSigner`: In-person recipients are DocuSign users who act as signing hosts in the same physical location as the signer.
	// - `intermediaries`: Intermediary recipients can optionally add name and email information for recipients at the same or subsequent level in the routing order.
	// - `seal`: Electronic seal recipients represent legal entities.
	// - `signer`: Signers are recipients who must sign, initial, date, or add data to form fields on the documents in the envelope.
	// - `witness`: Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.
	RecipientType string `json:"recipientType,omitempty"`
	// Metadata that indicates whether the `recipientType` property is editable. This property is read-only.
	RecipientTypeMetadata *PropertyMetadata `json:"recipientTypeMetadata,omitempty"`
	// When **true,** the recipient is required to use the specified ID check method (including Phone and SMS authentication) to validate their identity.
	RequireIDLookup Bool `json:"requireIdLookup,omitempty"`
	// Metadata that indicates whether the `requireIdLookup` property is editable. This property is read-only.
	RequireIDLookupMetadata *PropertyMetadata `json:"requireIdLookupMetadata,omitempty"`
	// Optional element. Specifies the role name associated with the recipient.<br/><br/>This property is required when you are working with template recipients.
	RoleName string `json:"roleName,omitempty"`
	// Specifies the routing order of the recipient in the envelope.
	RoutingOrder string `json:"routingOrder,omitempty"`
	// Metadata that indicates whether the `routingOrder` property is editable. This property is read-only.
	RoutingOrderMetadata *PropertyMetadata `json:"routingOrderMetadata,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime *time.Time `json:"sentDateTime,omitempty"`
	// Reserved for DocuSign.
	SignedDateTime *time.Time `json:"signedDateTime,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// Metadata that indicates whether the `signingGroupId` property is editable. This property is read-only.
	SigningGroupIDMetadata *PropertyMetadata `json:"signingGroupIdMetadata,omitempty"`
	// Optional. The name of the signing group.
	//
	// Maximum Length: 100 characters.
	SigningGroupName string `json:"signingGroupName,omitempty"`
	// A complex type that contains information about users in the signing group.
	SigningGroupUsers []UserInfo `json:"signingGroupUsers,omitempty"`
	// When `idCheckConfigurationName` is set to `SMS Auth $`, you use this complex type to provide the recipient authentication method details. It contains the element `senderProvidedNumbers`, which is an array of phone numbers that the recipient can use for SMS text authentication.
	//
	//
	SmsAuthentication *RecipientSMSAuthentication `json:"smsAuthentication,omitempty"`
	// Deprecated.
	SocialAuthentications []SocialAuthentication `json:"socialAuthentications,omitempty"`
	// The recipient's status. This property is read-only.
	//
	// Valid values:
	//
	// - `autoresponded`: The recipient's email system auto-responded to the email from DocuSign. This status is used in the web console to inform senders about the bounced-back email. This recipient status is only used if **Send-on-behalf-of** is turned off for the account.
	// - `completed`: The recipient has completed their actions (signing or other required actions if not a signer) for an envelope.
	// - `created`: The recipient is in a draft state. This value is only associated with draft envelopes (envelopes that have a status of `created`).
	// - `declined`: The recipient declined to sign the documents in the envelope.
	// - `delivered`: The recipient has viewed the documents in an envelope through the DocuSign signing website. This is not an email delivery of the documents in an envelope.
	// - `faxPending`: The recipient has finished signing and the system is waiting for a fax attachment from the recipient before completing their signing step.
	// - `sent`: The recipient has been sent an email notification that it is their turn to sign an envelope.
	// - `signed`: The recipient has completed (signed) all required tags in an envelope. This is a temporary state during processing, after which the recipient's status automatically switches to `completed`.
	Status string `json:"status,omitempty"`
	// The code associated with the recipient's status. This property is read-only.
	StatusCode string `json:"statusCode,omitempty"`
	// When **true,** email notifications are suppressed for the recipient, and they must access envelopes and documents from their DocuSign inbox.
	SuppressEmails Bool `json:"suppressEmails,omitempty"`
	// A list of tabs, which are represented graphically as symbols on documents at the time of signing. Tabs show recipients where to sign, initial, or enter data. They may also display data to the recipients.
	Tabs *Tabs `json:"tabs,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// The total number of tabs in the documents. This property is read-only.
	TotalTabCount string `json:"totalTabCount,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

NotaryHost this object is used only when `inPersonSigningType` in the `inPersonSigner` object is `notary`.

It describes information about the notary host. The following information is required when using the eNotary in-person signing flow:

* `name`: Specifies the notary's full legal name. * `email`: Specifies the notary's email address. * `recipientId`: A unique ID number for the notary signing host.

type NotaryJournal

type NotaryJournal struct {
	// The creation date of the account in UTC timedate format.
	CreatedDate string `json:"createdDate,omitempty"`
	//
	DocumentName string `json:"documentName,omitempty"`
	// The notary's jurisdiction.
	//
	Jurisdiction *Jurisdiction `json:"jurisdiction,omitempty"`
	//
	NotaryJournalID string `json:"notaryJournalId,omitempty"`
	// Additional journal data such as the witness list and signature image.
	NotaryJournalMetaData *NotaryJournalMetaData `json:"notaryJournalMetaData,omitempty"`
	// The in-person signer's full legal name.
	//
	// Required when `inPersonSigningType` is `inPersonSigner`.
	// For eNotary flow, use `name` instead.
	//
	// Maximum Length: 100 characters.
	//
	SignerName string `json:"signerName,omitempty"`
}

NotaryJournal not described in definition file

type NotaryJournalCredibleWitness

type NotaryJournalCredibleWitness struct {
	// The address of the witness.
	Address string `json:"address,omitempty"`
	// The name of the witness.
	Name string `json:"name,omitempty"`
	// A base64-encoded image of the signature.
	SignatureImage string `json:"signatureImage,omitempty"`
}

NotaryJournalCredibleWitness not described in definition file

type NotaryJournalList

type NotaryJournalList struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	//
	NotaryJournals []NotaryJournal `json:"notaryJournals,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

NotaryJournalList not described in definition file

type NotaryJournalMetaData

type NotaryJournalMetaData struct {
	// A freeform comment that the notary can add to the journal entry.
	Comment string `json:"comment,omitempty"`
	// An array of witnesses.
	CredibleWitnesses []NotaryJournalCredibleWitness `json:"credibleWitnesses,omitempty"`
	// A base64-encoded image of the signature.
	SignatureImage string `json:"signatureImage,omitempty"`
	// A string that describes the ID that the signer presented. For example `drivers license` or `military ID`.
	SignerIDType string `json:"signerIdType,omitempty"`
}

NotaryJournalMetaData not described in definition file

type NotaryJurisdiction added in v0.10.0

type NotaryJurisdiction struct {
	//
	CommissionExpiration string `json:"commissionExpiration,omitempty"`
	//
	CommissionID string `json:"commissionId,omitempty"`
	//
	County string `json:"county,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Description of the jurisdiction for this notary.
	// This is a read-only property.
	Jurisdiction *Jurisdiction `json:"jurisdiction,omitempty"`
	//
	RegisteredName string `json:"registeredName,omitempty"`
	//
	SealType string `json:"sealType,omitempty"`
}

NotaryJurisdiction creating, updating, and deleting notary jurisdiction objects.

type NotaryJurisdictionList added in v0.10.0

type NotaryJurisdictionList struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// An array of jurisdictions.
	NotaryJurisdictions []NotaryJurisdiction `json:"notaryJurisdictions,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

NotaryJurisdictionList is a paged list of jurisdictions.

type NotaryRecipient added in v0.10.0

type NotaryRecipient struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// Metadata that indicates whether the `accessCode` property is editable. This property is read-only.
	AccessCodeMetadata *PropertyMetadata `json:"accessCodeMetadata,omitempty"`
	// Optional. When **true,** the access code will be added to the email sent to the recipient. This nullifies the security measure of `accessCode` on the recipient.
	AddAccessCodeToEmail string `json:"addAccessCodeToEmail,omitempty"`
	// An array of additional notification objects.
	AdditionalNotifications []RecipientAdditionalNotification `json:"additionalNotifications,omitempty"`
	// Optional element. When **true,** the agents recipient associated with this recipient can change the recipient's pre-populated email address. This element is only active if enabled for the account.
	AgentCanEditEmail string `json:"agentCanEditEmail,omitempty"`
	// Optional element. When **true,** the agents recipient associated with this recipient can change the recipient's pre-populated name. This element is only active if enabled for the account.
	AgentCanEditName string `json:"agentCanEditName,omitempty"`
	// When **true,** if the recipient is locked on a template, advanced recipient routing can override the lock.
	AllowSystemOverrideForLockedRecipient Bool `json:"allowSystemOverrideForLockedRecipient,omitempty"`
	// When **true,** autonavigation is set for the recipient.
	//
	AutoNavigation Bool `json:"autoNavigation,omitempty"`
	// Error message provided by the destination email system. This field is only provided if the email notification to the recipient fails to send. This property is read-only.
	//
	AutoRespondedReason string `json:"autoRespondedReason,omitempty"`
	// Reserved for DocuSign.
	BulkRecipientsURI string `json:"bulkRecipientsUri,omitempty"`
	// When **true,** specifies that the signer can perform the signing ceremony offline.
	CanSignOffline Bool `json:"canSignOffline,omitempty"`
	// Specifies whether the recipient is embedded or remote.
	//
	// If the `clientUserId` property is not null then the recipient is embedded. Use this field to associate the signer with their userId in your app. Authenticating the user is the responsibility of your app when you use embedded signing.
	//
	// Note: if the `clientUserId` property is set and either `SignerMustHaveAccount` or `SignerMustLoginToSign` property of the account settings is set to  **true,** an error is generated on sending.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// Indicates the number of times that the recipient has been through a signing completion for the envelope. If this number is greater than 0 for a signing group, only the user who previously completed may sign again. This property is read-only.
	CompletedCount string `json:"completedCount,omitempty"`
	//
	ConsentDetailsList []ConsentDetails `json:"consentDetailsList,omitempty"`
	// The reason why the item was created.
	CreationReason string `json:"creationReason,omitempty"`
	// An optional array of strings that allows the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each customField string can be a maximum of 100 characters.
	CustomFields []string `json:"customFields,omitempty"`
	// The date and time the recipient declined the document. This property is read-only.
	DeclinedDateTime string `json:"declinedDateTime,omitempty"`
	// The reason the recipient declined the document. This property is read-only.
	DeclinedReason string `json:"declinedReason,omitempty"`
	// When **true,** this recipient is the default recipient and any tabs generated by the transformPdfFields option are mapped to this recipient.
	DefaultRecipient Bool `json:"defaultRecipient,omitempty"`
	//
	DelegatedBy *DelegationInfo `json:"delegatedBy,omitempty"`
	//
	DelegatedTo []DelegationInfo `json:"delegatedTo,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime string `json:"deliveredDateTime,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethodMetadata *PropertyMetadata `json:"deliveryMethodMetadata,omitempty"`
	// Reserved for DocuSign.
	DesignatorID string `json:"designatorId,omitempty"`
	// Reserved for DocuSign.
	DesignatorIDGUID string `json:"designatorIdGuid,omitempty"`
	// A list of `documentVisibility` objects. Each object in the list specifies whether a document in the envelope is visible to this recipient. For the envelope to use this functionality, Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true.**
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
	// The recipient's email address. Notification of the document to sign is sent to this email address.
	//
	// Maximum length: 100 characters.
	Email string `json:"email,omitempty"`
	// Metadata that indicates whether the `email` property is editable. This property is read-only.
	EmailMetadata *PropertyMetadata `json:"emailMetadata,omitempty"`
	// An optional complex type that sets a specific email subject and body for this recipient's notification email.
	//
	// **Note:** You can set the `emailNotification` property separately for each recipient. If you set the value only for certain recipients, the other recipients will inherit the this value from the top-level `emailSubject` and `emailBlurb`.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	//
	EmailRecipientPostSigningURL string `json:"emailRecipientPostSigningURL,omitempty"`
	// Specifies a sender-provided valid URL string for redirecting an embedded recipient. When using this option, the embedded recipient still receives an email from DocuSign, just as a remote recipient would. When the document link in the email is clicked the recipient is redirected, through DocuSign, to the supplied URL to complete their actions. When routing to the URL, the sender's system (the server responding to the URL) must request a recipient token to launch a signing session.
	//
	// When `SIGN_AT_DOCUSIGN`, the recipient is directed to an embedded signing or viewing process directly at DocuSign. The signing or viewing action is initiated by the DocuSign system and the transaction activity and Certificate of Completion records will reflect this. In all other ways the process is identical to an embedded signing or viewing operation launched by a partner.
	//
	// It is important to understand that in a typical embedded workflow, the authentication of an embedded recipient is the responsibility of the sending application. DocuSign expects that senders will follow their own processes for establishing the recipient's identity. In this workflow the recipient goes through the sending application before the embedded signing or viewing process is initiated. However, when the sending application sets `EmbeddedRecipientStartURL=SIGN_AT_DOCUSIGN`, the recipient goes directly to the embedded signing or viewing process, bypassing the sending application and any authentication steps the sending application would use. In this case, DocuSign recommends that you use one of the normal DocuSign authentication features (Access Code, Phone Authentication, SMS Authentication, etc.) to verify the identity of the recipient.
	//
	// If the `clientUserId` property is NOT set, and the `embeddedRecipientStartURL` is set, DocuSign will ignore the redirect URL and launch the standard signing process for the email recipient. Information can be appended to the embedded recipient start URL using merge fields. The available merge fields items are: `envelopeId`, `recipientId`, `recipientName`, `recipientEmail`, and `customFields`. The `customFields` property must be set for the recipient or envelope. The merge fields are enclosed in double brackets.
	//
	// *Example*:
	//
	// `http://senderHost/[[mergeField1]]/ beginSigningSession? [[mergeField2]]&[[mergeField3]]`
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Specifies the documents that are not visible to this recipient. Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true** for the envelope to use this.
	//
	// When enforce signer visibility is enabled, documents with tabs can only be viewed by signers that have a tab on that document. Recipients that have an administrative role (Agent, Editor, or Intermediaries) or informational role (Certified Deliveries or Carbon Copies) can always see all the documents in an envelope, unless they are specifically excluded using this setting when an envelope is sent. Documents that do not have tabs are always visible to all recipients, unless they are specifically excluded using this setting when an envelope is sent.
	ExcludedDocuments []string `json:"excludedDocuments,omitempty"`
	// Reserved for DocuSign.
	FaxNumber string `json:"faxNumber,omitempty"`
	// Reserved for DocuSign.
	FaxNumberMetadata *PropertyMetadata `json:"faxNumberMetadata,omitempty"`
	// The user's first name.
	// Maximum Length: 50 characters.
	FirstName string `json:"firstName,omitempty"`
	// Metadata that indicates whether the `firstName` property is editable. This property is read-only.
	FirstNameMetadata *PropertyMetadata `json:"firstNameMetadata,omitempty"`
	// Reserved for DocuSign.
	FullName string `json:"fullName,omitempty"`
	// Reserved for DocuSign.
	FullNameMetadata *PropertyMetadata `json:"fullNameMetadata,omitempty"`
	// The name of the authentication check to use. This value must match one of the authentication types that the account uses. The names of these authentication types appear in the web console sending interface in the Identify list for a recipient. This setting overrides any default authentication setting. Valid values are:
	//
	// - `Phone Auth $`: The recipient must authenticate by using two-factor authentication (2FA). You provide the phone number to use for 2FA in the `phoneAuthentication` object.
	// - `SMS Auth $`: The recipient must authenticate via SMS. You provide the phone number to use in the `smsAuthentication` object.
	// - `ID Check $`: The  recipient must answer detailed security questions.
	//
	// **Example:** Your account has ID Check and SMS Authentication available. In the web console Identify list, these appear as ID Check $ and SMS Auth $. To use ID Check in an envelope, the idCheckConfigurationName should be ID Check $. For SMS, you would use SMS Auth $, and you would also need to add a phone number to the smsAuthentication node.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// Metadata that indicates whether the `idCheckConfigurationName` property is editable. This property is read-only.
	IDCheckConfigurationNameMetadata *PropertyMetadata `json:"idCheckConfigurationNameMetadata,omitempty"`
	// An object that contains input information related to a recipient ID check.
	IDCheckInformationInput *IDCheckInformationInput `json:"idCheckInformationInput,omitempty"`
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification *RecipientIdentityVerification `json:"identityVerification,omitempty"`
	// When **true** and the envelope recipient creates a DocuSign account after signing, the Manage Account Email Notification settings are used as the default settings for the recipient's account.
	InheritEmailNotificationConfiguration string `json:"inheritEmailNotificationConfiguration,omitempty"`
	// Reserved for DocuSign.
	//
	IsBulkRecipient string `json:"isBulkRecipient,omitempty"`
	// Reserved for DocuSign.
	IsBulkRecipientMetadata *PropertyMetadata `json:"isBulkRecipientMetadata,omitempty"`
	// The user's last name.
	// Maximum Length: 50 characters.
	LastName string `json:"lastName,omitempty"`
	// Metadata that indicates whether the `lastName` property is editable. This property is read-only.
	LastNameMetadata *PropertyMetadata `json:"lastNameMetadata,omitempty"`
	// URL that directs the recipient to LiveOak to complete the remote online notarization process. This property is read-only.
	LiveOakStartURL string `json:"liveOakStartURL,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientPhoneAuthEditable string `json:"lockedRecipientPhoneAuthEditable,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientSmsEditable string `json:"lockedRecipientSmsEditable,omitempty"`
	// The full legal name of the recipient. Maximum length: 100 characters.
	//
	// Note: You must always set a value for this property in requests, even if `firstName` and `lastName` are set.
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// Not applicable to Notary tab.
	NotaryID string `json:"notaryId,omitempty"`
	//
	NotarySignerEmailSent string `json:"notarySignerEmailSent,omitempty"`
	// An array of strings that correspond to the `recipientId` of each signer in the notary group. This property is read-only.
	NotarySigners []string `json:"notarySigners,omitempty"`
	//
	NotarySourceType string `json:"notarySourceType,omitempty"`
	// The notary type. This property is read-only. Valid values:
	//
	// - `inperson`
	// - `remote`
	NotaryType string `json:"notaryType,omitempty"`
	// A note sent to the recipient in the signing email.
	// This note is unique to this recipient.
	// In the user interface,
	// it appears near the upper left corner
	// of the document
	// on the signing screen.
	//
	// Maximum Length: 1000 characters.
	//
	Note string `json:"note,omitempty"`
	// Metadata that indicates whether the `note` property is editable. This property is read-only.
	NoteMetadata *PropertyMetadata `json:"noteMetadata,omitempty"`
	// Reserved for DocuSign.
	OfflineAttributes interface{} `json:"offlineAttributes,omitempty"`
	// When `idCheckConfigurationName` is set to `Phone Auth $`, you use this complex type to provide the recipient authentication method details. It contains the following elements:
	//
	// * `recipMayProvideNumber`: Boolean. When **true,** the recipient can use whatever phone number they choose.
	// * `senderProvidedNumbers`: ArrayOfStrings.  A list of phone numbers the recipient can use.
	// * `recordVoicePrint`: Reserved for DocuSign.
	// * `validateRecipProvidedNumber`: Reserved for DocuSign.
	//
	//
	PhoneAuthentication *RecipientPhoneAuthentication `json:"phoneAuthentication,omitempty"`
	// Describes the recipient phone number.
	PhoneNumber *RecipientPhoneNumber `json:"phoneNumber,omitempty"`
	// The proof file of the recipient.
	ProofFile *RecipientProofFile `json:"proofFile,omitempty"`
	// Reserved for DocuSign.
	RecipientAttachments []RecipientAttachment `json:"recipientAttachments,omitempty"`
	// Information about the recipient's authentication status. This property is read-only.
	RecipientAuthenticationStatus *AuthenticationStatus `json:"recipientAuthenticationStatus,omitempty"`
	// Metadata about the features that are supported for the recipient type. This property is read-only.
	RecipientFeatureMetadata []FeatureAvailableMetadata `json:"recipientFeatureMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// The default signature provider is the DocuSign Electronic signature system. This parameter is used to specify one or more Standards Based Signature (digital signature) providers for the signer to use. [More information.](/docs/esign-rest-api/esign101/concepts/standards-based-signatures/)
	RecipientSignatureProviders []RecipientSignatureProvider `json:"recipientSignatureProviders,omitempty"`
	// When **true,** specifies that the recipient creates the tabs.
	RecipientSuppliesTabs Bool `json:"recipientSuppliesTabs,omitempty"`
	// The recipient type, as specified by the following values:
	// - `agent`: Agent recipients can add name and email information for recipients that appear after the agent in routing order.
	// - `carbonCopy`: Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date, or add information to any of the documents. This type of recipient can be used in any routing order.
	// - `certifiedDelivery`: Certified delivery recipients must receive the completed documents for the envelope to be completed. They don't need to sign, initial, date, or add information to any of the documents.
	// - `editor`: Editors have the same management and access rights for the envelope as the sender. Editors can add name and email information, add or change the routing order, set authentication options, and can edit signature/initial tabs and data fields for the remaining recipients.
	// - `inPersonSigner`: In-person recipients are DocuSign users who act as signing hosts in the same physical location as the signer.
	// - `intermediaries`: Intermediary recipients can optionally add name and email information for recipients at the same or subsequent level in the routing order.
	// - `seal`: Electronic seal recipients represent legal entities.
	// - `signer`: Signers are recipients who must sign, initial, date, or add data to form fields on the documents in the envelope.
	// - `witness`: Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.
	RecipientType string `json:"recipientType,omitempty"`
	// Metadata that indicates whether the `recipientType` property is editable. This property is read-only.
	RecipientTypeMetadata *PropertyMetadata `json:"recipientTypeMetadata,omitempty"`
	// When **true,** the recipient is required to use the specified ID check method (including Phone and SMS authentication) to validate their identity.
	RequireIDLookup Bool `json:"requireIdLookup,omitempty"`
	// Metadata that indicates whether the `requireIdLookup` property is editable. This property is read-only.
	RequireIDLookupMetadata *PropertyMetadata `json:"requireIdLookupMetadata,omitempty"`
	// When **true,** the signer must print, sign, and upload or fax the signed documents to DocuSign.
	RequireSignOnPaper Bool `json:"requireSignOnPaper,omitempty"`
	// By default, DocuSign signers create electronic signatures. This field can be used to require the signer to use a SAFE-BioPharma digital certificate for signing.
	//
	// This parameter should only be used to select a SAFE-BioPharma certificate. New integrations should use the `recipientSignatureProviders` parameter for other types of digital certificates.
	//
	// Set this parameter to `safe` to use a SAFE-BioPharma certificate.
	//
	// The signer must be enrolled in the SAFE program to sign with a SAFE certificate.
	RequireSignerCertificate string `json:"requireSignerCertificate,omitempty"`
	// When **true,** the signer is required to upload a new signature, even if they have a pre-adopted signature in their personal DocuSign account.
	RequireUploadSignature Bool `json:"requireUploadSignature,omitempty"`
	// Optional element. Specifies the role name associated with the recipient.<br/><br/>This property is required when you are working with template recipients.
	RoleName string `json:"roleName,omitempty"`
	// Specifies the routing order of the recipient in the envelope.
	RoutingOrder string `json:"routingOrder,omitempty"`
	// Metadata that indicates whether the `routingOrder` property is editable. This property is read-only.
	RoutingOrderMetadata *PropertyMetadata `json:"routingOrderMetadata,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime string `json:"sentDateTime,omitempty"`
	// When **true** and the feature is enabled in the sender's account, the signing recipient is required to draw signatures and initials at each signature/initial tab (instead of adopting a signature/initial style or only drawing a signature/initial once).
	SignInEachLocation string `json:"signInEachLocation,omitempty"`
	// Metadata that indicates whether the `signInEachLocation` property is editable. This property is read-only.
	SignInEachLocationMetadata *PropertyMetadata `json:"signInEachLocationMetadata,omitempty"`
	// Allows the sender to pre-specify the signature name, signature initials and signature font used in the signature stamp for the recipient.
	//
	// Used only with recipient types In Person Signers and Signers.
	SignatureInfo *RecipientSignatureInformation `json:"signatureInfo,omitempty"`
	// Reserved for DocuSign.
	SignedDateTime string `json:"signedDateTime,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// Metadata that indicates whether the `signingGroupId` property is editable. This property is read-only.
	SigningGroupIDMetadata *PropertyMetadata `json:"signingGroupIdMetadata,omitempty"`
	// Optional. The name of the signing group.
	//
	// Maximum Length: 100 characters.
	SigningGroupName string `json:"signingGroupName,omitempty"`
	// A complex type that contains information about users in the signing group.
	SigningGroupUsers []UserInfo `json:"signingGroupUsers,omitempty"`
	// When `idCheckConfigurationName` is set to `SMS Auth $`, you use this complex type to provide the recipient authentication method details. It contains the element `senderProvidedNumbers`, which is an array of phone numbers that the recipient can use for SMS text authentication.
	//
	//
	SmsAuthentication *RecipientSMSAuthentication `json:"smsAuthentication,omitempty"`
	// Deprecated.
	SocialAuthentications []SocialAuthentication `json:"socialAuthentications,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * sent - The envelope is sent to the recipients.
	// * created - The envelope is saved as a draft and can be modified and sent later.
	Status string `json:"status,omitempty"`
	// Reserved for DocuSign.
	StatusCode string `json:"statusCode,omitempty"`
	// When **true,** email notifications are suppressed for the recipient, and they must access envelopes and documents from their DocuSign inbox.
	SuppressEmails Bool `json:"suppressEmails,omitempty"`
	// A list of tabs, which are represented graphically as symbols on documents at the time of signing. Tabs show recipients where to sign, initial, or enter data. They may also display data to the recipients.
	Tabs *Tabs `json:"tabs,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// The total number of tabs in the documents. This property is read-only.
	TotalTabCount string `json:"totalTabCount,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

NotaryRecipient not described in definition file

type NotaryResult added in v0.10.0

type NotaryResult struct {
	//
	Jurisdictions []Jurisdiction `json:"jurisdictions,omitempty"`
	//
	Notary *Notary `json:"notary,omitempty"`
}

NotaryResult describes a single notary jurisdiction.

type NotarySeal added in v0.10.0

type NotarySeal struct {
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are placed. When **true,** the text string in a document must match the case of the `anchorString` property for an anchor tab to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the anchor string is `DocuSign`, then `DocuSign` will match but `Docusign`, `docusign`, `DoCuSiGn`, etc. will not match. When **false,** `DocuSign`, `Docusign`, `docusign`, `DoCuSiGn`, etc. will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	AnchorCaseSensitive string `json:"anchorCaseSensitive,omitempty"`
	// Metadata that indicates whether the `anchorCaseSensitive` property is editable.
	AnchorCaseSensitiveMetadata *PropertyMetadata `json:"anchorCaseSensitiveMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are aligned in relation to the anchor text. Possible values are :
	//
	// - `left`: Aligns the left side of the tab with the beginning of the first character of the matching anchor word. This is the default value.
	// - `right`: Aligns the tab’s left side with the last character of the matching anchor word.
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorHorizontalAlignment string `json:"anchorHorizontalAlignment,omitempty"`
	// Metadata that indicates whether the `anchorHorizontalAlignment` property is editable.
	AnchorHorizontalAlignmentMetadata *PropertyMetadata `json:"anchorHorizontalAlignmentMetadata,omitempty"`
	// When **true,** this tab is ignored if the `anchorString` is not found in the document.
	AnchorIgnoreIfNotPresent Bool `json:"anchorIgnoreIfNotPresent,omitempty"`
	// Metadata that indicates whether the `anchorIgnoreIfNotPresent` property is editable.
	AnchorIgnoreIfNotPresentMetadata *PropertyMetadata `json:"anchorIgnoreIfNotPresentMetadata,omitempty"`
	// When **true,** the text string in a document must match the value of the `anchorString` property in its entirety for an [anchor tab][AnchorTab] to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the input is `man` then `man` will match but `manpower`, `fireman`, and `penmanship` will not. When **false,** if the input is `man` then `man`, `manpower`, `fireman`, and `penmanship` will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTab]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorMatchWholeWord Bool `json:"anchorMatchWholeWord,omitempty"`
	// Metadata that indicates whether the `anchorMatchWholeWord` property is editable.
	AnchorMatchWholeWordMetadata *PropertyMetadata `json:"anchorMatchWholeWordMetadata,omitempty"`
	// Specifies the string to find in the document and use as the basis for tab placement.
	AnchorString string `json:"anchorString,omitempty"`
	// Metadata that indicates whether the `anchorString` property is editable.
	AnchorStringMetadata *PropertyMetadata `json:"anchorStringMetadata,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersion string `json:"anchorTabProcessorVersion,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersionMetadata *PropertyMetadata `json:"anchorTabProcessorVersionMetadata,omitempty"`
	// Specifies units of the
	// `anchorXOffset` and
	// `anchorYOffset`.
	// Valid units are:
	//
	// - `pixels`
	// - `inches`
	// - `mms`
	// - `cms`
	//
	AnchorUnits string `json:"anchorUnits,omitempty"`
	// Metadata that indicates whether the `anchorUnits` property is editable.
	AnchorUnitsMetadata *PropertyMetadata `json:"anchorUnitsMetadata,omitempty"`
	// Specifies the X axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorXOffset string `json:"anchorXOffset,omitempty"`
	// Metadata that indicates whether the `anchorXOffset` property is editable.
	AnchorXOffsetMetadata *PropertyMetadata `json:"anchorXOffsetMetadata,omitempty"`
	// Specifies the Y axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorYOffset string `json:"anchorYOffset,omitempty"`
	// Metadata that indicates whether the `anchorYOffset` property is editable.
	AnchorYOffsetMetadata *PropertyMetadata `json:"anchorYOffsetMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// For conditional fields this is the `tabLabel` of the parent tab that controls this tab's visibility.
	ConditionalParentLabel string `json:"conditionalParentLabel,omitempty"`
	// Metadata that indicates whether the `conditionalParentLabel` property is editable.
	ConditionalParentLabelMetadata *PropertyMetadata `json:"conditionalParentLabelMetadata,omitempty"`
	// For conditional fields, this is the value of the parent tab that controls the tab's visibility.
	//
	// If the parent tab is a Checkbox, Radio button, Optional Signature, or Optional Initial use "on" as the value to show that the parent tab is active.
	//
	ConditionalParentValue string `json:"conditionalParentValue,omitempty"`
	// Metadata that indicates whether the `conditionalParentValue` property is editable.
	ConditionalParentValueMetadata *PropertyMetadata `json:"conditionalParentValueMetadata,omitempty"`
	// The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
	CustomTabID string `json:"customTabId,omitempty"`
	// Metadata that indicates whether the `customTabId` property is editable.
	CustomTabIDMetadata *PropertyMetadata `json:"customTabIdMetadata,omitempty"`
	// Specifies the document ID number that the tab is placed on. This must refer to an existing Document's ID attribute.
	DocumentID string `json:"documentId,omitempty"`
	// Metadata that indicates whether the `documentId` property is editable.
	DocumentIDMetadata *PropertyMetadata `json:"documentIdMetadata,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// An integer specifying the order in which the guided form HTML should render. The order is relative to the `formPageLabel`, the group by which to place the guided form HTML block.
	FormOrder string `json:"formOrder,omitempty"`
	// Metadata that indicates whether the `formOrder` property is editable.
	FormOrderMetadata *PropertyMetadata `json:"formOrderMetadata,omitempty"`
	// A string specifying the group in which to place the guided form HTML. Each group displays as a separate guided forms page in the signing experience.
	FormPageLabel string `json:"formPageLabel,omitempty"`
	// Metadata that indicates whether the `formPageLabel` property is editable.
	FormPageLabelMetadata *PropertyMetadata `json:"formPageLabelMetadata,omitempty"`
	// An integer specifying the order in which to present the guided form pages.
	FormPageNumber string `json:"formPageNumber,omitempty"`
	// Metadata that indicates whether the `fromPageNumber` property is editable.
	FormPageNumberMetadata *PropertyMetadata `json:"formPageNumberMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Contains the information necessary to map the tab to a field in SalesForce.
	MergeField *MergeField `json:"mergeField,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	//
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// Specifies the page number on which the tab is located.
	PageNumber string `json:"pageNumber,omitempty"`
	// Metadata that indicates whether the `pageNumber` property is editable.
	PageNumberMetadata *PropertyMetadata `json:"pageNumberMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// Metadata that indicates whether the `recipientIdGuid` property is editable.
	RecipientIDGUIDMetadata *PropertyMetadata `json:"recipientIdGuidMetadata,omitempty"`
	// Metadata that indicates whether the `recipientId` property is editable.
	RecipientIDMetadata *PropertyMetadata `json:"recipientIdMetadata,omitempty"`
	// Sets the size of the tab. This field accepts values from `0.5` to `1.0`, where `1.0` represents full size and `0.5` is 50% of full size.
	ScaleValue string `json:"scaleValue,omitempty"`
	// Metadata that indicates whether the `scaleValue` property is editable.
	ScaleValueMetadata *PropertyMetadata `json:"scaleValueMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * sent - The envelope is sent to the recipients.
	// * created - The envelope is saved as a draft and can be modified and sent later.
	Status string `json:"status,omitempty"`
	// Metadata that indicates whether the `status` property is editable.
	StatusMetadata *PropertyMetadata `json:"statusMetadata,omitempty"`
	// An array of tab groups that this tab belongs to. Tab groups are identified by their `groupLabel` property.
	//
	// To associate this tab with a tab group, add the tab group's `groupLabel` to this array.
	TabGroupLabels []string `json:"tabGroupLabels,omitempty"`
	// Metadata that indicates whether the `tabGroupLabels` property is editable.
	TabGroupLabelsMetadata *PropertyMetadata `json:"tabGroupLabelsMetadata,omitempty"`
	// The unique identifier for the tab.
	TabID string `json:"tabId,omitempty"`
	// Metadata that indicates whether the `tabId` property is editable.
	TabIDMetadata *PropertyMetadata `json:"tabIdMetadata,omitempty"`
	// The label associated with the tab. This value may be an empty string.
	// If no value is provided, the tab type is used as the value.
	//
	// Maximum Length: 500 characters.
	//
	TabLabel string `json:"tabLabel,omitempty"`
	// Metadata that indicates whether the `tabLabel` property is editable.
	TabLabelMetadata *PropertyMetadata `json:"tabLabelMetadata,omitempty"`
	// A positive integer that sets the order the tab is navigated to during signing.
	//
	// Tabs on a page are navigated to in ascending order, starting with the lowest number and moving to the highest. If two or more tabs have the same `tabOrder` value, the normal auto-navigation setting behavior for the envelope is used.
	TabOrder string `json:"tabOrder,omitempty"`
	// Metadata that indicates whether the `tabOrder` property is editable.
	TabOrderMetadata *PropertyMetadata `json:"tabOrderMetadata,omitempty"`
	// Indicates the type of tab (for example, `signHere` or `initialHere`).
	TabType string `json:"tabType,omitempty"`
	// Metadata that indicates whether the `tabType` property is editable.
	TabTypeMetadata *PropertyMetadata `json:"tabTypeMetadata,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// Metadata that indicates whether the `templateLocked` property is editable.
	TemplateLockedMetadata *PropertyMetadata `json:"templateLockedMetadata,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// Metadata that indicates whether the `templateRequired` property is editable.
	TemplateRequiredMetadata *PropertyMetadata `json:"templateRequiredMetadata,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
	// This property indicates the horizontal offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	XPosition string `json:"xPosition,omitempty"`
	// Metadata that indicates whether the `xPosition` property is editable.
	XPositionMetadata *PropertyMetadata `json:"xPositionMetadata,omitempty"`
	// This property indicates the vertical offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	YPosition string `json:"yPosition,omitempty"`
	// Metadata that indicates whether the `yPosition` property is editable.
	YPositionMetadata *PropertyMetadata `json:"yPositionMetadata,omitempty"`
}

NotarySeal is a Notary Seal tab enables the recipient to notarize a document. This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary].

[notary]: /docs/notary-api/

type Note

type Note struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// When **true,** this custom tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// **Note:** Note tabs never display this tooltip in the signing interface.
	//
	// Although you can technically set a value via the API for this tab,
	// it will not be displayed to the recipient.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

Note is a tab that displays additional information, in the form of a note, for the recipient.

type Notification

type Notification struct {
	// A complex element that specifies the expiration settings for the envelope.
	Expirations *Expirations `json:"expirations,omitempty"`
	// A complex element that specifies reminder settings for the envelope.
	Reminders *Reminders `json:"reminders,omitempty"`
	// When **true,** the account default notification settings are used for the envelope, overriding the reminders and expirations settings. When **false,** the reminders and expirations settings specified in this request are used. The default value is **false.**
	UseAccountDefaults Bool `json:"useAccountDefaults,omitempty"`
}

Notification is a complex element that specifies the notification settings for the envelope.

type NotificationDefaultSettings

type NotificationDefaultSettings struct {
	//
	// An array of email notifications that sets the email the user receives when they are a sender. When the specific email notification is set to true, the user will receive those types of email notifications from DocuSign.
	//
	// The user inherits the default account sender email notification settings when the user is created. The email notifications are:
	//
	// * envelopeComplete
	// * changedSigner
	// * senderEnvelopeDeclined
	// * withdrawnConsent
	// * recipientViewed
	// * deliveryFailed
	//
	SenderEmailNotifications *SenderEmailNotifications `json:"senderEmailNotifications,omitempty"`
	// An array of email notifications that specifies the email the user receives when they are a recipient. When the specific email notification is set to true, the user receives those types of email notifications from DocuSign. The user inherits the default account email notification settings when the user is created.
	//
	SignerEmailNotifications *SignerEmailNotifications `json:"signerEmailNotifications,omitempty"`
}

NotificationDefaultSettings contains details about the default notification settings for the envelope notifications that senders and signers receive.

type NotificationDefaults

type NotificationDefaults struct {
	// The default notification settings for envelopes sent by using the console.
	APIEmailNotifications *NotificationDefaultSettings `json:"apiEmailNotifications,omitempty"`
	// The default notification settings for envelopes sent by using the API.
	EmailNotifications *NotificationDefaultSettings `json:"emailNotifications,omitempty"`
}

NotificationDefaults is the `NotificationDefaults` resource provides methods that enable you to manage the default notifications for envelopes.

type Number

type Number struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// Contains the formula
	// for calculating the value of
	// this tab.
	//
	// Use a tab's `tabLabel`,
	// enclosed in brackets,
	// to refer to it.
	//
	// For example,
	// you want to present the total cost
	// of two items, tax included.
	//
	// The cost of each item is stored
	// in number tabs labeled Item1 and Item2.
	// The tax rate is in a number tab
	// labeled TaxRate.
	//
	// The formula string for this property
	// would be:
	// `([Item1] + [Item2]) * (1 + [TaxRate])`
	//
	// See [Calculated Fields][calculatedfields]
	// in the DocuSign Support Center
	// to learn more about formulas.
	//
	// Maximum Length: 2000 characters
	//
	// [calculatedfields]: https://support.docusign.com/en/guides/ndse-user-guide-calculated-fields
	//
	Formula string `json:"formula,omitempty"`
	// Metadata indicating if the sender can edit the `formula` property.
	FormulaMetadata *PropertyMetadata `json:"formulaMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true** and shared is true, information must be entered in this field to complete the envelope.
	RequireAll Bool `json:"requireAll,omitempty"`
	// Metadata that indicates whether the `requireAll` property is editable.
	RequireAllMetadata *PropertyMetadata `json:"requireAllMetadata,omitempty"`
	// Optional element for field markup. When **true,** the signer is required to initial when they modify a shared field.
	RequireInitialOnSharedChange Bool `json:"requireInitialOnSharedChange,omitempty"`
	// Metadata that indicates whether the `requireInitialOnSharedChange` property is editable.
	RequireInitialOnSharedChangeMetadata *PropertyMetadata `json:"requireInitialOnSharedChangeMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// When **true,** the sender must populate the tab before an envelope can be sent using the template.
	//
	// This value tab can only be changed by modifying (PUT) the template.
	//
	// Tabs with a `senderRequired` value of true cannot be deleted from an envelope.
	SenderRequired Bool `json:"senderRequired,omitempty"`
	// Metadata that indicates whether the `senderRequired` property is editable.
	SenderRequiredMetadata *PropertyMetadata `json:"senderRequiredMetadata,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipients string `json:"shareToRecipients,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipientsMetadata *PropertyMetadata `json:"shareToRecipientsMetadata,omitempty"`
	// When **true,** this custom tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The message displayed if the custom tab fails input validation (either custom of embedded).
	ValidationMessage string `json:"validationMessage,omitempty"`
	// Metadata that indicates whether the `validationMessage` property is editable.
	ValidationMessageMetadata *PropertyMetadata `json:"validationMessageMetadata,omitempty"`
	// A regular expression used to validate input for the tab.
	ValidationPattern string `json:"validationPattern,omitempty"`
	// Metadata that indicates whether the `validationPattern` property is editable.
	ValidationPatternMetadata *PropertyMetadata `json:"validationPatternMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

Number is a tab that allows the recipient to enter numbers and decimal (.) points.

type OauthAccess

type OauthAccess struct {
	// Access token information.
	AccessToken string `json:"access_token,omitempty"`
	// A Base64-encoded representation of the attachment that is used to upload and download the file. File attachments may be up to 50 MB in size.
	Data []NameValue `json:"data,omitempty"`
	//
	ExpiresIn string `json:"expires_in,omitempty"`
	//
	RefreshToken string `json:"refresh_token,omitempty"`
	// Must be set to "api".
	Scope string `json:"scope,omitempty"`
	//
	TokenType string `json:"token_type,omitempty"`
}

OauthAccess not described in definition file

type Page

type Page struct {
	// The number of dots per inch used for the page image.
	Dpi string `json:"dpi,omitempty"`
	// If an error occurs, this property describes the error.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The height of the page in pixels.
	Height string `json:"height,omitempty"`
	// The number of image bytes.
	ImageBytes string `json:"imageBytes,omitempty"`
	// The MIME type.
	MimeType string `json:"mimeType,omitempty"`
	// The ID of the page.
	PageID string `json:"pageId,omitempty"`
	// The sequence of the page in the document, or page number.
	Sequence string `json:"sequence,omitempty"`
	// The width of the page in pixels.
	Width string `json:"width,omitempty"`
}

Page description of a page of a document.

type PageImages

type PageImages struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// An array of page objects.
	Pages []Page `json:"pages,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
}

PageImages not described in definition file

type PageRequest

type PageRequest struct {
	// The user's encrypted password hash.
	Password string `json:"password,omitempty"`
	// Sets the direction the page image is rotated. The possible settings are: left or right
	Rotate string `json:"rotate,omitempty"`
}

PageRequest not described in definition file

type Participant added in v0.10.0

type Participant struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// Metadata that indicates whether the `accessCode` property is editable. This property is read-only.
	AccessCodeMetadata *PropertyMetadata `json:"accessCodeMetadata,omitempty"`
	// Optional. When **true,** the access code will be added to the email sent to the recipient. This nullifies the security measure of `accessCode` on the recipient.
	AddAccessCodeToEmail string `json:"addAccessCodeToEmail,omitempty"`
	// An array of additional notification objects.
	AdditionalNotifications []RecipientAdditionalNotification `json:"additionalNotifications,omitempty"`
	// When **true,** if the recipient is locked on a template, advanced recipient routing can override the lock.
	AllowSystemOverrideForLockedRecipient Bool `json:"allowSystemOverrideForLockedRecipient,omitempty"`
	// Error message provided by the destination email system. This field is only provided if the email notification to the recipient fails to send. This property is read-only.
	//
	AutoRespondedReason string `json:"autoRespondedReason,omitempty"`
	// Specifies whether the recipient is embedded or remote.
	//
	// If the `clientUserId` property is not null then the recipient is embedded. Use this field to associate the signer with their userId in your app. Authenticating the user is the responsibility of your app when you use embedded signing.
	//
	// Note: if the `clientUserId` property is set and either `SignerMustHaveAccount` or `SignerMustLoginToSign` property of the account settings is set to  **true,** an error is generated on sending.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// Indicates the number of times that the recipient has been through a signing completion for the envelope. If this number is greater than 0 for a signing group, only the user who previously completed may sign again. This property is read-only.
	CompletedCount string `json:"completedCount,omitempty"`
	//
	ConsentDetailsList []ConsentDetails `json:"consentDetailsList,omitempty"`
	// An optional array of strings that allows the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each string can be a maximum of 100 characters.
	//
	CustomFields []string `json:"customFields,omitempty"`
	// The date and time the recipient declined the document. This property is read-only.
	DeclinedDateTime string `json:"declinedDateTime,omitempty"`
	// The reason the recipient declined the document. This property is read-only.
	DeclinedReason string `json:"declinedReason,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime string `json:"deliveredDateTime,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethodMetadata *PropertyMetadata `json:"deliveryMethodMetadata,omitempty"`
	// Reserved for DocuSign.
	DesignatorID string `json:"designatorId,omitempty"`
	// Reserved for DocuSign.
	DesignatorIDGUID string `json:"designatorIdGuid,omitempty"`
	// A list of `documentVisibility` objects. Each object in the list specifies whether a document in the envelope is visible to this recipient. For the envelope to use this functionality, Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true.**
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
	//
	Email string `json:"email,omitempty"`
	// Metadata that indicates whether the `email` property is editable. This property is read-only.
	EmailMetadata *PropertyMetadata `json:"emailMetadata,omitempty"`
	// An optional complex type that sets a specific email subject and body for this recipient's notification email.
	//
	// **Note:** You can set the `emailNotification` property separately for each recipient. If you set the value only for certain recipients, the other recipients will inherit the this value from the top-level `emailSubject` and `emailBlurb`.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	//
	EmailRecipientPostSigningURL string `json:"emailRecipientPostSigningURL,omitempty"`
	// Specifies a sender-provided valid URL string for redirecting an embedded recipient. When using this option, the embedded recipient still receives an email from DocuSign, just as a remote recipient would. When the document link in the email is clicked the recipient is redirected, through DocuSign, to the supplied URL to complete their actions. When routing to the URL, the sender's system (the server responding to the URL) must request a recipient token to launch a signing session.
	//
	// When `SIGN_AT_DOCUSIGN`, the recipient is directed to an embedded signing or viewing process directly at DocuSign. The signing or viewing action is initiated by the DocuSign system and the transaction activity and Certificate of Completion records will reflect this. In all other ways the process is identical to an embedded signing or viewing operation launched by a partner.
	//
	// It is important to understand that in a typical embedded workflow, the authentication of an embedded recipient is the responsibility of the sending application. DocuSign expects that senders will follow their own processes for establishing the recipient's identity. In this workflow the recipient goes through the sending application before the embedded signing or viewing process is initiated. However, when the sending application sets `EmbeddedRecipientStartURL=SIGN_AT_DOCUSIGN`, the recipient goes directly to the embedded signing or viewing process, bypassing the sending application and any authentication steps the sending application would use. In this case, DocuSign recommends that you use one of the normal DocuSign authentication features (Access Code, Phone Authentication, SMS Authentication, etc.) to verify the identity of the recipient.
	//
	// If the `clientUserId` property is NOT set, and the `embeddedRecipientStartURL` is set, DocuSign will ignore the redirect URL and launch the standard signing process for the email recipient. Information can be appended to the embedded recipient start URL using merge fields. The available merge fields items are: `envelopeId`, `recipientId`, `recipientName`, `recipientEmail`, and `customFields`. The `customFields` property must be set for the recipient or envelope. The merge fields are enclosed in double brackets.
	//
	// *Example*:
	//
	// `http://senderHost/[[mergeField1]]/ beginSigningSession? [[mergeField2]]&[[mergeField3]]`
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Reserved for DocuSign.
	FaxNumber string `json:"faxNumber,omitempty"`
	// Reserved for DocuSign.
	FaxNumberMetadata *PropertyMetadata `json:"faxNumberMetadata,omitempty"`
	// The user's first name.
	// Maximum Length: 50 characters.
	FirstName string `json:"firstName,omitempty"`
	// Metadata that indicates whether the `firstName` property is editable. This property is read-only.
	FirstNameMetadata *PropertyMetadata `json:"firstNameMetadata,omitempty"`
	// Reserved for DocuSign.
	FullName string `json:"fullName,omitempty"`
	// Reserved for DocuSign.
	FullNameMetadata *PropertyMetadata `json:"fullNameMetadata,omitempty"`
	// The name of the authentication check to use. This value must match one of the authentication types that the account uses. The names of these authentication types appear in the web console sending interface in the Identify list for a recipient. This setting overrides any default authentication setting. Valid values are:
	//
	// - `Phone Auth $`: The recipient must authenticate by using two-factor authentication (2FA). You provide the phone number to use for 2FA in the `phoneAuthentication` object.
	// - `SMS Auth $`: The recipient must authenticate via SMS. You provide the phone number to use in the `smsAuthentication` object.
	// - `ID Check $`: The  recipient must answer detailed security questions.
	//
	// **Example:** Your account has ID Check and SMS Authentication available. In the web console Identify list, these appear as ID Check $ and SMS Auth $. To use ID Check in an envelope, the idCheckConfigurationName should be ID Check $. For SMS, you would use SMS Auth $, and you would also need to add a phone number to the smsAuthentication node.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// Metadata that indicates whether the `idCheckConfigurationName` property is editable. This property is read-only.
	IDCheckConfigurationNameMetadata *PropertyMetadata `json:"idCheckConfigurationNameMetadata,omitempty"`
	// An object that contains input information related to a recipient ID check.
	IDCheckInformationInput *IDCheckInformationInput `json:"idCheckInformationInput,omitempty"`
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification *RecipientIdentityVerification `json:"identityVerification,omitempty"`
	// When **true** and the envelope recipient creates a DocuSign account after signing, the Manage Account Email Notification settings are used as the default settings for the recipient's account.
	InheritEmailNotificationConfiguration string `json:"inheritEmailNotificationConfiguration,omitempty"`
	// The user's last name.
	// Maximum Length: 50 characters.
	LastName string `json:"lastName,omitempty"`
	// Metadata that indicates whether the `lastName` property is editable. This property is read-only.
	LastNameMetadata *PropertyMetadata `json:"lastNameMetadata,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientPhoneAuthEditable string `json:"lockedRecipientPhoneAuthEditable,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientSmsEditable string `json:"lockedRecipientSmsEditable,omitempty"`
	//
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// A note sent to the recipient in the signing email.
	// This note is unique to this recipient.
	// In the user interface,
	// it appears near the upper left corner
	// of the document
	// on the signing screen.
	//
	// Maximum Length: 1000 characters.
	//
	Note string `json:"note,omitempty"`
	// Metadata that indicates whether the `note` property is editable. This property is read-only.
	NoteMetadata *PropertyMetadata `json:"noteMetadata,omitempty"`
	//
	ParticipateFor string `json:"participateFor,omitempty"`
	//
	ParticipateForGUID string `json:"participateForGuid,omitempty"`
	// When `idCheckConfigurationName` is set to `Phone Auth $`, you use this complex type to provide the recipient authentication method details. It contains the following elements:
	//
	// * `recipMayProvideNumber`: Boolean. When **true,** the recipient can use whatever phone number they choose.
	// * `senderProvidedNumbers`: ArrayOfStrings.  A list of phone numbers the recipient can use.
	// * `recordVoicePrint`: Reserved for DocuSign.
	// * `validateRecipProvidedNumber`: Reserved for DocuSign.
	//
	//
	PhoneAuthentication *RecipientPhoneAuthentication `json:"phoneAuthentication,omitempty"`
	// Describes the recipient phone number.
	PhoneNumber *RecipientPhoneNumber `json:"phoneNumber,omitempty"`
	// Reserved for DocuSign.
	RecipientAttachments []RecipientAttachment `json:"recipientAttachments,omitempty"`
	// Information about the recipient's authentication status. This property is read-only.
	RecipientAuthenticationStatus *AuthenticationStatus `json:"recipientAuthenticationStatus,omitempty"`
	// Metadata about the features that are supported for the recipient type. This property is read-only.
	RecipientFeatureMetadata []FeatureAvailableMetadata `json:"recipientFeatureMetadata,omitempty"`
	// Unique ID for the recipient. It is used by the tab element to indicate which recipient is to sign the document.
	//
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// The recipient type, as specified by the following values:
	// - `agent`: Agent recipients can add name and email information for recipients that appear after the agent in routing order.
	// - `carbonCopy`: Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date, or add information to any of the documents. This type of recipient can be used in any routing order.
	// - `certifiedDelivery`: Certified delivery recipients must receive the completed documents for the envelope to be completed. They don't need to sign, initial, date, or add information to any of the documents.
	// - `editor`: Editors have the same management and access rights for the envelope as the sender. Editors can add name and email information, add or change the routing order, set authentication options, and can edit signature/initial tabs and data fields for the remaining recipients.
	// - `inPersonSigner`: In-person recipients are DocuSign users who act as signing hosts in the same physical location as the signer.
	// - `intermediaries`: Intermediary recipients can optionally add name and email information for recipients at the same or subsequent level in the routing order.
	// - `seal`: Electronic seal recipients represent legal entities.
	// - `signer`: Signers are recipients who must sign, initial, date, or add data to form fields on the documents in the envelope.
	// - `witness`: Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.
	RecipientType string `json:"recipientType,omitempty"`
	// Metadata that indicates whether the `recipientType` property is editable. This property is read-only.
	RecipientTypeMetadata *PropertyMetadata `json:"recipientTypeMetadata,omitempty"`
	// When **true,** the recipient is required to use the specified ID check method (including Phone and SMS authentication) to validate their identity.
	RequireIDLookup Bool `json:"requireIdLookup,omitempty"`
	// Metadata that indicates whether the `requireIdLookup` property is editable. This property is read-only.
	RequireIDLookupMetadata *PropertyMetadata `json:"requireIdLookupMetadata,omitempty"`
	// Optional element. Specifies the role name associated with the recipient.<br/><br/>This property is required when you are working with template recipients.
	RoleName string `json:"roleName,omitempty"`
	// Specifies the routing order of the recipient in the envelope.
	RoutingOrder string `json:"routingOrder,omitempty"`
	// Metadata that indicates whether the `routingOrder` property is editable. This property is read-only.
	RoutingOrderMetadata *PropertyMetadata `json:"routingOrderMetadata,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime string `json:"sentDateTime,omitempty"`
	// Reserved for DocuSign.
	SignedDateTime string `json:"signedDateTime,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// Metadata that indicates whether the `signingGroupId` property is editable. This property is read-only.
	SigningGroupIDMetadata *PropertyMetadata `json:"signingGroupIdMetadata,omitempty"`
	// Optional. The name of the signing group.
	//
	// Maximum Length: 100 characters.
	SigningGroupName string `json:"signingGroupName,omitempty"`
	// A complex type that contains information about users in the signing group.
	SigningGroupUsers []UserInfo `json:"signingGroupUsers,omitempty"`
	// When `idCheckConfigurationName` is set to `SMS Auth $`, you use this complex type to provide the recipient authentication method details. It contains the element `senderProvidedNumbers`, which is an array of phone numbers that the recipient can use for SMS text authentication.
	//
	//
	SmsAuthentication *RecipientSMSAuthentication `json:"smsAuthentication,omitempty"`
	// Deprecated.
	SocialAuthentications []SocialAuthentication `json:"socialAuthentications,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * sent - The envelope is sent to the recipients.
	// * created - The envelope is saved as a draft and can be modified and sent later.
	Status string `json:"status,omitempty"`
	// Reserved for DocuSign.
	StatusCode string `json:"statusCode,omitempty"`
	// When **true,** email notifications are suppressed for the recipient, and they must access envelopes and documents from their DocuSign inbox.
	SuppressEmails Bool `json:"suppressEmails,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// The total number of tabs in the documents. This property is read-only.
	TotalTabCount string `json:"totalTabCount,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

Participant not described in definition file

type PathExtendedElement

type PathExtendedElement struct {
	//
	Name string `json:"name,omitempty"`
	// The type of this tab. Values are:
	//
	// - Approve
	// - CheckBox
	// - Company
	// - Date
	// - DateSigned,	Decline
	// - Email,	EmailAddress
	// - EnvelopeId
	// - FirstName
	// - Formula
	// - FullName,	InitialHere
	// - InitialHereOptional
	// - LastName
	// - List
	// - Note
	// - Number
	// - Radio
	// - SignerAttachment
	// - SignHere
	// - SignHereOptional
	// - Ssn
	// - Text
	// - Title
	// - Zip5
	// - Zip5Dash4
	//
	Type string `json:"type,omitempty"`
	//
	TypeName string `json:"typeName,omitempty"`
}

PathExtendedElement not described in definition file

type PayPalLegacySettings

type PayPalLegacySettings struct {
	// The three-letter
	// [ISO 4217][ISO 4217] currency code for the payment.
	//
	// For example:
	//
	// * AUD Australian dollar
	// * CAD Canadian dollar
	// * EUR Euro
	// * GBP Great Britain pound
	// * USD United States dollar
	//
	// This is a read-only property.
	//
	// [ISO 4217]:          https://en.wikipedia.org/wiki/ISO_4217
	//
	Currency string `json:"currency,omitempty"`
	//
	Partner string `json:"partner,omitempty"`
	// The user's encrypted password hash.
	Password string `json:"password,omitempty"`
	// The name of the user.
	UserName string `json:"userName,omitempty"`
	//
	Vendor string `json:"vendor,omitempty"`
}

PayPalLegacySettings not described in definition file

type PaymentDetails

type PaymentDetails struct {
	// An array of accepted payment methods:
	//
	// * `CreditCard`
	// * `ApplePay`
	// * `AndroidPay`
	// * `BankAccount`
	//
	// For example, if you only accept credit cards and ACH transfers, you would set this property to:
	//
	// `'["BankAccount", "CreditCard"]'`
	//
	// Do not specify `BankAccount` (ACH) if you are also using in-person signing.
	//
	AllowedPaymentMethods []string `json:"allowedPaymentMethods,omitempty"`
	// The GUID set by the payment gateway (such as Stripe) that identifies a transaction. The `chargeId` is created when authorizing a payment and must be referenced when completing a payment.
	ChargeID string `json:"chargeId,omitempty"`
	// Specifies the three-letter
	// [ISO 4217][ISO 4217] currency code for the payment.
	//
	// Supported currencies are:
	//
	// * AUD: Australian dollar
	// * CAD: Canadian dollar
	// * EUR: Euro
	// * GBP: Great Britain pound
	// * USD: United States dollar
	//
	// Specifying any other ISO 4217 code for payments is an error.
	//
	// [ISO 4217]:          https://en.wikipedia.org/wiki/ISO_4217
	//
	CurrencyCode string `json:"currencyCode,omitempty"`
	// Metadata that indicates whether the `currencyCode` property is editable.
	CurrencyCodeMetadata *PropertyMetadata `json:"currencyCodeMetadata,omitempty"`
	// This is a sender-defined field that passes any extra metadata about the payment that will show up in the Authorize.net transaction under **Description** in the merchant gateway portal. The custom metadata will be recorded in downloaded Authorize.net reports.
	//
	// The following example shows what the **Description** field of the transaction will look like:
	//
	// `<envelopeID>, <customMetadata>`
	CustomMetadata string `json:"customMetadata,omitempty"`
	// A sender-defined field that specifies whether custom metadata is required for the transaction. When **true,** custom metadata is required. This property only applies if you are using an Authorize.net payment gateway account.
	CustomMetadataRequired bool `json:"customMetadataRequired,omitempty"`
	// The customer ID.
	CustomerID string `json:"customerId,omitempty"`
	// A GUID that identifies the payment gateway
	// connected to the sender's DocuSign account.
	//
	// There is no public API
	// for connecting payment gateway accounts
	// You must connect and manage payment gateway accounts
	// through the DocuSign Admin console
	// and through your chosen payment gateway.
	//
	// You can get the gateway account ID
	// in the Payments section
	// of the DocuSign Admin console.
	//
	//
	// [paymentgateways]:  https://support.docusign.com/en/guides/managing-payment-gateways
	//
	GatewayAccountID string `json:"gatewayAccountId,omitempty"`
	// Metadata that indicates whether the `gatewayAccountId` property is editable.
	GatewayAccountIDMetadata *PropertyMetadata `json:"gatewayAccountIdMetadata,omitempty"`
	// Display name of the gateway connected to sender's DocuSign account.
	//
	// Possible values are: Stripe, Braintree, Authorize.Net, CyberSource, Zuora, Elavon.
	GatewayDisplayName string `json:"gatewayDisplayName,omitempty"`
	// Name of the gateway connected to sender's DocuSign account.
	//
	// Possible values are:
	//
	// * `Stripe`
	// * `Braintree`
	// * `AuthorizeDotNet`
	// * `CyberSource`
	// * `Zuora`
	// * `Elavon`
	GatewayName string `json:"gatewayName,omitempty"`
	// A payment formula can have
	// one or more line items
	// that provide detail about
	// individual items in a payment request.
	//
	// The list of line items
	// are returned as metadata
	// to the payment gateway.
	//
	LineItems []PaymentLineItem `json:"lineItems,omitempty"`
	// This property specifies how the signer's collected payment details will be used.
	//
	// Valid values:
	//
	// - `authorize`: The payment details will be used to collect payment. This is the default value.
	// - `save`: The signer's payment method (credit card or bank account) will be saved to the sender's payment gateway.
	// - `save_and_authorize`: The signer's payment method (credit card or bank account) will be saved to the sender's payment gateway and will also be used to collect payment.
	PaymentOption string `json:"paymentOption,omitempty"`
	// The payment source ID.
	PaymentSourceID string `json:"paymentSourceId,omitempty"`
	//
	SignerValues *PaymentSignerValues `json:"signerValues,omitempty"`
	// This read-only property describes the status of a payment.
	//
	// * `new`<br>
	//   This is a new payment request.
	//   The envelope has been created,
	//   but no payment authorizations have been made.
	//
	// * `auth_complete`<br>
	//   A recipient has entered their credit card information,
	//   but the envelope has not been completed.
	//   The card has not been charged.
	//
	// * `payment_complete`<br>
	//   The recipient's card has been charged.
	//
	// * `payment_capture_failed`<br>
	//   Final charge failed.
	//   This can happen when too much time
	//   passes between authorizing the payment
	//   and completing the document.
	//
	// * `future_payment_saved` <br>
	// The recipient's payment method has been saved to the sender's payment gateway.
	//
	Status string `json:"status,omitempty"`
	//
	SubGatewayName string `json:"subGatewayName,omitempty"`
	// This read-only property
	// is a currency-formatted string
	// that represents the total
	// of all the line items.
	// The total is available
	// only after the document is completed,
	// which is when all recipients have paid and
	// have completed all required fields.
	//
	Total *Money `json:"total,omitempty"`
}

PaymentDetails when a formula tab has a `paymentDetails` property, the formula tab is a payment item. See [Requesting Payments Along with Signatures]paymentguide in the DocuSign Support Center to learn more about payments.

type PaymentGatewayAccount

type PaymentGatewayAccount struct {
	// When **true,** the sender can pass custom metadata about the payment to the payment gateway. You pass in this metadata on an EnvelopeRecipientTab, in the `customMetadata` property under `paymentDetails`.
	//
	// For example, this property is set to **true** for the Authorize.net gateway by default. As a result, the extra metadata that you send displays for the Authorize.net transaction in the merchant gateway portal under **Description.**
	//
	// **Note:** This property is read-only and cannot be changed.
	AllowCustomMetadata Bool `json:"allowCustomMetadata,omitempty"`
	// This property contains metadata about the payment gateway account's configuration such as the API key, `userId`, and `merchantId` details.
	Config *PaymentGatewayAccountSetting `json:"config,omitempty"`
	// A user-defined name for a connected gateway account.
	//
	// This name is used in the Admin panel in the list of connected accounts and in Tagger in the payment gateway selector.
	//
	// The human-readable version of `paymentGatewayAccountId`.
	DisplayName string `json:"displayName,omitempty"`
	// When **true,** the payment gateway account is enabled.
	IsEnabled Bool `json:"isEnabled,omitempty"`
	// Reserved for DocuSign.
	IsLegacy string `json:"isLegacy,omitempty"`
	// The UTC DateTime that the payment gateway account was last updated.
	LastModified string `json:"lastModified,omitempty"`
	// Reserved for DocuSign.
	PayPalLegacySettings *PayPalLegacySettings `json:"payPalLegacySettings,omitempty"`
	// Payment gateway used by the connected gateway account.
	// This is the name used by the API.
	// For a human-readable version use `paymentGatewayDisplayName`.
	//
	// Possible values are:
	//
	// * `Stripe`
	// * `Braintree`
	// * `AuthorizeDotNet`
	// * `CyberSource`
	// * `Zuora`
	// * `Elavon`
	PaymentGateway string `json:"paymentGateway,omitempty"`
	// A GUID that identifies the payment gateway account. For a human-readable version use `displayName`.
	PaymentGatewayAccountID string `json:"paymentGatewayAccountId,omitempty"`
	// The display name of the payment gateway that the connected gateway account uses.
	// This is the human-readable version of `paymentGateway`.
	//
	// Possible values are:
	//
	// * Stripe
	// * Braintree
	// * Authorize.Net
	// * CyberSource
	// * Zuora
	// * Elavon
	PaymentGatewayDisplayName string `json:"paymentGatewayDisplayName,omitempty"`
	// A list of ISO 4217 currency codes for the currencies that the payment gateway account supports.
	//
	// Examples:
	//
	// - `USD`
	// - `CAD`
	// - `EUR`
	// - `HKD`
	SupportedCurrencies []string `json:"supportedCurrencies,omitempty"`
	// An array of paymentMethodWithOptions objects that specify the payment methods that are available for the gateway.
	SupportedPaymentMethods []string `json:"supportedPaymentMethods,omitempty"`
	// An array of `paymentMethodWithOptions` objects that specify the payment methods that are available for the gateway, as well as the payment options that are compatible with each payment method.
	SupportedPaymentMethodsWithOptions []PaymentMethodWithOptions `json:"supportedPaymentMethodsWithOptions,omitempty"`
	//
	ZeroDecimalCurrencies []string `json:"zeroDecimalCurrencies,omitempty"`
}

PaymentGatewayAccount information about a connected payment gateway account.

type PaymentGatewayAccountSetting

type PaymentGatewayAccountSetting struct {
	//
	APIFields string `json:"apiFields,omitempty"`
	//
	AuthorizationCode string `json:"authorizationCode,omitempty"`
	//
	CredentialStatus string `json:"credentialStatus,omitempty"`
	//
	MerchantID string `json:"merchantId,omitempty"`
}

PaymentGatewayAccountSetting not described in definition file

type PaymentGatewayAccountsInfo

type PaymentGatewayAccountsInfo struct {
	// A list of payment gateway accounts.
	PaymentGatewayAccounts []PaymentGatewayAccount `json:"paymentGatewayAccounts,omitempty"`
}

PaymentGatewayAccountsInfo holds information about connected payment accounts.

type PaymentLineItem

type PaymentLineItem struct {
	// This is a the `tabLabel`
	// that specifies the amount paid
	// for the line items.
	//
	//
	AmountReference string `json:"amountReference,omitempty"`
	// A sender-defined description of the line item.
	//
	Description string `json:"description,omitempty"`
	// This is the sender-defined
	// SKU, inventory number, or other item code
	// for the line item.
	//
	ItemCode string `json:"itemCode,omitempty"`
	// This is a sender-defined
	// product name, service name,
	// or other designation for the line item.
	//
	Name string `json:"name,omitempty"`
}

PaymentLineItem is a line item describes details about an individual line item in a payment request.

type PaymentMethodWithOptions

type PaymentMethodWithOptions struct {
	// A list of ISO 4217 currency codes for the currencies that the payment gateway account supports.
	//
	// Examples:
	//
	// - `USD`
	// - `CAD`
	// - `EUR`
	// - `HKD`
	SupportedCurrencies []string `json:"supportedCurrencies,omitempty"`
	// The payment options that are compatible with the payment method in the `type` property.
	//
	// Possible values are:
	//
	// - `save`
	// - `save_and_authorize`
	// - `authorize`
	SupportedOptions []string `json:"supportedOptions,omitempty"`
	// The name of a payment method that the gateway accepts.
	//
	// Possible values are:
	//
	// - `CreditCard`
	// - `ApplePay`
	// - `AndroidPay`
	// - `BankAccount`
	// - `PayPal`
	Type string `json:"type,omitempty"`
}

PaymentMethodWithOptions this object contains information about a payment method that the gateway accepts and the payment options that are compatible with it.

type PaymentProcessorInformation

type PaymentProcessorInformation struct {
	// The mailing address associated with the payment processor.
	Address *AddressInformation `json:"address,omitempty"`
	// The ID of the billing agreement.
	BillingAgreementID string `json:"billingAgreementId,omitempty"`
	// The email address associated with the payment processor.
	Email string `json:"email,omitempty"`
}

PaymentProcessorInformation not described in definition file

type PaymentSignerValues added in v0.10.0

type PaymentSignerValues struct {
	// This property specifies how the signer's collected payment details will be used.
	//
	// Valid values:
	//
	// - `authorize`: The payment details will be used to collect payment. This is the default value.
	// - `save`: The signer's payment method (credit card or bank account) will be saved to the sender's payment gateway.
	// - `save_and_authorize`: The signer's payment method (credit card or bank account) will be saved to the sender's payment gateway and will also be used to collect payment.
	PaymentOption string `json:"paymentOption,omitempty"`
}

PaymentSignerValues not described in definition file

type PermissionProfile

type PermissionProfile struct {
	// The username of the user who last modified the permission profile.
	ModifiedByUsername string `json:"modifiedByUsername,omitempty"`
	// The date and time when the permission profile was last modified.
	ModifiedDateTime *time.Time `json:"modifiedDateTime,omitempty"`
	// The ID of the permission profile.
	//
	// Use [AccountPermissionProfiles: list](/docs/esign-rest-api/reference/accounts/accountpermissionprofiles/list/)
	// to get a list of permission profiles and their IDs.
	//
	// You can also download a CSV file of all permission profiles
	// and their IDs from the **Settings > Permission Profiles** page
	// of your eSignature account page.
	//
	PermissionProfileID string `json:"permissionProfileId,omitempty"`
	// The name of the account permission profile.
	//
	// Example: `Account Administrator`
	PermissionProfileName string `json:"permissionProfileName,omitempty"`
	// This object specifies the permissions that are associated with the account permission profile.
	Settings *AccountRoleSettings `json:"settings,omitempty"`
	// The total number of users in the group associated with the account permission profile.
	UserCount string `json:"userCount,omitempty"`
	// A list of user objects containing information about the users who are associated with the account permission profile.
	Users []UserInformation `json:"users,omitempty"`
}

PermissionProfile this object defines the account permissions for a profile that you can apply to a group of users.

type PermissionProfileInformation

type PermissionProfileInformation struct {
	// A complex type containing a collection of permission profiles.
	PermissionProfiles []PermissionProfile `json:"permissionProfiles,omitempty"`
}

PermissionProfileInformation contains details about the permission profiles associated with an account.

type PhoneNumber added in v0.10.0

type PhoneNumber struct {
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are placed. When **true,** the text string in a document must match the case of the `anchorString` property for an anchor tab to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the anchor string is `DocuSign`, then `DocuSign` will match but `Docusign`, `docusign`, `DoCuSiGn`, etc. will not match. When **false,** `DocuSign`, `Docusign`, `docusign`, `DoCuSiGn`, etc. will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	AnchorCaseSensitive string `json:"anchorCaseSensitive,omitempty"`
	// Metadata that indicates whether the `anchorCaseSensitive` property is editable.
	AnchorCaseSensitiveMetadata *PropertyMetadata `json:"anchorCaseSensitiveMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are aligned in relation to the anchor text. Possible values are :
	//
	// - `left`: Aligns the left side of the tab with the beginning of the first character of the matching anchor word. This is the default value.
	// - `right`: Aligns the tab’s left side with the last character of the matching anchor word.
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorHorizontalAlignment string `json:"anchorHorizontalAlignment,omitempty"`
	// Metadata that indicates whether the `anchorHorizontalAlignment` property is editable.
	AnchorHorizontalAlignmentMetadata *PropertyMetadata `json:"anchorHorizontalAlignmentMetadata,omitempty"`
	// When **true,** this tab is ignored if the `anchorString` is not found in the document.
	AnchorIgnoreIfNotPresent Bool `json:"anchorIgnoreIfNotPresent,omitempty"`
	// Metadata that indicates whether the `anchorIgnoreIfNotPresent` property is editable.
	AnchorIgnoreIfNotPresentMetadata *PropertyMetadata `json:"anchorIgnoreIfNotPresentMetadata,omitempty"`
	// When **true,** the text string in a document must match the value of the `anchorString` property in its entirety for an [anchor tab][AnchorTab] to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the input is `man` then `man` will match but `manpower`, `fireman`, and `penmanship` will not. When **false,** if the input is `man` then `man`, `manpower`, `fireman`, and `penmanship` will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTab]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorMatchWholeWord Bool `json:"anchorMatchWholeWord,omitempty"`
	// Metadata that indicates whether the `anchorMatchWholeWord` property is editable.
	AnchorMatchWholeWordMetadata *PropertyMetadata `json:"anchorMatchWholeWordMetadata,omitempty"`
	// Specifies the string to find in the document and use as the basis for tab placement.
	AnchorString string `json:"anchorString,omitempty"`
	// Metadata that indicates whether the `anchorString` property is editable.
	AnchorStringMetadata *PropertyMetadata `json:"anchorStringMetadata,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersion string `json:"anchorTabProcessorVersion,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersionMetadata *PropertyMetadata `json:"anchorTabProcessorVersionMetadata,omitempty"`
	// Specifies units of the
	// `anchorXOffset` and
	// `anchorYOffset`.
	// Valid units are:
	//
	// - `pixels`
	// - `inches`
	// - `mms`
	// - `cms`
	//
	AnchorUnits string `json:"anchorUnits,omitempty"`
	// Metadata that indicates whether the `anchorUnits` property is editable.
	AnchorUnitsMetadata *PropertyMetadata `json:"anchorUnitsMetadata,omitempty"`
	// Specifies the X axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorXOffset string `json:"anchorXOffset,omitempty"`
	// Metadata that indicates whether the `anchorXOffset` property is editable.
	AnchorXOffsetMetadata *PropertyMetadata `json:"anchorXOffsetMetadata,omitempty"`
	// Specifies the Y axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorYOffset string `json:"anchorYOffset,omitempty"`
	// Metadata that indicates whether the `anchorYOffset` property is editable.
	AnchorYOffsetMetadata *PropertyMetadata `json:"anchorYOffsetMetadata,omitempty"`
	// When **true,** the information in the tab is bold.
	Bold Bool `json:"bold,omitempty"`
	// Metadata that indicates whether the `bold` property is editable.
	BoldMetadata *PropertyMetadata `json:"boldMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// For conditional fields this is the `tabLabel` of the parent tab that controls this tab's visibility.
	ConditionalParentLabel string `json:"conditionalParentLabel,omitempty"`
	// Metadata that indicates whether the `conditionalParentLabel` property is editable.
	ConditionalParentLabelMetadata *PropertyMetadata `json:"conditionalParentLabelMetadata,omitempty"`
	// For conditional fields, this is the value of the parent tab that controls the tab's visibility.
	//
	// If the parent tab is a Checkbox, Radio button, Optional Signature, or Optional Initial use "on" as the value to show that the parent tab is active.
	//
	ConditionalParentValue string `json:"conditionalParentValue,omitempty"`
	// Metadata that indicates whether the `conditionalParentValue` property is editable.
	ConditionalParentValueMetadata *PropertyMetadata `json:"conditionalParentValueMetadata,omitempty"`
	// The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
	CustomTabID string `json:"customTabId,omitempty"`
	// Metadata that indicates whether the `customTabId` property is editable.
	CustomTabIDMetadata *PropertyMetadata `json:"customTabIdMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// Specifies the document ID number that the tab is placed on. This must refer to an existing Document's ID attribute.
	DocumentID string `json:"documentId,omitempty"`
	// Metadata that indicates whether the `documentId` property is editable.
	DocumentIDMetadata *PropertyMetadata `json:"documentIdMetadata,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The font to be used for the tab value. Supported fonts include:
	//
	// - Default
	// - Arial
	// - ArialNarrow
	// - Calibri
	// - CourierNew
	// - Garamond
	// - Georgia
	// - Helvetica
	// - LucidaConsole
	// - MSGothic
	// - MSMincho
	// - OCR-A
	// - Tahoma
	// - TimesNewRoman
	// - Trebuchet
	// - Verdana
	//
	Font string `json:"font,omitempty"`
	// The font color to use for the information in the tab. Possible values are:
	//
	// - Black
	// - BrightBlue
	// - BrightRed
	// - DarkGreen
	// - DarkRed
	// - Gold
	// - Green
	// - NavyBlue
	// - Purple
	// - White
	//
	FontColor string `json:"fontColor,omitempty"`
	// Metadata that indicates whether the `fontColor` property is editable.
	FontColorMetadata *PropertyMetadata `json:"fontColorMetadata,omitempty"`
	// Metadata that indicates whether the `font` property is editable.
	FontMetadata *PropertyMetadata `json:"fontMetadata,omitempty"`
	// The font size used for the information in the tab. Possible values are:
	//
	// - Size7
	// - Size8
	// - Size9
	// - Size10
	// - Size11
	// - Size12
	// - Size14
	// - Size16
	// - Size18
	// - Size20
	// - Size22
	// - Size24
	// - Size26
	// - Size28
	// - Size36
	// - Size48
	// - Size72
	FontSize string `json:"fontSize,omitempty"`
	// Metadata that indicates whether the `fontSize` property is editable.
	FontSizeMetadata *PropertyMetadata `json:"fontSizeMetadata,omitempty"`
	// An integer specifying the order in which the guided form HTML should render. The order is relative to the `formPageLabel`, the group by which to place the guided form HTML block.
	FormOrder string `json:"formOrder,omitempty"`
	// Metadata that indicates whether the `formOrder` property is editable.
	FormOrderMetadata *PropertyMetadata `json:"formOrderMetadata,omitempty"`
	// A string specifying the group in which to place the guided form HTML. Each group displays as a separate guided forms page in the signing experience.
	FormPageLabel string `json:"formPageLabel,omitempty"`
	// Metadata that indicates whether the `formPageLabel` property is editable.
	FormPageLabelMetadata *PropertyMetadata `json:"formPageLabelMetadata,omitempty"`
	// An integer specifying the order in which to present the guided form pages.
	FormPageNumber string `json:"formPageNumber,omitempty"`
	// Metadata that indicates whether the `fromPageNumber` property is editable.
	FormPageNumberMetadata *PropertyMetadata `json:"formPageNumberMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,** the information in the tab is italic.
	Italic Bool `json:"italic,omitempty"`
	// Metadata that indicates whether the `italic` property is editable.
	ItalicMetadata *PropertyMetadata `json:"italicMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Contains the information necessary to map the tab to a field in SalesForce.
	MergeField *MergeField `json:"mergeField,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	//
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// Specifies the page number on which the tab is located.
	PageNumber string `json:"pageNumber,omitempty"`
	// Metadata that indicates whether the `pageNumber` property is editable.
	PageNumberMetadata *PropertyMetadata `json:"pageNumberMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// Metadata that indicates whether the `recipientIdGuid` property is editable.
	RecipientIDGUIDMetadata *PropertyMetadata `json:"recipientIdGuidMetadata,omitempty"`
	// Metadata that indicates whether the `recipientId` property is editable.
	RecipientIDMetadata *PropertyMetadata `json:"recipientIdMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * sent - The envelope is sent to the recipients.
	// * created - The envelope is saved as a draft and can be modified and sent later.
	Status string `json:"status,omitempty"`
	// Metadata that indicates whether the `status` property is editable.
	StatusMetadata *PropertyMetadata `json:"statusMetadata,omitempty"`
	// An array of tab groups that this tab belongs to. Tab groups are identified by their `groupLabel` property.
	//
	// To associate this tab with a tab group, add the tab group's `groupLabel` to this array.
	TabGroupLabels []string `json:"tabGroupLabels,omitempty"`
	// Metadata that indicates whether the `tabGroupLabels` property is editable.
	TabGroupLabelsMetadata *PropertyMetadata `json:"tabGroupLabelsMetadata,omitempty"`
	// The unique identifier for the tab.
	TabID string `json:"tabId,omitempty"`
	// Metadata that indicates whether the `tabId` property is editable.
	TabIDMetadata *PropertyMetadata `json:"tabIdMetadata,omitempty"`
	// The label associated with the tab. This value may be an empty string.
	// If no value is provided, the tab type is used as the value.
	//
	// Maximum Length: 500 characters.
	//
	TabLabel string `json:"tabLabel,omitempty"`
	// Metadata that indicates whether the `tabLabel` property is editable.
	TabLabelMetadata *PropertyMetadata `json:"tabLabelMetadata,omitempty"`
	// A positive integer that sets the order the tab is navigated to during signing.
	//
	// Tabs on a page are navigated to in ascending order, starting with the lowest number and moving to the highest. If two or more tabs have the same `tabOrder` value, the normal auto-navigation setting behavior for the envelope is used.
	TabOrder string `json:"tabOrder,omitempty"`
	// Metadata that indicates whether the `tabOrder` property is editable.
	TabOrderMetadata *PropertyMetadata `json:"tabOrderMetadata,omitempty"`
	// Indicates the type of tab (for example, `signHere` or `initialHere`).
	TabType string `json:"tabType,omitempty"`
	// Metadata that indicates whether the `tabType` property is editable.
	TabTypeMetadata *PropertyMetadata `json:"tabTypeMetadata,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// Metadata that indicates whether the `templateLocked` property is editable.
	TemplateLockedMetadata *PropertyMetadata `json:"templateLockedMetadata,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// Metadata that indicates whether the `templateRequired` property is editable.
	TemplateRequiredMetadata *PropertyMetadata `json:"templateRequiredMetadata,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// When **true,** the information in the tab is underlined.
	Underline Bool `json:"underline,omitempty"`
	// Metadata that indicates whether the `underline` property is editable.
	UnderlineMetadata *PropertyMetadata `json:"underlineMetadata,omitempty"`
	// Specifies the value of the tab.
	Value string `json:"value,omitempty"`
	// Metadata that indicates whether the `value` property is editable.
	ValueMetadata *PropertyMetadata `json:"valueMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
	// This property indicates the horizontal offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	XPosition string `json:"xPosition,omitempty"`
	// Metadata that indicates whether the `xPosition` property is editable.
	XPositionMetadata *PropertyMetadata `json:"xPositionMetadata,omitempty"`
	// This property indicates the vertical offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	YPosition string `json:"yPosition,omitempty"`
	// Metadata that indicates whether the `yPosition` property is editable.
	YPositionMetadata *PropertyMetadata `json:"yPositionMetadata,omitempty"`
}

PhoneNumber is a Phone Number tab enables a recipient to enter a phone number.

**Note:** This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary].

[notary]: /docs/notary-api/

type PlanInformation

type PlanInformation struct {
	// Reserved for DocuSign.
	AddOns []AddOn `json:"addOns,omitempty"`
	// Specifies the ISO currency code for the account.
	CurrencyCode string `json:"currencyCode,omitempty"`
	// Reserved for DocuSign.
	FreeTrialDaysOverride string `json:"freeTrialDaysOverride,omitempty"`
	// Reserved for DocuSign.
	PlanFeatureSets []FeatureSet `json:"planFeatureSets,omitempty"`
	// DocuSign's ID for the account plan.
	PlanID string `json:"planId,omitempty"`
	//
	RecipientDomains []RecipientDomain `json:"recipientDomains,omitempty"`
}

PlanInformation is an object used to identify the features and attributes of the account being created.

type PolyLine

type PolyLine struct {
	//
	X1 string `json:"x1,omitempty"`
	//
	X2 string `json:"x2,omitempty"`
	//
	Y1 string `json:"y1,omitempty"`
	//
	Y2 string `json:"y2,omitempty"`
}

PolyLine not described in definition file

type PolyLineOverlay

type PolyLineOverlay struct {
	TabBase
	TabGuidedForm
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are placed. When **true,** the text string in a document must match the case of the `anchorString` property for an anchor tab to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the anchor string is `DocuSign`, then `DocuSign` will match but `Docusign`, `docusign`, `DoCuSiGn`, etc. will not match. When **false,** `DocuSign`, `Docusign`, `docusign`, `DoCuSiGn`, etc. will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	AnchorCaseSensitive string `json:"anchorCaseSensitive,omitempty"`
	// Metadata that indicates whether the `anchorCaseSensitive` property is editable.
	AnchorCaseSensitiveMetadata *PropertyMetadata `json:"anchorCaseSensitiveMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are aligned in relation to the anchor text. Possible values are :
	//
	// - `left`: Aligns the left side of the tab with the beginning of the first character of the matching anchor word. This is the default value.
	// - `right`: Aligns the tab’s left side with the last character of the matching anchor word.
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorHorizontalAlignment string `json:"anchorHorizontalAlignment,omitempty"`
	// Metadata that indicates whether the `anchorHorizontalAlignment` property is editable.
	AnchorHorizontalAlignmentMetadata *PropertyMetadata `json:"anchorHorizontalAlignmentMetadata,omitempty"`
	// When **true,** this tab is ignored if the `anchorString` is not found in the document.
	AnchorIgnoreIfNotPresent Bool `json:"anchorIgnoreIfNotPresent,omitempty"`
	// Metadata that indicates whether the `anchorIgnoreIfNotPresent` property is editable.
	AnchorIgnoreIfNotPresentMetadata *PropertyMetadata `json:"anchorIgnoreIfNotPresentMetadata,omitempty"`
	// When **true,** the text string in a document must match the value of the `anchorString` property in its entirety for an [anchor tab][AnchorTab] to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the input is `man` then `man` will match but `manpower`, `fireman`, and `penmanship` will not. When **false,** if the input is `man` then `man`, `manpower`, `fireman`, and `penmanship` will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTab]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorMatchWholeWord Bool `json:"anchorMatchWholeWord,omitempty"`
	// Metadata that indicates whether the `anchorMatchWholeWord` property is editable.
	AnchorMatchWholeWordMetadata *PropertyMetadata `json:"anchorMatchWholeWordMetadata,omitempty"`
	// Specifies the string to find in the document and use as the basis for tab placement.
	AnchorString string `json:"anchorString,omitempty"`
	// Metadata that indicates whether the `anchorString` property is editable.
	AnchorStringMetadata *PropertyMetadata `json:"anchorStringMetadata,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersion string `json:"anchorTabProcessorVersion,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersionMetadata *PropertyMetadata `json:"anchorTabProcessorVersionMetadata,omitempty"`
	// Specifies units of the
	// `anchorXOffset` and
	// `anchorYOffset`.
	// Valid units are:
	//
	// - `pixels`
	// - `inches`
	// - `mms`
	// - `cms`
	//
	AnchorUnits string `json:"anchorUnits,omitempty"`
	// Metadata that indicates whether the `anchorUnits` property is editable.
	AnchorUnitsMetadata *PropertyMetadata `json:"anchorUnitsMetadata,omitempty"`
	// Specifies the X axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorXOffset string `json:"anchorXOffset,omitempty"`
	// Metadata that indicates whether the `anchorXOffset` property is editable.
	AnchorXOffsetMetadata *PropertyMetadata `json:"anchorXOffsetMetadata,omitempty"`
	// Specifies the Y axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorYOffset string `json:"anchorYOffset,omitempty"`
	// Metadata that indicates whether the `anchorYOffset` property is editable.
	AnchorYOffsetMetadata *PropertyMetadata `json:"anchorYOffsetMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
	CustomTabID string `json:"customTabId,omitempty"`
	// Metadata that indicates whether the `customTabId` property is editable.
	CustomTabIDMetadata *PropertyMetadata `json:"customTabIdMetadata,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Contains details about the style used for the strike through graphic.
	GraphicsContext *GraphicsContext `json:"graphicsContext,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// Contains the information necessary to map the tab to a field in SalesForce.
	MergeField *MergeField `json:"mergeField,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The type of overlay to use. The API currently supports only the `outline` overlay type.
	OverlayType string `json:"overlayType,omitempty"`
	// Metadata that indicates whether the `overlayType` property is editable.
	//
	OverlayTypeMetadata *PropertyMetadata `json:"overlayTypeMetadata,omitempty"`
	// Specifies the page number on which the tab is located.
	PageNumber string `json:"pageNumber,omitempty"`
	// Metadata that indicates whether the `pageNumber` property is editable.
	PageNumberMetadata *PropertyMetadata `json:"pageNumberMetadata,omitempty"`
	// An array of `polyLine` objects that contain x- and y-coordinates representing the locations of the lines.
	PolyLines []PolyLine `json:"polyLines,omitempty"`
	// When **true,** indicates that the tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// The status of the tab. Possible values are:
	//
	// - `active`: The tab is active, but the recipient has not yet interacted with it.
	// - `signed`: The recipient signed the tab.
	// - `declined`: The recipient declined the envelope.
	// - `na`: Used when the `status` property is not applicable to the tab type. (For example, a tab that has the `tabType` `SignerAttachmentOptional`).
	Status string `json:"status,omitempty"`
	// Metadata that indicates whether the `status` property is editable.
	StatusMetadata *PropertyMetadata `json:"statusMetadata,omitempty"`
	// The unique identifier for the tab.
	TabID string `json:"tabId,omitempty"`
	// Metadata that indicates whether the `tabId` property is editable.
	TabIDMetadata *PropertyMetadata `json:"tabIdMetadata,omitempty"`
	// The label associated with the tab. This value may be an empty string.
	// If no value is provided, the tab type is used as the value.
	//
	// Maximum Length: 500 characters.
	//
	TabLabel string `json:"tabLabel,omitempty"`
	// A positive integer that sets the order the tab is navigated to during signing.
	//
	// Tabs on a page are navigated to in ascending order, starting with the lowest number and moving to the highest. If two or more tabs have the same `tabOrder` value, the normal auto-navigation setting behavior for the envelope is used.
	TabOrder string `json:"tabOrder,omitempty"`
	// Metadata that indicates whether the `tabOrder` property is editable.
	TabOrderMetadata *PropertyMetadata `json:"tabOrderMetadata,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// Metadata that indicates whether the `templateLocked` property is editable.
	TemplateLockedMetadata *PropertyMetadata `json:"templateLockedMetadata,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// Metadata that indicates whether the `templateRequired` property is editable.
	TemplateRequiredMetadata *PropertyMetadata `json:"templateRequiredMetadata,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
	// This property indicates the horizontal offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	XPosition string `json:"xPosition,omitempty"`
	// Metadata that indicates whether the `xPosition` property is editable.
	XPositionMetadata *PropertyMetadata `json:"xPositionMetadata,omitempty"`
	// This property indicates the vertical offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	YPosition string `json:"yPosition,omitempty"`
	// Metadata that indicates whether the `yPosition` property is editable.
	YPositionMetadata *PropertyMetadata `json:"yPositionMetadata,omitempty"`
}

PolyLineOverlay this tab enables users to strike through the text of a document. The tab is implemented as a line represented as a pair of x and y coordinates.

type PowerForm

type PowerForm struct {
	// The ID of the user who created the PowerForm. This property is returned in a response only when you set the `include_created_by` query parameter to **true.**
	CreatedBy string `json:"createdBy,omitempty"`
	// The date and time that the PowerForm was created.
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// For a PowerForm that is sent by email, this is the body of the email message sent to the recipients.
	//
	// Maximum length: 10000 characters.
	EmailBody string `json:"emailBody,omitempty"`
	// Sets the envelope name for the envelopes that the PowerForm generates. One option is to make this property the same as the subject from the template.
	//
	// You can customize the subject line to include a recipient's name or email address by using merge fields. For information about adding merge fields to the email subject, see [Template Email Subject Merge Fields](/docs/esign-rest-api/reference/templates/templates/create/).
	//
	EmailSubject string `json:"emailSubject,omitempty"`
	// An array of envelope objects that contain information about the envelopes that are associated with the PowerForm.
	Envelopes []Envelope `json:"envelopes,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The instructions that display on the landing page for the first recipient. These instructions are important if the recipient accesses the PowerForm by a method other than email. When you include instructions, they display as an introduction after the recipient accesses the PowerForm.
	Instructions string `json:"instructions,omitempty"`
	// When **true,** indicates that the PowerForm is active and can be sent to recipients. This is the default value.
	//
	//
	// When **false,** the PowerForm cannot be emailed or accessed by a recipient, even if they arrive at the PowerForm URL.
	//
	// If a recipient attempts to sign an inactive PowerForm, an error message informs the recipient that the document is not active and suggests that they contact the sender.
	IsActive Bool `json:"isActive,omitempty"`
	// The date and time that the PowerForm was last used.
	LastUsed string `json:"lastUsed,omitempty"`
	// The length of time before the same recipient can sign the same PowerForm again. This property is used in combination with the `limitUseIntervalUnits` property.
	LimitUseInterval string `json:"limitUseInterval,omitempty"`
	// When **true,** the `limitUseInterval` is enabled.
	LimitUseIntervalEnabled Bool `json:"limitUseIntervalEnabled,omitempty"`
	// The units associated with the `limitUseInterval`. Valid values are:
	//
	// - `minutes`
	// - `hours`
	// - `days`
	// - `weeks`
	// - `months`
	//
	// For example, to limit a recipient to signing once per year, set the `limitUseInterval` to 365 and the `limitUseIntervalUnits` to `days`.
	//
	LimitUseIntervalUnits string `json:"limitUseIntervalUnits,omitempty"`
	// When **true,** you can set a maximum number of uses for the PowerForm.
	MaxUseEnabled Bool `json:"maxUseEnabled,omitempty"`
	// The name of the PowerForm.
	Name string `json:"name,omitempty"`
	// The ID of the PowerForm.
	PowerFormID string `json:"powerFormId,omitempty"`
	// The URL for the PowerForm.
	PowerFormURL string `json:"powerFormUrl,omitempty"`
	// An array of `powerFormRecipient` objects.
	//
	// **Note:** For self-service documents where you do not know who the recipients are in advance, you can enter generic information for the `role` property and leave other details (such as `name` and `email`) blank.
	Recipients []PowerFormRecipient `json:"recipients,omitempty"`
	// The name of the sender.
	//
	// **Note:** The default sender for a PowerForm is the PowerForm Administrator who created it.
	SenderName string `json:"senderName,omitempty"`
	// The ID of the sender.
	SenderUserID string `json:"senderUserId,omitempty"`
	// The signing method to use. Valid values are:
	//
	// - `email`: This mode verifies the recipient's identity by using email authentication before the recipient can sign a document.
	//
	// - `direct`: This mode does not require any verification. DocuSign recommends that you use this signing method only when another form of authentication is in use.
	//
	// **Note:** In the account settings, `enablePowerFormDirect` must be **true** to use `direct` as the `signingMode`.
	//
	// For more information about signing modes, see the [overview of the Create method](/docs/esign-rest-api/reference/powerforms/powerforms/create/).
	SigningMode string `json:"signingMode,omitempty"`
	// The ID of the template used to create the PowerForm.
	TemplateID string `json:"templateId,omitempty"`
	// The name of the template used to create the PowerForm.
	TemplateName string `json:"templateName,omitempty"`
	// The number of times the PowerForm has been used.
	TimesUsed string `json:"timesUsed,omitempty"`
	// The URI for the PowerForm.
	URI string `json:"uri,omitempty"`
	// The number of times that the PowerForm can still be used. If no use limit is set, the value is `Unlimited`.
	UsesRemaining string `json:"usesRemaining,omitempty"`
}

PowerForm is the PowerForms resource enables you to create fillable forms that you can email or make available for self service on the web.

type PowerFormFormDataEnvelope

type PowerFormFormDataEnvelope struct {
	// The envelope ID of the envelope status that failed to post.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// An array of recipient objects that provides details about the recipients of the envelope.
	Recipients []PowerFormFormDataRecipient `json:"recipients,omitempty"`
}

PowerFormFormDataEnvelope not described in definition file

type PowerFormFormDataRecipient

type PowerFormFormDataRecipient struct {
	//
	Email string `json:"email,omitempty"`
	//
	FormData []NameValue `json:"formData,omitempty"`
	// The name of the recipient.
	Name string `json:"name,omitempty"`
	// The unique ID for the recipient. It is used by the tab element to indicate which recipient is to sign the document.
	RecipientID string `json:"recipientId,omitempty"`
}

PowerFormFormDataRecipient not described in definition file

type PowerFormRecipient

type PowerFormRecipient struct {
	// (Optional) The access code that the recipient must enter to access the PowerForm.
	//
	// Maximum Length: 50 characters. The code must also conform to the account's access code format setting.
	//
	// If blank but the signer accessCode property is set in the envelope, then that value is used.
	//
	// If blank and the signer accessCode property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// When **true,** the `accessCode` property is locked and cannot be edited.
	AccessCodeLocked Bool `json:"accessCodeLocked,omitempty"`
	// When **true,** the recipient must enter the `accessCode` to access the PowerForm.
	AccessCodeRequired Bool `json:"accessCodeRequired,omitempty"`
	// The email address of the recipient.
	//
	// **Note:** For self-service documents where you do not know who the recipients are in advance, you can leave this property blank.
	Email string `json:"email,omitempty"`
	// When **true,** the recipient's email address is locked and cannot be edited.
	EmailLocked Bool `json:"emailLocked,omitempty"`
	// The name of the authentication check to use. This value must match one of the authentication types that the account uses. The names of these authentication types appear in the web console sending interface in the Identify list for a recipient. This setting overrides any default authentication setting. Valid values are:
	//
	// - `Phone Auth $`: The recipient must authenticate by using two-factor authentication (2FA). You provide the phone number to use for 2FA in the `phoneAuthentication` object.
	// - `SMS Auth $`: The recipient must authenticate via SMS. You provide the phone number to use in the `smsAuthentication` object.
	// - `ID Check $`: The  recipient must answer detailed security questions.
	//
	// **Example:** Your account has ID Check and SMS Authentication available. In the web console Identify list, these appear as ID Check $ and SMS Auth $. To use ID Check in an envelope, the idCheckConfigurationName should be ID Check $. For SMS, you would use SMS Auth $, and you would also need to add a phone number to the smsAuthentication node.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// Indicates if authentication is configured for the account. Valid values are:
	//
	// - `always`: Authentication checks are performed on every envelope.
	// - `never`: Authentication checks are not performed on any envelopes.
	// - `optional:` Authentication is configurable per envelope.
	IDCheckRequired string `json:"idCheckRequired,omitempty"`
	// The name of the PowerForm recipient.
	//
	// **Note:** For self-service documents where you do not know who the recipients are in advance, you can leave this property blank.
	Name string `json:"name,omitempty"`
	// The recipient type, as specified by the following values:
	// - `agent`: Agent recipients can add name and email information for recipients that appear after the agent in routing order.
	// - `carbonCopy`: Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date, or add information to any of the documents. This type of recipient can be used in any routing order.
	// - `certifiedDelivery`: Certified delivery recipients must receive the completed documents for the envelope to be completed. They don't need to sign, initial, date, or add information to any of the documents.
	// - `editor`: Editors have the same management and access rights for the envelope as the sender. Editors can add name and email information, add or change the routing order, set authentication options, and can edit signature/initial tabs and data fields for the remaining recipients.
	// - `inPersonSigner`: In-person recipients are DocuSign users who act as signing hosts in the same physical location as the signer.
	// - `intermediaries`: Intermediary recipients can optionally add name and email information for recipients at the same or subsequent level in the routing order.
	// - `seal`: Electronic seal recipients represent legal entities.
	// - `signer`: Signers are recipients who must sign, initial, date, or add data to form fields on the documents in the envelope.
	// - `witness`: Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.
	RecipientType string `json:"recipientType,omitempty"`
	// The role associated with the recipient (for example, `Member`).
	//
	// This property is required when you are working with template recipients and PowerForm recipients.
	RoleName string `json:"roleName,omitempty"`
	// Specifies the routing order of the recipient in the envelope.
	RoutingOrder string `json:"routingOrder,omitempty"`
	// When **true,** the template used to create the PowerForm requires ID lookup for the recipient.
	TemplateRequiresIDLookup Bool `json:"templateRequiresIdLookup,omitempty"`
	// When **true,** the `userName` property for the recipient is locked and cannot be edited.
	UserNameLocked Bool `json:"userNameLocked,omitempty"`
}

PowerFormRecipient **Note:** For a self-service PowerForm on a website, you can specify the intended recipients generically (for example, use `Member` as the `Name`), and omit personal details such as `email`.

type PowerFormSendersResponse

type PowerFormSendersResponse struct {
	// The last index position in the result set.
	EndPosition int32 `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// An array of `userInfo` objects containing information about users who have sent PowerForms.
	PowerFormSenders []UserInfo `json:"powerFormSenders,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize int32 `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition int32 `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize int32 `json:"totalSetSize,omitempty"`
}

PowerFormSendersResponse this object includes information about the users who have sent PowerForms.

type PowerFormsFormDataResponse

type PowerFormsFormDataResponse struct {
	//
	Envelopes []PowerFormFormDataEnvelope `json:"envelopes,omitempty"`
}

PowerFormsFormDataResponse not described in definition file

type PowerFormsRequest

type PowerFormsRequest struct {
	// An array of PowerForm objects.
	PowerForms []PowerForm `json:"powerForms,omitempty"`
}

PowerFormsRequest not described in definition file

type PowerFormsResponse

type PowerFormsResponse struct {
	// The last index position in the result set.
	EndPosition int32 `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// An array of PowerForm objects.
	PowerForms []PowerForm `json:"powerForms,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize int32 `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition int32 `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize int32 `json:"totalSetSize,omitempty"`
}

PowerFormsResponse is a list of PowerForms.

type PrefillFormData added in v0.10.0

type PrefillFormData struct {
	//
	FormData []FormDataItem `json:"formData,omitempty"`
	// The sender's email address.
	SenderEmail string `json:"senderEmail,omitempty"`
	// The sender's name.
	SenderName string `json:"senderName,omitempty"`
	// The ID of the sender.
	SenderUserID string `json:"senderUserId,omitempty"`
}

PrefillFormData not described in definition file

type PrefillTabs added in v0.10.0

type PrefillTabs struct {
	// A list of
	// [Checkbox tabs][checkbox].
	//
	//
	// A Checkbox tab enables the recipient to select a yes/no (on/off) option. This value can be set.
	//
	//
	// [checkbox]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	CheckboxTabs []Checkbox `json:"checkboxTabs,omitempty"`
	// A list of
	// [Date tabs][date].
	//
	// A Date tab enables the recipient to enter a date. This value can't be set. The tooltip for this tab recommends the date format MM/DD/YYYY, but several other date formats are also accepted. The system retains the format that the recipient enters.
	//
	// **Note:** If you need to enforce a specific date format, DocuSign recommends that you use a Text tab with a validation pattern and validation message.
	//
	//
	// [date]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	DateTabs []Date `json:"dateTabs,omitempty"`
	// A list of
	// [Email tabs][email].
	//
	// An Email tab enables the recipient to enter an email address.
	// This is a one-line field that checks that a valid email
	// address is entered. It uses the same parameters as a Text
	// tab, with the validation message and pattern set for email
	// information. This value can be set.
	//
	// When getting information that includes
	// this tab type, the original value of the tab when the
	// associated envelope was sent is included in the response.
	//
	// [email]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	EmailTabs []Email `json:"emailTabs,omitempty"`
	// A list of
	// [Number tabs][number].
	//
	// A Number tab enables the recipient to enter numbers and decimal points (.). This value can be set.
	//
	//
	//
	// [number]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	NumberTabs []Number `json:"numberTabs,omitempty"`
	// A list of [Radio Group tabs][radioGroup].
	//
	// A Radio Group tab places a group of radio buttons on a document. The `radios` property is used to add and place the radio
	// buttons associated with the group. Only one radio button can be selected in a group. This value can be set.
	//
	//
	// [radioGroup]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	RadioGroupTabs []RadioGroup `json:"radioGroupTabs,omitempty"`
	//
	SenderCompanyTabs []SenderCompany `json:"senderCompanyTabs,omitempty"`
	//
	SenderNameTabs []SenderName `json:"senderNameTabs,omitempty"`
	// A list of
	// [SSN tabs][ssn].
	//
	// An SSN tab contains a one-line field that enables the recipient to enter a Social Security Number (SSN) with or without
	// dashes. It uses the same parameters as a Text tab, with the validation message and pattern set for SSN information. This value can be set.
	//
	//
	// [ssn]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	SSNTabs []SSN `json:"ssnTabs,omitempty"`
	// An array of `tabGroup` items.
	//
	// To associate a tab with a tab group, add the tab group's `groupLabel` to the tab's `tabGroupLabels` array.
	//
	TabGroups []TabGroup `json:"tabGroups,omitempty"`
	// A list of
	// Text tabs.
	//
	// A text tab enables the recipient to enter free text. This value can be set.
	//
	// Find descriptions of all tab types in
	// the [EnvelopeRecipientTabs Resource][ert].
	//
	// [ert]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	TextTabs []Text `json:"textTabs,omitempty"`
	// A list of
	// [Zip tabs][zip].
	//
	// A Zip tab enables the recipient to enter a ZIP code. The ZIP code can be five digits or nine digits ( in ZIP+4 format), and can be entered with or without dashes. It uses the same parameters as a Text tab, with the validation message and pattern set for ZIP code information.  This value can be set.
	//
	//
	// [zip]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	ZipTabs []Zip `json:"zipTabs,omitempty"`
}

PrefillTabs prefill tabs are tabs that the sender can fill in before the envelope is sent. They are sometimes called sender tags or pre-fill fields.

Only the following tab types can be prefill tabs:

- text - check boxes - radio buttons

[Pre-Fill Your Own Document Fields]app describes how prefill tabs work in the web application.

[Customize your envelopes with pre-fill fields]catblog shows how to use prefill tabs in your application using the eSignature SDKs.

type PropertyMetadata

type PropertyMetadata struct {
	// An array of option strings supported by this setting.
	Options []string `json:"options,omitempty"`
	// Indicates whether the property is editable. Valid values are:
	//
	// - `editable`
	// - `read_only`
	Rights string `json:"rights,omitempty"`
}

PropertyMetadata metadata about a property.

type Province

type Province struct {
	//
	IsoCode string `json:"isoCode,omitempty"`
	//
	Name string `json:"name,omitempty"`
}

Province not described in definition file

type ProvisioningInformation

type ProvisioningInformation struct {
	//
	DefaultConnectionID string `json:"defaultConnectionId,omitempty"`
	//
	DefaultPlanID string `json:"defaultPlanId,omitempty"`
	// The code that identifies the billing plan groups and plans for the new account.
	DistributorCode string `json:"distributorCode,omitempty"`
	// The password for the `distributorCode`.
	DistributorPassword string `json:"distributorPassword,omitempty"`
	//
	PasswordRuleText string `json:"passwordRuleText,omitempty"`
	//
	PlanPromotionText string `json:"planPromotionText,omitempty"`
	//
	PurchaseOrderOrPromAllowed string `json:"purchaseOrderOrPromAllowed,omitempty"`
}

ProvisioningInformation not described in definition file

type PurchasedEnvelopesInformation

type PurchasedEnvelopesInformation struct {
	// The total amount of the purchase.
	Amount string `json:"amount,omitempty"`
	// The AppName of the client application.
	AppName string `json:"appName,omitempty"`
	// Specifies the ISO currency code of the purchase. This is based on the ISO 4217 currency code information.
	CurrencyCode string `json:"currencyCode,omitempty"`
	// The Platform of the client application
	Platform string `json:"platform,omitempty"`
	// The Product ID from the AppStore.
	ProductID string `json:"productId,omitempty"`
	// The quantity of envelopes to add to the account.
	Quantity string `json:"quantity,omitempty"`
	// The encrypted Base64 encoded receipt data.
	ReceiptData []byte `json:"receiptData,omitempty"`
	// The name of the AppStore.
	StoreName string `json:"storeName,omitempty"`
	// Specifies the Transaction ID from the AppStore.
	TransactionID string `json:"transactionId,omitempty"`
}

PurchasedEnvelopesInformation not described in definition file

type Radio

type Radio struct {
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are placed. When **true,** the text string in a document must match the case of the `anchorString` property for an anchor tab to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the anchor string is `DocuSign`, then `DocuSign` will match but `Docusign`, `docusign`, `DoCuSiGn`, etc. will not match. When **false,** `DocuSign`, `Docusign`, `docusign`, `DoCuSiGn`, etc. will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	AnchorCaseSensitive Bool `json:"anchorCaseSensitive,omitempty"`
	// Metadata that indicates whether the `anchorCaseSensitive` property is editable.
	AnchorCaseSensitiveMetadata *PropertyMetadata `json:"anchorCaseSensitiveMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are aligned in relation to the anchor text. Possible values are :
	//
	// - `left`: Aligns the left side of the tab with the beginning of the first character of the matching anchor word. This is the default value.
	// - `right`: Aligns the tab’s left side with the last character of the matching anchor word.
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorHorizontalAlignment string `json:"anchorHorizontalAlignment,omitempty"`
	// Metadata that indicates whether the `anchorHorizontalAlignment` property is editable.
	AnchorHorizontalAlignmentMetadata *PropertyMetadata `json:"anchorHorizontalAlignmentMetadata,omitempty"`
	// When **true,** this tab is ignored if the `anchorString` is not found in the document.
	AnchorIgnoreIfNotPresent Bool `json:"anchorIgnoreIfNotPresent,omitempty"`
	// Metadata that indicates whether the `anchorIgnoreIfNotPresent` property is editable.
	AnchorIgnoreIfNotPresentMetadata *PropertyMetadata `json:"anchorIgnoreIfNotPresentMetadata,omitempty"`
	// When **true,** the text string in a document must match the value of the `anchorString` property in its entirety for an [anchor tab][AnchorTab] to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the input is `man` then `man` will match but `manpower`, `fireman`, and `penmanship` will not. When **false,** if the input is `man` then `man`, `manpower`, `fireman`, and `penmanship` will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTab]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorMatchWholeWord Bool `json:"anchorMatchWholeWord,omitempty"`
	// Metadata that indicates whether the `anchorMatchWholeWord` property is editable.
	AnchorMatchWholeWordMetadata *PropertyMetadata `json:"anchorMatchWholeWordMetadata,omitempty"`
	// Specifies the string to find in the document and use as the basis for tab placement.
	AnchorString string `json:"anchorString,omitempty"`
	// Metadata that indicates whether the `anchorString` property is editable.
	AnchorStringMetadata *PropertyMetadata `json:"anchorStringMetadata,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersion string `json:"anchorTabProcessorVersion,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersionMetadata *PropertyMetadata `json:"anchorTabProcessorVersionMetadata,omitempty"`
	// Specifies units of the
	// `anchorXOffset` and
	// `anchorYOffset`.
	// Valid units are:
	//
	// - `pixels`
	// - `inches`
	// - `mms`
	// - `cms`
	//
	AnchorUnits string `json:"anchorUnits,omitempty"`
	// Metadata that indicates whether the `anchorUnits` property is editable.
	AnchorUnitsMetadata *PropertyMetadata `json:"anchorUnitsMetadata,omitempty"`
	// Specifies the X axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorXOffset string `json:"anchorXOffset,omitempty"`
	// Metadata that indicates whether the `anchorXOffset` property is editable.
	AnchorXOffsetMetadata *PropertyMetadata `json:"anchorXOffsetMetadata,omitempty"`
	// Specifies the Y axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorYOffset string `json:"anchorYOffset,omitempty"`
	// Metadata that indicates whether the `anchorYOffset` property is editable.
	AnchorYOffsetMetadata *PropertyMetadata `json:"anchorYOffsetMetadata,omitempty"`
	// When **true,** the information in the tab is bold.
	Bold Bool `json:"bold,omitempty"`
	// Metadata that indicates whether the `bold` property is editable.
	BoldMetadata *PropertyMetadata `json:"boldMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The font to be used for the tab value. Supported fonts include:
	//
	// - Default
	// - Arial
	// - ArialNarrow
	// - Calibri
	// - CourierNew
	// - Garamond
	// - Georgia
	// - Helvetica
	// - LucidaConsole
	// - MSGothic
	// - MSMincho
	// - OCR-A
	// - Tahoma
	// - TimesNewRoman
	// - Trebuchet
	// - Verdana
	//
	Font string `json:"font,omitempty"`
	// The font color to use for the information in the tab. Possible values are:
	//
	// - Black
	// - BrightBlue
	// - BrightRed
	// - DarkGreen
	// - DarkRed
	// - Gold
	// - Green
	// - NavyBlue
	// - Purple
	// - White
	//
	FontColor string `json:"fontColor,omitempty"`
	// Metadata that indicates whether the `fontColor` property is editable.
	FontColorMetadata *PropertyMetadata `json:"fontColorMetadata,omitempty"`
	// Metadata that indicates whether the `font` property is editable.
	FontMetadata *PropertyMetadata `json:"fontMetadata,omitempty"`
	// The font size used for the information in the tab. Possible values are:
	//
	// - Size7
	// - Size8
	// - Size9
	// - Size10
	// - Size11
	// - Size12
	// - Size14
	// - Size16
	// - Size18
	// - Size20
	// - Size22
	// - Size24
	// - Size26
	// - Size28
	// - Size36
	// - Size48
	// - Size72
	FontSize string `json:"fontSize,omitempty"`
	// Metadata that indicates whether the `fontSize` property is editable.
	FontSizeMetadata *PropertyMetadata `json:"fontSizeMetadata,omitempty"`
	// When **true,** the information in the tab is italic.
	Italic Bool `json:"italic,omitempty"`
	// Metadata that indicates whether the `italic` property is editable.
	ItalicMetadata *PropertyMetadata `json:"italicMetadata,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// Specifies the page number on which the tab is located.
	// Must be 1 for supplemental documents.
	//
	PageNumber string `json:"pageNumber,omitempty"`
	// Metadata that indicates whether the `pageNumber` property is editable.
	PageNumberMetadata *PropertyMetadata `json:"pageNumberMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// When **true,** the radio button is selected.
	Selected Bool `json:"selected,omitempty"`
	// Metadata that indicates whether the `selected` property is editable.
	SelectedMetadata *PropertyMetadata `json:"selectedMetadata,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * sent - The envelope is sent to the recipients.
	// * created - The envelope is saved as a draft and can be modified and sent later.
	Status string `json:"status,omitempty"`
	// Metadata that indicates whether the `status` property is editable.
	StatusMetadata *PropertyMetadata `json:"statusMetadata,omitempty"`
	// The unique identifier for the tab.
	TabID string `json:"tabId,omitempty"`
	// Metadata that indicates whether the `tabId` property is editable.
	TabIDMetadata *PropertyMetadata `json:"tabIdMetadata,omitempty"`
	// A positive integer that sets the order the tab is navigated to during signing.
	//
	// Tabs on a page are navigated to in ascending order, starting with the lowest number and moving to the highest. If two or more tabs have the same `tabOrder` value, the normal auto-navigation setting behavior for the envelope is used.
	TabOrder string `json:"tabOrder,omitempty"`
	// Metadata that indicates whether the `tabOrder` property is editable.
	TabOrderMetadata *PropertyMetadata `json:"tabOrderMetadata,omitempty"`
	// When **true,** the information in the tab is underlined.
	Underline Bool `json:"underline,omitempty"`
	// Metadata that indicates whether the `underline` property is editable.
	UnderlineMetadata *PropertyMetadata `json:"underlineMetadata,omitempty"`
	// Specifies the value of the tab.
	Value string `json:"value,omitempty"`
	// Metadata that indicates whether the `value` property is editable.
	ValueMetadata *PropertyMetadata `json:"valueMetadata,omitempty"`
	// This property indicates the horizontal offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	XPosition string `json:"xPosition,omitempty"`
	// Metadata that indicates whether the `xPosition` property is editable.
	XPositionMetadata *PropertyMetadata `json:"xPositionMetadata,omitempty"`
	// This property indicates the vertical offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	YPosition string `json:"yPosition,omitempty"`
	// Metadata that indicates whether the `yPosition` property is editable.
	YPositionMetadata *PropertyMetadata `json:"yPositionMetadata,omitempty"`
}

Radio one of the selectable radio buttons in the `radios` property of a [`radioGroup`](/docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/) tab.

type RadioGroup

type RadioGroup struct {
	TabBase
	TabValue
	// The name of the group. The search_text provided in the call automatically performs a wild card search on group_name.
	GroupName string `json:"groupName,omitempty"`
	// Metadata that indicates whether the `groupName` property is editable.
	GroupNameMetadata *PropertyMetadata `json:"groupNameMetadata,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// Specifies the locations and status for radio buttons that are grouped together.
	Radios []Radio `json:"radios,omitempty"`
	// When **true** and shared is true, information must be entered in this field to complete the envelope.
	RequireAll Bool `json:"requireAll,omitempty"`
	// Metadata that indicates whether the `requireAll` property is editable.
	RequireAllMetadata *PropertyMetadata `json:"requireAllMetadata,omitempty"`
	// Optional element for field markup. When **true,** the signer is required to initial when they modify a shared field.
	RequireInitialOnSharedChange Bool `json:"requireInitialOnSharedChange,omitempty"`
	// Metadata that indicates whether the `requireInitialOnSharedChange` property is editable.
	RequireInitialOnSharedChangeMetadata *PropertyMetadata `json:"requireInitialOnSharedChangeMetadata,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipients string `json:"shareToRecipients,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipientsMetadata *PropertyMetadata `json:"shareToRecipientsMetadata,omitempty"`
	// When **true,** this custom tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// Metadata that indicates whether the `templateLocked` property is editable.
	TemplateLockedMetadata *PropertyMetadata `json:"templateLockedMetadata,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// Metadata that indicates whether the `templateRequired` property is editable.
	TemplateRequiredMetadata *PropertyMetadata `json:"templateRequiredMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// Metadata that indicates whether the `tooltip` property is editable.
	//
	TooltipMetadata *PropertyMetadata `json:"tooltipMetadata,omitempty"`
}

RadioGroup this group tab is used to place radio buttons on a document. The `radios` property contains a list of [`radio`](/docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/) objects associated with the group. Only one radio button can be selected in a group.

type RecipientAdditionalNotification added in v0.10.0

type RecipientAdditionalNotification struct {
	// The phone number to receive the additional notifcation.
	PhoneNumber *RecipientPhoneNumber `json:"phoneNumber,omitempty"`
	// The secondary delivery method. One of:
	//
	// - `email`
	// - `fax`
	// - `SMS`
	// - `offline`
	//
	SecondaryDeliveryMethod string `json:"secondaryDeliveryMethod,omitempty"`
	// Metadata about the delivery method.
	SecondaryDeliveryMethodMetadata *PropertyMetadata `json:"secondaryDeliveryMethodMetadata,omitempty"`
	// The status of the delivery. This property is read-only.
	//
	// One of:
	//
	// - `autoresponded`
	// - `optedout`
	// - `limitreached`
	//
	SecondaryDeliveryStatus string `json:"secondaryDeliveryStatus,omitempty"`
}

RecipientAdditionalNotification describes an additional notification method.

type RecipientAttachment

type RecipientAttachment struct {
	// The unique identifier for the attachment.
	AttachmentID string `json:"attachmentId,omitempty"`
	// Specifies the type of the attachment for the recipient. Possible values are:
	//
	// - `.htm`
	// - `.xml`
	AttachmentType string `json:"attachmentType,omitempty"`
	// A Base64-encoded representation of the attachment that is used to upload and download the file. File attachments may be up to 50 MB in size.
	Data []byte `json:"data,omitempty"`
	// An optional label for the attachment.
	Label string `json:"label,omitempty"`
	// The name of the attachment.
	Name string `json:"name,omitempty"`
	// The URL of a previously staged chunked upload. Using a chunked upload enables you to stage a large, chunkable temp file. You then use the `remoteUrl` property to reference the chunked upload as the content in attachment and document-related requests. The `remoteUrl` property cannot be used for downloads.
	RemoteURL string `json:"remoteUrl,omitempty"`
}

RecipientAttachment not described in definition file

type RecipientDomain

type RecipientDomain struct {
	//
	Active string `json:"active,omitempty"`
	//
	DomainCode string `json:"domainCode,omitempty"`
	//
	DomainName string `json:"domainName,omitempty"`
	//
	RecipientDomainID string `json:"recipientDomainId,omitempty"`
}

RecipientDomain not described in definition file

type RecipientEmailNotification

type RecipientEmailNotification struct {
	// The body of the email message.
	EmailBody string `json:"emailBody,omitempty"`
	// Metadata that indicates whether the `emailBody` property can be edited.
	EmailBodyMetadata *PropertyMetadata `json:"emailBodyMetadata,omitempty"`
	// The subject line for the email notification.
	EmailSubject string `json:"emailSubject,omitempty"`
	// Metadata that indicates whether the `emailSubject` property can be edited.
	EmailSubjectMetadata *PropertyMetadata `json:"emailSubjectMetadata,omitempty"`
	// The language to use for the standard email format and signing view for a recipient.
	//
	// For example, in the recipient's email notification, this setting affects elements such as the standard introductory text describing the request to sign. It also determines the language used for buttons and tabs in both the email notification and the signing experience.
	//
	// **Note:** This setting affects only DocuSign standard text. Any custom text that you enter for the `emailBody` and `emailSubject` of the notification is not translated, and appears exactly as you enter it.
	//
	//  To retrieve the possible values, use the [Accounts::listSupportedLanguages][ListLang] method.
	//
	// [ListLang]: /docs/esign-rest-api/reference/accounts/accounts/listsupportedlanguages/
	//
	SupportedLanguage string `json:"supportedLanguage,omitempty"`
	// Metadata that indicates whether the `supportedLanguage` property can be edited.
	SupportedLanguageMetadata *PropertyMetadata `json:"supportedLanguageMetadata,omitempty"`
}

RecipientEmailNotification not described in definition file

type RecipientEvent

type RecipientEvent struct {
	// When **true,**
	// the Connect webhook messages
	// will include the envelope's PDF documents.
	// Including the PDF documents
	// greatly increases the size of the notification messages.
	// Ensure that your listener can handle
	// incoming messages that are 25MB or larger.
	IncludeDocuments Bool `json:"includeDocuments,omitempty"`
	// Send a webhook notification for the following recipient statuses: Sent, Delivered, Completed, Declined, AuthenticationFailed, and AutoResponded.
	RecipientEventStatusCode string `json:"recipientEventStatusCode,omitempty"`
}

RecipientEvent not described in definition file

type RecipientFormData

type RecipientFormData struct {
	// The date and time the recipient declined the envelope.
	DeclinedTime string `json:"DeclinedTime,omitempty"`
	// The date and time the recipient viewed the documents in the envelope in the DocuSign signing UI.
	DeliveredTime string `json:"DeliveredTime,omitempty"`
	// The date and time the envelope was sent to the recipient.
	SentTime string `json:"SentTime,omitempty"`
	// The date and time the recipient signed the documents.
	SignedTime string `json:"SignedTime,omitempty"`
	// The recipient's email address.
	Email string `json:"email,omitempty"`
	// An array of form data objects.
	FormData []FormDataItem `json:"formData,omitempty"`
	// The name of the recipient.
	Name string `json:"name,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
}

RecipientFormData not described in definition file

type RecipientGroup added in v0.10.0

type RecipientGroup struct {
	// The group message, typically a description of the group.
	GroupMessage string `json:"groupMessage,omitempty"`
	// The name of the group.
	GroupName string `json:"groupName,omitempty"`
	// An array of recipient objects that provides details about the recipients of the envelope.
	Recipients []RecipientOption `json:"recipients,omitempty"`
}

RecipientGroup describes a group of recipients.

type RecipientIdentityInputOption added in v0.10.0

type RecipientIdentityInputOption struct {
	//
	Name string `json:"name,omitempty"`
	//
	PhoneNumberList []RecipientIdentityPhoneNumber `json:"phoneNumberList,omitempty"`
	//
	ValueType string `json:"valueType,omitempty"`
}

RecipientIdentityInputOption not described in definition file

type RecipientIdentityPhoneNumber added in v0.10.0

type RecipientIdentityPhoneNumber struct {
	// The numeric country calling code for the phone number. For example, the country calling code for the US and Canada is 1. For the UK, the country calling code is 44.
	//
	// Do not include the + symbol.
	CountryCode string `json:"countryCode,omitempty"`
	//
	CountryCodeLock string `json:"countryCodeLock,omitempty"`
	// Metadata that indicates if the `countryCode` property is editable.
	CountryCodeMetadata *PropertyMetadata `json:"countryCodeMetadata,omitempty"`
	// The telephone extension, if any.
	Extension string `json:"extension,omitempty"`
	// Metadata that indicates if the `extension` property is editable.
	ExtensionMetadata *PropertyMetadata `json:"extensionMetadata,omitempty"`
	// The telephone number. Use only the digits `0`-`9`. Remove any non-numeric characters.
	//
	// Do not include the `countryCode`. For US, Canada, and other
	// [North American Numbering Plan](https://en.wikipedia.org/wiki/North_American_Numbering_Plan) countries, do not include a leading `1` or `0`.
	Number string `json:"number,omitempty"`
	// Metadata that indicates if the `number` property is editable.
	NumberMetadata *PropertyMetadata `json:"numberMetadata,omitempty"`
}

RecipientIdentityPhoneNumber not described in definition file

type RecipientIdentityVerification

type RecipientIdentityVerification struct {
	//
	InputOptions []RecipientIdentityInputOption `json:"inputOptions,omitempty"`
	// ID of the Identity Verification worklow used to verify recipients' identity.
	//
	// This ID must match one of the [workflowId](/docs/esign-rest-api/reference/accounts/identityverifications/list/) available to your account.
	WorkflowID string `json:"workflowId,omitempty"`
	//
	WorkflowIDMetadata *PropertyMetadata `json:"workflowIdMetadata,omitempty"`
}

RecipientIdentityVerification specifies ID Verification applied on an envelope by workflow ID. See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods.

type RecipientNamesResponse

type RecipientNamesResponse struct {
	// When **true,** the email address is used by more than one user.
	MultipleUsers Bool `json:"multipleUsers,omitempty"`
	// The names of the recipients associated with the email address.
	RecipientNames []string `json:"recipientNames,omitempty"`
	// When **true,** new names cannot be added to the email address.
	ReservedRecipientEmail Bool `json:"reservedRecipientEmail,omitempty"`
}

RecipientNamesResponse this response object contains a list of recipients.

type RecipientOption added in v0.10.0

type RecipientOption struct {
	// The email ID of the agent. This property is required. Maximum length: 100 characters.
	Email string `json:"email,omitempty"`
	// The full legal name of the recipient. Maximum length: 100 characters.
	Name string `json:"name,omitempty"`
	// An identifier for the recipient. After assigning this value in a `recipient` object, you can reference it in the `conditions` object to set the recipient as a conditional recipient. For an example, see [How to use conditional recipients](/docs/esign-rest-api/how-to/use-conditional-recipients/).
	//
	RecipientLabel string `json:"recipientLabel,omitempty"`
	// Specifies the signing group role of the recipient. This property is required.
	RoleName string `json:"roleName,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
}

RecipientOption describes a recipient who is a member of a conditional group.

type RecipientPhoneAuthentication

type RecipientPhoneAuthentication struct {
	// Boolean. When **true,** the recipient can supply a phone number their choice.
	RecipMayProvideNumber Bool `json:"recipMayProvideNumber,omitempty"`
	// Metadata that indicates whether the `recipMayProvideNumber` property can be edited.
	RecipMayProvideNumberMetadata *PropertyMetadata `json:"recipMayProvideNumberMetadata,omitempty"`
	// Reserved for DocuSign.
	RecordVoicePrint string `json:"recordVoicePrint,omitempty"`
	// Reserved for DocuSign.
	RecordVoicePrintMetadata *PropertyMetadata `json:"recordVoicePrintMetadata,omitempty"`
	// An array containing a list of phone numbers that the recipient can use for SMS text authentication.
	SenderProvidedNumbers []string `json:"senderProvidedNumbers,omitempty"`
	// Metadata that indicates whether the `senderProvidedNumbers` property can be edited.
	SenderProvidedNumbersMetadata *PropertyMetadata `json:"senderProvidedNumbersMetadata,omitempty"`
	//  Reserved for DocuSign.
	ValidateRecipProvidedNumber string `json:"validateRecipProvidedNumber,omitempty"`
	// Reserved for DocuSign.
	ValidateRecipProvidedNumberMetadata *PropertyMetadata `json:"validateRecipProvidedNumberMetadata,omitempty"`
}

RecipientPhoneAuthentication is a complex type that contains the elements:

* `recipMayProvideNumber`: A Boolean value that specifies whether the recipient can use the phone number of their choice. * `senderProvidedNumbers`: A list of phone numbers that the recipient can use. * `recordVoicePrint`: Reserved for DocuSign. * `validateRecipProvidedNumber`: Reserved for DocuSign.

type RecipientPhoneNumber added in v0.10.0

type RecipientPhoneNumber struct {
	// The numeric country calling code for `number`. For example, the country calling code for the US and Canada is `1`, for the UK: `44`,
	//
	// Do not include the `+` symbol.
	CountryCode string `json:"countryCode,omitempty"`
	// Metadata that indicates if the `countryCode` property is editable.
	CountryCodeMetadata *PropertyMetadata `json:"countryCodeMetadata,omitempty"`
	// The telephone number. Use only the digits `0`-`9`. Remove any non-numeric characters.
	//
	// Do not include the `countryCode`. For US, Canada, and other
	// [North American Numbering Plan](https://en.wikipedia.org/wiki/North_American_Numbering_Plan) countries, do not include a leading `1` or `0`.
	Number string `json:"number,omitempty"`
	// Metadata that indicates if the `number` property is editable.
	NumberMetadata *PropertyMetadata `json:"numberMetadata,omitempty"`
}

RecipientPhoneNumber describes the recipient phone number.

type RecipientPreviewRequest

type RecipientPreviewRequest struct {
	// A unique identifier of the authentication event executed by the client application.
	AssertionID string `json:"assertionId,omitempty"`
	// A sender-generated value that indicates the date and time that the signer was authenticated.
	AuthenticationInstant string `json:"authenticationInstant,omitempty"`
	// Required. Choose a value that most closely matches the technique your application used to authenticate the recipient / signer.
	//
	// Choose a value from this list:
	// * Biometric
	// * Email
	// * HTTPBasicAuth
	// * Kerberos
	// * KnowledgeBasedAuth
	// * None
	// * PaperDocuments
	// * Password
	// * RSASecureID
	// * SingleSignOn_CASiteminder
	// * SingleSignOn_InfoCard
	// * SingleSignOn_MicrosoftActiveDirectory
	// * SingleSignOn_Other
	// * SingleSignOn_Passport
	// * SingleSignOn_SAML
	// * Smartcard
	// * SSLMutualAuth
	// * X509Certificate
	//
	// This information is included in the Certificate of Completion.
	AuthenticationMethod string `json:"authenticationMethod,omitempty"`
	//
	ClientUrls *RecipientTokenClientUrls `json:"clientURLs,omitempty"`
	// Only used if `pingUrl` is specified. This is the interval, in seconds, between pings on the `pingUrl`.  The default is `300` seconds. Valid values are 60-1200 seconds.
	PingFrequency string `json:"pingFrequency,omitempty"`
	// The client URL that the DocuSign Signing experience should ping to indicate to the client that Signing is active. An HTTP GET call is executed against the client. The response from the client is ignored. The intent is for the client to reset its session timer when the request is received.
	PingURL string `json:"pingUrl,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// The URL to which the sender should be redirected
	// after viewing the preview.
	ReturnURL string `json:"returnUrl,omitempty"`
	// The domain in which the user authenticated.
	SecurityDomain string `json:"securityDomain,omitempty"`
	// Specifies whether a browser should be allowed to render a page in a frame or IFrame. Setting this property ensures that your content is not embedded into unauthorized pages or frames.
	//
	// Valid values are:
	//
	// - `deny`: The page cannot be displayed in a frame.
	// - `same_origin`: The page can only be displayed in a frame on the same origin as the page itself.
	// - `allow_from`: The page can only be displayed in a frame on the origin specified by the `xFrameOptionsAllowFromUrl` property.
	XFrameOptions string `json:"xFrameOptions,omitempty"`
	// When the value of `xFrameOptions` is `allow_from`, this property specifies the origin on which the page is allowed to display in a frame. If the value of `xFrameOptions` is `allow_from`, you must include a value for this property.
	XFrameOptionsAllowFromURL string `json:"xFrameOptionsAllowFromUrl,omitempty"`
}

RecipientPreviewRequest this request object contains the information necessary to create a recipient preview.

type RecipientProofFile added in v0.10.0

type RecipientProofFile struct {
	//
	HasIdentityAttempts string `json:"hasIdentityAttempts,omitempty"`
	// Indicates whether a proof file is available for this recipient.
	IsInProofFile string `json:"isInProofFile,omitempty"`
}

RecipientProofFile is the proof file of the recipient. [ID Evidence](/docs/idevidence-api/) uses proof files to store the identification data that recipients submit when verifying their ID with [ID Verification](/docs/esign-rest-api/esign101/concepts/documents/)

type RecipientRouting added in v0.10.0

type RecipientRouting struct {
	// The recipient routing rules.
	Rules *RecipientRules `json:"rules,omitempty"`
}

RecipientRouting describes the recipient routing rules.

type RecipientRules added in v0.10.0

type RecipientRules struct {
	//
	ConditionalRecipients []ConditionalRecipientRule `json:"conditionalRecipients,omitempty"`
}

RecipientRules not described in definition file

type RecipientSMSAuthentication

type RecipientSMSAuthentication struct {
	// An array containing a list of phone numbers that the recipient can use for SMS text authentication.
	SenderProvidedNumbers []string `json:"senderProvidedNumbers,omitempty"`
	// Metadata that indicates whether the `senderProvidedNumbers` property can be edited.
	SenderProvidedNumbersMetadata *PropertyMetadata `json:"senderProvidedNumbersMetadata,omitempty"`
}

RecipientSMSAuthentication contains the element senderProvidedNumbers which is an Array of phone numbers the recipient can use for SMS text authentication.

type RecipientSignatureInformation

type RecipientSignatureInformation struct {
	// The font type to use for the signature if the signature is not drawn. The following font styles  are supported. The quotes are to indicate that these values are strings, not `enums`.
	//
	// - `"1_DocuSign"`
	// - `"2_DocuSign"`
	// - `"3_DocuSign"`
	// - `"4_DocuSign"`
	// - `"5_DocuSign"`
	// - `"6_DocuSign"`
	// - `"7_DocuSign"`
	// - `"8_DocuSign"`
	// - `"Mistral"`
	// - `"Rage Italic"`
	//
	FontStyle string `json:"fontStyle,omitempty"`
	// Specifies the user's signature in initials format.
	SignatureInitials string `json:"signatureInitials,omitempty"`
	// Specifies the user's signature name.
	SignatureName string `json:"signatureName,omitempty"`
}

RecipientSignatureInformation allows the sender to pre-specify the signature name, signature initials and signature font used in the signature stamp for the recipient.

Used only with recipient types In Person Signers and Signers.

type RecipientSignatureProvider

type RecipientSignatureProvider struct {
	// By default, electronic seals apply on all documents in an envelope. If any of the documents has a `signHere` tab, then a visual representation of the electronic seal will show up in the final document. If not, the electronic seal will be visible in the metadata but not in the content of the document.
	//
	// To apply electronic seals on specific documents only, you must enable the  `sealDocumentsWithTabsOnly` parameter. In this case, Electronic Seal applies only on documents that have `signHere` tabs set for the Electronic Seal recipient. Other documents won't be sealed.
	SealDocumentsWithTabsOnly Bool `json:"sealDocumentsWithTabsOnly,omitempty"`
	// Indicates the name of the electronic seal to apply on documents.
	//
	SealName string `json:"sealName,omitempty"`
	// The name of an Electronic or Standards Based Signature (digital signature) provider for the signer to use. For details, see [the current provider list](/docs/esign-rest-api/esign101/concepts/standards-based-signatures/). You can also retrieve the list by using the [AccountSignatureProviders: List](/docs/esign-rest-api/reference/accounts/accountsignatureproviders/list/) method.
	//
	// Example: `universalsignaturepen_default`
	//
	//
	SignatureProviderName string `json:"signatureProviderName,omitempty"`
	// Metadata that indicates whether the `signatureProviderName` property is editable.
	//
	SignatureProviderNameMetadata *PropertyMetadata `json:"signatureProviderNameMetadata,omitempty"`
	// Not applicable for this object.
	SignatureProviderOptions *RecipientSignatureProviderOptions `json:"signatureProviderOptions,omitempty"`
}

RecipientSignatureProvider is an Electronic or Standards Based Signature (digital signature) provider for the signer to use. [More information](/docs/esign-rest-api/esign101/concepts/standards-based-signatures/).

type RecipientSignatureProviderOptions

type RecipientSignatureProviderOptions struct {
	// Reserved for DocuSign.
	CpfNumber string `json:"cpfNumber,omitempty"`
	// Reserved for DocuSign.
	CpfNumberMetadata *PropertyMetadata `json:"cpfNumberMetadata,omitempty"`
	// A pre-shared secret that the signer must enter to complete the signing process. Eg last six digits of the signer's government ID or Social Security number. Or a newly created pre-shared secret for the transaction. Note: some signature providers may require an exact (case-sensitive) match if alphabetic characters are included in the field.
	OneTimePassword string `json:"oneTimePassword,omitempty"`
	// Metadata that indicates whether the `oneTimePassword` property is editable.
	OneTimePasswordMetadata *PropertyMetadata `json:"oneTimePasswordMetadata,omitempty"`
	// The role or capacity of the signing recipient. Examples: Manager, Approver, etc.
	SignerRole string `json:"signerRole,omitempty"`
	// Metadata that indicates whether the `signerRole` property is editable.
	SignerRoleMetadata *PropertyMetadata `json:"signerRoleMetadata,omitempty"`
	// The mobile phone number used to send the recipient an access code for the signing ceremony. Format: a string starting with +, then the country code followed by the full mobile phone number without any spaces or special characters. Omit leading zeroes before a city code. Examples: +14155551234, +97235551234, +33505551234.
	Sms string `json:"sms,omitempty"`
	// Metadata that indicates whether the `sms` property is editable.
	SmsMetadata *PropertyMetadata `json:"smsMetadata,omitempty"`
}

RecipientSignatureProviderOptions option settings for the signature provider. Different providers require or use different options. [The current provider list and the options they require.](/docs/esign-rest-api/esign101/concepts/standards-based-signatures/)

type RecipientTokenClientUrls added in v0.10.0

type RecipientTokenClientUrls struct {
	//
	OnAccessCodeFailed string `json:"onAccessCodeFailed,omitempty"`
	//
	OnCancel string `json:"onCancel,omitempty"`
	//
	OnDecline string `json:"onDecline,omitempty"`
	//
	OnException string `json:"onException,omitempty"`
	//
	OnFaxPending string `json:"onFaxPending,omitempty"`
	//
	OnIDCheckFailed string `json:"onIdCheckFailed,omitempty"`
	//
	OnSessionTimeout string `json:"onSessionTimeout,omitempty"`
	//
	OnSigningComplete string `json:"onSigningComplete,omitempty"`
	//
	OnTTLExpired string `json:"onTTLExpired,omitempty"`
	//
	OnViewingComplete string `json:"onViewingComplete,omitempty"`
}

RecipientTokenClientUrls not described in definition file

type RecipientUpdateResponse

type RecipientUpdateResponse struct {
	// When you use the query parameter `combine_same_order_recipients` on the PUT Recipients call, the `recipientUpdateResponse` returns this property. When **true,** it indicates that the recipient has been combined or merged with a matching recipient. Recipient matching occurs as part of template matching, and is based on Recipient Role and Routing Order.
	Combined string `json:"combined,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// All of the tabs associated with the recipient.
	Tabs *Tabs `json:"tabs,omitempty"`
}

RecipientUpdateResponse is the recipient details that are returned after you update the recipient.

type RecipientViewRequest

type RecipientViewRequest struct {
	// A unique identifier of the authentication event executed by the client application.
	AssertionID string `json:"assertionId,omitempty"`
	// A sender-generated value that indicates the date and time that the signer was authenticated.
	AuthenticationInstant string `json:"authenticationInstant,omitempty"`
	// Required. Choose a value that most closely matches the technique your application used to authenticate the recipient / signer.
	//
	// Choose a value from this list:
	// * Biometric
	// * Email
	// * HTTPBasicAuth
	// * Kerberos
	// * KnowledgeBasedAuth
	// * None
	// * PaperDocuments
	// * Password
	// * RSASecureID
	// * SingleSignOn_CASiteminder
	// * SingleSignOn_InfoCard
	// * SingleSignOn_MicrosoftActiveDirectory
	// * SingleSignOn_Other
	// * SingleSignOn_Passport
	// * SingleSignOn_SAML
	// * Smartcard
	// * SSLMutualAuth
	// * X509Certificate
	//
	// This information is included in the Certificate of Completion.
	AuthenticationMethod string `json:"authenticationMethod,omitempty"`
	//
	ClientUrls *RecipientTokenClientUrls `json:"clientURLs,omitempty"`
	// A sender-created value. If provided, the recipient is treated as an embedded (captive) recipient or signer.
	//
	// Use your application's client ID (user ID) for the recipient. Doing so enables the details of your application's authentication of the recipient to be connected to the recipient's signature if the signature is disputed or repudiated.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// (Required) Specifies the email of the recipient. You can use either `email` and `userName` or `userId` to identify the recipient.
	Email string `json:"email,omitempty"`
	//
	FrameAncestors []string `json:"frameAncestors,omitempty"`
	//
	MessageOrigins []string `json:"messageOrigins,omitempty"`
	// Only used if `pingUrl` is specified. This is the interval, in seconds, between pings on the `pingUrl`.  The default is `300` seconds. Valid values are 60-1200 seconds.
	PingFrequency string `json:"pingFrequency,omitempty"`
	// The client URL that the DocuSign Signing experience should ping to indicate to the client that Signing is active. An HTTP GET call is executed against the client. The response from the client is ignored. The intent is for the client to reset its session timer when the request is received.
	PingURL string `json:"pingUrl,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// (Required) The URL to which the user should be redirected
	// after the signing session has ended.
	//
	// Maximum Length: 470 characters. If the `returnUrl` exceeds this
	// limit, the user is redirected to a truncated URL
	// Be sure to include `https://` in the URL
	// or redirecting might fail on some browsers.
	//
	//
	// When DocuSign redirects to
	// this URL, it will include an `event` query parameter that your app can use:
	//
	// * `access_code_failed`: Recipient used incorrect access code.
	// * `cancel`: Recipient canceled the signing operation,
	//   possibly by using the **Finish Later** option.
	// * `decline`: Recipient declined to sign.
	// * `exception`: A system error occurred during the signing process.
	// * `fax_pending`: Recipient has a fax pending.
	// * `id_check_failed`: Recipient failed an ID check.
	// * `session_timeout`: The session timed out. An account can control this timeout by using the **Signer Session Timeout** option.
	// * `signing_complete`: The recipient completed the signing ceremony.
	// * `ttl_expired`: The Time To Live token for the envelope has expired.
	//   After being successfully invoked, these tokens expire
	//   after 5 minutes or if the envelope is voided.
	// * `viewing_complete`: The recipient completed viewing an envelope
	//   that is in a read-only/terminal state,
	//   such as completed, declined, or voided.
	//
	//
	ReturnURL string `json:"returnUrl,omitempty"`
	// The domain in which the user authenticated.
	SecurityDomain string `json:"securityDomain,omitempty"`
	// The user ID of the recipient. You can use either the user ID or email and user name to identify the recipient.
	//
	// If `userId` is used and a `clientUserId` is provided, the value in the `userId` property must match a `recipientId` (which you can retrieve with a GET recipients call) for the envelope.
	//
	// If a `userId` is used and a `clientUserId` is not provided, the `userId` must match the user ID of the authenticating user.
	UserID string `json:"userId,omitempty"`
	// The username of the recipient. You can use either `email` and `userName` or `userId` to identify the recipient.
	UserName string `json:"userName,omitempty"`
	// Specifies whether a browser should be allowed to render a page in a frame or IFrame. Setting this property ensures that your content is not embedded into unauthorized pages or frames.
	//
	// Valid values are:
	//
	// - `deny`: The page cannot be displayed in a frame.
	// - `same_origin`: The page can only be displayed in a frame on the same origin as the page itself.
	// - `allow_from`: The page can only be displayed in a frame on the origin specified by the `xFrameOptionsAllowFromUrl` property.
	XFrameOptions string `json:"xFrameOptions,omitempty"`
	// When the value of `xFrameOptions` is `allow_from`, this property specifies the origin on which the page is allowed to display in a frame. If the value of `xFrameOptions` is `allow_from`, you must include a value for this property.
	XFrameOptionsAllowFromURL string `json:"xFrameOptionsAllowFromUrl,omitempty"`
}

RecipientViewRequest is the request body for the [EnvelopeViews: createRecipient](/docs/esign-rest-api/reference/envelopes/envelopeviews/createrecipient/) and [EnvelopeViews: createSharedRecipient](/docs/esign-rest-api/reference/envelopes/envelopeviews/createsharedrecipient/) methods.

type Recipients

type Recipients struct {
	// A list of agent recipients assigned to the documents.
	Agents []Agent `json:"agents,omitempty"`
	// A list of carbon copy recipients assigned to the documents.
	CarbonCopies []CarbonCopy `json:"carbonCopies,omitempty"`
	// A complex type containing information on a recipient the must receive the completed documents for the envelope to be completed, but the recipient does not need to sign, initial, date, or add information to any of the documents.
	CertifiedDeliveries []CertifiedDelivery `json:"certifiedDeliveries,omitempty"`
	// The routing order of the current recipient. If this value equals a particular signer's routing order, it indicates that the envelope has been sent to that recipient, but he or she has not completed the required actions.
	CurrentRoutingOrder string `json:"currentRoutingOrder,omitempty"`
	// A complex type defining the management and access rights of a recipient assigned assigned as an editor on the document.
	Editors []Editor `json:"editors,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Specifies a signer that is in the same physical location as a DocuSign user who will act as a Signing Host for the transaction. The recipient added is the Signing Host and new separate Signer Name field appears after Sign in person is selected.
	InPersonSigners []InPersonSigner `json:"inPersonSigners,omitempty"`
	// Identifies a recipient that can, but is not required to, add name and email information for recipients at the same or subsequent level in the routing order (until subsequent Agents, Editors or Intermediaries recipient types are added).
	Intermediaries []Intermediary `json:"intermediaries,omitempty"`
	// A list of notary recipients on the envelope.
	Notaries []NotaryRecipient `json:"notaries,omitempty"`
	//
	Participants []Participant `json:"participants,omitempty"`
	// The number of recipients in the envelope.
	RecipientCount string `json:"recipientCount,omitempty"`
	// Specifies one or more electronic seals to apply on documents. For more information on Electronic Seals , see https://support.docusign.com/en/guides/ndse-user-guide-apply-electronic-seals
	Seals []SealSign `json:"seals,omitempty"`
	// A list of signers on the envelope.
	Signers []Signer `json:"signers,omitempty"`
	// A list of signers who act as witnesses on the envelope.
	Witnesses []Witness `json:"witnesses,omitempty"`
}

Recipients template recipients

type RecipientsUpdateSummary

type RecipientsUpdateSummary struct {
	// An array of `recipientUpdateResults` objects that contain details about the recipients.
	RecipientUpdateResults []RecipientUpdateResponse `json:"recipientUpdateResults,omitempty"`
}

RecipientsUpdateSummary this is the response that the API returns after you update recipients.

type ReferralInformation

type ReferralInformation struct {
	// A complex type that contains the following information for entering referral and discount information. The following items are included in the referral information (all string content): enableSupport, includedSeats, saleDiscountPercent, saleDiscountAmount, saleDiscountFixedAmount, saleDiscountPeriods, saleDiscountSeatPriceOverride, planStartMonth, referralCode, referrerName, advertisementId, publisherId, shopperId, promoCode, groupMemberId, idType, and industry.
	//
	// **Note:** saleDiscountPercent, saleDiscountAmount, saleDiscountFixedAmount, saleDiscountPeriods, and saleDiscountSeatPriceOverride are reserved for DocuSign use only.
	//
	AdvertisementID string `json:"advertisementId,omitempty"`
	// When **true,** customer support is provided as part of the account plan.
	EnableSupport Bool `json:"enableSupport,omitempty"`
	// An optional external ID for the referral.
	ExternalOrgID string `json:"externalOrgId,omitempty"`
	//
	GroupMemberID string `json:"groupMemberId,omitempty"`
	//
	IDType string `json:"idType,omitempty"`
	// The number of seats (users) included in the plan.
	IncludedSeats string `json:"includedSeats,omitempty"`
	// The name of the industry associated with the referral.
	//
	// Example: `Accounting`
	Industry string `json:"industry,omitempty"`
	//
	PlanStartMonth string `json:"planStartMonth,omitempty"`
	//
	PromoCode string `json:"promoCode,omitempty"`
	//
	PublisherID string `json:"publisherId,omitempty"`
	//
	ReferralCode string `json:"referralCode,omitempty"`
	// The name of the referrer.
	ReferrerName string `json:"referrerName,omitempty"`
	// Reserved for DocuSign.
	SaleDiscountAmount string `json:"saleDiscountAmount,omitempty"`
	// Reserved for DocuSign.
	SaleDiscountFixedAmount string `json:"saleDiscountFixedAmount,omitempty"`
	// Reserved for DocuSign.
	SaleDiscountPercent string `json:"saleDiscountPercent,omitempty"`
	// Reserved for DocuSign.
	SaleDiscountPeriods string `json:"saleDiscountPeriods,omitempty"`
	// Reserved for DocuSign.
	SaleDiscountSeatPriceOverride string `json:"saleDiscountSeatPriceOverride,omitempty"`
	//
	ShopperID string `json:"shopperId,omitempty"`
}

ReferralInformation is a complex type that contains the following information for entering referral and discount information. The following items are included in the referral information (all string content): enableSupport, includedSeats, saleDiscountPercent, saleDiscountAmount, saleDiscountFixedAmount, saleDiscountPeriods, saleDiscountSeatPriceOverride, planStartMonth, referralCode, referrerName, advertisementId, publisherId, shopperId, promoCode, groupMemberId, idType, and industry

**Note:** saleDiscountPercent, saleDiscountAmount, saleDiscountFixedAmount, saleDiscountPeriods, and saleDiscountSeatPriceOverride are reserved for DocuSign use only.

type Reminders

type Reminders struct {
	// An integer specifying the number of days after the recipient receives the envelope that reminder emails are sent to the recipient. The default value is 0.
	ReminderDelay string `json:"reminderDelay,omitempty"`
	// When **true,** reminders are enabled. The default value is **false.**
	ReminderEnabled Bool `json:"reminderEnabled,omitempty"`
	// An integer specifying the interval in days between reminder emails. The default value is 0.
	ReminderFrequency string `json:"reminderFrequency,omitempty"`
}

Reminders is a complex element that specifies reminder settings for the envelope.

type ResourceInformation

type ResourceInformation struct {
	//
	Resources []NameValue `json:"resources,omitempty"`
}

ResourceInformation not described in definition file

type ReturnURLRequest

type ReturnURLRequest struct {
	// (Required) The URL to which the user should be redirected after
	// the sending session is complete.
	//
	// Maximum Length: 470 characters. If the `returnUrl` exceeds this
	// limit, the user is redirected to a truncated URL
	// Be sure to include `https://` in the URL
	// or redirecting might fail on some browsers.
	//
	ReturnURL string `json:"returnUrl,omitempty"`
}

ReturnURLRequest is the request body for the [EnvelopeViews: createSender](/docs/esign-rest-api/reference/envelopes/envelopeviews/createsender/) method.

type SSN

type SSN struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true** and shared is true, information must be entered in this field to complete the envelope.
	RequireAll Bool `json:"requireAll,omitempty"`
	// Metadata that indicates whether the `requireAll` property is editable.
	RequireAllMetadata *PropertyMetadata `json:"requireAllMetadata,omitempty"`
	// Optional element for field markup. When **true,** the signer is required to initial when they modify a shared field.
	RequireInitialOnSharedChange Bool `json:"requireInitialOnSharedChange,omitempty"`
	// Metadata that indicates whether the `requireInitialOnSharedChange` property is editable.
	RequireInitialOnSharedChangeMetadata *PropertyMetadata `json:"requireInitialOnSharedChangeMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// When **true,** the sender must populate the tab before an envelope can be sent using the template.
	//
	// This value tab can only be changed by modifying (PUT) the template.
	//
	// Tabs with a `senderRequired` value of true cannot be deleted from an envelope.
	SenderRequired Bool `json:"senderRequired,omitempty"`
	// Metadata that indicates whether the `senderRequired` property is editable.
	SenderRequiredMetadata *PropertyMetadata `json:"senderRequiredMetadata,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipients string `json:"shareToRecipients,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipientsMetadata *PropertyMetadata `json:"shareToRecipientsMetadata,omitempty"`
	// When **true,** this custom tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The message displayed if the custom tab fails input validation (either custom of embedded).
	ValidationMessage string `json:"validationMessage,omitempty"`
	// Metadata that indicates whether the `validationMessage` property is editable.
	ValidationMessageMetadata *PropertyMetadata `json:"validationMessageMetadata,omitempty"`
	// A regular expression used to validate input for the tab.
	ValidationPattern string `json:"validationPattern,omitempty"`
	// Metadata that indicates whether the `validationPattern` property is editable.
	ValidationPatternMetadata *PropertyMetadata `json:"validationPatternMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

SSN is a one-line field that allows the recipient to enter a Social Security Number. The SSN can be typed with or without dashes. It uses the same parameters as a Text tab, with the validation message and pattern set for SSN information.

type ScheduledSending added in v0.10.0

type ScheduledSending struct {
	// The ID of the bulk list. Set this optional value to use scheduled sending with a bulk send operation.
	BulkListID string `json:"bulkListId,omitempty"`
	// The timestamp of when the envelope is scheduled to be sent in ISO 8601 format.
	//
	// This property is read-only.
	//
	ResumeDate string `json:"resumeDate,omitempty"`
	// User-specified rules indicating how and when the envelope should be scheduled for sending. Only one rule may be specified.
	Rules []EnvelopeDelayRule `json:"rules,omitempty"`
	// Status of the scheduled sending job. Valid values:
	//
	// * `pending`: The envelope has not yet been sent and the scheduled sending delay has not been initiated.
	// * `started`: The sender has initiated the sending process. The delay has not elapsed, so the envelope has not yet been sent to the first recipient.
	// * `completed`: The delay has elapsed and the envelope has been sent to the first recipient.
	//
	// This property is read-only.
	Status string `json:"status,omitempty"`
}

ScheduledSending is a complex element that specifies the scheduled sending settings for the envelope.

type SealIdentifier

type SealIdentifier struct {
	// The user-friendly display name for a seal.
	SealDisplayName string `json:"sealDisplayName,omitempty"`
	// The name of a seal.
	SealName string `json:"sealName,omitempty"`
}

SealIdentifier not described in definition file

type SealSign

type SealSign struct {
	// Not applicable.
	AccessCode string `json:"accessCode,omitempty"`
	// Not applicable.
	AccessCodeMetadata *PropertyMetadata `json:"accessCodeMetadata,omitempty"`
	// Not applicable.
	AddAccessCodeToEmail string `json:"addAccessCodeToEmail,omitempty"`
	// When **true,** if the recipient is locked on a template, advanced recipient routing can override the lock.
	AllowSystemOverrideForLockedRecipient Bool `json:"allowSystemOverrideForLockedRecipient,omitempty"`
	// Error message provided by the destination email system. This field is only provided if the email notification to the recipient fails to send. This property is read-only.
	//
	AutoRespondedReason string `json:"autoRespondedReason,omitempty"`
	// Not applicable.
	ClientUserID string `json:"clientUserId,omitempty"`
	// Not applicable.
	CompletedCount string `json:"completedCount,omitempty"`
	// Not applicable.
	CustomFields []string `json:"customFields,omitempty"`
	// Not applicable.
	DeclinedDateTime string `json:"declinedDateTime,omitempty"`
	// Not applicable.
	DeclinedReason string `json:"declinedReason,omitempty"`
	// Not applicable.
	DeliveredDateTime string `json:"deliveredDateTime,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethodMetadata *PropertyMetadata `json:"deliveryMethodMetadata,omitempty"`
	// Reserved for DocuSign.
	DesignatorID string `json:"designatorId,omitempty"`
	// Reserved for DocuSign.
	DesignatorIDGUID string `json:"designatorIdGuid,omitempty"`
	// Not applicable.
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
	// Not applicable.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	// Not applicable.
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Reserved for DocuSign.
	FaxNumber string `json:"faxNumber,omitempty"`
	// Reserved for DocuSign.
	FaxNumberMetadata *PropertyMetadata `json:"faxNumberMetadata,omitempty"`
	// Not applicable.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// Not applicable.
	IDCheckConfigurationNameMetadata *PropertyMetadata `json:"idCheckConfigurationNameMetadata,omitempty"`
	// Not applicable.
	IDCheckInformationInput *IDCheckInformationInput `json:"idCheckInformationInput,omitempty"`
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification *RecipientIdentityVerification `json:"identityVerification,omitempty"`
	// Not applicable.
	InheritEmailNotificationConfiguration string `json:"inheritEmailNotificationConfiguration,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientPhoneAuthEditable string `json:"lockedRecipientPhoneAuthEditable,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientSmsEditable string `json:"lockedRecipientSmsEditable,omitempty"`
	// Not applicable.
	Name string `json:"name,omitempty"`
	// Not applicable.
	Note string `json:"note,omitempty"`
	// Not applicable.
	NoteMetadata *PropertyMetadata `json:"noteMetadata,omitempty"`
	// Not applicable.
	PhoneAuthentication *RecipientPhoneAuthentication `json:"phoneAuthentication,omitempty"`
	// Not applicable.
	RecipientAttachments []RecipientAttachment `json:"recipientAttachments,omitempty"`
	// Not applicable.
	RecipientAuthenticationStatus *AuthenticationStatus `json:"recipientAuthenticationStatus,omitempty"`
	// Metadata about the features that are supported for the recipient type. This property is read-only.
	RecipientFeatureMetadata []FeatureAvailableMetadata `json:"recipientFeatureMetadata,omitempty"`
	// (Required) The `recipientId` used when the envelope or template was created.
	//
	// This is a local reference that senders use to map recipients to other objects, such as specific document tabs. Within an envelope, each `recipientId` must be unique, but there is no uniqueness requirement across envelopes. For example, many envelopes assign the first recipient a `recipientId` of `1`.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// (Required) Indicates which electronic seal to apply on documents when creating an envelope.
	RecipientSignatureProviders []RecipientSignatureProvider `json:"recipientSignatureProviders,omitempty"`
	// The recipient type, as specified by the following values:
	// - `agent`: Agent recipients can add name and email information for recipients that appear after the agent in routing order.
	// - `carbonCopy`: Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date, or add information to any of the documents. This type of recipient can be used in any routing order.
	// - `certifiedDelivery`: Certified delivery recipients must receive the completed documents for the envelope to be completed. They don't need to sign, initial, date, or add information to any of the documents.
	// - `editor`: Editors have the same management and access rights for the envelope as the sender. Editors can add name and email information, add or change the routing order, set authentication options, and can edit signature/initial tabs and data fields for the remaining recipients.
	// - `inPersonSigner`: In-person recipients are DocuSign users who act as signing hosts in the same physical location as the signer.
	// - `intermediaries`: Intermediary recipients can optionally add name and email information for recipients at the same or subsequent level in the routing order.
	// - `seal`: Electronic seal recipients represent legal entities.
	// - `signer`: Signers are recipients who must sign, initial, date, or add data to form fields on the documents in the envelope.
	// - `witness`: Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.
	RecipientType string `json:"recipientType,omitempty"`
	// Metadata that indicates whether the `recipientType` property is editable. This property is read-only.
	RecipientTypeMetadata *PropertyMetadata `json:"recipientTypeMetadata,omitempty"`
	// Not applicable.
	RequireIDLookup string `json:"requireIdLookup,omitempty"`
	// Not applicable.
	RequireIDLookupMetadata *PropertyMetadata `json:"requireIdLookupMetadata,omitempty"`
	// Optional element. Specifies the role name associated with the recipient.<br/><br/>This property is required when you are working with template recipients.
	RoleName string `json:"roleName,omitempty"`
	// (Optional, default: 1)
	// Specifies the routing order of the electronic seal in the envelope.
	// The routing order assigned to your electronic seal cannot be shared with another recipient.
	// It is recommended that you set a routing order for your electronic seals.
	//
	RoutingOrder string `json:"routingOrder,omitempty"`
	// Metadata that indicates whether the `routingOrder` property is editable. This property is read-only.
	RoutingOrderMetadata *PropertyMetadata `json:"routingOrderMetadata,omitempty"`
	// Not applicable.
	SentDateTime string `json:"sentDateTime,omitempty"`
	// Not applicable.
	SignedDateTime string `json:"signedDateTime,omitempty"`
	// Not applicable.
	SmsAuthentication *RecipientSMSAuthentication `json:"smsAuthentication,omitempty"`
	// Deprecated.
	SocialAuthentications []SocialAuthentication `json:"socialAuthentications,omitempty"`
	// The recipient's status. This property is read-only.
	//
	// Valid values:
	//
	// - `autoresponded`: The recipient's email system auto-responded to the email from DocuSign. This status is used in the web console to inform senders about the bounced-back email. This recipient status is only used if **Send-on-behalf-of** is turned off for the account.
	// - `completed`: The recipient has completed their actions (signing or other required actions if not a signer) for an envelope.
	// - `created`: The recipient is in a draft state. This value is only associated with draft envelopes (envelopes that have a status of `created`).
	// - `declined`: The recipient declined to sign the documents in the envelope.
	// - `delivered`: The recipient has viewed the documents in an envelope through the DocuSign signing website. This is not an email delivery of the documents in an envelope.
	// - `faxPending`: The recipient has finished signing and the system is waiting for a fax attachment from the recipient before completing their signing step.
	// - `sent`: The recipient has been sent an email notification that it is their turn to sign an envelope.
	// - `signed`: The recipient has completed (signed) all required tags in an envelope. This is a temporary state during processing, after which the recipient's status automatically switches to `completed`.
	Status string `json:"status,omitempty"`
	// The code associated with the recipient's status. This property is read-only.
	StatusCode string `json:"statusCode,omitempty"`
	// Not applicable.
	SuppressEmails string `json:"suppressEmails,omitempty"`
	// A list of tabs, which are represented graphically as symbols on documents at the time of signing. Tabs show recipients where to sign, initial, or enter data. They may also display data to the recipients.
	Tabs *Tabs `json:"tabs,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// Not applicable.
	TotalTabCount string `json:"totalTabCount,omitempty"`
	// Not applicable.
	UserID string `json:"userId,omitempty"`
}

SealSign specifies one or more electronic seals to apply on documents. An electronic seal recipient is a legal entity rather than an actual person. Electronic Seals can be used by organizations and governments to show evidence of origin and integrity of documents. Even though electronic seals can be represented by a tab in a document, they do not require user interaction and apply automatically in the order specified by the sender. The sender is therefore the person authorizing usage of the electronic seal in the flow.

Example:

```json

"recipients": {
      "seals": [
        {
          "recipientId": "1",
          "routingOrder" : 1,
          "recipientSignatureProviders": [
            {
              "sealName": "52e9d968-xxxx-xxxx-xxxx-4682bc45c106"
            }
      	]
    	}
  	]
	},
    .
    .
    .

``` For more information about Electronic Seals, see [Apply Electronic Seals to Your Documents](https://support.docusign.com/en/guides/ndse-user-guide-apply-electronic-seals).

type SeatDiscount

type SeatDiscount struct {
	// Reserved for DocuSign.
	BeginSeatCount string `json:"beginSeatCount,omitempty"`
	// The percent of the discount.
	//
	// Example: `"0.00"`
	DiscountPercent string `json:"discountPercent,omitempty"`
	// Reserved for DocuSign.
	EndSeatCount string `json:"endSeatCount,omitempty"`
}

SeatDiscount this object contains information about a seat discount.

type SenderCompany added in v0.10.0

type SenderCompany struct {
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are placed. When **true,** the text string in a document must match the case of the `anchorString` property for an anchor tab to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the anchor string is `DocuSign`, then `DocuSign` will match but `Docusign`, `docusign`, `DoCuSiGn`, etc. will not match. When **false,** `DocuSign`, `Docusign`, `docusign`, `DoCuSiGn`, etc. will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	AnchorCaseSensitive string `json:"anchorCaseSensitive,omitempty"`
	// Metadata that indicates whether the `anchorCaseSensitive` property is editable.
	AnchorCaseSensitiveMetadata *PropertyMetadata `json:"anchorCaseSensitiveMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are aligned in relation to the anchor text. Possible values are :
	//
	// - `left`: Aligns the left side of the tab with the beginning of the first character of the matching anchor word. This is the default value.
	// - `right`: Aligns the tab’s left side with the last character of the matching anchor word.
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorHorizontalAlignment string `json:"anchorHorizontalAlignment,omitempty"`
	// Metadata that indicates whether the `anchorHorizontalAlignment` property is editable.
	AnchorHorizontalAlignmentMetadata *PropertyMetadata `json:"anchorHorizontalAlignmentMetadata,omitempty"`
	// When **true,** this tab is ignored if the `anchorString` is not found in the document.
	AnchorIgnoreIfNotPresent Bool `json:"anchorIgnoreIfNotPresent,omitempty"`
	// Metadata that indicates whether the `anchorIgnoreIfNotPresent` property is editable.
	AnchorIgnoreIfNotPresentMetadata *PropertyMetadata `json:"anchorIgnoreIfNotPresentMetadata,omitempty"`
	// When **true,** the text string in a document must match the value of the `anchorString` property in its entirety for an [anchor tab][AnchorTab] to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the input is `man` then `man` will match but `manpower`, `fireman`, and `penmanship` will not. When **false,** if the input is `man` then `man`, `manpower`, `fireman`, and `penmanship` will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTab]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorMatchWholeWord Bool `json:"anchorMatchWholeWord,omitempty"`
	// Metadata that indicates whether the `anchorMatchWholeWord` property is editable.
	AnchorMatchWholeWordMetadata *PropertyMetadata `json:"anchorMatchWholeWordMetadata,omitempty"`
	// Specifies the string to find in the document and use as the basis for tab placement.
	AnchorString string `json:"anchorString,omitempty"`
	// Metadata that indicates whether the `anchorString` property is editable.
	AnchorStringMetadata *PropertyMetadata `json:"anchorStringMetadata,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersion string `json:"anchorTabProcessorVersion,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersionMetadata *PropertyMetadata `json:"anchorTabProcessorVersionMetadata,omitempty"`
	// Specifies units of the
	// `anchorXOffset` and
	// `anchorYOffset`.
	// Valid units are:
	//
	// - `pixels`
	// - `inches`
	// - `mms`
	// - `cms`
	//
	AnchorUnits string `json:"anchorUnits,omitempty"`
	// Metadata that indicates whether the `anchorUnits` property is editable.
	AnchorUnitsMetadata *PropertyMetadata `json:"anchorUnitsMetadata,omitempty"`
	// Specifies the X axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorXOffset string `json:"anchorXOffset,omitempty"`
	// Metadata that indicates whether the `anchorXOffset` property is editable.
	AnchorXOffsetMetadata *PropertyMetadata `json:"anchorXOffsetMetadata,omitempty"`
	// Specifies the Y axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorYOffset string `json:"anchorYOffset,omitempty"`
	// Metadata that indicates whether the `anchorYOffset` property is editable.
	AnchorYOffsetMetadata *PropertyMetadata `json:"anchorYOffsetMetadata,omitempty"`
	// When **true,** the information in the tab is bold.
	Bold Bool `json:"bold,omitempty"`
	// Metadata that indicates whether the `bold` property is editable.
	BoldMetadata *PropertyMetadata `json:"boldMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// For conditional fields this is the `tabLabel` of the parent tab that controls this tab's visibility.
	ConditionalParentLabel string `json:"conditionalParentLabel,omitempty"`
	// Metadata that indicates whether the `conditionalParentLabel` property is editable.
	ConditionalParentLabelMetadata *PropertyMetadata `json:"conditionalParentLabelMetadata,omitempty"`
	// For conditional fields, this is the value of the parent tab that controls the tab's visibility.
	//
	// If the parent tab is a Checkbox, Radio button, Optional Signature, or Optional Initial use "on" as the value to show that the parent tab is active.
	//
	ConditionalParentValue string `json:"conditionalParentValue,omitempty"`
	// Metadata that indicates whether the `conditionalParentValue` property is editable.
	ConditionalParentValueMetadata *PropertyMetadata `json:"conditionalParentValueMetadata,omitempty"`
	// The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
	CustomTabID string `json:"customTabId,omitempty"`
	// Metadata that indicates whether the `customTabId` property is editable.
	CustomTabIDMetadata *PropertyMetadata `json:"customTabIdMetadata,omitempty"`
	// Specifies the document ID number that the tab is placed on. This must refer to an existing Document's ID attribute.
	DocumentID string `json:"documentId,omitempty"`
	// Metadata that indicates whether the `documentId` property is editable.
	DocumentIDMetadata *PropertyMetadata `json:"documentIdMetadata,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The font to be used for the tab value. Supported fonts include:
	//
	// - Default
	// - Arial
	// - ArialNarrow
	// - Calibri
	// - CourierNew
	// - Garamond
	// - Georgia
	// - Helvetica
	// - LucidaConsole
	// - MSGothic
	// - MSMincho
	// - OCR-A
	// - Tahoma
	// - TimesNewRoman
	// - Trebuchet
	// - Verdana
	//
	Font string `json:"font,omitempty"`
	// The font color to use for the information in the tab. Possible values are:
	//
	// - Black
	// - BrightBlue
	// - BrightRed
	// - DarkGreen
	// - DarkRed
	// - Gold
	// - Green
	// - NavyBlue
	// - Purple
	// - White
	//
	FontColor string `json:"fontColor,omitempty"`
	// Metadata that indicates whether the `fontColor` property is editable.
	FontColorMetadata *PropertyMetadata `json:"fontColorMetadata,omitempty"`
	// Metadata that indicates whether the `font` property is editable.
	FontMetadata *PropertyMetadata `json:"fontMetadata,omitempty"`
	// The font size used for the information in the tab. Possible values are:
	//
	// - Size7
	// - Size8
	// - Size9
	// - Size10
	// - Size11
	// - Size12
	// - Size14
	// - Size16
	// - Size18
	// - Size20
	// - Size22
	// - Size24
	// - Size26
	// - Size28
	// - Size36
	// - Size48
	// - Size72
	FontSize string `json:"fontSize,omitempty"`
	// Metadata that indicates whether the `fontSize` property is editable.
	FontSizeMetadata *PropertyMetadata `json:"fontSizeMetadata,omitempty"`
	// An integer specifying the order in which the guided form HTML should render. The order is relative to the `formPageLabel`, the group by which to place the guided form HTML block.
	FormOrder string `json:"formOrder,omitempty"`
	// Metadata that indicates whether the `formOrder` property is editable.
	FormOrderMetadata *PropertyMetadata `json:"formOrderMetadata,omitempty"`
	// A string specifying the group in which to place the guided form HTML. Each group displays as a separate guided forms page in the signing experience.
	FormPageLabel string `json:"formPageLabel,omitempty"`
	// Metadata that indicates whether the `formPageLabel` property is editable.
	FormPageLabelMetadata *PropertyMetadata `json:"formPageLabelMetadata,omitempty"`
	// An integer specifying the order in which to present the guided form pages.
	FormPageNumber string `json:"formPageNumber,omitempty"`
	// Metadata that indicates whether the `fromPageNumber` property is editable.
	FormPageNumberMetadata *PropertyMetadata `json:"formPageNumberMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,** the information in the tab is italic.
	Italic Bool `json:"italic,omitempty"`
	// Metadata that indicates whether the `italic` property is editable.
	ItalicMetadata *PropertyMetadata `json:"italicMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// Contains the information necessary to map the tab to a field in SalesForce.
	MergeField *MergeField `json:"mergeField,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	//
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// Specifies the page number on which the tab is located.
	PageNumber string `json:"pageNumber,omitempty"`
	// Metadata that indicates whether the `pageNumber` property is editable.
	PageNumberMetadata *PropertyMetadata `json:"pageNumberMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// Metadata that indicates whether the `recipientIdGuid` property is editable.
	RecipientIDGUIDMetadata *PropertyMetadata `json:"recipientIdGuidMetadata,omitempty"`
	// Metadata that indicates whether the `recipientId` property is editable.
	RecipientIDMetadata *PropertyMetadata `json:"recipientIdMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * sent - The envelope is sent to the recipients.
	// * created - The envelope is saved as a draft and can be modified and sent later.
	Status string `json:"status,omitempty"`
	// Metadata that indicates whether the `status` property is editable.
	StatusMetadata *PropertyMetadata `json:"statusMetadata,omitempty"`
	// An array of tab groups that this tab belongs to. Tab groups are identified by their `groupLabel` property.
	//
	// To associate this tab with a tab group, add the tab group's `groupLabel` to this array.
	TabGroupLabels []string `json:"tabGroupLabels,omitempty"`
	// Metadata that indicates whether the `tabGroupLabels` property is editable.
	TabGroupLabelsMetadata *PropertyMetadata `json:"tabGroupLabelsMetadata,omitempty"`
	// The unique identifier for the tab.
	TabID string `json:"tabId,omitempty"`
	// Metadata that indicates whether the `tabId` property is editable.
	TabIDMetadata *PropertyMetadata `json:"tabIdMetadata,omitempty"`
	// The label associated with the tab. This value may be an empty string.
	// If no value is provided, the tab type is used as the value.
	//
	// Maximum Length: 500 characters.
	//
	TabLabel string `json:"tabLabel,omitempty"`
	// Metadata that indicates whether the `tabLabel` property is editable.
	TabLabelMetadata *PropertyMetadata `json:"tabLabelMetadata,omitempty"`
	// A positive integer that sets the order the tab is navigated to during signing.
	//
	// Tabs on a page are navigated to in ascending order, starting with the lowest number and moving to the highest. If two or more tabs have the same `tabOrder` value, the normal auto-navigation setting behavior for the envelope is used.
	TabOrder string `json:"tabOrder,omitempty"`
	// Metadata that indicates whether the `tabOrder` property is editable.
	TabOrderMetadata *PropertyMetadata `json:"tabOrderMetadata,omitempty"`
	// Indicates the type of tab (for example, `signHere` or `initialHere`).
	TabType string `json:"tabType,omitempty"`
	// Metadata that indicates whether the `tabType` property is editable.
	TabTypeMetadata *PropertyMetadata `json:"tabTypeMetadata,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// Metadata that indicates whether the `templateLocked` property is editable.
	TemplateLockedMetadata *PropertyMetadata `json:"templateLockedMetadata,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// Metadata that indicates whether the `templateRequired` property is editable.
	TemplateRequiredMetadata *PropertyMetadata `json:"templateRequiredMetadata,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// When **true,** the information in the tab is underlined.
	Underline Bool `json:"underline,omitempty"`
	// Metadata that indicates whether the `underline` property is editable.
	UnderlineMetadata *PropertyMetadata `json:"underlineMetadata,omitempty"`
	// Specifies the value of the tab.
	Value string `json:"value,omitempty"`
	// Metadata that indicates whether the `value` property is editable.
	ValueMetadata *PropertyMetadata `json:"valueMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
	// This property indicates the horizontal offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	XPosition string `json:"xPosition,omitempty"`
	// Metadata that indicates whether the `xPosition` property is editable.
	XPositionMetadata *PropertyMetadata `json:"xPositionMetadata,omitempty"`
	// This property indicates the vertical offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	YPosition string `json:"yPosition,omitempty"`
	// Metadata that indicates whether the `yPosition` property is editable.
	YPositionMetadata *PropertyMetadata `json:"yPositionMetadata,omitempty"`
}

SenderCompany not described in definition file

type SenderEmailNotifications

type SenderEmailNotifications struct {
	// When **true,** the sender receives an email notification if the signer changes.
	ChangedSigner Bool `json:"changedSigner,omitempty"`
	//
	ClickwrapResponsesLimitNotificationEmail string `json:"clickwrapResponsesLimitNotificationEmail,omitempty"`
	// When **true,** the user receives only comments that mention their own user name.
	CommentsOnlyPrivateAndMention Bool `json:"commentsOnlyPrivateAndMention,omitempty"`
	// When **true,** the user receives all comments.
	CommentsReceiveAll Bool `json:"commentsReceiveAll,omitempty"`
	// When **true,** the sender receives an email notification if envelope delivery fails.
	DeliveryFailed Bool `json:"deliveryFailed,omitempty"`
	// When **true,** the user receives an email notification when the envelope has been completed.
	EnvelopeComplete Bool `json:"envelopeComplete,omitempty"`
	// When **true,** the user receives an email notification if offline signing failed.
	OfflineSigningFailed Bool `json:"offlineSigningFailed,omitempty"`
	//
	PowerformResponsesLimitNotificationEmail string `json:"powerformResponsesLimitNotificationEmail,omitempty"`
	// When **true,** the user receives an email notification when a document purge occurs.
	PurgeDocuments Bool `json:"purgeDocuments,omitempty"`
	// When **true,** the sender receives notification that a recipient viewed the envelope.
	RecipientViewed Bool `json:"recipientViewed,omitempty"`
	// When **true,** the sender receives notification that the envelope was declined.
	SenderEnvelopeDeclined Bool `json:"senderEnvelopeDeclined,omitempty"`
	// When **true,** the user receives an email notification if consent is withdrawn.
	WithdrawnConsent Bool `json:"withdrawnConsent,omitempty"`
}

SenderEmailNotifications contains the settings for the email notifications that senders receive about the envelopes that they send.

type SenderName added in v0.10.0

type SenderName struct {
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are placed. When **true,** the text string in a document must match the case of the `anchorString` property for an anchor tab to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the anchor string is `DocuSign`, then `DocuSign` will match but `Docusign`, `docusign`, `DoCuSiGn`, etc. will not match. When **false,** `DocuSign`, `Docusign`, `docusign`, `DoCuSiGn`, etc. will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	AnchorCaseSensitive string `json:"anchorCaseSensitive,omitempty"`
	// Metadata that indicates whether the `anchorCaseSensitive` property is editable.
	AnchorCaseSensitiveMetadata *PropertyMetadata `json:"anchorCaseSensitiveMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are aligned in relation to the anchor text. Possible values are :
	//
	// - `left`: Aligns the left side of the tab with the beginning of the first character of the matching anchor word. This is the default value.
	// - `right`: Aligns the tab’s left side with the last character of the matching anchor word.
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorHorizontalAlignment string `json:"anchorHorizontalAlignment,omitempty"`
	// Metadata that indicates whether the `anchorHorizontalAlignment` property is editable.
	AnchorHorizontalAlignmentMetadata *PropertyMetadata `json:"anchorHorizontalAlignmentMetadata,omitempty"`
	// When **true,** this tab is ignored if the `anchorString` is not found in the document.
	AnchorIgnoreIfNotPresent Bool `json:"anchorIgnoreIfNotPresent,omitempty"`
	// Metadata that indicates whether the `anchorIgnoreIfNotPresent` property is editable.
	AnchorIgnoreIfNotPresentMetadata *PropertyMetadata `json:"anchorIgnoreIfNotPresentMetadata,omitempty"`
	// When **true,** the text string in a document must match the value of the `anchorString` property in its entirety for an [anchor tab][AnchorTab] to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the input is `man` then `man` will match but `manpower`, `fireman`, and `penmanship` will not. When **false,** if the input is `man` then `man`, `manpower`, `fireman`, and `penmanship` will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTab]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorMatchWholeWord Bool `json:"anchorMatchWholeWord,omitempty"`
	// Metadata that indicates whether the `anchorMatchWholeWord` property is editable.
	AnchorMatchWholeWordMetadata *PropertyMetadata `json:"anchorMatchWholeWordMetadata,omitempty"`
	// Specifies the string to find in the document and use as the basis for tab placement.
	AnchorString string `json:"anchorString,omitempty"`
	// Metadata that indicates whether the `anchorString` property is editable.
	AnchorStringMetadata *PropertyMetadata `json:"anchorStringMetadata,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersion string `json:"anchorTabProcessorVersion,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersionMetadata *PropertyMetadata `json:"anchorTabProcessorVersionMetadata,omitempty"`
	// Specifies units of the
	// `anchorXOffset` and
	// `anchorYOffset`.
	// Valid units are:
	//
	// - `pixels`
	// - `inches`
	// - `mms`
	// - `cms`
	//
	AnchorUnits string `json:"anchorUnits,omitempty"`
	// Metadata that indicates whether the `anchorUnits` property is editable.
	AnchorUnitsMetadata *PropertyMetadata `json:"anchorUnitsMetadata,omitempty"`
	// Specifies the X axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorXOffset string `json:"anchorXOffset,omitempty"`
	// Metadata that indicates whether the `anchorXOffset` property is editable.
	AnchorXOffsetMetadata *PropertyMetadata `json:"anchorXOffsetMetadata,omitempty"`
	// Specifies the Y axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorYOffset string `json:"anchorYOffset,omitempty"`
	// Metadata that indicates whether the `anchorYOffset` property is editable.
	AnchorYOffsetMetadata *PropertyMetadata `json:"anchorYOffsetMetadata,omitempty"`
	// When **true,** the information in the tab is bold.
	Bold Bool `json:"bold,omitempty"`
	// Metadata that indicates whether the `bold` property is editable.
	BoldMetadata *PropertyMetadata `json:"boldMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// For conditional fields this is the `tabLabel` of the parent tab that controls this tab's visibility.
	ConditionalParentLabel string `json:"conditionalParentLabel,omitempty"`
	// Metadata that indicates whether the `conditionalParentLabel` property is editable.
	ConditionalParentLabelMetadata *PropertyMetadata `json:"conditionalParentLabelMetadata,omitempty"`
	// For conditional fields, this is the value of the parent tab that controls the tab's visibility.
	//
	// If the parent tab is a Checkbox, Radio button, Optional Signature, or Optional Initial use "on" as the value to show that the parent tab is active.
	//
	ConditionalParentValue string `json:"conditionalParentValue,omitempty"`
	// Metadata that indicates whether the `conditionalParentValue` property is editable.
	ConditionalParentValueMetadata *PropertyMetadata `json:"conditionalParentValueMetadata,omitempty"`
	// The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
	CustomTabID string `json:"customTabId,omitempty"`
	// Metadata that indicates whether the `customTabId` property is editable.
	CustomTabIDMetadata *PropertyMetadata `json:"customTabIdMetadata,omitempty"`
	// Specifies the document ID number that the tab is placed on. This must refer to an existing Document's ID attribute.
	DocumentID string `json:"documentId,omitempty"`
	// Metadata that indicates whether the `documentId` property is editable.
	DocumentIDMetadata *PropertyMetadata `json:"documentIdMetadata,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The font to be used for the tab value. Supported fonts include:
	//
	// - Default
	// - Arial
	// - ArialNarrow
	// - Calibri
	// - CourierNew
	// - Garamond
	// - Georgia
	// - Helvetica
	// - LucidaConsole
	// - MSGothic
	// - MSMincho
	// - OCR-A
	// - Tahoma
	// - TimesNewRoman
	// - Trebuchet
	// - Verdana
	//
	Font string `json:"font,omitempty"`
	// The font color to use for the information in the tab. Possible values are:
	//
	// - Black
	// - BrightBlue
	// - BrightRed
	// - DarkGreen
	// - DarkRed
	// - Gold
	// - Green
	// - NavyBlue
	// - Purple
	// - White
	//
	FontColor string `json:"fontColor,omitempty"`
	// Metadata that indicates whether the `fontColor` property is editable.
	FontColorMetadata *PropertyMetadata `json:"fontColorMetadata,omitempty"`
	// Metadata that indicates whether the `font` property is editable.
	FontMetadata *PropertyMetadata `json:"fontMetadata,omitempty"`
	// The font size used for the information in the tab. Possible values are:
	//
	// - Size7
	// - Size8
	// - Size9
	// - Size10
	// - Size11
	// - Size12
	// - Size14
	// - Size16
	// - Size18
	// - Size20
	// - Size22
	// - Size24
	// - Size26
	// - Size28
	// - Size36
	// - Size48
	// - Size72
	FontSize string `json:"fontSize,omitempty"`
	// Metadata that indicates whether the `fontSize` property is editable.
	FontSizeMetadata *PropertyMetadata `json:"fontSizeMetadata,omitempty"`
	// An integer specifying the order in which the guided form HTML should render. The order is relative to the `formPageLabel`, the group by which to place the guided form HTML block.
	FormOrder string `json:"formOrder,omitempty"`
	// Metadata that indicates whether the `formOrder` property is editable.
	FormOrderMetadata *PropertyMetadata `json:"formOrderMetadata,omitempty"`
	// A string specifying the group in which to place the guided form HTML. Each group displays as a separate guided forms page in the signing experience.
	FormPageLabel string `json:"formPageLabel,omitempty"`
	// Metadata that indicates whether the `formPageLabel` property is editable.
	FormPageLabelMetadata *PropertyMetadata `json:"formPageLabelMetadata,omitempty"`
	// An integer specifying the order in which to present the guided form pages.
	FormPageNumber string `json:"formPageNumber,omitempty"`
	// Metadata that indicates whether the `fromPageNumber` property is editable.
	FormPageNumberMetadata *PropertyMetadata `json:"formPageNumberMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,** the information in the tab is italic.
	Italic Bool `json:"italic,omitempty"`
	// Metadata that indicates whether the `italic` property is editable.
	ItalicMetadata *PropertyMetadata `json:"italicMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// Contains the information necessary to map the tab to a field in SalesForce.
	MergeField *MergeField `json:"mergeField,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	//
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// Specifies the page number on which the tab is located.
	PageNumber string `json:"pageNumber,omitempty"`
	// Metadata that indicates whether the `pageNumber` property is editable.
	PageNumberMetadata *PropertyMetadata `json:"pageNumberMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// Metadata that indicates whether the `recipientIdGuid` property is editable.
	RecipientIDGUIDMetadata *PropertyMetadata `json:"recipientIdGuidMetadata,omitempty"`
	// Metadata that indicates whether the `recipientId` property is editable.
	RecipientIDMetadata *PropertyMetadata `json:"recipientIdMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * sent - The envelope is sent to the recipients.
	// * created - The envelope is saved as a draft and can be modified and sent later.
	Status string `json:"status,omitempty"`
	// Metadata that indicates whether the `status` property is editable.
	StatusMetadata *PropertyMetadata `json:"statusMetadata,omitempty"`
	// An array of tab groups that this tab belongs to. Tab groups are identified by their `groupLabel` property.
	//
	// To associate this tab with a tab group, add the tab group's `groupLabel` to this array.
	TabGroupLabels []string `json:"tabGroupLabels,omitempty"`
	// Metadata that indicates whether the `tabGroupLabels` property is editable.
	TabGroupLabelsMetadata *PropertyMetadata `json:"tabGroupLabelsMetadata,omitempty"`
	// The unique identifier for the tab.
	TabID string `json:"tabId,omitempty"`
	// Metadata that indicates whether the `tabId` property is editable.
	TabIDMetadata *PropertyMetadata `json:"tabIdMetadata,omitempty"`
	// The label associated with the tab. This value may be an empty string.
	// If no value is provided, the tab type is used as the value.
	//
	// Maximum Length: 500 characters.
	//
	TabLabel string `json:"tabLabel,omitempty"`
	// Metadata that indicates whether the `tabLabel` property is editable.
	TabLabelMetadata *PropertyMetadata `json:"tabLabelMetadata,omitempty"`
	// A positive integer that sets the order the tab is navigated to during signing.
	//
	// Tabs on a page are navigated to in ascending order, starting with the lowest number and moving to the highest. If two or more tabs have the same `tabOrder` value, the normal auto-navigation setting behavior for the envelope is used.
	TabOrder string `json:"tabOrder,omitempty"`
	// Metadata that indicates whether the `tabOrder` property is editable.
	TabOrderMetadata *PropertyMetadata `json:"tabOrderMetadata,omitempty"`
	// Indicates the type of tab (for example, `signHere` or `initialHere`).
	TabType string `json:"tabType,omitempty"`
	// Metadata that indicates whether the `tabType` property is editable.
	TabTypeMetadata *PropertyMetadata `json:"tabTypeMetadata,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// Metadata that indicates whether the `templateLocked` property is editable.
	TemplateLockedMetadata *PropertyMetadata `json:"templateLockedMetadata,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// Metadata that indicates whether the `templateRequired` property is editable.
	TemplateRequiredMetadata *PropertyMetadata `json:"templateRequiredMetadata,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// When **true,** the information in the tab is underlined.
	Underline Bool `json:"underline,omitempty"`
	// Metadata that indicates whether the `underline` property is editable.
	UnderlineMetadata *PropertyMetadata `json:"underlineMetadata,omitempty"`
	// Specifies the value of the tab.
	Value string `json:"value,omitempty"`
	// Metadata that indicates whether the `value` property is editable.
	ValueMetadata *PropertyMetadata `json:"valueMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
	// This property indicates the horizontal offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	XPosition string `json:"xPosition,omitempty"`
	// Metadata that indicates whether the `xPosition` property is editable.
	XPositionMetadata *PropertyMetadata `json:"xPositionMetadata,omitempty"`
	// This property indicates the vertical offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	YPosition string `json:"yPosition,omitempty"`
	// Metadata that indicates whether the `yPosition` property is editable.
	YPositionMetadata *PropertyMetadata `json:"yPositionMetadata,omitempty"`
}

SenderName not described in definition file

type ServerTemplate

type ServerTemplate struct {
	// Specifies the order in which templates are overlaid.
	Sequence string `json:"sequence,omitempty"`
	// The unique identifier of the template. If this is not provided, DocuSign will generate a value.
	TemplateID string `json:"templateId,omitempty"`
}

ServerTemplate not described in definition file

type ServiceInformation

type ServiceInformation struct {
	// Reserved: TBD
	BuildBranch string `json:"buildBranch,omitempty"`
	// Reserved: TBD
	BuildBranchDeployedDateTime *time.Time `json:"buildBranchDeployedDateTime,omitempty"`
	// Reserved: TBD
	BuildSHA string `json:"buildSHA,omitempty"`
	// Reserved: TBD
	BuildVersion string `json:"buildVersion,omitempty"`
	//
	LinkedSites []string `json:"linkedSites,omitempty"`
	//
	ServiceVersions []ServiceVersion `json:"serviceVersions,omitempty"`
}

ServiceInformation not described in definition file

type ServiceVersion

type ServiceVersion struct {
	// The version of the rest API.
	Version string `json:"version,omitempty"`
	//
	VersionURL string `json:"versionUrl,omitempty"`
}

ServiceVersion not described in definition file

type SettingsMetadata

type SettingsMetadata struct {
	// When **true,** indicates compliance with United States Food and Drug Administration (FDA) regulations on electronic records and electronic signatures (ERES).
	Is21CFRPart11 Bool `json:"is21CFRPart11,omitempty"`
	// An array of option strings supported by this setting.
	Options []string `json:"options,omitempty"`
	// Indicates whether the property is editable. Valid values are:
	//
	// - `editable`
	// - `read_only`
	Rights string `json:"rights,omitempty"`
	// Reserved for DocuSign.
	UIHint string `json:"uiHint,omitempty"`
	// Reserved for DocuSign.
	UIOrder string `json:"uiOrder,omitempty"`
	// Reserved for DocuSign.
	UIType string `json:"uiType,omitempty"`
}

SettingsMetadata metadata that indicates whether a property is editable and describes setting-specific options.

type SharedItem

type SharedItem struct {
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// How the item is shared. One of:
	//
	// - `not_shared`
	// - `shared_to`
	// - `shared_from`
	// - `shared_to_and_from`
	Shared Bool `json:"shared,omitempty"`
	// Information about the user who owns the shared item.
	User *UserInfo `json:"user,omitempty"`
}

SharedItem information about the shared item.

type SignHere

type SignHere struct {
	TabBase
	TabGuidedForm
	TabPosition
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// Reserved for DocuSign.
	HandDrawRequired string `json:"handDrawRequired,omitempty"`
	// Not applicable to Sign Here tab.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,**  the tab contains a visual representation for an electronic seal in a document.
	IsSealSignTab Bool `json:"isSealSignTab,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The name of the tab. For example, `Sign Here` or `Initial Here`.
	//
	// If the `tooltip` attribute is not set, this value will be displayed as the custom tooltip text.
	//
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// When **true,** the recipient does not need to complete this tab to complete the signing process.
	Optional Bool `json:"optional,omitempty"`
	// Metadata that indicates whether the `optional` property is editable.
	OptionalMetadata *PropertyMetadata `json:"optionalMetadata,omitempty"`
	// Scales the size of the tab. This field accepts values from 0.5 to 2.0, where  0.5 is half the normal size, 1.0 is normal size, and 2.0 is twice the normal size.
	ScaleValue string `json:"scaleValue,omitempty"`
	// Metadata that indicates whether the `scaleValue` property is editable.
	ScaleValueMetadata *PropertyMetadata `json:"scaleValueMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	//
	Stamp *Stamp `json:"stamp,omitempty"`
	// The type of stamp. Valid values are:
	//
	// - `signature`: A signature image. This is the default value.
	// - `stamp`: A stamp image.
	// - null
	StampType string `json:"stampType,omitempty"`
	// Metadata that indicates whether the `stampType` property is editable.
	StampTypeMetadata *PropertyMetadata `json:"stampTypeMetadata,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// Not applicable to Sign Here tab.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

SignHere is a tab that allows the recipient to sign a document. May be optional.

type SignatureGroup added in v0.10.0

type SignatureGroup struct {
	// The ID of the group being accessed.
	GroupID string `json:"groupId,omitempty"`
	// The name of the group. The search_text provided in the call automatically performs a wild card search on group_name.
	GroupName string `json:"groupName,omitempty"`
	// Indicates whether the property is editable. Valid values are:
	//
	// - `editable`
	// - `read_only`
	Rights string `json:"rights,omitempty"`
}

SignatureGroup not described in definition file

type SignatureGroupDef added in v0.10.0

type SignatureGroupDef struct {
	// The ID of the group being accessed.
	GroupID string `json:"groupId,omitempty"`
	// Indicates whether the property is editable. Valid values are:
	//
	// - `editable`
	// - `read_only`
	Rights string `json:"rights,omitempty"`
}

SignatureGroupDef not described in definition file

type SignatureProviderRequiredOption

type SignatureProviderRequiredOption struct {
	// Reserved for DocuSign.
	RequiredSignatureProviderOptionIds []string `json:"requiredSignatureProviderOptionIds,omitempty"`
	// Reserved for DocuSign.
	SignerType string `json:"signerType,omitempty"`
}

SignatureProviderRequiredOption contains additional information that a specific signature provider requires.

type SignatureType

type SignatureType struct {
	// When **true,** the signature type is the default type.
	IsDefault Bool `json:"isDefault,omitempty"`
	// The type of signature. Valid values are:
	//
	// - `electronic`: Indicates an **electronic** signature that is used by common law countries such as the United States, United Kingdom, and Australia. This is the default signature type that DocuSign uses.
	// - `universal`: Indicates a **digital** signature that is accepted by both common law and civil law countries. To use digital signatures, you must use the [DocuSign Signature Appliance](/docs/dsa-api/).
	//
	// For more information, see [Standards Based Signatures](/docs/esign-rest-api/esign101/concepts/standards-based-signatures/).
	Type string `json:"type,omitempty"`
}

SignatureType this object contains information about the type of signature.

type SignatureUser added in v0.10.0

type SignatureUser struct {
	// Boolean that specifies whether the signature is the default signature for the user.
	IsDefault Bool `json:"isDefault,omitempty"`
	// Indicates whether the property is editable. Valid values are:
	//
	// - `editable`
	// - `read_only`
	Rights string `json:"rights,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
	// The name of the user.
	UserName string `json:"userName,omitempty"`
}

SignatureUser not described in definition file

type SignatureUserDef added in v0.10.0

type SignatureUserDef struct {
	// Boolean that specifies whether the signature is the default signature for the user.
	IsDefault Bool `json:"isDefault,omitempty"`
	// Indicates whether the property is editable. Valid values are:
	//
	// - `editable`
	// - `read_only`
	Rights string `json:"rights,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

SignatureUserDef not described in definition file

type Signer

type Signer struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// Metadata that indicates whether the `accessCode` property is editable. This property is read-only.
	AccessCodeMetadata *PropertyMetadata `json:"accessCodeMetadata,omitempty"`
	// Optional. When **true,** the access code will be added to the email sent to the recipient. This nullifies the security measure of `accessCode` on the recipient.
	AddAccessCodeToEmail string `json:"addAccessCodeToEmail,omitempty"`
	// An array of additional notification objects.
	AdditionalNotifications []RecipientAdditionalNotification `json:"additionalNotifications,omitempty"`
	// Optional element. When **true,** the agent recipient associated with this recipient can change the recipient's pre-populated email address. This element is only active if enabled for the account.
	AgentCanEditEmail Bool `json:"agentCanEditEmail,omitempty"`
	// Optional. When **true,** the agent recipient associated with this recipient can change the recipient's pre-populated name. This element is only active if enabled for the account.
	AgentCanEditName Bool `json:"agentCanEditName,omitempty"`
	// When **true,** if the recipient is locked on a template, advanced recipient routing can override the lock.
	AllowSystemOverrideForLockedRecipient Bool `json:"allowSystemOverrideForLockedRecipient,omitempty"`
	// When **true,** autonavigation is set for the recipient.
	//
	AutoNavigation Bool `json:"autoNavigation,omitempty"`
	// Error message provided by the destination email system. This field is only provided if the email notification to the recipient fails to send. This property is read-only.
	//
	AutoRespondedReason string `json:"autoRespondedReason,omitempty"`
	// Reserved for DocuSign.
	BulkRecipientsURI string `json:"bulkRecipientsUri,omitempty"`
	// When **true,** specifies that the signer can perform the signing ceremony offline.
	CanSignOffline Bool `json:"canSignOffline,omitempty"`
	// Specifies whether the recipient is embedded or remote.
	//
	// If the `clientUserId` property is not null then the recipient is embedded. Use this field to associate the signer with their userId in your app. Authenticating the user is the responsibility of your app when you use embedded signing.
	//
	// Note: if the `clientUserId` property is set and either `SignerMustHaveAccount` or `SignerMustLoginToSign` property of the account settings is set to  **true,** an error is generated on sending.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// Indicates the number of times that the recipient has been through a signing completion for the envelope. If this number is greater than 0 for a signing group, only the user who previously completed may sign again. This property is read-only.
	CompletedCount string `json:"completedCount,omitempty"`
	//
	ConsentDetailsList []ConsentDetails `json:"consentDetailsList,omitempty"`
	// The reason why the item was created.
	CreationReason string `json:"creationReason,omitempty"`
	// An optional array of strings that allows the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each customField string can be a maximum of 100 characters.
	CustomFields []string `json:"customFields,omitempty"`
	// The date and time the recipient declined the document. This property is read-only.
	DeclinedDateTime *time.Time `json:"declinedDateTime,omitempty"`
	// The reason the recipient declined the document. This property is read-only.
	DeclinedReason string `json:"declinedReason,omitempty"`
	// When **true,** this recipient is the default recipient and any tabs generated by the transformPdfFields option are mapped to this recipient.
	DefaultRecipient Bool `json:"defaultRecipient,omitempty"`
	//
	DelegatedBy *DelegationInfo `json:"delegatedBy,omitempty"`
	//
	DelegatedTo []DelegationInfo `json:"delegatedTo,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime *time.Time `json:"deliveredDateTime,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethodMetadata *PropertyMetadata `json:"deliveryMethodMetadata,omitempty"`
	// Reserved for DocuSign.
	DesignatorID string `json:"designatorId,omitempty"`
	// Reserved for DocuSign.
	DesignatorIDGUID string `json:"designatorIdGuid,omitempty"`
	// A list of `documentVisibility` objects. Each object in the list specifies whether a document in the envelope is visible to this recipient. For the envelope to use this functionality, Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true.**
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
	// The recipient's email address. The system sends notifications about the documents to sign to this address. Maximum length: 100 characters.
	Email string `json:"email,omitempty"`
	// Metadata that indicates whether the `email` property is editable. This property is read-only.
	EmailMetadata *PropertyMetadata `json:"emailMetadata,omitempty"`
	// An optional complex type that sets a specific email subject and body for this recipient's notification email.
	//
	// **Note:** You can set the `emailNotification` property separately for each recipient. If you set the value only for certain recipients, the other recipients will inherit the this value from the top-level `emailSubject` and `emailBlurb`.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	//
	EmailRecipientPostSigningURL string `json:"emailRecipientPostSigningURL,omitempty"`
	// Specifies a sender-provided valid URL string for redirecting an embedded recipient. When using this option, the embedded recipient still receives an email from DocuSign, just as a remote recipient would. When the document link in the email is clicked the recipient is redirected, through DocuSign, to the supplied URL to complete their actions. When routing to the URL, the sender's system (the server responding to the URL) must request a recipient token to launch a signing session.
	//
	// When `SIGN_AT_DOCUSIGN`, the recipient is directed to an embedded signing or viewing process directly at DocuSign. The signing or viewing action is initiated by the DocuSign system and the transaction activity and Certificate of Completion records will reflect this. In all other ways the process is identical to an embedded signing or viewing operation launched by a partner.
	//
	// It is important to understand that in a typical embedded workflow, the authentication of an embedded recipient is the responsibility of the sending application. DocuSign expects that senders will follow their own processes for establishing the recipient's identity. In this workflow the recipient goes through the sending application before the embedded signing or viewing process is initiated. However, when the sending application sets `EmbeddedRecipientStartURL=SIGN_AT_DOCUSIGN`, the recipient goes directly to the embedded signing or viewing process, bypassing the sending application and any authentication steps the sending application would use. In this case, DocuSign recommends that you use one of the normal DocuSign authentication features (Access Code, Phone Authentication, SMS Authentication, etc.) to verify the identity of the recipient.
	//
	// If the `clientUserId` property is NOT set, and the `embeddedRecipientStartURL` is set, DocuSign will ignore the redirect URL and launch the standard signing process for the email recipient. Information can be appended to the embedded recipient start URL using merge fields. The available merge fields items are: `envelopeId`, `recipientId`, `recipientName`, `recipientEmail`, and `customFields`. The `customFields` property must be set for the recipient or envelope. The merge fields are enclosed in double brackets.
	//
	// *Example*:
	//
	// `http://senderHost/[[mergeField1]]/ beginSigningSession? [[mergeField2]]&[[mergeField3]]`
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Specifies the documents that are not visible to this recipient. Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true** for the envelope to use this.
	//
	// When enforce signer visibility is enabled, documents with tabs can only be viewed by signers that have a tab on that document. Recipients that have an administrative role (Agent, Editor, or Intermediaries) or informational role (Certified Deliveries or Carbon Copies) can always see all the documents in an envelope, unless they are specifically excluded using this setting when an envelope is sent. Documents that do not have tabs are always visible to all recipients, unless they are specifically excluded using this setting when an envelope is sent.
	ExcludedDocuments Bool `json:"excludedDocuments,omitempty"`
	// Reserved for DocuSign.
	FaxNumber string `json:"faxNumber,omitempty"`
	// Reserved for DocuSign.
	FaxNumberMetadata *PropertyMetadata `json:"faxNumberMetadata,omitempty"`
	// The recipient's first name. Maximum Length: 50 characters.
	FirstName string `json:"firstName,omitempty"`
	// Metadata that indicates whether the `firstName` property is editable. This property is read-only.
	FirstNameMetadata *PropertyMetadata `json:"firstNameMetadata,omitempty"`
	// Reserved for DocuSign.
	FullName string `json:"fullName,omitempty"`
	// Reserved for DocuSign.
	FullNameMetadata *PropertyMetadata `json:"fullNameMetadata,omitempty"`
	// The name of the authentication check to use. This value must match one of the authentication types that the account uses. The names of these authentication types appear in the web console sending interface in the Identify list for a recipient. This setting overrides any default authentication setting. Valid values are:
	//
	// - `Phone Auth $`: The recipient must authenticate by using two-factor authentication (2FA). You provide the phone number to use for 2FA in the `phoneAuthentication` object.
	// - `SMS Auth $`: The recipient must authenticate via SMS. You provide the phone number to use in the `smsAuthentication` object.
	// - `ID Check $`: The  recipient must answer detailed security questions.
	//
	// **Example:** Your account has ID Check and SMS Authentication available. In the web console Identify list, these appear as ID Check $ and SMS Auth $. To use ID Check in an envelope, the idCheckConfigurationName should be ID Check $. For SMS, you would use SMS Auth $, and you would also need to add a phone number to the smsAuthentication node.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// Metadata that indicates whether the `idCheckConfigurationName` property is editable. This property is read-only.
	IDCheckConfigurationNameMetadata *PropertyMetadata `json:"idCheckConfigurationNameMetadata,omitempty"`
	// An object that contains input information related to a recipient ID check.
	IDCheckInformationInput *IDCheckInformationInput `json:"idCheckInformationInput,omitempty"`
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification *RecipientIdentityVerification `json:"identityVerification,omitempty"`
	// When **true** and the envelope recipient creates a DocuSign account after signing, the Manage Account Email Notification settings are used as the default settings for the recipient's account.
	InheritEmailNotificationConfiguration Bool `json:"inheritEmailNotificationConfiguration,omitempty"`
	// When **true,** this signer is a bulk recipient and the recipient information is contained in a bulk recipient file.
	//
	// Note that when this is true the email and name for the recipient becomes bulk@recipient.com and "Bulk Recipient". These fields can not be changed for the bulk recipient.
	//
	IsBulkRecipient Bool `json:"isBulkRecipient,omitempty"`
	// Reserved for DocuSign.
	IsBulkRecipientMetadata *PropertyMetadata `json:"isBulkRecipientMetadata,omitempty"`
	// The recipient's last name.
	LastName string `json:"lastName,omitempty"`
	// Metadata that indicates whether the `lastName` property is editable. This property is read-only.
	LastNameMetadata *PropertyMetadata `json:"lastNameMetadata,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientPhoneAuthEditable string `json:"lockedRecipientPhoneAuthEditable,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientSmsEditable string `json:"lockedRecipientSmsEditable,omitempty"`
	// The full legal name of the recipient. Maximum Length: 100 characters.
	//
	// **Note:** You must always set a value for this property in requests, even if `firstName` and `lastName` are set.
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// The `recipientId` of the notary for this signer.
	NotaryID string `json:"notaryId,omitempty"`
	//
	NotarySignerEmailSent string `json:"notarySignerEmailSent,omitempty"`
	// A note sent to the recipient in the signing email.
	// This note is unique to this recipient.
	// In the user interface,
	// it appears near the upper left corner
	// of the document
	// on the signing screen.
	//
	// Maximum Length: 1000 characters.
	//
	Note string `json:"note,omitempty"`
	// Metadata that indicates whether the `note` property is editable. This property is read-only.
	NoteMetadata *PropertyMetadata `json:"noteMetadata,omitempty"`
	// When `idCheckConfigurationName` is set to `Phone Auth $`, you use this complex type to provide the recipient authentication method details. It contains the following elements:
	//
	// * `recipMayProvideNumber`: Boolean. When **true,** the recipient can use whatever phone number they choose.
	// * `senderProvidedNumbers`: ArrayOfStrings.  A list of phone numbers the recipient can use.
	// * `recordVoicePrint`: Reserved for DocuSign.
	// * `validateRecipProvidedNumber`: Reserved for DocuSign.
	//
	//
	PhoneAuthentication Bool `json:"phoneAuthentication,omitempty"`
	// Describes the recipient phone number.
	PhoneNumber *RecipientPhoneNumber `json:"phoneNumber,omitempty"`
	// The proof file of the recipient.
	ProofFile *RecipientProofFile `json:"proofFile,omitempty"`
	// Reserved for DocuSign.
	RecipientAttachments []RecipientAttachment `json:"recipientAttachments,omitempty"`
	// Information about the recipient's authentication status. This property is read-only.
	RecipientAuthenticationStatus *AuthenticationStatus `json:"recipientAuthenticationStatus,omitempty"`
	// Metadata about the features that are supported for the recipient type. This property is read-only.
	RecipientFeatureMetadata []FeatureAvailableMetadata `json:"recipientFeatureMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// The default signature provider is the DocuSign Electronic signature system. This parameter is used to specify one or more Standards Based Signature (digital signature) providers for the signer to use. [More information.](/docs/esign-rest-api/esign101/concepts/standards-based-signatures/)
	RecipientSignatureProviders []RecipientSignatureProvider `json:"recipientSignatureProviders,omitempty"`
	// When **true,** specifies that the recipient creates the tabs.
	RecipientSuppliesTabs Bool `json:"recipientSuppliesTabs,omitempty"`
	// The recipient type, as specified by the following values:
	// - `agent`: Agent recipients can add name and email information for recipients that appear after the agent in routing order.
	// - `carbonCopy`: Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date, or add information to any of the documents. This type of recipient can be used in any routing order.
	// - `certifiedDelivery`: Certified delivery recipients must receive the completed documents for the envelope to be completed. They don't need to sign, initial, date, or add information to any of the documents.
	// - `editor`: Editors have the same management and access rights for the envelope as the sender. Editors can add name and email information, add or change the routing order, set authentication options, and can edit signature/initial tabs and data fields for the remaining recipients.
	// - `inPersonSigner`: In-person recipients are DocuSign users who act as signing hosts in the same physical location as the signer.
	// - `intermediaries`: Intermediary recipients can optionally add name and email information for recipients at the same or subsequent level in the routing order.
	// - `seal`: Electronic seal recipients represent legal entities.
	// - `signer`: Signers are recipients who must sign, initial, date, or add data to form fields on the documents in the envelope.
	// - `witness`: Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.
	RecipientType string `json:"recipientType,omitempty"`
	// Metadata that indicates whether the `recipientType` property is editable. This property is read-only.
	RecipientTypeMetadata *PropertyMetadata `json:"recipientTypeMetadata,omitempty"`
	// When **true,** the recipient is required to use the specified ID check method (including Phone and SMS authentication) to validate their identity.
	RequireIDLookup Bool `json:"requireIdLookup,omitempty"`
	// Metadata that indicates whether the `requireIdLookup` property is editable. This property is read-only.
	RequireIDLookupMetadata *PropertyMetadata `json:"requireIdLookupMetadata,omitempty"`
	// When **true,** the signer must print, sign, and upload or fax the signed documents to DocuSign.
	RequireSignOnPaper Bool `json:"requireSignOnPaper,omitempty"`
	// Sets the type of signer certificate required for signing. If left blank, no certificate is required. Only one type of certificate can be set for a signer. Valid values:
	//
	// * `docusign_express`: Requires a DocuSign Express certificate.
	// * `safe`: Requires a SAFE-BioPharma certificate.
	// * `open_trust`: Requires an OpenTrust certificate.
	//
	// **Important:** There are certain rules and restrictions that must be followed when requiring OpenTrust digital signatures. See [ML:OpenTrust Rules and Restrictions] for more information.
	//
	RequireSignerCertificate string `json:"requireSignerCertificate,omitempty"`
	// When **true,** the signer is required to upload a new signature, even if they have a pre-adopted signature in their personal DocuSign account.
	RequireUploadSignature Bool `json:"requireUploadSignature,omitempty"`
	// Optional element. Specifies the role name associated with the recipient.<br/><br/>This property is required when you are working with template recipients.
	RoleName string `json:"roleName,omitempty"`
	// Specifies the routing order of the recipient in the envelope.
	RoutingOrder string `json:"routingOrder,omitempty"`
	// Metadata that indicates whether the `routingOrder` property is editable. This property is read-only.
	RoutingOrderMetadata *PropertyMetadata `json:"routingOrderMetadata,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime *time.Time `json:"sentDateTime,omitempty"`
	// When **true** and the feature is enabled in the sender's account, the signing recipient is required to draw signatures and initials at each signature/initial tab (instead of adopting a signature/initial style or only drawing a signature/initial once).
	SignInEachLocation Bool `json:"signInEachLocation,omitempty"`
	// Metadata that indicates whether the `signInEachLocation` property is editable. This property is read-only.
	SignInEachLocationMetadata *PropertyMetadata `json:"signInEachLocationMetadata,omitempty"`
	// Allows the sender to pre-specify the signature name, signature initials and signature font used in the signature stamp for the recipient.
	//
	// Used only with recipient types In Person Signers and Signers.
	SignatureInfo *RecipientSignatureInformation `json:"signatureInfo,omitempty"`
	// Reserved for DocuSign.
	SignedDateTime *time.Time `json:"signedDateTime,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// Metadata that indicates whether the `signingGroupId` property is editable. This property is read-only.
	SigningGroupIDMetadata *PropertyMetadata `json:"signingGroupIdMetadata,omitempty"`
	// Optional. The name of the signing group.
	//
	// Maximum Length: 100 characters.
	SigningGroupName string `json:"signingGroupName,omitempty"`
	// A complex type that contains information about users in the signing group.
	SigningGroupUsers []UserInfo `json:"signingGroupUsers,omitempty"`
	// When `idCheckConfigurationName` is set to `SMS Auth $`, you use this complex type to provide the recipient authentication method details. It contains the element `senderProvidedNumbers`, which is an array of phone numbers that the recipient can use for SMS text authentication.
	//
	//
	SmsAuthentication *RecipientSMSAuthentication `json:"smsAuthentication,omitempty"`
	// Deprecated.
	SocialAuthentications []SocialAuthentication `json:"socialAuthentications,omitempty"`
	// Specifies the status of the recipient at the time of the request. This property is read-only. Possible values are:
	//
	// - `created`: The recipient is in a draft state. This is only associated with draft envelopes (envelopes with a created status).
	// - `sent`: The recipient has been sent an email notification that it is their turn to sign an envelope.
	// - `delivered`: The recipient has viewed the documents in an envelope through the DocuSign signing web site. This is not an email delivery of the documents in an envelope.
	// - `signed`; The recipient has completed (performed all required interactions, such as signing or entering data) all required tags in an envelope. This is a temporary state during processing, after which the recipient is automatically moved to completed.
	// - `declined`: The recipient declined to sign the documents in the envelope.
	// - `completed`: The recipient has completed their actions (signing or other required actions if not a signer) for an envelope.
	// - `faxpending`: The recipient has finished signing and the system is waiting a fax attachment by the recipient before completing their signing step.
	// - `autoresponded`: The recipient's email system auto-responded to the email from DocuSign. This status is used by the DocuSign webapp (also known as the DocuSign console) to inform senders about the auto-responded email.
	//
	Status string `json:"status,omitempty"`
	// Reserved for DocuSign.
	StatusCode string `json:"statusCode,omitempty"`
	// When **true,** email notifications are suppressed for the recipient, and they must access envelopes and documents from their DocuSign inbox.
	SuppressEmails Bool `json:"suppressEmails,omitempty"`
	// The tabs to assign to the recipient.
	// [More information](/docs/esign-rest-api/esign101/concepts/tabs/).
	Tabs *Tabs `json:"tabs,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// The total number of tabs in the documents. This property is read-only.
	TotalTabCount string `json:"totalTabCount,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

Signer is a complex type containing information about a signer recipient. A signer is a recipient who must take action on a document, such as sign, initial, date, or add data to form fields on a document.

type SignerAttachment

type SignerAttachment struct {
	TabBase
	TabGuidedForm
	TabPosition
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// Reserved for DocuSign.
	HandDrawRequired string `json:"handDrawRequired,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The name of the tab. For example, `Sign Here` or `Initial Here`.
	//
	// If the `tooltip` attribute is not set, this value will be displayed as the custom tooltip text.
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// When **true,** the recipient does not need to complete this tab to complete the signing process.
	Optional Bool `json:"optional,omitempty"`
	// Metadata that indicates whether the `optional` property is editable.
	OptionalMetadata *PropertyMetadata `json:"optionalMetadata,omitempty"`
	// Sets the size of the tab. This field accepts values from `0.5` to `1.0`, where `1.0` represents full size and `0.5` is 50% of full size.
	ScaleValue string `json:"scaleValue,omitempty"`
	// Metadata that indicates whether the `scaleValue` property is editable.
	ScaleValueMetadata *PropertyMetadata `json:"scaleValueMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

SignerAttachment is a tab that allows the recipient to attach supporting documents to an envelope.

type SignerEmailNotifications

type SignerEmailNotifications struct {
	// When **true,** the user receives agent notification emails.
	AgentNotification Bool `json:"agentNotification,omitempty"`
	// When **true,** the user receives notifications of carbon copy deliveries.
	CarbonCopyNotification Bool `json:"carbonCopyNotification,omitempty"`
	// When **true,** the user receives notifications of certified deliveries.
	CertifiedDeliveryNotification Bool `json:"certifiedDeliveryNotification,omitempty"`
	// When **true,** the user receives only comments that mention their own user name.
	CommentsOnlyPrivateAndMention Bool `json:"commentsOnlyPrivateAndMention,omitempty"`
	// When **true,** the user receives all comments.
	CommentsReceiveAll Bool `json:"commentsReceiveAll,omitempty"`
	// When **true,** the user receives notification that document markup has been activated.
	DocumentMarkupActivation Bool `json:"documentMarkupActivation,omitempty"`
	// When **true,** the user receives notification that the envelope has been activated.
	EnvelopeActivation Bool `json:"envelopeActivation,omitempty"`
	// When **true,** the user receives an email notification when the envelope has been completed.
	EnvelopeComplete Bool `json:"envelopeComplete,omitempty"`
	// When **true,** the user receives notification that the envelope has been corrected.
	EnvelopeCorrected Bool `json:"envelopeCorrected,omitempty"`
	// When **true,** the user receives notification that the envelope has been declined.
	EnvelopeDeclined Bool `json:"envelopeDeclined,omitempty"`
	// When **true,** the user receives notification that the envelope has been voided.
	EnvelopeVoided Bool `json:"envelopeVoided,omitempty"`
	// Reserved for DocuSign.
	FaxReceived string `json:"faxReceived,omitempty"`
	// When **true,** the user receives an email notification if offline signing failed.
	OfflineSigningFailed Bool `json:"offlineSigningFailed,omitempty"`
	// When **true,** the user receives an email notification when a document purge occurs.
	PurgeDocuments Bool `json:"purgeDocuments,omitempty"`
	// When **true,** the user receives notification that the envelope has been reassigned.
	ReassignedSigner Bool `json:"reassignedSigner,omitempty"`
	// When **true,** the user receives notification that he or she is a member of the signing group.
	WhenSigningGroupMember Bool `json:"whenSigningGroupMember,omitempty"`
}

SignerEmailNotifications is an array of email notifications that specifies the email the user receives when they are a recipient. When the specific email notification is set to true, the user receives those types of email notifications from DocuSign. The user inherits the default account email notification settings when the user is created.

type SigningGroup

type SigningGroup struct {
	// The UTC DateTime when the workspace user authorization was created.
	Created *time.Time `json:"created,omitempty"`
	// The name of the user who created the signing group.
	CreatedBy string `json:"createdBy,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The email address for the signing group. You can use a group email address to email all of the group members at the same time.
	GroupEmail string `json:"groupEmail,omitempty"`
	// The name of the group. The search_text provided in the call automatically performs a wild card search on group_name.
	GroupName string `json:"groupName,omitempty"`
	// The group type. Possible values include:
	//
	// - `adminstrators`
	// - `everyone`
	// - `customGroup`
	// - `sharedSigningGroup`
	//
	// <!-- More? To do -->
	GroupType string `json:"groupType,omitempty"`
	// The date and time that the signing group was last modified.
	Modified *time.Time `json:"modified,omitempty"`
	// The user ID (GUID) of the user who last modified this user record. This property is read-only.
	ModifiedBy string `json:"modifiedBy,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// User management information.
	Users []SigningGroupUser `json:"users,omitempty"`
}

SigningGroup signing groups

type SigningGroupInformation

type SigningGroupInformation struct {
	// A collection group objects containing information about the groups.
	Groups []SigningGroup `json:"groups,omitempty"`
}

SigningGroupInformation not described in definition file

type SigningGroupUser

type SigningGroupUser struct {
	//
	Email string `json:"email,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The name of the group member.
	//
	// Maximum Length: 100 characters.
	UserName string `json:"userName,omitempty"`
}

SigningGroupUser not described in definition file

type SigningGroupUsers

type SigningGroupUsers struct {
	// User management information.
	Users []SigningGroupUser `json:"users,omitempty"`
}

SigningGroupUsers not described in definition file

type SmartContractInformation added in v0.10.0

type SmartContractInformation struct {
	// Reserved for DocuSign.
	Code string `json:"code,omitempty"`
	// Reserved for DocuSign.
	URI string `json:"uri,omitempty"`
}

SmartContractInformation not described in definition file

type SmartSection

type SmartSection struct {
	TabBase
	TabGuidedForm
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are placed. When **true,** the text string in a document must match the case of the `anchorString` property for an anchor tab to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the anchor string is `DocuSign`, then `DocuSign` will match but `Docusign`, `docusign`, `DoCuSiGn`, etc. will not match. When **false,** `DocuSign`, `Docusign`, `docusign`, `DoCuSiGn`, etc. will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	AnchorCaseSensitive string `json:"anchorCaseSensitive,omitempty"`
	// Metadata that indicates whether the `anchorCaseSensitive` property is editable.
	AnchorCaseSensitiveMetadata *PropertyMetadata `json:"anchorCaseSensitiveMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are aligned in relation to the anchor text. Possible values are :
	//
	// - `left`: Aligns the left side of the tab with the beginning of the first character of the matching anchor word. This is the default value.
	// - `right`: Aligns the tab’s left side with the last character of the matching anchor word.
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorHorizontalAlignment string `json:"anchorHorizontalAlignment,omitempty"`
	// Metadata that indicates whether the `anchorHorizontalAlignment` property is editable.
	AnchorHorizontalAlignmentMetadata *PropertyMetadata `json:"anchorHorizontalAlignmentMetadata,omitempty"`
	// When **true,** this tab is ignored if the `anchorString` is not found in the document.
	AnchorIgnoreIfNotPresent Bool `json:"anchorIgnoreIfNotPresent,omitempty"`
	// Metadata that indicates whether the `anchorIgnoreIfNotPresent` property is editable.
	AnchorIgnoreIfNotPresentMetadata *PropertyMetadata `json:"anchorIgnoreIfNotPresentMetadata,omitempty"`
	// When **true,** the text string in a document must match the value of the `anchorString` property in its entirety for an [anchor tab][AnchorTab] to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the input is `man` then `man` will match but `manpower`, `fireman`, and `penmanship` will not. When **false,** if the input is `man` then `man`, `manpower`, `fireman`, and `penmanship` will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTab]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorMatchWholeWord Bool `json:"anchorMatchWholeWord,omitempty"`
	// Metadata that indicates whether the `anchorMatchWholeWord` property is editable.
	AnchorMatchWholeWordMetadata *PropertyMetadata `json:"anchorMatchWholeWordMetadata,omitempty"`
	// Specifies the string to find in the document and use as the basis for tab placement.
	AnchorString string `json:"anchorString,omitempty"`
	// Metadata that indicates whether the `anchorString` property is editable.
	AnchorStringMetadata *PropertyMetadata `json:"anchorStringMetadata,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersion string `json:"anchorTabProcessorVersion,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersionMetadata *PropertyMetadata `json:"anchorTabProcessorVersionMetadata,omitempty"`
	// Specifies units of the
	// `anchorXOffset` and
	// `anchorYOffset`.
	// Valid units are:
	//
	// - `pixels`
	// - `inches`
	// - `mms`
	// - `cms`
	//
	AnchorUnits string `json:"anchorUnits,omitempty"`
	// Metadata that indicates whether the `anchorUnits` property is editable.
	AnchorUnitsMetadata *PropertyMetadata `json:"anchorUnitsMetadata,omitempty"`
	// Specifies the X axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorXOffset string `json:"anchorXOffset,omitempty"`
	// Metadata that indicates whether the `anchorXOffset` property is editable.
	AnchorXOffsetMetadata *PropertyMetadata `json:"anchorXOffsetMetadata,omitempty"`
	// Specifies the Y axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorYOffset string `json:"anchorYOffset,omitempty"`
	// Metadata that indicates whether the `anchorYOffset` property is editable.
	AnchorYOffsetMetadata *PropertyMetadata `json:"anchorYOffsetMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the `startAnchor` and `endAnchor` for the Smart Section must match both the case and the content of the strings in the HTML.
	CaseSensitive Bool `json:"caseSensitive,omitempty"`
	// The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
	CustomTabID string `json:"customTabId,omitempty"`
	// Metadata that indicates whether the `customTabId` property is editable.
	CustomTabIDMetadata *PropertyMetadata `json:"customTabIdMetadata,omitempty"`
	// This object defines how the HTML section inside the `startAnchor` and `endAnchor` displays.
	DisplaySettings *SmartSectionDisplaySettings `json:"displaySettings,omitempty"`
	// Specifies the end of the area in the HTML where the display settings will be applied. If you do not specify an end anchor, the end of the document will be used by default.
	//
	// **Note:** A start anchor, an end anchor, or both are required.
	EndAnchor string `json:"endAnchor,omitempty"`
	// The last index position in the result set.
	EndPosition *SmartSectionAnchorPosition `json:"endPosition,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// Contains the information necessary to map the tab to a field in SalesForce.
	MergeField *MergeField `json:"mergeField,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The type of overlay to draw on the document. The following overlay types are supported:
	//
	// - `line`
	// - `outline`
	//
	OverlayType string `json:"overlayType,omitempty"`
	// Metadata that indicates whether the `overlayType` property is editable.
	OverlayTypeMetadata *PropertyMetadata `json:"overlayTypeMetadata,omitempty"`
	// Specifies the page number on which the tab is located.
	PageNumber string `json:"pageNumber,omitempty"`
	// Metadata that indicates whether the `pageNumber` property is editable.
	PageNumberMetadata *PropertyMetadata `json:"pageNumberMetadata,omitempty"`
	// When **true,** removes the end anchor string for the Smart Section from the HTML, preventing it from displaying.
	RemoveEndAnchor Bool `json:"removeEndAnchor,omitempty"`
	// When **true,** removes the start anchor string for the Smart Section from the HTML, preventing it from displaying.
	RemoveStartAnchor Bool `json:"removeStartAnchor,omitempty"`
	// When **true,** this custom tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Specifies the beginning of the area in the HTML where the display settings will be applied. If you do not specify a start anchor, the beginning of the document will be used by default.
	//
	// **Note:** A start anchor, an end anchor, or both are required.
	StartAnchor string `json:"startAnchor,omitempty"`
	// The starting index position of the current result set.
	StartPosition *SmartSectionAnchorPosition `json:"startPosition,omitempty"`
	// The status of the tab. Possible values are:
	//
	// - `active`: The tab is active, but the recipient has not yet interacted with it.
	// - `signed`: The recipient signed the tab.
	// - `declined`: The recipient declined the envelope.
	// - `na`: Used when the `status` property is not applicable to the tab type. (For example, a tab that has the `tabType` `SignerAttachmentOptional`).
	Status string `json:"status,omitempty"`
	// Metadata that indicates whether the `status` property is editable.
	StatusMetadata *PropertyMetadata `json:"statusMetadata,omitempty"`
	// The unique identifier for the tab.
	TabID string `json:"tabId,omitempty"`
	// Metadata that indicates whether the `tabId` property is editable.
	TabIDMetadata *PropertyMetadata `json:"tabIdMetadata,omitempty"`
	// The label associated with the tab. This value may be an empty string.
	// If no value is provided, the tab type is used as the value.
	//
	// Maximum Length: 500 characters.
	//
	TabLabel string `json:"tabLabel,omitempty"`
	// A positive integer that sets the order the tab is navigated to during signing.
	//
	// Tabs on a page are navigated to in ascending order, starting with the lowest number and moving to the highest. If two or more tabs have the same `tabOrder` value, the normal auto-navigation setting behavior for the envelope is used.
	TabOrder string `json:"tabOrder,omitempty"`
	// Metadata that indicates whether the `tabOrder` property is editable.
	TabOrderMetadata *PropertyMetadata `json:"tabOrderMetadata,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// Metadata that indicates whether the `templateLocked` property is editable.
	TemplateLockedMetadata *PropertyMetadata `json:"templateLockedMetadata,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// Metadata that indicates whether the `templateRequired` property is editable.
	TemplateRequiredMetadata *PropertyMetadata `json:"templateRequiredMetadata,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
	// This property indicates the horizontal offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	XPosition string `json:"xPosition,omitempty"`
	// Metadata that indicates whether the `xPosition` property is editable.
	XPositionMetadata *PropertyMetadata `json:"xPositionMetadata,omitempty"`
	// This property indicates the vertical offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	YPosition string `json:"yPosition,omitempty"`
	// Metadata that indicates whether the `yPosition` property is editable.
	YPositionMetadata *PropertyMetadata `json:"yPositionMetadata,omitempty"`
}

SmartSection not described in definition file

type SmartSectionAnchorPosition

type SmartSectionAnchorPosition struct {
	// Specifies the page number on which the tab is located.
	PageNumber int32 `json:"pageNumber,omitempty"`
	// This property indicates the horizontal offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	XPosition float64 `json:"xPosition,omitempty"`
	// This property indicates the vertical offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	YPosition float64 `json:"yPosition,omitempty"`
}

SmartSectionAnchorPosition not described in definition file

type SmartSectionCollapsibleDisplaySettings

type SmartSectionCollapsibleDisplaySettings struct {
	// Indicates the direction of the disclosure arrow
	// when the collapsible section is in the closed state.
	//
	// One of the following:
	//
	// - `up`: In the closed state, the disclosure arrow points up.
	// - `down`: In the closed state, the disclosure arrow points down.
	// - `left`: In the closed state, the disclosure arrow points left.
	// - `right`: In the closed state, the disclosure arrow points right.
	//
	ArrowClosed string `json:"arrowClosed,omitempty"`
	// A CSS color value (such as `#DCF851`) that indicates the color of the arrow.
	//
	ArrowColor string `json:"arrowColor,omitempty"`
	// The location of the arrow relative to the collapsible section's label. Possible values are:
	//
	// - `right` (default)
	// - `left`
	//
	ArrowLocation string `json:"arrowLocation,omitempty"`
	// Indicates the direction of the disclosure arrow
	// when the collapsible section is in the open state.
	//
	// One of the following:
	//
	// - `up`: In the open state, the disclosure arrow points up.
	// - `down`: In the open state, the disclosure arrow points down.
	// - `left`: In the open state, the disclosure arrow points left.
	// - `right`: In the open state, the disclosure arrow points right.
	//
	ArrowOpen string `json:"arrowOpen,omitempty"`
	// Indicates the size of the collapsible arrows. Possible values are:
	//
	// - `small`
	// - `large` (default)
	//
	ArrowSize string `json:"arrowSize,omitempty"`
	// The name of the CSS style to be used on collapsible arrow section.
	//
	ArrowStyle string `json:"arrowStyle,omitempty"`
	// The name of the CSS style to be used for the collapsible container.
	//
	ContainerStyle string `json:"containerStyle,omitempty"`
	// The name of the CSS style to be used for the collapsible container's label.
	LabelStyle string `json:"labelStyle,omitempty"`
	// When **true,** only the arrow is clickable to expand or collapse the section.
	// When **false** (the default), both the label and the arrow are clickable.
	//
	// If no arrow is used, this setting is ignored.
	//
	OnlyArrowIsClickable Bool `json:"onlyArrowIsClickable,omitempty"`
	// The name of the CSS style to be used for the collapsible container's outer label and arrow style.
	OuterLabelAndArrowStyle string `json:"outerLabelAndArrowStyle,omitempty"`
}

SmartSectionCollapsibleDisplaySettings not described in definition file

type SmartSectionDisplaySettings

type SmartSectionDisplaySettings struct {
	// Specifies the valid CSS-formatted styles to use on responsive table cells. Only valid in display sections of `responsive_table` or `responsive_table_single_column` types.
	CellStyle string `json:"cellStyle,omitempty"`
	// This object defines the appearance and function of a collapsible section or item.
	CollapsibleSettings *SmartSectionCollapsibleDisplaySettings `json:"collapsibleSettings,omitempty"`
	// Indicates the display type. Must be one of the following enum values:
	//
	// - **inline:** Leaves the HTML where it is in the document. This allows for adding a label or presenting on a separate page.
	// - **collapsible:** The HTML in the section may be expanded or collapsed. By default, the section is expanded.
	// - **collapsed:** The HTML in the section may be expanded or collapsed. By default, the section is collapsed.
	// - **responsive_table:** Converts the section into a responsive table. Note that this style is applied only on HTML tables that fall within the `startAnchor` and `endAnchor` positions.
	// - **responsive_table_single_column:** Converts the section into a responsive, single-column table. Note that this style is applied only on HTML tables that fall within the `startAnchor` and `endAnchor` positions. The table is converted to a single column in which each column becomes a row and is stacked.
	// - **print_only:** Prevents this portion of the HTML from displaying in the responsive signing view.
	Display string `json:"display,omitempty"`
	// The label to add to this display section in the signing page.
	//
	DisplayLabel string `json:"displayLabel,omitempty"`
	// The position on the page where the display section appears.
	DisplayOrder int32 `json:"displayOrder,omitempty"`
	// The number of the page on which the display section appears.
	DisplayPageNumber int32 `json:"displayPageNumber,omitempty"`
	// When **true,** the `displayLabel` is hidden when the display section is expanded and the display section is no longer collapsible. This property is valid only when the value of the `display` property is `collapsed`.
	HideLabelWhenOpened Bool `json:"hideLabelWhenOpened,omitempty"`
	// Specifies the valid CSS-formatted styles to use on inline display sections. This property is valid only when the value of the `display` property is `inline`.
	InlineOuterStyle string `json:"inlineOuterStyle,omitempty"`
	// The label for the display section when it is expanded from a collapsed state. This label displays only on the first opening and is only valid with the value of the `display` property is `collapsed`.
	LabelWhenOpened string `json:"labelWhenOpened,omitempty"`
	// Enables you to add descriptive text that appears before a collapsed section or continue button.
	PreLabel string `json:"preLabel,omitempty"`
	// When **true** and the section is expanded,
	// the position of the section-close control
	// scrolls to the top of the screen. This property is only valid when the value of the `display` property is `collapsed`.
	//
	ScrollToTopWhenOpened bool `json:"scrollToTopWhenOpened,omitempty"`
	// Specifies the valid CSS-formatted styles to use on responsive tables. This property is valid only when the value of the `display` property is `responsive_table` or `responsive_table_single_column`.
	TableStyle string `json:"tableStyle,omitempty"`
}

SmartSectionDisplaySettings these properties define how a Smart Section displays. A Smart Section is a type of display section.

type SocialAccountInformation

type SocialAccountInformation struct {
	// The users email address.
	Email string `json:"email,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The social account provider (Facebook, Yahoo, etc.)
	Provider string `json:"provider,omitempty"`
	// The ID provided by the Socal Account.
	SocialID string `json:"socialId,omitempty"`
	// The full user name for the account.
	UserName string `json:"userName,omitempty"`
}

SocialAccountInformation not described in definition file

type SocialAuthentication

type SocialAuthentication struct {
	// Reserved for DocuSign.
	Authentication string `json:"authentication,omitempty"`
}

SocialAuthentication not described in definition file

type Ssn4InformationInput

type Ssn4InformationInput struct {
	// Specifies the display level for the recipient. Valid values are:
	// * `ReadOnly`
	// * `Editable`
	// * `DoNotDisplay`
	DisplayLevelCode string `json:"displayLevelCode,omitempty"`
	// A Boolean value that specifies whether the information must be returned in the response.
	ReceiveInResponse Bool `json:"receiveInResponse,omitempty"`
	// The last four digits of the recipient's Social Security Number (SSN).
	Ssn4 string `json:"ssn4,omitempty"`
}

Ssn4InformationInput not described in definition file

type Ssn9InformationInput

type Ssn9InformationInput struct {
	// Specifies the display level for the recipient. Valid values are:
	// * `ReadOnly`
	// * `Editable`
	// * `DoNotDisplay`
	DisplayLevelCode string `json:"displayLevelCode,omitempty"`
	// The recipient's full Social Security Number (SSN).
	Ssn9 string `json:"ssn9,omitempty"`
}

Ssn9InformationInput not described in definition file

type Stamp added in v0.10.0

type Stamp struct {
	// The UTC date and time when the user adopted the signature.
	AdoptedDateTime string `json:"adoptedDateTime,omitempty"`
	// The UTC DateTime when the item was created.
	CreatedDateTime string `json:"createdDateTime,omitempty"`
	//
	CustomField string `json:"customField,omitempty"`
	// Specifies the area in which a date stamp is placed. This parameter uses pixel positioning to draw a rectangle at the center of the stamp area. The stamp is superimposed on top of this central area.
	//
	// This property contains the following information about the central rectangle:
	//
	// - `DateAreaX`: The X axis position of the top-left corner.
	// - `DateAreaY`: The Y axis position of the top-left corner.
	// - `DateAreaWidth`: The width of the rectangle.
	// - `DateAreaHeight`: The height of the rectangle.
	DateStampProperties *DateStampProperties `json:"dateStampProperties,omitempty"`
	// When **true,** users may not resize the stamp.
	DisallowUserResizeStamp Bool `json:"disallowUserResizeStamp,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Optionally specify an external identifier for the user's signature.
	ExternalID string `json:"externalID,omitempty"`
	//
	ImageBase64 string `json:"imageBase64,omitempty"`
	// Specificies the type of image. Valid values are:
	//
	// - `signature_image`
	// - `initials_image`
	ImageType string `json:"imageType,omitempty"`
	// The date and time that the item was last modified.
	LastModifiedDateTime string `json:"lastModifiedDateTime,omitempty"`
	// The phonetic spelling of the `signatureName`.
	PhoneticName string `json:"phoneticName,omitempty"`
	// Specifies the user's signature name.
	SignatureName string `json:"signatureName,omitempty"`
	// The format of a stamp. Valid values are:
	//
	// - `NameHanko`: The stamp represents only the signer's name.
	// - `NameDateHanko`: The stamp represents the signer's name and the date.
	StampFormat string `json:"stampFormat,omitempty"`
	// The URI for retrieving the image of the user's stamp.
	StampImageURI string `json:"stampImageUri,omitempty"`
	// The physical height of the stamp image (in millimeters) that the stamp vendor recommends for displaying the image in PDF documents.
	StampSizeMM string `json:"stampSizeMM,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * sent - The envelope is sent to the recipients.
	// * created - The envelope is saved as a draft and can be modified and sent later.
	Status string `json:"status,omitempty"`
}

Stamp not described in definition file

type SupportedLanguages

type SupportedLanguages struct {
	// A list of languages that you can use for a recipient's language setting. These are the languages that you can set for the standard email format and signing view for each recipient.
	//
	// For example, in the recipient's email notification, this setting affects elements such as the standard introductory text describing the request to sign. It also determines the language used for buttons and tabs in both the email notification and the signing experience.
	//
	// **Note:** Setting a language for a recipient affects only the DocuSign standard text. Any custom text that you enter for the `emailBody` and `emailSubject` of the notification is not translated, and appears exactly as you enter it.
	//
	// Example:
	//
	// “`
	// {
	//     "languages": [
	//         {
	//             "name": "Arabic (ar)",
	//             "value": "ar"
	//         },
	//         {
	//             "name": "Bulgarian (bg)",
	//             "value": "bg"
	//         },
	//         .
	//         .
	//         .
	// }
	// “`
	Languages []NameValue `json:"languages,omitempty"`
}

SupportedLanguages is a list of supported languages.

type TabAccountSettings

type TabAccountSettings struct {
	// When **true,** account users can set a tab order for the signing process.
	//
	// **Note:** Only Admin users can change this setting.
	AllowTabOrder Bool `json:"allowTabOrder,omitempty"`
	// Metadata that indicates whether the `allowTabOrder` property is editable.
	//
	AllowTabOrderMetadata *SettingsMetadata `json:"allowTabOrderMetadata,omitempty"`
	// When **true,** approve and decline tabs are enabled.
	ApproveDeclineTabsEnabled Bool `json:"approveDeclineTabsEnabled,omitempty"`
	// Metadata that indicates whether the `approveDeclineTabs` property is editable.
	//
	ApproveDeclineTabsMetadata *SettingsMetadata `json:"approveDeclineTabsMetadata,omitempty"`
	// When **true,** [calculated fields](https://support.docusign.com/en/guides/ndse-user-guide-calculated-fields) are enabled for tabs.
	CalculatedFieldsEnabled Bool `json:"calculatedFieldsEnabled,omitempty"`
	// Metadata that indicates whether the `calculatedFields` property is editable.
	//
	CalculatedFieldsMetadata *SettingsMetadata `json:"calculatedFieldsMetadata,omitempty"`
	// Metadata that indicates whether the `checkBoxTabs` property is editable.
	CheckBoxTabsMetadata *SettingsMetadata `json:"checkBoxTabsMetadata,omitempty"`
	// When **true,** checkbox tabs are enabled.
	CheckboxTabsEnabled Bool `json:"checkboxTabsEnabled,omitempty"`
	//
	CurrencyTabsEnabled string `json:"currencyTabsEnabled,omitempty"`
	//
	CurrencyTabsMetadata *SettingsMetadata `json:"currencyTabsMetadata,omitempty"`
	// When **true,** regular expressions are enabled for tabs that contain data fields.
	DataFieldRegexEnabled Bool `json:"dataFieldRegexEnabled,omitempty"`
	// Metadata that indicates whether the `dataFieldRegex` property is editable.
	//
	DataFieldRegexMetadata *SettingsMetadata `json:"dataFieldRegexMetadata,omitempty"`
	// When **true,** setting character limits for input fields is enabled.
	DataFieldSizeEnabled Bool `json:"dataFieldSizeEnabled,omitempty"`
	// Metadata that indicates whether the `dataFieldSize` property is editable.
	//
	DataFieldSizeMetadata *SettingsMetadata `json:"dataFieldSizeMetadata,omitempty"`
	//
	DrawTabsEnabled string `json:"drawTabsEnabled,omitempty"`
	//
	DrawTabsMetadata *SettingsMetadata `json:"drawTabsMetadata,omitempty"`
	// Reserved for DocuSign.
	FirstLastEmailTabsEnabled Bool `json:"firstLastEmailTabsEnabled,omitempty"`
	// Reserved for DocuSign.
	FirstLastEmailTabsMetadata *SettingsMetadata `json:"firstLastEmailTabsMetadata,omitempty"`
	// When **true,** list tabs are enabled.
	ListTabsEnabled Bool `json:"listTabsEnabled,omitempty"`
	// Metadata that indicates whether the `listTabs` property is editable.
	//
	ListTabsMetadata *SettingsMetadata `json:"listTabsMetadata,omitempty"`
	// When **true,** note tabs are enabled.
	NoteTabsEnabled Bool `json:"noteTabsEnabled,omitempty"`
	// Metadata that indicates whether the `noteTabs` property is editable.
	//
	NoteTabsMetadata *SettingsMetadata `json:"noteTabsMetadata,omitempty"`
	//
	PrefillTabsEnabled string `json:"prefillTabsEnabled,omitempty"`
	//
	PrefillTabsMetadata *SettingsMetadata `json:"prefillTabsMetadata,omitempty"`
	// When **true,** radio button tabs are enabled.
	RadioTabsEnabled Bool `json:"radioTabsEnabled,omitempty"`
	// Metadata that indicates whether the `radioTabs` property is editable.
	//
	RadioTabsMetadata *SettingsMetadata `json:"radioTabsMetadata,omitempty"`
	// When **true,** saving custom tabs is enabled.
	SavingCustomTabsEnabled Bool `json:"savingCustomTabsEnabled,omitempty"`
	// Metadata that indicates whether the `savingCustomTabs` property is editable.
	//
	SavingCustomTabsMetadata *SettingsMetadata `json:"savingCustomTabsMetadata,omitempty"`
	// Reserved for DocuSign.
	SenderToChangeTabAssignmentsEnabled Bool `json:"senderToChangeTabAssignmentsEnabled,omitempty"`
	// Reserved for DocuSign.
	SenderToChangeTabAssignmentsMetadata *SettingsMetadata `json:"senderToChangeTabAssignmentsMetadata,omitempty"`
	// When **true,** shared custom tabs are enabled.
	SharedCustomTabsEnabled Bool `json:"sharedCustomTabsEnabled,omitempty"`
	// Metadata that indicates whether the `sharedCustomTabs` property is editable.
	//
	SharedCustomTabsMetadata *SettingsMetadata `json:"sharedCustomTabsMetadata,omitempty"`
	// When **true,** [data
	// labels](https://support.docusign.com/en/videos/Data-Labels) are enabled.
	//
	// **Note:** Only Admin users can change this setting.
	//
	TabDataLabelEnabled Bool `json:"tabDataLabelEnabled,omitempty"`
	// Metadata that indicates whether the `tabDataLabel` property is editable.
	//
	TabDataLabelMetadata *SettingsMetadata `json:"tabDataLabelMetadata,omitempty"`
	// Reserved for DocuSign.
	TabLocationEnabled Bool `json:"tabLocationEnabled,omitempty"`
	// Reserved for DocuSign.
	TabLocationMetadata *SettingsMetadata `json:"tabLocationMetadata,omitempty"`
	// When **true,** tab locking is enabled.
	//
	// **Note:** Only Admin users can change this setting.
	//
	TabLockingEnabled Bool `json:"tabLockingEnabled,omitempty"`
	// Metadata that indicates whether the `tabLocking` property is editable.
	//
	TabLockingMetadata *SettingsMetadata `json:"tabLockingMetadata,omitempty"`
	// Reserved for DocuSign.
	TabScaleEnabled Bool `json:"tabScaleEnabled,omitempty"`
	// Reserved for DocuSign.
	TabScaleMetadata *SettingsMetadata `json:"tabScaleMetadata,omitempty"`
	// When **true,** text formatting (such as font type, font size,
	// font color, bold, italic, and underline) is enabled for tabs that
	// support formatting.
	//
	// **Note:** Only Admin users can change this setting.
	//
	TabTextFormattingEnabled Bool `json:"tabTextFormattingEnabled,omitempty"`
	// Metadata that indicates whether the `tabTextFormatting` property is editable.
	//
	TabTextFormattingMetadata *SettingsMetadata `json:"tabTextFormattingMetadata,omitempty"`
	// When **true,** text tabs are enabled.
	TextTabsEnabled Bool `json:"textTabsEnabled,omitempty"`
	// Metadata that indicates whether the `textTabs` property is editable.
	//
	TextTabsMetadata *SettingsMetadata `json:"textTabsMetadata,omitempty"`
}

TabAccountSettings tab settings determine the tab types and tab functionality that are enabled for an account.

type TabBase

type TabBase struct {
	// For conditional fields this is the `tabLabel` of the parent tab that controls this tab's visibility.
	ConditionalParentLabel string `json:"conditionalParentLabel,omitempty"`
	// Metadata that indicates whether the `conditionalParentLabel` property is editable.
	ConditionalParentLabelMetadata *PropertyMetadata `json:"conditionalParentLabelMetadata,omitempty"`
	// For conditional fields, this is the value of the parent tab that controls the tab's visibility.
	//
	// If the parent tab is a Checkbox, Radio button, Optional Signature, or Optional Initial use "on" as the value to show that the parent tab is active.
	//
	ConditionalParentValue string `json:"conditionalParentValue,omitempty"`
	// Metadata that indicates whether the `conditionalParentValue` property is editable.
	ConditionalParentValueMetadata *PropertyMetadata `json:"conditionalParentValueMetadata,omitempty"`
	// Specifies the document ID number that the tab is placed on. This must refer to an existing Document's ID attribute.
	DocumentID string `json:"documentId,omitempty"`
	// Metadata that indicates whether the `documentId` property is editable.
	DocumentIDMetadata *PropertyMetadata `json:"documentIdMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// Metadata that indicates whether the `recipientId` property is editable.
	RecipientIDMetadata *PropertyMetadata `json:"recipientIdMetadata,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// Metadata that indicates whether the `recipientIdGuid` property is editable.
	RecipientIDGUIDMetadata *PropertyMetadata `json:"recipientIdGuidMetadata,omitempty"`
	// An array of tab groups that this tab belongs to. Tab groups are identified by their `groupLabel` property.
	//
	// To associate this tab with a tab group, add the tab group's `groupLabel` to this array.
	TabGroupLabels []string `json:"tabGroupLabels,omitempty"`
	// Metadata that indicates whether the `tabGroupLabels` property is editable.
	TabGroupLabelsMetadata *PropertyMetadata `json:"tabGroupLabelsMetadata,omitempty"`
	// Indicates the type of tab (for example, `signHere` or `initialHere`).
	TabType string `json:"tabType,omitempty"`
	// Metadata that indicates whether the `tabType` property is editable.
	TabTypeMetadata *PropertyMetadata `json:"tabTypeMetadata,omitempty"`
}

TabBase contains common fields for all tabs

type TabGroup

type TabGroup struct {
	TabBase
	TabGuidedForm
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are placed. When **true,** the text string in a document must match the case of the `anchorString` property for an anchor tab to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the anchor string is `DocuSign`, then `DocuSign` will match but `Docusign`, `docusign`, `DoCuSiGn`, etc. will not match. When **false,** `DocuSign`, `Docusign`, `docusign`, `DoCuSiGn`, etc. will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	AnchorCaseSensitive string `json:"anchorCaseSensitive,omitempty"`
	// Metadata that indicates whether the `anchorCaseSensitive` property is editable.
	AnchorCaseSensitiveMetadata *PropertyMetadata `json:"anchorCaseSensitiveMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are aligned in relation to the anchor text. Possible values are :
	//
	// - `left`: Aligns the left side of the tab with the beginning of the first character of the matching anchor word. This is the default value.
	// - `right`: Aligns the tab’s left side with the last character of the matching anchor word.
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorHorizontalAlignment string `json:"anchorHorizontalAlignment,omitempty"`
	// Metadata that indicates whether the `anchorHorizontalAlignment` property is editable.
	AnchorHorizontalAlignmentMetadata *PropertyMetadata `json:"anchorHorizontalAlignmentMetadata,omitempty"`
	// When **true,** this tab is ignored if the `anchorString` is not found in the document.
	AnchorIgnoreIfNotPresent Bool `json:"anchorIgnoreIfNotPresent,omitempty"`
	// Metadata that indicates whether the `anchorIgnoreIfNotPresent` property is editable.
	AnchorIgnoreIfNotPresentMetadata *PropertyMetadata `json:"anchorIgnoreIfNotPresentMetadata,omitempty"`
	// When **true,** the text string in a document must match the value of the `anchorString` property in its entirety for an [anchor tab][AnchorTab] to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the input is `man` then `man` will match but `manpower`, `fireman`, and `penmanship` will not. When **false,** if the input is `man` then `man`, `manpower`, `fireman`, and `penmanship` will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTab]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorMatchWholeWord Bool `json:"anchorMatchWholeWord,omitempty"`
	// Metadata that indicates whether the `anchorMatchWholeWord` property is editable.
	AnchorMatchWholeWordMetadata *PropertyMetadata `json:"anchorMatchWholeWordMetadata,omitempty"`
	// Specifies the string to find in the document and use as the basis for tab placement.
	AnchorString string `json:"anchorString,omitempty"`
	// Metadata that indicates whether the `anchorString` property is editable.
	AnchorStringMetadata *PropertyMetadata `json:"anchorStringMetadata,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersion string `json:"anchorTabProcessorVersion,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersionMetadata *PropertyMetadata `json:"anchorTabProcessorVersionMetadata,omitempty"`
	// Specifies units of the
	// `anchorXOffset` and
	// `anchorYOffset`.
	// Valid units are:
	//
	// - `pixels`
	// - `inches`
	// - `mms`
	// - `cms`
	//
	AnchorUnits string `json:"anchorUnits,omitempty"`
	// Metadata that indicates whether the `anchorUnits` property is editable.
	AnchorUnitsMetadata *PropertyMetadata `json:"anchorUnitsMetadata,omitempty"`
	// Specifies the X axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorXOffset string `json:"anchorXOffset,omitempty"`
	// Metadata that indicates whether the `anchorXOffset` property is editable.
	AnchorXOffsetMetadata *PropertyMetadata `json:"anchorXOffsetMetadata,omitempty"`
	// Specifies the Y axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorYOffset string `json:"anchorYOffset,omitempty"`
	// Metadata that indicates whether the `anchorYOffset` property is editable.
	AnchorYOffsetMetadata *PropertyMetadata `json:"anchorYOffsetMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
	CustomTabID string `json:"customTabId,omitempty"`
	// Metadata that indicates whether the `customTabId` property is editable.
	CustomTabIDMetadata *PropertyMetadata `json:"customTabIdMetadata,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// A unique identifier for a tab group. To assign a tab to the `tabGroup`, you assign the `TabGroupLabel` to the `tab.TabGroupLabels` array.
	GroupLabel string `json:"groupLabel,omitempty"`
	// Metadata that indicates whether the `groupLabel` property is editable.
	GroupLabelMetadata *PropertyMetadata `json:"groupLabelMetadata,omitempty"`
	// Specifies how `maximumAllowed` and `minimumRequired`
	// are interpreted when selecting tabs in a `tabGroup`.
	//
	// Possible values are:
	//
	// - `SelectAtLeast`
	// - `SelectAtMost`
	// - `SelectExactly`
	// - `SelectARange`
	//
	//
	GroupRule string `json:"groupRule,omitempty"`
	// Metadata that indicates whether the `groupRule` property is editable.
	GroupRuleMetadata *PropertyMetadata `json:"groupRuleMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// The maximum number of tabs within the `tabGroup` that should be checked, populated, or signed. This property is used for validation.
	MaximumAllowed string `json:"maximumAllowed,omitempty"`
	// Metadata that indicates whether the `maximumAllowed` property is editable.
	MaximumAllowedMetadata *PropertyMetadata `json:"maximumAllowedMetadata,omitempty"`
	// Contains the information necessary to map the tab to a field in SalesForce.
	MergeField *MergeField `json:"mergeField,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The minimum number of of tabs within the `tabGroup` that should be checked, populated, or signed. This property is used for validation.
	MinimumRequired string `json:"minimumRequired,omitempty"`
	// Metadata that indicates whether the `minimumRequired` property is editable.
	MinimumRequiredMetadata *PropertyMetadata `json:"minimumRequiredMetadata,omitempty"`
	// Specifies the page number on which the tab is located.
	PageNumber string `json:"pageNumber,omitempty"`
	// Metadata that indicates whether the `pageNumber` property is editable.
	PageNumberMetadata *PropertyMetadata `json:"pageNumberMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// The status of the tab. Possible values are:
	//
	// - `active`: The tab is active, but the recipient has not yet interacted with it.
	// - `signed`: The recipient signed the tab.
	// - `declined`: The recipient declined the envelope.
	// - `na`: Used when the `status` property is not applicable to the tab type. (For example, a tab that has the `tabType` `SignerAttachmentOptional`).
	Status string `json:"status,omitempty"`
	// Metadata that indicates whether the `status` property is editable.
	StatusMetadata *PropertyMetadata `json:"statusMetadata,omitempty"`
	// The unique identifier for the tab.
	TabID string `json:"tabId,omitempty"`
	// Metadata that indicates whether the `tabId` property is editable.
	TabIDMetadata *PropertyMetadata `json:"tabIdMetadata,omitempty"`
	// A positive integer that sets the order the tab is navigated to during signing.
	//
	// Tabs on a page are navigated to in ascending order, starting with the lowest number and moving to the highest. If two or more tabs have the same `tabOrder` value, the normal auto-navigation setting behavior for the envelope is used.
	TabOrder string `json:"tabOrder,omitempty"`
	// Metadata that indicates whether the `tabOrder` property is editable.
	TabOrderMetadata *PropertyMetadata `json:"tabOrderMetadata,omitempty"`
	// The scope of the tab group. Possible values are:
	//
	// - `document`
	// - `envelope` (default)
	TabScope string `json:"tabScope,omitempty"`
	// Metadata that indicates whether the `tabScope` property is editable.
	TabScopeMetadata *PropertyMetadata `json:"tabScopeMetadata,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// Metadata that indicates whether the `templateLocked` property is editable.
	TemplateLockedMetadata *PropertyMetadata `json:"templateLockedMetadata,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// Metadata that indicates whether the `templateRequired` property is editable.
	TemplateRequiredMetadata *PropertyMetadata `json:"templateRequiredMetadata,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The message displayed if the custom tab fails input validation (either custom of embedded).
	ValidationMessage string `json:"validationMessage,omitempty"`
	// Metadata that indicates whether the `validationMessage` property is editable.
	ValidationMessageMetadata *PropertyMetadata `json:"validationMessageMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
	// This property indicates the horizontal offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	XPosition string `json:"xPosition,omitempty"`
	// Metadata that indicates whether the `xPosition` property is editable.
	XPositionMetadata *PropertyMetadata `json:"xPositionMetadata,omitempty"`
	// This property indicates the vertical offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	YPosition string `json:"yPosition,omitempty"`
	// Metadata that indicates whether the `yPosition` property is editable.
	YPositionMetadata *PropertyMetadata `json:"yPositionMetadata,omitempty"`
}

TabGroup not described in definition file

type TabGuidedForm

type TabGuidedForm struct {
	// An integer specifying the order in which the guided form HTML should render. The order is relative to the `formPageLabel`, the group by which to place the guided form HTML block.
	FormOrder string `json:"formOrder,omitempty"`
	// Metadata that indicates whether the `formOrder` property is editable.
	FormOrderMetadata *PropertyMetadata `json:"formOrderMetadata,omitempty"`
	// A string specifying the group in which to place the guided form HTML. Each group displays as a separate guided forms page in the signing experience.
	FormPageLabel string `json:"formPageLabel,omitempty"`
	// Metadata that indicates whether the `formPageLabel` property is editable.
	FormPageLabelMetadata *PropertyMetadata `json:"formPageLabelMetadata,omitempty"`
	// An integer specifying the order in which to present the guided form pages.
	FormPageNumber string `json:"formPageNumber,omitempty"`
	// Metadata that indicates whether the `fromPageNumber` property is editable.
	FormPageNumberMetadata *PropertyMetadata `json:"formPageNumberMetadata,omitempty"`
}

TabGuidedForm contains common fields for all text box tabs

type TabMetadata

type TabMetadata struct {
	// An optional string that is used to auto-match tabs to strings located in the documents of an envelope.
	Anchor string `json:"anchor,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are placed. When **true,** the text string in a document must match the case of the `anchorString` property for an anchor tab to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the anchor string is `DocuSign`, then `DocuSign` will match but `Docusign`, `docusign`, `DoCuSiGn`, etc. will not match. When **false,** `DocuSign`, `Docusign`, `docusign`, `DoCuSiGn`, etc. will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	AnchorCaseSensitive Bool `json:"anchorCaseSensitive,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are aligned in relation to the anchor text. Possible values are :
	//
	// - `left`: Aligns the left side of the tab with the beginning of the first character of the matching anchor word. This is the default value.
	// - `right`: Aligns the tab’s left side with the last character of the matching anchor word.
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorHorizontalAlignment string `json:"anchorHorizontalAlignment,omitempty"`
	// When **true,** this tab is ignored if the `anchorString` is not found in the document.
	AnchorIgnoreIfNotPresent Bool `json:"anchorIgnoreIfNotPresent,omitempty"`
	// When **true,** the text string in a document must match the value of the `anchorString` property in its entirety for an [anchor tab][AnchorTab] to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the input is `man` then `man` will match but `manpower`, `fireman`, and `penmanship` will not. When **false,** if the input is `man` then `man`, `manpower`, `fireman`, and `penmanship` will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTab]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorMatchWholeWord Bool `json:"anchorMatchWholeWord,omitempty"`
	// Specifies units of the
	// `anchorXOffset` and
	// `anchorYOffset`.
	// Valid units are:
	//
	// - `pixels`
	// - `inches`
	// - `mms`
	// - `cms`
	//
	AnchorUnits string `json:"anchorUnits,omitempty"`
	// Specifies the X axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorXOffset string `json:"anchorXOffset,omitempty"`
	// Specifies the Y axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorYOffset string `json:"anchorYOffset,omitempty"`
	// When **true,** the information in the tab is bold.
	Bold Bool `json:"bold,omitempty"`
	//
	Collaborative string `json:"collaborative,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// The user name of the DocuSign user who created this object.
	CreatedByDisplayName string `json:"createdByDisplayName,omitempty"`
	// The userId of the DocuSign user who created this object.
	CreatedByUserID string `json:"createdByUserId,omitempty"`
	// The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
	CustomTabID string `json:"customTabId,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// When **true,** the custom tab is editable. Otherwise the custom tab cannot be modified.
	Editable Bool `json:"editable,omitempty"`
	// The font to be used for the tab value. Supported fonts include:
	//
	// - Default
	// - Arial
	// - ArialNarrow
	// - Calibri
	// - CourierNew
	// - Garamond
	// - Georgia
	// - Helvetica
	// - LucidaConsole
	// - MSGothic
	// - MSMincho
	// - OCR-A
	// - Tahoma
	// - TimesNewRoman
	// - Trebuchet
	// - Verdana
	//
	Font string `json:"font,omitempty"`
	// The font color to use for the information in the tab. Possible values are:
	//
	// - Black
	// - BrightBlue
	// - BrightRed
	// - DarkGreen
	// - DarkRed
	// - Gold
	// - Green
	// - NavyBlue
	// - Purple
	// - White
	//
	FontColor string `json:"fontColor,omitempty"`
	// The font size used for the information in the tab. Possible values are:
	//
	// - Size7
	// - Size8
	// - Size9
	// - Size10
	// - Size11
	// - Size12
	// - Size14
	// - Size16
	// - Size18
	// - Size20
	// - Size22
	// - Size24
	// - Size26
	// - Size28
	// - Size36
	// - Size48
	// - Size72
	FontSize string `json:"fontSize,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// When **true,** the tab is included in e-mails related to the envelope on which it exists. This applies to only specific tabs.
	IncludedInEmail Bool `json:"includedInEmail,omitempty"`
	// The original value of the tab.
	InitialValue string `json:"initialValue,omitempty"`
	// When **true,** the information in the tab is italic.
	Italic Bool `json:"italic,omitempty"`
	// If the tab is a list, this represents the values that are possible for the tab.
	Items []string `json:"items,omitempty"`
	// The UTC DateTime this object was last modified. This is in ISO 8601 format.
	LastModified *time.Time `json:"lastModified,omitempty"`
	// The User Name of the DocuSign user who last modified this object.
	LastModifiedByDisplayName string `json:"lastModifiedByDisplayName,omitempty"`
	// The userId of the DocuSign user who last modified this object.
	LastModifiedByUserID string `json:"lastModifiedByUserId,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	//
	MaxNumericalValue string `json:"maxNumericalValue,omitempty"`
	// The maximum number of entry characters supported by the custom tab.
	MaximumLength string `json:"maximumLength,omitempty"`
	// Contains the information necessary to map the tab to a field in SalesForce.
	MergeField *MergeField `json:"mergeField,omitempty"`
	//
	MinNumericalValue string `json:"minNumericalValue,omitempty"`
	//
	Name string `json:"name,omitempty"`
	//
	NumericalValue string `json:"numericalValue,omitempty"`
	// If the custom tab is for a payment request, this is the external code for the item associated with the charge. For example, this might be your product id.
	//
	// Example: `SHAK1`
	//
	// Maximum Length: 100 characters.
	PaymentItemCode string `json:"paymentItemCode,omitempty"`
	// If the custom tab is for a payment request, this is the description of the item associated with the charge.
	//
	// Example: `The Danish play by Shakespeare`
	//
	// Maximum Length: 100 characters.
	PaymentItemDescription string `json:"paymentItemDescription,omitempty"`
	// If the custom tab is for a payment request, this is the name of the item associated with the charge.
	//
	// Maximum Length: 100 characters.
	//
	// Example: `Hamlet`
	PaymentItemName string `json:"paymentItemName,omitempty"`
	// When **true** and shared is true, information must be entered in this field to complete the envelope.
	RequireAll string `json:"requireAll,omitempty"`
	// Optional element for field markup. When **true,** the signer is required to initial when they modify a shared field.
	RequireInitialOnSharedChange string `json:"requireInitialOnSharedChange,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Sets the size of the tab. This field accepts values from `0.5` to `1.0`, where `1.0` represents full size and `0.5` is 50% of full size.
	ScaleValue string `json:"scaleValue,omitempty"`
	// When **true,** the radio button is selected.
	Selected Bool `json:"selected,omitempty"`
	// When **true,** this custom tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Reserved for DocuSign.
	SignatureProviderID string `json:"signatureProviderId,omitempty"`
	// The type of stamp. Valid values are:
	//
	// - `signature`: A signature image. This is the default value.
	// - `stamp`: A stamp image.
	// - null
	StampType string `json:"stampType,omitempty"`
	// Metadata that indicates whether the `stampType` property is editable.
	StampTypeMetadata *PropertyMetadata `json:"stampTypeMetadata,omitempty"`
	// The label associated with the tab. This value may be an empty string.
	// If no value is provided, the tab type is used as the value.
	//
	// Maximum Length: 500 characters.
	//
	TabLabel string `json:"tabLabel,omitempty"`
	// The type of this tab. Values are: Approve, CheckBox, Company, Date, DateSigned,	Decline, Email,	EmailAddress, EnvelopeId, FirstName, Formula, FullName,	InitialHere, InitialHereOptional, LastName, List, Note, Number,	Radio, SignerAttachment, SignHere, SignHereOptional, Ssn, Text, Title, Zip5, or Zip5Dash4.
	Type string `json:"type,omitempty"`
	// When **true,** the information in the tab is underlined.
	Underline Bool `json:"underline,omitempty"`
	// The message displayed if the custom tab fails input validation (either custom of embedded).
	ValidationMessage string `json:"validationMessage,omitempty"`
	// A regular expression used to validate input for the tab.
	ValidationPattern string `json:"validationPattern,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
}

TabMetadata not described in definition file

type TabMetadataList

type TabMetadataList struct {
	// A list of tabs, which are represented graphically as symbols on documents at the time of signing. Tabs show recipients where to sign, initial, or enter data. They may also display data to the recipients.
	Tabs []TabMetadata `json:"tabs,omitempty"`
}

TabMetadataList not described in definition file

type TabPosition

type TabPosition struct {
	// This property controls how [anchor tabs][AnchorTabs] are placed. When **true,** the text string in a document must match the case of the `anchorString` property for an anchor tab to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the anchor string is `DocuSign`, then `DocuSign` will match but `Docusign`, `docusign`, `DoCuSiGn`, etc. will not match. When **false,** `DocuSign`, `Docusign`, `docusign`, `DoCuSiGn`, etc. will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	AnchorCaseSensitive Bool `json:"anchorCaseSensitive,omitempty"`
	// Metadata that indicates whether the `anchorCaseSensitive` property is editable.
	AnchorCaseSensitiveMetadata *PropertyMetadata `json:"anchorCaseSensitiveMetadata,omitempty"`
	// This property controls how [anchor tabs][AnchorTabs] are aligned in relation to the anchor text. Possible values are :
	//
	// - `left`: Aligns the left side of the tab with the beginning of the first character of the matching anchor word. This is the default value.
	// - `right`: Aligns the tab’s left side with the last character of the matching anchor word.
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTabs]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorHorizontalAlignment string `json:"anchorHorizontalAlignment,omitempty"`
	// Metadata that indicates whether the `anchorHorizontalAlignment` property is editable.
	AnchorHorizontalAlignmentMetadata *PropertyMetadata `json:"anchorHorizontalAlignmentMetadata,omitempty"`
	// When **true,** this tab is ignored if the `anchorString` is not found in the document.
	AnchorIgnoreIfNotPresent Bool `json:"anchorIgnoreIfNotPresent,omitempty"`
	// Metadata that indicates whether the `anchorIgnoreIfNotPresent` property is editable.
	AnchorIgnoreIfNotPresentMetadata *PropertyMetadata `json:"anchorIgnoreIfNotPresentMetadata,omitempty"`
	// When **true,** the text string in a document must match the value of the `anchorString` property in its entirety for an [anchor tab][AnchorTab] to be created. The default value is **false.**
	//
	// For example, when set to **true,** if the input is `man` then `man` will match but `manpower`, `fireman`, and `penmanship` will not. When **false,** if the input is `man` then `man`, `manpower`, `fireman`, and `penmanship` will all match.
	//
	// This functionality uses the following rules:
	//
	// - Unless punctuation is specified in the `anchorString`, this functionality ignores punctuation and the following characters:
	//
	//   $~><|^+=
	//
	//   For example, the `anchorString` `water` will match on the string `Fetch a pail of water.`
	//
	// - Strings embedded in other strings are ignored during the matching process.
	//
	// - In words that have dashes, the parts separated by dashes are treated as distinct words.
	//
	//   Example: If the anchor string is `forget`, then an anchor tab is placed on the `forget` in `forget-me-not`, even when `anchorMatchWholeWord` is set to **true.**
	//
	// - Letters with accent marks are treated as distinct characters from their unaccented counterparts.
	//
	// - For single-character anchor strings, if the two characters appear right next to each other in the document, a single anchor tab is placed for both of them.
	//
	//   Example: If the anchor string is `i`, then only one anchor tab is placed in `skiing`.
	//
	// - Unlike punctuation, numbers are not ignored when finding anchor words.
	//
	//   Example: If the anchor string is `cat`, then `-cat-` is matched but `1cat2` is not when `anchorMatchWholeWord` is set to **true** (its default value).
	//
	//
	// **Note:** You can only specify the value of this property in POST requests.
	//
	// [AnchorTab]: /docs/esign-rest-api/esign101/concepts/tabs/auto-place/
	//
	AnchorMatchWholeWord Bool `json:"anchorMatchWholeWord,omitempty"`
	// Metadata that indicates whether the `anchorMatchWholeWord` property is editable.
	AnchorMatchWholeWordMetadata *PropertyMetadata `json:"anchorMatchWholeWordMetadata,omitempty"`
	// Specifies the string to find in the document and use as the basis for tab placement.
	AnchorString string `json:"anchorString,omitempty"`
	// Metadata that indicates whether the `anchorString` property is editable.
	AnchorStringMetadata *PropertyMetadata `json:"anchorStringMetadata,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersion string `json:"anchorTabProcessorVersion,omitempty"`
	// Reserved for DocuSign.
	AnchorTabProcessorVersionMetadata *PropertyMetadata `json:"anchorTabProcessorVersionMetadata,omitempty"`
	// Specifies units of the
	// `anchorXOffset` and
	// `anchorYOffset`.
	// Valid units are:
	//
	// - `pixels`
	// - `inches`
	// - `mms`
	// - `cms`
	//
	AnchorUnits string `json:"anchorUnits,omitempty"`
	// Metadata that indicates whether the `anchorUnits` property is editable.
	AnchorUnitsMetadata *PropertyMetadata `json:"anchorUnitsMetadata,omitempty"`
	// Specifies the X axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorXOffset string `json:"anchorXOffset,omitempty"`
	// Metadata that indicates whether the `anchorXOffset` property is editable.
	AnchorXOffsetMetadata *PropertyMetadata `json:"anchorXOffsetMetadata,omitempty"`
	// Specifies the Y axis location of the tab in `anchorUnits` relative to the `anchorString`.
	//
	AnchorYOffset string `json:"anchorYOffset,omitempty"`
	// Metadata that indicates whether the `anchorYOffset` property is editable.
	AnchorYOffsetMetadata *PropertyMetadata `json:"anchorYOffsetMetadata,omitempty"`
	// The DocuSign generated custom tab ID for the custom tab to be applied. This can only be used when adding new tabs for a recipient. When used, the new tab inherits all the custom tab properties.
	CustomTabID string `json:"customTabId,omitempty"`
	// Metadata that indicates whether the `customTabId` property is editable.
	CustomTabIDMetadata *PropertyMetadata `json:"customTabIdMetadata,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Contains the information necessary to map the tab to a field in SalesForce.
	MergeField *MergeField `json:"mergeField,omitempty"`
	// The page number on which the tab is located. For supplemental documents, this value must be `1`.
	PageNumber string `json:"pageNumber,omitempty"`
	// Metadata that indicates whether the `pageNumber` property is editable.
	PageNumberMetadata *PropertyMetadata `json:"pageNumberMetadata,omitempty"`
	// The status of the tab. Possible values are:
	//
	// - `active`: The tab is active, but the recipient has not yet interacted with it.
	// - `signed`: The recipient signed the tab.
	// - `declined`: The recipient declined the envelope.
	// - `na`: Used when the `status` property is not applicable to the tab type. (For example, a tab that has the `tabType` `SignerAttachmentOptional`).
	Status string `json:"status,omitempty"`
	// Metadata that indicates whether the `status` property is editable.
	StatusMetadata *PropertyMetadata `json:"statusMetadata,omitempty"`
	// The unique identifier for the tab.
	TabID string `json:"tabId,omitempty"`
	// Metadata that indicates whether the `tabId` property is editable.
	TabIDMetadata *PropertyMetadata `json:"tabIdMetadata,omitempty"`
	// The label associated with the tab. This value may be an empty string.
	// If no value is provided, the tab type is used as the value.
	//
	// Maximum Length: 500 characters.
	//
	TabLabel string `json:"tabLabel,omitempty"`
	// Metadata that indicates whether the `tabLabel` property is editable.
	TabLabelMetadata *PropertyMetadata `json:"tabLabelMetadata,omitempty"`
	// A positive integer that sets the order the tab is navigated to during signing.
	//
	// Tabs on a page are navigated to in ascending order, starting with the lowest number and moving to the highest. If two or more tabs have the same `tabOrder` value, the normal auto-navigation setting behavior for the envelope is used.
	TabOrder string `json:"tabOrder,omitempty"`
	// Metadata that indicates whether the `tabOrder` property is editable.
	TabOrderMetadata *PropertyMetadata `json:"tabOrderMetadata,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// Metadata that indicates whether the `templateLocked` property is editable.
	TemplateLockedMetadata *PropertyMetadata `json:"templateLockedMetadata,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// Metadata that indicates whether the `templateRequired` property is editable.
	TemplateRequiredMetadata *PropertyMetadata `json:"templateRequiredMetadata,omitempty"`
	// This property indicates the horizontal offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	// To improve the tab's position on the document,
	// DocuSign recommends
	// adjusting `xPosition`
	// and `yPosition`
	// coordinates
	// by (-3, -2)
	//
	XPosition string `json:"xPosition,omitempty"`
	// Metadata that indicates whether the `xPosition` property is editable.
	XPositionMetadata *PropertyMetadata `json:"xPositionMetadata,omitempty"`
	// This property indicates the vertical offset of the object on the page.
	// DocuSign uses 72 DPI when determining position.
	// Required. May be zero.
	//
	// To improve the tab's position on the document,
	// DocuSign recommends
	// adjusting `xPosition`
	// and `yPosition`
	// coordinates
	// by (-3, -2)
	//
	YPosition string `json:"yPosition,omitempty"`
	// Metadata that indicates whether the `yPosition` property is editable.
	YPositionMetadata *PropertyMetadata `json:"yPositionMetadata,omitempty"`
}

TabPosition contains common fields for all tabs that can position themselves on document

type TabStyle

type TabStyle struct {
	// When **true,** the information in the tab is bold.
	Bold Bool `json:"bold,omitempty"`
	// Metadata that indicates whether the `bold` property is editable.
	BoldMetadata *PropertyMetadata `json:"boldMetadata,omitempty"`
	// The font to be used for the tab value. Supported fonts include:
	//
	// - Default
	// - Arial
	// - ArialNarrow
	// - Calibri
	// - CourierNew
	// - Garamond
	// - Georgia
	// - Helvetica
	// - LucidaConsole
	// - MSGothic
	// - MSMincho
	// - OCR-A
	// - Tahoma
	// - TimesNewRoman
	// - Trebuchet
	// - Verdana
	//
	Font string `json:"font,omitempty"`
	// Metadata that indicates whether the `font` property is editable.
	FontMetadata *PropertyMetadata `json:"fontMetadata,omitempty"`
	// The font color to use for the information in the tab. Possible values are:
	//
	// - Black
	// - BrightBlue
	// - BrightRed
	// - DarkGreen
	// - DarkRed
	// - Gold
	// - Green
	// - NavyBlue
	// - Purple
	// - White
	//
	FontColor string `json:"fontColor,omitempty"`
	// Metadata that indicates whether the `fontColor` property is editable.
	FontColorMetadata *PropertyMetadata `json:"fontColorMetadata,omitempty"`
	// The font size used for the information in the tab. Possible values are:
	//
	// - Size7
	// - Size8
	// - Size9
	// - Size10
	// - Size11
	// - Size12
	// - Size14
	// - Size16
	// - Size18
	// - Size20
	// - Size22
	// - Size24
	// - Size26
	// - Size28
	// - Size36
	// - Size48
	// - Size72
	FontSize string `json:"fontSize,omitempty"`
	// Metadata that indicates whether the `fontSize` property is editable.
	FontSizeMetadata *PropertyMetadata `json:"fontSizeMetadata,omitempty"`
	// When **true,** the information in the tab is italic.
	Italic Bool `json:"italic,omitempty"`
	// Metadata that indicates whether the `italic` property is editable.
	ItalicMetadata *PropertyMetadata `json:"italicMetadata,omitempty"`
	// The name of the tab. For example, `Sign Here` or `Initial Here`.
	//
	// If the `tooltip` attribute is not set, this value will be displayed as the custom tooltip text.
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	// When **true,** the information in the tab is underlined.
	Underline Bool `json:"underline,omitempty"`
	// Metadata that indicates whether the `underline` property is editable.
	UnderlineMetadata *PropertyMetadata `json:"underlineMetadata,omitempty"`
}

TabStyle contains common fields for all tabs that can set a display style

type TabValue

type TabValue struct {
	// Specifies the value of the tab.
	Value string `json:"value,omitempty"`
	// Metadata that indicates whether the `value` property is editable.
	ValueMetadata *PropertyMetadata `json:"valueMetadata,omitempty"`
}

TabValue add Value() func to tab

type Tabs

type Tabs struct {
	// A list of
	// [Approve tabs][approve].
	//
	// An Approve tab enables
	// the recipient to approve documents without
	// placing a signature or initials on the document. If the
	// recipient clicks the tab during the signing process, the
	// recipient is considered to have signed the document. No
	// information is shown on the document of the approval, but it
	// is recorded as a signature in the envelope history.
	// The value of an approve tab can't be set.
	//
	// [approve]:		      /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	ApproveTabs []Approve `json:"approveTabs,omitempty"`
	// A list of
	// [Checkbox tabs][checkbox].
	//
	//
	// A Checkbox tab enables the recipient to select a yes/no (on/off) option. This value can be set.
	//
	//
	// [checkbox]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	CheckboxTabs []Checkbox `json:"checkboxTabs,omitempty"`
	// An array of tabs that represents a collection of comments in a comment thread. For example, if a recipient has questions about the content of a document, they can add a comment to the document and control who else can see the comment. This value can't be set.
	CommentThreadTabs []CommentThread `json:"commentThreadTabs,omitempty"`
	// A list of
	// [Commission County tabs][cc].
	//
	//
	// A Commission County tab displays the county of a notary's commission. This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary]. The tab's value can be edited by the recipient.
	//
	//
	// [cc]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	// [notary]: /docs/notary-api/
	CommissionCountyTabs []CommissionCounty `json:"commissionCountyTabs,omitempty"`
	// A list of
	// [Commission Expiration tabs][tabref].
	//
	//
	// A Commission Expiration tab displays the expiration date of a notary's commission. This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary]. The tab's value can be edited by the recipient.
	//
	//
	// [tabref]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	// [notary]: /docs/notary-api/
	CommissionExpirationTabs []CommissionExpiration `json:"commissionExpirationTabs,omitempty"`
	// A list of
	// [Commission Number tabs][tabref].
	//
	//
	// A Commission Number tab displays a notary's commission number. This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary]. The tab's value can be edited by the recipient.
	//
	//
	// [tabref]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	// [notary]: /docs/notary-api/
	CommissionNumberTabs []CommissionNumber `json:"commissionNumberTabs,omitempty"`
	// A list of
	// [Commission State tabs][cc].
	//
	//
	// A Commission County tab displays the state in which a notary's commission was granted. This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary]. The tab's value can be edited by the recipient.
	//
	//
	// [cc]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	// [notary]: /docs/notary-api/
	CommissionStateTabs []CommissionState `json:"commissionStateTabs,omitempty"`
	// A list of
	// [Company tabs][company].
	//
	// A Company tab displays a field for the name of the recipient's company. This value can't be set.
	//
	// [company]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#parameters_company
	//
	CompanyTabs []Company `json:"companyTabs,omitempty"`
	//
	CurrencyTabs []Currency `json:"currencyTabs,omitempty"`
	// A list of
	// [Date Signed tabs][dateSigned].
	//
	//
	// A Date Signed tab displays the date that the recipient signed the document. This value can't be set.
	//
	// [dateSigned]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	DateSignedTabs []DateSigned `json:"dateSignedTabs,omitempty"`
	// A list of
	// [Date tabs][date].
	//
	// A Date tab enables the recipient to enter a date. This value can't be set. The tooltip for this tab recommends the date format MM/DD/YYYY, but several other date formats are also accepted. The system retains the format that the recipient enters.
	//
	// **Note:** If you need to enforce a specific date format, DocuSign recommends that you use a Text tab with a validation pattern and validation message.
	//
	//
	// [date]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	DateTabs []Date `json:"dateTabs,omitempty"`
	// A list of
	// [Decline tabs][decline].
	//
	// A Decline tab enables the recipient to decline the envelope. If the recipient clicks the tab during the signing process, the envelope is voided. The value of this tab can't be set.
	//
	//
	// [decline]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	DeclineTabs []Decline `json:"declineTabs,omitempty"`
	// A list of Draw Tabs.
	//
	// A Draw Tab allows the recipient to add a free-form drawing to the document.
	DrawTabs []Draw `json:"drawTabs,omitempty"`
	// A list of
	// [Email Address tabs][emailAddress].
	//
	// An Email Address tab displays the recipient's email as entered in the recipient information. This value can't be set.
	//
	//
	// [emailAddress]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	EmailAddressTabs []EmailAddress `json:"emailAddressTabs,omitempty"`
	// A list of
	// [Email tabs][email].
	//
	// An Email tab enables the recipient to enter an email address.
	// This is a one-line field that checks that a valid email
	// address is entered. It uses the same parameters as a Text
	// tab, with the validation message and pattern set for email
	// information. This value can be set.
	//
	// When getting information that includes
	// this tab type, the original value of the tab when the
	// associated envelope was sent is included in the response.
	//
	// [email]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	EmailTabs []Email `json:"emailTabs,omitempty"`
	// A list of
	// [Envelope ID tabs][envelopeId].
	//
	// An Envelope ID tab  displays the envelope ID. Recipients cannot enter or change the information in this tab. This value can't be set.
	//
	//
	// [envelopeId]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#response201_envelopeid
	//
	EnvelopeIDTabs []EnvelopeID `json:"envelopeIdTabs,omitempty"`
	// A list of
	// [First Name tabs][firstName].
	//
	// A First Name tab displays the recipient's first name. The system automatically populates this field by splitting the name in the recipient information on spaces. This value can't be set.
	//
	//
	// [firstName]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#parameters_firstname
	//
	FirstNameTabs []FirstName `json:"firstNameTabs,omitempty"`
	// A list of [Formula tabs][formulaTab].
	//
	// The value of a Formula tab is calculated from the values of other number or date tabs in the document. When the recipient completes the underlying fields, the Formula tab calculates and displays the result. This value can be set.
	//
	// The `formula` property of the tab contains the references to the underlying tabs. To learn more about formulas, see [Calculated Fields][calculatedfields].
	//
	// If a Formula tab contains a `paymentDetails` property, the tab is considered a payment item. To learn more about payments, see [Requesting Payments Along with Signatures][paymentguide].
	//
	// [calculatedfields]: https://support.docusign.com/en/guides/ndse-user-guide-calculated-fields
	// [paymentguide]:     https://support.docusign.com/en/guides/requesting-payments-along-with-signatures
	// [formulaTab]:	    	/docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	FormulaTabs []FormulaTab `json:"formulaTabs,omitempty"`
	// A list of
	// [Full Name tabs][fullName].
	//
	// A Full Name tab displays the recipient's full name. This value can't be set.
	//
	//
	// [fullName]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	FullNameTabs []FullName `json:"fullNameTabs,omitempty"`
	// A list of
	// [Initial Here tabs][initialHere].
	//
	// This type of tab enables the recipient to initial the document. May be optional. This value can't be set.
	//
	// [initialHere]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	InitialHereTabs []InitialHere `json:"initialHereTabs,omitempty"`
	// A list of
	// [Last Name tabs][lastName].
	//
	// A Last Name tab displays the recipient's last name. The system automatically populates this field by splitting the name in the recipient information on spaces. This value can't be set.
	//
	//
	// [lastName]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	LastNameTabs []LastName `json:"lastNameTabs,omitempty"`
	// An array of List tabs.
	//
	// A List tab enables the recipient to choose from a list of options. You specify the options in the `listItems` property. This value can't be set.
	//
	// Find descriptions of all tab types in
	// the [EnvelopeRecipientTabs Resource][ert].
	//
	// [ert]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	ListTabs []List `json:"listTabs,omitempty"`
	// A list of  [Notarize tabs][notarize].
	//
	// A Notarize tab alerts notary recipients that they must take action on the page. This value can be set.
	//
	// **Note:** Only one notarize tab can appear on a page.
	//
	// [notarize]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	NotarizeTabs []Notarize `json:"notarizeTabs,omitempty"`
	// A list of Notary Seal tabs.
	//
	// A Notary Seal tab enables the recipient to notarize a document. This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary].
	//
	// [notary]: /docs/notary-api/
	NotarySealTabs []NotarySeal `json:"notarySealTabs,omitempty"`
	// A list of
	// [Note tabs][note].
	//
	// A Note tab displays additional information to the recipient in the form of a note. This value can be set.
	//
	// [note]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	NoteTabs []Note `json:"noteTabs,omitempty"`
	// A list of
	// [Number tabs][number].
	//
	// A Number tab enables the recipient to enter numbers and decimal points (.). This value can be set.
	//
	//
	//
	// [number]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	NumberTabs []Number `json:"numberTabs,omitempty"`
	// A list of
	// [Phone Number tabs][cc].
	//
	//
	// A Phone Number tab enables a recipient to enter a phone number.
	//
	// **Note:** This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary].
	//
	// [cc]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	// [notary]: /docs/notary-api/
	PhoneNumberTabs []PhoneNumber `json:"phoneNumberTabs,omitempty"`
	// This type of tab enables the recipient to strike through document text. This value can't be set.
	PolyLineOverlayTabs []PolyLineOverlay `json:"polyLineOverlayTabs,omitempty"`
	// Prefill tabs are tabs
	// that the sender can fill in
	// before the envelope is sent.
	// They are sometimes called
	// sender tags or pre-fill fields.
	//
	//
	// [Pre-Fill Your Own Document Fields][app]
	// describes how prefill tabs
	// work in the web application.
	//
	//
	// [Customize your envelopes with pre-fill fields][catblog]
	// shows how to use prefill tabs
	// in your application using the eSignature
	// SDKs.
	//
	// [app]:      https://support.docusign.com/en/guides/ndse-user-guide-prefill-fields
	// [catblog]:  https://www.docusign.com/blog/developers/common-api-tasks-customize-your-envelopes-pre-fill-fields
	PrefillTabs *PrefillTabs `json:"prefillTabs,omitempty"`
	// A list of [Radio Group tabs][radioGroup].
	//
	// A Radio Group tab places a group of radio buttons on a document. The `radios` property is used to add and place the radio
	// buttons associated with the group. Only one radio button can be selected in a group. This value can be set.
	//
	//
	// [radioGroup]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	RadioGroupTabs []RadioGroup `json:"radioGroupTabs,omitempty"`
	// A list of
	// [Sign Here tabs][signHere].
	//
	// This type of tab enables the recipient to sign a document. May be optional. This value can't be set.
	//
	// [signHere]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	SignHereTabs []SignHere `json:"signHereTabs,omitempty"`
	// A list of
	// [Signer Attachment tabs][signerAttachment].
	//
	// This type of tab enables the recipient to attach supporting documents to an envelope. This value can't be set.
	//
	//
	// [signerAttachment]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	SignerAttachmentTabs []SignerAttachment `json:"signerAttachmentTabs,omitempty"`
	// A list of [Smart Section](https://www.docusign.com/blog/dsdev-deep-dive-responsive-smart-sections) tabs.
	//
	// Smart Section tabs enhance responsive signing on mobile devices by enabling collapsible sections, page breaks, custom formatting options, and other advanced functionality.
	//
	// **Note:** Smart Sections are a premium feature. Responsive signing must also be enabled for your account.
	SmartSectionTabs []SmartSection `json:"smartSectionTabs,omitempty"`
	// A list of
	// [SSN tabs][ssn].
	//
	// An SSN tab contains a one-line field that enables the recipient to enter a Social Security Number (SSN) with or without
	// dashes. It uses the same parameters as a Text tab, with the validation message and pattern set for SSN information. This value can be set.
	//
	//
	// [ssn]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	SSNTabs []SSN `json:"ssnTabs,omitempty"`
	// An array of `tabGroup` items.
	//
	// To associate a tab with a tab group, add the tab group's `groupLabel` to the tab's `tabGroupLabels` array.
	//
	TabGroups []TabGroup `json:"tabGroups,omitempty"`
	// A list of
	// Text tabs.
	//
	// A text tab enables the recipient to enter free text. This value can be set.
	//
	// Find descriptions of all tab types in
	// the [EnvelopeRecipientTabs Resource][ert].
	//
	// [ert]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	TextTabs []Text `json:"textTabs,omitempty"`
	// A list of
	// [Title tabs][title].
	//
	// A Title tab displays the recipient's title.  This value can't be set.
	//
	//
	// [title]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	TitleTabs []Title `json:"titleTabs,omitempty"`
	// A list of
	// [View tabs][view].
	//
	// A View tab is used with an Approve tab to handle supplemental documents.  This value can be set.
	//
	// [view]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	ViewTabs []View `json:"viewTabs,omitempty"`
	// A list of
	// [Zip tabs][zip].
	//
	// A Zip tab enables the recipient to enter a ZIP code. The ZIP code can be five digits or nine digits ( in ZIP+4 format), and can be entered with or without dashes. It uses the same parameters as a Text tab, with the validation message and pattern set for ZIP code information.  This value can be set.
	//
	//
	// [zip]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	ZipTabs []Zip `json:"zipTabs,omitempty"`
}

Tabs all of the tabs associated with a recipient. Each property is a list of a type of tab.

type TemplateCustomFields

type TemplateCustomFields struct {
	// An array of list custom fields.
	ListCustomFields []ListCustomField `json:"listCustomFields,omitempty"`
	// An array of text custom fields.
	TextCustomFields []TextCustomField `json:"textCustomFields,omitempty"`
}

TemplateCustomFields not described in definition file

type TemplateDocumentVisibilityList

type TemplateDocumentVisibilityList struct {
	// An array of `documentVisibility` objects that specifies which documents are visible to which recipients.
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
}

TemplateDocumentVisibilityList document Visibility enables senders to control the visibility of the documents in an envelope at the recipient level. For example, if the parties associated with a legal proceeding should have access to different documents, the Document Visibility feature enables you to keep all of the documents in the same envelope and set view permissions for the documents by recipient. This functionality is enabled for envelopes and templates. It is not available for PowerForms.

**Note:** Before you use Document Visibility, you should be aware of the following information:

- Document Visibility must be enabled for your account by your DocuSign administrator. - A document cannot be hidden from a recipient if the recipient has tabs assigned to them on the document. - When the Document Visibility setting hides a document from a recipient, the document also does not appear in the recipient's list of envelopes, documents, or page images. - Carbon Copy, Certified Delivery (Needs to Sign), Editor, and Agent recipients can always see all of the documents associated with the envelope or template.

The Document Visibility feature has multiple settings that specify the options that senders have when sending documents. For more information, see [Use Document Visibility to Control Recipient Access](https://support.docusign.com/en/guides/ndse-user-guide-document-visibility).

type TemplateDocumentsResult

type TemplateDocumentsResult struct {
	// An array of document objects that contain information about the documents associated with the template.
	TemplateDocuments []EnvelopeDocument `json:"templateDocuments,omitempty"`
	// The ID of the template. If a value is not provided, DocuSign generates a value.
	TemplateID string `json:"templateId,omitempty"`
}

TemplateDocumentsResult template documents

type TemplateInformation

type TemplateInformation struct {
	// An array of `templateSummary` objects that contain information about templates.
	Templates []TemplateSummary `json:"templates,omitempty"`
}

TemplateInformation envelope templates

type TemplateMatch

type TemplateMatch struct {
	//
	DocumentEndPage string `json:"documentEndPage,omitempty"`
	//
	DocumentStartPage string `json:"documentStartPage,omitempty"`
	//
	MatchPercentage string `json:"matchPercentage,omitempty"`
}

TemplateMatch not described in definition file

type TemplateNotificationRequest

type TemplateNotificationRequest struct {
	// A complex element that specifies the expiration settings for the envelope.
	Expirations *Expirations `json:"expirations,omitempty"`
	// The user's encrypted password hash.
	Password string `json:"password,omitempty"`
	// A complex element that specifies reminder settings for the envelope.
	Reminders *Reminders `json:"reminders,omitempty"`
	// When **true,** the account default notification settings are used for the envelope, overriding the reminders and expirations settings. When **false,** the reminders and expirations settings specified in this request are used. The default value is **false.**
	UseAccountDefaults Bool `json:"useAccountDefaults,omitempty"`
}

TemplateNotificationRequest not described in definition file

type TemplateRecipients

type TemplateRecipients struct {
	// A list of agent recipients assigned to the documents.
	Agents []Agent `json:"agents,omitempty"`
	// A list of carbon copy recipients assigned to the documents.
	CarbonCopies []CarbonCopy `json:"carbonCopies,omitempty"`
	// A complex type containing information on a recipient the must receive the completed documents for the envelope to be completed, but the recipient does not need to sign, initial, date, or add information to any of the documents.
	CertifiedDeliveries []CertifiedDelivery `json:"certifiedDeliveries,omitempty"`
	// The routing order of the current recipient. If this value equals a particular signer's routing order, it indicates that the envelope has been sent to that recipient, but he or she has not completed the required actions.
	CurrentRoutingOrder string `json:"currentRoutingOrder,omitempty"`
	// A list of users who can edit the envelope.
	Editors []Editor `json:"editors,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Specifies a signer that is in the same physical location as a DocuSign user who will act as a Signing Host for the transaction. The recipient added is the Signing Host and new separate Signer Name field appears after Sign in person is selected.
	InPersonSigners []InPersonSigner `json:"inPersonSigners,omitempty"`
	// Identifies a recipient that can, but is not required to, add name and email information for recipients at the same or subsequent level in the routing order (until subsequent Agents, Editors or Intermediaries recipient types are added).
	Intermediaries []Intermediary `json:"intermediaries,omitempty"`
	// A list of notary recipients on the envelope.
	Notaries []NotaryRecipient `json:"notaries,omitempty"`
	//
	Participants []Participant `json:"participants,omitempty"`
	// The list of recipient event statuses that will trigger Connect to send updates to the url. It can be a two-part list with:
	//
	// * recipientEventStatusCode - The recipient status, this can be Sent, Delivered, Completed, Declined, AuthenticationFailed, and AutoResponded.
	// * includeDocuments - When **true,** the envelope time zone information is included in the message.
	RecipientCount string `json:"recipientCount,omitempty"`
	// Specifies one or more electronic seals to apply on documents. For more information on Electronic Seals , see https://support.docusign.com/en/guides/ndse-user-guide-apply-electronic-seals
	Seals []SealSign `json:"seals,omitempty"`
	// A list of signers on the envelope.
	Signers []Signer `json:"signers,omitempty"`
	// A list of signers who act as witnesses on the envelope.
	Witnesses []Witness `json:"witnesses,omitempty"`
}

TemplateRecipients not described in definition file

type TemplateRole

type TemplateRole struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// An array of additional notification objects.
	AdditionalNotifications []RecipientAdditionalNotification `json:"additionalNotifications,omitempty"`
	// Specifies whether the recipient is embedded or remote.
	//
	// If the `clientUserId` property is not null then the recipient is embedded. Use this field to associate the signer with their userId in your app. Authenticating the user is the responsibility of your app when you use embedded signing.
	//
	// Note: if the `clientUserId` property is set and either `SignerMustHaveAccount` or `SignerMustLoginToSign` property of the account settings is set to  **true,** an error is generated on sending.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// When **true,** this recipient is the default recipient and any tabs generated by the `transformPdfFields` option are mapped to this recipient.
	DefaultRecipient Bool `json:"defaultRecipient,omitempty"`
	// The email address of the person associated with a role name. It is the email address of the person specified in the `name` property.
	//
	// For an in-person signer, this is the email address of the host.
	Email string `json:"email,omitempty"`
	// An optional complex type that sets a specific email subject and body for this recipient's notification email.
	//
	// **Note:** You can set the `emailNotification` property separately for each recipient. If you set the value only for certain recipients, the other recipients will inherit the this value from the top-level `emailSubject` and `emailBlurb`.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	// Specifies a sender-provided valid URL string for redirecting an embedded recipient. When using this option, the embedded recipient still receives an email from DocuSign, just as a remote recipient would. When the document link in the email is clicked the recipient is redirected, through DocuSign, to the supplied URL to complete their actions. When routing to the URL, the sender's system (the server responding to the URL) must request a recipient token to launch a signing session.
	//
	// When `SIGN_AT_DOCUSIGN`, the recipient is directed to an embedded signing or viewing process directly at DocuSign. The signing or viewing action is initiated by the DocuSign system and the transaction activity and Certificate of Completion records will reflect this. In all other ways the process is identical to an embedded signing or viewing operation launched by a partner.
	//
	// It is important to understand that in a typical embedded workflow, the authentication of an embedded recipient is the responsibility of the sending application. DocuSign expects that senders will follow their own processes for establishing the recipient's identity. In this workflow the recipient goes through the sending application before the embedded signing or viewing process is initiated. However, when the sending application sets `EmbeddedRecipientStartURL=SIGN_AT_DOCUSIGN`, the recipient goes directly to the embedded signing or viewing process, bypassing the sending application and any authentication steps the sending application would use. In this case, DocuSign recommends that you use one of the normal DocuSign authentication features (Access Code, Phone Authentication, SMS Authentication, etc.) to verify the identity of the recipient.
	//
	// If the `clientUserId` property is NOT set, and the `embeddedRecipientStartURL` is set, DocuSign will ignore the redirect URL and launch the standard signing process for the email recipient. Information can be appended to the embedded recipient start URL using merge fields. The available merge fields items are: `envelopeId`, `recipientId`, `recipientName`, `recipientEmail`, and `customFields`. The `customFields` property must be set for the recipient or envelope. The merge fields are enclosed in double brackets.
	//
	// *Example*:
	//
	// `http://senderHost/[[mergeField1]]/ beginSigningSession? [[mergeField2]]&[[mergeField3]]`
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// The full legal name of the in-person signer.
	//
	// Maximum Length: 100 characters.
	InPersonSignerName string `json:"inPersonSignerName,omitempty"`
	// Specifies the recipient's name.
	//
	// For an in-person signer, this is the name of the host.
	Name string `json:"name,omitempty"`
	// Describes the recipient phone number.
	PhoneNumber *RecipientPhoneNumber `json:"phoneNumber,omitempty"`
	// The default signature provider is the DocuSign Electronic signature system. This parameter is used to specify one or more Standards Based Signature (digital signature) providers for the signer to use. [More information.](/docs/esign-rest-api/esign101/concepts/standards-based-signatures/)
	RecipientSignatureProviders []RecipientSignatureProvider `json:"recipientSignatureProviders,omitempty"`
	// Optional element. Specifies the role name associated with the recipient.<br/><br/>This property is required when you are working with template recipients.
	RoleName string `json:"roleName,omitempty"`
	// Specifies the routing order of the recipient in the envelope.
	RoutingOrder string `json:"routingOrder,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// A list of tabs, which are represented graphically as symbols on documents at the time of signing. Tabs show recipients where to sign, initial, or enter data. They may also display data to the recipients.
	Tabs *Tabs `json:"tabs,omitempty"`
}

TemplateRole information about a specific role.

type TemplateSharedItem

type TemplateSharedItem struct {
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Information about the user who owns the template.
	Owner *UserInfo `json:"owner,omitempty"`
	// The user's encrypted password hash.
	Password string `json:"password,omitempty"`
	// How the template is shared. One of:
	//
	// - `not_shared`
	// - `shared_to`
	//
	Shared Bool `json:"shared,omitempty"`
	// List of groups that share the template.
	SharedGroups []MemberGroupSharedItem `json:"sharedGroups,omitempty"`
	// List of users that share the template.
	SharedUsers []UserSharedItem `json:"sharedUsers,omitempty"`
	// The unique identifier of the template. If this is not provided, DocuSign will generate a value.
	TemplateID string `json:"templateId,omitempty"`
	// The name of the shared template.
	TemplateName string `json:"templateName,omitempty"`
}

TemplateSharedItem information about shared templates.

type TemplateSummary

type TemplateSummary struct {
	// Reserved for DocuSign.
	Applied string `json:"applied,omitempty"`
	// Specifies the document ID number that the tab is placed on. This must refer to an existing document's ID attribute.
	DocumentID string `json:"documentId,omitempty"`
	// The name of the document.
	DocumentName string `json:"documentName,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The name of the template.
	Name string `json:"name,omitempty"`
	// The unique identifier of the template. If this is not provided, DocuSign will generate a value.
	TemplateID string `json:"templateId,omitempty"`
	//
	TemplateMatch *TemplateMatch `json:"templateMatch,omitempty"`
	// A URI containing the user ID.
	URI string `json:"uri,omitempty"`
}

TemplateSummary summary of a template request.

type TemplateTabs

type TemplateTabs struct {
	// A list of
	// [Approve tabs][approve].
	//
	// An Approve tab enables
	// the recipient to approve documents without
	// placing a signature or initials on the document. If the
	// recipient clicks the tab during the signing process, the
	// recipient is considered to have signed the document. No
	// information is shown on the document of the approval, but it
	// is recorded as a signature in the envelope history.
	// The value of an approve tab can't be set.
	//
	// [approve]:		      /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	ApproveTabs []Approve `json:"approveTabs,omitempty"`
	// A list of
	// [Checkbox tabs][checkbox].
	//
	//
	// A Checkbox tab enables the recipient to select a yes/no (on/off) option. This value can be set.
	//
	//
	// [checkbox]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	CheckboxTabs []Checkbox `json:"checkboxTabs,omitempty"`
	// An array of tabs that represents a collection of comments in a comment thread. For example, if a recipient has questions about the content of a document, they can add a comment to the document and control who else can see the comment. This value can't be set.
	CommentThreadTabs []CommentThread `json:"commentThreadTabs,omitempty"`
	// A list of
	// [Commission County tabs][cc].
	//
	//
	// A Commission County tab displays the county of a notary's commission. This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary]. The tab's value can be edited by the recipient.
	//
	//
	// [cc]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	// [notary]: /docs/notary-api/
	CommissionCountyTabs []CommissionCounty `json:"commissionCountyTabs,omitempty"`
	// A list of
	// [Commission Expiration tabs][tabref].
	//
	//
	// A Commission Expiration tab displays the expiration date of a notary's commission. This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary]. The tab's value can be edited by the recipient.
	//
	//
	// [tabref]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	// [notary]: /docs/notary-api/
	CommissionExpirationTabs []CommissionExpiration `json:"commissionExpirationTabs,omitempty"`
	// A list of
	// [Commission Number tabs][tabref].
	//
	//
	// A Commission Number tab displays a notary's commission number. This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary]. The tab's value can be edited by the recipient.
	//
	//
	// [tabref]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	// [notary]: /docs/notary-api/
	CommissionNumberTabs []CommissionNumber `json:"commissionNumberTabs,omitempty"`
	// A list of
	// [Commission State tabs][cc].
	//
	//
	// A Commission County tab displays the state in which a notary's commission was granted. This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary]. The tab's value can be edited by the recipient.
	//
	//
	// [cc]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	// [notary]: /docs/notary-api/
	CommissionStateTabs []CommissionState `json:"commissionStateTabs,omitempty"`
	// A list of
	// [Company tabs][company].
	//
	// A Company tab displays a field for the name of the recipient's company. This value can't be set.
	//
	// [company]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#parameters_company
	//
	CompanyTabs []Company `json:"companyTabs,omitempty"`
	//
	CurrencyTabs []Currency `json:"currencyTabs,omitempty"`
	// A list of
	// [Date Signed tabs][dateSigned].
	//
	//
	// A Date Signed tab displays the date that the recipient signed the document. This value can't be set.
	//
	// [dateSigned]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	DateSignedTabs []DateSigned `json:"dateSignedTabs,omitempty"`
	// A list of
	// [Date tabs][date].
	//
	// A Date tab enables the recipient to enter a date. This value can't be set. The tooltip for this tab recommends the date format MM/DD/YYYY, but several other date formats are also accepted. The system retains the format that the recipient enters.
	//
	// **Note:** If you need to enforce a specific date format, DocuSign recommends that you use a Text tab with a validation pattern and validation message.
	//
	//
	// [date]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	DateTabs []Date `json:"dateTabs,omitempty"`
	// A list of
	// [Decline tabs][decline].
	//
	// A Decline tab enables the recipient to decline the envelope. If the recipient clicks the tab during the signing process, the envelope is voided. The value of this tab can't be set.
	//
	//
	// [decline]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	DeclineTabs []Decline `json:"declineTabs,omitempty"`
	// A list of Draw Tabs.
	//
	// A Draw Tab allows the recipient to add a free-form drawing to the document.
	DrawTabs []Draw `json:"drawTabs,omitempty"`
	// A list of
	// [Email Address tabs][emailAddress].
	//
	// An Email Address tab displays the recipient's email as entered in the recipient information. This value can't be set.
	//
	//
	// [emailAddress]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	EmailAddressTabs []EmailAddress `json:"emailAddressTabs,omitempty"`
	// A list of
	// [Email tabs][email].
	//
	// An Email tab enables the recipient to enter an email address.
	// This is a one-line field that checks that a valid email
	// address is entered. It uses the same parameters as a Text
	// tab, with the validation message and pattern set for email
	// information. This value can be set.
	//
	// When getting information that includes
	// this tab type, the original value of the tab when the
	// associated envelope was sent is included in the response.
	//
	// [email]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	EmailTabs []Email `json:"emailTabs,omitempty"`
	// A list of
	// [Envelope ID tabs][envelopeId].
	//
	// An Envelope ID tab  displays the envelope ID. Recipients cannot enter or change the information in this tab. This value can't be set.
	//
	//
	// [envelopeId]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#response201_envelopeid
	//
	EnvelopeIDTabs []EnvelopeID `json:"envelopeIdTabs,omitempty"`
	// A list of
	// [First Name tabs][firstName].
	//
	// A First Name tab displays the recipient's first name. The system automatically populates this field by splitting the name in the recipient information on spaces. This value can't be set.
	//
	//
	// [firstName]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/create/#parameters_firstname
	//
	FirstNameTabs []FirstName `json:"firstNameTabs,omitempty"`
	// A list of [Formula tabs][formulaTab].
	//
	// The value of a Formula tab is calculated from the values of other number or date tabs in the document. When the recipient completes the underlying fields, the Formula tab calculates and displays the result. This value can be set.
	//
	// The `formula` property of the tab contains the references to the underlying tabs. To learn more about formulas, see [Calculated Fields][calculatedfields].
	//
	// If a Formula tab contains a `paymentDetails` property, the tab is considered a payment item. To learn more about payments, see [Requesting Payments Along with Signatures][paymentguide].
	//
	// [calculatedfields]: https://support.docusign.com/en/guides/ndse-user-guide-calculated-fields
	// [paymentguide]:     https://support.docusign.com/en/guides/requesting-payments-along-with-signatures
	// [formulaTab]:	    	/docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	FormulaTabs []FormulaTab `json:"formulaTabs,omitempty"`
	// A list of
	// [Full Name tabs][fullName].
	//
	// A Full Name tab displays the recipient's full name. This value can't be set.
	//
	//
	// [fullName]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	FullNameTabs []FullName `json:"fullNameTabs,omitempty"`
	// A list of
	// [Initial Here tabs][initialHere].
	//
	// This type of tab enables the recipient to initial the document. May be optional. This value can't be set.
	//
	// [initialHere]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	InitialHereTabs []InitialHere `json:"initialHereTabs,omitempty"`
	// A list of
	// [Last Name tabs][lastName].
	//
	// A Last Name tab displays the recipient's last name. The system automatically populates this field by splitting the name in the recipient information on spaces. This value can't be set.
	//
	//
	// [lastName]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	LastNameTabs []LastName `json:"lastNameTabs,omitempty"`
	// An array of List tabs.
	//
	// A List tab enables the recipient to choose from a list of options. You specify the options in the `listItems` property. This value can't be set.
	//
	// Find descriptions of all tab types in
	// the [EnvelopeRecipientTabs Resource][ert].
	//
	// [ert]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	ListTabs []List `json:"listTabs,omitempty"`
	// A list of  [Notarize tabs][notarize].
	//
	// A Notarize tab alerts notary recipients that they must take action on the page. This value can be set.
	//
	// **Note:** Only one notarize tab can appear on a page.
	//
	// [notarize]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	NotarizeTabs []Notarize `json:"notarizeTabs,omitempty"`
	// A list of Notary Seal tabs.
	//
	// A Notary Seal tab enables the recipient to notarize a document. This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary].
	//
	// [notary]: /docs/notary-api/
	NotarySealTabs []NotarySeal `json:"notarySealTabs,omitempty"`
	// A list of
	// [Note tabs][note].
	//
	// A Note tab displays additional information to the recipient in the form of a note. This value can be set.
	//
	// [note]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	NoteTabs []Note `json:"noteTabs,omitempty"`
	// A list of
	// [Number tabs][number].
	//
	// A Number tab enables the recipient to enter numbers and decimal points (.). This value can be set.
	//
	//
	//
	// [number]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	NumberTabs []Number `json:"numberTabs,omitempty"`
	// A list of
	// [Phone Number tabs][cc].
	//
	//
	// A Phone Number tab enables a recipient to enter a phone number.
	//
	// **Note:** This tab can only be assigned to a remote notary recipient using [DocuSign Notary][notary].
	//
	// [cc]:  /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	// [notary]: /docs/notary-api/
	PhoneNumberTabs []PhoneNumber `json:"phoneNumberTabs,omitempty"`
	// This type of tab enables the recipient to strike through document text. This value can't be set.
	PolyLineOverlayTabs []PolyLineOverlay `json:"polyLineOverlayTabs,omitempty"`
	// Prefill tabs are tabs
	// that the sender can fill in
	// before the envelope is sent.
	// They are sometimes called
	// sender tags or pre-fill fields.
	//
	//
	// [Pre-Fill Your Own Document Fields][app]
	// describes how prefill tabs
	// work in the web application.
	//
	//
	// [Customize your envelopes with pre-fill fields][catblog]
	// shows how to use prefill tabs
	// in your application using the eSignature
	// SDKs.
	//
	// [app]:      https://support.docusign.com/en/guides/ndse-user-guide-prefill-fields
	// [catblog]:  https://www.docusign.com/blog/developers/common-api-tasks-customize-your-envelopes-pre-fill-fields
	PrefillTabs *PrefillTabs `json:"prefillTabs,omitempty"`
	// A list of [Radio Group tabs][radioGroup].
	//
	// A Radio Group tab places a group of radio buttons on a document. The `radios` property is used to add and place the radio
	// buttons associated with the group. Only one radio button can be selected in a group. This value can be set.
	//
	//
	// [radioGroup]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	RadioGroupTabs []RadioGroup `json:"radioGroupTabs,omitempty"`
	// A list of
	// [Sign Here tabs][signHere].
	//
	// This type of tab enables the recipient to sign a document. May be optional. This value can't be set.
	//
	// [signHere]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	SignHereTabs []SignHere `json:"signHereTabs,omitempty"`
	// A list of
	// [Signer Attachment tabs][signerAttachment].
	//
	// This type of tab enables the recipient to attach supporting documents to an envelope. This value can't be set.
	//
	//
	// [signerAttachment]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	SignerAttachmentTabs []SignerAttachment `json:"signerAttachmentTabs,omitempty"`
	// A list of [Smart Section](https://www.docusign.com/blog/dsdev-deep-dive-responsive-smart-sections) tabs.
	//
	// Smart Section tabs enhance responsive signing on mobile devices by enabling collapsible sections, page breaks, custom formatting options, and other advanced functionality.
	//
	// **Note:** Smart Sections are a premium feature. Responsive signing must also be enabled for your account.
	SmartSectionTabs []SmartSection `json:"smartSectionTabs,omitempty"`
	// A list of
	// [SSN tabs][ssn].
	//
	// An SSN tab contains a one-line field that enables the recipient to enter a Social Security Number (SSN) with or without
	// dashes. It uses the same parameters as a Text tab, with the validation message and pattern set for SSN information. This value can be set.
	//
	//
	// [ssn]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	SSNTabs []SSN `json:"ssnTabs,omitempty"`
	// An array of `tabGroup` items.
	//
	// To associate a tab with a tab group, add the tab group's `groupLabel` to the tab's `tabGroupLabels` array.
	//
	TabGroups []TabGroup `json:"tabGroups,omitempty"`
	// A list of
	// Text tabs.
	//
	// A text tab enables the recipient to enter free text. This value can be set.
	//
	// Find descriptions of all tab types in
	// the [EnvelopeRecipientTabs Resource][ert].
	//
	// [ert]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	TextTabs []Text `json:"textTabs,omitempty"`
	// A list of
	// [Title tabs][title].
	//
	// A Title tab displays the recipient's title.  This value can't be set.
	//
	//
	// [title]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	TitleTabs []Title `json:"titleTabs,omitempty"`
	// A list of
	// [View tabs][view].
	//
	// A View tab is used with an Approve tab to handle supplemental documents.  This value can be set.
	//
	// [view]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	ViewTabs []View `json:"viewTabs,omitempty"`
	// A list of
	// [Zip tabs][zip].
	//
	// A Zip tab enables the recipient to enter a ZIP code. The ZIP code can be five digits or nine digits ( in ZIP+4 format), and can be entered with or without dashes. It uses the same parameters as a Text tab, with the validation message and pattern set for ZIP code information.  This value can be set.
	//
	//
	// [zip]: /docs/esign-rest-api/reference/envelopes/enveloperecipienttabs/
	//
	ZipTabs []Zip `json:"zipTabs,omitempty"`
}

TemplateTabs not described in definition file

type TemplateUpdateSummary

type TemplateUpdateSummary struct {
	// An object that describes the status of the bulk send envelopes.
	BulkEnvelopeStatus *BulkEnvelopeStatus `json:"bulkEnvelopeStatus,omitempty"`
	// The envelope ID of the envelope status that failed to post.
	EnvelopeID string `json:"envelopeId,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	//
	ListCustomFieldUpdateResults []ListCustomField `json:"listCustomFieldUpdateResults,omitempty"`
	// Provides lock information about an envelope that a user has locked.
	LockInformation *LockInformation `json:"lockInformation,omitempty"`
	// Shows the current purge state for the envelope. Valid values:
	//
	// - `unpurged`: There has been no successful request to purge documents.
	// - `documents_queued`: The envelope documents have been added to the purge queue, but have not been purged.
	// - `documents_dequeued`: The envelope documents have been taken out of the purge queue.
	// - `documents_purged`: The envelope documents have been successfully purged.
	// - `documents_and_metadata_queued`: The envelope documents and metadata have been added to the purge queue, but have not yet been purged.
	// - `documents_and_metadata_purged`: The envelope documents and metadata have been successfully purged.
	// - `documents_and_metadata_and_redact_queued`: The envelope documents and metadata have been added to the purge queue, but have not yet been purged, nor has personal information been redacted.
	// - `documents_and_metadata_and_redact_purged`: The envelope documents and metadata have been successfully purged, and personal information has been redacted.
	//
	// **Related topics**
	//
	// - [Purging documents (eSingature Concepts)](/docs/esign-rest-api/esign101/concepts/documents/purging/)
	// - [Purging documents in an envelope (blog post)](https://www.docusign.com/blog/developers/purging-documents-envelope)
	//
	//
	PurgeState string `json:"purgeState,omitempty"`
	// An array of `recipientUpdateResults` objects that contain details about the recipients.
	RecipientUpdateResults []RecipientUpdateResponse `json:"recipientUpdateResults,omitempty"`
	//
	TabUpdateResults *Tabs `json:"tabUpdateResults,omitempty"`
	//
	TextCustomFieldUpdateResults []TextCustomField `json:"textCustomFieldUpdateResults,omitempty"`
}

TemplateUpdateSummary not described in definition file

type Text

type Text struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// Contains the formula
	// for calculating the value of
	// this tab.
	//
	// Use a tab's `tabLabel`,
	// enclosed in brackets,
	// to refer to it.
	//
	// For example,
	// you want to present the total cost
	// of two items, tax included.
	//
	// The cost of each item is stored
	// in number tabs labeled Item1 and Item2.
	// The tax rate is in a number tab
	// labeled TaxRate.
	//
	// The formula string for this property
	// would be:
	// `([Item1] + [Item2]) * (1 + [TaxRate])`
	//
	// See [Calculated Fields][calculatedfields]
	// in the DocuSign Support Center
	// to learn more about formulas.
	//
	// Maximum Length: 2000 characters
	//
	// [calculatedfields]: https://support.docusign.com/en/guides/ndse-user-guide-calculated-fields
	//
	Formula string `json:"formula,omitempty"`
	// Metadata indicating if the sender can edit the `formula` property.
	FormulaMetadata *PropertyMetadata `json:"formulaMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true** and shared is true, information must be entered in this field to complete the envelope.
	RequireAll Bool `json:"requireAll,omitempty"`
	// Metadata that indicates whether the `requireAll` property is editable.
	RequireAllMetadata *PropertyMetadata `json:"requireAllMetadata,omitempty"`
	// Optional element for field markup. When **true,** the signer is required to initial when they modify a shared field.
	RequireInitialOnSharedChange Bool `json:"requireInitialOnSharedChange,omitempty"`
	// Metadata that indicates whether the `requireInitialOnSharedChange` property is editable.
	RequireInitialOnSharedChangeMetadata *PropertyMetadata `json:"requireInitialOnSharedChangeMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// When **true,** the sender must populate the tab before an envelope can be sent using the template.
	//
	// This value tab can only be changed by modifying (PUT) the template.
	//
	// Tabs with a `senderRequired` value of true cannot be deleted from an envelope.
	SenderRequired Bool `json:"senderRequired,omitempty"`
	// Metadata that indicates whether the `senderRequired` property is editable.
	SenderRequiredMetadata *PropertyMetadata `json:"senderRequiredMetadata,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipients string `json:"shareToRecipients,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipientsMetadata *PropertyMetadata `json:"shareToRecipientsMetadata,omitempty"`
	// When **true,** this custom tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The message displayed if the custom tab fails input validation (either custom of embedded).
	ValidationMessage string `json:"validationMessage,omitempty"`
	// Metadata that indicates whether the `validationMessage` property is editable.
	ValidationMessageMetadata *PropertyMetadata `json:"validationMessageMetadata,omitempty"`
	// A regular expression used to validate input for the tab.
	ValidationPattern string `json:"validationPattern,omitempty"`
	// Metadata that indicates whether the `validationPattern` property is editable.
	ValidationPatternMetadata *PropertyMetadata `json:"validationPatternMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

Text is a tab that allows the recipient to enter any type of text.

type TextCustomField

type TextCustomField struct {
	// If you are using merge fields, this property specifies the type of the merge field. The only supported value is `salesforce`.
	ConfigurationType string `json:"configurationType,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The ID of the custom field.
	FieldID string `json:"fieldId,omitempty"`
	// The name of the custom field.
	Name string `json:"name,omitempty"`
	// When **true,** senders are required to enter or select information for the field before they can send the envelope.
	Required Bool `json:"required,omitempty"`
	// When **true,** the field displays in the **Envelope Custom Fields** section when a user creates or sends an envelope.
	Show Bool `json:"show,omitempty"`
	// The value of the custom field. The user who creates or sends the envelope provides this value. Maximum length: 100 characters.
	Value string `json:"value,omitempty"`
}

TextCustomField this object represents a free text custom field where envelope creators and senders can enter custom data.

type Title

type Title struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

Title is a tab that displays the recipient's title.

type UsageHistory

type UsageHistory struct {
	// The date and time the user last sent an envelope.
	LastSentDateTime *time.Time `json:"lastSentDateTime,omitempty"`
	// The date and time the user last signed an envelope.
	LastSignedDateTime *time.Time `json:"lastSignedDateTime,omitempty"`
	// The number of envelopes the user has sent.
	SentCount string `json:"sentCount,omitempty"`
	// The number of envelopes the user has signed.
	SignedCount string `json:"signedCount,omitempty"`
}

UsageHistory is a complex element consisting of:

* lastSentDateTime - the date and time the user last sent an envelope. * lastSignedDateTime - the date and time the user last signed an envelope. * sentCount - the number of envelopes the user has sent. * signedCount - the number of envelopes the user has signed.

type UserAccountManagementGranularInformation

type UserAccountManagementGranularInformation struct {
	// **True** if the user can manage account security settings.
	CanManageAccountSecuritySettings Bool `json:"canManageAccountSecuritySettings,omitempty"`
	//
	CanManageAccountSecuritySettingsMetadata *SettingsMetadata `json:"canManageAccountSecuritySettingsMetadata,omitempty"`
	// **True** if the user can manage account settings.
	CanManageAccountSettings Bool `json:"canManageAccountSettings,omitempty"`
	//
	CanManageAccountSettingsMetadata *SettingsMetadata `json:"canManageAccountSettingsMetadata,omitempty"`
	// **True** if the user can manage administrators.
	CanManageAdmins Bool `json:"canManageAdmins,omitempty"`
	// Metadata that indicates whether the `canManageAdmins` property is editable.
	//
	CanManageAdminsMetadata *SettingsMetadata `json:"canManageAdminsMetadata,omitempty"`
	//
	CanManageConnect string `json:"canManageConnect,omitempty"`
	//
	CanManageConnectMetadata *SettingsMetadata `json:"canManageConnectMetadata,omitempty"`
	//
	CanManageDocumentRetention string `json:"canManageDocumentRetention,omitempty"`
	//
	CanManageDocumentRetentionMetadata *SettingsMetadata `json:"canManageDocumentRetentionMetadata,omitempty"`
	//
	CanManageEnvelopeTransfer string `json:"canManageEnvelopeTransfer,omitempty"`
	//
	CanManageEnvelopeTransferMetadata *SettingsMetadata `json:"canManageEnvelopeTransferMetadata,omitempty"`
	//
	CanManageGroupsButNotUsers string `json:"canManageGroupsButNotUsers,omitempty"`
	//
	CanManageGroupsButNotUsersMetadata *SettingsMetadata `json:"canManageGroupsButNotUsersMetadata,omitempty"`
	// **True** if the user can manage reporting.
	CanManageReporting Bool `json:"canManageReporting,omitempty"`
	//
	CanManageReportingMetadata *SettingsMetadata `json:"canManageReportingMetadata,omitempty"`
	// **True** if the user can manage sharing.
	CanManageSharing Bool `json:"canManageSharing,omitempty"`
	// Metadata that indicates whether the `canManageSharing` property is editable.
	//
	CanManageSharingMetadata *SettingsMetadata `json:"canManageSharingMetadata,omitempty"`
	// **True** if the user can manage signing groups.
	CanManageSigningGroups Bool `json:"canManageSigningGroups,omitempty"`
	//
	CanManageSigningGroupsMetadata *SettingsMetadata `json:"canManageSigningGroupsMetadata,omitempty"`
	//
	CanManageStamps string `json:"canManageStamps,omitempty"`
	//
	CanManageStampsMetadata *SettingsMetadata `json:"canManageStampsMetadata,omitempty"`
	// **True** if the user can manage users.
	CanManageUsers Bool `json:"canManageUsers,omitempty"`
	// Metadata that indicates whether the `canManageUsers` property is editable.
	//
	CanManageUsersMetadata *SettingsMetadata `json:"canManageUsersMetadata,omitempty"`
	//
	CanViewUsers string `json:"canViewUsers,omitempty"`
}

UserAccountManagementGranularInformation describes which account management capabilities a user has.

type UserInfo

type UserInfo struct {
	// The account ID associated with the envelope.
	AccountID string `json:"accountId,omitempty"`
	// The name on the account.
	AccountName string `json:"accountName,omitempty"`
	// Access code provided to the user to activate the account.
	ActivationAccessCode string `json:"activationAccessCode,omitempty"`
	// The user's email address.
	Email string `json:"email,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// When **true,** indicates that the user is logged in. This is a read-only property.
	LoginStatus Bool `json:"loginStatus,omitempty"`
	// The user's membership ID.
	MembershipID string `json:"membershipId,omitempty"`
	// This field is no longer supported for most accounts. To create an eSignature user without sending an activation email, use the Admin API by following [these steps](/docs/admin-api/how-to/create-active-user/).
	SendActivationEmail string `json:"sendActivationEmail,omitempty"`
	// A URI containing the user ID.
	URI string `json:"uri,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
	// The name of the user.
	UserName string `json:"userName,omitempty"`
	// Status of the user's account. One of:
	//
	// - `ActivationRequired`
	// - `ActivationSent`
	// - `Active`
	// - `Closed`
	// - `Disabled`
	//
	UserStatus string `json:"userStatus,omitempty"`
	// The type of user, for example `CompanyUser`.
	UserType string `json:"userType,omitempty"`
}

UserInfo not described in definition file

type UserInfoList

type UserInfoList struct {
	// An array of `userInfo` objects containing information about the users in the group.
	Users []UserInfo `json:"users,omitempty"`
}

UserInfoList not described in definition file

type UserInformation

type UserInformation struct {
	// The activation code a new user must enter when activating their account.
	ActivationAccessCode string `json:"activationAccessCode,omitempty"`
	// The name of the user's company.
	Company string `json:"company,omitempty"`
	// Object representing the user's custom Connect configuration.
	ConnectConfigurations []ConnectUserObject `json:"connectConfigurations,omitempty"`
	//
	CountryCode string `json:"countryCode,omitempty"`
	// The UTC DateTime when the item was created.
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// The name/value pair information for the user custom setting.
	CustomSettings []NameValue `json:"customSettings,omitempty"`
	// The default account ID associated with the user.
	DefaultAccountID string `json:"defaultAccountId,omitempty"`
	// The user's email address.
	Email string `json:"email,omitempty"`
	// Boolean value that specifies whether the user is enabled for updates from DocuSign Connect.
	EnableConnectForUser Bool `json:"enableConnectForUser,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The user's first name.
	// Maximum Length: 50 characters.
	FirstName string `json:"firstName,omitempty"`
	// A complex element containing up to four Question/Answer pairs for forgotten password information.
	ForgottenPasswordInfo *ForgottenPasswordInformation `json:"forgottenPasswordInfo,omitempty"`
	// A list of the group information for groups to add the user to.
	// Use [UserGroups: listGroups](/docs/esign-rest-api/reference/usergroups/groups/list/) to get information about groups.
	//
	// When setting a user's group, only the `groupId` is required.
	//
	GroupList []Group `json:"groupList,omitempty"`
	//
	HasRemoteNotary bool `json:"hasRemoteNotary,omitempty"`
	// The user's physical home address.
	HomeAddress *AddressInformation `json:"homeAddress,omitempty"`
	// The URI for retrieving the image of the user's initials.
	InitialsImageURI string `json:"initialsImageUri,omitempty"`
	// Determines if the feature set is actively set as part of the plan.
	IsAdmin string `json:"isAdmin,omitempty"`
	//
	IsAlternateAdmin string `json:"isAlternateAdmin,omitempty"`
	// When **true,** National Association of Realtors (NAR) signature logos are enabled for the user.
	IsNAREnabled Bool `json:"isNAREnabled,omitempty"`
	// The user's job title.
	JobTitle string `json:"jobTitle,omitempty"`
	// The date and time when the user last logged in to the system.
	LastLogin string `json:"lastLogin,omitempty"`
	// The user's last name.
	// Maximum Length: 50 characters.
	LastName string `json:"lastName,omitempty"`
	// Shows the current status of the user's password. Possible values are:
	//
	// * password_reset
	// * password_active
	// * password_expired
	// * password_locked
	// * password_reset_failed
	//
	LoginStatus string `json:"loginStatus,omitempty"`
	// The user's middle name.
	// Limit: 50 characters.
	MiddleName string `json:"middleName,omitempty"`
	// The user's password.
	Password string `json:"password,omitempty"`
	// If password expiration is enabled, the date-time when the user's password expires.
	PasswordExpiration string `json:"passwordExpiration,omitempty"`
	// The ID of the permission profile associated with the user.
	PermissionProfileID string `json:"permissionProfileId,omitempty"`
	// The name of the permission profile associated with the user.
	PermissionProfileName string `json:"permissionProfileName,omitempty"`
	// The URL for retrieving the user's profile image.
	ProfileImageURI string `json:"profileImageUri,omitempty"`
	// This field is no longer supported for most accounts. To create an eSignature user without sending an activation email, use the Admin API by following [these steps](/docs/admin-api/how-to/create-active-user/).
	SendActivationEmail string `json:"sendActivationEmail,omitempty"`
	// When **true,** specifies that an additional activation email be sent if user's log on fails before the account is activated.
	SendActivationOnInvalidLogin Bool `json:"sendActivationOnInvalidLogin,omitempty"`
	// An endpoint URI that you can use to retrieve the user's signature image.
	SignatureImageURI string `json:"signatureImageUri,omitempty"`
	//
	Subscribe string `json:"subscribe,omitempty"`
	// The suffix for the user's name, such as Jr, IV, PhD, etc.
	//
	// Limit: 50 characters.
	SuffixName string `json:"suffixName,omitempty"`
	// The salutation for the user, such as Ms, Dr, Capt., etc.
	//
	// Limit: 10 characters.
	Title string `json:"title,omitempty"`
	// A URI containing the user ID.
	URI string `json:"uri,omitempty"`
	// The date and time that the user was added to the account.
	UserAddedToAccountDateTime string `json:"userAddedToAccountDateTime,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
	// The user's full name.
	// <!--
	// `title` + `firstName` + `middleName` + `lastName` + `suffixName`
	// -->
	UserName string `json:"userName,omitempty"`
	// The date and time that the user's profile was last modified.
	UserProfileLastModifiedDate string `json:"userProfileLastModifiedDate,omitempty"`
	// The collection of settings representing the actions a user can perform. See [userSettingsInformation](/docs/esign-rest-api/reference/users/users/get/#userSettingsInformation) for available settings.
	UserSettings *UserSettingsInformation `json:"userSettings,omitempty"`
	// Status of the user's account. One of:
	//
	// - `ActivationRequired`
	// - `ActivationSent`
	// - `Active`
	// - `Closed`
	// - `Disabled`
	//
	UserStatus string `json:"userStatus,omitempty"`
	// The type of user, for example `CompanyUser`.
	UserType string `json:"userType,omitempty"`
	// The user's physical work address.
	WorkAddress *AddressInformation `json:"workAddress,omitempty"`
}

UserInformation is the Users resource enables you to create and manage account users.

type UserInformationList

type UserInformationList struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
	// User management information.
	Users []UserInformation `json:"users,omitempty"`
}

UserInformationList contains a list of account users.

type UserPasswordInformation

type UserPasswordInformation struct {
	// The user's current password to be changed.
	CurrentPassword string `json:"currentPassword,omitempty"`
	// The user's email address for the associated account.
	Email string `json:"email,omitempty"`
	// A complex element containing up to four Question/Answer pairs for forgotten password information.
	ForgottenPasswordInfo *ForgottenPasswordInformation `json:"forgottenPasswordInfo,omitempty"`
	// The user's new password.
	NewPassword string `json:"newPassword,omitempty"`
}

UserPasswordInformation not described in definition file

type UserPasswordRules

type UserPasswordRules struct {
	// Contains details about the password rules for the user.
	PasswordRules *AccountPasswordRules `json:"passwordRules,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

UserPasswordRules contains details about the password rules for a user.

type UserProfile

type UserProfile struct {
	// The user's address.
	Address *AddressInformation `json:"address,omitempty"`
	// Indicates the authentication methods that the user uses. These properties cannot be modified by the PUT operation.
	AuthenticationMethods []AuthenticationMethod `json:"authenticationMethods,omitempty"`
	// The name of the user's company.
	CompanyName string `json:"companyName,omitempty"`
	//  When **true,** the user's company and title information display on the ID card.
	DisplayOrganizationInfo Bool `json:"displayOrganizationInfo,omitempty"`
	// When **true,** the user's address and phone number display on the ID card.
	DisplayPersonalInfo Bool `json:"displayPersonalInfo,omitempty"`
	// When **true,** the user's ID card can be viewed from signed documents and envelope history.
	DisplayProfile Bool `json:"displayProfile,omitempty"`
	// When **true,** the user's usage information displays on the ID card.
	DisplayUsageHistory Bool `json:"displayUsageHistory,omitempty"`
	// The URL for retrieving the user's profile image.
	ProfileImageURI string `json:"profileImageUri,omitempty"`
	// The title of the user.
	Title string `json:"title,omitempty"`
	// A complex element consisting of:
	//
	// - `lastSentDateTime`: The date and time the user last sent an envelope.
	// - `lastSignedDateTime`: The date and time the user last signed an envelope.
	// - `sentCount`: The number of envelopes the user has sent.
	// - `signedCount`: The number of envelopes the user has signed.
	//
	UsageHistory *UsageHistory `json:"usageHistory,omitempty"`
	//
	UserDetails *UserInformation `json:"userDetails,omitempty"`
	// The date and time that the user's profile was last modified.
	UserProfileLastModifiedDate string `json:"userProfileLastModifiedDate,omitempty"`
}

UserProfile not described in definition file

type UserSettingsInformation

type UserSettingsInformation struct {
	// Describes which account management capabilities a user has.
	AccountManagementGranular *UserAccountManagementGranularInformation `json:"accountManagementGranular,omitempty"`
	// Reserved for DocuSign.
	AdminOnly string `json:"adminOnly,omitempty"`
	// Reserved for DocuSign.
	AdminOnlyMetadata *SettingsMetadata `json:"adminOnlyMetadata,omitempty"`
	// When **true,** the API returns suggested tabs for documents for this user.
	AllowAutoTagging Bool `json:"allowAutoTagging,omitempty"`
	// When **true,** this user can participate in envelope transfers on the account.
	AllowEnvelopeTransferTo Bool `json:"allowEnvelopeTransferTo,omitempty"`
	// Reserved for DocuSign.
	AllowEnvelopeTransferToMetadata *SettingsMetadata `json:"allowEnvelopeTransferToMetadata,omitempty"`
	// When **true,** this user can create [electronic seal recipients][eseal].
	//
	// [eseal]: /docs/esign-rest-api/reference/envelopes/enveloperecipients/#seal-recipient
	AllowEsealRecipients Bool `json:"allowEsealRecipients,omitempty"`
	// Metadata about the `allowEsealRecipientsMetadata` property.
	AllowEsealRecipientsMetadata *SettingsMetadata `json:"allowEsealRecipientsMetadata,omitempty"`
	// When **true** and this user is an administrator, they can view all of the envelopes generated from PowerForms. The default value is **false.**
	AllowPowerFormsAdminToAccessAllPowerFormEnvelope string `json:"allowPowerFormsAdminToAccessAllPowerFormEnvelope,omitempty"`
	// Metadata about the `allowPowerFormsAdminToAccessAllPowerFormEnvelopeMetadata` property.
	AllowPowerFormsAdminToAccessAllPowerFormEnvelopeMetadata *SettingsMetadata `json:"allowPowerFormsAdminToAccessAllPowerFormEnvelopeMetadata,omitempty"`
	// When **true,** this user can set the language used in the standard email format for a recipient when creating an envelope.
	AllowRecipientLanguageSelection Bool `json:"allowRecipientLanguageSelection,omitempty"`
	// Metadata for allowRecipientLanguageSelection.
	AllowRecipientLanguageSelectionMetadata *SettingsMetadata `json:"allowRecipientLanguageSelectionMetadata,omitempty"`
	// When **true,** this user can send envelopes "on behalf of" other users through the API.
	AllowSendOnBehalfOf Bool `json:"allowSendOnBehalfOf,omitempty"`
	// Metadata for allowSendOnBehalfOf.
	AllowSendOnBehalfOfMetadata *SettingsMetadata `json:"allowSendOnBehalfOfMetadata,omitempty"`
	// When **true,** this user can include supplemental documents.
	AllowSupplementalDocuments Bool `json:"allowSupplementalDocuments,omitempty"`
	// Metadata that indicates whether the `allowSupplementalDocuments` property is editable.
	AllowSupplementalDocumentsMetadata *SettingsMetadata `json:"allowSupplementalDocumentsMetadata,omitempty"`
	// Reserved for DocuSign.
	//
	AnchorTagVersionedPlacementEnabled string `json:"anchorTagVersionedPlacementEnabled,omitempty"`
	// When **true,** indicates that this user can send envelope-specific API requests on the account.
	APIAccountWideAccess Bool `json:"apiAccountWideAccess,omitempty"`
	// Metadata for apiAccountWideAccess.
	APIAccountWideAccessMetadata *SettingsMetadata `json:"apiAccountWideAccessMetadata,omitempty"`
	// When **true,** this user can export authoritative copy for the account.
	APICanExportAC Bool `json:"apiCanExportAC,omitempty"`
	// Metadata about the `apiCanExportACMetadata` property.
	APICanExportACMetadata *SettingsMetadata `json:"apiCanExportACMetadata,omitempty"`
	// When **true,** this user can use the bulk send feature for the account.
	BulkSend Bool `json:"bulkSend,omitempty"`
	// Metadata that indicates whether the `bulkSend` property is editable.
	//
	BulkSendMetadata *SettingsMetadata `json:"bulkSendMetadata,omitempty"`
	// Reserved for DocuSign.
	CanChargeAccount string `json:"canChargeAccount,omitempty"`
	// Reserved for DocuSign.
	CanChargeAccountMetadata *SettingsMetadata `json:"canChargeAccountMetadata,omitempty"`
	// When true, this user can edit the shared address book for the account.
	CanEditSharedAddressbook string `json:"canEditSharedAddressbook,omitempty"`
	// Metadata about the `canEditSharedAddressbookMetadata` property.
	CanEditSharedAddressbookMetadata *SettingsMetadata `json:"canEditSharedAddressbookMetadata,omitempty"`
	// Reserved for DocuSign.
	CanLockEnvelopes string `json:"canLockEnvelopes,omitempty"`
	// Reserved for DocuSign.
	CanLockEnvelopesMetadata *SettingsMetadata `json:"canLockEnvelopesMetadata,omitempty"`
	// When **true,** this user is an administrator for the account.
	CanManageAccount Bool `json:"canManageAccount,omitempty"`
	// Metadata about the `canManageAccountMetadata` property.
	CanManageAccountMetadata *SettingsMetadata `json:"canManageAccountMetadata,omitempty"`
	// Reserved for DocuSign.
	CanManageDistributor string `json:"canManageDistributor,omitempty"`
	// Metadata about the `canManageDistributor` property.
	CanManageDistributorMetadata *SettingsMetadata `json:"canManageDistributorMetadata,omitempty"`
	// When **true,** this user can manage templates for the account.
	CanManageTemplates Bool `json:"canManageTemplates,omitempty"`
	// Metadata about the `canManageTemplates` property.
	CanManageTemplatesMetadata *SettingsMetadata `json:"canManageTemplatesMetadata,omitempty"`
	// When **true,** this user can send API requests on the account.
	CanSendAPIRequests Bool `json:"canSendAPIRequests,omitempty"`
	// Metadata about the `canSendAPIRequests` property.
	CanSendAPIRequestsMetadata *SettingsMetadata `json:"canSendAPIRequestsMetadata,omitempty"`
	// When **true,** this user can send envelopes on the account.
	CanSendEnvelope Bool `json:"canSendEnvelope,omitempty"`
	// Metadata about the `canSendEnvelope` property.
	CanSendEnvelopeMetadata *SettingsMetadata `json:"canSendEnvelopeMetadata,omitempty"`
	//
	CanSendEnvelopesViaSMS string `json:"canSendEnvelopesViaSMS,omitempty"`
	//
	CanSendEnvelopesViaSMSMetadata *SettingsMetadata `json:"canSendEnvelopesViaSMSMetadata,omitempty"`
	// When **true,** this user can sign envelopes.
	CanSignEnvelope Bool `json:"canSignEnvelope,omitempty"`
	// Metadata about the `canSignEnvelope` property.
	CanSignEnvelopeMetadata *SettingsMetadata `json:"canSignEnvelopeMetadata,omitempty"`
	// When **true,** this user can use a scratchpad to edit information.
	CanUseScratchpad Bool `json:"canUseScratchpad,omitempty"`
	// Metadata about the `canUseScratchpad` property.
	CanUseScratchpadMetadata *SettingsMetadata `json:"canUseScratchpadMetadata,omitempty"`
	// Reserved for DocuSign.
	CanUseSmartContracts string `json:"canUseSmartContracts,omitempty"`
	// Reserved for DocuSign.
	CanUseSmartContractsMetadata *SettingsMetadata `json:"canUseSmartContractsMetadata,omitempty"`
	// When **true,** this user is prohibited from uploading documents during sending.
	DisableDocumentUpload Bool `json:"disableDocumentUpload,omitempty"`
	// Metadata that indicates whether the `disableDocumentUpload` property is editable.
	//
	DisableDocumentUploadMetadata *SettingsMetadata `json:"disableDocumentUploadMetadata,omitempty"`
	// When **true,** this user can access the **Other Actions** menu.
	DisableOtherActions Bool `json:"disableOtherActions,omitempty"`
	// Metadata that indicates whether the `disableOtherActions` property is editable.
	//
	DisableOtherActionsMetadata *SettingsMetadata `json:"disableOtherActionsMetadata,omitempty"`
	// Reserved for DocuSign.
	EnableDSPro string `json:"enableDSPro,omitempty"`
	// Metadata that indicates whether the `enableDSPro` property is editable.
	//
	EnableDSProMetadata *SettingsMetadata `json:"enableDSProMetadata,omitempty"`
	//
	EnableKeyTermsSuggestionsByDocumentType string `json:"enableKeyTermsSuggestionsByDocumentType,omitempty"`
	//
	EnableKeyTermsSuggestionsByDocumentTypeMetadata *SettingsMetadata `json:"enableKeyTermsSuggestionsByDocumentTypeMetadata,omitempty"`
	// When **true,** the account can define the routing
	// order of recipients for envelopes sent by using the eSignature API.
	//
	// **Note:** Only SysAdmin users can change this setting.
	EnableSequentialSigningAPI Bool `json:"enableSequentialSigningAPI,omitempty"`
	// Metadata that indicates whether the `enableSequentialSigningAPI` property is editable.
	//
	EnableSequentialSigningAPIMetadata *SettingsMetadata `json:"enableSequentialSigningAPIMetadata,omitempty"`
	// When **true,** the account can define the routing order
	// of recipients for envelopes sent by using the DocuSign application.
	//
	// **Note:** Only SysAdmin users can change this setting.
	//
	EnableSequentialSigningUI Bool `json:"enableSequentialSigningUI,omitempty"`
	// Metadata that indicates whether the `enableSequentialSigningUI` property is editable.
	//
	EnableSequentialSigningUIMetadata *SettingsMetadata `json:"enableSequentialSigningUIMetadata,omitempty"`
	// When **true,** a user can override the default default account setting for the Sign on Paper option, which specifies whether signers can sign documents on paper as an option to signing electronically.
	//
	// **Note:** Only Admin users can change this setting.
	EnableSignOnPaperOverride Bool `json:"enableSignOnPaperOverride,omitempty"`
	// Metadata that indicates whether the `enableSignOnPaperOverride` property is editable.
	//
	EnableSignOnPaperOverrideMetadata *SettingsMetadata `json:"enableSignOnPaperOverrideMetadata,omitempty"`
	// When **true,** this user can use the signing attachments feature.
	EnableSignerAttachments Bool `json:"enableSignerAttachments,omitempty"`
	// Metadata that indicates whether the `enableSignerAttachments` property is editable.
	//
	EnableSignerAttachmentsMetadata *SettingsMetadata `json:"enableSignerAttachmentsMetadata,omitempty"`
	// Reserved for DocuSign.
	EnableTransactionPoint string `json:"enableTransactionPoint,omitempty"`
	// Reserved for DocuSign.
	EnableTransactionPointMetadata *SettingsMetadata `json:"enableTransactionPointMetadata,omitempty"`
	// When **true,** Vaulting is enabled for the account.
	EnableVaulting Bool `json:"enableVaulting,omitempty"`
	// Metadata that indicates whether the `enableVaulting` property is editable.
	//
	EnableVaultingMetadata *SettingsMetadata `json:"enableVaultingMetadata,omitempty"`
	// When **false,** this user can apply tabs to documents during the sending experience.
	ExpressSendOnly string `json:"expressSendOnly,omitempty"`
	// The user's locale code. Valid values are:
	// - `zh_CN`
	// - `zh_TW`
	// - `nl`
	// - `en`
	// - `fr`
	// - `de`
	// - `it`
	// - `ja`
	// - `ko`
	// - `pt`
	// - `pt_BR`
	// - `ru`
	// - `es`
	Locale string `json:"locale,omitempty"`
	// Metadata about the `locale` property.
	LocaleMetadata *SettingsMetadata `json:"localeMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicy `json:"localePolicy,omitempty"`
	// When **true,** this user can create and manage [Clickwraps](/docs/click-api/).
	ManageClickwrapsMode Bool `json:"manageClickwrapsMode,omitempty"`
	// Metadata about the `manageClickwrapsMode` property.
	ManageClickwrapsModeMetadata *SettingsMetadata `json:"manageClickwrapsModeMetadata,omitempty"`
	// The user ID (GUID) of the user who last modified this user record. This property is read-only.
	ModifiedBy string `json:"modifiedBy,omitempty"`
	// Metadata about the `modifiedBy` property.
	ModifiedByMetadata *SettingsMetadata `json:"modifiedByMetadata,omitempty"`
	// The date on which this user record was last modified.
	ModifiedDate string `json:"modifiedDate,omitempty"`
	// Metadata about the `modifiedDate` property.
	ModifiedDateMetadata *SettingsMetadata `json:"modifiedDateMetadata,omitempty"`
	// Note referencing the page that modified this user record.
	ModifiedPage string `json:"modifiedPage,omitempty"`
	// Metadata about the `modifiedPage` property.
	ModifiedPageMetadata *SettingsMetadata `json:"modifiedPageMetadata,omitempty"`
	// Reserved for DocuSign.
	NewSendUI string `json:"newSendUI,omitempty"`
	// Metadata about the `newSendUI` property.
	NewSendUIMetadata *SettingsMetadata `json:"newSendUIMetadata,omitempty"`
	// Indicates the Power Form mode setting for the user:
	// - `none`
	// - `admin`
	// - `user`
	PowerFormMode string `json:"powerFormMode,omitempty"`
	// Metadata about the `powerFormMode` property.
	PowerFormModeMetadata *SettingsMetadata `json:"powerFormModeMetadata,omitempty"`
	// When **true,** this user receives notifications when envelopes are viewed.
	RecipientViewedNotification Bool `json:"recipientViewedNotification,omitempty"`
	// Metadata about the `recipientViewedNotification` property.
	RecipientViewedNotificationMetadata *SettingsMetadata `json:"recipientViewedNotificationMetadata,omitempty"`
	// Information about the seals associated with this user.
	SealIdentifiers []SealIdentifier `json:"sealIdentifiers,omitempty"`
	// Sets how self-signed documents are presented to the email recipients.
	// Valid values are:
	//
	// - `include_pdf`: A PDF of the completed document is attached to the email.
	// - `include_link`: A secure link to the self-signed documents is included
	//    in the email.
	//
	// **Note:** Only Admin users can change this setting.
	//
	SelfSignedRecipientEmailDocument string `json:"selfSignedRecipientEmailDocument,omitempty"`
	// Metadata that indicates whether the `selfSignedRecipientEmailDocument` property is editable.
	//
	SelfSignedRecipientEmailDocumentMetadata *SettingsMetadata `json:"selfSignedRecipientEmailDocumentMetadata,omitempty"`
	//
	// An array of email notifications that sets the email the user receives when they are a sender. When the specific email notification is set to true, the user will receive those types of email notifications from DocuSign.
	//
	// The user inherits the default account sender email notification settings when the user is created. The email notifications are:
	//
	// * envelopeComplete
	// * changedSigner
	// * senderEnvelopeDeclined
	// * withdrawnConsent
	// * recipientViewed
	// * deliveryFailed
	//
	SenderEmailNotifications *SenderEmailNotifications `json:"senderEmailNotifications,omitempty"`
	// An array of email notifications that specifies the email the user receives when they are a recipient. When the specific email notification is set to true, the user receives those types of email notifications from DocuSign. The user inherits the default account email notification settings when the user is created.
	//
	SignerEmailNotifications *SignerEmailNotifications `json:"signerEmailNotifications,omitempty"`
	// When **true,** this user gets supplemental documents when downloading documents.
	SupplementalDocumentIncludeInDownload Bool `json:"supplementalDocumentIncludeInDownload,omitempty"`
	// When **true,** this user must accept supplemental documents.
	SupplementalDocumentsMustAccept Bool `json:"supplementalDocumentsMustAccept,omitempty"`
	// Metadata that indicates whether the `supplementalDocumentsMustAccept` property is editable.
	//
	SupplementalDocumentsMustAcceptMetadata *SettingsMetadata `json:"supplementalDocumentsMustAcceptMetadata,omitempty"`
	// When **true,** this user must both view and accept supplemental documents.
	SupplementalDocumentsMustRead Bool `json:"supplementalDocumentsMustRead,omitempty"`
	// Metadata that indicates whether the `supplementalDocumentsMustRead` property is editable.
	//
	SupplementalDocumentsMustReadMetadata *SettingsMetadata `json:"supplementalDocumentsMustReadMetadata,omitempty"`
	// When **true,** this user must view supplemental documents.
	SupplementalDocumentsMustView Bool `json:"supplementalDocumentsMustView,omitempty"`
	// Metadata that indicates whether the `supplementalDocumentsMustView` property is editable.
	//
	SupplementalDocumentsMustViewMetadata *SettingsMetadata `json:"supplementalDocumentsMustViewMetadata,omitempty"`
	// When **true,** a new template is created each time the user sends an envelope.
	TemplateActiveCreation Bool `json:"templateActiveCreation,omitempty"`
	// Metadata about the `templateActiveCreation` property.
	TemplateActiveCreationMetadata *SettingsMetadata `json:"templateActiveCreationMetadata,omitempty"`
	// When **true,** the system notifies this user before applying a matching template.
	TemplateApplyNotify Bool `json:"templateApplyNotify,omitempty"`
	// Metadata about the `templateApplyNotify` property.
	TemplateApplyNotifyMetadata *SettingsMetadata `json:"templateApplyNotifyMetadata,omitempty"`
	// When **true,** the system automatically applies a matching template to a document if only one template matches. If there are multiple matches, it displays a list of matches to select from.
	TemplateAutoMatching Bool `json:"templateAutoMatching,omitempty"`
	// Metadata about the `templateAutoMatching` property.
	TemplateAutoMatchingMetadata *SettingsMetadata `json:"templateAutoMatchingMetadata,omitempty"`
	// Percentage used when matching templates.
	TemplateMatchingSensitivity string `json:"templateMatchingSensitivity,omitempty"`
	// Metadata about the `tempalteMatchingSensitivity` property.
	TemplateMatchingSensitivityMetadata *SettingsMetadata `json:"templateMatchingSensitivityMetadata,omitempty"`
	// When **true,** users see template matching functionality.
	TemplatePageLevelMatching Bool `json:"templatePageLevelMatching,omitempty"`
	// Metadata about the `templatePageLevelMatching` property.
	TemplatePageLevelMatchingMetadata *SettingsMetadata `json:"templatePageLevelMatchingMetadata,omitempty"`
	// When true, daylight savings time is in effect for this user's time zone.
	TimezoneDST string `json:"timezoneDST,omitempty"`
	// Metadata about the `timezoneDST` property.
	TimezoneDSTMetadata *SettingsMetadata `json:"timezoneDSTMetadata,omitempty"`
	// The custom DateTime format setting for this user.
	TimezoneMask string `json:"timezoneMask,omitempty"`
	// Metadata about the `timezoneMask` property.
	TimezoneMaskMetadata *SettingsMetadata `json:"timezoneMaskMetadata,omitempty"`
	// The timezone offset for the user. Valid values:
	// - `tz_01_afghanistan`
	// - `tz_02_alaskan`
	// - `tz_03_arab`
	// - `tz_04_arabian`
	// - `tz_05_arabic`
	// - `tz_06_argentina`
	// - `tz_07_atlantic`
	// - `tz_08_aus_central`
	// - `tz_09_aus_eastern`
	// - `tz_10_azerbaijan`
	// - `tz_11_azores`
	// - `tz_12_bangladesh`
	// - `tz_13_canada_central`
	// - `tz_14_cape_verde`
	// - `tz_15_caucasus`
	// - `tz_16_central_australia`
	// - `tz_17_central_america`
	// - `tz_18_central_asia`
	// - `tz_19_central_brazilian`
	// - `tz_20_central_europe`
	// - `tz_21_central_european`
	// - `tz_22_central_pacific`
	// - `tz_23_central`
	// - `tz_24_central_mexico`
	// - `tz_25_china`
	// - `tz_26_dateline`
	// - `tz_27_east_africa`
	// - `tz_28_east_australia`
	// - `tz_29_east_europe`
	// - `tz_30_east_south_america`
	// - `tz_31_eastern`
	// - `tz_32_egypt`
	// - `tz_33_ekaterinburg`
	// - `tz_34_fiji`
	// - `tz_35_fli`
	// - `tz_36_georgian`
	// - `tz_37_gmt`
	// - `tz_38_greenland`
	// - `tz_39_greenwich`
	// - `tz_40_gtb`
	// - `tz_41_hawaiian`
	// - `tz_42_india`
	// - `tz_43_iran`
	// - `tz_44_israel`
	// - `tz_45_jordan`
	// - `tz_46_kaliningrad`
	// - `tz_47_kamchatka`
	// - `tz_48_korea`
	// - `tz_49_magadan`
	// - `tz_50_mauritius`
	// - `tz_51_mid_atlantic`
	// - `tz_52_middle_east`
	// - `tz_53_montevideo`
	// - `tz_54_morocco`
	// - `tz_55_mountain`
	// - `tz_56_mountain_mexico`
	// - `tz_57_myanmar`
	// - `tz_58_north_central_asia`
	// - `tz_59_namibia`
	// - `tz_60_nepal`
	// - `tz_61_new_zealand`
	// - `tz_62_new_foundland`
	// - `tz_63_north_asia_east`
	// - `tz_64_north_asia`
	// - `tz_65_pacific_sa`
	// - `tz_66_pacific`
	// - `tz_67_pacific_mexico`
	// - `tz_68_pakistan`
	// - `tz_69_paraguay`
	// - `tz_70_romance`
	// - `tz_71_russian`
	// - `tz_72_sa_eastern`
	// - `tz_73_sa_pacific`
	// - `tz_74_sa_western`
	// - `tz_75_samoa`
	// - `tz_76_se_asia`
	// - `tz_77_singapore`
	// - `tz_78_south_africa`
	// - `tz_79_sriLanka`
	// - `tz_80_syria`
	// - `tz_81_taipei`
	// - `tz_82_tasmania`
	// - `tz_83_tokyo`
	// - `tz_84_tonga`
	// - `tz_85_turkey`
	// - `tz_86_ulaanbaatar`
	// - `tz_87_us_eastern`
	// - `tz_88_us_mountain`
	// - `tz_89_venezuela`
	// - `tz_90_vladivostok`
	// - `tz_91_west_australia`
	// - `tz_92_west_central_africa`
	// - `tz_93_west_europe`
	// - `tz_94_west_asia`
	// - `tz_95_west_pacific`
	// - `tz_96_yakutsk`
	TimezoneOffset string `json:"timezoneOffset,omitempty"`
	// Metadata about the `timezoneOffset` property.
	TimezoneOffsetMetadata *SettingsMetadata `json:"timezoneOffsetMetadata,omitempty"`
	// Reserved for DocuSign.
	TimezoneSendingPref string `json:"timezoneSendingPref,omitempty"`
	// Reserved for DocuSign.
	TimezoneSendingPrefMetadata *SettingsMetadata `json:"timezoneSendingPrefMetadata,omitempty"`
	// Reserved for DocuSign.
	TimezoneSigningPref string `json:"timezoneSigningPref,omitempty"`
	// Reserved for DocuSign.
	TimezoneSigningPrefMetadata *SettingsMetadata `json:"timezoneSigningPrefMetadata,omitempty"`
	// Reserved for DocuSign.
	TransactionPointSiteNameURL string `json:"transactionPointSiteNameURL,omitempty"`
	// Reserved for DocuSign.
	TransactionPointSiteNameURLMetadata *SettingsMetadata `json:"transactionPointSiteNameURLMetadata,omitempty"`
	// Reserved for DocuSign.
	TransactionPointUserName string `json:"transactionPointUserName,omitempty"`
	// Reserved for DocuSign.
	TransactionPointUserNameMetadata *SettingsMetadata `json:"transactionPointUserNameMetadata,omitempty"`
	// Indicates the specified Vaulting mode:
	// - `none`
	// - `estored`
	// - `electronic_original`
	VaultingMode string `json:"vaultingMode,omitempty"`
	// Metadata about the `vaultingMode` property.
	VaultingModeMetadata *SettingsMetadata `json:"vaultingModeMetadata,omitempty"`
	//
	WebForms string `json:"webForms,omitempty"`
	//
	WebFormsMetadata *SettingsMetadata `json:"webFormsMetadata,omitempty"`
}

UserSettingsInformation properties that configure the settings for a user. Some elements of this object have a `metadata` property, which includes the following: - `rights`: The calling users permissions to edit this setting (can be `editable` or `read_only`) - `uiHint`: Internally used to build UIs (can be `available` or `hidden`) - `options`: The values supported for this setting (not all settings have this element)

type UserSharedItem

type UserSharedItem struct {
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// How the item is shared. One of:
	//
	// - `not_shared`
	// - `shared_to`
	// - `shared_from`
	// - `shared_to_and_from`
	//
	Shared Bool `json:"shared,omitempty"`
	// The user whose sharing information is being requested.
	User *UserInfo `json:"user,omitempty"`
}

UserSharedItem information about a shared item.

type UserSignature

type UserSignature struct {
	// The date and time the user adopted their signature.
	AdoptedDateTime *time.Time `json:"adoptedDateTime,omitempty"`
	// The UTC date and time when the user created the signature.
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// Serialized information about any custom [eHanko stamps](https://support.docusign.com/en/articles/Sending-and-Signing-with-eHanko) that have been ordered from an eHanko provider, including the order status, purchase order id, time created, and time modified.
	CustomField string `json:"customField,omitempty"`
	// Specifies the area in which a date stamp is placed. This parameter uses pixel positioning to draw a rectangle at the center of the stamp area. The stamp is superimposed on top of this central area.
	//
	// This property contains the following information about the central rectangle:
	//
	// - `DateAreaX`: The X axis position of the top-left corner.
	// - `DateAreaY`: The Y axis position of the top-left corner.
	// - `DateAreaWidth`: The width of the rectangle.
	// - `DateAreaHeight`: The height of the rectangle.
	DateStampProperties *DateStampProperties `json:"dateStampProperties,omitempty"`
	// When **true,** users may not resize the stamp.
	DisallowUserResizeStamp Bool `json:"disallowUserResizeStamp,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// An external ID for the signature or stamp.
	//
	// **Note:** If a recipient uses a stamp instead of a signature, this is the stamp vendor's serial number for the stamp.
	ExternalID string `json:"externalID,omitempty"`
	// A Base64-encoded representation of the signature image.
	ImageBase64 string `json:"imageBase64,omitempty"`
	// The format of the signature image, such as:
	//
	// - `GIF`
	// - `PNG`
	// - `JPG`
	// - `PDF`
	// - `BMP`
	ImageType string `json:"imageType,omitempty"`
	// The ID of the user's initials image.
	Initials150ImageID string `json:"initials150ImageId,omitempty"`
	// The URI for retrieving the image of the user's initials.
	InitialsImageURI string `json:"initialsImageUri,omitempty"`
	// Boolean that specifies whether the signature is the default signature for the user.
	IsDefault Bool `json:"isDefault,omitempty"`
	// The UTC date and time when the signature was last modified.
	LastModifiedDateTime string `json:"lastModifiedDateTime,omitempty"`
	// The National Association of Realtors (NAR) membership ID for a user who is a realtor.
	NrdsID string `json:"nrdsId,omitempty"`
	// The realtor's last name.
	NrdsLastName string `json:"nrdsLastName,omitempty"`
	// The realtor's NAR membership status. The value `active` verifies that the user is a current NAR member. Valid values are:
	//
	// - `Active`
	// - `Inactive`
	// - `Terminate`
	// - `Provisional`
	// - `Deceased`
	// - `Suspend`
	// - `Unknown`
	NrdsStatus string `json:"nrdsStatus,omitempty"`
	// The phonetic spelling of the `signatureName`.
	PhoneticName string `json:"phoneticName,omitempty"`
	// The ID of the user's signature image.
	Signature150ImageID string `json:"signature150ImageId,omitempty"`
	// The font type for the signature, if the signature is not drawn. The supported font types are:
	//
	// "7_DocuSign", "1_DocuSign", "6_DocuSign", "8_DocuSign", "3_DocuSign", "Mistral", "4_DocuSign", "2_DocuSign", "5_DocuSign", "Rage Italic"
	//
	SignatureFont string `json:"signatureFont,omitempty"`
	// The ID associated with the signature name. You can use this property in the URI in place of the signature name. This enables the use of special characters (such as "&", "<", and ">") in a signature name.
	//
	// **Note:** When you update a signature, its signature ID might change. In that case you need to use `signatureName` to get the new `signatureId`.
	SignatureID string `json:"signatureId,omitempty"`
	// An endpoint URI that you can use to retrieve the user's signature image.
	SignatureImageURI string `json:"signatureImageUri,omitempty"`
	//  The initials associated with the signature.
	SignatureInitials string `json:"signatureInitials,omitempty"`
	// Specifies the user's signature name.
	SignatureName string `json:"signatureName,omitempty"`
	// The rights that the user has to the signature. Valid values are:
	//
	// - `none`
	// - `read`
	// - `admin`
	SignatureRights string `json:"signatureRights,omitempty"`
	// Specifies the type of signature. Possible values include:
	//
	// - `RubberStamp`: A DocuSign pre-formatted signature style. This is the default value.
	// - `Imported`: A signature image that the user uploaded.
	// - `Drawn`: A freehand drawing of the user's signature and initials.
	SignatureType string `json:"signatureType,omitempty"`
	// The format of a stamp. Valid values are:
	//
	// - `NameHanko`: The stamp represents only the signer's name.
	// - `NameDateHanko`: The stamp represents the signer's name and the date.
	StampFormat string `json:"stampFormat,omitempty"`
	// The URI for retrieving the image of the user's stamp.
	StampImageURI string `json:"stampImageUri,omitempty"`
	// The physical height of the stamp image (in millimeters) that the stamp vendor recommends for displaying the image in PDF documents.
	StampSizeMM string `json:"stampSizeMM,omitempty"`
	// The type of stamp. Valid values are:
	//
	// - `signature`: A signature image. This is the default value.
	// - `stamp`: A stamp image.
	// - null
	StampType string `json:"stampType,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * sent - The envelope is sent to the recipients.
	// * created - The envelope is saved as a draft and can be modified and sent later.
	Status string `json:"status,omitempty"`
}

UserSignature users' signatures

type UserSignatureDefinition

type UserSignatureDefinition struct {
	// Specifies the area in which a date stamp is placed. This parameter uses pixel positioning to draw a rectangle at the center of the stamp area. The stamp is superimposed on top of this central area.
	//
	// This property contains the following information about the central rectangle:
	//
	// - `DateAreaX`: The X axis position of the top-left corner.
	// - `DateAreaY`: The Y axis position of the top-left corner.
	// - `DateAreaWidth`: The width of the rectangle.
	// - `DateAreaHeight`: The height of the rectangle.
	DateStampProperties *DateStampProperties `json:"dateStampProperties,omitempty"`
	// When **true,** users may not resize the stamp.
	DisallowUserResizeStamp Bool `json:"disallowUserResizeStamp,omitempty"`
	// Optionally specify an external identifier for the user's signature.
	ExternalID string `json:"externalID,omitempty"`
	// Specificies the type of image. Valid values are:
	//
	// - `signature_image`
	// - `initials_image`
	ImageType string `json:"imageType,omitempty"`
	// Boolean that specifies whether the signature is the default signature for the user.
	IsDefault Bool `json:"isDefault,omitempty"`
	// The National Association of Realtors (NAR) membership ID for a user who is a realtor.
	NrdsID string `json:"nrdsId,omitempty"`
	// The realtor's last name.
	NrdsLastName string `json:"nrdsLastName,omitempty"`
	// The phonetic spelling of the `signatureName`.
	PhoneticName string `json:"phoneticName,omitempty"`
	// The font type to use for the signature if the signature is not drawn. The following font styles  are supported. The quotes are to indicate that these values are strings, not `enums`.
	//
	// - `"1_DocuSign"`
	// - `"2_DocuSign"`
	// - `"3_DocuSign"`
	// - `"4_DocuSign"`
	// - `"5_DocuSign"`
	// - `"6_DocuSign"`
	// - `"7_DocuSign"`
	// - `"8_DocuSign"`
	// - `"Mistral"`
	// - `"Rage Italic"`
	//
	SignatureFont string `json:"signatureFont,omitempty"`
	// Specifies the signature ID associated with the signature name. You can use the signature ID in the URI in place of the signature name, and the value stored in the `signatureName` property in the body is used. This allows the use of special characters (such as "&", "<", ">") in a the signature name. Note that with each update to signatures, the returned signature ID might change, so the caller will need to trigger off the signature name to get the new signature ID.
	SignatureID string `json:"signatureId,omitempty"`
	// Specifies the user's signature in initials format.
	SignatureInitials string `json:"signatureInitials,omitempty"`
	// Specifies the user's signature name.
	SignatureName string `json:"signatureName,omitempty"`
	// Specifies the type of signature.
	SignatureType string `json:"signatureType,omitempty"`
	// The format of a stamp. Valid values are:
	//
	// - `NameHanko`: The stamp represents only the signer's name.
	// - `NameDateHanko`: The stamp represents the signer's name and the date.
	StampFormat string `json:"stampFormat,omitempty"`
	// The physical height of the stamp image (in millimeters) that the stamp vendor recommends for displaying the image in PDF documents.
	StampSizeMM string `json:"stampSizeMM,omitempty"`
}

UserSignatureDefinition not described in definition file

type UserSignaturesInformation

type UserSignaturesInformation struct {
	// An array of  `userSignature` objects.
	UserSignatures []UserSignature `json:"userSignatures,omitempty"`
}

UserSignaturesInformation not described in definition file

type UserSocialIDResult

type UserSocialIDResult struct {
	// Contains properties that map a DocuSign user to a social account such as Facebook or Yahoo.
	SocialAccountInformation []SocialAccountInformation `json:"socialAccountInformation,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
}

UserSocialIDResult not described in definition file

type UsersResponse

type UsersResponse struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The URI for the next chunk of records based on the search request. It is `null` if this is the last set of results for the search.
	NextURI string `json:"nextUri,omitempty"`
	// The URI for the prior chunk of records based on the search request. It is `null` if this is the first set of results for the search.
	PreviousURI string `json:"previousUri,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
	// An array of `userInfo` objects containing information about the users in the group.
	Users []UserInfo `json:"users,omitempty"`
}

UsersResponse groups' users

type View

type View struct {
	TabBase
	TabGuidedForm
	TabPosition
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	// When **true,** the information in the tab is bold.
	Bold Bool `json:"bold,omitempty"`
	// Metadata that indicates whether the `bold` property is editable.
	BoldMetadata *PropertyMetadata `json:"boldMetadata,omitempty"`
	// The text to display on the button.
	ButtonText string `json:"buttonText,omitempty"`
	// Metadata that indicates whether the `buttonText` property is editable.
	ButtonTextMetadata *PropertyMetadata `json:"buttonTextMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// The font to be used for the tab value. Supported fonts include:
	//
	// - Default
	// - Arial
	// - ArialNarrow
	// - Calibri
	// - CourierNew
	// - Garamond
	// - Georgia
	// - Helvetica
	// - LucidaConsole
	// - MSGothic
	// - MSMincho
	// - OCR-A
	// - Tahoma
	// - TimesNewRoman
	// - Trebuchet
	// - Verdana
	//
	Font string `json:"font,omitempty"`
	// The font color to use for the information in the tab. Possible values are:
	//
	// - Black
	// - BrightBlue
	// - BrightRed
	// - DarkGreen
	// - DarkRed
	// - Gold
	// - Green
	// - NavyBlue
	// - Purple
	// - White
	//
	FontColor string `json:"fontColor,omitempty"`
	// Metadata that indicates whether the `fontColor` property is editable.
	FontColorMetadata *PropertyMetadata `json:"fontColorMetadata,omitempty"`
	// Metadata that indicates whether the `font` property is editable.
	FontMetadata *PropertyMetadata `json:"fontMetadata,omitempty"`
	// The font size used for the information in the tab. Possible values are:
	//
	// - Size7
	// - Size8
	// - Size9
	// - Size10
	// - Size11
	// - Size12
	// - Size14
	// - Size16
	// - Size18
	// - Size20
	// - Size22
	// - Size24
	// - Size26
	// - Size28
	// - Size36
	// - Size48
	// - Size72
	FontSize string `json:"fontSize,omitempty"`
	// Metadata that indicates whether the `fontSize` property is editable.
	FontSizeMetadata *PropertyMetadata `json:"fontSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// When **true,** the information in the tab is italic.
	Italic Bool `json:"italic,omitempty"`
	// Metadata that indicates whether the `italic` property is editable.
	ItalicMetadata *PropertyMetadata `json:"italicMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// When **true,** the recipient must click the **View** button for the supporting document prior to completing the signing process.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// When **true,** the recipient must read through the document.
	RequiredRead Bool `json:"requiredRead,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// When **true,** the information in the tab is underlined.
	Underline Bool `json:"underline,omitempty"`
	// Metadata that indicates whether the `underline` property is editable.
	UnderlineMetadata *PropertyMetadata `json:"underlineMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

View this tab is used with the Approve tab to handle supplemental documents.

type ViewURL

type ViewURL struct {
	// The view URL to be navigated to.
	URL string `json:"url,omitempty"`
}

ViewURL provides a URL that you can embed in your application to provide access to the DocuSign UI.

### Related topics

- [Embedded signing and sending](/docs/esign-rest-api/esign101/concepts/embedding/) - [Send an envelope via your app](/docs/esign-rest-api/how-to/embedded-sending/) - [Introducing customizable embedded sending](https://www.docusign.com/blog/developers/introducing-customizable-embedded-sending)

type Watermark

type Watermark struct {
	//
	DisplayAngle string `json:"displayAngle,omitempty"`
	//
	Enabled Bool `json:"enabled,omitempty"`
	// The font to be used for the tab value. Supported fonts include:
	//
	// - Default
	// - Arial
	// - ArialNarrow
	// - Calibri
	// - CourierNew
	// - Garamond
	// - Georgia
	// - Helvetica
	// - LucidaConsole
	// - MSGothic
	// - MSMincho
	// - OCR-A
	// - Tahoma
	// - TimesNewRoman
	// - Trebuchet
	// - Verdana
	//
	Font string `json:"font,omitempty"`
	// The font color to use for the information in the tab. Possible values are:
	//
	// - Black
	// - BrightBlue
	// - BrightRed
	// - DarkGreen
	// - DarkRed
	// - Gold
	// - Green
	// - NavyBlue
	// - Purple
	// - White
	//
	FontColor string `json:"fontColor,omitempty"`
	// The font size used for the information in the tab. Possible values are:
	//
	// - Size7
	// - Size8
	// - Size9
	// - Size10
	// - Size11
	// - Size12
	// - Size14
	// - Size16
	// - Size18
	// - Size20
	// - Size22
	// - Size24
	// - Size26
	// - Size28
	// - Size36
	// - Size48
	// - Size72
	FontSize string `json:"fontSize,omitempty"`
	// A unique ID for the Salesforce object.
	ID string `json:"id,omitempty"`
	//
	ImageBase64 string `json:"imageBase64,omitempty"`
	//
	Transparency string `json:"transparency,omitempty"`
	//
	WatermarkText string `json:"watermarkText,omitempty"`
}

Watermark not described in definition file

type Witness

type Witness struct {
	// If a value is provided, the recipient must enter the value as the access code to view and sign the envelope.
	//
	// Maximum Length: 50 characters and it must conform to the account's access code format setting.
	//
	// If blank, but the signer `accessCode` property is set in the envelope, then that value is used.
	//
	// If blank and the signer `accessCode` property is not set, then the access code is not required.
	AccessCode string `json:"accessCode,omitempty"`
	// Metadata that indicates whether the `accessCode` property is editable. This property is read-only.
	AccessCodeMetadata *PropertyMetadata `json:"accessCodeMetadata,omitempty"`
	// Optional. When **true,** the access code will be added to the email sent to the recipient. This nullifies the security measure of `accessCode` on the recipient.
	AddAccessCodeToEmail string `json:"addAccessCodeToEmail,omitempty"`
	// An array of additional notification objects.
	AdditionalNotifications []RecipientAdditionalNotification `json:"additionalNotifications,omitempty"`
	// Optional element. When **true,** the agents recipient associated with this recipient can change the recipient's pre-populated email address. This element is only active if enabled for the account.
	AgentCanEditEmail string `json:"agentCanEditEmail,omitempty"`
	// Optional element. When **true,** the agents recipient associated with this recipient can change the recipient's pre-populated name. This element is only active if enabled for the account.
	AgentCanEditName string `json:"agentCanEditName,omitempty"`
	// When **true,** if the recipient is locked on a template, advanced recipient routing can override the lock.
	AllowSystemOverrideForLockedRecipient Bool `json:"allowSystemOverrideForLockedRecipient,omitempty"`
	// When **true,** autonavigation is set for the recipient.
	//
	AutoNavigation Bool `json:"autoNavigation,omitempty"`
	// Error message provided by the destination email system. This field is only provided if the email notification to the recipient fails to send. This property is read-only.
	//
	AutoRespondedReason string `json:"autoRespondedReason,omitempty"`
	// Reserved for DocuSign.
	BulkRecipientsURI string `json:"bulkRecipientsUri,omitempty"`
	// When **true,** specifies that the signer can perform the signing ceremony offline.
	CanSignOffline Bool `json:"canSignOffline,omitempty"`
	// Specifies whether the recipient is embedded or remote.
	//
	// If the `clientUserId` property is not null then the recipient is embedded. Use this field to associate the signer with their userId in your app. Authenticating the user is the responsibility of your app when you use embedded signing.
	//
	// Note: if the `clientUserId` property is set and either `SignerMustHaveAccount` or `SignerMustLoginToSign` property of the account settings is set to  **true,** an error is generated on sending.
	//
	// Maximum length: 100 characters.
	ClientUserID string `json:"clientUserId,omitempty"`
	// Indicates the number of times that the recipient has been through a signing completion for the envelope. If this number is greater than 0 for a signing group, only the user who previously completed may sign again. This property is read-only.
	CompletedCount string `json:"completedCount,omitempty"`
	//
	ConsentDetailsList []ConsentDetails `json:"consentDetailsList,omitempty"`
	// The reason why the recipient was created (for example, `sender`). This property is read-only.
	CreationReason string `json:"creationReason,omitempty"`
	// An optional array of strings that allows the sender to provide custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each customField string can be a maximum of 100 characters.
	CustomFields []string `json:"customFields,omitempty"`
	// The date and time the recipient declined the document. This property is read-only.
	DeclinedDateTime string `json:"declinedDateTime,omitempty"`
	// The reason the recipient declined the document. This property is read-only.
	DeclinedReason string `json:"declinedReason,omitempty"`
	// When **true,** this recipient is the default recipient and any tabs generated by the transformPdfFields option are mapped to this recipient.
	DefaultRecipient Bool `json:"defaultRecipient,omitempty"`
	//
	DelegatedBy *DelegationInfo `json:"delegatedBy,omitempty"`
	//
	DelegatedTo []DelegationInfo `json:"delegatedTo,omitempty"`
	// The date and time that the envelope was delivered to the recipient. This property is read-only.
	DeliveredDateTime string `json:"deliveredDateTime,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethod string `json:"deliveryMethod,omitempty"`
	// Reserved for DocuSign.
	DeliveryMethodMetadata *PropertyMetadata `json:"deliveryMethodMetadata,omitempty"`
	// Reserved for DocuSign.
	DesignatorID string `json:"designatorId,omitempty"`
	// Reserved for DocuSign.
	DesignatorIDGUID string `json:"designatorIdGuid,omitempty"`
	// A list of `documentVisibility` objects. Each object in the list specifies whether a document in the envelope is visible to this recipient. For the envelope to use this functionality, Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true.**
	DocumentVisibility []DocumentVisibility `json:"documentVisibility,omitempty"`
	// The recipient's email address.
	Email string `json:"email,omitempty"`
	// Metadata that indicates whether the `email` property is editable. This property is read-only.
	EmailMetadata *PropertyMetadata `json:"emailMetadata,omitempty"`
	// An optional complex type that sets a specific email subject and body for this recipient's notification email.
	//
	// **Note:** You can set the `emailNotification` property separately for each recipient. If you set the value only for certain recipients, the other recipients will inherit the this value from the top-level `emailSubject` and `emailBlurb`.
	EmailNotification *RecipientEmailNotification `json:"emailNotification,omitempty"`
	//
	EmailRecipientPostSigningURL string `json:"emailRecipientPostSigningURL,omitempty"`
	// Specifies a sender-provided valid URL string for redirecting an embedded recipient. When using this option, the embedded recipient still receives an email from DocuSign, just as a remote recipient would. When the document link in the email is clicked the recipient is redirected, through DocuSign, to the supplied URL to complete their actions. When routing to the URL, the sender's system (the server responding to the URL) must request a recipient token to launch a signing session.
	//
	// When `SIGN_AT_DOCUSIGN`, the recipient is directed to an embedded signing or viewing process directly at DocuSign. The signing or viewing action is initiated by the DocuSign system and the transaction activity and Certificate of Completion records will reflect this. In all other ways the process is identical to an embedded signing or viewing operation launched by a partner.
	//
	// It is important to understand that in a typical embedded workflow, the authentication of an embedded recipient is the responsibility of the sending application. DocuSign expects that senders will follow their own processes for establishing the recipient's identity. In this workflow the recipient goes through the sending application before the embedded signing or viewing process is initiated. However, when the sending application sets `EmbeddedRecipientStartURL=SIGN_AT_DOCUSIGN`, the recipient goes directly to the embedded signing or viewing process, bypassing the sending application and any authentication steps the sending application would use. In this case, DocuSign recommends that you use one of the normal DocuSign authentication features (Access Code, Phone Authentication, SMS Authentication, etc.) to verify the identity of the recipient.
	//
	// If the `clientUserId` property is NOT set, and the `embeddedRecipientStartURL` is set, DocuSign will ignore the redirect URL and launch the standard signing process for the email recipient. Information can be appended to the embedded recipient start URL using merge fields. The available merge fields items are: `envelopeId`, `recipientId`, `recipientName`, `recipientEmail`, and `customFields`. The `customFields` property must be set for the recipient or envelope. The merge fields are enclosed in double brackets.
	//
	// *Example*:
	//
	// `http://senderHost/[[mergeField1]]/ beginSigningSession? [[mergeField2]]&[[mergeField3]]`
	EmbeddedRecipientStartURL string `json:"embeddedRecipientStartURL,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// Specifies the documents that are not visible to this recipient. Document Visibility must be enabled for the account and the `enforceSignerVisibility` property must be set to **true** for the envelope to use this.
	//
	// When enforce signer visibility is enabled, documents with tabs can only be viewed by signers that have a tab on that document. Recipients that have an administrative role (Agent, Editor, or Intermediaries) or informational role (Certified Deliveries or Carbon Copies) can always see all the documents in an envelope, unless they are specifically excluded using this setting when an envelope is sent. Documents that do not have tabs are always visible to all recipients, unless they are specifically excluded using this setting when an envelope is sent.
	ExcludedDocuments []string `json:"excludedDocuments,omitempty"`
	// Reserved for DocuSign.
	FaxNumber string `json:"faxNumber,omitempty"`
	// Reserved for DocuSign.
	FaxNumberMetadata *PropertyMetadata `json:"faxNumberMetadata,omitempty"`
	// The recipient's first name. Maximum Length: 50 characters.
	FirstName string `json:"firstName,omitempty"`
	// Metadata that indicates whether the `firstName` property is editable. This property is read-only.
	FirstNameMetadata *PropertyMetadata `json:"firstNameMetadata,omitempty"`
	// Reserved for DocuSign.
	FullName string `json:"fullName,omitempty"`
	// Reserved for DocuSign.
	FullNameMetadata *PropertyMetadata `json:"fullNameMetadata,omitempty"`
	// The name of the authentication check to use. This value must match one of the authentication types that the account uses. The names of these authentication types appear in the web console sending interface in the Identify list for a recipient. This setting overrides any default authentication setting. Valid values are:
	//
	// - `Phone Auth $`: The recipient must authenticate by using two-factor authentication (2FA). You provide the phone number to use for 2FA in the `phoneAuthentication` object.
	// - `SMS Auth $`: The recipient must authenticate via SMS. You provide the phone number to use in the `smsAuthentication` object.
	// - `ID Check $`: The  recipient must answer detailed security questions.
	//
	// **Example:** Your account has ID Check and SMS Authentication available. In the web console Identify list, these appear as ID Check $ and SMS Auth $. To use ID Check in an envelope, the idCheckConfigurationName should be ID Check $. For SMS, you would use SMS Auth $, and you would also need to add a phone number to the smsAuthentication node.
	IDCheckConfigurationName string `json:"idCheckConfigurationName,omitempty"`
	// Metadata that indicates whether the `idCheckConfigurationName` property is editable. This property is read-only.
	IDCheckConfigurationNameMetadata *PropertyMetadata `json:"idCheckConfigurationNameMetadata,omitempty"`
	// An object that contains input information related to a recipient ID check.
	IDCheckInformationInput *IDCheckInformationInput `json:"idCheckInformationInput,omitempty"`
	// Specifies the ID Verification workflow applied on an envelope by workflow ID. <br/>See the [list](/docs/esign-rest-api/reference/accounts/identityverifications/list/) method in the [IdentityVerifications](/docs/esign-rest-api/reference/accounts/identityverifications/) resource for more information on how to retrieve workflow IDs available for an account. <br/>This can be used in addition to other [recipient authentication](https://support.docusign.com/en/guides/ndse-user-guide-recipient-authentication) methods. <br/>Note that ID Verification and ID Check are two distinct methods. ID Verification checks recipients' identity by verifying their ID while ID Check relies on data available on public records (such as current and former address).
	IdentityVerification *RecipientIdentityVerification `json:"identityVerification,omitempty"`
	// When **true** and the envelope recipient creates a DocuSign account after signing, the Manage Account Email Notification settings are used as the default settings for the recipient's account.
	InheritEmailNotificationConfiguration string `json:"inheritEmailNotificationConfiguration,omitempty"`
	// Reserved for DocuSign.
	//
	IsBulkRecipient string `json:"isBulkRecipient,omitempty"`
	// Reserved for DocuSign.
	IsBulkRecipientMetadata *PropertyMetadata `json:"isBulkRecipientMetadata,omitempty"`
	// The recipient's last name.
	LastName string `json:"lastName,omitempty"`
	// Metadata that indicates whether the `lastName` property is editable. This property is read-only.
	LastNameMetadata *PropertyMetadata `json:"lastNameMetadata,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientPhoneAuthEditable string `json:"lockedRecipientPhoneAuthEditable,omitempty"`
	// Reserved for DocuSign.
	LockedRecipientSmsEditable string `json:"lockedRecipientSmsEditable,omitempty"`
	// The full legal name of the recipient. Maximum Length: 100 characters.
	//
	// **Note:** You must always set a value for this property in requests, even if `firstName` and `lastName` are set.
	Name string `json:"name,omitempty"`
	// Metadata that indicates whether the `name` property is editable. This property is read-only.
	NameMetadata *PropertyMetadata `json:"nameMetadata,omitempty"`
	//
	NotaryID string `json:"notaryId,omitempty"`
	//
	NotarySignerEmailSent string `json:"notarySignerEmailSent,omitempty"`
	// A note sent to the recipient in the signing email.
	// This note is unique to this recipient.
	// In the user interface,
	// it appears near the upper left corner
	// of the document
	// on the signing screen.
	//
	// Maximum Length: 1000 characters.
	//
	Note string `json:"note,omitempty"`
	// Metadata that indicates whether the `note` property is editable. This property is read-only.
	NoteMetadata *PropertyMetadata `json:"noteMetadata,omitempty"`
	// Reserved for DocuSign.
	OfflineAttributes interface{} `json:"offlineAttributes,omitempty"`
	// When `idCheckConfigurationName` is set to `Phone Auth $`, you use this complex type to provide the recipient authentication method details. It contains the following elements:
	//
	// * `recipMayProvideNumber`: Boolean. When **true,** the recipient can use whatever phone number they choose.
	// * `senderProvidedNumbers`: ArrayOfStrings.  A list of phone numbers the recipient can use.
	// * `recordVoicePrint`: Reserved for DocuSign.
	// * `validateRecipProvidedNumber`: Reserved for DocuSign.
	//
	//
	PhoneAuthentication *RecipientPhoneAuthentication `json:"phoneAuthentication,omitempty"`
	// Describes the recipient phone number.
	PhoneNumber *RecipientPhoneNumber `json:"phoneNumber,omitempty"`
	// The proof file of the recipient.
	ProofFile *RecipientProofFile `json:"proofFile,omitempty"`
	// Reserved for DocuSign.
	RecipientAttachments []RecipientAttachment `json:"recipientAttachments,omitempty"`
	// Information about the recipient's authentication status. This property is read-only.
	RecipientAuthenticationStatus *AuthenticationStatus `json:"recipientAuthenticationStatus,omitempty"`
	// Metadata about the features that are supported for the recipient type. This property is read-only.
	RecipientFeatureMetadata []FeatureAvailableMetadata `json:"recipientFeatureMetadata,omitempty"`
	// Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document.
	RecipientID string `json:"recipientId,omitempty"`
	// The globally-unique identifier (GUID) for a specific recipient on a specific envelope. If the same recipient is associated with multiple envelopes, they will have a different GUID for each one. This property is read-only.
	RecipientIDGUID string `json:"recipientIdGuid,omitempty"`
	// The default signature provider is the DocuSign Electronic signature system. This parameter is used to specify one or more Standards Based Signature (digital signature) providers for the signer to use. [More information.](/docs/esign-rest-api/esign101/concepts/standards-based-signatures/)
	RecipientSignatureProviders []RecipientSignatureProvider `json:"recipientSignatureProviders,omitempty"`
	// When **true,** specifies that the recipient creates the tabs.
	RecipientSuppliesTabs Bool `json:"recipientSuppliesTabs,omitempty"`
	// The recipient type, as specified by the following values:
	// - `agent`: Agent recipients can add name and email information for recipients that appear after the agent in routing order.
	// - `carbonCopy`: Carbon copy recipients get a copy of the envelope but don't need to sign, initial, date, or add information to any of the documents. This type of recipient can be used in any routing order.
	// - `certifiedDelivery`: Certified delivery recipients must receive the completed documents for the envelope to be completed. They don't need to sign, initial, date, or add information to any of the documents.
	// - `editor`: Editors have the same management and access rights for the envelope as the sender. Editors can add name and email information, add or change the routing order, set authentication options, and can edit signature/initial tabs and data fields for the remaining recipients.
	// - `inPersonSigner`: In-person recipients are DocuSign users who act as signing hosts in the same physical location as the signer.
	// - `intermediaries`: Intermediary recipients can optionally add name and email information for recipients at the same or subsequent level in the routing order.
	// - `seal`: Electronic seal recipients represent legal entities.
	// - `signer`: Signers are recipients who must sign, initial, date, or add data to form fields on the documents in the envelope.
	// - `witness`: Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.
	RecipientType string `json:"recipientType,omitempty"`
	// Metadata that indicates whether the `recipientType` property is editable. This property is read-only.
	RecipientTypeMetadata *PropertyMetadata `json:"recipientTypeMetadata,omitempty"`
	// When **true,** the recipient is required to use the specified ID check method (including Phone and SMS authentication) to validate their identity.
	RequireIDLookup Bool `json:"requireIdLookup,omitempty"`
	// Metadata that indicates whether the `requireIdLookup` property is editable. This property is read-only.
	RequireIDLookupMetadata *PropertyMetadata `json:"requireIdLookupMetadata,omitempty"`
	// When **true,** the signer must print, sign, and upload or fax the signed documents to DocuSign.
	RequireSignOnPaper Bool `json:"requireSignOnPaper,omitempty"`
	// By default, DocuSign signers create electronic signatures. This field can be used to require the signer to use a SAFE-BioPharma digital certificate for signing.
	//
	// This parameter should only be used to select a SAFE-BioPharma certificate. New integrations should use the `recipientSignatureProviders` parameter for other types of digital certificates.
	//
	// Set this parameter to `safe` to use a SAFE-BioPharma certificate.
	//
	// The signer must be enrolled in the SAFE program to sign with a SAFE certificate.
	RequireSignerCertificate string `json:"requireSignerCertificate,omitempty"`
	// When **true,** the signer is required to upload a new signature, even if they have a pre-adopted signature in their personal DocuSign account.
	RequireUploadSignature Bool `json:"requireUploadSignature,omitempty"`
	// Optional element. Specifies the role name associated with the recipient.<br/><br/>This property is required when you are working with template recipients.
	RoleName string `json:"roleName,omitempty"`
	// Specifies the routing order of the recipient in the envelope.
	RoutingOrder string `json:"routingOrder,omitempty"`
	// Metadata that indicates whether the `routingOrder` property is editable. This property is read-only.
	RoutingOrderMetadata *PropertyMetadata `json:"routingOrderMetadata,omitempty"`
	// The UTC DateTime when the envelope was sent. This property is read-only.
	SentDateTime string `json:"sentDateTime,omitempty"`
	// When **true** and the feature is enabled in the sender's account, the signing recipient is required to draw signatures and initials at each signature/initial tab (instead of adopting a signature/initial style or only drawing a signature/initial once).
	SignInEachLocation string `json:"signInEachLocation,omitempty"`
	// Metadata that indicates whether the `signInEachLocation` property is editable. This property is read-only.
	SignInEachLocationMetadata *PropertyMetadata `json:"signInEachLocationMetadata,omitempty"`
	// Allows the sender to pre-specify the signature name, signature initials and signature font used in the signature stamp for the recipient.
	//
	// Used only with recipient types In Person Signers and Signers.
	SignatureInfo *RecipientSignatureInformation `json:"signatureInfo,omitempty"`
	// Reserved for DocuSign.
	SignedDateTime string `json:"signedDateTime,omitempty"`
	// The ID of the [signing group](https://support.docusign.com/en/guides/ndse-user-guide-signing-groups).
	//
	SigningGroupID string `json:"signingGroupId,omitempty"`
	// Metadata that indicates whether the `signingGroupId` property is editable. This property is read-only.
	SigningGroupIDMetadata *PropertyMetadata `json:"signingGroupIdMetadata,omitempty"`
	// Optional. The name of the signing group.
	//
	// Maximum Length: 100 characters.
	SigningGroupName string `json:"signingGroupName,omitempty"`
	// A complex type that contains information about users in the signing group.
	SigningGroupUsers []UserInfo `json:"signingGroupUsers,omitempty"`
	// When `idCheckConfigurationName` is set to `SMS Auth $`, you use this complex type to provide the recipient authentication method details. It contains the element `senderProvidedNumbers`, which is an array of phone numbers that the recipient can use for SMS text authentication.
	//
	//
	SmsAuthentication *RecipientSMSAuthentication `json:"smsAuthentication,omitempty"`
	// Deprecated.
	SocialAuthentications []SocialAuthentication `json:"socialAuthentications,omitempty"`
	// The recipient's status. This property is read-only.
	//
	// Valid values:
	//
	// - `autoresponded`: The recipient's email system auto-responded to the email from DocuSign. This status is used in the web console to inform senders about the bounced-back email. This recipient status is only used if **Send-on-behalf-of** is turned off for the account.
	// - `completed`: The recipient has completed their actions (signing or other required actions if not a signer) for an envelope.
	// - `created`: The recipient is in a draft state. This value is only associated with draft envelopes (envelopes that have a status of `created`).
	// - `declined`: The recipient declined to sign the documents in the envelope.
	// - `delivered`: The recipient has viewed the documents in an envelope through the DocuSign signing website. This is not an email delivery of the documents in an envelope.
	// - `faxPending`: The recipient has finished signing and the system is waiting for a fax attachment from the recipient before completing their signing step.
	// - `sent`: The recipient has been sent an email notification that it is their turn to sign an envelope.
	// - `signed`: The recipient has completed (signed) all required tags in an envelope. This is a temporary state during processing, after which the recipient's status automatically switches to `completed`.
	Status string `json:"status,omitempty"`
	// The code associated with the recipient's status. This property is read-only.
	StatusCode string `json:"statusCode,omitempty"`
	// When **true,** email notifications are suppressed for the recipient, and they must access envelopes and documents from their DocuSign inbox.
	SuppressEmails Bool `json:"suppressEmails,omitempty"`
	// A list of tabs, which are represented graphically as symbols on documents at the time of signing. Tabs show recipients where to sign, initial, or enter data. They may also display data to the recipients.
	Tabs *Tabs `json:"tabs,omitempty"`
	// When **true,** the sender cannot change any attributes of the recipient. Used only when working with template recipients.
	TemplateLocked Bool `json:"templateLocked,omitempty"`
	// When **true,** the sender may not remove the recipient. Used only when working with template recipients.
	TemplateRequired Bool `json:"templateRequired,omitempty"`
	// The total number of tabs in the documents. This property is read-only.
	TotalTabCount string `json:"totalTabCount,omitempty"`
	// The ID of the user to access.
	//
	// **Note:** Users can only access their own information. A user, even one with Admin rights, cannot access another user's settings.
	UserID string `json:"userId,omitempty"`
	// The `recipientId` of the person or party for whom the recipient is a witness.
	WitnessFor string `json:"witnessFor,omitempty"`
	// Not used. Use the `witnessFor` property instead.
	WitnessForGUID string `json:"witnessForGuid,omitempty"`
}

Witness is a complex type containing information about a witness recipient. Witnesses are recipients whose signatures affirm that the identified signers have signed the documents in the envelope.

type Workflow added in v0.10.0

type Workflow struct {
	// The `workflowStepId` of the current step.
	// This is not an index into the `workflowSteps` array in this object.
	// See the `workflowStep` object.
	CurrentWorkflowStepID string `json:"currentWorkflowStepId,omitempty"`
	// The ISO 8601 timestamp of when the envelope is scheduled to be sent, if applicable. Its value is the maximum of the `resumeDate` property on `scheduledSending` and the `resumeDate` property on the current `workflowStep`.
	//
	// This property is read-only.
	ResumeDate string `json:"resumeDate,omitempty"`
	// An object that describes the settings for scheduled sending.
	ScheduledSending *ScheduledSending `json:"scheduledSending,omitempty"`
	// The status of the workflow:
	//
	// - `paused` if the workflow is paused
	// - `in_progress` if the workflow is in progress
	WorkflowStatus string `json:"workflowStatus,omitempty"`
	// An array of workflow steps.
	WorkflowSteps []WorkflowStep `json:"workflowSteps,omitempty"`
}

Workflow describes the workflow for an envelope.

type WorkflowStep added in v0.10.0

type WorkflowStep struct {
	// Indicates the action to perform. Valid values:
	//
	// - `pause_before`: The workflow should pause before the trigger described by `triggerOnItem` is reached.
	//
	Action string `json:"action,omitempty"`
	// The timestamp of when the workflow step transitioned to `completed` status.
	//
	// This property is read-only.
	CompletedDate string `json:"completedDate,omitempty"`
	// A complex element that specifies the delayed routing settings for the workflow step.
	DelayedRouting *DelayedRouting `json:"delayedRouting,omitempty"`
	// The unique ID of the item being triggered.
	ItemID string `json:"itemId,omitempty"`
	// The rules for recipient routing.
	RecipientRouting *RecipientRouting `json:"recipientRouting,omitempty"`
	// The status of the step. Valid values:
	//
	// - `inactive`
	// - `in_progress`
	// - `paused`
	// - `pending`
	// - `completed`
	//
	// This property is read-only.
	Status string `json:"status,omitempty"`
	// The type of item that triggers this workflow step. Valid values:
	//
	// * `routing_order`
	TriggerOnItem string `json:"triggerOnItem,omitempty"`
	// The timestamp of when the workflow step transitioned to `in_progress` status.
	//
	// This property is read-only.
	TriggeredDate string `json:"triggeredDate,omitempty"`
	// A unique identifier for this workflow step.
	//
	// This property is read-only.
	WorkflowStepID string `json:"workflowStepId,omitempty"`
}

WorkflowStep describes a single step in a workflow.

type Workspace

type Workspace struct {
	// The ID of the account to bill.
	BillableAccountID string `json:"billableAccountId,omitempty"`
	//
	CallerInformation *WorkspaceUser `json:"callerInformation,omitempty"`
	// The UTC DateTime when the workspace user authorization was created.
	Created *time.Time `json:"created,omitempty"`
	// Details about the user who created the workspace.
	CreatedByInformation *WorkspaceUser `json:"createdByInformation,omitempty"`
	// Utc date and time the comment was last updated (can only be done by creator.)
	LastModified *time.Time `json:"lastModified,omitempty"`
	// Details about the user who last modified the workspace.
	LastModifiedByInformation *WorkspaceUser `json:"lastModifiedByInformation,omitempty"`
	// Information about the settings for the workspace.
	Settings *WorkspaceSettings `json:"settings,omitempty"`
	// Indicates the envelope status. Valid values are:
	//
	// * sent - The envelope is sent to the recipients.
	// * created - The envelope is saved as a draft and can be modified and sent later.
	Status string `json:"status,omitempty"`
	// The relative URL for accessing the workspace.
	WorkspaceBaseURL string `json:"workspaceBaseUrl,omitempty"`
	// Text describing the purpose of the workspace.
	WorkspaceDescription string `json:"workspaceDescription,omitempty"`
	// The ID of the workspace, always populated.
	WorkspaceID string `json:"workspaceId,omitempty"`
	// The name of the workspace.
	WorkspaceName string `json:"workspaceName,omitempty"`
	// The relative URI for accessing the workspace.
	WorkspaceURI string `json:"workspaceUri,omitempty"`
}

Workspace is a DocuSign workspace is a collaboration area for sharing files and data.

type WorkspaceFolderContents

type WorkspaceFolderContents struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The folder from which to return items. You can enter either the folder name or folder ID.
	Folder *WorkspaceItem `json:"folder,omitempty"`
	// A list of workspace items.
	Items []WorkspaceItem `json:"items,omitempty"`
	//
	ParentFolders []WorkspaceItem `json:"parentFolders,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
	// The ID of the workspace, always populated.
	WorkspaceID string `json:"workspaceId,omitempty"`
}

WorkspaceFolderContents this object's properties describe the contents of a workspace folder.

type WorkspaceItem

type WorkspaceItem struct {
	//
	CallerAuthorization *WorkspaceUserAuthorization `json:"callerAuthorization,omitempty"`
	// If the item is a file, this property specifies the content type of the file.
	ContentType string `json:"contentType,omitempty"`
	// The UTC DateTime when the workspace item was created.
	Created *time.Time `json:"created,omitempty"`
	// The ID of the user who created the workspace item.
	CreatedByID string `json:"createdById,omitempty"`
	// Details about the user who created the workspace item.
	CreatedByInformation *WorkspaceUser `json:"createdByInformation,omitempty"`
	// The file extension of a file item.
	Extension string `json:"extension,omitempty"`
	// The size of the file in bytes.
	FileSize string `json:"fileSize,omitempty"`
	// The URI for retrieving the file.
	FileURI string `json:"fileUri,omitempty"`
	// A unique ID for the Salesforce object.
	ID string `json:"id,omitempty"`
	//  When **true,** the item is public.
	IsPublic Bool `json:"isPublic,omitempty"`
	// The UTC date and time that the comment was last updated.
	//
	// **Note:** This can only be done by the creator.
	LastModified *time.Time `json:"lastModified,omitempty"`
	// The ID of the user who last modified the item.
	LastModifiedByID string `json:"lastModifiedById,omitempty"`
	// Details about the user who last modified the workspace item.
	LastModifiedByInformation *WorkspaceUser `json:"lastModifiedByInformation,omitempty"`
	// The name of the file or folder.
	Name string `json:"name,omitempty"`
	// The number of pages in a file.
	PageCount string `json:"pageCount,omitempty"`
	// The ID of the parent folder, or the special value `root` for the root folder.
	ParentFolderID string `json:"parentFolderId,omitempty"`
	// The URI of the parent folder.
	ParentFolderURI string `json:"parentFolderUri,omitempty"`
	// A 64-byte, Secure Hash Algorithm 256 (SHA256) checksum that the caller computes across the entirety of the original content of a file. DocuSign compares this value to its own computation. If the two values are not equal, the original content and received content are not the same and the upload is refused.
	Sha256 string `json:"sha256,omitempty"`
	// The height of the thumbnail image.
	ThumbHeight string `json:"thumbHeight,omitempty"`
	// The width of the thumbnail image.
	ThumbWidth string `json:"thumbWidth,omitempty"`
	//
	Thumbnail *Page `json:"thumbnail,omitempty"`
	// The type of the workspace item. Valid values are file, folder.
	Type string `json:"type,omitempty"`
	// A URI containing the user ID.
	URI string `json:"uri,omitempty"`
	//
	UserAuthorization *WorkspaceUserAuthorization `json:"userAuthorization,omitempty"`
}

WorkspaceItem this object represents an item in a workspace, which can be either a file or folder.

type WorkspaceItemList

type WorkspaceItemList struct {
	// A list of workspace items.
	Items []WorkspaceItem `json:"items,omitempty"`
}

WorkspaceItemList is an array of objects that describe the items in a workspace.

type WorkspaceList

type WorkspaceList struct {
	// The last index position in the result set.
	EndPosition string `json:"endPosition,omitempty"`
	// The number of results in this response. Because you can filter which entries are included in the response, this value is always less than or equal to the `totalSetSize`.
	ResultSetSize string `json:"resultSetSize,omitempty"`
	// The starting index position of the current result set.
	StartPosition string `json:"startPosition,omitempty"`
	// The total number of items in the result set. This value is always greater than or equal to the value of `resultSetSize`.
	TotalSetSize string `json:"totalSetSize,omitempty"`
	// A list of workspaces.
	Workspaces []Workspace `json:"workspaces,omitempty"`
}

WorkspaceList this object contains a list of available workspaces.

type WorkspaceSettings

type WorkspaceSettings struct {
	// When **true,** commenting on the documents in the workspace is allowed.
	CommentsAllowed Bool `json:"commentsAllowed,omitempty"`
}

WorkspaceSettings this object provides information about the settings for the workspace.

type WorkspaceUser

type WorkspaceUser struct {
	// The account ID associated with the workspace user.
	AccountID string `json:"accountId,omitempty"`
	// The name of the account that the workspace user belongs to.
	AccountName string `json:"accountName,omitempty"`
	// The UTC DateTime when the user joined the workspace.
	ActiveSince *time.Time `json:"activeSince,omitempty"`
	// The UTC DateTime when the workspace user was created.
	Created *time.Time `json:"created,omitempty"`
	// The ID of the user who created this workspace user.
	CreatedByID string `json:"createdById,omitempty"`
	// The workspace user's email address.
	Email string `json:"email,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The text of the workspace invitation email message sent to the user.
	InvitationEmailBlurb string `json:"invitationEmailBlurb,omitempty"`
	// The subject line of the workspace invitation email message sent to the user.
	InvitationEmailSubject string `json:"invitationEmailSubject,omitempty"`
	// The UTC DateTime that the workspace user was last modified.
	LastModified *time.Time `json:"lastModified,omitempty"`
	// The ID of the user who last modified the workspace user.
	LastModifiedByID string `json:"lastModifiedById,omitempty"`
	// Filters the results by user status.
	// You can specify a comma-separated
	// list of the following statuses:
	//
	// * ActivationRequired
	// * ActivationSent
	// * Active
	// * Closed
	// * Disabled
	Status string `json:"status,omitempty"`
	// Type of the user. Valid values: type_owner, type_participant.
	Type string `json:"type,omitempty"`
	// The ID of the workspace user.
	UserID string `json:"userId,omitempty"`
	// The name of workspace user.
	UserName string `json:"userName,omitempty"`
	// The ID of the workspace.
	WorkspaceID string `json:"workspaceId,omitempty"`
	// The URL for accessing the workspace user.
	WorkspaceUserBaseURL string `json:"workspaceUserBaseUrl,omitempty"`
	// The ID of the workspace user.
	WorkspaceUserID string `json:"workspaceUserId,omitempty"`
	// The URI for accessing the workspace user.
	WorkspaceUserURI string `json:"workspaceUserUri,omitempty"`
}

WorkspaceUser this object represents the workspace user. This property is only returned in response to user specific GET call.

type WorkspaceUserAuthorization

type WorkspaceUserAuthorization struct {
	// When **true,** the workspace user can delete items from the workspace.
	CanDelete Bool `json:"canDelete,omitempty"`
	// When **true,** the workspace user can move the items in the workspace.
	CanMove Bool `json:"canMove,omitempty"`
	// When **true,** the workspace user can create transactions from the workspace.
	CanTransact Bool `json:"canTransact,omitempty"`
	// When **true,** the workspace user can view the items in the workspace.
	CanView Bool `json:"canView,omitempty"`
	// The UTC DateTime when the workspace user authorization was created.
	Created *time.Time `json:"created,omitempty"`
	// The ID of the user who created the workspace user authorization.
	CreatedByID string `json:"createdById,omitempty"`
	// This object describes errors that occur. It is only valid for responses and ignored in requests.
	ErrorDetails *ErrorDetails `json:"errorDetails,omitempty"`
	// The UTC DateTime when the workspace user authorization was last modified.
	Modified *time.Time `json:"modified,omitempty"`
	// The ID of the user who last modified the workspace user authorization.
	ModifiedByID string `json:"modifiedById,omitempty"`
	// The ID of the workspace user.
	WorkspaceUserID string `json:"workspaceUserId,omitempty"`
	// An object that provides details about the workspace user.
	WorkspaceUserInformation *WorkspaceUser `json:"workspaceUserInformation,omitempty"`
}

WorkspaceUserAuthorization provides properties that describe user authorization to a workspace.

type Zip

type Zip struct {
	TabBase
	TabGuidedForm
	TabPosition
	TabStyle
	TabValue
	// When **true,** the text string in the document may have extra whitespace and still match the anchor string. This occurs in two cases.
	//
	// First, it matches if the document string has a single extra whitespace character following a non-whitespace character in the anchor string. For example, if the anchor string is `DocuSign`, then `Docu Sign` will match. However, <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will not match.
	//
	// Second, it matches if the document string has one or more extra whitespace characters following a whitespace character in the anchor string. For example, if the anchor string is `Docu Sign`, then <code>Docu&nbsp;&nbsp;&nbsp;Sign</code> will match.
	//
	// The default value is **true.**
	//
	AnchorAllowWhiteSpaceInCharacters Bool `json:"anchorAllowWhiteSpaceInCharacters,omitempty"`
	// Metadata that indicates whether the `anchorAllowWhiteSpaceInCharacters` property is editable.
	AnchorAllowWhiteSpaceInCharactersMetadata *PropertyMetadata `json:"anchorAllowWhiteSpaceInCharactersMetadata,omitempty"`
	//
	Caption string `json:"caption,omitempty"`
	//
	CaptionMetadata *PropertyMetadata `json:"captionMetadata,omitempty"`
	// When **true,** the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender.
	//
	// When an envelope is completed the information is only available to the sender through the Form Data link in the DocuSign Console. The information on the downloaded document remains masked by asterisks.
	//
	// This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes.
	ConcealValueOnDocument Bool `json:"concealValueOnDocument,omitempty"`
	// Metadata that indicates whether the `concealValueOnDocument` property is editable.
	ConcealValueOnDocumentMetadata *PropertyMetadata `json:"concealValueOnDocumentMetadata,omitempty"`
	// When **true,** disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes.
	DisableAutoSize Bool `json:"disableAutoSize,omitempty"`
	// Metadata that indicates whether the `disableAutoSize` property is editable.
	DisableAutoSizeMetadata *PropertyMetadata `json:"disableAutoSizeMetadata,omitempty"`
	// The height of the tab in pixels.
	Height string `json:"height,omitempty"`
	// Metadata that indicates whether the `height` property is editable.
	HeightMetadata *PropertyMetadata `json:"heightMetadata,omitempty"`
	// Reserved for DocuSign.
	LocalePolicy *LocalePolicyTab `json:"localePolicy,omitempty"`
	// When **true,** the signer cannot change the data of the custom tab.
	Locked Bool `json:"locked,omitempty"`
	// Metadata that indicates whether the `locked` property is editable.
	LockedMetadata *PropertyMetadata `json:"lockedMetadata,omitempty"`
	// An optional value that describes the maximum length of the property when the property is a string.
	MaxLength string `json:"maxLength,omitempty"`
	// Metadata that indicates whether the `maxLength` property is editable.
	MaxLengthMetadata *PropertyMetadata `json:"maxLengthMetadata,omitempty"`
	// Reserved for DocuSign.
	MergeFieldXML string `json:"mergeFieldXml,omitempty"`
	// The initial value of the tab when it was sent to the recipient.
	OriginalValue string `json:"originalValue,omitempty"`
	// Metadata that indicates whether the `originalValue` property is editable.
	OriginalValueMetadata *PropertyMetadata `json:"originalValueMetadata,omitempty"`
	// When **true** and shared is true, information must be entered in this field to complete the envelope.
	RequireAll Bool `json:"requireAll,omitempty"`
	// Metadata that indicates whether the `requireAll` property is editable.
	RequireAllMetadata *PropertyMetadata `json:"requireAllMetadata,omitempty"`
	// Optional element for field markup. When **true,** the signer is required to initial when they modify a shared field.
	RequireInitialOnSharedChange Bool `json:"requireInitialOnSharedChange,omitempty"`
	// Metadata that indicates whether the `requireInitialOnSharedChange` property is editable.
	RequireInitialOnSharedChangeMetadata *PropertyMetadata `json:"requireInitialOnSharedChangeMetadata,omitempty"`
	// When **true,** the signer is required to fill out this tab.
	Required Bool `json:"required,omitempty"`
	// Metadata that indicates whether the `required` property is editable.
	RequiredMetadata *PropertyMetadata `json:"requiredMetadata,omitempty"`
	// When **true,** the sender must populate the tab before an envelope can be sent using the template.
	//
	// This value tab can only be changed by modifying (PUT) the template.
	//
	// Tabs with a `senderRequired` value of true cannot be deleted from an envelope.
	SenderRequired Bool `json:"senderRequired,omitempty"`
	// Metadata that indicates whether the `senderRequired` property is editable.
	SenderRequiredMetadata *PropertyMetadata `json:"senderRequiredMetadata,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipients string `json:"shareToRecipients,omitempty"`
	// Reserved for DocuSign.
	ShareToRecipientsMetadata *PropertyMetadata `json:"shareToRecipientsMetadata,omitempty"`
	// When **true,** this custom tab is shared.
	Shared Bool `json:"shared,omitempty"`
	// Metadata that indicates whether the `shared` property is editable.
	SharedMetadata *PropertyMetadata `json:"sharedMetadata,omitempty"`
	// Reserved for DocuSign.
	SmartContractInformation *SmartContractInformation `json:"smartContractInformation,omitempty"`
	// Reserved for DocuSign.
	Source string `json:"source,omitempty"`
	// Metadata that indicates whether the `toolTip` property is editable.
	//
	ToolTipMetadata *PropertyMetadata `json:"toolTipMetadata,omitempty"`
	// The text of a tooltip that appears when a user hovers over a form field or tab.
	//
	Tooltip string `json:"tooltip,omitempty"`
	// When **true,** ZIP+4 format is used.
	UseDash4 Bool `json:"useDash4,omitempty"`
	// Metadata that indicates whether the `useDash4` property is editable.
	UseDash4Metadata *PropertyMetadata `json:"useDash4Metadata,omitempty"`
	// The message displayed if the custom tab fails input validation (either custom of embedded).
	ValidationMessage string `json:"validationMessage,omitempty"`
	// Metadata that indicates whether the `validationMessage` property is editable.
	ValidationMessageMetadata *PropertyMetadata `json:"validationMessageMetadata,omitempty"`
	// A regular expression used to validate input for the tab.
	ValidationPattern string `json:"validationPattern,omitempty"`
	// Metadata that indicates whether the `validationPattern` property is editable.
	ValidationPatternMetadata *PropertyMetadata `json:"validationPatternMetadata,omitempty"`
	// The width of the tab in pixels.
	Width string `json:"width,omitempty"`
	// Metadata that indicates whether the `width` property is editable.
	WidthMetadata *PropertyMetadata `json:"widthMetadata,omitempty"`
}

Zip is a tab that allows the recipient to enter a ZIP code. The ZIP code can be five digits or nine digits in the ZIP+4 format. The zip code can be typed with or without dashes. It uses the same parameters as a Text tab, with the validation message and pattern set for ZIP code information.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL