diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,30 @@
+Copyright Capital Match (c) 2018
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above
+      copyright notice, this list of conditions and the following
+      disclaimer in the documentation and/or other materials provided
+      with the distribution.
+
+    * Neither the name of Author name here nor the names of other
+      contributors may be used to endorse or promote products derived
+      from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/docusign-base.cabal b/docusign-base.cabal
new file mode 100644
--- /dev/null
+++ b/docusign-base.cabal
@@ -0,0 +1,373 @@
+name:           docusign-base
+version:        0.0.1
+synopsis:       Low-level bindings to the DocuSign API
+description:    DocuSign is an electronic signature technology and digital transaction
+                management. These are just low-level bindings to the API.
+category:       Business
+author:         Jonathan Knowles <mail@jonathanknowles.net>
+maintainer:     dev@capital-match.com
+license-file:   LICENSE
+license:        BSD3
+build-type:     Simple
+cabal-version:  >= 1.10
+
+source-repository head
+  type: git
+  location: https://github.com/capital-match/docusign-base
+
+library
+  exposed-modules:
+      DocuSign.Base
+      DocuSign.Base.Fields
+      DocuSign.Base.Types
+      DocuSign.Base.ContentTypes
+  other-modules:
+      DocuSign.Base.Types.AccountAddress
+      DocuSign.Base.Types.AccountBillingPlan
+      DocuSign.Base.Types.AccountBrands
+      DocuSign.Base.Types.AccountConsumerDisclosures
+      DocuSign.Base.Types.AccountCustomFields
+      DocuSign.Base.Types.AccountMinimumPasswordLength
+      DocuSign.Base.Types.AccountPasswordExpirePasswordDays
+      DocuSign.Base.Types.AccountPasswordLockoutDurationMinutes
+      DocuSign.Base.Types.AccountPasswordLockoutDurationType
+      DocuSign.Base.Types.AccountPasswordMinimumPasswordAgeDays
+      DocuSign.Base.Types.AccountPasswordQuestionsRequired
+      DocuSign.Base.Types.AccountPasswordRules
+      DocuSign.Base.Types.AccountPasswordStrengthType
+      DocuSign.Base.Types.AccountPasswordStrengthTypeOption
+      DocuSign.Base.Types.AccountPermissionProfiles
+      DocuSign.Base.Types.AccountRoleSettings
+      DocuSign.Base.Types.Accounts
+      DocuSign.Base.Types.AccountSettingsInformation
+      DocuSign.Base.Types.AccountSharedAccess
+      DocuSign.Base.Types.AccountSignatureProvider
+      DocuSign.Base.Types.AccountSignatureProviderOption
+      DocuSign.Base.Types.AccountSignatureProviders
+      DocuSign.Base.Types.AccountTabSettings
+      DocuSign.Base.Types.AccountWatermarks
+      DocuSign.Base.Types.AddOn
+      DocuSign.Base.Types.AddressInformation
+      DocuSign.Base.Types.AddressInformationInput
+      DocuSign.Base.Types.AddressInformationV2
+      DocuSign.Base.Types.Agent
+      DocuSign.Base.Types.ApiRequestLog
+      DocuSign.Base.Types.ApiRequestLogsResult
+      DocuSign.Base.Types.Approve
+      DocuSign.Base.Types.AppStoreProduct
+      DocuSign.Base.Types.AppStoreReceipt
+      DocuSign.Base.Types.Attachment
+      DocuSign.Base.Types.Authentication
+      DocuSign.Base.Types.AuthenticationMethod
+      DocuSign.Base.Types.AuthenticationStatus
+      DocuSign.Base.Types.BccEmailAddress
+      DocuSign.Base.Types.BillingCharge
+      DocuSign.Base.Types.BillingChargeResponse
+      DocuSign.Base.Types.BillingDiscount
+      DocuSign.Base.Types.BillingInvoiceItem
+      DocuSign.Base.Types.BillingInvoicesResponse
+      DocuSign.Base.Types.BillingInvoicesSummary
+      DocuSign.Base.Types.BillingPayment
+      DocuSign.Base.Types.BillingPaymentRequest
+      DocuSign.Base.Types.BillingPaymentResponse
+      DocuSign.Base.Types.BillingPaymentsResponse
+      DocuSign.Base.Types.BillingPlan
+      DocuSign.Base.Types.BillingPlanInformation
+      DocuSign.Base.Types.BillingPlanPreview
+      DocuSign.Base.Types.BillingPlanResponse
+      DocuSign.Base.Types.BillingPlans
+      DocuSign.Base.Types.BillingPlansResponse
+      DocuSign.Base.Types.BillingPlanUpdateResponse
+      DocuSign.Base.Types.BillingPrice
+      DocuSign.Base.Types.Brand
+      DocuSign.Base.Types.BrandEmailContent
+      DocuSign.Base.Types.BrandLink
+      DocuSign.Base.Types.BrandLogos
+      DocuSign.Base.Types.BrandRequest
+      DocuSign.Base.Types.BrandResources
+      DocuSign.Base.Types.BrandResourcesList
+      DocuSign.Base.Types.BrandResourceUrls
+      DocuSign.Base.Types.BrandsRequest
+      DocuSign.Base.Types.BulkEnvelope
+      DocuSign.Base.Types.BulkEnvelopes
+      DocuSign.Base.Types.BulkEnvelopeStatus
+      DocuSign.Base.Types.BulkRecipient
+      DocuSign.Base.Types.BulkRecipientSignatureProvider
+      DocuSign.Base.Types.BulkRecipientsRequest
+      DocuSign.Base.Types.BulkRecipientsSummaryResponse
+      DocuSign.Base.Types.BulkRecipientsUpdateResponse
+      DocuSign.Base.Types.BulkRecipientTabLabel
+      DocuSign.Base.Types.CaptiveRecipient
+      DocuSign.Base.Types.CaptiveRecipientInformation
+      DocuSign.Base.Types.CarbonCopy
+      DocuSign.Base.Types.CertifiedDelivery
+      DocuSign.Base.Types.Checkbox
+      DocuSign.Base.Types.ChunkedUploadPart
+      DocuSign.Base.Types.ChunkedUploadRequest
+      DocuSign.Base.Types.ChunkedUploads
+      DocuSign.Base.Types.CloudStorage
+      DocuSign.Base.Types.CloudStorageProvider
+      DocuSign.Base.Types.CloudStorageProviders
+      DocuSign.Base.Types.Common
+      DocuSign.Base.Types.Company
+      DocuSign.Base.Types.CompositeTemplate
+      DocuSign.Base.Types.ConnectConfigResults
+      DocuSign.Base.Types.ConnectConfigurations
+      DocuSign.Base.Types.ConnectDebugLog
+      DocuSign.Base.Types.ConnectEvents
+      DocuSign.Base.Types.ConnectFailureFilter
+      DocuSign.Base.Types.ConnectFailureResult
+      DocuSign.Base.Types.ConnectFailureResults
+      DocuSign.Base.Types.ConnectLog
+      DocuSign.Base.Types.ConsoleViewRequest
+      DocuSign.Base.Types.ContactGetResponse
+      DocuSign.Base.Types.ContactModRequest
+      DocuSign.Base.Types.ContactPhoneNumber
+      DocuSign.Base.Types.Contacts
+      DocuSign.Base.Types.ContactUpdateResponse
+      DocuSign.Base.Types.CorrectViewRequest
+      DocuSign.Base.Types.Country
+      DocuSign.Base.Types.CreditCardInformation
+      DocuSign.Base.Types.CreditCardTypes
+      DocuSign.Base.Types.CurrencyFeatureSetPrice
+      DocuSign.Base.Types.CurrencyPlanPrice
+      DocuSign.Base.Types.CustomField
+      DocuSign.Base.Types.CustomFieldsEnvelope
+      DocuSign.Base.Types.CustomFieldV2
+      DocuSign.Base.Types.CustomTabs
+      DocuSign.Base.Types.Date
+      DocuSign.Base.Types.DateSigned
+      DocuSign.Base.Types.DateStampProperties
+      DocuSign.Base.Types.Decline
+      DocuSign.Base.Types.DobInformationInput
+      DocuSign.Base.Types.Document
+      DocuSign.Base.Types.DocumentTemplate
+      DocuSign.Base.Types.DocumentTemplateList
+      DocuSign.Base.Types.DocumentVisibility
+      DocuSign.Base.Types.Editor
+      DocuSign.Base.Types.Email
+      DocuSign.Base.Types.EmailAddress
+      DocuSign.Base.Types.EMortgageTransactions
+      DocuSign.Base.Types.ENoteConfigurations
+      DocuSign.Base.Types.EnvelopeAttachments
+      DocuSign.Base.Types.EnvelopeAttachmentsRequest
+      DocuSign.Base.Types.EnvelopeAttachmentsResult
+      DocuSign.Base.Types.EnvelopeAuditEvent
+      DocuSign.Base.Types.EnvelopeAuditEventResponse
+      DocuSign.Base.Types.EnvelopeBulkRecipients
+      DocuSign.Base.Types.EnvelopeConsumerDisclosures
+      DocuSign.Base.Types.EnvelopeCustomFields
+      DocuSign.Base.Types.EnvelopeDefinition
+      DocuSign.Base.Types.EnvelopeDocument
+      DocuSign.Base.Types.EnvelopeDocumentFields
+      DocuSign.Base.Types.EnvelopeDocuments
+      DocuSign.Base.Types.EnvelopeDocumentTabs
+      DocuSign.Base.Types.EnvelopeDocumentVisibility
+      DocuSign.Base.Types.EnvelopeEmailSettings
+      DocuSign.Base.Types.EnvelopeEvent
+      DocuSign.Base.Types.EnvelopeFormData
+      DocuSign.Base.Types.EnvelopeId
+      DocuSign.Base.Types.EnvelopeIdsRequest
+      DocuSign.Base.Types.EnvelopeLocks
+      DocuSign.Base.Types.EnvelopeNotificationRequest
+      DocuSign.Base.Types.EnvelopeRecipients
+      DocuSign.Base.Types.EnvelopeRecipientTabs
+      DocuSign.Base.Types.Envelopes
+      DocuSign.Base.Types.EnvelopesInformation
+      DocuSign.Base.Types.EnvelopeSummary
+      DocuSign.Base.Types.EnvelopeTemplateDefinition
+      DocuSign.Base.Types.EnvelopeTemplateResult
+      DocuSign.Base.Types.EnvelopeTemplateResults
+      DocuSign.Base.Types.EnvelopeTemplates
+      DocuSign.Base.Types.EnvelopeTransactionStatus
+      DocuSign.Base.Types.EnvelopeUpdateSummary
+      DocuSign.Base.Types.EnvelopeViews
+      DocuSign.Base.Types.ErrorDetails
+      DocuSign.Base.Types.EventNotification
+      DocuSign.Base.Types.EventResult
+      DocuSign.Base.Types.Expirations
+      DocuSign.Base.Types.ExternalDocServiceErrorDetails
+      DocuSign.Base.Types.ExternalFile
+      DocuSign.Base.Types.FeatureSet
+      DocuSign.Base.Types.FileType
+      DocuSign.Base.Types.FileTypeList
+      DocuSign.Base.Types.Filter
+      DocuSign.Base.Types.FirstName
+      DocuSign.Base.Types.Folder
+      DocuSign.Base.Types.FolderItem
+      DocuSign.Base.Types.FolderItemResponse
+      DocuSign.Base.Types.FolderItemsResponse
+      DocuSign.Base.Types.FolderItemV2
+      DocuSign.Base.Types.Folders
+      DocuSign.Base.Types.FoldersRequest
+      DocuSign.Base.Types.ForgottenPasswordInformation
+      DocuSign.Base.Types.FormulaTab
+      DocuSign.Base.Types.FullName
+      DocuSign.Base.Types.Group
+      DocuSign.Base.Types.GroupBrands
+      DocuSign.Base.Types.Groups
+      DocuSign.Base.Types.GroupUsers
+      DocuSign.Base.Types.IdCheckInformationInput
+      DocuSign.Base.Types.InitialHere
+      DocuSign.Base.Types.InlineTemplate
+      DocuSign.Base.Types.InPersonSigner
+      DocuSign.Base.Types.IntegratedUserInfoList
+      DocuSign.Base.Types.Intermediary
+      DocuSign.Base.Types.Invoices
+      DocuSign.Base.Types.LastName
+      DocuSign.Base.Types.List
+      DocuSign.Base.Types.ListCustomField
+      DocuSign.Base.Types.ListItem
+      DocuSign.Base.Types.LockRequest
+      DocuSign.Base.Types.LoginAccount
+      DocuSign.Base.Types.MatchBox
+      DocuSign.Base.Types.MemberGroupSharedItem
+      DocuSign.Base.Types.MemberSharedItems
+      DocuSign.Base.Types.MergeField
+      DocuSign.Base.Types.MobileNotifierConfiguration
+      DocuSign.Base.Types.Money
+      DocuSign.Base.Types.NameValue
+      DocuSign.Base.Types.NewAccountDefinition
+      DocuSign.Base.Types.NewAccountSummary
+      DocuSign.Base.Types.NewUser
+      DocuSign.Base.Types.NewUsersDefinition
+      DocuSign.Base.Types.NewUsersSummary
+      DocuSign.Base.Types.NotaryHost
+      DocuSign.Base.Types.Note
+      DocuSign.Base.Types.Notification
+      DocuSign.Base.Types.Number
+      DocuSign.Base.Types.OauthAccess
+      DocuSign.Base.Types.Page
+      DocuSign.Base.Types.PageImages
+      DocuSign.Base.Types.PageRequest
+      DocuSign.Base.Types.PaymentDetails
+      DocuSign.Base.Types.PaymentGatewayAccounts
+      DocuSign.Base.Types.PaymentGatewayAccountsInfo
+      DocuSign.Base.Types.PaymentLineItem
+      DocuSign.Base.Types.PaymentProcessorInformation
+      DocuSign.Base.Types.Payments
+      DocuSign.Base.Types.PermissionProfileInformation
+      DocuSign.Base.Types.PlanInformation
+      DocuSign.Base.Types.PostTransactionsResponse
+      DocuSign.Base.Types.PowerFormData
+      DocuSign.Base.Types.PowerFormFormDataRecipient
+      DocuSign.Base.Types.PowerFormRecipient
+      DocuSign.Base.Types.PowerForms
+      DocuSign.Base.Types.PowerFormSendersResponse
+      DocuSign.Base.Types.PowerFormsFormDataResponse
+      DocuSign.Base.Types.PowerFormsRequest
+      DocuSign.Base.Types.PowerFormsResponse
+      DocuSign.Base.Types.PropertyMetadata
+      DocuSign.Base.Types.Province
+      DocuSign.Base.Types.ProvisioningInformation
+      DocuSign.Base.Types.PurchasedEnvelopesInformation
+      DocuSign.Base.Types.Radio
+      DocuSign.Base.Types.RadioGroup
+      DocuSign.Base.Types.RecipientAttachment
+      DocuSign.Base.Types.RecipientDomain
+      DocuSign.Base.Types.RecipientEmailNotification
+      DocuSign.Base.Types.RecipientEvent
+      DocuSign.Base.Types.RecipientFormData
+      DocuSign.Base.Types.RecipientNamesResponse
+      DocuSign.Base.Types.RecipientPhoneAuthentication
+      DocuSign.Base.Types.RecipientSAMLAuthentication
+      DocuSign.Base.Types.RecipientSignatureInformation
+      DocuSign.Base.Types.RecipientSignatureProvider
+      DocuSign.Base.Types.RecipientSignatureProviderOptions
+      DocuSign.Base.Types.RecipientSMSAuthentication
+      DocuSign.Base.Types.RecipientsUpdateSummary
+      DocuSign.Base.Types.RecipientUpdateResponse
+      DocuSign.Base.Types.RecipientViewRequest
+      DocuSign.Base.Types.ReferralInformation
+      DocuSign.Base.Types.Reminders
+      DocuSign.Base.Types.RequestLogs
+      DocuSign.Base.Types.Resources
+      DocuSign.Base.Types.ReturnUrlRequest
+      DocuSign.Base.Types.SamlAssertionAttribute
+      DocuSign.Base.Types.SeatDiscount
+      DocuSign.Base.Types.SenderEmailNotifications
+      DocuSign.Base.Types.ServerTemplate
+      DocuSign.Base.Types.Services
+      DocuSign.Base.Types.ServiceVersion
+      DocuSign.Base.Types.SettingsMetadata
+      DocuSign.Base.Types.SharedItem
+      DocuSign.Base.Types.SignatureProviderRequiredOption
+      DocuSign.Base.Types.SignatureType
+      DocuSign.Base.Types.Signer
+      DocuSign.Base.Types.SignerAttachment
+      DocuSign.Base.Types.SignerEmailNotifications
+      DocuSign.Base.Types.SignHere
+      DocuSign.Base.Types.SigningGroupInformation
+      DocuSign.Base.Types.SigningGroups
+      DocuSign.Base.Types.SigningGroupUser
+      DocuSign.Base.Types.SigningGroupUsers
+      DocuSign.Base.Types.SocialAuthentication
+      DocuSign.Base.Types.Ssn
+      DocuSign.Base.Types.Ssn4InformationInput
+      DocuSign.Base.Types.Ssn9InformationInput
+      DocuSign.Base.Types.SupportedLanguages
+      DocuSign.Base.Types.TabMetadataList
+      DocuSign.Base.Types.TemplateBulkRecipients
+      DocuSign.Base.Types.TemplateCustomFields
+      DocuSign.Base.Types.TemplateDocumentFields
+      DocuSign.Base.Types.TemplateDocuments
+      DocuSign.Base.Types.TemplateDocumentTabs
+      DocuSign.Base.Types.TemplateDocumentVisibility
+      DocuSign.Base.Types.TemplateLocks
+      DocuSign.Base.Types.TemplateMatch
+      DocuSign.Base.Types.TemplateNotificationRequest
+      DocuSign.Base.Types.TemplateRecipients
+      DocuSign.Base.Types.TemplateRecipientTabs
+      DocuSign.Base.Types.TemplateRole
+      DocuSign.Base.Types.Templates
+      DocuSign.Base.Types.TemplateSharedItem
+      DocuSign.Base.Types.TemplateSummary
+      DocuSign.Base.Types.TemplateTabs
+      DocuSign.Base.Types.TemplateUpdateSummary
+      DocuSign.Base.Types.TemplateViews
+      DocuSign.Base.Types.TextContent
+      DocuSign.Base.Types.TextCustomField
+      DocuSign.Base.Types.Title
+      DocuSign.Base.Types.UsageHistory
+      DocuSign.Base.Types.UserAccountManagementGranularInformation
+      DocuSign.Base.Types.UserCustomSettings
+      DocuSign.Base.Types.UserInfo
+      DocuSign.Base.Types.UserInfoList
+      DocuSign.Base.Types.UserInformationList
+      DocuSign.Base.Types.UserPasswordInformation
+      DocuSign.Base.Types.UserPasswordRules
+      DocuSign.Base.Types.UserProfiles
+      DocuSign.Base.Types.Users
+      DocuSign.Base.Types.UserSettingsInformation
+      DocuSign.Base.Types.UserSharedItem
+      DocuSign.Base.Types.UserSignatureDefinition
+      DocuSign.Base.Types.UserSignatures
+      DocuSign.Base.Types.UserSignaturesInformation
+      DocuSign.Base.Types.UserSocialAccountLogins
+      DocuSign.Base.Types.UserSocialIdResult
+      DocuSign.Base.Types.View
+      DocuSign.Base.Types.ViewLinkRequest
+      DocuSign.Base.Types.WorkspaceFolderContents
+      DocuSign.Base.Types.WorkspaceItemList
+      DocuSign.Base.Types.WorkspaceItems
+      DocuSign.Base.Types.WorkspaceList
+      DocuSign.Base.Types.Workspaces
+      DocuSign.Base.Types.WorkspaceUser
+      DocuSign.Base.Types.WorkspaceUserAuthorization
+      DocuSign.Base.Types.Zip
+      Paths_docusign_base
+  hs-source-dirs:
+      src
+  default-extensions: DeriveGeneric GeneralizedNewtypeDeriving
+  build-depends:
+      aeson
+      -- base upper version bound is nonsense
+    , base < 1000
+    , bytestring
+    , data-default
+    , http-media
+    , lens
+    , servant
+    , servant-client
+    , text
+  default-language: Haskell2010
diff --git a/src/DocuSign/Base.hs b/src/DocuSign/Base.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base.hs
@@ -0,0 +1,941 @@
+{-# LANGUAGE DataKinds         #-}
+{-# LANGUAGE FlexibleContexts  #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE RecordWildCards   #-}
+{-# LANGUAGE TypeFamilies      #-}
+{-# LANGUAGE TypeOperators     #-}
+
+{-# OPTIONS_GHC -freduction-depth=0 #-}
+
+module DocuSign.Base where
+
+import DocuSign.Base.ContentTypes
+import DocuSign.Base.Types
+import Servant.API
+
+import Data.Proxy                     ( Proxy (..) )
+import Data.Text                      ( Text )
+import Servant.API.Verbs              ( StdMethod (..)
+                                      , Verb )
+import Servant.Client                 ( ClientM
+                                      , client)
+
+type DocuSignAPI
+{- accountCustomFieldsDeleteAccountCustomFields                             -} =    "v2" :> "accounts" :> Capture "accountId" Text :> "custom_fields" :> Capture "customFieldId" Text :> QueryParam "apply_to_templates" Text :> Verb 'DELETE 200 '[JSON] ()
+{- accountCustomFieldsGetAccountCustomFields                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "custom_fields" :> Verb 'GET 200 '[JSON] AccountCustomFields
+{- accountCustomFieldsPostAccountCustomFields                               -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "custom_fields" :> QueryParam "apply_to_templates" Text :> ReqBody '[JSON] CustomField :> Verb 'POST 200 '[JSON] AccountCustomFields
+{- accountCustomFieldsPutAccountCustomFields                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "custom_fields" :> Capture "customFieldId" Text :> QueryParam "apply_to_templates" Text :> ReqBody '[JSON] CustomField :> Verb 'PUT 200 '[JSON] AccountCustomFields
+{- accountPasswordRulesGetAccountPasswordRules                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "settings" :> "password_rules" :> Verb 'GET 200 '[JSON] AccountPasswordRules
+{- accountPasswordRulesPutAccountPasswordRules                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "settings" :> "password_rules" :> ReqBody '[JSON] AccountPasswordRules :> Verb 'PUT 200 '[JSON] AccountPasswordRules
+{- accountSignatureProvidersGetSignatureProviders                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "signatureProviders" :> Verb 'GET 200 '[JSON] AccountSignatureProviders
+{- accountsDeleteAccount                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> Verb 'DELETE 200 '[JSON] ()
+{- accountsGetAccount                                                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> QueryParam "include_account_settings" Text :> Verb 'GET 200 '[JSON] Accounts
+{- accountsGetProvisioning                                                  -} :<|> "v2" :> "accounts" :> "provisioning" :> Verb 'GET 200 '[JSON] ProvisioningInformation
+{- accountsPostAccounts                                                     -} :<|> "v2" :> "accounts" :> QueryParam "preview_billing_plan" Text :> ReqBody '[JSON] NewAccountDefinition :> Verb 'POST 200 '[JSON] NewAccountSummary
+{- apiRequestLogDeleteRequestLogs                                           -} :<|> "v2" :> "diagnostics" :> "request_logs" :> Verb 'DELETE 200 '[JSON] ()
+{- apiRequestLogGetRequestLog                                               -} :<|> "v2" :> "diagnostics" :> "request_logs" :> Capture "requestLogId" Text :> Verb 'GET 200 '[PlainText] Text
+{- apiRequestLogGetRequestLogSettings                                       -} :<|> "v2" :> "diagnostics" :> "settings" :> Verb 'GET 200 '[JSON] RequestLogs
+{- apiRequestLogGetRequestLogs                                              -} :<|> "v2" :> "diagnostics" :> "request_logs" :> QueryParam "encoding" Text :> Verb 'GET 200 '[JSON] ApiRequestLogsResult
+{- apiRequestLogPutRequestLogSettings                                       -} :<|> "v2" :> "diagnostics" :> "settings" :> ReqBody '[JSON] RequestLogs :> Verb 'PUT 200 '[JSON] RequestLogs
+{- attachmentsDeleteAttachments                                             -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "attachments" :> ReqBody '[JSON] EnvelopeAttachmentsRequest :> Verb 'DELETE 200 '[JSON] EnvelopeAttachmentsResult
+{- attachmentsGetAttachment                                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "attachments" :> Capture "attachmentId" Text :> Verb 'GET 200 '[JSON] ()
+{- attachmentsGetAttachments                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "attachments" :> Verb 'GET 200 '[JSON] EnvelopeAttachmentsResult
+{- attachmentsPutAttachment                                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "attachments" :> Capture "attachmentId" Text :> ReqBody '[JSON] Attachment :> Verb 'PUT 200 '[JSON] EnvelopeAttachmentsResult
+{- attachmentsPutAttachments                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "attachments" :> ReqBody '[JSON] EnvelopeAttachmentsRequest :> Verb 'PUT 200 '[JSON] EnvelopeAttachmentsResult
+{- auditEventsGetAuditEvents                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "audit_events" :> Verb 'GET 200 '[JSON] EnvelopeAuditEventResponse
+{- billingChargesGetAccountBillingCharges                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "billing_charges" :> QueryParam "include_charges" Text :> Verb 'GET 200 '[JSON] BillingChargeResponse
+{- billingInvoicesGetBillingInvoice                                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "billing_invoices" :> Capture "invoiceId" Text :> Verb 'GET 200 '[JSON] Invoices
+{- billingInvoicesGetBillingInvoices                                        -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "billing_invoices" :> QueryParam "from_date" Text :> QueryParam "to_date" Text :> Verb 'GET 200 '[JSON] BillingInvoicesResponse
+{- billingInvoicesGetBillingInvoicesPastDue                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "billing_invoices_past_due" :> Verb 'GET 200 '[JSON] BillingInvoicesSummary
+{- billingPaymentsGetPayment                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "billing_payments" :> Capture "paymentId" Text :> Verb 'GET 200 '[JSON] Payments
+{- billingPaymentsGetPaymentList                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "billing_payments" :> QueryParam "from_date" Text :> QueryParam "to_date" Text :> Verb 'GET 200 '[JSON] BillingPaymentsResponse
+{- billingPaymentsPostPayment                                               -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "billing_payments" :> ReqBody '[JSON] BillingPaymentRequest :> Verb 'POST 200 '[JSON] BillingPaymentResponse
+{- billingPlanGetBillingPlan                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "billing_plan" :> QueryParam "include_credit_card_information" Text :> QueryParam "include_metadata" Text :> QueryParam "include_successor_plans" Text :> Verb 'GET 200 '[JSON] BillingPlans
+{- billingPlanGetCreditCardInfo                                             -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "billing_plan" :> "credit_card" :> Verb 'GET 200 '[JSON] CreditCardInformation
+{- billingPlanPutBillingPlan                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "billing_plan" :> QueryParam "preview_billing_plan" Text :> ReqBody '[JSON] BillingPlanInformation :> Verb 'PUT 200 '[JSON] BillingPlanUpdateResponse
+{- billingPlansGetBillingPlan                                               -} :<|> "v2" :> "billing_plans" :> Capture "billingPlanId" Text :> Verb 'GET 200 '[JSON] BillingPlanResponse
+{- billingPlansGetBillingPlans                                              -} :<|> "v2" :> "billing_plans" :> Verb 'GET 200 '[JSON] BillingPlansResponse
+{- brandDeleteBrand                                                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "brands" :> Capture "brandId" Text :> Verb 'DELETE 200 '[JSON] ()
+{- brandExportGetBrandExportFile                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "brands" :> Capture "brandId" Text :> "file" :> Verb 'GET 200 '[JSON] ()
+{- brandGetBrand                                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "brands" :> Capture "brandId" Text :> QueryParam "include_external_references" Text :> QueryParam "include_logos" Text :> Verb 'GET 200 '[JSON] Brand
+{- brandLogoDeleteBrandLogo                                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "brands" :> Capture "brandId" Text :> "logos" :> Capture "logoType" Text :> Verb 'DELETE 200 '[JSON] ()
+{- brandLogoGetBrandLogo                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "brands" :> Capture "brandId" Text :> "logos" :> Capture "logoType" Text :> Verb 'GET 200 '[JSON] ()
+{- brandLogoPutBrandLogo                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "brands" :> Capture "brandId" Text :> "logos" :> Capture "logoType" Text :> Verb 'PUT 200 '[JSON] ()
+{- brandPutBrand                                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "brands" :> Capture "brandId" Text :> ReqBody '[JSON] Brand :> Verb 'PUT 200 '[JSON] Brand
+{- brandResourcesGetBrandResources                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "brands" :> Capture "brandId" Text :> "resources" :> Capture "resourceContentType" Text :> QueryParam "langcode" Text :> QueryParam "return_master" Text :> Verb 'GET 200 '[JSON] ()
+{- brandResourcesGetBrandResourcesList                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "brands" :> Capture "brandId" Text :> "resources" :> Verb 'GET 200 '[JSON] BrandResourcesList
+{- brandResourcesPutBrandResources                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "brands" :> Capture "brandId" Text :> "resources" :> Capture "resourceContentType" Text :> Verb 'PUT 200 '[JSON] BrandResources
+{- brandsDeleteBrands                                                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "brands" :> ReqBody '[JSON] BrandsRequest :> Verb 'DELETE 200 '[JSON] AccountBrands
+{- brandsDeleteGroupBrands                                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "groups" :> Capture "groupId" Text :> "brands" :> ReqBody '[JSON] BrandsRequest :> Verb 'DELETE 200 '[JSON] GroupBrands
+{- brandsGetBrands                                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "brands" :> QueryParam "exclude_distributor_brand" Text :> QueryParam "include_logos" Text :> Verb 'GET 200 '[JSON] AccountBrands
+{- brandsGetGroupBrands                                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "groups" :> Capture "groupId" Text :> "brands" :> Verb 'GET 200 '[JSON] GroupBrands
+{- brandsPostBrands                                                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "brands" :> ReqBody '[JSON] Brand :> Verb 'POST 200 '[JSON] AccountBrands
+{- brandsPutGroupBrands                                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "groups" :> Capture "groupId" Text :> "brands" :> ReqBody '[JSON] BrandsRequest :> Verb 'PUT 200 '[JSON] GroupBrands
+{- bulkEnvelopesGetBulkEnvelopesBatchId                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "bulk_envelopes" :> Capture "batchId" Text :> QueryParam "count" Text :> QueryParam "include" Text :> QueryParam "start_position" Text :> Verb 'GET 200 '[JSON] BulkEnvelopeStatus
+{- bulkEnvelopesGetEnvelopesBulk                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "bulk_envelopes" :> QueryParam "count" Text :> QueryParam "include" Text :> QueryParam "start_position" Text :> Verb 'GET 200 '[JSON] BulkEnvelopes
+{- captiveRecipientsDeleteCaptiveRecipientsPart                             -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "captive_recipients" :> Capture "recipientPart" Text :> ReqBody '[JSON] CaptiveRecipientInformation :> Verb 'DELETE 200 '[JSON] CaptiveRecipientInformation
+{- chunkedUploadsDeleteChunkedUpload                                        -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "chunked_uploads" :> Capture "chunkedUploadId" Text :> Verb 'DELETE 200 '[JSON] ChunkedUploads
+{- chunkedUploadsGetChunkedUpload                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "chunked_uploads" :> Capture "chunkedUploadId" Text :> QueryParam "include" Text :> Verb 'GET 200 '[JSON] ChunkedUploads
+{- chunkedUploadsPostChunkedUploads                                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "chunked_uploads" :> ReqBody '[JSON] ChunkedUploadRequest :> Verb 'POST 200 '[JSON] ChunkedUploads
+{- chunkedUploadsPutChunkedUploadPart                                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "chunked_uploads" :> Capture "chunkedUploadId" Text :> Capture "chunkedUploadPartSeq" Text :> ReqBody '[JSON] ChunkedUploadRequest :> Verb 'PUT 200 '[JSON] ChunkedUploads
+{- chunkedUploadsPutChunkedUploads                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "chunked_uploads" :> Capture "chunkedUploadId" Text :> QueryParam "action" Text :> Verb 'PUT 200 '[JSON] ChunkedUploads
+{- cloudStorageDeleteCloudStorage                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "cloud_storage" :> Capture "serviceId" Text :> Verb 'DELETE 200 '[JSON] CloudStorageProviders
+{- cloudStorageDeleteCloudStorageProviders                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "cloud_storage" :> ReqBody '[JSON] CloudStorageProviders :> Verb 'DELETE 200 '[JSON] CloudStorageProviders
+{- cloudStorageFolderGetCloudStorageFolder                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "cloud_storage" :> Capture "serviceId" Text :> "folders" :> Capture "folderId" Text :> QueryParam "cloud_storage_folder_path" Text :> QueryParam "count" Text :> QueryParam "order" Text :> QueryParam "order_by" Text :> QueryParam "search_text" Text :> QueryParam "start_position" Text :> Verb 'GET 200 '[JSON] CloudStorage
+{- cloudStorageFolderGetCloudStorageFolderAll                               -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "cloud_storage" :> Capture "serviceId" Text :> "folders" :> QueryParam "cloud_storage_folder_path" Text :> QueryParam "count" Text :> QueryParam "order" Text :> QueryParam "order_by" Text :> QueryParam "search_text" Text :> QueryParam "start_position" Text :> Verb 'GET 200 '[JSON] CloudStorage
+{- cloudStorageGetCloudStorage                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "cloud_storage" :> Capture "serviceId" Text :> QueryParam "redirectUrl" Text :> Verb 'GET 200 '[JSON] CloudStorageProviders
+{- cloudStorageGetCloudStorageProviders                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "cloud_storage" :> QueryParam "redirectUrl" Text :> Verb 'GET 200 '[JSON] CloudStorageProviders
+{- cloudStoragePostCloudStorage                                             -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "cloud_storage" :> ReqBody '[JSON] CloudStorageProviders :> Verb 'POST 200 '[JSON] CloudStorageProviders
+{- connectDeleteConnectConfig                                               -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> Capture "connectId" Text :> Verb 'DELETE 200 '[JSON] ()
+{- connectFailuresDeleteConnectFailureLog                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> "failures" :> Capture "failureId" Text :> Verb 'DELETE 200 '[JSON] ()
+{- connectFailuresGetConnectLogs                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> "failures" :> QueryParam "from_date" Text :> QueryParam "to_date" Text :> Verb 'GET 200 '[JSON] ConnectEvents
+{- connectGetConnectConfig                                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> Capture "connectId" Text :> Verb 'GET 200 '[JSON] ConnectConfigResults
+{- connectGetConnectConfigs                                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> Verb 'GET 200 '[JSON] ConnectConfigResults
+{- connectGetConnectUsers                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> Capture "connectId" Text :> "users" :> QueryParam "count" Text :> QueryParam "email_substring" Text :> QueryParam "list_included_users" Text :> QueryParam "start_position" Text :> QueryParam "status" Text :> QueryParam "user_name_substring" Text :> Verb 'GET 200 '[JSON] IntegratedUserInfoList
+{- connectLogDeleteConnectLog                                               -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> "logs" :> Capture "logId" Text :> Verb 'DELETE 200 '[JSON] ()
+{- connectLogDeleteConnectLogs                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> "logs" :> Verb 'DELETE 200 '[JSON] ()
+{- connectLogGetConnectLog                                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> "logs" :> Capture "logId" Text :> QueryParam "additional_info" Text :> Verb 'GET 200 '[JSON] ConnectLog
+{- connectLogGetConnectLogs                                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> "logs" :> QueryParam "from_date" Text :> QueryParam "to_date" Text :> Verb 'GET 200 '[JSON] ConnectEvents
+{- connectPostConnectConfiguration                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> ReqBody '[JSON] ConnectConfigurations :> Verb 'POST 200 '[JSON] ConnectConfigurations
+{- connectPublishPutConnectRetry                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> "envelopes" :> "retry_queue" :> ReqBody '[JSON] ConnectFailureFilter :> Verb 'PUT 200 '[JSON] ConnectFailureResults
+{- connectPublishPutConnectRetryByEnvelope                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> "envelopes" :> Capture "envelopeId" Text :> "retry_queue" :> Verb 'PUT 200 '[JSON] ConnectFailureResults
+{- connectPutConnectConfiguration                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "connect" :> ReqBody '[JSON] ConnectConfigurations :> Verb 'PUT 200 '[JSON] ConnectConfigurations
+{- consumerDisclosureGetConsumerDisclosure                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "consumer_disclosure" :> QueryParam "langCode" Text :> Verb 'GET 200 '[JSON] AccountConsumerDisclosures
+{- consumerDisclosureGetConsumerDisclosureEnvelopeIdRecipientId             -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "consumer_disclosure" :> QueryParam "langCode" Text :> Verb 'GET 200 '[JSON] EnvelopeConsumerDisclosures
+{- consumerDisclosureGetConsumerDisclosureEnvelopeIdRecipientIdLangCode     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "consumer_disclosure" :> Capture "langCode" Text :> QueryParam "langCode" Text :> Verb 'GET 200 '[JSON] EnvelopeConsumerDisclosures
+{- consumerDisclosureGetConsumerDisclosureLangCode                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "consumer_disclosure" :> Capture "langCode" Text :> Verb 'GET 200 '[JSON] AccountConsumerDisclosures
+{- consumerDisclosurePutConsumerDisclosure                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "consumer_disclosure" :> Capture "langCode" Text :> QueryParam "include_metadata" Text :> ReqBody '[JSON] EnvelopeConsumerDisclosures :> Verb 'PUT 200 '[JSON] EnvelopeConsumerDisclosures
+{- contactsDeleteContactWithId                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "contacts" :> Capture "contactId" Text :> Verb 'DELETE 200 '[JSON] ContactUpdateResponse
+{- contactsDeleteContacts                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "contacts" :> ReqBody '[JSON] ContactModRequest :> Verb 'DELETE 200 '[JSON] ContactUpdateResponse
+{- contactsGetContactById                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "contacts" :> Capture "contactId" Text :> QueryParam "cloud_provider" Text :> Verb 'GET 200 '[JSON] ContactGetResponse
+{- contactsPostContacts                                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "contacts" :> ReqBody '[JSON] ContactModRequest :> Verb 'POST 200 '[JSON] ContactUpdateResponse
+{- contactsPutContacts                                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "contacts" :> ReqBody '[JSON] ContactModRequest :> Verb 'PUT 200 '[JSON] ContactUpdateResponse
+{- customFieldsDeleteCustomFields                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "custom_fields" :> ReqBody '[JSON] EnvelopeCustomFields :> Verb 'DELETE 200 '[JSON] EnvelopeCustomFields
+{- customFieldsDeleteTemplateCustomFields                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "custom_fields" :> ReqBody '[JSON] TemplateCustomFields :> Verb 'DELETE 200 '[JSON] TemplateCustomFields
+{- customFieldsGetCustomFields                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "custom_fields" :> Verb 'GET 200 '[JSON] CustomFieldsEnvelope
+{- customFieldsGetTemplateCustomFields                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "custom_fields" :> Verb 'GET 200 '[JSON] TemplateCustomFields
+{- customFieldsPostCustomFields                                             -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "custom_fields" :> ReqBody '[JSON] EnvelopeCustomFields :> Verb 'POST 200 '[JSON] EnvelopeCustomFields
+{- customFieldsPostTemplateCustomFields                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "custom_fields" :> ReqBody '[JSON] TemplateCustomFields :> Verb 'POST 200 '[JSON] TemplateCustomFields
+{- customFieldsPutCustomFields                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "custom_fields" :> ReqBody '[JSON] EnvelopeCustomFields :> Verb 'PUT 200 '[JSON] EnvelopeCustomFields
+{- customFieldsPutTemplateCustomFields                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "custom_fields" :> ReqBody '[JSON] TemplateCustomFields :> Verb 'PUT 200 '[JSON] TemplateCustomFields
+{- documentFieldsDeleteDocumentFields                                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> "fields" :> ReqBody '[JSON] EnvelopeDocumentFields :> Verb 'DELETE 200 '[JSON] EnvelopeDocumentFields
+{- documentFieldsDeleteTemplateDocumentFields                               -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> Capture "documentId" Text :> "fields" :> ReqBody '[JSON] TemplateDocumentFields :> Verb 'DELETE 200 '[JSON] TemplateDocumentFields
+{- documentFieldsGetDocumentFields                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> "fields" :> Verb 'GET 200 '[JSON] EnvelopeDocumentFields
+{- documentFieldsGetTemplateDocumentFields                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> Capture "documentId" Text :> "fields" :> Verb 'GET 200 '[JSON] TemplateDocumentFields
+{- documentFieldsPostDocumentFields                                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> "fields" :> ReqBody '[JSON] EnvelopeDocumentFields :> Verb 'POST 200 '[JSON] EnvelopeDocumentFields
+{- documentFieldsPostTemplateDocumentFields                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> Capture "documentId" Text :> "fields" :> ReqBody '[JSON] TemplateDocumentFields :> Verb 'POST 200 '[JSON] TemplateDocumentFields
+{- documentFieldsPutDocumentFields                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> "fields" :> ReqBody '[JSON] EnvelopeDocumentFields :> Verb 'PUT 200 '[JSON] EnvelopeDocumentFields
+{- documentFieldsPutTemplateDocumentFields                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> Capture "documentId" Text :> "fields" :> ReqBody '[JSON] TemplateDocumentFields :> Verb 'PUT 200 '[JSON] TemplateDocumentFields
+{- documentsDeleteDocuments                                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> ReqBody '[JSON] EnvelopeDefinition :> Verb 'DELETE 200 '[JSON] EnvelopeDocuments
+{- documentsDeleteTemplateDocuments                                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> ReqBody '[JSON] EnvelopeDefinition :> Verb 'DELETE 200 '[JSON] TemplateDocuments
+{- documentsGetDocument                                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> QueryParam "certificate" Text :> QueryParam "encoding" Text :> QueryParam "encrypt" Text :> QueryParam "language" Text :> QueryParam "recipient_id" Text :> QueryParam "show_changes" Text :> QueryParam "watermark" Text :> Verb 'GET 200 '[PDF] PDF
+{- documentsGetDocuments                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> QueryParam "include_metadata" Text :> Verb 'GET 200 '[JSON] EnvelopeDocuments
+{- documentsGetTemplateDocument                                             -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> Capture "documentId" Text :> QueryParam "encrypt" Text :> QueryParam "show_changes" Text :> Verb 'GET 200 '[PDF] PDF
+{- documentsGetTemplateDocuments                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> Verb 'GET 200 '[JSON] TemplateDocuments
+{- documentsPutDocument                                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> QueryParam "apply_document_fields" Text :> Verb 'PUT 200 '[JSON] ()
+{- documentsPutDocuments                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> QueryParam "apply_document_fields" Text :> ReqBody '[JSON] EnvelopeDefinition :> Verb 'PUT 200 '[JSON] EnvelopeDocuments
+{- documentsPutTemplateDocument                                             -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> Capture "documentId" Text :> QueryParam "apply_document_fields" Text :> QueryParam "is_envelope_definition" Text :> ReqBody '[JSON] EnvelopeDefinition :> Verb 'PUT 200 '[JSON] EnvelopeDocument
+{- documentsPutTemplateDocuments                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> QueryParam "apply_document_fields" Text :> ReqBody '[JSON] EnvelopeDefinition :> Verb 'PUT 200 '[JSON] TemplateDocuments
+{- eMortgagePostTransactions                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "eMortgage" :> "transactions" :> ReqBody '[JSON] EMortgageTransactions :> Verb 'POST 200 '[JSON] PostTransactionsResponse
+{- eNoteConfigurationDeleteENoteConfiguration                               -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "settings" :> "enote_configuration" :> Verb 'DELETE 200 '[JSON] ()
+{- eNoteConfigurationGetENoteConfiguration                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "settings" :> "enote_configuration" :> Verb 'GET 200 '[JSON] ENoteConfigurations
+{- eNoteConfigurationPutENoteConfiguration                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "settings" :> "enote_configuration" :> ReqBody '[JSON] ENoteConfigurations :> Verb 'PUT 200 '[JSON] ENoteConfigurations
+{- emailSettingsDeleteEmailSettings                                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "email_settings" :> Verb 'DELETE 200 '[JSON] EnvelopeEmailSettings
+{- emailSettingsGetEmailSettings                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "email_settings" :> Verb 'GET 200 '[JSON] EnvelopeEmailSettings
+{- emailSettingsPostEmailSettings                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "email_settings" :> ReqBody '[JSON] EnvelopeEmailSettings :> Verb 'POST 200 '[JSON] EnvelopeEmailSettings
+{- emailSettingsPutEmailSettings                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "email_settings" :> ReqBody '[JSON] EnvelopeEmailSettings :> Verb 'PUT 200 '[JSON] EnvelopeEmailSettings
+{- envelopesGetEnvelope                                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> QueryParam "advanced_update" Text :> QueryParam "include" Text :> Verb 'GET 200 '[JSON] Envelopes
+{- envelopesGetEnvelopes                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> QueryParam "ac_status" Text :> QueryParam "block" Text :> QueryParam "count" Text :> QueryParam "custom_field" Text :> QueryParam "email" Text :> QueryParam "envelope_ids" Text :> QueryParam "exclude" Text :> QueryParam "folder_ids" Text :> QueryParam "folder_types" Text :> QueryParam "from_date" Text :> QueryParam "from_to_status" Text :> QueryParam "include" Text :> QueryParam "include_purge_information" Text :> QueryParam "intersecting_folder_ids" Text :> QueryParam "order" Text :> QueryParam "order_by" Text :> QueryParam "powerformids" Text :> QueryParam "search_text" Text :> QueryParam "start_position" Text :> QueryParam "status" Text :> QueryParam "to_date" Text :> QueryParam "transaction_ids" Text :> QueryParam "user_filter" Text :> QueryParam "user_id" Text :> QueryParam "user_name" Text :> Verb 'GET 200 '[JSON] EnvelopesInformation
+{- envelopesPostEnvelopes                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> QueryParam "cdse_mode" Text :> QueryParam "completed_documents_only" Text :> QueryParam "merge_roles_on_draft" Text :> ReqBody '[JSON] EnvelopeDefinition :> Verb 'POST 200 '[JSON] EnvelopeSummary
+{- envelopesPutEnvelope                                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> QueryParam "advanced_update" Text :> QueryParam "resend_envelope" Text :> ReqBody '[JSON] Envelopes :> Verb 'PUT 200 '[JSON] EnvelopeUpdateSummary
+{- envelopesPutStatus                                                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> "status" :> QueryParam "email" Text :> QueryParam "from_date" Text :> QueryParam "start_position" Text :> QueryParam "to_date" Text :> ReqBody '[JSON] EnvelopeIdsRequest :> Verb 'PUT 200 '[JSON] EnvelopesInformation
+{- foldersGetFolderItems                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "folders" :> Capture "folderId" Text :> QueryParam "from_date" Text :> QueryParam "include_items" Text :> QueryParam "owner_email" Text :> QueryParam "owner_name" Text :> QueryParam "search_text" Text :> QueryParam "start_position" Text :> QueryParam "status" Text :> QueryParam "to_date" Text :> Verb 'GET 200 '[JSON] FolderItemsResponse
+{- foldersGetFolders                                                        -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "folders" :> QueryParam "include" Text :> QueryParam "include_items" Text :> QueryParam "start_position" Text :> QueryParam "template" Text :> QueryParam "user_filter" Text :> Verb 'GET 200 '[JSON] Folders
+{- foldersPutFolderById                                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "folders" :> Capture "folderId" Text :> ReqBody '[JSON] FoldersRequest :> Verb 'PUT 200 '[JSON] Folders
+{- formDataGetFormData                                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "form_data" :> Verb 'GET 200 '[JSON] EnvelopeFormData
+{- groupsDeleteGroupUsers                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "groups" :> Capture "groupId" Text :> "users" :> ReqBody '[JSON] UserInfoList :> Verb 'DELETE 200 '[JSON] GroupUsers
+{- groupsDeleteGroups                                                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "groups" :> ReqBody '[JSON] Groups :> Verb 'DELETE 200 '[JSON] Groups
+{- groupsGetGroupUsers                                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "groups" :> Capture "groupId" Text :> "users" :> QueryParam "count" Text :> QueryParam "start_position" Text :> Verb 'GET 200 '[JSON] GroupUsers
+{- groupsGetGroups                                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "groups" :> QueryParam "count" Text :> QueryParam "group_name" Text :> QueryParam "group_type" Text :> QueryParam "search_text" Text :> QueryParam "start_position" Text :> Verb 'GET 200 '[JSON] Groups
+{- groupsPostGroups                                                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "groups" :> ReqBody '[JSON] Groups :> Verb 'POST 200 '[JSON] Groups
+{- groupsPutGroupUsers                                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "groups" :> Capture "groupId" Text :> "users" :> ReqBody '[JSON] UserInfoList :> Verb 'PUT 200 '[JSON] GroupUsers
+{- groupsPutGroups                                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "groups" :> ReqBody '[JSON] Groups :> Verb 'PUT 200 '[JSON] Groups
+{- lockDeleteEnvelopeLock                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "lock" :> Verb 'DELETE 200 '[JSON] EnvelopeLocks
+{- lockDeleteTemplateLock                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "lock" :> ReqBody '[JSON] LockRequest :> Verb 'DELETE 200 '[JSON] TemplateLocks
+{- lockGetEnvelopeLock                                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "lock" :> Verb 'GET 200 '[JSON] EnvelopeLocks
+{- lockGetTemplateLock                                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "lock" :> Verb 'GET 200 '[JSON] TemplateLocks
+{- lockPostEnvelopeLock                                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "lock" :> ReqBody '[JSON] LockRequest :> Verb 'POST 200 '[JSON] EnvelopeLocks
+{- lockPostTemplateLock                                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "lock" :> ReqBody '[JSON] LockRequest :> Verb 'POST 200 '[JSON] TemplateLocks
+{- lockPutEnvelopeLock                                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "lock" :> ReqBody '[JSON] LockRequest :> Verb 'PUT 200 '[JSON] EnvelopeLocks
+{- lockPutTemplateLock                                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "lock" :> ReqBody '[JSON] LockRequest :> Verb 'PUT 200 '[JSON] TemplateLocks
+{- loginInformationGetLoginInformation                                      -} :<|> "v2" :> "login_information" :> QueryParam "api_password" Text :> QueryParam "embed_account_id_guid" Text :> QueryParam "include_account_id_guid" Text :> QueryParam "login_settings" Text :> Verb 'GET 200 '[JSON] Authentication
+{- loginInformationPutLoginInformation                                      -} :<|> "v2" :> "login_information" :> Capture "loginPart" Text :> ReqBody '[JSON] UserPasswordInformation :> Verb 'PUT 200 '[JSON] ()
+{- notificationGetEnvelopesEnvelopeIdNotification                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "notification" :> Verb 'GET 200 '[JSON] Notification
+{- notificationGetTemplatesTemplateIdNotification                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "notification" :> Verb 'GET 200 '[JSON] Notification
+{- notificationPutEnvelopesEnvelopeIdNotification                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "notification" :> ReqBody '[JSON] EnvelopeNotificationRequest :> Verb 'PUT 200 '[JSON] Notification
+{- notificationPutTemplatesTemplateIdNotification                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "notification" :> ReqBody '[JSON] TemplateNotificationRequest :> Verb 'PUT 200 '[JSON] Notification
+{- oAuth2PostRevoke                                                         -} :<|> "v2" :> "oauth2" :> "revoke" :> Verb 'POST 200 '[JSON] ()
+{- oAuth2PostToken                                                          -} :<|> "v2" :> "oauth2" :> "token" :> Verb 'POST 200 '[JSON] OauthAccess
+{- pagesDeletePage                                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> "pages" :> Capture "pageNumber" Text :> Verb 'DELETE 200 '[JSON] ()
+{- pagesDeleteTemplatePage                                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> Capture "documentId" Text :> "pages" :> Capture "pageNumber" Text :> ReqBody '[JSON] PageRequest :> Verb 'DELETE 200 '[JSON] ()
+{- pagesGetPageImage                                                        -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> "pages" :> Capture "pageNumber" Text :> "page_image" :> QueryParam "dpi" Text :> QueryParam "max_height" Text :> QueryParam "max_width" Text :> QueryParam "show_changes" Text :> Verb 'GET 200 '[PNG] PNG
+{- pagesGetPageImages                                                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> "pages" :> QueryParam "count" Text :> QueryParam "dpi" Text :> QueryParam "max_height" Text :> QueryParam "max_width" Text :> QueryParam "nocache" Text :> QueryParam "show_changes" Text :> QueryParam "start_position" Text :> Verb 'GET 200 '[JSON] PageImages
+{- pagesGetTemplatePageImage                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> Capture "documentId" Text :> "pages" :> Capture "pageNumber" Text :> "page_image" :> QueryParam "dpi" Text :> QueryParam "max_height" Text :> QueryParam "max_width" Text :> QueryParam "show_changes" Text :> Verb 'GET 200 '[PNG] PNG
+{- pagesGetTemplatePageImages                                               -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> Capture "documentId" Text :> "pages" :> QueryParam "count" Text :> QueryParam "dpi" Text :> QueryParam "max_height" Text :> QueryParam "max_width" Text :> QueryParam "nocache" Text :> QueryParam "show_changes" Text :> QueryParam "start_position" Text :> Verb 'GET 200 '[JSON] PageImages
+{- pagesPutPageImage                                                        -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> "pages" :> Capture "pageNumber" Text :> "page_image" :> ReqBody '[JSON] PageRequest :> Verb 'PUT 200 '[JSON] ()
+{- pagesPutTemplatePageImage                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> Capture "documentId" Text :> "pages" :> Capture "pageNumber" Text :> "page_image" :> ReqBody '[JSON] PageRequest :> Verb 'PUT 200 '[JSON] ()
+{- passwordRulesGetPasswordRules                                            -} :<|> "v2" :> "current_user" :> "password_rules" :> Verb 'GET 200 '[JSON] UserPasswordRules
+{- paymentGatewayAccountsGetAllPaymentGatewayAccounts                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "payment_gateway_accounts" :> Verb 'GET 200 '[JSON] PaymentGatewayAccountsInfo
+{- permissionProfilesDeletePermissionProfiles                               -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "permission_profiles" :> Capture "permissionProfileId" Text :> Verb 'DELETE 200 '[JSON] ()
+{- permissionProfilesGetPermissionProfile                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "permission_profiles" :> Capture "permissionProfileId" Text :> QueryParam "include" Text :> Verb 'GET 200 '[JSON] AccountPermissionProfiles
+{- permissionProfilesGetPermissionProfiles                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "permission_profiles" :> QueryParam "include" Text :> Verb 'GET 200 '[JSON] PermissionProfileInformation
+{- permissionProfilesPostPermissionProfiles                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "permission_profiles" :> QueryParam "include" Text :> ReqBody '[JSON] AccountPermissionProfiles :> Verb 'POST 200 '[JSON] AccountPermissionProfiles
+{- permissionProfilesPutPermissionProfiles                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "permission_profiles" :> Capture "permissionProfileId" Text :> QueryParam "include" Text :> ReqBody '[JSON] AccountPermissionProfiles :> Verb 'PUT 200 '[JSON] AccountPermissionProfiles
+{- powerFormsDeletePowerForm                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "powerforms" :> Capture "powerFormId" Text :> Verb 'DELETE 200 '[JSON] ()
+{- powerFormsDeletePowerFormsList                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "powerforms" :> ReqBody '[JSON] PowerFormsRequest :> Verb 'DELETE 200 '[JSON] PowerFormsResponse
+{- powerFormsGetPowerForm                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "powerforms" :> Capture "powerFormId" Text :> Verb 'GET 200 '[JSON] PowerForms
+{- powerFormsGetPowerFormFormData                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "powerforms" :> Capture "powerFormId" Text :> "form_data" :> QueryParam "from_date" Text :> QueryParam "to_date" Text :> Verb 'GET 200 '[JSON] PowerFormsFormDataResponse
+{- powerFormsGetPowerFormsList                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "powerforms" :> QueryParam "from_date" Text :> QueryParam "order" Text :> QueryParam "order_by" Text :> QueryParam "to_date" Text :> Verb 'GET 200 '[JSON] PowerFormsResponse
+{- powerFormsGetPowerFormsSenders                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "powerforms" :> "senders" :> QueryParam "start_position" Text :> Verb 'GET 200 '[JSON] PowerFormSendersResponse
+{- powerFormsPostPowerForm                                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "powerforms" :> ReqBody '[JSON] PowerForms :> Verb 'POST 200 '[JSON] PowerForms
+{- powerFormsPutPowerForm                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "powerforms" :> Capture "powerFormId" Text :> ReqBody '[JSON] PowerForms :> Verb 'PUT 200 '[JSON] PowerForms
+{- purchasedEnvelopesPutPurchasedEnvelopes                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "billing_plan" :> "purchased_envelopes" :> ReqBody '[JSON] PurchasedEnvelopesInformation :> Verb 'PUT 200 '[JSON] ()
+{- recipientNamesGetRecipientNames                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "recipient_names" :> QueryParam "email" Text :> Verb 'GET 200 '[JSON] RecipientNamesResponse
+{- recipientsDeleteBulkRecipientsFile                                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "bulk_recipients" :> Verb 'DELETE 200 '[JSON] BulkRecipientsUpdateResponse
+{- recipientsDeleteRecipient                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> Verb 'DELETE 200 '[JSON] EnvelopeRecipients
+{- recipientsDeleteRecipientTabs                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "tabs" :> ReqBody '[JSON] EnvelopeRecipientTabs :> Verb 'DELETE 200 '[JSON] EnvelopeRecipientTabs
+{- recipientsDeleteRecipients                                               -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> ReqBody '[JSON] EnvelopeRecipients :> Verb 'DELETE 200 '[JSON] EnvelopeRecipients
+{- recipientsDeleteTemplateBulkRecipientsFile                               -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> Capture "recipientId" Text :> "bulk_recipients" :> Verb 'DELETE 200 '[JSON] BulkRecipientsUpdateResponse
+{- recipientsDeleteTemplateRecipient                                        -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> Capture "recipientId" Text :> ReqBody '[JSON] TemplateRecipients :> Verb 'DELETE 200 '[JSON] TemplateRecipients
+{- recipientsDeleteTemplateRecipientTabs                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> Capture "recipientId" Text :> "tabs" :> ReqBody '[JSON] TemplateTabs :> Verb 'DELETE 200 '[JSON] TemplateRecipientTabs
+{- recipientsDeleteTemplateRecipients                                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> ReqBody '[JSON] TemplateRecipients :> Verb 'DELETE 200 '[JSON] TemplateRecipients
+{- recipientsGetBulkRecipients                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "bulk_recipients" :> QueryParam "include_tabs" Text :> QueryParam "start_position" Text :> Verb 'GET 200 '[JSON] EnvelopeBulkRecipients
+{- recipientsGetRecipientDocumentVisibility                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "document_visibility" :> Verb 'GET 200 '[JSON] EnvelopeDocumentVisibility
+{- recipientsGetRecipientInitialsImage                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "initials_image" :> QueryParam "include_chrome" Text :> Verb 'GET 200 '[GIF] GIF
+{- recipientsGetRecipientSignature                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "signature" :> Verb 'GET 200 '[JSON] UserSignatures
+{- recipientsGetRecipientSignatureImage                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "signature_image" :> QueryParam "include_chrome" Text :> Verb 'GET 200 '[GIF] GIF
+{- recipientsGetRecipientTabs                                               -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "tabs" :> QueryParam "include_anchor_tab_locations" Text :> QueryParam "include_metadata" Text :> Verb 'GET 200 '[JSON] EnvelopeRecipientTabs
+{- recipientsGetRecipients                                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> QueryParam "include_anchor_tab_locations" Text :> QueryParam "include_extended" Text :> QueryParam "include_metadata" Text :> QueryParam "include_tabs" Text :> Verb 'GET 200 '[JSON] EnvelopeRecipients
+{- recipientsGetTemplateBulkRecipients                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> Capture "recipientId" Text :> "bulk_recipients" :> QueryParam "include_tabs" Text :> QueryParam "start_position" Text :> Verb 'GET 200 '[JSON] TemplateBulkRecipients
+{- recipientsGetTemplateRecipientDocumentVisibility                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> Capture "recipientId" Text :> "document_visibility" :> Verb 'GET 200 '[JSON] EnvelopeDocumentVisibility
+{- recipientsGetTemplateRecipientTabs                                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> Capture "recipientId" Text :> "tabs" :> QueryParam "include_anchor_tab_locations" Text :> QueryParam "include_metadata" Text :> Verb 'GET 200 '[JSON] TemplateRecipientTabs
+{- recipientsGetTemplateRecipients                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> QueryParam "include_anchor_tab_locations" Text :> QueryParam "include_extended" Text :> QueryParam "include_tabs" Text :> Verb 'GET 200 '[JSON] TemplateRecipients
+{- recipientsPostRecipientTabs                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "tabs" :> ReqBody '[JSON] EnvelopeRecipientTabs :> Verb 'POST 200 '[JSON] EnvelopeRecipientTabs
+{- recipientsPostRecipients                                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> QueryParam "resend_envelope" Text :> ReqBody '[JSON] EnvelopeRecipients :> Verb 'POST 200 '[JSON] EnvelopeRecipients
+{- recipientsPostTemplateRecipientTabs                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> Capture "recipientId" Text :> "tabs" :> ReqBody '[JSON] TemplateTabs :> Verb 'POST 200 '[JSON] TemplateRecipientTabs
+{- recipientsPostTemplateRecipients                                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> QueryParam "resend_envelope" Text :> ReqBody '[JSON] TemplateRecipients :> Verb 'POST 200 '[JSON] TemplateRecipients
+{- recipientsPutBulkRecipients                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "bulk_recipients" :> ReqBody '[JSON] BulkRecipientsRequest :> Verb 'PUT 200 '[JSON] BulkRecipientsSummaryResponse
+{- recipientsPutRecipientDocumentVisibility                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "document_visibility" :> ReqBody '[JSON] EnvelopeDocumentVisibility :> Verb 'PUT 200 '[JSON] EnvelopeDocumentVisibility
+{- recipientsPutRecipientInitialsImage                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "initials_image" :> Verb 'PUT 200 '[JSON] ()
+{- recipientsPutRecipientSignatureImage                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "signature_image" :> Verb 'PUT 200 '[JSON] ()
+{- recipientsPutRecipientTabs                                               -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> Capture "recipientId" Text :> "tabs" :> ReqBody '[JSON] EnvelopeRecipientTabs :> Verb 'PUT 200 '[JSON] EnvelopeRecipientTabs
+{- recipientsPutRecipients                                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> QueryParam "resend_envelope" Text :> ReqBody '[JSON] EnvelopeRecipients :> Verb 'PUT 200 '[JSON] RecipientsUpdateSummary
+{- recipientsPutRecipientsDocumentVisibility                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "recipients" :> "document_visibility" :> ReqBody '[JSON] EnvelopeDocumentVisibility :> Verb 'PUT 200 '[JSON] EnvelopeDocumentVisibility
+{- recipientsPutTemplateBulkRecipients                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> Capture "recipientId" Text :> "bulk_recipients" :> ReqBody '[JSON] BulkRecipientsRequest :> Verb 'PUT 200 '[JSON] BulkRecipientsSummaryResponse
+{- recipientsPutTemplateRecipientDocumentVisibility                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> Capture "recipientId" Text :> "document_visibility" :> ReqBody '[JSON] TemplateDocumentVisibility :> Verb 'PUT 200 '[JSON] TemplateDocumentVisibility
+{- recipientsPutTemplateRecipientTabs                                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> Capture "recipientId" Text :> "tabs" :> ReqBody '[JSON] TemplateTabs :> Verb 'PUT 200 '[JSON] TemplateRecipientTabs
+{- recipientsPutTemplateRecipients                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> QueryParam "resend_envelope" Text :> ReqBody '[JSON] TemplateRecipients :> Verb 'PUT 200 '[JSON] RecipientsUpdateSummary
+{- recipientsPutTemplateRecipientsDocumentVisibility                        -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "recipients" :> "document_visibility" :> ReqBody '[JSON] TemplateDocumentVisibility :> Verb 'PUT 200 '[JSON] TemplateDocumentVisibility
+{- searchFoldersGetSearchFolderContents                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "search_folders" :> Capture "searchFolderId" Text :> QueryParam "all" Text :> QueryParam "count" Text :> QueryParam "from_date" Text :> QueryParam "include_recipients" Text :> QueryParam "order" Text :> QueryParam "order_by" Text :> QueryParam "start_position" Text :> QueryParam "to_date" Text :> Verb 'GET 200 '[JSON] FolderItemResponse
+{- serviceInformationGetResourceInformation                                 -} :<|> "v2" :> Verb 'GET 200 '[JSON] Resources
+{- serviceInformationGetServiceInformation                                  -} :<|> "service_information" :> Verb 'GET 200 '[JSON] Services
+{- settingsGetSettings                                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "settings" :> Verb 'GET 200 '[JSON] AccountSettingsInformation
+{- settingsPutSettings                                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "settings" :> ReqBody '[JSON] AccountSettingsInformation :> Verb 'PUT 200 '[JSON] ()
+{- sharedAccessGetSharedAccess                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "shared_access" :> QueryParam "count" Text :> QueryParam "envelopes_not_shared_user_status" Text :> QueryParam "folder_ids" Text :> QueryParam "item_type" Text :> QueryParam "search_text" Text :> QueryParam "shared" Text :> QueryParam "start_position" Text :> QueryParam "user_ids" Text :> Verb 'GET 200 '[JSON] AccountSharedAccess
+{- sharedAccessPutSharedAccess                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "shared_access" :> QueryParam "item_type" Text :> QueryParam "user_ids" Text :> ReqBody '[JSON] AccountSharedAccess :> Verb 'PUT 200 '[JSON] AccountSharedAccess
+{- signingGroupsDeleteSigningGroupUsers                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "signing_groups" :> Capture "signingGroupId" Text :> "users" :> ReqBody '[JSON] SigningGroupUsers :> Verb 'DELETE 200 '[JSON] SigningGroupUsers
+{- signingGroupsDeleteSigningGroups                                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "signing_groups" :> ReqBody '[JSON] SigningGroupInformation :> Verb 'DELETE 200 '[JSON] SigningGroupInformation
+{- signingGroupsGetSigningGroup                                             -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "signing_groups" :> Capture "signingGroupId" Text :> Verb 'GET 200 '[JSON] SigningGroups
+{- signingGroupsGetSigningGroupUsers                                        -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "signing_groups" :> Capture "signingGroupId" Text :> "users" :> Verb 'GET 200 '[JSON] SigningGroupUsers
+{- signingGroupsGetSigningGroups                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "signing_groups" :> QueryParam "group_type" Text :> QueryParam "include_users" Text :> Verb 'GET 200 '[JSON] SigningGroupInformation
+{- signingGroupsPostSigningGroups                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "signing_groups" :> ReqBody '[JSON] SigningGroupInformation :> Verb 'POST 200 '[JSON] SigningGroupInformation
+{- signingGroupsPutSigningGroup                                             -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "signing_groups" :> Capture "signingGroupId" Text :> ReqBody '[JSON] SigningGroups :> Verb 'PUT 200 '[JSON] SigningGroups
+{- signingGroupsPutSigningGroupUsers                                        -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "signing_groups" :> Capture "signingGroupId" Text :> "users" :> ReqBody '[JSON] SigningGroupUsers :> Verb 'PUT 200 '[JSON] SigningGroupUsers
+{- signingGroupsPutSigningGroups                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "signing_groups" :> ReqBody '[JSON] SigningGroupInformation :> Verb 'PUT 200 '[JSON] SigningGroupInformation
+{- supportedLanguagesGetSupportedLanguages                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "supported_languages" :> Verb 'GET 200 '[JSON] SupportedLanguages
+{- tabDeleteCustomTab                                                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "tab_definitions" :> Capture "customTabId" Text :> Verb 'DELETE 200 '[JSON] ()
+{- tabGetCustomTab                                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "tab_definitions" :> Capture "customTabId" Text :> Verb 'GET 200 '[JSON] CustomTabs
+{- tabPutCustomTab                                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "tab_definitions" :> Capture "customTabId" Text :> ReqBody '[JSON] CustomTabs :> Verb 'PUT 200 '[JSON] CustomTabs
+{- tabSettingsGetTabSettings                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "settings" :> "tabs" :> Verb 'GET 200 '[JSON] AccountTabSettings
+{- tabSettingsPutSettings                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "settings" :> "tabs" :> ReqBody '[JSON] AccountTabSettings :> Verb 'PUT 200 '[JSON] AccountTabSettings
+{- tabsGetDocumentTabs                                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> "tabs" :> QueryParam "page_numbers" Text :> Verb 'GET 200 '[JSON] EnvelopeDocumentTabs
+{- tabsGetPageTabs                                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> "pages" :> Capture "pageNumber" Text :> "tabs" :> Verb 'GET 200 '[JSON] EnvelopeDocumentTabs
+{- tabsGetTabDefinitions                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "tab_definitions" :> QueryParam "custom_tab_only" Text :> Verb 'GET 200 '[JSON] TabMetadataList
+{- tabsGetTemplateDocumentTabs                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> Capture "documentId" Text :> "tabs" :> QueryParam "page_numbers" Text :> Verb 'GET 200 '[JSON] TemplateDocumentTabs
+{- tabsGetTemplatePageTabs                                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "documents" :> Capture "documentId" Text :> "pages" :> Capture "pageNumber" Text :> "tabs" :> Verb 'GET 200 '[JSON] TemplateDocumentTabs
+{- tabsPostTabDefinitions                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "tab_definitions" :> ReqBody '[JSON] CustomTabs :> Verb 'POST 200 '[JSON] CustomTabs
+{- templatesDeleteDocumentTemplates                                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> "templates" :> Capture "templateId" Text :> Verb 'DELETE 200 '[JSON] ()
+{- templatesDeleteTemplatePart                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> Capture "templatePart" Text :> ReqBody '[JSON] Groups :> Verb 'DELETE 200 '[JSON] Groups
+{- templatesGetDocumentTemplates                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> "templates" :> QueryParam "include" Text :> Verb 'GET 200 '[JSON] EnvelopeTemplates
+{- templatesGetEnvelopeTemplates                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "templates" :> QueryParam "include" Text :> Verb 'GET 200 '[JSON] EnvelopeTemplates
+{- templatesGetTemplate                                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> QueryParam "include" Text :> Verb 'GET 200 '[JSON] Templates
+{- templatesGetTemplates                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> QueryParam "count" Text :> QueryParam "folder" Text :> QueryParam "folder_ids" Text :> QueryParam "folder_types" Text :> QueryParam "from_date" Text :> QueryParam "include" Text :> QueryParam "order" Text :> QueryParam "order_by" Text :> QueryParam "search_text" Text :> QueryParam "shared" Text :> QueryParam "shared_by_me" Text :> QueryParam "start_position" Text :> QueryParam "to_date" Text :> QueryParam "used_from_date" Text :> QueryParam "used_to_date" Text :> QueryParam "user_filter" Text :> QueryParam "user_id" Text :> Verb 'GET 200 '[JSON] EnvelopeTemplateResults
+{- templatesPostDocumentTemplates                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "documents" :> Capture "documentId" Text :> "templates" :> ReqBody '[JSON] DocumentTemplateList :> Verb 'POST 200 '[JSON] DocumentTemplateList
+{- templatesPostEnvelopeTemplates                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "templates" :> ReqBody '[JSON] DocumentTemplateList :> Verb 'POST 200 '[JSON] DocumentTemplateList
+{- templatesPostTemplates                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> ReqBody '[JSON] Templates :> Verb 'POST 200 '[JSON] TemplateSummary
+{- templatesPutTemplate                                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> ReqBody '[JSON] Templates :> Verb 'PUT 200 '[JSON] TemplateUpdateSummary
+{- templatesPutTemplatePart                                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> Capture "templatePart" Text :> ReqBody '[JSON] Groups :> Verb 'PUT 200 '[JSON] Groups
+{- unsupportedFileTypesGetUnsupportedFileTypes                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "unsupported_file_types" :> Verb 'GET 200 '[JSON] FileTypeList
+{- userCustomSettingsDeleteCustomSettings                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "custom_settings" :> ReqBody '[JSON] UserCustomSettings :> Verb 'DELETE 200 '[JSON] UserCustomSettings
+{- userCustomSettingsGetCustomSettings                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "custom_settings" :> Verb 'GET 200 '[JSON] UserCustomSettings
+{- userCustomSettingsPutCustomSettings                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "custom_settings" :> ReqBody '[JSON] UserCustomSettings :> Verb 'PUT 200 '[JSON] UserCustomSettings
+{- userGetUser                                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> QueryParam "additional_info" Text :> QueryParam "email" Text :> Verb 'GET 200 '[JSON] Users
+{- userProfileGetProfile                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "profile" :> Verb 'GET 200 '[JSON] UserProfiles
+{- userProfileImageDeleteUserProfileImage                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "profile" :> "image" :> Verb 'DELETE 200 '[JSON] ()
+{- userProfileImageGetUserProfileImage                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "profile" :> "image" :> QueryParam "encoding" Text :> Verb 'GET 200 '[GIF] GIF
+{- userProfileImagePutUserProfileImage                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "profile" :> "image" :> Verb 'PUT 200 '[JSON] ()
+{- userProfilePutProfile                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "profile" :> ReqBody '[JSON] UserProfiles :> Verb 'PUT 200 '[JSON] ()
+{- userPutUser                                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> ReqBody '[JSON] Users :> Verb 'PUT 200 '[JSON] Users
+{- userSettingsGetUserSettings                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "settings" :> Verb 'GET 200 '[JSON] UserSettingsInformation
+{- userSettingsPutUserSettings                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "settings" :> ReqBody '[JSON] UserSettingsInformation :> Verb 'PUT 200 '[JSON] ()
+{- userSignaturesDeleteUserSignature                                        -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "signatures" :> Capture "signatureId" Text :> Verb 'DELETE 200 '[JSON] ()
+{- userSignaturesDeleteUserSignatureImage                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "signatures" :> Capture "signatureId" Text :> Capture "imageType" Text :> Verb 'DELETE 200 '[JSON] UserSignatures
+{- userSignaturesGetUserSignature                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "signatures" :> Capture "signatureId" Text :> Verb 'GET 200 '[JSON] UserSignatures
+{- userSignaturesGetUserSignatureImage                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "signatures" :> Capture "signatureId" Text :> Capture "imageType" Text :> QueryParam "include_chrome" Text :> Verb 'GET 200 '[GIF] GIF
+{- userSignaturesGetUserSignatures                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "signatures" :> QueryParam "stamp_type" Text :> Verb 'GET 200 '[JSON] UserSignaturesInformation
+{- userSignaturesPostUserSignatures                                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "signatures" :> ReqBody '[JSON] UserSignaturesInformation :> Verb 'POST 200 '[JSON] UserSignaturesInformation
+{- userSignaturesPutUserSignature                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "signatures" :> ReqBody '[JSON] UserSignaturesInformation :> Verb 'PUT 200 '[JSON] UserSignaturesInformation
+{- userSignaturesPutUserSignatureById                                       -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "signatures" :> Capture "signatureId" Text :> QueryParam "close_existing_signature" Text :> ReqBody '[JSON] UserSignatureDefinition :> Verb 'PUT 200 '[JSON] UserSignatures
+{- userSignaturesPutUserSignatureImage                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "signatures" :> Capture "signatureId" Text :> Capture "imageType" Text :> Verb 'PUT 200 '[JSON] UserSignatures
+{- userSocialLoginDeleteUserSocialLogin                                     -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "social" :> ReqBody '[JSON] UserSocialAccountLogins :> Verb 'DELETE 200 '[JSON] ()
+{- userSocialLoginGetUserSocialLogin                                        -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "social" :> Verb 'GET 200 '[JSON] UserSocialIdResult
+{- userSocialLoginPutUserSocialLogin                                        -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> Capture "userId" Text :> "social" :> ReqBody '[JSON] UserSocialAccountLogins :> Verb 'PUT 200 '[JSON] ()
+{- usersDeleteUsers                                                         -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> ReqBody '[JSON] UserInfoList :> Verb 'DELETE 200 '[JSON] GroupUsers
+{- usersGetUsers                                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> QueryParam "additional_info" Text :> QueryParam "count" Text :> QueryParam "email" Text :> QueryParam "email_substring" Text :> QueryParam "group_id" Text :> QueryParam "include_usersettings_for_csv" Text :> QueryParam "login_status" Text :> QueryParam "not_group_id" Text :> QueryParam "start_position" Text :> QueryParam "status" Text :> QueryParam "user_name_substring" Text :> Verb 'GET 200 '[JSON] UserInformationList
+{- usersPostUsers                                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> ReqBody '[JSON] NewUsersDefinition :> Verb 'POST 200 '[JSON] NewUsersSummary
+{- usersPutUsers                                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "users" :> ReqBody '[JSON] UserInformationList :> Verb 'PUT 200 '[JSON] UserInformationList
+{- viewsPostAccountConsoleView                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "views" :> "console" :> ReqBody '[JSON] ConsoleViewRequest :> Verb 'POST 200 '[JSON] EnvelopeViews
+{- viewsPostEnvelopeCorrectView                                             -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "views" :> "correct" :> ReqBody '[JSON] CorrectViewRequest :> Verb 'POST 200 '[JSON] EnvelopeViews
+{- viewsPostEnvelopeEditView                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "views" :> "edit" :> ReqBody '[JSON] ReturnUrlRequest :> Verb 'POST 200 '[JSON] EnvelopeViews
+{- viewsPostEnvelopeRecipientView                                           -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "views" :> "recipient" :> ReqBody '[JSON] RecipientViewRequest :> Verb 'POST 200 '[JSON] EnvelopeViews
+{- viewsPostEnvelopeSenderView                                              -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "envelopes" :> Capture "envelopeId" Text :> "views" :> "sender" :> ReqBody '[JSON] ReturnUrlRequest :> Verb 'POST 200 '[JSON] EnvelopeViews
+{- viewsPostTemplateEditView                                                -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "templates" :> Capture "templateId" Text :> "views" :> "edit" :> ReqBody '[JSON] ReturnUrlRequest :> Verb 'POST 200 '[JSON] TemplateViews
+{- watermarkGetWatermark                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "watermark" :> Verb 'GET 200 '[JSON] AccountWatermarks
+{- watermarkPreviewPutWatermarkPreview                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "watermark" :> "preview" :> ReqBody '[JSON] AccountWatermarks :> Verb 'PUT 200 '[JSON] AccountWatermarks
+{- watermarkPutWatermark                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "watermark" :> ReqBody '[JSON] AccountWatermarks :> Verb 'PUT 200 '[JSON] AccountWatermarks
+{- workspaceDeleteWorkspace                                                 -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "workspaces" :> Capture "workspaceId" Text :> Verb 'DELETE 200 '[JSON] Workspaces
+{- workspaceFileGetWorkspaceFile                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "workspaces" :> Capture "workspaceId" Text :> "folders" :> Capture "folderId" Text :> "files" :> Capture "fileId" Text :> QueryParam "is_download" Text :> QueryParam "pdf_version" Text :> Verb 'GET 200 '[JSON] ()
+{- workspaceFilePagesGetWorkspaceFilePages                                  -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "workspaces" :> Capture "workspaceId" Text :> "folders" :> Capture "folderId" Text :> "files" :> Capture "fileId" Text :> "pages" :> QueryParam "count" Text :> QueryParam "dpi" Text :> QueryParam "max_height" Text :> QueryParam "max_width" Text :> QueryParam "start_position" Text :> Verb 'GET 200 '[JSON] PageImages
+{- workspaceFilePostWorkspaceFiles                                          -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "workspaces" :> Capture "workspaceId" Text :> "folders" :> Capture "folderId" Text :> "files" :> Verb 'POST 200 '[JSON] WorkspaceItems
+{- workspaceFilePutWorkspaceFile                                            -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "workspaces" :> Capture "workspaceId" Text :> "folders" :> Capture "folderId" Text :> "files" :> Capture "fileId" Text :> Verb 'PUT 200 '[JSON] WorkspaceItems
+{- workspaceFolderDeleteWorkspaceItems                                      -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "workspaces" :> Capture "workspaceId" Text :> "folders" :> Capture "folderId" Text :> ReqBody '[JSON] WorkspaceItemList :> Verb 'DELETE 200 '[JSON] ()
+{- workspaceFolderGetWorkspaceFolder                                        -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "workspaces" :> Capture "workspaceId" Text :> "folders" :> Capture "folderId" Text :> QueryParam "count" Text :> QueryParam "include_files" Text :> QueryParam "include_sub_folders" Text :> QueryParam "include_thumbnails" Text :> QueryParam "include_user_detail" Text :> QueryParam "start_position" Text :> QueryParam "workspace_user_id" Text :> Verb 'GET 200 '[JSON] WorkspaceFolderContents
+{- workspaceGetWorkspace                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "workspaces" :> Capture "workspaceId" Text :> Verb 'GET 200 '[JSON] Workspaces
+{- workspaceGetWorkspaces                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "workspaces" :> Verb 'GET 200 '[JSON] WorkspaceList
+{- workspacePostWorkspace                                                   -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "workspaces" :> ReqBody '[JSON] Workspaces :> Verb 'POST 200 '[JSON] Workspaces
+{- workspacePutWorkspace                                                    -} :<|> "v2" :> "accounts" :> Capture "accountId" Text :> "workspaces" :> Capture "workspaceId" Text :> ReqBody '[JSON] Workspaces :> Verb 'PUT 200 '[JSON] Workspaces
+
+data DocuSignClient m = DocuSignClient
+  { accountCustomFieldsDeleteAccountCustomFields :: Text -> Text -> Maybe Text -> m ()
+  , accountCustomFieldsGetAccountCustomFields :: Text -> m AccountCustomFields
+  , accountCustomFieldsPostAccountCustomFields :: Text -> Maybe Text -> CustomField -> m AccountCustomFields
+  , accountCustomFieldsPutAccountCustomFields :: Text -> Text -> Maybe Text -> CustomField -> m AccountCustomFields
+  , accountPasswordRulesGetAccountPasswordRules :: Text -> m AccountPasswordRules
+  , accountPasswordRulesPutAccountPasswordRules :: Text -> AccountPasswordRules -> m AccountPasswordRules
+  , accountSignatureProvidersGetSignatureProviders :: Text -> m AccountSignatureProviders
+  , accountsDeleteAccount :: Text -> m ()
+  , accountsGetAccount :: Text -> Maybe Text -> m Accounts
+  , accountsGetProvisioning :: m ProvisioningInformation
+  , accountsPostAccounts :: Maybe Text -> NewAccountDefinition -> m NewAccountSummary
+  , apiRequestLogDeleteRequestLogs :: m ()
+  , apiRequestLogGetRequestLog :: Text -> m Text
+  , apiRequestLogGetRequestLogSettings :: m RequestLogs
+  , apiRequestLogGetRequestLogs :: Maybe Text -> m ApiRequestLogsResult
+  , apiRequestLogPutRequestLogSettings :: RequestLogs -> m RequestLogs
+  , attachmentsDeleteAttachments :: Text -> Text -> EnvelopeAttachmentsRequest -> m EnvelopeAttachmentsResult
+  , attachmentsGetAttachment :: Text -> Text -> Text -> m ()
+  , attachmentsGetAttachments :: Text -> Text -> m EnvelopeAttachmentsResult
+  , attachmentsPutAttachment :: Text -> Text -> Text -> Attachment -> m EnvelopeAttachmentsResult
+  , attachmentsPutAttachments :: Text -> Text -> EnvelopeAttachmentsRequest -> m EnvelopeAttachmentsResult
+  , auditEventsGetAuditEvents :: Text -> Text -> m EnvelopeAuditEventResponse
+  , billingChargesGetAccountBillingCharges :: Text -> Maybe Text -> m BillingChargeResponse
+  , billingInvoicesGetBillingInvoice :: Text -> Text -> m Invoices
+  , billingInvoicesGetBillingInvoices :: Text -> Maybe Text -> Maybe Text -> m BillingInvoicesResponse
+  , billingInvoicesGetBillingInvoicesPastDue :: Text -> m BillingInvoicesSummary
+  , billingPaymentsGetPayment :: Text -> Text -> m Payments
+  , billingPaymentsGetPaymentList :: Text -> Maybe Text -> Maybe Text -> m BillingPaymentsResponse
+  , billingPaymentsPostPayment :: Text -> BillingPaymentRequest -> m BillingPaymentResponse
+  , billingPlanGetBillingPlan :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> m BillingPlans
+  , billingPlanGetCreditCardInfo :: Text -> m CreditCardInformation
+  , billingPlanPutBillingPlan :: Text -> Maybe Text -> BillingPlanInformation -> m BillingPlanUpdateResponse
+  , billingPlansGetBillingPlan :: Text -> m BillingPlanResponse
+  , billingPlansGetBillingPlans :: m BillingPlansResponse
+  , brandDeleteBrand :: Text -> Text -> m ()
+  , brandExportGetBrandExportFile :: Text -> Text -> m ()
+  , brandGetBrand :: Text -> Text -> Maybe Text -> Maybe Text -> m Brand
+  , brandLogoDeleteBrandLogo :: Text -> Text -> Text -> m ()
+  , brandLogoGetBrandLogo :: Text -> Text -> Text -> m ()
+  , brandLogoPutBrandLogo :: Text -> Text -> Text -> m ()
+  , brandPutBrand :: Text -> Text -> Brand -> m Brand
+  , brandResourcesGetBrandResources :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> m ()
+  , brandResourcesGetBrandResourcesList :: Text -> Text -> m BrandResourcesList
+  , brandResourcesPutBrandResources :: Text -> Text -> Text -> m BrandResources
+  , brandsDeleteBrands :: Text -> BrandsRequest -> m AccountBrands
+  , brandsDeleteGroupBrands :: Text -> Text -> BrandsRequest -> m GroupBrands
+  , brandsGetBrands :: Text -> Maybe Text -> Maybe Text -> m AccountBrands
+  , brandsGetGroupBrands :: Text -> Text -> m GroupBrands
+  , brandsPostBrands :: Text -> Brand -> m AccountBrands
+  , brandsPutGroupBrands :: Text -> Text -> BrandsRequest -> m GroupBrands
+  , bulkEnvelopesGetBulkEnvelopesBatchId :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> m BulkEnvelopeStatus
+  , bulkEnvelopesGetEnvelopesBulk :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> m BulkEnvelopes
+  , captiveRecipientsDeleteCaptiveRecipientsPart :: Text -> Text -> CaptiveRecipientInformation -> m CaptiveRecipientInformation
+  , chunkedUploadsDeleteChunkedUpload :: Text -> Text -> m ChunkedUploads
+  , chunkedUploadsGetChunkedUpload :: Text -> Text -> Maybe Text -> m ChunkedUploads
+  , chunkedUploadsPostChunkedUploads :: Text -> ChunkedUploadRequest -> m ChunkedUploads
+  , chunkedUploadsPutChunkedUploadPart :: Text -> Text -> Text -> ChunkedUploadRequest -> m ChunkedUploads
+  , chunkedUploadsPutChunkedUploads :: Text -> Text -> Maybe Text -> m ChunkedUploads
+  , cloudStorageDeleteCloudStorage :: Text -> Text -> Text -> m CloudStorageProviders
+  , cloudStorageDeleteCloudStorageProviders :: Text -> Text -> CloudStorageProviders -> m CloudStorageProviders
+  , cloudStorageFolderGetCloudStorageFolder :: Text -> Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m CloudStorage
+  , cloudStorageFolderGetCloudStorageFolderAll :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m CloudStorage
+  , cloudStorageGetCloudStorage :: Text -> Text -> Text -> Maybe Text -> m CloudStorageProviders
+  , cloudStorageGetCloudStorageProviders :: Text -> Text -> Maybe Text -> m CloudStorageProviders
+  , cloudStoragePostCloudStorage :: Text -> Text -> CloudStorageProviders -> m CloudStorageProviders
+  , connectDeleteConnectConfig :: Text -> Text -> m ()
+  , connectFailuresDeleteConnectFailureLog :: Text -> Text -> m ()
+  , connectFailuresGetConnectLogs :: Text -> Maybe Text -> Maybe Text -> m ConnectEvents
+  , connectGetConnectConfig :: Text -> Text -> m ConnectConfigResults
+  , connectGetConnectConfigs :: Text -> m ConnectConfigResults
+  , connectGetConnectUsers :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m IntegratedUserInfoList
+  , connectLogDeleteConnectLog :: Text -> Text -> m ()
+  , connectLogDeleteConnectLogs :: Text -> m ()
+  , connectLogGetConnectLog :: Text -> Text -> Maybe Text -> m ConnectLog
+  , connectLogGetConnectLogs :: Text -> Maybe Text -> Maybe Text -> m ConnectEvents
+  , connectPostConnectConfiguration :: Text -> ConnectConfigurations -> m ConnectConfigurations
+  , connectPublishPutConnectRetry :: Text -> ConnectFailureFilter -> m ConnectFailureResults
+  , connectPublishPutConnectRetryByEnvelope :: Text -> Text -> m ConnectFailureResults
+  , connectPutConnectConfiguration :: Text -> ConnectConfigurations -> m ConnectConfigurations
+  , consumerDisclosureGetConsumerDisclosure :: Text -> Maybe Text -> m AccountConsumerDisclosures
+  , consumerDisclosureGetConsumerDisclosureEnvelopeIdRecipientId :: Text -> Text -> Text -> Maybe Text -> m EnvelopeConsumerDisclosures
+  , consumerDisclosureGetConsumerDisclosureEnvelopeIdRecipientIdLangCode :: Text -> Text -> Text -> Text -> Maybe Text -> m EnvelopeConsumerDisclosures
+  , consumerDisclosureGetConsumerDisclosureLangCode :: Text -> Text -> m AccountConsumerDisclosures
+  , consumerDisclosurePutConsumerDisclosure :: Text -> Text -> Maybe Text -> EnvelopeConsumerDisclosures -> m EnvelopeConsumerDisclosures
+  , contactsDeleteContactWithId :: Text -> Text -> m ContactUpdateResponse
+  , contactsDeleteContacts :: Text -> ContactModRequest -> m ContactUpdateResponse
+  , contactsGetContactById :: Text -> Text -> Maybe Text -> m ContactGetResponse
+  , contactsPostContacts :: Text -> ContactModRequest -> m ContactUpdateResponse
+  , contactsPutContacts :: Text -> ContactModRequest -> m ContactUpdateResponse
+  , customFieldsDeleteCustomFields :: Text -> Text -> EnvelopeCustomFields -> m EnvelopeCustomFields
+  , customFieldsDeleteTemplateCustomFields :: Text -> Text -> TemplateCustomFields -> m TemplateCustomFields
+  , customFieldsGetCustomFields :: Text -> Text -> m CustomFieldsEnvelope
+  , customFieldsGetTemplateCustomFields :: Text -> Text -> m TemplateCustomFields
+  , customFieldsPostCustomFields :: Text -> Text -> EnvelopeCustomFields -> m EnvelopeCustomFields
+  , customFieldsPostTemplateCustomFields :: Text -> Text -> TemplateCustomFields -> m TemplateCustomFields
+  , customFieldsPutCustomFields :: Text -> Text -> EnvelopeCustomFields -> m EnvelopeCustomFields
+  , customFieldsPutTemplateCustomFields :: Text -> Text -> TemplateCustomFields -> m TemplateCustomFields
+  , documentFieldsDeleteDocumentFields :: Text -> Text -> Text -> EnvelopeDocumentFields -> m EnvelopeDocumentFields
+  , documentFieldsDeleteTemplateDocumentFields :: Text -> Text -> Text -> TemplateDocumentFields -> m TemplateDocumentFields
+  , documentFieldsGetDocumentFields :: Text -> Text -> Text -> m EnvelopeDocumentFields
+  , documentFieldsGetTemplateDocumentFields :: Text -> Text -> Text -> m TemplateDocumentFields
+  , documentFieldsPostDocumentFields :: Text -> Text -> Text -> EnvelopeDocumentFields -> m EnvelopeDocumentFields
+  , documentFieldsPostTemplateDocumentFields :: Text -> Text -> Text -> TemplateDocumentFields -> m TemplateDocumentFields
+  , documentFieldsPutDocumentFields :: Text -> Text -> Text -> EnvelopeDocumentFields -> m EnvelopeDocumentFields
+  , documentFieldsPutTemplateDocumentFields :: Text -> Text -> Text -> TemplateDocumentFields -> m TemplateDocumentFields
+  , documentsDeleteDocuments :: Text -> Text -> EnvelopeDefinition -> m EnvelopeDocuments
+  , documentsDeleteTemplateDocuments :: Text -> Text -> EnvelopeDefinition -> m TemplateDocuments
+  , documentsGetDocument :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m PDF
+  , documentsGetDocuments :: Text -> Text -> Maybe Text -> m EnvelopeDocuments
+  , documentsGetTemplateDocument :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> m PDF
+  , documentsGetTemplateDocuments :: Text -> Text -> m TemplateDocuments
+  , documentsPutDocument :: Text -> Text -> Text -> Maybe Text -> m ()
+  , documentsPutDocuments :: Text -> Text -> Maybe Text -> EnvelopeDefinition -> m EnvelopeDocuments
+  , documentsPutTemplateDocument :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> EnvelopeDefinition -> m EnvelopeDocument
+  , documentsPutTemplateDocuments :: Text -> Text -> Maybe Text -> EnvelopeDefinition -> m TemplateDocuments
+  , eMortgagePostTransactions :: Text -> EMortgageTransactions -> m PostTransactionsResponse
+  , eNoteConfigurationDeleteENoteConfiguration :: Text -> m ()
+  , eNoteConfigurationGetENoteConfiguration :: Text -> m ENoteConfigurations
+  , eNoteConfigurationPutENoteConfiguration :: Text -> ENoteConfigurations -> m ENoteConfigurations
+  , emailSettingsDeleteEmailSettings :: Text -> Text -> m EnvelopeEmailSettings
+  , emailSettingsGetEmailSettings :: Text -> Text -> m EnvelopeEmailSettings
+  , emailSettingsPostEmailSettings :: Text -> Text -> EnvelopeEmailSettings -> m EnvelopeEmailSettings
+  , emailSettingsPutEmailSettings :: Text -> Text -> EnvelopeEmailSettings -> m EnvelopeEmailSettings
+  , envelopesGetEnvelope :: Text -> Text -> Maybe Text -> Maybe Text -> m Envelopes
+  , envelopesGetEnvelopes :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m EnvelopesInformation
+  , envelopesPostEnvelopes :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> EnvelopeDefinition -> m EnvelopeSummary
+  , envelopesPutEnvelope :: Text -> Text -> Maybe Text -> Maybe Text -> Envelopes -> m EnvelopeUpdateSummary
+  , envelopesPutStatus :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> EnvelopeIdsRequest -> m EnvelopesInformation
+  , foldersGetFolderItems :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m FolderItemsResponse
+  , foldersGetFolders :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m Folders
+  , foldersPutFolderById :: Text -> Text -> FoldersRequest -> m Folders
+  , formDataGetFormData :: Text -> Text -> m EnvelopeFormData
+  , groupsDeleteGroupUsers :: Text -> Text -> UserInfoList -> m GroupUsers
+  , groupsDeleteGroups :: Text -> Groups -> m Groups
+  , groupsGetGroupUsers :: Text -> Text -> Maybe Text -> Maybe Text -> m GroupUsers
+  , groupsGetGroups :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m Groups
+  , groupsPostGroups :: Text -> Groups -> m Groups
+  , groupsPutGroupUsers :: Text -> Text -> UserInfoList -> m GroupUsers
+  , groupsPutGroups :: Text -> Groups -> m Groups
+  , lockDeleteEnvelopeLock :: Text -> Text -> m EnvelopeLocks
+  , lockDeleteTemplateLock :: Text -> Text -> LockRequest -> m TemplateLocks
+  , lockGetEnvelopeLock :: Text -> Text -> m EnvelopeLocks
+  , lockGetTemplateLock :: Text -> Text -> m TemplateLocks
+  , lockPostEnvelopeLock :: Text -> Text -> LockRequest -> m EnvelopeLocks
+  , lockPostTemplateLock :: Text -> Text -> LockRequest -> m TemplateLocks
+  , lockPutEnvelopeLock :: Text -> Text -> LockRequest -> m EnvelopeLocks
+  , lockPutTemplateLock :: Text -> Text -> LockRequest -> m TemplateLocks
+  , loginInformationGetLoginInformation :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m Authentication
+  , loginInformationPutLoginInformation :: Text -> UserPasswordInformation -> m ()
+  , notificationGetEnvelopesEnvelopeIdNotification :: Text -> Text -> m Notification
+  , notificationGetTemplatesTemplateIdNotification :: Text -> Text -> m Notification
+  , notificationPutEnvelopesEnvelopeIdNotification :: Text -> Text -> EnvelopeNotificationRequest -> m Notification
+  , notificationPutTemplatesTemplateIdNotification :: Text -> Text -> TemplateNotificationRequest -> m Notification
+  , oAuth2PostRevoke :: m ()
+  , oAuth2PostToken :: m OauthAccess
+  , pagesDeletePage :: Text -> Text -> Text -> Text -> m ()
+  , pagesDeleteTemplatePage :: Text -> Text -> Text -> Text -> PageRequest -> m ()
+  , pagesGetPageImage :: Text -> Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m PNG
+  , pagesGetPageImages :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m PageImages
+  , pagesGetTemplatePageImage :: Text -> Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m PNG
+  , pagesGetTemplatePageImages :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m PageImages
+  , pagesPutPageImage :: Text -> Text -> Text -> Text -> PageRequest -> m ()
+  , pagesPutTemplatePageImage :: Text -> Text -> Text -> Text -> PageRequest -> m ()
+  , passwordRulesGetPasswordRules :: m UserPasswordRules
+  , paymentGatewayAccountsGetAllPaymentGatewayAccounts :: Text -> m PaymentGatewayAccountsInfo
+  , permissionProfilesDeletePermissionProfiles :: Text -> Text -> m ()
+  , permissionProfilesGetPermissionProfile :: Text -> Text -> Maybe Text -> m AccountPermissionProfiles
+  , permissionProfilesGetPermissionProfiles :: Text -> Maybe Text -> m PermissionProfileInformation
+  , permissionProfilesPostPermissionProfiles :: Text -> Maybe Text -> AccountPermissionProfiles -> m AccountPermissionProfiles
+  , permissionProfilesPutPermissionProfiles :: Text -> Text -> Maybe Text -> AccountPermissionProfiles -> m AccountPermissionProfiles
+  , powerFormsDeletePowerForm :: Text -> Text -> m ()
+  , powerFormsDeletePowerFormsList :: Text -> PowerFormsRequest -> m PowerFormsResponse
+  , powerFormsGetPowerForm :: Text -> Text -> m PowerForms
+  , powerFormsGetPowerFormFormData :: Text -> Text -> Maybe Text -> Maybe Text -> m PowerFormsFormDataResponse
+  , powerFormsGetPowerFormsList :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m PowerFormsResponse
+  , powerFormsGetPowerFormsSenders :: Text -> Maybe Text -> m PowerFormSendersResponse
+  , powerFormsPostPowerForm :: Text -> PowerForms -> m PowerForms
+  , powerFormsPutPowerForm :: Text -> Text -> PowerForms -> m PowerForms
+  , purchasedEnvelopesPutPurchasedEnvelopes :: Text -> PurchasedEnvelopesInformation -> m ()
+  , recipientNamesGetRecipientNames :: Text -> Maybe Text -> m RecipientNamesResponse
+  , recipientsDeleteBulkRecipientsFile :: Text -> Text -> Text -> m BulkRecipientsUpdateResponse
+  , recipientsDeleteRecipient :: Text -> Text -> Text -> m EnvelopeRecipients
+  , recipientsDeleteRecipientTabs :: Text -> Text -> Text -> EnvelopeRecipientTabs -> m EnvelopeRecipientTabs
+  , recipientsDeleteRecipients :: Text -> Text -> EnvelopeRecipients -> m EnvelopeRecipients
+  , recipientsDeleteTemplateBulkRecipientsFile :: Text -> Text -> Text -> m BulkRecipientsUpdateResponse
+  , recipientsDeleteTemplateRecipient :: Text -> Text -> Text -> TemplateRecipients -> m TemplateRecipients
+  , recipientsDeleteTemplateRecipientTabs :: Text -> Text -> Text -> TemplateTabs -> m TemplateRecipientTabs
+  , recipientsDeleteTemplateRecipients :: Text -> Text -> TemplateRecipients -> m TemplateRecipients
+  , recipientsGetBulkRecipients :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> m EnvelopeBulkRecipients
+  , recipientsGetRecipientDocumentVisibility :: Text -> Text -> Text -> m EnvelopeDocumentVisibility
+  , recipientsGetRecipientInitialsImage :: Text -> Text -> Text -> Maybe Text -> m GIF
+  , recipientsGetRecipientSignature :: Text -> Text -> Text -> m UserSignatures
+  , recipientsGetRecipientSignatureImage :: Text -> Text -> Text -> Maybe Text -> m GIF
+  , recipientsGetRecipientTabs :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> m EnvelopeRecipientTabs
+  , recipientsGetRecipients :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m EnvelopeRecipients
+  , recipientsGetTemplateBulkRecipients :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> m TemplateBulkRecipients
+  , recipientsGetTemplateRecipientDocumentVisibility :: Text -> Text -> Text -> m EnvelopeDocumentVisibility
+  , recipientsGetTemplateRecipientTabs :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> m TemplateRecipientTabs
+  , recipientsGetTemplateRecipients :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> m TemplateRecipients
+  , recipientsPostRecipientTabs :: Text -> Text -> Text -> EnvelopeRecipientTabs -> m EnvelopeRecipientTabs
+  , recipientsPostRecipients :: Text -> Text -> Maybe Text -> EnvelopeRecipients -> m EnvelopeRecipients
+  , recipientsPostTemplateRecipientTabs :: Text -> Text -> Text -> TemplateTabs -> m TemplateRecipientTabs
+  , recipientsPostTemplateRecipients :: Text -> Text -> Maybe Text -> TemplateRecipients -> m TemplateRecipients
+  , recipientsPutBulkRecipients :: Text -> Text -> Text -> BulkRecipientsRequest -> m BulkRecipientsSummaryResponse
+  , recipientsPutRecipientDocumentVisibility :: Text -> Text -> Text -> EnvelopeDocumentVisibility -> m EnvelopeDocumentVisibility
+  , recipientsPutRecipientInitialsImage :: Text -> Text -> Text -> m ()
+  , recipientsPutRecipientSignatureImage :: Text -> Text -> Text -> m ()
+  , recipientsPutRecipientTabs :: Text -> Text -> Text -> EnvelopeRecipientTabs -> m EnvelopeRecipientTabs
+  , recipientsPutRecipients :: Text -> Text -> Maybe Text -> EnvelopeRecipients -> m RecipientsUpdateSummary
+  , recipientsPutRecipientsDocumentVisibility :: Text -> Text -> EnvelopeDocumentVisibility -> m EnvelopeDocumentVisibility
+  , recipientsPutTemplateBulkRecipients :: Text -> Text -> Text -> BulkRecipientsRequest -> m BulkRecipientsSummaryResponse
+  , recipientsPutTemplateRecipientDocumentVisibility :: Text -> Text -> Text -> TemplateDocumentVisibility -> m TemplateDocumentVisibility
+  , recipientsPutTemplateRecipientTabs :: Text -> Text -> Text -> TemplateTabs -> m TemplateRecipientTabs
+  , recipientsPutTemplateRecipients :: Text -> Text -> Maybe Text -> TemplateRecipients -> m RecipientsUpdateSummary
+  , recipientsPutTemplateRecipientsDocumentVisibility :: Text -> Text -> TemplateDocumentVisibility -> m TemplateDocumentVisibility
+  , searchFoldersGetSearchFolderContents :: Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m FolderItemResponse
+  , serviceInformationGetResourceInformation :: m Resources
+  , serviceInformationGetServiceInformation :: m Services
+  , settingsGetSettings :: Text -> m AccountSettingsInformation
+  , settingsPutSettings :: Text -> AccountSettingsInformation -> m ()
+  , sharedAccessGetSharedAccess :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m AccountSharedAccess
+  , sharedAccessPutSharedAccess :: Text -> Maybe Text -> Maybe Text -> AccountSharedAccess -> m AccountSharedAccess
+  , signingGroupsDeleteSigningGroupUsers :: Text -> Text -> SigningGroupUsers -> m SigningGroupUsers
+  , signingGroupsDeleteSigningGroups :: Text -> SigningGroupInformation -> m SigningGroupInformation
+  , signingGroupsGetSigningGroup :: Text -> Text -> m SigningGroups
+  , signingGroupsGetSigningGroupUsers :: Text -> Text -> m SigningGroupUsers
+  , signingGroupsGetSigningGroups :: Text -> Maybe Text -> Maybe Text -> m SigningGroupInformation
+  , signingGroupsPostSigningGroups :: Text -> SigningGroupInformation -> m SigningGroupInformation
+  , signingGroupsPutSigningGroup :: Text -> Text -> SigningGroups -> m SigningGroups
+  , signingGroupsPutSigningGroupUsers :: Text -> Text -> SigningGroupUsers -> m SigningGroupUsers
+  , signingGroupsPutSigningGroups :: Text -> SigningGroupInformation -> m SigningGroupInformation
+  , supportedLanguagesGetSupportedLanguages :: Text -> m SupportedLanguages
+  , tabDeleteCustomTab :: Text -> Text -> m ()
+  , tabGetCustomTab :: Text -> Text -> m CustomTabs
+  , tabPutCustomTab :: Text -> Text -> CustomTabs -> m CustomTabs
+  , tabSettingsGetTabSettings :: Text -> m AccountTabSettings
+  , tabSettingsPutSettings :: Text -> AccountTabSettings -> m AccountTabSettings
+  , tabsGetDocumentTabs :: Text -> Text -> Text -> Maybe Text -> m EnvelopeDocumentTabs
+  , tabsGetPageTabs :: Text -> Text -> Text -> Text -> m EnvelopeDocumentTabs
+  , tabsGetTabDefinitions :: Text -> Maybe Text -> m TabMetadataList
+  , tabsGetTemplateDocumentTabs :: Text -> Text -> Text -> Maybe Text -> m TemplateDocumentTabs
+  , tabsGetTemplatePageTabs :: Text -> Text -> Text -> Text -> m TemplateDocumentTabs
+  , tabsPostTabDefinitions :: Text -> CustomTabs -> m CustomTabs
+  , templatesDeleteDocumentTemplates :: Text -> Text -> Text -> Text -> m ()
+  , templatesDeleteTemplatePart :: Text -> Text -> Text -> Groups -> m Groups
+  , templatesGetDocumentTemplates :: Text -> Text -> Text -> Maybe Text -> m EnvelopeTemplates
+  , templatesGetEnvelopeTemplates :: Text -> Text -> Maybe Text -> m EnvelopeTemplates
+  , templatesGetTemplate :: Text -> Text -> Maybe Text -> m Templates
+  , templatesGetTemplates :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m EnvelopeTemplateResults
+  , templatesPostDocumentTemplates :: Text -> Text -> Text -> DocumentTemplateList -> m DocumentTemplateList
+  , templatesPostEnvelopeTemplates :: Text -> Text -> DocumentTemplateList -> m DocumentTemplateList
+  , templatesPostTemplates :: Text -> Templates -> m TemplateSummary
+  , templatesPutTemplate :: Text -> Text -> Templates -> m TemplateUpdateSummary
+  , templatesPutTemplatePart :: Text -> Text -> Text -> Groups -> m Groups
+  , unsupportedFileTypesGetUnsupportedFileTypes :: Text -> m FileTypeList
+  , userCustomSettingsDeleteCustomSettings :: Text -> Text -> UserCustomSettings -> m UserCustomSettings
+  , userCustomSettingsGetCustomSettings :: Text -> Text -> m UserCustomSettings
+  , userCustomSettingsPutCustomSettings :: Text -> Text -> UserCustomSettings -> m UserCustomSettings
+  , userGetUser :: Text -> Text -> Maybe Text -> Maybe Text -> m Users
+  , userProfileGetProfile :: Text -> Text -> m UserProfiles
+  , userProfileImageDeleteUserProfileImage :: Text -> Text -> m ()
+  , userProfileImageGetUserProfileImage :: Text -> Text -> Maybe Text -> m GIF
+  , userProfileImagePutUserProfileImage :: Text -> Text -> m ()
+  , userProfilePutProfile :: Text -> Text -> UserProfiles -> m ()
+  , userPutUser :: Text -> Text -> Users -> m Users
+  , userSettingsGetUserSettings :: Text -> Text -> m UserSettingsInformation
+  , userSettingsPutUserSettings :: Text -> Text -> UserSettingsInformation -> m ()
+  , userSignaturesDeleteUserSignature :: Text -> Text -> Text -> m ()
+  , userSignaturesDeleteUserSignatureImage :: Text -> Text -> Text -> Text -> m UserSignatures
+  , userSignaturesGetUserSignature :: Text -> Text -> Text -> m UserSignatures
+  , userSignaturesGetUserSignatureImage :: Text -> Text -> Text -> Text -> Maybe Text -> m GIF
+  , userSignaturesGetUserSignatures :: Text -> Text -> Maybe Text -> m UserSignaturesInformation
+  , userSignaturesPostUserSignatures :: Text -> Text -> UserSignaturesInformation -> m UserSignaturesInformation
+  , userSignaturesPutUserSignature :: Text -> Text -> UserSignaturesInformation -> m UserSignaturesInformation
+  , userSignaturesPutUserSignatureById :: Text -> Text -> Text -> Maybe Text -> UserSignatureDefinition -> m UserSignatures
+  , userSignaturesPutUserSignatureImage :: Text -> Text -> Text -> Text -> m UserSignatures
+  , userSocialLoginDeleteUserSocialLogin :: Text -> Text -> UserSocialAccountLogins -> m ()
+  , userSocialLoginGetUserSocialLogin :: Text -> Text -> m UserSocialIdResult
+  , userSocialLoginPutUserSocialLogin :: Text -> Text -> UserSocialAccountLogins -> m ()
+  , usersDeleteUsers :: Text -> UserInfoList -> m GroupUsers
+  , usersGetUsers :: Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m UserInformationList
+  , usersPostUsers :: Text -> NewUsersDefinition -> m NewUsersSummary
+  , usersPutUsers :: Text -> UserInformationList -> m UserInformationList
+  , viewsPostAccountConsoleView :: Text -> ConsoleViewRequest -> m EnvelopeViews
+  , viewsPostEnvelopeCorrectView :: Text -> Text -> CorrectViewRequest -> m EnvelopeViews
+  , viewsPostEnvelopeEditView :: Text -> Text -> ReturnUrlRequest -> m EnvelopeViews
+  , viewsPostEnvelopeRecipientView :: Text -> Text -> RecipientViewRequest -> m EnvelopeViews
+  , viewsPostEnvelopeSenderView :: Text -> Text -> ReturnUrlRequest -> m EnvelopeViews
+  , viewsPostTemplateEditView :: Text -> Text -> ReturnUrlRequest -> m TemplateViews
+  , watermarkGetWatermark :: Text -> m AccountWatermarks
+  , watermarkPreviewPutWatermarkPreview :: Text -> AccountWatermarks -> m AccountWatermarks
+  , watermarkPutWatermark :: Text -> AccountWatermarks -> m AccountWatermarks
+  , workspaceDeleteWorkspace :: Text -> Text -> m Workspaces
+  , workspaceFileGetWorkspaceFile :: Text -> Text -> Text -> Text -> Maybe Text -> Maybe Text -> m ()
+  , workspaceFilePagesGetWorkspaceFilePages :: Text -> Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m PageImages
+  , workspaceFilePostWorkspaceFiles :: Text -> Text -> Text -> m WorkspaceItems
+  , workspaceFilePutWorkspaceFile :: Text -> Text -> Text -> Text -> m WorkspaceItems
+  , workspaceFolderDeleteWorkspaceItems :: Text -> Text -> Text -> WorkspaceItemList -> m ()
+  , workspaceFolderGetWorkspaceFolder :: Text -> Text -> Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> m WorkspaceFolderContents
+  , workspaceGetWorkspace :: Text -> Text -> m Workspaces
+  , workspaceGetWorkspaces :: Text -> m WorkspaceList
+  , workspacePostWorkspace :: Text -> Workspaces -> m Workspaces
+  , workspacePutWorkspace :: Text -> Text -> Workspaces -> m Workspaces
+  }
+
+docuSignClient :: DocuSignClient ClientM
+docuSignClient = DocuSignClient {..}
+  where
+  (      accountCustomFieldsDeleteAccountCustomFields
+    :<|> accountCustomFieldsGetAccountCustomFields
+    :<|> accountCustomFieldsPostAccountCustomFields
+    :<|> accountCustomFieldsPutAccountCustomFields
+    :<|> accountPasswordRulesGetAccountPasswordRules
+    :<|> accountPasswordRulesPutAccountPasswordRules
+    :<|> accountSignatureProvidersGetSignatureProviders
+    :<|> accountsDeleteAccount
+    :<|> accountsGetAccount
+    :<|> accountsGetProvisioning
+    :<|> accountsPostAccounts
+    :<|> apiRequestLogDeleteRequestLogs
+    :<|> apiRequestLogGetRequestLog
+    :<|> apiRequestLogGetRequestLogSettings
+    :<|> apiRequestLogGetRequestLogs
+    :<|> apiRequestLogPutRequestLogSettings
+    :<|> attachmentsDeleteAttachments
+    :<|> attachmentsGetAttachment
+    :<|> attachmentsGetAttachments
+    :<|> attachmentsPutAttachment
+    :<|> attachmentsPutAttachments
+    :<|> auditEventsGetAuditEvents
+    :<|> billingChargesGetAccountBillingCharges
+    :<|> billingInvoicesGetBillingInvoice
+    :<|> billingInvoicesGetBillingInvoices
+    :<|> billingInvoicesGetBillingInvoicesPastDue
+    :<|> billingPaymentsGetPayment
+    :<|> billingPaymentsGetPaymentList
+    :<|> billingPaymentsPostPayment
+    :<|> billingPlanGetBillingPlan
+    :<|> billingPlanGetCreditCardInfo
+    :<|> billingPlanPutBillingPlan
+    :<|> billingPlansGetBillingPlan
+    :<|> billingPlansGetBillingPlans
+    :<|> brandDeleteBrand
+    :<|> brandExportGetBrandExportFile
+    :<|> brandGetBrand
+    :<|> brandLogoDeleteBrandLogo
+    :<|> brandLogoGetBrandLogo
+    :<|> brandLogoPutBrandLogo
+    :<|> brandPutBrand
+    :<|> brandResourcesGetBrandResources
+    :<|> brandResourcesGetBrandResourcesList
+    :<|> brandResourcesPutBrandResources
+    :<|> brandsDeleteBrands
+    :<|> brandsDeleteGroupBrands
+    :<|> brandsGetBrands
+    :<|> brandsGetGroupBrands
+    :<|> brandsPostBrands
+    :<|> brandsPutGroupBrands
+    :<|> bulkEnvelopesGetBulkEnvelopesBatchId
+    :<|> bulkEnvelopesGetEnvelopesBulk
+    :<|> captiveRecipientsDeleteCaptiveRecipientsPart
+    :<|> chunkedUploadsDeleteChunkedUpload
+    :<|> chunkedUploadsGetChunkedUpload
+    :<|> chunkedUploadsPostChunkedUploads
+    :<|> chunkedUploadsPutChunkedUploadPart
+    :<|> chunkedUploadsPutChunkedUploads
+    :<|> cloudStorageDeleteCloudStorage
+    :<|> cloudStorageDeleteCloudStorageProviders
+    :<|> cloudStorageFolderGetCloudStorageFolder
+    :<|> cloudStorageFolderGetCloudStorageFolderAll
+    :<|> cloudStorageGetCloudStorage
+    :<|> cloudStorageGetCloudStorageProviders
+    :<|> cloudStoragePostCloudStorage
+    :<|> connectDeleteConnectConfig
+    :<|> connectFailuresDeleteConnectFailureLog
+    :<|> connectFailuresGetConnectLogs
+    :<|> connectGetConnectConfig
+    :<|> connectGetConnectConfigs
+    :<|> connectGetConnectUsers
+    :<|> connectLogDeleteConnectLog
+    :<|> connectLogDeleteConnectLogs
+    :<|> connectLogGetConnectLog
+    :<|> connectLogGetConnectLogs
+    :<|> connectPostConnectConfiguration
+    :<|> connectPublishPutConnectRetry
+    :<|> connectPublishPutConnectRetryByEnvelope
+    :<|> connectPutConnectConfiguration
+    :<|> consumerDisclosureGetConsumerDisclosure
+    :<|> consumerDisclosureGetConsumerDisclosureEnvelopeIdRecipientId
+    :<|> consumerDisclosureGetConsumerDisclosureEnvelopeIdRecipientIdLangCode
+    :<|> consumerDisclosureGetConsumerDisclosureLangCode
+    :<|> consumerDisclosurePutConsumerDisclosure
+    :<|> contactsDeleteContactWithId
+    :<|> contactsDeleteContacts
+    :<|> contactsGetContactById
+    :<|> contactsPostContacts
+    :<|> contactsPutContacts
+    :<|> customFieldsDeleteCustomFields
+    :<|> customFieldsDeleteTemplateCustomFields
+    :<|> customFieldsGetCustomFields
+    :<|> customFieldsGetTemplateCustomFields
+    :<|> customFieldsPostCustomFields
+    :<|> customFieldsPostTemplateCustomFields
+    :<|> customFieldsPutCustomFields
+    :<|> customFieldsPutTemplateCustomFields
+    :<|> documentFieldsDeleteDocumentFields
+    :<|> documentFieldsDeleteTemplateDocumentFields
+    :<|> documentFieldsGetDocumentFields
+    :<|> documentFieldsGetTemplateDocumentFields
+    :<|> documentFieldsPostDocumentFields
+    :<|> documentFieldsPostTemplateDocumentFields
+    :<|> documentFieldsPutDocumentFields
+    :<|> documentFieldsPutTemplateDocumentFields
+    :<|> documentsDeleteDocuments
+    :<|> documentsDeleteTemplateDocuments
+    :<|> documentsGetDocument
+    :<|> documentsGetDocuments
+    :<|> documentsGetTemplateDocument
+    :<|> documentsGetTemplateDocuments
+    :<|> documentsPutDocument
+    :<|> documentsPutDocuments
+    :<|> documentsPutTemplateDocument
+    :<|> documentsPutTemplateDocuments
+    :<|> eMortgagePostTransactions
+    :<|> eNoteConfigurationDeleteENoteConfiguration
+    :<|> eNoteConfigurationGetENoteConfiguration
+    :<|> eNoteConfigurationPutENoteConfiguration
+    :<|> emailSettingsDeleteEmailSettings
+    :<|> emailSettingsGetEmailSettings
+    :<|> emailSettingsPostEmailSettings
+    :<|> emailSettingsPutEmailSettings
+    :<|> envelopesGetEnvelope
+    :<|> envelopesGetEnvelopes
+    :<|> envelopesPostEnvelopes
+    :<|> envelopesPutEnvelope
+    :<|> envelopesPutStatus
+    :<|> foldersGetFolderItems
+    :<|> foldersGetFolders
+    :<|> foldersPutFolderById
+    :<|> formDataGetFormData
+    :<|> groupsDeleteGroupUsers
+    :<|> groupsDeleteGroups
+    :<|> groupsGetGroupUsers
+    :<|> groupsGetGroups
+    :<|> groupsPostGroups
+    :<|> groupsPutGroupUsers
+    :<|> groupsPutGroups
+    :<|> lockDeleteEnvelopeLock
+    :<|> lockDeleteTemplateLock
+    :<|> lockGetEnvelopeLock
+    :<|> lockGetTemplateLock
+    :<|> lockPostEnvelopeLock
+    :<|> lockPostTemplateLock
+    :<|> lockPutEnvelopeLock
+    :<|> lockPutTemplateLock
+    :<|> loginInformationGetLoginInformation
+    :<|> loginInformationPutLoginInformation
+    :<|> notificationGetEnvelopesEnvelopeIdNotification
+    :<|> notificationGetTemplatesTemplateIdNotification
+    :<|> notificationPutEnvelopesEnvelopeIdNotification
+    :<|> notificationPutTemplatesTemplateIdNotification
+    :<|> oAuth2PostRevoke
+    :<|> oAuth2PostToken
+    :<|> pagesDeletePage
+    :<|> pagesDeleteTemplatePage
+    :<|> pagesGetPageImage
+    :<|> pagesGetPageImages
+    :<|> pagesGetTemplatePageImage
+    :<|> pagesGetTemplatePageImages
+    :<|> pagesPutPageImage
+    :<|> pagesPutTemplatePageImage
+    :<|> passwordRulesGetPasswordRules
+    :<|> paymentGatewayAccountsGetAllPaymentGatewayAccounts
+    :<|> permissionProfilesDeletePermissionProfiles
+    :<|> permissionProfilesGetPermissionProfile
+    :<|> permissionProfilesGetPermissionProfiles
+    :<|> permissionProfilesPostPermissionProfiles
+    :<|> permissionProfilesPutPermissionProfiles
+    :<|> powerFormsDeletePowerForm
+    :<|> powerFormsDeletePowerFormsList
+    :<|> powerFormsGetPowerForm
+    :<|> powerFormsGetPowerFormFormData
+    :<|> powerFormsGetPowerFormsList
+    :<|> powerFormsGetPowerFormsSenders
+    :<|> powerFormsPostPowerForm
+    :<|> powerFormsPutPowerForm
+    :<|> purchasedEnvelopesPutPurchasedEnvelopes
+    :<|> recipientNamesGetRecipientNames
+    :<|> recipientsDeleteBulkRecipientsFile
+    :<|> recipientsDeleteRecipient
+    :<|> recipientsDeleteRecipientTabs
+    :<|> recipientsDeleteRecipients
+    :<|> recipientsDeleteTemplateBulkRecipientsFile
+    :<|> recipientsDeleteTemplateRecipient
+    :<|> recipientsDeleteTemplateRecipientTabs
+    :<|> recipientsDeleteTemplateRecipients
+    :<|> recipientsGetBulkRecipients
+    :<|> recipientsGetRecipientDocumentVisibility
+    :<|> recipientsGetRecipientInitialsImage
+    :<|> recipientsGetRecipientSignature
+    :<|> recipientsGetRecipientSignatureImage
+    :<|> recipientsGetRecipientTabs
+    :<|> recipientsGetRecipients
+    :<|> recipientsGetTemplateBulkRecipients
+    :<|> recipientsGetTemplateRecipientDocumentVisibility
+    :<|> recipientsGetTemplateRecipientTabs
+    :<|> recipientsGetTemplateRecipients
+    :<|> recipientsPostRecipientTabs
+    :<|> recipientsPostRecipients
+    :<|> recipientsPostTemplateRecipientTabs
+    :<|> recipientsPostTemplateRecipients
+    :<|> recipientsPutBulkRecipients
+    :<|> recipientsPutRecipientDocumentVisibility
+    :<|> recipientsPutRecipientInitialsImage
+    :<|> recipientsPutRecipientSignatureImage
+    :<|> recipientsPutRecipientTabs
+    :<|> recipientsPutRecipients
+    :<|> recipientsPutRecipientsDocumentVisibility
+    :<|> recipientsPutTemplateBulkRecipients
+    :<|> recipientsPutTemplateRecipientDocumentVisibility
+    :<|> recipientsPutTemplateRecipientTabs
+    :<|> recipientsPutTemplateRecipients
+    :<|> recipientsPutTemplateRecipientsDocumentVisibility
+    :<|> searchFoldersGetSearchFolderContents
+    :<|> serviceInformationGetResourceInformation
+    :<|> serviceInformationGetServiceInformation
+    :<|> settingsGetSettings
+    :<|> settingsPutSettings
+    :<|> sharedAccessGetSharedAccess
+    :<|> sharedAccessPutSharedAccess
+    :<|> signingGroupsDeleteSigningGroupUsers
+    :<|> signingGroupsDeleteSigningGroups
+    :<|> signingGroupsGetSigningGroup
+    :<|> signingGroupsGetSigningGroupUsers
+    :<|> signingGroupsGetSigningGroups
+    :<|> signingGroupsPostSigningGroups
+    :<|> signingGroupsPutSigningGroup
+    :<|> signingGroupsPutSigningGroupUsers
+    :<|> signingGroupsPutSigningGroups
+    :<|> supportedLanguagesGetSupportedLanguages
+    :<|> tabDeleteCustomTab
+    :<|> tabGetCustomTab
+    :<|> tabPutCustomTab
+    :<|> tabSettingsGetTabSettings
+    :<|> tabSettingsPutSettings
+    :<|> tabsGetDocumentTabs
+    :<|> tabsGetPageTabs
+    :<|> tabsGetTabDefinitions
+    :<|> tabsGetTemplateDocumentTabs
+    :<|> tabsGetTemplatePageTabs
+    :<|> tabsPostTabDefinitions
+    :<|> templatesDeleteDocumentTemplates
+    :<|> templatesDeleteTemplatePart
+    :<|> templatesGetDocumentTemplates
+    :<|> templatesGetEnvelopeTemplates
+    :<|> templatesGetTemplate
+    :<|> templatesGetTemplates
+    :<|> templatesPostDocumentTemplates
+    :<|> templatesPostEnvelopeTemplates
+    :<|> templatesPostTemplates
+    :<|> templatesPutTemplate
+    :<|> templatesPutTemplatePart
+    :<|> unsupportedFileTypesGetUnsupportedFileTypes
+    :<|> userCustomSettingsDeleteCustomSettings
+    :<|> userCustomSettingsGetCustomSettings
+    :<|> userCustomSettingsPutCustomSettings
+    :<|> userGetUser
+    :<|> userProfileGetProfile
+    :<|> userProfileImageDeleteUserProfileImage
+    :<|> userProfileImageGetUserProfileImage
+    :<|> userProfileImagePutUserProfileImage
+    :<|> userProfilePutProfile
+    :<|> userPutUser
+    :<|> userSettingsGetUserSettings
+    :<|> userSettingsPutUserSettings
+    :<|> userSignaturesDeleteUserSignature
+    :<|> userSignaturesDeleteUserSignatureImage
+    :<|> userSignaturesGetUserSignature
+    :<|> userSignaturesGetUserSignatureImage
+    :<|> userSignaturesGetUserSignatures
+    :<|> userSignaturesPostUserSignatures
+    :<|> userSignaturesPutUserSignature
+    :<|> userSignaturesPutUserSignatureById
+    :<|> userSignaturesPutUserSignatureImage
+    :<|> userSocialLoginDeleteUserSocialLogin
+    :<|> userSocialLoginGetUserSocialLogin
+    :<|> userSocialLoginPutUserSocialLogin
+    :<|> usersDeleteUsers
+    :<|> usersGetUsers
+    :<|> usersPostUsers
+    :<|> usersPutUsers
+    :<|> viewsPostAccountConsoleView
+    :<|> viewsPostEnvelopeCorrectView
+    :<|> viewsPostEnvelopeEditView
+    :<|> viewsPostEnvelopeRecipientView
+    :<|> viewsPostEnvelopeSenderView
+    :<|> viewsPostTemplateEditView
+    :<|> watermarkGetWatermark
+    :<|> watermarkPreviewPutWatermarkPreview
+    :<|> watermarkPutWatermark
+    :<|> workspaceDeleteWorkspace
+    :<|> workspaceFileGetWorkspaceFile
+    :<|> workspaceFilePagesGetWorkspaceFilePages
+    :<|> workspaceFilePostWorkspaceFiles
+    :<|> workspaceFilePutWorkspaceFile
+    :<|> workspaceFolderDeleteWorkspaceItems
+    :<|> workspaceFolderGetWorkspaceFolder
+    :<|> workspaceGetWorkspace
+    :<|> workspaceGetWorkspaces
+    :<|> workspacePostWorkspace
+    :<|> workspacePutWorkspace
+    ) = client (Proxy :: Proxy DocuSignAPI)
+
diff --git a/src/DocuSign/Base/ContentTypes.hs b/src/DocuSign/Base/ContentTypes.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/ContentTypes.hs
@@ -0,0 +1,74 @@
+{-# LANGUAGE MultiParamTypeClasses #-}
+{-# LANGUAGE OverloadedStrings     #-}
+
+module DocuSign.Base.ContentTypes
+  ( GIF
+  , JPEG
+  , PDF
+  , PNG
+  , fromBytes
+  , toBytes
+  ) where
+
+import Data.ByteString        ( ByteString )
+import Data.ByteString.Lazy   ( fromStrict
+                              , toStrict )
+import Data.Typeable          ( Typeable )
+import Network.HTTP.Media     ( (//) )
+import Servant.API            ( Accept
+                              , MimeRender
+                              , MimeUnrender
+                              , contentType
+                              , mimeRender
+                              , mimeUnrender )
+
+-- | Graphics Interchange Format
+newtype GIF = GIF ByteString
+  deriving Typeable
+
+-- | Joint Photographic Expert Group Format
+newtype JPEG = JPEG ByteString
+  deriving Typeable
+
+-- | Portable Document Format
+newtype PDF = PDF ByteString
+  deriving Typeable
+
+-- | Portable Network Graphics Format
+newtype PNG = PNG ByteString
+  deriving Typeable
+
+instance Show GIF  where show _ = "GIF"
+instance Show JPEG where show _ = "JPEG"
+instance Show PDF  where show _ = "PDF"
+instance Show PNG  where show _ = "PNG"
+
+instance Accept GIF  where contentType _ = "image"       // "gif"
+instance Accept JPEG where contentType _ = "image"       // "jpeg"
+instance Accept PDF  where contentType _ = "application" // "pdf"
+instance Accept PNG  where contentType _ = "image"       // "png"
+
+instance MimeRender GIF  GIF  where mimeRender _ = fromStrict . toBytes
+instance MimeRender JPEG JPEG where mimeRender _ = fromStrict . toBytes
+instance MimeRender PDF  PDF  where mimeRender _ = fromStrict . toBytes
+instance MimeRender PNG  PNG  where mimeRender _ = fromStrict . toBytes
+
+instance MimeUnrender GIF  GIF  where mimeUnrender _ = pure . fromBytes . toStrict
+instance MimeUnrender JPEG JPEG where mimeUnrender _ = pure . fromBytes . toStrict
+instance MimeUnrender PDF  PDF  where mimeUnrender _ = pure . fromBytes . toStrict
+instance MimeUnrender PNG  PNG  where mimeUnrender _ = pure . fromBytes . toStrict
+
+class ToBytes a where toBytes :: a -> ByteString
+
+instance ToBytes GIF  where toBytes (GIF  a) = a
+instance ToBytes JPEG where toBytes (JPEG a) = a
+instance ToBytes PDF  where toBytes (PDF  a) = a
+instance ToBytes PNG  where toBytes (PNG  a) = a
+
+class FromBytes a where fromBytes :: ByteString -> a
+
+instance FromBytes GIF  where fromBytes = GIF
+instance FromBytes JPEG where fromBytes = JPEG
+instance FromBytes PDF  where fromBytes = PDF
+instance FromBytes PNG  where fromBytes = PNG
+
diff --git a/src/DocuSign/Base/Fields.hs b/src/DocuSign/Base/Fields.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Fields.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Fields
+  ( removeFieldLabelPrefix
+  , modifyFieldLabel
+  ) where
+
+import Control.Lens.Cons    ( _head )
+import Control.Lens.Setter  ( over )
+import Data.Aeson.Types     ( Options (..)
+                            , defaultOptions )
+
+import qualified Data.Char as C
+
+removeFieldLabelPrefix :: String -> Options
+removeFieldLabelPrefix p =
+  modifyFieldLabel (decapitalizeInitialChar . (drop $ length p)) defaultOptions
+
+modifyFieldLabel :: (String -> String) -> Options -> Options
+modifyFieldLabel m o = o { fieldLabelModifier = m . fieldLabelModifier o }
+
+decapitalizeInitialChar :: String -> String
+decapitalizeInitialChar = (over _head) C.toLower
+
diff --git a/src/DocuSign/Base/Types.hs b/src/DocuSign/Base/Types.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types.hs
@@ -0,0 +1,668 @@
+module DocuSign.Base.Types
+  ( AccountAddress (..)
+  , AccountBillingPlan (..)
+  , AccountBrands (..)
+  , AccountConsumerDisclosures (..)
+  , AccountCustomFields (..)
+  , AccountMinimumPasswordLength (..)
+  , AccountPasswordExpirePasswordDays (..)
+  , AccountPasswordLockoutDurationMinutes (..)
+  , AccountPasswordLockoutDurationType (..)
+  , AccountPasswordMinimumPasswordAgeDays (..)
+  , AccountPasswordQuestionsRequired (..)
+  , AccountPasswordRules (..)
+  , AccountPasswordStrengthType (..)
+  , AccountPasswordStrengthTypeOption (..)
+  , AccountPermissionProfiles (..)
+  , AccountRoleSettings (..)
+  , AccountSettingsInformation (..)
+  , AccountSharedAccess (..)
+  , AccountSignatureProvider (..)
+  , AccountSignatureProviderOption (..)
+  , AccountSignatureProviders (..)
+  , AccountTabSettings (..)
+  , AccountWatermarks (..)
+  , Accounts (..)
+  , AddOn (..)
+  , AddressInformation (..)
+  , AddressInformationInput (..)
+  , AddressInformationV2 (..)
+  , Agent (..)
+  , ApiRequestLog (..)
+  , ApiRequestLogsResult (..)
+  , AppStoreProduct (..)
+  , AppStoreReceipt (..)
+  , Approve (..)
+  , Attachment (..)
+  , Authentication (..)
+  , AuthenticationMethod (..)
+  , AuthenticationStatus (..)
+  , BccEmailAddress (..)
+  , BillingCharge (..)
+  , BillingChargeResponse (..)
+  , BillingDiscount (..)
+  , BillingInvoiceItem (..)
+  , BillingInvoicesResponse (..)
+  , BillingInvoicesSummary (..)
+  , BillingPayment (..)
+  , BillingPaymentRequest (..)
+  , BillingPaymentResponse (..)
+  , BillingPaymentsResponse (..)
+  , BillingPlan (..)
+  , BillingPlanInformation (..)
+  , BillingPlanPreview (..)
+  , BillingPlanResponse (..)
+  , BillingPlanUpdateResponse (..)
+  , BillingPlans (..)
+  , BillingPlansResponse (..)
+  , BillingPrice (..)
+  , Brand (..)
+  , BrandEmailContent (..)
+  , BrandLink (..)
+  , BrandLogos (..)
+  , BrandRequest (..)
+  , BrandResourceUrls (..)
+  , BrandResources (..)
+  , BrandResourcesList (..)
+  , BrandsRequest (..)
+  , BulkEnvelope (..)
+  , BulkEnvelopeStatus (..)
+  , BulkEnvelopes (..)
+  , BulkRecipient (..)
+  , BulkRecipientSignatureProvider (..)
+  , BulkRecipientTabLabel (..)
+  , BulkRecipientsRequest (..)
+  , BulkRecipientsSummaryResponse (..)
+  , BulkRecipientsUpdateResponse (..)
+  , CaptiveRecipient (..)
+  , CaptiveRecipientInformation (..)
+  , CarbonCopy (..)
+  , CertifiedDelivery (..)
+  , Checkbox (..)
+  , ChunkedUploadPart (..)
+  , ChunkedUploadRequest (..)
+  , ChunkedUploads (..)
+  , CloudStorage (..)
+  , CloudStorageProvider (..)
+  , CloudStorageProviders (..)
+  , Company (..)
+  , CompositeTemplate (..)
+  , ConnectConfigResults (..)
+  , ConnectConfigurations (..)
+  , ConnectDebugLog (..)
+  , ConnectEvents (..)
+  , ConnectFailureFilter (..)
+  , ConnectFailureResult (..)
+  , ConnectFailureResults (..)
+  , ConnectLog (..)
+  , ConsoleViewRequest (..)
+  , ContactGetResponse (..)
+  , ContactModRequest (..)
+  , ContactPhoneNumber (..)
+  , ContactUpdateResponse (..)
+  , Contacts (..)
+  , CorrectViewRequest (..)
+  , Country (..)
+  , CreditCardInformation (..)
+  , CreditCardTypes (..)
+  , CurrencyFeatureSetPrice (..)
+  , CurrencyPlanPrice (..)
+  , CustomField (..)
+  , CustomFieldV2 (..)
+  , CustomFieldsEnvelope (..)
+  , CustomTabs (..)
+  , Date (..)
+  , DateSigned (..)
+  , DateStampProperties (..)
+  , Decline (..)
+  , DobInformationInput (..)
+  , Document (..)
+  , DocumentTemplate (..)
+  , DocumentTemplateList (..)
+  , DocumentVisibility (..)
+  , EMortgageTransactions (..)
+  , ENoteConfigurations (..)
+  , Editor (..)
+  , Email (..)
+  , EmailAddress (..)
+  , EnvelopeAttachments (..)
+  , EnvelopeAttachmentsRequest (..)
+  , EnvelopeAttachmentsResult (..)
+  , EnvelopeAuditEvent (..)
+  , EnvelopeAuditEventResponse (..)
+  , EnvelopeBulkRecipients (..)
+  , EnvelopeConsumerDisclosures (..)
+  , EnvelopeCustomFields (..)
+  , EnvelopeDefinition (..)
+  , EnvelopeDocument (..)
+  , EnvelopeDocumentFields (..)
+  , EnvelopeDocumentTabs (..)
+  , EnvelopeDocumentVisibility (..)
+  , EnvelopeDocuments (..)
+  , EnvelopeEmailSettings (..)
+  , EnvelopeEvent (..)
+  , EnvelopeFormData (..)
+  , EnvelopeId (..)
+  , EnvelopeIdsRequest (..)
+  , EnvelopeLocks (..)
+  , EnvelopeNotificationRequest (..)
+  , EnvelopeRecipientTabs (..)
+  , EnvelopeRecipients (..)
+  , EnvelopeSummary (..)
+  , EnvelopeTemplateDefinition (..)
+  , EnvelopeTemplateResult (..)
+  , EnvelopeTemplateResults (..)
+  , EnvelopeTemplates (..)
+  , EnvelopeTransactionStatus (..)
+  , EnvelopeUpdateSummary (..)
+  , EnvelopeViews (..)
+  , Envelopes (..)
+  , EnvelopesInformation (..)
+  , ErrorDetails (..)
+  , EventNotification (..)
+  , EventResult (..)
+  , Expirations (..)
+  , ExternalDocServiceErrorDetails (..)
+  , ExternalFile (..)
+  , FeatureSet (..)
+  , FileType (..)
+  , FileTypeList (..)
+  , Filter (..)
+  , FirstName (..)
+  , Folder (..)
+  , FolderItem (..)
+  , FolderItemResponse (..)
+  , FolderItemV2 (..)
+  , FolderItemsResponse (..)
+  , Folders (..)
+  , FoldersRequest (..)
+  , ForgottenPasswordInformation (..)
+  , FormulaTab (..)
+  , FullName (..)
+  , Group (..)
+  , GroupBrands (..)
+  , GroupUsers (..)
+  , Groups (..)
+  , IdCheckInformationInput (..)
+  , InPersonSigner (..)
+  , InitialHere (..)
+  , InlineTemplate (..)
+  , IntegratedUserInfoList (..)
+  , Intermediary (..)
+  , Invoices (..)
+  , LastName (..)
+  , List (..)
+  , ListCustomField (..)
+  , ListItem (..)
+  , LockRequest (..)
+  , LoginAccount (..)
+  , MatchBox (..)
+  , MemberGroupSharedItem (..)
+  , MemberSharedItems (..)
+  , MergeField (..)
+  , MobileNotifierConfiguration (..)
+  , Money (..)
+  , NameValue (..)
+  , NewAccountDefinition (..)
+  , NewAccountSummary (..)
+  , NewUser (..)
+  , NewUsersDefinition (..)
+  , NewUsersSummary (..)
+  , NotaryHost (..)
+  , Note (..)
+  , Notification (..)
+  , Number (..)
+  , OauthAccess (..)
+  , Page (..)
+  , PageImages (..)
+  , PageRequest (..)
+  , PaymentDetails (..)
+  , PaymentGatewayAccounts (..)
+  , PaymentGatewayAccountsInfo (..)
+  , PaymentLineItem (..)
+  , PaymentProcessorInformation (..)
+  , Payments (..)
+  , PermissionProfileInformation (..)
+  , PlanInformation (..)
+  , PostTransactionsResponse (..)
+  , PowerFormData (..)
+  , PowerFormFormDataRecipient (..)
+  , PowerFormRecipient (..)
+  , PowerFormSendersResponse (..)
+  , PowerForms (..)
+  , PowerFormsFormDataResponse (..)
+  , PowerFormsRequest (..)
+  , PowerFormsResponse (..)
+  , PropertyMetadata (..)
+  , Province (..)
+  , ProvisioningInformation (..)
+  , PurchasedEnvelopesInformation (..)
+  , Radio (..)
+  , RadioGroup (..)
+  , RecipientAttachment (..)
+  , RecipientDomain (..)
+  , RecipientEmailNotification (..)
+  , RecipientEvent (..)
+  , RecipientFormData (..)
+  , RecipientNamesResponse (..)
+  , RecipientPhoneAuthentication (..)
+  , RecipientSAMLAuthentication (..)
+  , RecipientSMSAuthentication (..)
+  , RecipientSignatureInformation (..)
+  , RecipientSignatureProvider (..)
+  , RecipientSignatureProviderOptions (..)
+  , RecipientUpdateResponse (..)
+  , RecipientViewRequest (..)
+  , RecipientsUpdateSummary (..)
+  , ReferralInformation (..)
+  , Reminders (..)
+  , RequestLogs (..)
+  , Resources (..)
+  , ReturnUrlRequest (..)
+  , SamlAssertionAttribute (..)
+  , SeatDiscount (..)
+  , SenderEmailNotifications (..)
+  , ServerTemplate (..)
+  , ServiceVersion (..)
+  , Services (..)
+  , SettingsMetadata (..)
+  , SharedItem (..)
+  , SignHere (..)
+  , SignatureProviderRequiredOption (..)
+  , SignatureType (..)
+  , Signer (..)
+  , SignerAttachment (..)
+  , SignerEmailNotifications (..)
+  , SigningGroupInformation (..)
+  , SigningGroupUser (..)
+  , SigningGroupUsers (..)
+  , SigningGroups (..)
+  , SocialAuthentication (..)
+  , Ssn (..)
+  , Ssn4InformationInput (..)
+  , Ssn9InformationInput (..)
+  , SupportedLanguages (..)
+  , TabMetadataList (..)
+  , TemplateBulkRecipients (..)
+  , TemplateCustomFields (..)
+  , TemplateDocumentFields (..)
+  , TemplateDocumentTabs (..)
+  , TemplateDocumentVisibility (..)
+  , TemplateDocuments (..)
+  , TemplateLocks (..)
+  , TemplateMatch (..)
+  , TemplateNotificationRequest (..)
+  , TemplateRecipientTabs (..)
+  , TemplateRecipients (..)
+  , TemplateRole (..)
+  , TemplateSharedItem (..)
+  , TemplateSummary (..)
+  , TemplateTabs (..)
+  , TemplateUpdateSummary (..)
+  , TemplateViews (..)
+  , Templates (..)
+  , TextContent (..)
+  , TextCustomField (..)
+  , Title (..)
+  , UsageHistory (..)
+  , UserAccountManagementGranularInformation (..)
+  , UserCustomSettings (..)
+  , UserInfo (..)
+  , UserInfoList (..)
+  , UserInformationList (..)
+  , UserPasswordInformation (..)
+  , UserPasswordRules (..)
+  , UserProfiles (..)
+  , UserSettingsInformation (..)
+  , UserSharedItem (..)
+  , UserSignatureDefinition (..)
+  , UserSignatures (..)
+  , UserSignaturesInformation (..)
+  , UserSocialAccountLogins (..)
+  , UserSocialIdResult (..)
+  , Users (..)
+  , View (..)
+  , ViewLinkRequest (..)
+  , WorkspaceFolderContents (..)
+  , WorkspaceItemList (..)
+  , WorkspaceItems (..)
+  , WorkspaceList (..)
+  , WorkspaceUser (..)
+  , WorkspaceUserAuthorization (..)
+  , Workspaces (..)
+  , Zip (..)
+  ) where
+
+import DocuSign.Base.Types.AccountAddress
+import DocuSign.Base.Types.AccountBillingPlan
+import DocuSign.Base.Types.AccountBrands
+import DocuSign.Base.Types.AccountConsumerDisclosures
+import DocuSign.Base.Types.AccountCustomFields
+import DocuSign.Base.Types.AccountMinimumPasswordLength
+import DocuSign.Base.Types.AccountPasswordExpirePasswordDays
+import DocuSign.Base.Types.AccountPasswordLockoutDurationMinutes
+import DocuSign.Base.Types.AccountPasswordLockoutDurationType
+import DocuSign.Base.Types.AccountPasswordMinimumPasswordAgeDays
+import DocuSign.Base.Types.AccountPasswordQuestionsRequired
+import DocuSign.Base.Types.AccountPasswordRules
+import DocuSign.Base.Types.AccountPasswordStrengthType
+import DocuSign.Base.Types.AccountPasswordStrengthTypeOption
+import DocuSign.Base.Types.AccountPermissionProfiles
+import DocuSign.Base.Types.AccountRoleSettings
+import DocuSign.Base.Types.AccountSettingsInformation
+import DocuSign.Base.Types.AccountSharedAccess
+import DocuSign.Base.Types.AccountSignatureProvider
+import DocuSign.Base.Types.AccountSignatureProviderOption
+import DocuSign.Base.Types.AccountSignatureProviders
+import DocuSign.Base.Types.AccountTabSettings
+import DocuSign.Base.Types.AccountWatermarks
+import DocuSign.Base.Types.Accounts
+import DocuSign.Base.Types.AddOn
+import DocuSign.Base.Types.AddressInformation
+import DocuSign.Base.Types.AddressInformationInput
+import DocuSign.Base.Types.AddressInformationV2
+import DocuSign.Base.Types.Agent
+import DocuSign.Base.Types.ApiRequestLog
+import DocuSign.Base.Types.ApiRequestLogsResult
+import DocuSign.Base.Types.AppStoreProduct
+import DocuSign.Base.Types.AppStoreReceipt
+import DocuSign.Base.Types.Approve
+import DocuSign.Base.Types.Attachment
+import DocuSign.Base.Types.Authentication
+import DocuSign.Base.Types.AuthenticationMethod
+import DocuSign.Base.Types.AuthenticationStatus
+import DocuSign.Base.Types.BccEmailAddress
+import DocuSign.Base.Types.BillingCharge
+import DocuSign.Base.Types.BillingChargeResponse
+import DocuSign.Base.Types.BillingDiscount
+import DocuSign.Base.Types.BillingInvoiceItem
+import DocuSign.Base.Types.BillingInvoicesResponse
+import DocuSign.Base.Types.BillingInvoicesSummary
+import DocuSign.Base.Types.BillingPayment
+import DocuSign.Base.Types.BillingPaymentRequest
+import DocuSign.Base.Types.BillingPaymentResponse
+import DocuSign.Base.Types.BillingPaymentsResponse
+import DocuSign.Base.Types.BillingPlan
+import DocuSign.Base.Types.BillingPlanInformation
+import DocuSign.Base.Types.BillingPlanPreview
+import DocuSign.Base.Types.BillingPlanResponse
+import DocuSign.Base.Types.BillingPlanUpdateResponse
+import DocuSign.Base.Types.BillingPlans
+import DocuSign.Base.Types.BillingPlansResponse
+import DocuSign.Base.Types.BillingPrice
+import DocuSign.Base.Types.Brand
+import DocuSign.Base.Types.BrandEmailContent
+import DocuSign.Base.Types.BrandLink
+import DocuSign.Base.Types.BrandLogos
+import DocuSign.Base.Types.BrandRequest
+import DocuSign.Base.Types.BrandResourceUrls
+import DocuSign.Base.Types.BrandResources
+import DocuSign.Base.Types.BrandResourcesList
+import DocuSign.Base.Types.BrandsRequest
+import DocuSign.Base.Types.BulkEnvelope
+import DocuSign.Base.Types.BulkEnvelopeStatus
+import DocuSign.Base.Types.BulkEnvelopes
+import DocuSign.Base.Types.BulkRecipient
+import DocuSign.Base.Types.BulkRecipientSignatureProvider
+import DocuSign.Base.Types.BulkRecipientTabLabel
+import DocuSign.Base.Types.BulkRecipientsRequest
+import DocuSign.Base.Types.BulkRecipientsSummaryResponse
+import DocuSign.Base.Types.BulkRecipientsUpdateResponse
+import DocuSign.Base.Types.CaptiveRecipient
+import DocuSign.Base.Types.CaptiveRecipientInformation
+import DocuSign.Base.Types.CarbonCopy
+import DocuSign.Base.Types.CertifiedDelivery
+import DocuSign.Base.Types.Checkbox
+import DocuSign.Base.Types.ChunkedUploadPart
+import DocuSign.Base.Types.ChunkedUploadRequest
+import DocuSign.Base.Types.ChunkedUploads
+import DocuSign.Base.Types.CloudStorage
+import DocuSign.Base.Types.CloudStorageProvider
+import DocuSign.Base.Types.CloudStorageProviders
+import DocuSign.Base.Types.Company
+import DocuSign.Base.Types.CompositeTemplate
+import DocuSign.Base.Types.ConnectConfigResults
+import DocuSign.Base.Types.ConnectConfigurations
+import DocuSign.Base.Types.ConnectDebugLog
+import DocuSign.Base.Types.ConnectEvents
+import DocuSign.Base.Types.ConnectFailureFilter
+import DocuSign.Base.Types.ConnectFailureResult
+import DocuSign.Base.Types.ConnectFailureResults
+import DocuSign.Base.Types.ConnectLog
+import DocuSign.Base.Types.ConsoleViewRequest
+import DocuSign.Base.Types.ContactGetResponse
+import DocuSign.Base.Types.ContactModRequest
+import DocuSign.Base.Types.ContactPhoneNumber
+import DocuSign.Base.Types.ContactUpdateResponse
+import DocuSign.Base.Types.Contacts
+import DocuSign.Base.Types.CorrectViewRequest
+import DocuSign.Base.Types.Country
+import DocuSign.Base.Types.CreditCardInformation
+import DocuSign.Base.Types.CreditCardTypes
+import DocuSign.Base.Types.CurrencyFeatureSetPrice
+import DocuSign.Base.Types.CurrencyPlanPrice
+import DocuSign.Base.Types.CustomField
+import DocuSign.Base.Types.CustomFieldV2
+import DocuSign.Base.Types.CustomFieldsEnvelope
+import DocuSign.Base.Types.CustomTabs
+import DocuSign.Base.Types.Date
+import DocuSign.Base.Types.DateSigned
+import DocuSign.Base.Types.DateStampProperties
+import DocuSign.Base.Types.Decline
+import DocuSign.Base.Types.DobInformationInput
+import DocuSign.Base.Types.Document
+import DocuSign.Base.Types.DocumentTemplate
+import DocuSign.Base.Types.DocumentTemplateList
+import DocuSign.Base.Types.DocumentVisibility
+import DocuSign.Base.Types.EMortgageTransactions
+import DocuSign.Base.Types.ENoteConfigurations
+import DocuSign.Base.Types.Editor
+import DocuSign.Base.Types.Email
+import DocuSign.Base.Types.EmailAddress
+import DocuSign.Base.Types.EnvelopeAttachments
+import DocuSign.Base.Types.EnvelopeAttachmentsRequest
+import DocuSign.Base.Types.EnvelopeAttachmentsResult
+import DocuSign.Base.Types.EnvelopeAuditEvent
+import DocuSign.Base.Types.EnvelopeAuditEventResponse
+import DocuSign.Base.Types.EnvelopeBulkRecipients
+import DocuSign.Base.Types.EnvelopeConsumerDisclosures
+import DocuSign.Base.Types.EnvelopeCustomFields
+import DocuSign.Base.Types.EnvelopeDefinition
+import DocuSign.Base.Types.EnvelopeDocument
+import DocuSign.Base.Types.EnvelopeDocumentFields
+import DocuSign.Base.Types.EnvelopeDocumentTabs
+import DocuSign.Base.Types.EnvelopeDocumentVisibility
+import DocuSign.Base.Types.EnvelopeDocuments
+import DocuSign.Base.Types.EnvelopeEmailSettings
+import DocuSign.Base.Types.EnvelopeEvent
+import DocuSign.Base.Types.EnvelopeFormData
+import DocuSign.Base.Types.EnvelopeId
+import DocuSign.Base.Types.EnvelopeIdsRequest
+import DocuSign.Base.Types.EnvelopeLocks
+import DocuSign.Base.Types.EnvelopeNotificationRequest
+import DocuSign.Base.Types.EnvelopeRecipientTabs
+import DocuSign.Base.Types.EnvelopeRecipients
+import DocuSign.Base.Types.EnvelopeSummary
+import DocuSign.Base.Types.EnvelopeTemplateDefinition
+import DocuSign.Base.Types.EnvelopeTemplateResult
+import DocuSign.Base.Types.EnvelopeTemplateResults
+import DocuSign.Base.Types.EnvelopeTemplates
+import DocuSign.Base.Types.EnvelopeTransactionStatus
+import DocuSign.Base.Types.EnvelopeUpdateSummary
+import DocuSign.Base.Types.EnvelopeViews
+import DocuSign.Base.Types.Envelopes
+import DocuSign.Base.Types.EnvelopesInformation
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.EventNotification
+import DocuSign.Base.Types.EventResult
+import DocuSign.Base.Types.Expirations
+import DocuSign.Base.Types.ExternalDocServiceErrorDetails
+import DocuSign.Base.Types.ExternalFile
+import DocuSign.Base.Types.FeatureSet
+import DocuSign.Base.Types.FileType
+import DocuSign.Base.Types.FileTypeList
+import DocuSign.Base.Types.Filter
+import DocuSign.Base.Types.FirstName
+import DocuSign.Base.Types.Folder
+import DocuSign.Base.Types.FolderItem
+import DocuSign.Base.Types.FolderItemResponse
+import DocuSign.Base.Types.FolderItemV2
+import DocuSign.Base.Types.FolderItemsResponse
+import DocuSign.Base.Types.Folders
+import DocuSign.Base.Types.FoldersRequest
+import DocuSign.Base.Types.ForgottenPasswordInformation
+import DocuSign.Base.Types.FormulaTab
+import DocuSign.Base.Types.FullName
+import DocuSign.Base.Types.Group
+import DocuSign.Base.Types.GroupBrands
+import DocuSign.Base.Types.GroupUsers
+import DocuSign.Base.Types.Groups
+import DocuSign.Base.Types.IdCheckInformationInput
+import DocuSign.Base.Types.InPersonSigner
+import DocuSign.Base.Types.InitialHere
+import DocuSign.Base.Types.InlineTemplate
+import DocuSign.Base.Types.IntegratedUserInfoList
+import DocuSign.Base.Types.Intermediary
+import DocuSign.Base.Types.Invoices
+import DocuSign.Base.Types.LastName
+import DocuSign.Base.Types.List
+import DocuSign.Base.Types.ListCustomField
+import DocuSign.Base.Types.ListItem
+import DocuSign.Base.Types.LockRequest
+import DocuSign.Base.Types.LoginAccount
+import DocuSign.Base.Types.MatchBox
+import DocuSign.Base.Types.MemberGroupSharedItem
+import DocuSign.Base.Types.MemberSharedItems
+import DocuSign.Base.Types.MergeField
+import DocuSign.Base.Types.MobileNotifierConfiguration
+import DocuSign.Base.Types.Money
+import DocuSign.Base.Types.NameValue
+import DocuSign.Base.Types.NewAccountDefinition
+import DocuSign.Base.Types.NewAccountSummary
+import DocuSign.Base.Types.NewUser
+import DocuSign.Base.Types.NewUsersDefinition
+import DocuSign.Base.Types.NewUsersSummary
+import DocuSign.Base.Types.NotaryHost
+import DocuSign.Base.Types.Note
+import DocuSign.Base.Types.Notification
+import DocuSign.Base.Types.Number
+import DocuSign.Base.Types.OauthAccess
+import DocuSign.Base.Types.Page
+import DocuSign.Base.Types.PageImages
+import DocuSign.Base.Types.PageRequest
+import DocuSign.Base.Types.PaymentDetails
+import DocuSign.Base.Types.PaymentGatewayAccounts
+import DocuSign.Base.Types.PaymentGatewayAccountsInfo
+import DocuSign.Base.Types.PaymentLineItem
+import DocuSign.Base.Types.PaymentProcessorInformation
+import DocuSign.Base.Types.Payments
+import DocuSign.Base.Types.PermissionProfileInformation
+import DocuSign.Base.Types.PlanInformation
+import DocuSign.Base.Types.PostTransactionsResponse
+import DocuSign.Base.Types.PowerFormData
+import DocuSign.Base.Types.PowerFormFormDataRecipient
+import DocuSign.Base.Types.PowerFormRecipient
+import DocuSign.Base.Types.PowerFormSendersResponse
+import DocuSign.Base.Types.PowerForms
+import DocuSign.Base.Types.PowerFormsFormDataResponse
+import DocuSign.Base.Types.PowerFormsRequest
+import DocuSign.Base.Types.PowerFormsResponse
+import DocuSign.Base.Types.PropertyMetadata
+import DocuSign.Base.Types.Province
+import DocuSign.Base.Types.ProvisioningInformation
+import DocuSign.Base.Types.PurchasedEnvelopesInformation
+import DocuSign.Base.Types.Radio
+import DocuSign.Base.Types.RadioGroup
+import DocuSign.Base.Types.RecipientAttachment
+import DocuSign.Base.Types.RecipientDomain
+import DocuSign.Base.Types.RecipientEmailNotification
+import DocuSign.Base.Types.RecipientEvent
+import DocuSign.Base.Types.RecipientFormData
+import DocuSign.Base.Types.RecipientNamesResponse
+import DocuSign.Base.Types.RecipientPhoneAuthentication
+import DocuSign.Base.Types.RecipientSAMLAuthentication
+import DocuSign.Base.Types.RecipientSMSAuthentication
+import DocuSign.Base.Types.RecipientSignatureInformation
+import DocuSign.Base.Types.RecipientSignatureProvider
+import DocuSign.Base.Types.RecipientSignatureProviderOptions
+import DocuSign.Base.Types.RecipientUpdateResponse
+import DocuSign.Base.Types.RecipientViewRequest
+import DocuSign.Base.Types.RecipientsUpdateSummary
+import DocuSign.Base.Types.ReferralInformation
+import DocuSign.Base.Types.Reminders
+import DocuSign.Base.Types.RequestLogs
+import DocuSign.Base.Types.Resources
+import DocuSign.Base.Types.ReturnUrlRequest
+import DocuSign.Base.Types.SamlAssertionAttribute
+import DocuSign.Base.Types.SeatDiscount
+import DocuSign.Base.Types.SenderEmailNotifications
+import DocuSign.Base.Types.ServerTemplate
+import DocuSign.Base.Types.ServiceVersion
+import DocuSign.Base.Types.Services
+import DocuSign.Base.Types.SettingsMetadata
+import DocuSign.Base.Types.SharedItem
+import DocuSign.Base.Types.SignHere
+import DocuSign.Base.Types.SignatureProviderRequiredOption
+import DocuSign.Base.Types.SignatureType
+import DocuSign.Base.Types.Signer
+import DocuSign.Base.Types.SignerAttachment
+import DocuSign.Base.Types.SignerEmailNotifications
+import DocuSign.Base.Types.SigningGroupInformation
+import DocuSign.Base.Types.SigningGroupUser
+import DocuSign.Base.Types.SigningGroupUsers
+import DocuSign.Base.Types.SigningGroups
+import DocuSign.Base.Types.SocialAuthentication
+import DocuSign.Base.Types.Ssn
+import DocuSign.Base.Types.Ssn4InformationInput
+import DocuSign.Base.Types.Ssn9InformationInput
+import DocuSign.Base.Types.SupportedLanguages
+import DocuSign.Base.Types.TabMetadataList
+import DocuSign.Base.Types.TemplateBulkRecipients
+import DocuSign.Base.Types.TemplateCustomFields
+import DocuSign.Base.Types.TemplateDocumentFields
+import DocuSign.Base.Types.TemplateDocumentTabs
+import DocuSign.Base.Types.TemplateDocumentVisibility
+import DocuSign.Base.Types.TemplateDocuments
+import DocuSign.Base.Types.TemplateLocks
+import DocuSign.Base.Types.TemplateMatch
+import DocuSign.Base.Types.TemplateNotificationRequest
+import DocuSign.Base.Types.TemplateRecipientTabs
+import DocuSign.Base.Types.TemplateRecipients
+import DocuSign.Base.Types.TemplateRole
+import DocuSign.Base.Types.TemplateSharedItem
+import DocuSign.Base.Types.TemplateSummary
+import DocuSign.Base.Types.TemplateTabs
+import DocuSign.Base.Types.TemplateUpdateSummary
+import DocuSign.Base.Types.TemplateViews
+import DocuSign.Base.Types.Templates
+import DocuSign.Base.Types.TextContent
+import DocuSign.Base.Types.TextCustomField
+import DocuSign.Base.Types.Title
+import DocuSign.Base.Types.UsageHistory
+import DocuSign.Base.Types.UserAccountManagementGranularInformation
+import DocuSign.Base.Types.UserCustomSettings
+import DocuSign.Base.Types.UserInfo
+import DocuSign.Base.Types.UserInfoList
+import DocuSign.Base.Types.UserInformationList
+import DocuSign.Base.Types.UserPasswordInformation
+import DocuSign.Base.Types.UserPasswordRules
+import DocuSign.Base.Types.UserProfiles
+import DocuSign.Base.Types.UserSettingsInformation
+import DocuSign.Base.Types.UserSharedItem
+import DocuSign.Base.Types.UserSignatureDefinition
+import DocuSign.Base.Types.UserSignatures
+import DocuSign.Base.Types.UserSignaturesInformation
+import DocuSign.Base.Types.UserSocialAccountLogins
+import DocuSign.Base.Types.UserSocialIdResult
+import DocuSign.Base.Types.Users
+import DocuSign.Base.Types.View
+import DocuSign.Base.Types.ViewLinkRequest
+import DocuSign.Base.Types.WorkspaceFolderContents
+import DocuSign.Base.Types.WorkspaceItemList
+import DocuSign.Base.Types.WorkspaceItems
+import DocuSign.Base.Types.WorkspaceList
+import DocuSign.Base.Types.WorkspaceUser
+import DocuSign.Base.Types.WorkspaceUserAuthorization
+import DocuSign.Base.Types.Workspaces
+import DocuSign.Base.Types.Zip
+
diff --git a/src/DocuSign/Base/Types/AccountAddress.hs b/src/DocuSign/Base/Types/AccountAddress.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountAddress.hs
@@ -0,0 +1,26 @@
+module DocuSign.Base.Types.AccountAddress where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Country
+
+data AccountAddress = AccountAddress
+  { accountAddressAddress1           :: Maybe Text
+  , accountAddressAddress2           :: Maybe Text
+  , accountAddressCity               :: Maybe Text
+  , accountAddressCountry            :: Maybe Text
+  , accountAddressEmail              :: Maybe Text
+  , accountAddressFax                :: Maybe Text
+  , accountAddressFirstName          :: Maybe Text
+  , accountAddressLastName           :: Maybe Text
+  , accountAddressPhone              :: Maybe Text
+  , accountAddressPostalCode         :: Maybe Text
+  , accountAddressState              :: Maybe Text
+  , accountAddressSupportedCountries :: Maybe [Country]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountAddress where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountAddress")
+instance ToJSON AccountAddress where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountAddress")
+
+instance Default AccountAddress
diff --git a/src/DocuSign/Base/Types/AccountBillingPlan.hs b/src/DocuSign/Base/Types/AccountBillingPlan.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountBillingPlan.hs
@@ -0,0 +1,36 @@
+module DocuSign.Base.Types.AccountBillingPlan where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AddOn
+import DocuSign.Base.Types.FeatureSet
+import DocuSign.Base.Types.SeatDiscount
+
+data AccountBillingPlan = AccountBillingPlan
+  { accountBillingPlanAddOns               :: Maybe [AddOn]
+  , accountBillingPlanCanCancelRenewal     :: Maybe Text
+  , accountBillingPlanCanUpgrade           :: Maybe Text
+  , accountBillingPlanCurrencyCode         :: Maybe Text
+  , accountBillingPlanEnableSupport        :: Maybe Text
+  , accountBillingPlanIncludedSeats        :: Maybe Text
+  , accountBillingPlanIncrementalSeats     :: Maybe Text
+  , accountBillingPlanIsDowngrade          :: Maybe Text
+  , accountBillingPlanOtherDiscountPercent :: Maybe Text
+  , accountBillingPlanPaymentCycle         :: Maybe Text
+  , accountBillingPlanPaymentMethod        :: Maybe Text
+  , accountBillingPlanPerSeatPrice         :: Maybe Text
+  , accountBillingPlanPlanClassification   :: Maybe Text
+  , accountBillingPlanPlanFeatureSets      :: Maybe [FeatureSet]
+  , accountBillingPlanPlanId               :: Maybe Text
+  , accountBillingPlanPlanName             :: Maybe Text
+  , accountBillingPlanRenewalStatus        :: Maybe Text
+  , accountBillingPlanSeatDiscounts        :: Maybe [SeatDiscount]
+  , accountBillingPlanSupportIncidentFee   :: Maybe Text
+  , accountBillingPlanSupportPlanFee       :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountBillingPlan where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountBillingPlan")
+instance ToJSON AccountBillingPlan where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountBillingPlan")
+
+instance Default AccountBillingPlan
diff --git a/src/DocuSign/Base/Types/AccountBrands.hs b/src/DocuSign/Base/Types/AccountBrands.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountBrands.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.AccountBrands where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Brand
+
+data AccountBrands = AccountBrands
+  { accountBrandsBrands                  :: Maybe [Brand]
+  , accountBrandsRecipientBrandIdDefault :: Maybe Text
+  , accountBrandsSenderBrandIdDefault    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountBrands where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountBrands")
+instance ToJSON AccountBrands where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountBrands")
+
+instance Default AccountBrands
diff --git a/src/DocuSign/Base/Types/AccountConsumerDisclosures.hs b/src/DocuSign/Base/Types/AccountConsumerDisclosures.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountConsumerDisclosures.hs
@@ -0,0 +1,46 @@
+module DocuSign.Base.Types.AccountConsumerDisclosures where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.SettingsMetadata
+
+data AccountConsumerDisclosures = AccountConsumerDisclosures
+  { accountConsumerDisclosuresAccountEsignId                             :: Maybe Text
+  , accountConsumerDisclosuresAllowCDWithdraw                            :: Maybe Text
+  , accountConsumerDisclosuresAllowCDWithdrawMetadata                    :: Maybe SettingsMetadata
+  , accountConsumerDisclosuresChangeEmail                                :: Maybe Text
+  , accountConsumerDisclosuresChangeEmailOther                           :: Maybe Text
+  , accountConsumerDisclosuresCompanyName                                :: Maybe Text
+  , accountConsumerDisclosuresCompanyPhone                               :: Maybe Text
+  , accountConsumerDisclosuresCopyCostPerPage                            :: Maybe Text
+  , accountConsumerDisclosuresCopyFeeCollectionMethod                    :: Maybe Text
+  , accountConsumerDisclosuresCopyRequestEmail                           :: Maybe Text
+  , accountConsumerDisclosuresCustom                                     :: Maybe Text
+  , accountConsumerDisclosuresEnableEsign                                :: Maybe Text
+  , accountConsumerDisclosuresEsignAgreement                             :: Maybe Text
+  , accountConsumerDisclosuresEsignText                                  :: Maybe Text
+  , accountConsumerDisclosuresLanguageCode                               :: Maybe Text
+  , accountConsumerDisclosuresMustAgreeToEsign                           :: Maybe Text
+  , accountConsumerDisclosuresPdfId                                      :: Maybe Text
+  , accountConsumerDisclosuresUseBrand                                   :: Maybe Text
+  , accountConsumerDisclosuresUseConsumerDisclosureWithinAccount         :: Maybe Text
+  , accountConsumerDisclosuresUseConsumerDisclosureWithinAccountMetadata :: Maybe SettingsMetadata
+  , accountConsumerDisclosuresWithdrawAddressLine1                       :: Maybe Text
+  , accountConsumerDisclosuresWithdrawAddressLine2                       :: Maybe Text
+  , accountConsumerDisclosuresWithdrawByEmail                            :: Maybe Text
+  , accountConsumerDisclosuresWithdrawByMail                             :: Maybe Text
+  , accountConsumerDisclosuresWithdrawByPhone                            :: Maybe Text
+  , accountConsumerDisclosuresWithdrawCity                               :: Maybe Text
+  , accountConsumerDisclosuresWithdrawConsequences                       :: Maybe Text
+  , accountConsumerDisclosuresWithdrawEmail                              :: Maybe Text
+  , accountConsumerDisclosuresWithdrawOther                              :: Maybe Text
+  , accountConsumerDisclosuresWithdrawPhone                              :: Maybe Text
+  , accountConsumerDisclosuresWithdrawPostalCode                         :: Maybe Text
+  , accountConsumerDisclosuresWithdrawState                              :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountConsumerDisclosures where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountConsumerDisclosures")
+instance ToJSON AccountConsumerDisclosures where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountConsumerDisclosures")
+
+instance Default AccountConsumerDisclosures
diff --git a/src/DocuSign/Base/Types/AccountCustomFields.hs b/src/DocuSign/Base/Types/AccountCustomFields.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountCustomFields.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.AccountCustomFields where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ListCustomField
+import DocuSign.Base.Types.TextCustomField
+
+data AccountCustomFields = AccountCustomFields
+  { accountCustomFieldsListCustomFields :: Maybe [ListCustomField]
+  , accountCustomFieldsTextCustomFields :: Maybe [TextCustomField]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountCustomFields where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountCustomFields")
+instance ToJSON AccountCustomFields where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountCustomFields")
+
+instance Default AccountCustomFields
diff --git a/src/DocuSign/Base/Types/AccountMinimumPasswordLength.hs b/src/DocuSign/Base/Types/AccountMinimumPasswordLength.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountMinimumPasswordLength.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.AccountMinimumPasswordLength where
+
+import DocuSign.Base.Types.Common
+
+data AccountMinimumPasswordLength = AccountMinimumPasswordLength
+  { accountMinimumPasswordLengthMaximumLength :: Maybe Text
+  , accountMinimumPasswordLengthMinimumLength :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountMinimumPasswordLength where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountMinimumPasswordLength")
+instance ToJSON AccountMinimumPasswordLength where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountMinimumPasswordLength")
+
+instance Default AccountMinimumPasswordLength
diff --git a/src/DocuSign/Base/Types/AccountPasswordExpirePasswordDays.hs b/src/DocuSign/Base/Types/AccountPasswordExpirePasswordDays.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountPasswordExpirePasswordDays.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.AccountPasswordExpirePasswordDays where
+
+import DocuSign.Base.Types.Common
+
+data AccountPasswordExpirePasswordDays = AccountPasswordExpirePasswordDays
+  { accountPasswordExpirePasswordDaysMaximumDays :: Maybe Text
+  , accountPasswordExpirePasswordDaysMinimumDays :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountPasswordExpirePasswordDays where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountPasswordExpirePasswordDays")
+instance ToJSON AccountPasswordExpirePasswordDays where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountPasswordExpirePasswordDays")
+
+instance Default AccountPasswordExpirePasswordDays
diff --git a/src/DocuSign/Base/Types/AccountPasswordLockoutDurationMinutes.hs b/src/DocuSign/Base/Types/AccountPasswordLockoutDurationMinutes.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountPasswordLockoutDurationMinutes.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.AccountPasswordLockoutDurationMinutes where
+
+import DocuSign.Base.Types.Common
+
+data AccountPasswordLockoutDurationMinutes = AccountPasswordLockoutDurationMinutes
+  { accountPasswordLockoutDurationMinutesMaximumMinutes :: Maybe Text
+  , accountPasswordLockoutDurationMinutesMinimumMinutes :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountPasswordLockoutDurationMinutes where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountPasswordLockoutDurationMinutes")
+instance ToJSON AccountPasswordLockoutDurationMinutes where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountPasswordLockoutDurationMinutes")
+
+instance Default AccountPasswordLockoutDurationMinutes
diff --git a/src/DocuSign/Base/Types/AccountPasswordLockoutDurationType.hs b/src/DocuSign/Base/Types/AccountPasswordLockoutDurationType.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountPasswordLockoutDurationType.hs
@@ -0,0 +1,14 @@
+module DocuSign.Base.Types.AccountPasswordLockoutDurationType where
+
+import DocuSign.Base.Types.Common
+
+data AccountPasswordLockoutDurationType = AccountPasswordLockoutDurationType
+  { accountPasswordLockoutDurationTypeOptions :: Maybe [Text]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountPasswordLockoutDurationType where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountPasswordLockoutDurationType")
+instance ToJSON AccountPasswordLockoutDurationType where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountPasswordLockoutDurationType")
+
+instance Default AccountPasswordLockoutDurationType
diff --git a/src/DocuSign/Base/Types/AccountPasswordMinimumPasswordAgeDays.hs b/src/DocuSign/Base/Types/AccountPasswordMinimumPasswordAgeDays.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountPasswordMinimumPasswordAgeDays.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.AccountPasswordMinimumPasswordAgeDays where
+
+import DocuSign.Base.Types.Common
+
+data AccountPasswordMinimumPasswordAgeDays = AccountPasswordMinimumPasswordAgeDays
+  { accountPasswordMinimumPasswordAgeDaysMaximumAge :: Maybe Text
+  , accountPasswordMinimumPasswordAgeDaysMinimumAge :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountPasswordMinimumPasswordAgeDays where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountPasswordMinimumPasswordAgeDays")
+instance ToJSON AccountPasswordMinimumPasswordAgeDays where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountPasswordMinimumPasswordAgeDays")
+
+instance Default AccountPasswordMinimumPasswordAgeDays
diff --git a/src/DocuSign/Base/Types/AccountPasswordQuestionsRequired.hs b/src/DocuSign/Base/Types/AccountPasswordQuestionsRequired.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountPasswordQuestionsRequired.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.AccountPasswordQuestionsRequired where
+
+import DocuSign.Base.Types.Common
+
+data AccountPasswordQuestionsRequired = AccountPasswordQuestionsRequired
+  { accountPasswordQuestionsRequiredMaximumQuestions :: Maybe Text
+  , accountPasswordQuestionsRequiredMinimumQuestions :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountPasswordQuestionsRequired where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountPasswordQuestionsRequired")
+instance ToJSON AccountPasswordQuestionsRequired where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountPasswordQuestionsRequired")
+
+instance Default AccountPasswordQuestionsRequired
diff --git a/src/DocuSign/Base/Types/AccountPasswordRules.hs b/src/DocuSign/Base/Types/AccountPasswordRules.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountPasswordRules.hs
@@ -0,0 +1,40 @@
+module DocuSign.Base.Types.AccountPasswordRules where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountMinimumPasswordLength
+import DocuSign.Base.Types.AccountPasswordExpirePasswordDays
+import DocuSign.Base.Types.AccountPasswordLockoutDurationMinutes
+import DocuSign.Base.Types.AccountPasswordLockoutDurationType
+import DocuSign.Base.Types.AccountPasswordMinimumPasswordAgeDays
+import DocuSign.Base.Types.AccountPasswordQuestionsRequired
+import DocuSign.Base.Types.AccountPasswordStrengthType
+
+data AccountPasswordRules = AccountPasswordRules
+  { accountPasswordRulesExpirePassword                         :: Maybe Text
+  , accountPasswordRulesExpirePasswordDays                     :: Maybe Text
+  , accountPasswordRulesExpirePasswordDaysMetadata             :: Maybe AccountPasswordExpirePasswordDays
+  , accountPasswordRulesLockoutDurationMinutes                 :: Maybe Text
+  , accountPasswordRulesLockoutDurationMinutesMetadata         :: Maybe AccountPasswordLockoutDurationMinutes
+  , accountPasswordRulesLockoutDurationType                    :: Maybe Text
+  , accountPasswordRulesLockoutDurationTypeMetadata            :: Maybe AccountPasswordLockoutDurationType
+  , accountPasswordRulesMinimumPasswordAgeDays                 :: Maybe Text
+  , accountPasswordRulesMinimumPasswordAgeDaysMetadata         :: Maybe AccountPasswordMinimumPasswordAgeDays
+  , accountPasswordRulesMinimumPasswordLength                  :: Maybe Text
+  , accountPasswordRulesMinimumPasswordLengthMetadata          :: Maybe AccountMinimumPasswordLength
+  , accountPasswordRulesPasswordIncludeDigit                   :: Maybe Text
+  , accountPasswordRulesPasswordIncludeDigitOrSpecialCharacter :: Maybe Text
+  , accountPasswordRulesPasswordIncludeLowerCase               :: Maybe Text
+  , accountPasswordRulesPasswordIncludeSpecialCharacter        :: Maybe Text
+  , accountPasswordRulesPasswordIncludeUpperCase               :: Maybe Text
+  , accountPasswordRulesPasswordStrengthType                   :: Maybe Text
+  , accountPasswordRulesPasswordStrengthTypeMetadata           :: Maybe AccountPasswordStrengthType
+  , accountPasswordRulesQuestionsRequired                      :: Maybe Text
+  , accountPasswordRulesQuestionsRequiredMetadata              :: Maybe AccountPasswordQuestionsRequired
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountPasswordRules where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountPasswordRules")
+instance ToJSON AccountPasswordRules where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountPasswordRules")
+
+instance Default AccountPasswordRules
diff --git a/src/DocuSign/Base/Types/AccountPasswordStrengthType.hs b/src/DocuSign/Base/Types/AccountPasswordStrengthType.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountPasswordStrengthType.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.AccountPasswordStrengthType where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountPasswordStrengthTypeOption
+
+data AccountPasswordStrengthType = AccountPasswordStrengthType
+  { accountPasswordStrengthTypeOptions :: Maybe [AccountPasswordStrengthTypeOption]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountPasswordStrengthType where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountPasswordStrengthType")
+instance ToJSON AccountPasswordStrengthType where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountPasswordStrengthType")
+
+instance Default AccountPasswordStrengthType
diff --git a/src/DocuSign/Base/Types/AccountPasswordStrengthTypeOption.hs b/src/DocuSign/Base/Types/AccountPasswordStrengthTypeOption.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountPasswordStrengthTypeOption.hs
@@ -0,0 +1,20 @@
+module DocuSign.Base.Types.AccountPasswordStrengthTypeOption where
+
+import DocuSign.Base.Types.Common
+
+data AccountPasswordStrengthTypeOption = AccountPasswordStrengthTypeOption
+  { accountPasswordStrengthTypeOptionMinimumLength                          :: Maybe Text
+  , accountPasswordStrengthTypeOptionName                                   :: Maybe Text
+  , accountPasswordStrengthTypeOptionPasswordIncludeDigit                   :: Maybe Text
+  , accountPasswordStrengthTypeOptionPasswordIncludeDigitOrSpecialCharacter :: Maybe Text
+  , accountPasswordStrengthTypeOptionPasswordIncludeLowerCase               :: Maybe Text
+  , accountPasswordStrengthTypeOptionPasswordIncludeSpecialCharacter        :: Maybe Text
+  , accountPasswordStrengthTypeOptionPasswordIncludeUpperCase               :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountPasswordStrengthTypeOption where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountPasswordStrengthTypeOption")
+instance ToJSON AccountPasswordStrengthTypeOption where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountPasswordStrengthTypeOption")
+
+instance Default AccountPasswordStrengthTypeOption
diff --git a/src/DocuSign/Base/Types/AccountPermissionProfiles.hs b/src/DocuSign/Base/Types/AccountPermissionProfiles.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountPermissionProfiles.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.AccountPermissionProfiles where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountRoleSettings
+import DocuSign.Base.Types.Users
+
+data AccountPermissionProfiles = AccountPermissionProfiles
+  { accountPermissionProfilesModifiedByUsername    :: Maybe Text
+  , accountPermissionProfilesModifiedDateTime      :: Maybe Text
+  , accountPermissionProfilesPermissionProfileId   :: Maybe Text
+  , accountPermissionProfilesPermissionProfileName :: Maybe Text
+  , accountPermissionProfilesSettings              :: Maybe AccountRoleSettings
+  , accountPermissionProfilesUserCount             :: Maybe Text
+  , accountPermissionProfilesUsers                 :: Maybe [Users]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountPermissionProfiles where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountPermissionProfiles")
+instance ToJSON AccountPermissionProfiles where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountPermissionProfiles")
+
+instance Default AccountPermissionProfiles
diff --git a/src/DocuSign/Base/Types/AccountRoleSettings.hs b/src/DocuSign/Base/Types/AccountRoleSettings.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountRoleSettings.hs
@@ -0,0 +1,78 @@
+module DocuSign.Base.Types.AccountRoleSettings where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.SettingsMetadata
+
+data AccountRoleSettings = AccountRoleSettings
+  { accountRoleSettingsAllowAccountManagement                                  :: Maybe Text
+  , accountRoleSettingsAllowAccountManagementMetadata                          :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowApiAccess                                          :: Maybe Text
+  , accountRoleSettingsAllowApiAccessMetadata                                  :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowApiAccessToAccount                                 :: Maybe Text
+  , accountRoleSettingsAllowApiAccessToAccountMetadata                         :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowApiSendingOnBehalfOfOthers                         :: Maybe Text
+  , accountRoleSettingsAllowApiSendingOnBehalfOfOthersMetadata                 :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowApiSequentialSigning                               :: Maybe Text
+  , accountRoleSettingsAllowApiSequentialSigningMetadata                       :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowBulkSending                                        :: Maybe Text
+  , accountRoleSettingsAllowBulkSendingMetadata                                :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowDocuSignDesktopClient                              :: Maybe Text
+  , accountRoleSettingsAllowDocuSignDesktopClientMetadata                      :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowedAddressBookAccess                                :: Maybe Text
+  , accountRoleSettingsAllowedAddressBookAccessMetadata                        :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowedTemplateAccess                                   :: Maybe Text
+  , accountRoleSettingsAllowedTemplateAccessMetadata                           :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowedToBeEnvelopeTransferRecipient                    :: Maybe Text
+  , accountRoleSettingsAllowedToBeEnvelopeTransferRecipientMetadata            :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowEnvelopeSending                                    :: Maybe Text
+  , accountRoleSettingsAllowEnvelopeSendingMetadata                            :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowSendersToSetRecipientEmailLanguage                 :: Maybe Text
+  , accountRoleSettingsAllowSendersToSetRecipientEmailLanguageMetadata         :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowSignerAttachments                                  :: Maybe Text
+  , accountRoleSettingsAllowSignerAttachmentsMetadata                          :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowSupplementalDocuments                              :: Maybe Text
+  , accountRoleSettingsAllowSupplementalDocumentsMetadata                      :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowTaggingInSendAndCorrect                            :: Maybe Text
+  , accountRoleSettingsAllowTaggingInSendAndCorrectMetadata                    :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowVaulting                                           :: Maybe Text
+  , accountRoleSettingsAllowVaultingMetadata                                   :: Maybe SettingsMetadata
+  , accountRoleSettingsAllowWetSigningOverride                                 :: Maybe Text
+  , accountRoleSettingsAllowWetSigningOverrideMetadata                         :: Maybe SettingsMetadata
+  , accountRoleSettingsCanCreateWorkspaces                                     :: Maybe Text
+  , accountRoleSettingsCanCreateWorkspacesMetadata                             :: Maybe SettingsMetadata
+  , accountRoleSettingsDisableDocumentUpload                                   :: Maybe Text
+  , accountRoleSettingsDisableDocumentUploadMetadata                           :: Maybe SettingsMetadata
+  , accountRoleSettingsDisableOtherActions                                     :: Maybe Text
+  , accountRoleSettingsDisableOtherActionsMetadata                             :: Maybe SettingsMetadata
+  , accountRoleSettingsEnableApiRequestLogging                                 :: Maybe Text
+  , accountRoleSettingsEnableApiRequestLoggingMetadata                         :: Maybe SettingsMetadata
+  , accountRoleSettingsEnableRecipientViewingNotifications                     :: Maybe Text
+  , accountRoleSettingsEnableRecipientViewingNotificationsMetadata             :: Maybe SettingsMetadata
+  , accountRoleSettingsEnableSequentialSigningInterface                        :: Maybe Text
+  , accountRoleSettingsEnableSequentialSigningInterfaceMetadata                :: Maybe SettingsMetadata
+  , accountRoleSettingsEnableTransactionPointIntegration                       :: Maybe Text
+  , accountRoleSettingsEnableTransactionPointIntegrationMetadata               :: Maybe SettingsMetadata
+  , accountRoleSettingsPowerFormRole                                           :: Maybe Text
+  , accountRoleSettingsPowerFormRoleMetadata                                   :: Maybe SettingsMetadata
+  , accountRoleSettingsReceiveCompletedSelfSignedDocumentsAsEmailLinks         :: Maybe Text
+  , accountRoleSettingsReceiveCompletedSelfSignedDocumentsAsEmailLinksMetadata :: Maybe SettingsMetadata
+  , accountRoleSettingsSupplementalDocumentsMustAccept                         :: Maybe Text
+  , accountRoleSettingsSupplementalDocumentsMustAcceptMetadata                 :: Maybe SettingsMetadata
+  , accountRoleSettingsSupplementalDocumentsMustRead                           :: Maybe Text
+  , accountRoleSettingsSupplementalDocumentsMustReadMetadata                   :: Maybe SettingsMetadata
+  , accountRoleSettingsSupplementalDocumentsMustView                           :: Maybe Text
+  , accountRoleSettingsSupplementalDocumentsMustViewMetadata                   :: Maybe SettingsMetadata
+  , accountRoleSettingsUseNewDocuSignExperienceInterface                       :: Maybe Text
+  , accountRoleSettingsUseNewDocuSignExperienceInterfaceMetadata               :: Maybe SettingsMetadata
+  , accountRoleSettingsUseNewSendingInterface                                  :: Maybe Text
+  , accountRoleSettingsUseNewSendingInterfaceMetadata                          :: Maybe SettingsMetadata
+  , accountRoleSettingsVaultingMode                                            :: Maybe Text
+  , accountRoleSettingsVaultingModeMetadata                                    :: Maybe SettingsMetadata
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountRoleSettings where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountRoleSettings")
+instance ToJSON AccountRoleSettings where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountRoleSettings")
+
+instance Default AccountRoleSettings
diff --git a/src/DocuSign/Base/Types/AccountSettingsInformation.hs b/src/DocuSign/Base/Types/AccountSettingsInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountSettingsInformation.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.AccountSettingsInformation where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NameValue
+
+data AccountSettingsInformation = AccountSettingsInformation
+  { accountSettingsInformationAccountSettings :: Maybe [NameValue]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountSettingsInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountSettingsInformation")
+instance ToJSON AccountSettingsInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountSettingsInformation")
+
+instance Default AccountSettingsInformation
diff --git a/src/DocuSign/Base/Types/AccountSharedAccess.hs b/src/DocuSign/Base/Types/AccountSharedAccess.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountSharedAccess.hs
@@ -0,0 +1,24 @@
+module DocuSign.Base.Types.AccountSharedAccess where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MemberSharedItems
+
+data AccountSharedAccess = AccountSharedAccess
+  { accountSharedAccessAccountId     :: Maybe Text
+  , accountSharedAccessEndPosition   :: Maybe Text
+  , accountSharedAccessErrorDetails  :: Maybe ErrorDetails
+  , accountSharedAccessNextUri       :: Maybe Text
+  , accountSharedAccessPreviousUri   :: Maybe Text
+  , accountSharedAccessResultSetSize :: Maybe Text
+  , accountSharedAccessSharedAccess  :: Maybe [MemberSharedItems]
+  , accountSharedAccessStartPosition :: Maybe Text
+  , accountSharedAccessTotalSetSize  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountSharedAccess where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountSharedAccess")
+instance ToJSON AccountSharedAccess where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountSharedAccess")
+
+instance Default AccountSharedAccess
diff --git a/src/DocuSign/Base/Types/AccountSignatureProvider.hs b/src/DocuSign/Base/Types/AccountSignatureProvider.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountSignatureProvider.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.AccountSignatureProvider where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountSignatureProviderOption
+import DocuSign.Base.Types.SignatureProviderRequiredOption
+
+data AccountSignatureProvider = AccountSignatureProvider
+  { accountSignatureProviderIsRequired                       :: Maybe Text
+  , accountSignatureProviderPriority                         :: Maybe Text
+  , accountSignatureProviderSignatureProviderDisplayName     :: Maybe Text
+  , accountSignatureProviderSignatureProviderId              :: Maybe Text
+  , accountSignatureProviderSignatureProviderName            :: Maybe Text
+  , accountSignatureProviderSignatureProviderOptionsMetadata :: Maybe [AccountSignatureProviderOption]
+  , accountSignatureProviderSignatureProviderRequiredOptions :: Maybe [SignatureProviderRequiredOption]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountSignatureProvider where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountSignatureProvider")
+instance ToJSON AccountSignatureProvider where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountSignatureProvider")
+
+instance Default AccountSignatureProvider
diff --git a/src/DocuSign/Base/Types/AccountSignatureProviderOption.hs b/src/DocuSign/Base/Types/AccountSignatureProviderOption.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountSignatureProviderOption.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.AccountSignatureProviderOption where
+
+import DocuSign.Base.Types.Common
+
+data AccountSignatureProviderOption = AccountSignatureProviderOption
+  { accountSignatureProviderOptionSignatureProviderOptionDisplayName :: Maybe Text
+  , accountSignatureProviderOptionSignatureProviderOptionId          :: Maybe Text
+  , accountSignatureProviderOptionSignatureProviderOptionName        :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountSignatureProviderOption where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountSignatureProviderOption")
+instance ToJSON AccountSignatureProviderOption where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountSignatureProviderOption")
+
+instance Default AccountSignatureProviderOption
diff --git a/src/DocuSign/Base/Types/AccountSignatureProviders.hs b/src/DocuSign/Base/Types/AccountSignatureProviders.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountSignatureProviders.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.AccountSignatureProviders where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountSignatureProvider
+
+data AccountSignatureProviders = AccountSignatureProviders
+  { accountSignatureProvidersSignatureProviders :: Maybe [AccountSignatureProvider]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountSignatureProviders where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountSignatureProviders")
+instance ToJSON AccountSignatureProviders where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountSignatureProviders")
+
+instance Default AccountSignatureProviders
diff --git a/src/DocuSign/Base/Types/AccountTabSettings.hs b/src/DocuSign/Base/Types/AccountTabSettings.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountTabSettings.hs
@@ -0,0 +1,52 @@
+module DocuSign.Base.Types.AccountTabSettings where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.SettingsMetadata
+
+data AccountTabSettings = AccountTabSettings
+  { accountTabSettingsAllowTabOrder                        :: Maybe Text
+  , accountTabSettingsAllowTabOrderMetadata                :: Maybe SettingsMetadata
+  , accountTabSettingsApproveDeclineTabsEnabled            :: Maybe Text
+  , accountTabSettingsApproveDeclineTabsMetadata           :: Maybe SettingsMetadata
+  , accountTabSettingsCalculatedFieldsEnabled              :: Maybe Text
+  , accountTabSettingsCalculatedFieldsMetadata             :: Maybe SettingsMetadata
+  , accountTabSettingsCheckboxTabsEnabled                  :: Maybe Text
+  , accountTabSettingsCheckboxTabsMetadata                 :: Maybe SettingsMetadata
+  , accountTabSettingsDataFieldRegexEnabled                :: Maybe Text
+  , accountTabSettingsDataFieldRegexMetadata               :: Maybe SettingsMetadata
+  , accountTabSettingsDataFieldSizeEnabled                 :: Maybe Text
+  , accountTabSettingsDataFieldSizeMetadata                :: Maybe SettingsMetadata
+  , accountTabSettingsFirstLastEmailTabsEnabled            :: Maybe Text
+  , accountTabSettingsFirstLastEmailTabsMetadata           :: Maybe SettingsMetadata
+  , accountTabSettingsListTabsEnabled                      :: Maybe Text
+  , accountTabSettingsListTabsMetadata                     :: Maybe SettingsMetadata
+  , accountTabSettingsNoteTabsEnabled                      :: Maybe Text
+  , accountTabSettingsNoteTabsMetadata                     :: Maybe SettingsMetadata
+  , accountTabSettingsRadioTabsEnabled                     :: Maybe Text
+  , accountTabSettingsRadioTabsMetadata                    :: Maybe SettingsMetadata
+  , accountTabSettingsSavingCustomTabsEnabled              :: Maybe Text
+  , accountTabSettingsSavingCustomTabsMetadata             :: Maybe SettingsMetadata
+  , accountTabSettingsSenderToChangeTabAssignmentsEnabled  :: Maybe Text
+  , accountTabSettingsSenderToChangeTabAssignmentsMetadata :: Maybe SettingsMetadata
+  , accountTabSettingsSharedCustomTabsEnabled              :: Maybe Text
+  , accountTabSettingsSharedCustomTabsMetadata             :: Maybe SettingsMetadata
+  , accountTabSettingsTabDataLabelEnabled                  :: Maybe Text
+  , accountTabSettingsTabDataLabelMetadata                 :: Maybe SettingsMetadata
+  , accountTabSettingsTabLocationEnabled                   :: Maybe Text
+  , accountTabSettingsTabLocationMetadata                  :: Maybe SettingsMetadata
+  , accountTabSettingsTabLockingEnabled                    :: Maybe Text
+  , accountTabSettingsTabLockingMetadata                   :: Maybe SettingsMetadata
+  , accountTabSettingsTabScaleEnabled                      :: Maybe Text
+  , accountTabSettingsTabScaleMetadata                     :: Maybe SettingsMetadata
+  , accountTabSettingsTabTextFormattingEnabled             :: Maybe Text
+  , accountTabSettingsTabTextFormattingMetadata            :: Maybe SettingsMetadata
+  , accountTabSettingsTextTabsEnabled                      :: Maybe Text
+  , accountTabSettingsTextTabsMetadata                     :: Maybe SettingsMetadata
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountTabSettings where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountTabSettings")
+instance ToJSON AccountTabSettings where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountTabSettings")
+
+instance Default AccountTabSettings
diff --git a/src/DocuSign/Base/Types/AccountWatermarks.hs b/src/DocuSign/Base/Types/AccountWatermarks.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AccountWatermarks.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.AccountWatermarks where
+
+import DocuSign.Base.Types.Common
+
+data AccountWatermarks = AccountWatermarks
+  { accountWatermarksDisplayAngle  :: Maybe Text
+  , accountWatermarksEnabled       :: Maybe Text
+  , accountWatermarksFont          :: Maybe Text
+  , accountWatermarksFontColor     :: Maybe Text
+  , accountWatermarksFontSize      :: Maybe Text
+  , accountWatermarksId            :: Maybe Text
+  , accountWatermarksImageBase64   :: Maybe Text
+  , accountWatermarksTransparency  :: Maybe Text
+  , accountWatermarksWatermarkText :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AccountWatermarks where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accountWatermarks")
+instance ToJSON AccountWatermarks where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accountWatermarks")
+
+instance Default AccountWatermarks
diff --git a/src/DocuSign/Base/Types/Accounts.hs b/src/DocuSign/Base/Types/Accounts.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Accounts.hs
@@ -0,0 +1,44 @@
+module DocuSign.Base.Types.Accounts where
+
+import DocuSign.Base.Types.Common
+
+data Accounts = Accounts
+  { accountsAccountIdGuid                   :: Maybe Text
+  , accountsAccountName                     :: Maybe Text
+  , accountsAllowTransactionRooms           :: Maybe Text
+  , accountsBillingPeriodDaysRemaining      :: Maybe Text
+  , accountsBillingPeriodEndDate            :: Maybe Text
+  , accountsBillingPeriodEnvelopesAllowed   :: Maybe Text
+  , accountsBillingPeriodEnvelopesSent      :: Maybe Text
+  , accountsBillingPeriodStartDate          :: Maybe Text
+  , accountsBillingProfile                  :: Maybe Text
+  , accountsCanCancelRenewal                :: Maybe Text
+  , accountsCanUpgrade                      :: Maybe Text
+  , accountsConnectPermission               :: Maybe Text
+  , accountsCreatedDate                     :: Maybe Text
+  , accountsCurrencyCode                    :: Maybe Text
+  , accountsCurrentPlanId                   :: Maybe Text
+  , accountsDistributorCode                 :: Maybe Text
+  , accountsDocuSignLandingUrl              :: Maybe Text
+  , accountsEnvelopeSendingBlocked          :: Maybe Text
+  , accountsEnvelopeUnitPrice               :: Maybe Text
+  , accountsForgottenPasswordQuestionsCount :: Maybe Text
+  , accountsIsDowngrade                     :: Maybe Text
+  , accountsPaymentMethod                   :: Maybe Text
+  , accountsPlanClassification              :: Maybe Text
+  , accountsPlanEndDate                     :: Maybe Text
+  , accountsPlanName                        :: Maybe Text
+  , accountsPlanStartDate                   :: Maybe Text
+  , accountsSeatsAllowed                    :: Maybe Text
+  , accountsSeatsInUse                      :: Maybe Text
+  , accountsStatus21CFRPart11               :: Maybe Text
+  , accountsSuspensionDate                  :: Maybe Text
+  , accountsSuspensionStatus                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Accounts where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "accounts")
+instance ToJSON Accounts where
+  toJSON = genericToJSON (removeFieldLabelPrefix "accounts")
+
+instance Default Accounts
diff --git a/src/DocuSign/Base/Types/AddOn.hs b/src/DocuSign/Base/Types/AddOn.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AddOn.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.AddOn where
+
+import DocuSign.Base.Types.Common
+
+data AddOn = AddOn
+  { addOnActive  :: Maybe Text
+  , addOnAddOnId :: Maybe Text
+  , addOnId      :: Maybe Text
+  , addOnName    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AddOn where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "addOn")
+instance ToJSON AddOn where
+  toJSON = genericToJSON (removeFieldLabelPrefix "addOn")
+
+instance Default AddOn
diff --git a/src/DocuSign/Base/Types/AddressInformation.hs b/src/DocuSign/Base/Types/AddressInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AddressInformation.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.AddressInformation where
+
+import DocuSign.Base.Types.Common
+
+data AddressInformation = AddressInformation
+  { addressInformationCity    :: Maybe Text
+  , addressInformationCountry :: Maybe Text
+  , addressInformationFax     :: Maybe Text
+  , addressInformationPhone   :: Maybe Text
+  , addressInformationState   :: Maybe Text
+  , addressInformationStreet1 :: Maybe Text
+  , addressInformationStreet2 :: Maybe Text
+  , addressInformationZip     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AddressInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "addressInformation")
+instance ToJSON AddressInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "addressInformation")
+
+instance Default AddressInformation
diff --git a/src/DocuSign/Base/Types/AddressInformationInput.hs b/src/DocuSign/Base/Types/AddressInformationInput.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AddressInformationInput.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.AddressInformationInput where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AddressInformation
+
+data AddressInformationInput = AddressInformationInput
+  { addressInformationInputAddressInformation :: Maybe AddressInformation
+  , addressInformationInputDisplayLevelCode   :: Maybe Text
+  , addressInformationInputReceiveInResponse  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AddressInformationInput where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "addressInformationInput")
+instance ToJSON AddressInformationInput where
+  toJSON = genericToJSON (removeFieldLabelPrefix "addressInformationInput")
+
+instance Default AddressInformationInput
diff --git a/src/DocuSign/Base/Types/AddressInformationV2.hs b/src/DocuSign/Base/Types/AddressInformationV2.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AddressInformationV2.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.AddressInformationV2 where
+
+import DocuSign.Base.Types.Common
+
+data AddressInformationV2 = AddressInformationV2
+  { addressInformationV2Address1        :: Maybe Text
+  , addressInformationV2Address2        :: Maybe Text
+  , addressInformationV2City            :: Maybe Text
+  , addressInformationV2Country         :: Maybe Text
+  , addressInformationV2Fax             :: Maybe Text
+  , addressInformationV2Phone           :: Maybe Text
+  , addressInformationV2PostalCode      :: Maybe Text
+  , addressInformationV2StateOrProvince :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AddressInformationV2 where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "addressInformationV2")
+instance ToJSON AddressInformationV2 where
+  toJSON = genericToJSON (removeFieldLabelPrefix "addressInformationV2")
+
+instance Default AddressInformationV2
diff --git a/src/DocuSign/Base/Types/Agent.hs b/src/DocuSign/Base/Types/Agent.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Agent.hs
@@ -0,0 +1,66 @@
+module DocuSign.Base.Types.Agent where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AuthenticationStatus
+import DocuSign.Base.Types.DocumentVisibility
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.IdCheckInformationInput
+import DocuSign.Base.Types.RecipientAttachment
+import DocuSign.Base.Types.RecipientEmailNotification
+import DocuSign.Base.Types.RecipientPhoneAuthentication
+import DocuSign.Base.Types.RecipientSAMLAuthentication
+import DocuSign.Base.Types.RecipientSMSAuthentication
+import DocuSign.Base.Types.SocialAuthentication
+import DocuSign.Base.Types.UserInfo
+
+data Agent = Agent
+  { agentAccessCode                            :: Maybe Text
+  , agentAddAccessCodeToEmail                  :: Maybe Text
+  , agentClientUserId                          :: Maybe Text
+  , agentCustomFields                          :: Maybe [Text]
+  , agentDeclinedDateTime                      :: Maybe Text
+  , agentDeclinedReason                        :: Maybe Text
+  , agentDeliveredDateTime                     :: Maybe Text
+  , agentDeliveryMethod                        :: Maybe Text
+  , agentDocumentVisibility                    :: Maybe [DocumentVisibility]
+  , agentEmail                                 :: Maybe Text
+  , agentEmailNotification                     :: Maybe RecipientEmailNotification
+  , agentEmailRecipientPostSigningURL          :: Maybe Text
+  , agentEmbeddedRecipientStartURL             :: Maybe Text
+  , agentErrorDetails                          :: Maybe ErrorDetails
+  , agentExcludedDocuments                     :: Maybe [Text]
+  , agentFaxNumber                             :: Maybe Text
+  , agentIdCheckConfigurationName              :: Maybe Text
+  , agentIdCheckInformationInput               :: Maybe IdCheckInformationInput
+  , agentInheritEmailNotificationConfiguration :: Maybe Text
+  , agentName                                  :: Maybe Text
+  , agentNote                                  :: Maybe Text
+  , agentPhoneAuthentication                   :: Maybe RecipientPhoneAuthentication
+  , agentRecipientAttachments                  :: Maybe [RecipientAttachment]
+  , agentRecipientAuthenticationStatus         :: Maybe AuthenticationStatus
+  , agentRecipientId                           :: Maybe Text
+  , agentRecipientIdGuid                       :: Maybe Text
+  , agentRequireIdLookup                       :: Maybe Text
+  , agentRoleName                              :: Maybe Text
+  , agentRoutingOrder                          :: Maybe Text
+  , agentSamlAuthentication                    :: Maybe RecipientSAMLAuthentication
+  , agentSentDateTime                          :: Maybe Text
+  , agentSignedDateTime                        :: Maybe Text
+  , agentSigningGroupId                        :: Maybe Text
+  , agentSigningGroupName                      :: Maybe Text
+  , agentSigningGroupUsers                     :: Maybe [UserInfo]
+  , agentSmsAuthentication                     :: Maybe RecipientSMSAuthentication
+  , agentSocialAuthentications                 :: Maybe [SocialAuthentication]
+  , agentStatus                                :: Maybe Text
+  , agentTemplateLocked                        :: Maybe Text
+  , agentTemplateRequired                      :: Maybe Text
+  , agentTotalTabCount                         :: Maybe Text
+  , agentUserId                                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Agent where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "agent")
+instance ToJSON Agent where
+  toJSON = genericToJSON (removeFieldLabelPrefix "agent")
+
+instance Default Agent
diff --git a/src/DocuSign/Base/Types/ApiRequestLog.hs b/src/DocuSign/Base/Types/ApiRequestLog.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ApiRequestLog.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.ApiRequestLog where
+
+import DocuSign.Base.Types.Common
+
+data ApiRequestLog = ApiRequestLog
+  { apiRequestLogCreatedDateTime :: Maybe Text
+  , apiRequestLogDescription     :: Maybe Text
+  , apiRequestLogRequestLogId    :: Maybe Text
+  , apiRequestLogStatus          :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ApiRequestLog where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "apiRequestLog")
+instance ToJSON ApiRequestLog where
+  toJSON = genericToJSON (removeFieldLabelPrefix "apiRequestLog")
+
+instance Default ApiRequestLog
diff --git a/src/DocuSign/Base/Types/ApiRequestLogsResult.hs b/src/DocuSign/Base/Types/ApiRequestLogsResult.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ApiRequestLogsResult.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.ApiRequestLogsResult where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ApiRequestLog
+
+data ApiRequestLogsResult = ApiRequestLogsResult
+  { apiRequestLogsResultApiRequestLogs :: Maybe [ApiRequestLog]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ApiRequestLogsResult where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "apiRequestLogsResult")
+instance ToJSON ApiRequestLogsResult where
+  toJSON = genericToJSON (removeFieldLabelPrefix "apiRequestLogsResult")
+
+instance Default ApiRequestLogsResult
diff --git a/src/DocuSign/Base/Types/AppStoreProduct.hs b/src/DocuSign/Base/Types/AppStoreProduct.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AppStoreProduct.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.AppStoreProduct where
+
+import DocuSign.Base.Types.Common
+
+data AppStoreProduct = AppStoreProduct
+  { appStoreProductMarketPlace :: Maybe Text
+  , appStoreProductProductId   :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AppStoreProduct where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "appStoreProduct")
+instance ToJSON AppStoreProduct where
+  toJSON = genericToJSON (removeFieldLabelPrefix "appStoreProduct")
+
+instance Default AppStoreProduct
diff --git a/src/DocuSign/Base/Types/AppStoreReceipt.hs b/src/DocuSign/Base/Types/AppStoreReceipt.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AppStoreReceipt.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.AppStoreReceipt where
+
+import DocuSign.Base.Types.Common
+
+data AppStoreReceipt = AppStoreReceipt
+  { appStoreReceiptProductId   :: Maybe Text
+  , appStoreReceiptReceiptData :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AppStoreReceipt where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "appStoreReceipt")
+instance ToJSON AppStoreReceipt where
+  toJSON = genericToJSON (removeFieldLabelPrefix "appStoreReceipt")
+
+instance Default AppStoreReceipt
diff --git a/src/DocuSign/Base/Types/Approve.hs b/src/DocuSign/Base/Types/Approve.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Approve.hs
@@ -0,0 +1,48 @@
+module DocuSign.Base.Types.Approve where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data Approve = Approve
+  { approveAnchorCaseSensitive       :: Maybe Text
+  , approveAnchorHorizontalAlignment :: Maybe Text
+  , approveAnchorIgnoreIfNotPresent  :: Maybe Text
+  , approveAnchorMatchWholeWord      :: Maybe Text
+  , approveAnchorString              :: Maybe Text
+  , approveAnchorUnits               :: Maybe Text
+  , approveAnchorXOffset             :: Maybe Text
+  , approveAnchorYOffset             :: Maybe Text
+  , approveBold                      :: Maybe Text
+  , approveButtonText                :: Maybe Text
+  , approveConditionalParentLabel    :: Maybe Text
+  , approveConditionalParentValue    :: Maybe Text
+  , approveCustomTabId               :: Maybe Text
+  , approveDocumentId                :: Maybe Text
+  , approveErrorDetails              :: Maybe ErrorDetails
+  , approveFont                      :: Maybe Text
+  , approveFontColor                 :: Maybe Text
+  , approveFontSize                  :: Maybe Text
+  , approveHeight                    :: Maybe Int
+  , approveItalic                    :: Maybe Text
+  , approveMergeField                :: Maybe MergeField
+  , approvePageNumber                :: Maybe Text
+  , approveRecipientId               :: Maybe Text
+  , approveStatus                    :: Maybe Text
+  , approveTabId                     :: Maybe Text
+  , approveTabLabel                  :: Maybe Text
+  , approveTabOrder                  :: Maybe Text
+  , approveTemplateLocked            :: Maybe Text
+  , approveTemplateRequired          :: Maybe Text
+  , approveUnderline                 :: Maybe Text
+  , approveWidth                     :: Maybe Int
+  , approveXPosition                 :: Maybe Text
+  , approveYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Approve where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "approve")
+instance ToJSON Approve where
+  toJSON = genericToJSON (removeFieldLabelPrefix "approve")
+
+instance Default Approve
diff --git a/src/DocuSign/Base/Types/Attachment.hs b/src/DocuSign/Base/Types/Attachment.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Attachment.hs
@@ -0,0 +1,20 @@
+module DocuSign.Base.Types.Attachment where
+
+import DocuSign.Base.Types.Common
+
+data Attachment = Attachment
+  { attachmentAccessControl  :: Maybe Text
+  , attachmentAttachmentId   :: Maybe Text
+  , attachmentAttachmentType :: Maybe Text
+  , attachmentData           :: Maybe Text
+  , attachmentLabel          :: Maybe Text
+  , attachmentName           :: Maybe Text
+  , attachmentRemoteUrl      :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Attachment where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "attachment")
+instance ToJSON Attachment where
+  toJSON = genericToJSON (removeFieldLabelPrefix "attachment")
+
+instance Default Attachment
diff --git a/src/DocuSign/Base/Types/Authentication.hs b/src/DocuSign/Base/Types/Authentication.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Authentication.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.Authentication where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.LoginAccount
+
+data Authentication = Authentication
+  { authenticationApiPassword   :: Maybe Text
+  , authenticationLoginAccounts :: Maybe [LoginAccount]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Authentication where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "authentication")
+instance ToJSON Authentication where
+  toJSON = genericToJSON (removeFieldLabelPrefix "authentication")
+
+instance Default Authentication
diff --git a/src/DocuSign/Base/Types/AuthenticationMethod.hs b/src/DocuSign/Base/Types/AuthenticationMethod.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AuthenticationMethod.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.AuthenticationMethod where
+
+import DocuSign.Base.Types.Common
+
+data AuthenticationMethod = AuthenticationMethod
+  { authenticationMethodAuthenticationType :: Maybe Text
+  , authenticationMethodLastProvider       :: Maybe Text
+  , authenticationMethodLastTimestamp      :: Maybe Text
+  , authenticationMethodTotalCount         :: Maybe Int
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AuthenticationMethod where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "authenticationMethod")
+instance ToJSON AuthenticationMethod where
+  toJSON = genericToJSON (removeFieldLabelPrefix "authenticationMethod")
+
+instance Default AuthenticationMethod
diff --git a/src/DocuSign/Base/Types/AuthenticationStatus.hs b/src/DocuSign/Base/Types/AuthenticationStatus.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/AuthenticationStatus.hs
@@ -0,0 +1,32 @@
+module DocuSign.Base.Types.AuthenticationStatus where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.EventResult
+
+data AuthenticationStatus = AuthenticationStatus
+  { authenticationStatusAccessCodeResult        :: Maybe EventResult
+  , authenticationStatusAgeVerifyResult         :: Maybe EventResult
+  , authenticationStatusAnySocialIDResult       :: Maybe EventResult
+  , authenticationStatusFacebookResult          :: Maybe EventResult
+  , authenticationStatusGoogleResult            :: Maybe EventResult
+  , authenticationStatusIdLookupResult          :: Maybe EventResult
+  , authenticationStatusIdQuestionsResult       :: Maybe EventResult
+  , authenticationStatusLinkedinResult          :: Maybe EventResult
+  , authenticationStatusLiveIDResult            :: Maybe EventResult
+  , authenticationStatusOfacResult              :: Maybe EventResult
+  , authenticationStatusOpenIDResult            :: Maybe EventResult
+  , authenticationStatusPhoneAuthResult         :: Maybe EventResult
+  , authenticationStatusSalesforceResult        :: Maybe EventResult
+  , authenticationStatusSignatureProviderResult :: Maybe EventResult
+  , authenticationStatusSmsAuthResult           :: Maybe EventResult
+  , authenticationStatusSTANPinResult           :: Maybe EventResult
+  , authenticationStatusTwitterResult           :: Maybe EventResult
+  , authenticationStatusYahooResult             :: Maybe EventResult
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON AuthenticationStatus where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "authenticationStatus")
+instance ToJSON AuthenticationStatus where
+  toJSON = genericToJSON (removeFieldLabelPrefix "authenticationStatus")
+
+instance Default AuthenticationStatus
diff --git a/src/DocuSign/Base/Types/BccEmailAddress.hs b/src/DocuSign/Base/Types/BccEmailAddress.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BccEmailAddress.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.BccEmailAddress where
+
+import DocuSign.Base.Types.Common
+
+data BccEmailAddress = BccEmailAddress
+  { bccEmailAddressBccEmailAddressId :: Maybe Text
+  , bccEmailAddressEmail             :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BccEmailAddress where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "bccEmailAddress")
+instance ToJSON BccEmailAddress where
+  toJSON = genericToJSON (removeFieldLabelPrefix "bccEmailAddress")
+
+instance Default BccEmailAddress
diff --git a/src/DocuSign/Base/Types/BillingCharge.hs b/src/DocuSign/Base/Types/BillingCharge.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingCharge.hs
@@ -0,0 +1,28 @@
+module DocuSign.Base.Types.BillingCharge where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BillingDiscount
+import DocuSign.Base.Types.BillingPrice
+
+data BillingCharge = BillingCharge
+  { billingChargeAllowedQuantity     :: Maybe Text
+  , billingChargeBlocked             :: Maybe Text
+  , billingChargeChargeName          :: Maybe Text
+  , billingChargeChargeType          :: Maybe Text
+  , billingChargeChargeUnitOfMeasure :: Maybe Text
+  , billingChargeDiscounts           :: Maybe [BillingDiscount]
+  , billingChargeFirstEffectiveDate  :: Maybe Text
+  , billingChargeIncludedQuantity    :: Maybe Text
+  , billingChargeIncrementalQuantity :: Maybe Text
+  , billingChargeLastEffectiveDate   :: Maybe Text
+  , billingChargePrices              :: Maybe [BillingPrice]
+  , billingChargeUnitPrice           :: Maybe Text
+  , billingChargeUsedQuantity        :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingCharge where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingCharge")
+instance ToJSON BillingCharge where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingCharge")
+
+instance Default BillingCharge
diff --git a/src/DocuSign/Base/Types/BillingChargeResponse.hs b/src/DocuSign/Base/Types/BillingChargeResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingChargeResponse.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.BillingChargeResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BillingCharge
+
+data BillingChargeResponse = BillingChargeResponse
+  { billingChargeResponseBillingChargeItems :: Maybe [BillingCharge]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingChargeResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingChargeResponse")
+instance ToJSON BillingChargeResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingChargeResponse")
+
+instance Default BillingChargeResponse
diff --git a/src/DocuSign/Base/Types/BillingDiscount.hs b/src/DocuSign/Base/Types/BillingDiscount.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingDiscount.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.BillingDiscount where
+
+import DocuSign.Base.Types.Common
+
+data BillingDiscount = BillingDiscount
+  { billingDiscountBeginQuantity :: Maybe Text
+  , billingDiscountDiscount      :: Maybe Text
+  , billingDiscountEndQuantity   :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingDiscount where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingDiscount")
+instance ToJSON BillingDiscount where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingDiscount")
+
+instance Default BillingDiscount
diff --git a/src/DocuSign/Base/Types/BillingInvoiceItem.hs b/src/DocuSign/Base/Types/BillingInvoiceItem.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingInvoiceItem.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.BillingInvoiceItem where
+
+import DocuSign.Base.Types.Common
+
+data BillingInvoiceItem = BillingInvoiceItem
+  { billingInvoiceItemChargeAmount  :: Maybe Text
+  , billingInvoiceItemChargeName    :: Maybe Text
+  , billingInvoiceItemInvoiceItemId :: Maybe Text
+  , billingInvoiceItemQuantity      :: Maybe Text
+  , billingInvoiceItemUnitPrice     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingInvoiceItem where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingInvoiceItem")
+instance ToJSON BillingInvoiceItem where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingInvoiceItem")
+
+instance Default BillingInvoiceItem
diff --git a/src/DocuSign/Base/Types/BillingInvoicesResponse.hs b/src/DocuSign/Base/Types/BillingInvoicesResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingInvoicesResponse.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.BillingInvoicesResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Invoices
+
+data BillingInvoicesResponse = BillingInvoicesResponse
+  { billingInvoicesResponseBillingInvoices :: Maybe [Invoices]
+  , billingInvoicesResponseNextUri         :: Maybe Text
+  , billingInvoicesResponsePreviousUri     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingInvoicesResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingInvoicesResponse")
+instance ToJSON BillingInvoicesResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingInvoicesResponse")
+
+instance Default BillingInvoicesResponse
diff --git a/src/DocuSign/Base/Types/BillingInvoicesSummary.hs b/src/DocuSign/Base/Types/BillingInvoicesSummary.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingInvoicesSummary.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.BillingInvoicesSummary where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Invoices
+
+data BillingInvoicesSummary = BillingInvoicesSummary
+  { billingInvoicesSummaryBillingInvoices :: Maybe [Invoices]
+  , billingInvoicesSummaryPastDueBalance  :: Maybe Text
+  , billingInvoicesSummaryPaymentAllowed  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingInvoicesSummary where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingInvoicesSummary")
+instance ToJSON BillingInvoicesSummary where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingInvoicesSummary")
+
+instance Default BillingInvoicesSummary
diff --git a/src/DocuSign/Base/Types/BillingPayment.hs b/src/DocuSign/Base/Types/BillingPayment.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingPayment.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.BillingPayment where
+
+import DocuSign.Base.Types.Common
+
+data BillingPayment = BillingPayment
+  { billingPaymentAmount    :: Maybe Text
+  , billingPaymentInvoiceId :: Maybe Text
+  , billingPaymentPaymentId :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingPayment where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingPayment")
+instance ToJSON BillingPayment where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingPayment")
+
+instance Default BillingPayment
diff --git a/src/DocuSign/Base/Types/BillingPaymentRequest.hs b/src/DocuSign/Base/Types/BillingPaymentRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingPaymentRequest.hs
@@ -0,0 +1,14 @@
+module DocuSign.Base.Types.BillingPaymentRequest where
+
+import DocuSign.Base.Types.Common
+
+data BillingPaymentRequest = BillingPaymentRequest
+  { billingPaymentRequestPaymentAmount :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingPaymentRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingPaymentRequest")
+instance ToJSON BillingPaymentRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingPaymentRequest")
+
+instance Default BillingPaymentRequest
diff --git a/src/DocuSign/Base/Types/BillingPaymentResponse.hs b/src/DocuSign/Base/Types/BillingPaymentResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingPaymentResponse.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.BillingPaymentResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BillingPayment
+
+data BillingPaymentResponse = BillingPaymentResponse
+  { billingPaymentResponseBillingPayments :: Maybe [BillingPayment]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingPaymentResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingPaymentResponse")
+instance ToJSON BillingPaymentResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingPaymentResponse")
+
+instance Default BillingPaymentResponse
diff --git a/src/DocuSign/Base/Types/BillingPaymentsResponse.hs b/src/DocuSign/Base/Types/BillingPaymentsResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingPaymentsResponse.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.BillingPaymentsResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Payments
+
+data BillingPaymentsResponse = BillingPaymentsResponse
+  { billingPaymentsResponseBillingPayments :: Maybe [Payments]
+  , billingPaymentsResponseNextUri         :: Maybe Text
+  , billingPaymentsResponsePreviousUri     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingPaymentsResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingPaymentsResponse")
+instance ToJSON BillingPaymentsResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingPaymentsResponse")
+
+instance Default BillingPaymentsResponse
diff --git a/src/DocuSign/Base/Types/BillingPlan.hs b/src/DocuSign/Base/Types/BillingPlan.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingPlan.hs
@@ -0,0 +1,32 @@
+module DocuSign.Base.Types.BillingPlan where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AppStoreProduct
+import DocuSign.Base.Types.CurrencyPlanPrice
+import DocuSign.Base.Types.FeatureSet
+import DocuSign.Base.Types.SeatDiscount
+
+data BillingPlan = BillingPlan
+  { billingPlanAppStoreProducts     :: Maybe [AppStoreProduct]
+  , billingPlanCurrencyPlanPrices   :: Maybe [CurrencyPlanPrice]
+  , billingPlanEnableSupport        :: Maybe Text
+  , billingPlanIncludedSeats        :: Maybe Text
+  , billingPlanOtherDiscountPercent :: Maybe Text
+  , billingPlanPaymentCycle         :: Maybe Text
+  , billingPlanPaymentMethod        :: Maybe Text
+  , billingPlanPerSeatPrice         :: Maybe Text
+  , billingPlanPlanClassification   :: Maybe Text
+  , billingPlanPlanFeatureSets      :: Maybe [FeatureSet]
+  , billingPlanPlanId               :: Maybe Text
+  , billingPlanPlanName             :: Maybe Text
+  , billingPlanSeatDiscounts        :: Maybe [SeatDiscount]
+  , billingPlanSupportIncidentFee   :: Maybe Text
+  , billingPlanSupportPlanFee       :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingPlan where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingPlan")
+instance ToJSON BillingPlan where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingPlan")
+
+instance Default BillingPlan
diff --git a/src/DocuSign/Base/Types/BillingPlanInformation.hs b/src/DocuSign/Base/Types/BillingPlanInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingPlanInformation.hs
@@ -0,0 +1,35 @@
+module DocuSign.Base.Types.BillingPlanInformation where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountAddress
+import DocuSign.Base.Types.AppStoreReceipt
+import DocuSign.Base.Types.CreditCardInformation
+import DocuSign.Base.Types.PaymentProcessorInformation
+import DocuSign.Base.Types.PlanInformation
+import DocuSign.Base.Types.ReferralInformation
+
+data BillingPlanInformation = BillingPlanInformation
+  { billingPlanInformationAppStoreReceipt               :: Maybe AppStoreReceipt
+  , billingPlanInformationBillingAddress                :: Maybe AccountAddress
+  , billingPlanInformationCreditCardInformation         :: Maybe CreditCardInformation
+  , billingPlanInformationDowngradeReason               :: Maybe Text
+  , billingPlanInformationEnableSupport                 :: Maybe Text
+  , billingPlanInformationIncludedSeats                 :: Maybe Text
+  , billingPlanInformationIncrementalSeats              :: Maybe Text
+  , billingPlanInformationPaymentProcessorInformation   :: Maybe PaymentProcessorInformation
+  , billingPlanInformationPlanInformation               :: Maybe PlanInformation
+  , billingPlanInformationReferralInformation           :: Maybe ReferralInformation
+  , billingPlanInformationRenewalStatus                 :: Maybe Text
+  , billingPlanInformationSaleDiscountAmount            :: Maybe Text
+  , billingPlanInformationSaleDiscountFixedAmount       :: Maybe Text
+  , billingPlanInformationSaleDiscountPercent           :: Maybe Text
+  , billingPlanInformationSaleDiscountPeriods           :: Maybe Text
+  , billingPlanInformationSaleDiscountSeatPriceOverride :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingPlanInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingPlanInformation")
+instance ToJSON BillingPlanInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingPlanInformation")
+
+instance Default BillingPlanInformation
diff --git a/src/DocuSign/Base/Types/BillingPlanPreview.hs b/src/DocuSign/Base/Types/BillingPlanPreview.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingPlanPreview.hs
@@ -0,0 +1,20 @@
+module DocuSign.Base.Types.BillingPlanPreview where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Invoices
+
+data BillingPlanPreview = BillingPlanPreview
+  { billingPlanPreviewCurrencyCode   :: Maybe Text
+  , billingPlanPreviewInvoice        :: Maybe Invoices
+  , billingPlanPreviewIsProrated     :: Maybe Text
+  , billingPlanPreviewSubtotalAmount :: Maybe Text
+  , billingPlanPreviewTaxAmount      :: Maybe Text
+  , billingPlanPreviewTotalAmount    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingPlanPreview where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingPlanPreview")
+instance ToJSON BillingPlanPreview where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingPlanPreview")
+
+instance Default BillingPlanPreview
diff --git a/src/DocuSign/Base/Types/BillingPlanResponse.hs b/src/DocuSign/Base/Types/BillingPlanResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingPlanResponse.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.BillingPlanResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BillingPlan
+
+data BillingPlanResponse = BillingPlanResponse
+  { billingPlanResponseBillingPlan    :: Maybe BillingPlan
+  , billingPlanResponseSuccessorPlans :: Maybe [BillingPlan]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingPlanResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingPlanResponse")
+instance ToJSON BillingPlanResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingPlanResponse")
+
+instance Default BillingPlanResponse
diff --git a/src/DocuSign/Base/Types/BillingPlanUpdateResponse.hs b/src/DocuSign/Base/Types/BillingPlanUpdateResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingPlanUpdateResponse.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.BillingPlanUpdateResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BillingPlanPreview
+
+data BillingPlanUpdateResponse = BillingPlanUpdateResponse
+  { billingPlanUpdateResponseAccountPaymentMethod :: Maybe Text
+  , billingPlanUpdateResponseBillingPlanPreview   :: Maybe BillingPlanPreview
+  , billingPlanUpdateResponseCurrencyCode         :: Maybe Text
+  , billingPlanUpdateResponseIncludedSeats        :: Maybe Text
+  , billingPlanUpdateResponsePaymentCycle         :: Maybe Text
+  , billingPlanUpdateResponsePaymentMethod        :: Maybe Text
+  , billingPlanUpdateResponsePlanId               :: Maybe Text
+  , billingPlanUpdateResponsePlanName             :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingPlanUpdateResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingPlanUpdateResponse")
+instance ToJSON BillingPlanUpdateResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingPlanUpdateResponse")
+
+instance Default BillingPlanUpdateResponse
diff --git a/src/DocuSign/Base/Types/BillingPlans.hs b/src/DocuSign/Base/Types/BillingPlans.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingPlans.hs
@@ -0,0 +1,26 @@
+module DocuSign.Base.Types.BillingPlans where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountAddress
+import DocuSign.Base.Types.AccountBillingPlan
+import DocuSign.Base.Types.BillingPlan
+import DocuSign.Base.Types.CreditCardInformation
+import DocuSign.Base.Types.PaymentProcessorInformation
+import DocuSign.Base.Types.ReferralInformation
+
+data BillingPlans = BillingPlans
+  { billingPlansBillingAddress                    :: Maybe AccountAddress
+  , billingPlansBillingAddressIsCreditCardAddress :: Maybe Text
+  , billingPlansBillingPlan                       :: Maybe AccountBillingPlan
+  , billingPlansCreditCardInformation             :: Maybe CreditCardInformation
+  , billingPlansPaymentProcessorInformation       :: Maybe PaymentProcessorInformation
+  , billingPlansReferralInformation               :: Maybe ReferralInformation
+  , billingPlansSuccessorPlans                    :: Maybe [BillingPlan]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingPlans where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingPlans")
+instance ToJSON BillingPlans where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingPlans")
+
+instance Default BillingPlans
diff --git a/src/DocuSign/Base/Types/BillingPlansResponse.hs b/src/DocuSign/Base/Types/BillingPlansResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingPlansResponse.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.BillingPlansResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BillingPlan
+
+data BillingPlansResponse = BillingPlansResponse
+  { billingPlansResponseBillingPlans :: Maybe [BillingPlan]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingPlansResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingPlansResponse")
+instance ToJSON BillingPlansResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingPlansResponse")
+
+instance Default BillingPlansResponse
diff --git a/src/DocuSign/Base/Types/BillingPrice.hs b/src/DocuSign/Base/Types/BillingPrice.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BillingPrice.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.BillingPrice where
+
+import DocuSign.Base.Types.Common
+
+data BillingPrice = BillingPrice
+  { billingPriceBeginQuantity :: Maybe Text
+  , billingPriceEndQuantity   :: Maybe Text
+  , billingPriceUnitPrice     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BillingPrice where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "billingPrice")
+instance ToJSON BillingPrice where
+  toJSON = genericToJSON (removeFieldLabelPrefix "billingPrice")
+
+instance Default BillingPrice
diff --git a/src/DocuSign/Base/Types/Brand.hs b/src/DocuSign/Base/Types/Brand.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Brand.hs
@@ -0,0 +1,32 @@
+module DocuSign.Base.Types.Brand where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BrandEmailContent
+import DocuSign.Base.Types.BrandLink
+import DocuSign.Base.Types.BrandLogos
+import DocuSign.Base.Types.BrandResourceUrls
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.NameValue
+
+data Brand = Brand
+  { brandBrandCompany            :: Maybe Text
+  , brandBrandId                 :: Maybe Text
+  , brandBrandName               :: Maybe Text
+  , brandColors                  :: Maybe [NameValue]
+  , brandEmailContent            :: Maybe [BrandEmailContent]
+  , brandErrorDetails            :: Maybe ErrorDetails
+  , brandIsOverridingCompanyName :: Maybe Text
+  , brandIsSendingDefault        :: Maybe Text
+  , brandIsSigningDefault        :: Maybe Text
+  , brandLandingPages            :: Maybe [NameValue]
+  , brandLinks                   :: Maybe [BrandLink]
+  , brandLogos                   :: Maybe BrandLogos
+  , brandResources               :: Maybe BrandResourceUrls
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Brand where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "brand")
+instance ToJSON Brand where
+  toJSON = genericToJSON (removeFieldLabelPrefix "brand")
+
+instance Default Brand
diff --git a/src/DocuSign/Base/Types/BrandEmailContent.hs b/src/DocuSign/Base/Types/BrandEmailContent.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BrandEmailContent.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.BrandEmailContent where
+
+import DocuSign.Base.Types.Common
+
+data BrandEmailContent = BrandEmailContent
+  { brandEmailContentContent          :: Maybe Text
+  , brandEmailContentEmailContentType :: Maybe Text
+  , brandEmailContentEmailToLink      :: Maybe Text
+  , brandEmailContentLinkText         :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BrandEmailContent where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "brandEmailContent")
+instance ToJSON BrandEmailContent where
+  toJSON = genericToJSON (removeFieldLabelPrefix "brandEmailContent")
+
+instance Default BrandEmailContent
diff --git a/src/DocuSign/Base/Types/BrandLink.hs b/src/DocuSign/Base/Types/BrandLink.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BrandLink.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.BrandLink where
+
+import DocuSign.Base.Types.Common
+
+data BrandLink = BrandLink
+  { brandLinkLinkText    :: Maybe Text
+  , brandLinkLinkType    :: Maybe Text
+  , brandLinkShowLink    :: Maybe Text
+  , brandLinkUrlOrMailTo :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BrandLink where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "brandLink")
+instance ToJSON BrandLink where
+  toJSON = genericToJSON (removeFieldLabelPrefix "brandLink")
+
+instance Default BrandLink
diff --git a/src/DocuSign/Base/Types/BrandLogos.hs b/src/DocuSign/Base/Types/BrandLogos.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BrandLogos.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.BrandLogos where
+
+import DocuSign.Base.Types.Common
+
+data BrandLogos = BrandLogos
+  { brandLogosEmail     :: Maybe Text
+  , brandLogosPrimary   :: Maybe Text
+  , brandLogosSecondary :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BrandLogos where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "brandLogos")
+instance ToJSON BrandLogos where
+  toJSON = genericToJSON (removeFieldLabelPrefix "brandLogos")
+
+instance Default BrandLogos
diff --git a/src/DocuSign/Base/Types/BrandRequest.hs b/src/DocuSign/Base/Types/BrandRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BrandRequest.hs
@@ -0,0 +1,14 @@
+module DocuSign.Base.Types.BrandRequest where
+
+import DocuSign.Base.Types.Common
+
+data BrandRequest = BrandRequest
+  { brandRequestBrandId :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BrandRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "brandRequest")
+instance ToJSON BrandRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "brandRequest")
+
+instance Default BrandRequest
diff --git a/src/DocuSign/Base/Types/BrandResourceUrls.hs b/src/DocuSign/Base/Types/BrandResourceUrls.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BrandResourceUrls.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.BrandResourceUrls where
+
+import DocuSign.Base.Types.Common
+
+data BrandResourceUrls = BrandResourceUrls
+  { brandResourceUrlsEmail          :: Maybe Text
+  , brandResourceUrlsSending        :: Maybe Text
+  , brandResourceUrlsSigning        :: Maybe Text
+  , brandResourceUrlsSigningCaptive :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BrandResourceUrls where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "brandResourceUrls")
+instance ToJSON BrandResourceUrls where
+  toJSON = genericToJSON (removeFieldLabelPrefix "brandResourceUrls")
+
+instance Default BrandResourceUrls
diff --git a/src/DocuSign/Base/Types/BrandResources.hs b/src/DocuSign/Base/Types/BrandResources.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BrandResources.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.BrandResources where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.UserInfo
+
+data BrandResources = BrandResources
+  { brandResourcesCreatedByUserInfo    :: Maybe UserInfo
+  , brandResourcesCreatedDate          :: Maybe Text
+  , brandResourcesModifiedByUserInfo   :: Maybe UserInfo
+  , brandResourcesModifiedDate         :: Maybe Text
+  , brandResourcesModifiedTemplates    :: Maybe [Text]
+  , brandResourcesResourcesContentType :: Maybe Text
+  , brandResourcesResourcesContentUri  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BrandResources where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "brandResources")
+instance ToJSON BrandResources where
+  toJSON = genericToJSON (removeFieldLabelPrefix "brandResources")
+
+instance Default BrandResources
diff --git a/src/DocuSign/Base/Types/BrandResourcesList.hs b/src/DocuSign/Base/Types/BrandResourcesList.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BrandResourcesList.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.BrandResourcesList where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BrandResources
+
+data BrandResourcesList = BrandResourcesList
+  { brandResourcesListResourcesContentTypes :: Maybe [BrandResources]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BrandResourcesList where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "brandResourcesList")
+instance ToJSON BrandResourcesList where
+  toJSON = genericToJSON (removeFieldLabelPrefix "brandResourcesList")
+
+instance Default BrandResourcesList
diff --git a/src/DocuSign/Base/Types/BrandsRequest.hs b/src/DocuSign/Base/Types/BrandsRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BrandsRequest.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.BrandsRequest where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BrandRequest
+
+data BrandsRequest = BrandsRequest
+  { brandsRequestBrands :: Maybe [BrandRequest]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BrandsRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "brandsRequest")
+instance ToJSON BrandsRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "brandsRequest")
+
+instance Default BrandsRequest
diff --git a/src/DocuSign/Base/Types/BulkEnvelope.hs b/src/DocuSign/Base/Types/BulkEnvelope.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BulkEnvelope.hs
@@ -0,0 +1,23 @@
+module DocuSign.Base.Types.BulkEnvelope where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data BulkEnvelope = BulkEnvelope
+  { bulkEnvelopeBulkRecipientRow  :: Maybe Text
+  , bulkEnvelopeBulkStatus        :: Maybe Text
+  , bulkEnvelopeEmail             :: Maybe Text
+  , bulkEnvelopeEnvelopeId        :: Maybe Text
+  , bulkEnvelopeEnvelopeUri       :: Maybe Text
+  , bulkEnvelopeErrorDetails      :: Maybe ErrorDetails
+  , bulkEnvelopeName              :: Maybe Text
+  , bulkEnvelopeSubmittedDateTime :: Maybe Text
+  , bulkEnvelopeTransactionId     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BulkEnvelope where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "bulkEnvelope")
+instance ToJSON BulkEnvelope where
+  toJSON = genericToJSON (removeFieldLabelPrefix "bulkEnvelope")
+
+instance Default BulkEnvelope
diff --git a/src/DocuSign/Base/Types/BulkEnvelopeStatus.hs b/src/DocuSign/Base/Types/BulkEnvelopeStatus.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BulkEnvelopeStatus.hs
@@ -0,0 +1,28 @@
+module DocuSign.Base.Types.BulkEnvelopeStatus where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BulkEnvelope
+
+data BulkEnvelopeStatus = BulkEnvelopeStatus
+  { bulkEnvelopeStatusBatchId               :: Maybe Text
+  , bulkEnvelopeStatusBatchSize             :: Maybe Text
+  , bulkEnvelopeStatusBulkEnvelopes         :: Maybe [BulkEnvelope]
+  , bulkEnvelopeStatusBulkEnvelopesBatchUri :: Maybe Text
+  , bulkEnvelopeStatusEndPosition           :: Maybe Text
+  , bulkEnvelopeStatusFailed                :: Maybe Text
+  , bulkEnvelopeStatusNextUri               :: Maybe Text
+  , bulkEnvelopeStatusPreviousUri           :: Maybe Text
+  , bulkEnvelopeStatusQueued                :: Maybe Text
+  , bulkEnvelopeStatusResultSetSize         :: Maybe Text
+  , bulkEnvelopeStatusSent                  :: Maybe Text
+  , bulkEnvelopeStatusStartPosition         :: Maybe Text
+  , bulkEnvelopeStatusSubmittedDate         :: Maybe Text
+  , bulkEnvelopeStatusTotalSetSize          :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BulkEnvelopeStatus where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "bulkEnvelopeStatus")
+instance ToJSON BulkEnvelopeStatus where
+  toJSON = genericToJSON (removeFieldLabelPrefix "bulkEnvelopeStatus")
+
+instance Default BulkEnvelopeStatus
diff --git a/src/DocuSign/Base/Types/BulkEnvelopes.hs b/src/DocuSign/Base/Types/BulkEnvelopes.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BulkEnvelopes.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.BulkEnvelopes where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BulkEnvelopeStatus
+
+data BulkEnvelopes = BulkEnvelopes
+  { bulkEnvelopesBulkEnvelopeStatuses :: Maybe [BulkEnvelopeStatus]
+  , bulkEnvelopesEndPosition          :: Maybe Text
+  , bulkEnvelopesNextUri              :: Maybe Text
+  , bulkEnvelopesPreviousUri          :: Maybe Text
+  , bulkEnvelopesResultSetSize        :: Maybe Text
+  , bulkEnvelopesStartPosition        :: Maybe Text
+  , bulkEnvelopesTotalSetSize         :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BulkEnvelopes where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "bulkEnvelopes")
+instance ToJSON BulkEnvelopes where
+  toJSON = genericToJSON (removeFieldLabelPrefix "bulkEnvelopes")
+
+instance Default BulkEnvelopes
diff --git a/src/DocuSign/Base/Types/BulkRecipient.hs b/src/DocuSign/Base/Types/BulkRecipient.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BulkRecipient.hs
@@ -0,0 +1,26 @@
+module DocuSign.Base.Types.BulkRecipient where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BulkRecipientSignatureProvider
+import DocuSign.Base.Types.BulkRecipientTabLabel
+import DocuSign.Base.Types.ErrorDetails
+
+data BulkRecipient = BulkRecipient
+  { bulkRecipientAccessCode                     :: Maybe Text
+  , bulkRecipientEmail                          :: Maybe Text
+  , bulkRecipientErrorDetails                   :: Maybe [ErrorDetails]
+  , bulkRecipientIdentification                 :: Maybe Text
+  , bulkRecipientName                           :: Maybe Text
+  , bulkRecipientNote                           :: Maybe Text
+  , bulkRecipientPhoneNumber                    :: Maybe Text
+  , bulkRecipientRecipientSignatureProviderInfo :: Maybe [BulkRecipientSignatureProvider]
+  , bulkRecipientRowNumber                      :: Maybe Text
+  , bulkRecipientTabLabels                      :: Maybe [BulkRecipientTabLabel]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BulkRecipient where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "bulkRecipient")
+instance ToJSON BulkRecipient where
+  toJSON = genericToJSON (removeFieldLabelPrefix "bulkRecipient")
+
+instance Default BulkRecipient
diff --git a/src/DocuSign/Base/Types/BulkRecipientSignatureProvider.hs b/src/DocuSign/Base/Types/BulkRecipientSignatureProvider.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BulkRecipientSignatureProvider.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.BulkRecipientSignatureProvider where
+
+import DocuSign.Base.Types.Common
+
+data BulkRecipientSignatureProvider = BulkRecipientSignatureProvider
+  { bulkRecipientSignatureProviderName  :: Maybe Text
+  , bulkRecipientSignatureProviderValue :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BulkRecipientSignatureProvider where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "bulkRecipientSignatureProvider")
+instance ToJSON BulkRecipientSignatureProvider where
+  toJSON = genericToJSON (removeFieldLabelPrefix "bulkRecipientSignatureProvider")
+
+instance Default BulkRecipientSignatureProvider
diff --git a/src/DocuSign/Base/Types/BulkRecipientTabLabel.hs b/src/DocuSign/Base/Types/BulkRecipientTabLabel.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BulkRecipientTabLabel.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.BulkRecipientTabLabel where
+
+import DocuSign.Base.Types.Common
+
+data BulkRecipientTabLabel = BulkRecipientTabLabel
+  { bulkRecipientTabLabelName  :: Maybe Text
+  , bulkRecipientTabLabelValue :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BulkRecipientTabLabel where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "bulkRecipientTabLabel")
+instance ToJSON BulkRecipientTabLabel where
+  toJSON = genericToJSON (removeFieldLabelPrefix "bulkRecipientTabLabel")
+
+instance Default BulkRecipientTabLabel
diff --git a/src/DocuSign/Base/Types/BulkRecipientsRequest.hs b/src/DocuSign/Base/Types/BulkRecipientsRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BulkRecipientsRequest.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.BulkRecipientsRequest where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BulkRecipient
+
+data BulkRecipientsRequest = BulkRecipientsRequest
+  { bulkRecipientsRequestBulkRecipients :: Maybe [BulkRecipient]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BulkRecipientsRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "bulkRecipientsRequest")
+instance ToJSON BulkRecipientsRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "bulkRecipientsRequest")
+
+instance Default BulkRecipientsRequest
diff --git a/src/DocuSign/Base/Types/BulkRecipientsSummaryResponse.hs b/src/DocuSign/Base/Types/BulkRecipientsSummaryResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BulkRecipientsSummaryResponse.hs
@@ -0,0 +1,19 @@
+module DocuSign.Base.Types.BulkRecipientsSummaryResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BulkRecipient
+import DocuSign.Base.Types.ErrorDetails
+
+data BulkRecipientsSummaryResponse = BulkRecipientsSummaryResponse
+  { bulkRecipientsSummaryResponseBulkRecipients      :: Maybe [BulkRecipient]
+  , bulkRecipientsSummaryResponseBulkRecipientsCount :: Maybe Text
+  , bulkRecipientsSummaryResponseBulkRecipientsUri   :: Maybe Text
+  , bulkRecipientsSummaryResponseErrorDetails        :: Maybe [ErrorDetails]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BulkRecipientsSummaryResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "bulkRecipientsSummaryResponse")
+instance ToJSON BulkRecipientsSummaryResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "bulkRecipientsSummaryResponse")
+
+instance Default BulkRecipientsSummaryResponse
diff --git a/src/DocuSign/Base/Types/BulkRecipientsUpdateResponse.hs b/src/DocuSign/Base/Types/BulkRecipientsUpdateResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/BulkRecipientsUpdateResponse.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.BulkRecipientsUpdateResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Signer
+
+data BulkRecipientsUpdateResponse = BulkRecipientsUpdateResponse
+  { bulkRecipientsUpdateResponseSigner :: Maybe Signer
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON BulkRecipientsUpdateResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "bulkRecipientsUpdateResponse")
+instance ToJSON BulkRecipientsUpdateResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "bulkRecipientsUpdateResponse")
+
+instance Default BulkRecipientsUpdateResponse
diff --git a/src/DocuSign/Base/Types/CaptiveRecipient.hs b/src/DocuSign/Base/Types/CaptiveRecipient.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CaptiveRecipient.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.CaptiveRecipient where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data CaptiveRecipient = CaptiveRecipient
+  { captiveRecipientClientUserId :: Maybe Text
+  , captiveRecipientEmail        :: Maybe Text
+  , captiveRecipientErrorDetails :: Maybe ErrorDetails
+  , captiveRecipientUserName     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CaptiveRecipient where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "captiveRecipient")
+instance ToJSON CaptiveRecipient where
+  toJSON = genericToJSON (removeFieldLabelPrefix "captiveRecipient")
+
+instance Default CaptiveRecipient
diff --git a/src/DocuSign/Base/Types/CaptiveRecipientInformation.hs b/src/DocuSign/Base/Types/CaptiveRecipientInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CaptiveRecipientInformation.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.CaptiveRecipientInformation where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.CaptiveRecipient
+
+data CaptiveRecipientInformation = CaptiveRecipientInformation
+  { captiveRecipientInformationCaptiveRecipients :: Maybe [CaptiveRecipient]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CaptiveRecipientInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "captiveRecipientInformation")
+instance ToJSON CaptiveRecipientInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "captiveRecipientInformation")
+
+instance Default CaptiveRecipientInformation
diff --git a/src/DocuSign/Base/Types/CarbonCopy.hs b/src/DocuSign/Base/Types/CarbonCopy.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CarbonCopy.hs
@@ -0,0 +1,66 @@
+module DocuSign.Base.Types.CarbonCopy where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AuthenticationStatus
+import DocuSign.Base.Types.DocumentVisibility
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.IdCheckInformationInput
+import DocuSign.Base.Types.RecipientAttachment
+import DocuSign.Base.Types.RecipientEmailNotification
+import DocuSign.Base.Types.RecipientPhoneAuthentication
+import DocuSign.Base.Types.RecipientSAMLAuthentication
+import DocuSign.Base.Types.RecipientSMSAuthentication
+import DocuSign.Base.Types.SocialAuthentication
+import DocuSign.Base.Types.UserInfo
+
+data CarbonCopy = CarbonCopy
+  { carbonCopyAccessCode                            :: Maybe Text
+  , carbonCopyAddAccessCodeToEmail                  :: Maybe Text
+  , carbonCopyClientUserId                          :: Maybe Text
+  , carbonCopyCustomFields                          :: Maybe [Text]
+  , carbonCopyDeclinedDateTime                      :: Maybe Text
+  , carbonCopyDeclinedReason                        :: Maybe Text
+  , carbonCopyDeliveredDateTime                     :: Maybe Text
+  , carbonCopyDeliveryMethod                        :: Maybe Text
+  , carbonCopyDocumentVisibility                    :: Maybe [DocumentVisibility]
+  , carbonCopyEmail                                 :: Maybe Text
+  , carbonCopyEmailNotification                     :: Maybe RecipientEmailNotification
+  , carbonCopyEmailRecipientPostSigningURL          :: Maybe Text
+  , carbonCopyEmbeddedRecipientStartURL             :: Maybe Text
+  , carbonCopyErrorDetails                          :: Maybe ErrorDetails
+  , carbonCopyExcludedDocuments                     :: Maybe [Text]
+  , carbonCopyFaxNumber                             :: Maybe Text
+  , carbonCopyIdCheckConfigurationName              :: Maybe Text
+  , carbonCopyIdCheckInformationInput               :: Maybe IdCheckInformationInput
+  , carbonCopyInheritEmailNotificationConfiguration :: Maybe Text
+  , carbonCopyName                                  :: Maybe Text
+  , carbonCopyNote                                  :: Maybe Text
+  , carbonCopyPhoneAuthentication                   :: Maybe RecipientPhoneAuthentication
+  , carbonCopyRecipientAttachments                  :: Maybe [RecipientAttachment]
+  , carbonCopyRecipientAuthenticationStatus         :: Maybe AuthenticationStatus
+  , carbonCopyRecipientId                           :: Maybe Text
+  , carbonCopyRecipientIdGuid                       :: Maybe Text
+  , carbonCopyRequireIdLookup                       :: Maybe Text
+  , carbonCopyRoleName                              :: Maybe Text
+  , carbonCopyRoutingOrder                          :: Maybe Text
+  , carbonCopySamlAuthentication                    :: Maybe RecipientSAMLAuthentication
+  , carbonCopySentDateTime                          :: Maybe Text
+  , carbonCopySignedDateTime                        :: Maybe Text
+  , carbonCopySigningGroupId                        :: Maybe Text
+  , carbonCopySigningGroupName                      :: Maybe Text
+  , carbonCopySigningGroupUsers                     :: Maybe [UserInfo]
+  , carbonCopySmsAuthentication                     :: Maybe RecipientSMSAuthentication
+  , carbonCopySocialAuthentications                 :: Maybe [SocialAuthentication]
+  , carbonCopyStatus                                :: Maybe Text
+  , carbonCopyTemplateLocked                        :: Maybe Text
+  , carbonCopyTemplateRequired                      :: Maybe Text
+  , carbonCopyTotalTabCount                         :: Maybe Text
+  , carbonCopyUserId                                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CarbonCopy where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "carbonCopy")
+instance ToJSON CarbonCopy where
+  toJSON = genericToJSON (removeFieldLabelPrefix "carbonCopy")
+
+instance Default CarbonCopy
diff --git a/src/DocuSign/Base/Types/CertifiedDelivery.hs b/src/DocuSign/Base/Types/CertifiedDelivery.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CertifiedDelivery.hs
@@ -0,0 +1,66 @@
+module DocuSign.Base.Types.CertifiedDelivery where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AuthenticationStatus
+import DocuSign.Base.Types.DocumentVisibility
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.IdCheckInformationInput
+import DocuSign.Base.Types.RecipientAttachment
+import DocuSign.Base.Types.RecipientEmailNotification
+import DocuSign.Base.Types.RecipientPhoneAuthentication
+import DocuSign.Base.Types.RecipientSAMLAuthentication
+import DocuSign.Base.Types.RecipientSMSAuthentication
+import DocuSign.Base.Types.SocialAuthentication
+import DocuSign.Base.Types.UserInfo
+
+data CertifiedDelivery = CertifiedDelivery
+  { certifiedDeliveryAccessCode                            :: Maybe Text
+  , certifiedDeliveryAddAccessCodeToEmail                  :: Maybe Text
+  , certifiedDeliveryClientUserId                          :: Maybe Text
+  , certifiedDeliveryCustomFields                          :: Maybe [Text]
+  , certifiedDeliveryDeclinedDateTime                      :: Maybe Text
+  , certifiedDeliveryDeclinedReason                        :: Maybe Text
+  , certifiedDeliveryDeliveredDateTime                     :: Maybe Text
+  , certifiedDeliveryDeliveryMethod                        :: Maybe Text
+  , certifiedDeliveryDocumentVisibility                    :: Maybe [DocumentVisibility]
+  , certifiedDeliveryEmail                                 :: Maybe Text
+  , certifiedDeliveryEmailNotification                     :: Maybe RecipientEmailNotification
+  , certifiedDeliveryEmailRecipientPostSigningURL          :: Maybe Text
+  , certifiedDeliveryEmbeddedRecipientStartURL             :: Maybe Text
+  , certifiedDeliveryErrorDetails                          :: Maybe ErrorDetails
+  , certifiedDeliveryExcludedDocuments                     :: Maybe [Text]
+  , certifiedDeliveryFaxNumber                             :: Maybe Text
+  , certifiedDeliveryIdCheckConfigurationName              :: Maybe Text
+  , certifiedDeliveryIdCheckInformationInput               :: Maybe IdCheckInformationInput
+  , certifiedDeliveryInheritEmailNotificationConfiguration :: Maybe Text
+  , certifiedDeliveryName                                  :: Maybe Text
+  , certifiedDeliveryNote                                  :: Maybe Text
+  , certifiedDeliveryPhoneAuthentication                   :: Maybe RecipientPhoneAuthentication
+  , certifiedDeliveryRecipientAttachments                  :: Maybe [RecipientAttachment]
+  , certifiedDeliveryRecipientAuthenticationStatus         :: Maybe AuthenticationStatus
+  , certifiedDeliveryRecipientId                           :: Maybe Text
+  , certifiedDeliveryRecipientIdGuid                       :: Maybe Text
+  , certifiedDeliveryRequireIdLookup                       :: Maybe Text
+  , certifiedDeliveryRoleName                              :: Maybe Text
+  , certifiedDeliveryRoutingOrder                          :: Maybe Text
+  , certifiedDeliverySamlAuthentication                    :: Maybe RecipientSAMLAuthentication
+  , certifiedDeliverySentDateTime                          :: Maybe Text
+  , certifiedDeliverySignedDateTime                        :: Maybe Text
+  , certifiedDeliverySigningGroupId                        :: Maybe Text
+  , certifiedDeliverySigningGroupName                      :: Maybe Text
+  , certifiedDeliverySigningGroupUsers                     :: Maybe [UserInfo]
+  , certifiedDeliverySmsAuthentication                     :: Maybe RecipientSMSAuthentication
+  , certifiedDeliverySocialAuthentications                 :: Maybe [SocialAuthentication]
+  , certifiedDeliveryStatus                                :: Maybe Text
+  , certifiedDeliveryTemplateLocked                        :: Maybe Text
+  , certifiedDeliveryTemplateRequired                      :: Maybe Text
+  , certifiedDeliveryTotalTabCount                         :: Maybe Text
+  , certifiedDeliveryUserId                                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CertifiedDelivery where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "certifiedDelivery")
+instance ToJSON CertifiedDelivery where
+  toJSON = genericToJSON (removeFieldLabelPrefix "certifiedDelivery")
+
+instance Default CertifiedDelivery
diff --git a/src/DocuSign/Base/Types/Checkbox.hs b/src/DocuSign/Base/Types/Checkbox.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Checkbox.hs
@@ -0,0 +1,45 @@
+module DocuSign.Base.Types.Checkbox where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data Checkbox = Checkbox
+  { checkboxAnchorCaseSensitive          :: Maybe Text
+  , checkboxAnchorHorizontalAlignment    :: Maybe Text
+  , checkboxAnchorIgnoreIfNotPresent     :: Maybe Text
+  , checkboxAnchorMatchWholeWord         :: Maybe Text
+  , checkboxAnchorString                 :: Maybe Text
+  , checkboxAnchorUnits                  :: Maybe Text
+  , checkboxAnchorXOffset                :: Maybe Text
+  , checkboxAnchorYOffset                :: Maybe Text
+  , checkboxConditionalParentLabel       :: Maybe Text
+  , checkboxConditionalParentValue       :: Maybe Text
+  , checkboxCustomTabId                  :: Maybe Text
+  , checkboxDocumentId                   :: Maybe Text
+  , checkboxErrorDetails                 :: Maybe ErrorDetails
+  , checkboxLocked                       :: Maybe Text
+  , checkboxMergeField                   :: Maybe MergeField
+  , checkboxName                         :: Maybe Text
+  , checkboxPageNumber                   :: Maybe Text
+  , checkboxRecipientId                  :: Maybe Text
+  , checkboxRequired                     :: Maybe Text
+  , checkboxRequireInitialOnSharedChange :: Maybe Text
+  , checkboxSelected                     :: Maybe Text
+  , checkboxShared                       :: Maybe Text
+  , checkboxStatus                       :: Maybe Text
+  , checkboxTabId                        :: Maybe Text
+  , checkboxTabLabel                     :: Maybe Text
+  , checkboxTabOrder                     :: Maybe Text
+  , checkboxTemplateLocked               :: Maybe Text
+  , checkboxTemplateRequired             :: Maybe Text
+  , checkboxXPosition                    :: Maybe Text
+  , checkboxYPosition                    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Checkbox where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "checkbox")
+instance ToJSON Checkbox where
+  toJSON = genericToJSON (removeFieldLabelPrefix "checkbox")
+
+instance Default Checkbox
diff --git a/src/DocuSign/Base/Types/ChunkedUploadPart.hs b/src/DocuSign/Base/Types/ChunkedUploadPart.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ChunkedUploadPart.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.ChunkedUploadPart where
+
+import DocuSign.Base.Types.Common
+
+data ChunkedUploadPart = ChunkedUploadPart
+  { chunkedUploadPartSequence :: Maybe Text
+  , chunkedUploadPartSize     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ChunkedUploadPart where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "chunkedUploadPart")
+instance ToJSON ChunkedUploadPart where
+  toJSON = genericToJSON (removeFieldLabelPrefix "chunkedUploadPart")
+
+instance Default ChunkedUploadPart
diff --git a/src/DocuSign/Base/Types/ChunkedUploadRequest.hs b/src/DocuSign/Base/Types/ChunkedUploadRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ChunkedUploadRequest.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.ChunkedUploadRequest where
+
+import DocuSign.Base.Types.Common
+
+data ChunkedUploadRequest = ChunkedUploadRequest
+  { chunkedUploadRequestChunkedUploadId :: Maybe Text
+  , chunkedUploadRequestData            :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ChunkedUploadRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "chunkedUploadRequest")
+instance ToJSON ChunkedUploadRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "chunkedUploadRequest")
+
+instance Default ChunkedUploadRequest
diff --git a/src/DocuSign/Base/Types/ChunkedUploads.hs b/src/DocuSign/Base/Types/ChunkedUploads.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ChunkedUploads.hs
@@ -0,0 +1,23 @@
+module DocuSign.Base.Types.ChunkedUploads where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ChunkedUploadPart
+
+data ChunkedUploads = ChunkedUploads
+  { chunkedUploadsChecksum              :: Maybe Text
+  , chunkedUploadsChunkedUploadId       :: Maybe Text
+  , chunkedUploadsChunkedUploadParts    :: Maybe [ChunkedUploadPart]
+  , chunkedUploadsChunkedUploadUri      :: Maybe Text
+  , chunkedUploadsCommitted             :: Maybe Text
+  , chunkedUploadsExpirationDateTime    :: Maybe Text
+  , chunkedUploadsMaxChunkedUploadParts :: Maybe Text
+  , chunkedUploadsMaxTotalSize          :: Maybe Text
+  , chunkedUploadsTotalSize             :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ChunkedUploads where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "chunkedUploads")
+instance ToJSON ChunkedUploads where
+  toJSON = genericToJSON (removeFieldLabelPrefix "chunkedUploads")
+
+instance Default ChunkedUploads
diff --git a/src/DocuSign/Base/Types/CloudStorage.hs b/src/DocuSign/Base/Types/CloudStorage.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CloudStorage.hs
@@ -0,0 +1,25 @@
+module DocuSign.Base.Types.CloudStorage where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ExternalDocServiceErrorDetails
+import DocuSign.Base.Types.ExternalFile
+
+data CloudStorage = CloudStorage
+  { cloudStorageEndPosition   :: Maybe Text
+  , cloudStorageErrorDetails  :: Maybe ExternalDocServiceErrorDetails
+  , cloudStorageId            :: Maybe Text
+  , cloudStorageItems         :: Maybe [ExternalFile]
+  , cloudStorageName          :: Maybe Text
+  , cloudStorageNextUri       :: Maybe Text
+  , cloudStoragePreviousUri   :: Maybe Text
+  , cloudStorageResultSetSize :: Maybe Text
+  , cloudStorageStartPosition :: Maybe Text
+  , cloudStorageTotalSetSize  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CloudStorage where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "cloudStorage")
+instance ToJSON CloudStorage where
+  toJSON = genericToJSON (removeFieldLabelPrefix "cloudStorage")
+
+instance Default CloudStorage
diff --git a/src/DocuSign/Base/Types/CloudStorageProvider.hs b/src/DocuSign/Base/Types/CloudStorageProvider.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CloudStorageProvider.hs
@@ -0,0 +1,19 @@
+module DocuSign.Base.Types.CloudStorageProvider where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data CloudStorageProvider = CloudStorageProvider
+  { cloudStorageProviderAuthenticationUrl :: Maybe Text
+  , cloudStorageProviderErrorDetails      :: Maybe ErrorDetails
+  , cloudStorageProviderRedirectUrl       :: Maybe Text
+  , cloudStorageProviderService           :: Maybe Text
+  , cloudStorageProviderServiceId         :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CloudStorageProvider where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "cloudStorageProvider")
+instance ToJSON CloudStorageProvider where
+  toJSON = genericToJSON (removeFieldLabelPrefix "cloudStorageProvider")
+
+instance Default CloudStorageProvider
diff --git a/src/DocuSign/Base/Types/CloudStorageProviders.hs b/src/DocuSign/Base/Types/CloudStorageProviders.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CloudStorageProviders.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.CloudStorageProviders where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.CloudStorageProvider
+
+data CloudStorageProviders = CloudStorageProviders
+  { cloudStorageProvidersStorageProviders :: Maybe [CloudStorageProvider]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CloudStorageProviders where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "cloudStorageProviders")
+instance ToJSON CloudStorageProviders where
+  toJSON = genericToJSON (removeFieldLabelPrefix "cloudStorageProviders")
+
+instance Default CloudStorageProviders
diff --git a/src/DocuSign/Base/Types/Common.hs b/src/DocuSign/Base/Types/Common.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Common.hs
@@ -0,0 +1,19 @@
+module DocuSign.Base.Types.Common
+  ( FromJSON (..)
+  , ToJSON (..)
+  , genericParseJSON
+  , genericToJSON
+  , removeFieldLabelPrefix
+  , Default
+  , Text
+  , Generic
+  ) where
+
+import Data.Aeson               ( FromJSON (..)
+                                , ToJSON (..)
+                                , genericParseJSON
+                                , genericToJSON )
+import Data.Default             ( Default )
+import Data.Text                ( Text )
+import DocuSign.Base.Fields ( removeFieldLabelPrefix )
+import GHC.Generics             ( Generic )
diff --git a/src/DocuSign/Base/Types/Company.hs b/src/DocuSign/Base/Types/Company.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Company.hs
@@ -0,0 +1,54 @@
+module DocuSign.Base.Types.Company where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data Company = Company
+  { companyAnchorCaseSensitive       :: Maybe Text
+  , companyAnchorHorizontalAlignment :: Maybe Text
+  , companyAnchorIgnoreIfNotPresent  :: Maybe Text
+  , companyAnchorMatchWholeWord      :: Maybe Text
+  , companyAnchorString              :: Maybe Text
+  , companyAnchorUnits               :: Maybe Text
+  , companyAnchorXOffset             :: Maybe Text
+  , companyAnchorYOffset             :: Maybe Text
+  , companyBold                      :: Maybe Text
+  , companyConcealValueOnDocument    :: Maybe Text
+  , companyConditionalParentLabel    :: Maybe Text
+  , companyConditionalParentValue    :: Maybe Text
+  , companyCustomTabId               :: Maybe Text
+  , companyDisableAutoSize           :: Maybe Text
+  , companyDocumentId                :: Maybe Text
+  , companyErrorDetails              :: Maybe ErrorDetails
+  , companyFont                      :: Maybe Text
+  , companyFontColor                 :: Maybe Text
+  , companyFontSize                  :: Maybe Text
+  , companyItalic                    :: Maybe Text
+  , companyLocked                    :: Maybe Text
+  , companyMaxLength                 :: Maybe Int
+  , companyMergeField                :: Maybe MergeField
+  , companyName                      :: Maybe Text
+  , companyOriginalValue             :: Maybe Text
+  , companyPageNumber                :: Maybe Text
+  , companyRecipientId               :: Maybe Text
+  , companyRequired                  :: Maybe Text
+  , companyStatus                    :: Maybe Text
+  , companyTabId                     :: Maybe Text
+  , companyTabLabel                  :: Maybe Text
+  , companyTabOrder                  :: Maybe Text
+  , companyTemplateLocked            :: Maybe Text
+  , companyTemplateRequired          :: Maybe Text
+  , companyUnderline                 :: Maybe Text
+  , companyValue                     :: Maybe Text
+  , companyWidth                     :: Maybe Int
+  , companyXPosition                 :: Maybe Text
+  , companyYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Company where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "company")
+instance ToJSON Company where
+  toJSON = genericToJSON (removeFieldLabelPrefix "company")
+
+instance Default Company
diff --git a/src/DocuSign/Base/Types/CompositeTemplate.hs b/src/DocuSign/Base/Types/CompositeTemplate.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CompositeTemplate.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.CompositeTemplate where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Document
+import DocuSign.Base.Types.InlineTemplate
+import DocuSign.Base.Types.ServerTemplate
+
+data CompositeTemplate = CompositeTemplate
+  { compositeTemplateCompositeTemplateId         :: Maybe Text
+  , compositeTemplateDocument                    :: Maybe Document
+  , compositeTemplateInlineTemplates             :: Maybe [InlineTemplate]
+  , compositeTemplatePdfMetaDataTemplateSequence :: Maybe Text
+  , compositeTemplateServerTemplates             :: Maybe [ServerTemplate]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CompositeTemplate where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "compositeTemplate")
+instance ToJSON CompositeTemplate where
+  toJSON = genericToJSON (removeFieldLabelPrefix "compositeTemplate")
+
+instance Default CompositeTemplate
diff --git a/src/DocuSign/Base/Types/ConnectConfigResults.hs b/src/DocuSign/Base/Types/ConnectConfigResults.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ConnectConfigResults.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.ConnectConfigResults where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ConnectConfigurations
+
+data ConnectConfigResults = ConnectConfigResults
+  { connectConfigResultsConfigurations :: Maybe [ConnectConfigurations]
+  , connectConfigResultsTotalRecords   :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ConnectConfigResults where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "connectConfigResults")
+instance ToJSON ConnectConfigResults where
+  toJSON = genericToJSON (removeFieldLabelPrefix "connectConfigResults")
+
+instance Default ConnectConfigResults
diff --git a/src/DocuSign/Base/Types/ConnectConfigurations.hs b/src/DocuSign/Base/Types/ConnectConfigurations.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ConnectConfigurations.hs
@@ -0,0 +1,34 @@
+module DocuSign.Base.Types.ConnectConfigurations where
+
+import DocuSign.Base.Types.Common
+
+data ConnectConfigurations = ConnectConfigurations
+  { connectConfigurationsAllowEnvelopePublish              :: Maybe Text
+  , connectConfigurationsAllUsers                          :: Maybe Text
+  , connectConfigurationsConfigurationType                 :: Maybe Text
+  , connectConfigurationsConnectId                         :: Maybe Text
+  , connectConfigurationsEnableLog                         :: Maybe Text
+  , connectConfigurationsEnvelopeEvents                    :: Maybe Text
+  , connectConfigurationsIncludeCertificateOfCompletion    :: Maybe Text
+  , connectConfigurationsIncludeCertSoapHeader             :: Maybe Text
+  , connectConfigurationsIncludeDocumentFields             :: Maybe Text
+  , connectConfigurationsIncludeDocuments                  :: Maybe Text
+  , connectConfigurationsIncludeEnvelopeVoidReason         :: Maybe Text
+  , connectConfigurationsIncludeSenderAccountasCustomField :: Maybe Text
+  , connectConfigurationsIncludeTimeZoneInformation        :: Maybe Text
+  , connectConfigurationsName                              :: Maybe Text
+  , connectConfigurationsRecipientEvents                   :: Maybe Text
+  , connectConfigurationsRequiresAcknowledgement           :: Maybe Text
+  , connectConfigurationsSignMessageWithX509Certificate    :: Maybe Text
+  , connectConfigurationsSoapNamespace                     :: Maybe Text
+  , connectConfigurationsUrlToPublishTo                    :: Maybe Text
+  , connectConfigurationsUserIds                           :: Maybe Text
+  , connectConfigurationsUseSoapInterface                  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ConnectConfigurations where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "connectConfigurations")
+instance ToJSON ConnectConfigurations where
+  toJSON = genericToJSON (removeFieldLabelPrefix "connectConfigurations")
+
+instance Default ConnectConfigurations
diff --git a/src/DocuSign/Base/Types/ConnectDebugLog.hs b/src/DocuSign/Base/Types/ConnectDebugLog.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ConnectDebugLog.hs
@@ -0,0 +1,19 @@
+module DocuSign.Base.Types.ConnectDebugLog where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data ConnectDebugLog = ConnectDebugLog
+  { connectDebugLogConnectConfig    :: Maybe Text
+  , connectDebugLogErrorDetails     :: Maybe ErrorDetails
+  , connectDebugLogEventDateTime    :: Maybe Text
+  , connectDebugLogEventDescription :: Maybe Text
+  , connectDebugLogPayload          :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ConnectDebugLog where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "connectDebugLog")
+instance ToJSON ConnectDebugLog where
+  toJSON = genericToJSON (removeFieldLabelPrefix "connectDebugLog")
+
+instance Default ConnectDebugLog
diff --git a/src/DocuSign/Base/Types/ConnectEvents.hs b/src/DocuSign/Base/Types/ConnectEvents.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ConnectEvents.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.ConnectEvents where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ConnectLog
+
+data ConnectEvents = ConnectEvents
+  { connectEventsFailures     :: Maybe [ConnectLog]
+  , connectEventsLogs         :: Maybe [ConnectLog]
+  , connectEventsTotalRecords :: Maybe Text
+  , connectEventsType         :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ConnectEvents where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "connectEvents")
+instance ToJSON ConnectEvents where
+  toJSON = genericToJSON (removeFieldLabelPrefix "connectEvents")
+
+instance Default ConnectEvents
diff --git a/src/DocuSign/Base/Types/ConnectFailureFilter.hs b/src/DocuSign/Base/Types/ConnectFailureFilter.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ConnectFailureFilter.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.ConnectFailureFilter where
+
+import DocuSign.Base.Types.Common
+
+data ConnectFailureFilter = ConnectFailureFilter
+  { connectFailureFilterEnvelopeIds :: Maybe [Text]
+  , connectFailureFilterSynchronous :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ConnectFailureFilter where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "connectFailureFilter")
+instance ToJSON ConnectFailureFilter where
+  toJSON = genericToJSON (removeFieldLabelPrefix "connectFailureFilter")
+
+instance Default ConnectFailureFilter
diff --git a/src/DocuSign/Base/Types/ConnectFailureResult.hs b/src/DocuSign/Base/Types/ConnectFailureResult.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ConnectFailureResult.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.ConnectFailureResult where
+
+import DocuSign.Base.Types.Common
+
+data ConnectFailureResult = ConnectFailureResult
+  { connectFailureResultConfigId      :: Maybe Text
+  , connectFailureResultConfigUrl     :: Maybe Text
+  , connectFailureResultEnvelopeId    :: Maybe Text
+  , connectFailureResultStatus        :: Maybe Text
+  , connectFailureResultStatusMessage :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ConnectFailureResult where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "connectFailureResult")
+instance ToJSON ConnectFailureResult where
+  toJSON = genericToJSON (removeFieldLabelPrefix "connectFailureResult")
+
+instance Default ConnectFailureResult
diff --git a/src/DocuSign/Base/Types/ConnectFailureResults.hs b/src/DocuSign/Base/Types/ConnectFailureResults.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ConnectFailureResults.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.ConnectFailureResults where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ConnectFailureResult
+
+data ConnectFailureResults = ConnectFailureResults
+  { connectFailureResultsRetryQueue :: Maybe [ConnectFailureResult]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ConnectFailureResults where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "connectFailureResults")
+instance ToJSON ConnectFailureResults where
+  toJSON = genericToJSON (removeFieldLabelPrefix "connectFailureResults")
+
+instance Default ConnectFailureResults
diff --git a/src/DocuSign/Base/Types/ConnectLog.hs b/src/DocuSign/Base/Types/ConnectLog.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ConnectLog.hs
@@ -0,0 +1,32 @@
+module DocuSign.Base.Types.ConnectLog where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ConnectDebugLog
+
+data ConnectLog = ConnectLog
+  { connectLogAccountId       :: Maybe Text
+  , connectLogConfigUrl       :: Maybe Text
+  , connectLogConnectDebugLog :: Maybe [ConnectDebugLog]
+  , connectLogConnectId       :: Maybe Text
+  , connectLogCreated         :: Maybe Text
+  , connectLogEmail           :: Maybe Text
+  , connectLogEnvelopeId      :: Maybe Text
+  , connectLogError           :: Maybe Text
+  , connectLogFailureId       :: Maybe Text
+  , connectLogFailureUri      :: Maybe Text
+  , connectLogLastTry         :: Maybe Text
+  , connectLogLogId           :: Maybe Text
+  , connectLogLogUri          :: Maybe Text
+  , connectLogRetryCount      :: Maybe Text
+  , connectLogRetryUri        :: Maybe Text
+  , connectLogStatus          :: Maybe Text
+  , connectLogSubject         :: Maybe Text
+  , connectLogUserName        :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ConnectLog where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "connectLog")
+instance ToJSON ConnectLog where
+  toJSON = genericToJSON (removeFieldLabelPrefix "connectLog")
+
+instance Default ConnectLog
diff --git a/src/DocuSign/Base/Types/ConsoleViewRequest.hs b/src/DocuSign/Base/Types/ConsoleViewRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ConsoleViewRequest.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.ConsoleViewRequest where
+
+import DocuSign.Base.Types.Common
+
+data ConsoleViewRequest = ConsoleViewRequest
+  { consoleViewRequestEnvelopeId :: Maybe Text
+  , consoleViewRequestReturnUrl  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ConsoleViewRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "consoleViewRequest")
+instance ToJSON ConsoleViewRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "consoleViewRequest")
+
+instance Default ConsoleViewRequest
diff --git a/src/DocuSign/Base/Types/ContactGetResponse.hs b/src/DocuSign/Base/Types/ContactGetResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ContactGetResponse.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.ContactGetResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Contacts
+
+data ContactGetResponse = ContactGetResponse
+  { contactGetResponseContacts      :: Maybe [Contacts]
+  , contactGetResponseEndPosition   :: Maybe Text
+  , contactGetResponseNextUri       :: Maybe Text
+  , contactGetResponsePreviousUri   :: Maybe Text
+  , contactGetResponseResultSetSize :: Maybe Text
+  , contactGetResponseStartPosition :: Maybe Text
+  , contactGetResponseTotalSetSize  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ContactGetResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "contactGetResponse")
+instance ToJSON ContactGetResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "contactGetResponse")
+
+instance Default ContactGetResponse
diff --git a/src/DocuSign/Base/Types/ContactModRequest.hs b/src/DocuSign/Base/Types/ContactModRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ContactModRequest.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.ContactModRequest where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Contacts
+
+data ContactModRequest = ContactModRequest
+  { contactModRequestContacts :: Maybe [Contacts]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ContactModRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "contactModRequest")
+instance ToJSON ContactModRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "contactModRequest")
+
+instance Default ContactModRequest
diff --git a/src/DocuSign/Base/Types/ContactPhoneNumber.hs b/src/DocuSign/Base/Types/ContactPhoneNumber.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ContactPhoneNumber.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.ContactPhoneNumber where
+
+import DocuSign.Base.Types.Common
+
+data ContactPhoneNumber = ContactPhoneNumber
+  { contactPhoneNumberPhoneNumber :: Maybe Text
+  , contactPhoneNumberPhoneType   :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ContactPhoneNumber where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "contactPhoneNumber")
+instance ToJSON ContactPhoneNumber where
+  toJSON = genericToJSON (removeFieldLabelPrefix "contactPhoneNumber")
+
+instance Default ContactPhoneNumber
diff --git a/src/DocuSign/Base/Types/ContactUpdateResponse.hs b/src/DocuSign/Base/Types/ContactUpdateResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ContactUpdateResponse.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.ContactUpdateResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Contacts
+
+data ContactUpdateResponse = ContactUpdateResponse
+  { contactUpdateResponseContacts :: Maybe [Contacts]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ContactUpdateResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "contactUpdateResponse")
+instance ToJSON ContactUpdateResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "contactUpdateResponse")
+
+instance Default ContactUpdateResponse
diff --git a/src/DocuSign/Base/Types/Contacts.hs b/src/DocuSign/Base/Types/Contacts.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Contacts.hs
@@ -0,0 +1,25 @@
+module DocuSign.Base.Types.Contacts where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ContactPhoneNumber
+import DocuSign.Base.Types.ErrorDetails
+
+data Contacts = Contacts
+  { contactsContactId           :: Maybe Text
+  , contactsContactPhoneNumbers :: Maybe [ContactPhoneNumber]
+  , contactsContactUri          :: Maybe Text
+  , contactsEmails              :: Maybe [Text]
+  , contactsErrorDetails        :: Maybe ErrorDetails
+  , contactsName                :: Maybe Text
+  , contactsOrganization        :: Maybe Text
+  , contactsShared              :: Maybe Text
+  , contactsSigningGroup        :: Maybe Text
+  , contactsSigningGroupName    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Contacts where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "contacts")
+instance ToJSON Contacts where
+  toJSON = genericToJSON (removeFieldLabelPrefix "contacts")
+
+instance Default Contacts
diff --git a/src/DocuSign/Base/Types/CorrectViewRequest.hs b/src/DocuSign/Base/Types/CorrectViewRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CorrectViewRequest.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.CorrectViewRequest where
+
+import DocuSign.Base.Types.Common
+
+data CorrectViewRequest = CorrectViewRequest
+  { correctViewRequestReturnUrl          :: Maybe Text
+  , correctViewRequestSuppressNavigation :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CorrectViewRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "correctViewRequest")
+instance ToJSON CorrectViewRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "correctViewRequest")
+
+instance Default CorrectViewRequest
diff --git a/src/DocuSign/Base/Types/Country.hs b/src/DocuSign/Base/Types/Country.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Country.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.Country where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Province
+
+data Country = Country
+  { countryIsoCode           :: Maybe Text
+  , countryName              :: Maybe Text
+  , countryProvinces         :: Maybe [Province]
+  , countryProvinceValidated :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Country where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "country")
+instance ToJSON Country where
+  toJSON = genericToJSON (removeFieldLabelPrefix "country")
+
+instance Default Country
diff --git a/src/DocuSign/Base/Types/CreditCardInformation.hs b/src/DocuSign/Base/Types/CreditCardInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CreditCardInformation.hs
@@ -0,0 +1,20 @@
+module DocuSign.Base.Types.CreditCardInformation where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AddressInformation
+
+data CreditCardInformation = CreditCardInformation
+  { creditCardInformationAddress         :: Maybe AddressInformation
+  , creditCardInformationCardNumber      :: Maybe Text
+  , creditCardInformationCardType        :: Maybe Text
+  , creditCardInformationExpirationMonth :: Maybe Text
+  , creditCardInformationExpirationYear  :: Maybe Text
+  , creditCardInformationNameOnCard      :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CreditCardInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "creditCardInformation")
+instance ToJSON CreditCardInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "creditCardInformation")
+
+instance Default CreditCardInformation
diff --git a/src/DocuSign/Base/Types/CreditCardTypes.hs b/src/DocuSign/Base/Types/CreditCardTypes.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CreditCardTypes.hs
@@ -0,0 +1,14 @@
+module DocuSign.Base.Types.CreditCardTypes where
+
+import DocuSign.Base.Types.Common
+
+data CreditCardTypes = CreditCardTypes
+  { creditCardTypesCardTypes :: Maybe [Text]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CreditCardTypes where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "creditCardTypes")
+instance ToJSON CreditCardTypes where
+  toJSON = genericToJSON (removeFieldLabelPrefix "creditCardTypes")
+
+instance Default CreditCardTypes
diff --git a/src/DocuSign/Base/Types/CurrencyFeatureSetPrice.hs b/src/DocuSign/Base/Types/CurrencyFeatureSetPrice.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CurrencyFeatureSetPrice.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.CurrencyFeatureSetPrice where
+
+import DocuSign.Base.Types.Common
+
+data CurrencyFeatureSetPrice = CurrencyFeatureSetPrice
+  { currencyFeatureSetPriceCurrencyCode   :: Maybe Text
+  , currencyFeatureSetPriceCurrencySymbol :: Maybe Text
+  , currencyFeatureSetPriceEnvelopeFee    :: Maybe Text
+  , currencyFeatureSetPriceFixedFee       :: Maybe Text
+  , currencyFeatureSetPriceSeatFee        :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CurrencyFeatureSetPrice where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "currencyFeatureSetPrice")
+instance ToJSON CurrencyFeatureSetPrice where
+  toJSON = genericToJSON (removeFieldLabelPrefix "currencyFeatureSetPrice")
+
+instance Default CurrencyFeatureSetPrice
diff --git a/src/DocuSign/Base/Types/CurrencyPlanPrice.hs b/src/DocuSign/Base/Types/CurrencyPlanPrice.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CurrencyPlanPrice.hs
@@ -0,0 +1,20 @@
+module DocuSign.Base.Types.CurrencyPlanPrice where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.CreditCardTypes
+
+data CurrencyPlanPrice = CurrencyPlanPrice
+  { currencyPlanPriceCurrencyCode       :: Maybe Text
+  , currencyPlanPriceCurrencySymbol     :: Maybe Text
+  , currencyPlanPricePerSeatPrice       :: Maybe Text
+  , currencyPlanPriceSupportedCardTypes :: Maybe CreditCardTypes
+  , currencyPlanPriceSupportIncidentFee :: Maybe Text
+  , currencyPlanPriceSupportPlanFee     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CurrencyPlanPrice where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "currencyPlanPrice")
+instance ToJSON CurrencyPlanPrice where
+  toJSON = genericToJSON (removeFieldLabelPrefix "currencyPlanPrice")
+
+instance Default CurrencyPlanPrice
diff --git a/src/DocuSign/Base/Types/CustomField.hs b/src/DocuSign/Base/Types/CustomField.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CustomField.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.CustomField where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data CustomField = CustomField
+  { customFieldCustomFieldType :: Maybe Text
+  , customFieldErrorDetails    :: Maybe ErrorDetails
+  , customFieldFieldId         :: Maybe Text
+  , customFieldListItems       :: Maybe [Text]
+  , customFieldName            :: Maybe Text
+  , customFieldRequired        :: Maybe Text
+  , customFieldShow            :: Maybe Text
+  , customFieldValue           :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CustomField where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "customField")
+instance ToJSON CustomField where
+  toJSON = genericToJSON (removeFieldLabelPrefix "customField")
+
+instance Default CustomField
diff --git a/src/DocuSign/Base/Types/CustomFieldV2.hs b/src/DocuSign/Base/Types/CustomFieldV2.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CustomFieldV2.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.CustomFieldV2 where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data CustomFieldV2 = CustomFieldV2
+  { customFieldV2ConfigurationType :: Maybe Text
+  , customFieldV2ErrorDetails      :: Maybe ErrorDetails
+  , customFieldV2FieldId           :: Maybe Text
+  , customFieldV2Name              :: Maybe Text
+  , customFieldV2Required          :: Maybe Text
+  , customFieldV2Show              :: Maybe Text
+  , customFieldV2Value             :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CustomFieldV2 where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "customFieldV2")
+instance ToJSON CustomFieldV2 where
+  toJSON = genericToJSON (removeFieldLabelPrefix "customFieldV2")
+
+instance Default CustomFieldV2
diff --git a/src/DocuSign/Base/Types/CustomFieldsEnvelope.hs b/src/DocuSign/Base/Types/CustomFieldsEnvelope.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CustomFieldsEnvelope.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.CustomFieldsEnvelope where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ListCustomField
+import DocuSign.Base.Types.TextCustomField
+
+data CustomFieldsEnvelope = CustomFieldsEnvelope
+  { customFieldsEnvelopeListCustomFields :: Maybe [ListCustomField]
+  , customFieldsEnvelopeTextCustomFields :: Maybe [TextCustomField]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CustomFieldsEnvelope where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "customFieldsEnvelope")
+instance ToJSON CustomFieldsEnvelope where
+  toJSON = genericToJSON (removeFieldLabelPrefix "customFieldsEnvelope")
+
+instance Default CustomFieldsEnvelope
diff --git a/src/DocuSign/Base/Types/CustomTabs.hs b/src/DocuSign/Base/Types/CustomTabs.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/CustomTabs.hs
@@ -0,0 +1,56 @@
+module DocuSign.Base.Types.CustomTabs where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.MergeField
+import DocuSign.Base.Types.PropertyMetadata
+
+data CustomTabs = CustomTabs
+  { customTabsAnchor                    :: Maybe Text
+  , customTabsAnchorCaseSensitive       :: Maybe Text
+  , customTabsAnchorHorizontalAlignment :: Maybe Text
+  , customTabsAnchorIgnoreIfNotPresent  :: Maybe Text
+  , customTabsAnchorMatchWholeWord      :: Maybe Text
+  , customTabsAnchorUnits               :: Maybe Text
+  , customTabsAnchorXOffset             :: Maybe Text
+  , customTabsAnchorYOffset             :: Maybe Text
+  , customTabsBold                      :: Maybe Text
+  , customTabsConcealValueOnDocument    :: Maybe Text
+  , customTabsCreatedByDisplayName      :: Maybe Text
+  , customTabsCreatedByUserId           :: Maybe Text
+  , customTabsCustomTabId               :: Maybe Text
+  , customTabsDisableAutoSize           :: Maybe Text
+  , customTabsEditable                  :: Maybe Text
+  , customTabsFont                      :: Maybe Text
+  , customTabsFontColor                 :: Maybe Text
+  , customTabsFontSize                  :: Maybe Text
+  , customTabsHeight                    :: Maybe Text
+  , customTabsIncludedInEmail           :: Maybe Text
+  , customTabsInitialValue              :: Maybe Text
+  , customTabsItalic                    :: Maybe Text
+  , customTabsItems                     :: Maybe [Text]
+  , customTabsLastModified              :: Maybe Text
+  , customTabsLastModifiedByDisplayName :: Maybe Text
+  , customTabsLastModifiedByUserId      :: Maybe Text
+  , customTabsLocked                    :: Maybe Text
+  , customTabsMaximumLength             :: Maybe Text
+  , customTabsMergeField                :: Maybe MergeField
+  , customTabsName                      :: Maybe Text
+  , customTabsRequired                  :: Maybe Text
+  , customTabsScaleValue                :: Maybe Text
+  , customTabsShared                    :: Maybe Text
+  , customTabsStampType                 :: Maybe Text
+  , customTabsStampTypeMetadata         :: Maybe PropertyMetadata
+  , customTabsTabLabel                  :: Maybe Text
+  , customTabsType                      :: Maybe Text
+  , customTabsUnderline                 :: Maybe Text
+  , customTabsValidationMessage         :: Maybe Text
+  , customTabsValidationPattern         :: Maybe Text
+  , customTabsWidth                     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON CustomTabs where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "customTabs")
+instance ToJSON CustomTabs where
+  toJSON = genericToJSON (removeFieldLabelPrefix "customTabs")
+
+instance Default CustomTabs
diff --git a/src/DocuSign/Base/Types/Date.hs b/src/DocuSign/Base/Types/Date.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Date.hs
@@ -0,0 +1,60 @@
+module DocuSign.Base.Types.Date where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data Date = Date
+  { dateAnchorCaseSensitive          :: Maybe Text
+  , dateAnchorHorizontalAlignment    :: Maybe Text
+  , dateAnchorIgnoreIfNotPresent     :: Maybe Text
+  , dateAnchorMatchWholeWord         :: Maybe Text
+  , dateAnchorString                 :: Maybe Text
+  , dateAnchorUnits                  :: Maybe Text
+  , dateAnchorXOffset                :: Maybe Text
+  , dateAnchorYOffset                :: Maybe Text
+  , dateBold                         :: Maybe Text
+  , dateConcealValueOnDocument       :: Maybe Text
+  , dateConditionalParentLabel       :: Maybe Text
+  , dateConditionalParentValue       :: Maybe Text
+  , dateCustomTabId                  :: Maybe Text
+  , dateDisableAutoSize              :: Maybe Text
+  , dateDocumentId                   :: Maybe Text
+  , dateErrorDetails                 :: Maybe ErrorDetails
+  , dateFont                         :: Maybe Text
+  , dateFontColor                    :: Maybe Text
+  , dateFontSize                     :: Maybe Text
+  , dateItalic                       :: Maybe Text
+  , dateLocked                       :: Maybe Text
+  , dateMaxLength                    :: Maybe Int
+  , dateMergeField                   :: Maybe MergeField
+  , dateName                         :: Maybe Text
+  , dateOriginalValue                :: Maybe Text
+  , datePageNumber                   :: Maybe Text
+  , dateRecipientId                  :: Maybe Text
+  , dateRequireAll                   :: Maybe Text
+  , dateRequired                     :: Maybe Text
+  , dateRequireInitialOnSharedChange :: Maybe Text
+  , dateSenderRequired               :: Maybe Text
+  , dateShared                       :: Maybe Text
+  , dateStatus                       :: Maybe Text
+  , dateTabId                        :: Maybe Text
+  , dateTabLabel                     :: Maybe Text
+  , dateTabOrder                     :: Maybe Text
+  , dateTemplateLocked               :: Maybe Text
+  , dateTemplateRequired             :: Maybe Text
+  , dateUnderline                    :: Maybe Text
+  , dateValidationMessage            :: Maybe Text
+  , dateValidationPattern            :: Maybe Text
+  , dateValue                        :: Maybe Text
+  , dateWidth                        :: Maybe Int
+  , dateXPosition                    :: Maybe Text
+  , dateYPosition                    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Date where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "date")
+instance ToJSON Date where
+  toJSON = genericToJSON (removeFieldLabelPrefix "date")
+
+instance Default Date
diff --git a/src/DocuSign/Base/Types/DateSigned.hs b/src/DocuSign/Base/Types/DateSigned.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/DateSigned.hs
@@ -0,0 +1,47 @@
+module DocuSign.Base.Types.DateSigned where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data DateSigned = DateSigned
+  { dateSignedAnchorCaseSensitive       :: Maybe Text
+  , dateSignedAnchorHorizontalAlignment :: Maybe Text
+  , dateSignedAnchorIgnoreIfNotPresent  :: Maybe Text
+  , dateSignedAnchorMatchWholeWord      :: Maybe Text
+  , dateSignedAnchorString              :: Maybe Text
+  , dateSignedAnchorUnits               :: Maybe Text
+  , dateSignedAnchorXOffset             :: Maybe Text
+  , dateSignedAnchorYOffset             :: Maybe Text
+  , dateSignedBold                      :: Maybe Text
+  , dateSignedConditionalParentLabel    :: Maybe Text
+  , dateSignedConditionalParentValue    :: Maybe Text
+  , dateSignedCustomTabId               :: Maybe Text
+  , dateSignedDocumentId                :: Maybe Text
+  , dateSignedErrorDetails              :: Maybe ErrorDetails
+  , dateSignedFont                      :: Maybe Text
+  , dateSignedFontColor                 :: Maybe Text
+  , dateSignedFontSize                  :: Maybe Text
+  , dateSignedItalic                    :: Maybe Text
+  , dateSignedMergeField                :: Maybe MergeField
+  , dateSignedName                      :: Maybe Text
+  , dateSignedPageNumber                :: Maybe Text
+  , dateSignedRecipientId               :: Maybe Text
+  , dateSignedStatus                    :: Maybe Text
+  , dateSignedTabId                     :: Maybe Text
+  , dateSignedTabLabel                  :: Maybe Text
+  , dateSignedTabOrder                  :: Maybe Text
+  , dateSignedTemplateLocked            :: Maybe Text
+  , dateSignedTemplateRequired          :: Maybe Text
+  , dateSignedUnderline                 :: Maybe Text
+  , dateSignedValue                     :: Maybe Text
+  , dateSignedXPosition                 :: Maybe Text
+  , dateSignedYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON DateSigned where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "dateSigned")
+instance ToJSON DateSigned where
+  toJSON = genericToJSON (removeFieldLabelPrefix "dateSigned")
+
+instance Default DateSigned
diff --git a/src/DocuSign/Base/Types/DateStampProperties.hs b/src/DocuSign/Base/Types/DateStampProperties.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/DateStampProperties.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.DateStampProperties where
+
+import DocuSign.Base.Types.Common
+
+data DateStampProperties = DateStampProperties
+  { dateStampPropertiesDateAreaHeight :: Maybe Text
+  , dateStampPropertiesDateAreaWidth  :: Maybe Text
+  , dateStampPropertiesDateAreaX      :: Maybe Text
+  , dateStampPropertiesDateAreaY      :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON DateStampProperties where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "dateStampProperties")
+instance ToJSON DateStampProperties where
+  toJSON = genericToJSON (removeFieldLabelPrefix "dateStampProperties")
+
+instance Default DateStampProperties
diff --git a/src/DocuSign/Base/Types/Decline.hs b/src/DocuSign/Base/Types/Decline.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Decline.hs
@@ -0,0 +1,49 @@
+module DocuSign.Base.Types.Decline where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data Decline = Decline
+  { declineAnchorCaseSensitive       :: Maybe Text
+  , declineAnchorHorizontalAlignment :: Maybe Text
+  , declineAnchorIgnoreIfNotPresent  :: Maybe Text
+  , declineAnchorMatchWholeWord      :: Maybe Text
+  , declineAnchorString              :: Maybe Text
+  , declineAnchorUnits               :: Maybe Text
+  , declineAnchorXOffset             :: Maybe Text
+  , declineAnchorYOffset             :: Maybe Text
+  , declineBold                      :: Maybe Text
+  , declineButtonText                :: Maybe Text
+  , declineConditionalParentLabel    :: Maybe Text
+  , declineConditionalParentValue    :: Maybe Text
+  , declineCustomTabId               :: Maybe Text
+  , declineDeclineReason             :: Maybe Text
+  , declineDocumentId                :: Maybe Text
+  , declineErrorDetails              :: Maybe ErrorDetails
+  , declineFont                      :: Maybe Text
+  , declineFontColor                 :: Maybe Text
+  , declineFontSize                  :: Maybe Text
+  , declineHeight                    :: Maybe Int
+  , declineItalic                    :: Maybe Text
+  , declineMergeField                :: Maybe MergeField
+  , declinePageNumber                :: Maybe Text
+  , declineRecipientId               :: Maybe Text
+  , declineStatus                    :: Maybe Text
+  , declineTabId                     :: Maybe Text
+  , declineTabLabel                  :: Maybe Text
+  , declineTabOrder                  :: Maybe Text
+  , declineTemplateLocked            :: Maybe Text
+  , declineTemplateRequired          :: Maybe Text
+  , declineUnderline                 :: Maybe Text
+  , declineWidth                     :: Maybe Int
+  , declineXPosition                 :: Maybe Text
+  , declineYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Decline where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "decline")
+instance ToJSON Decline where
+  toJSON = genericToJSON (removeFieldLabelPrefix "decline")
+
+instance Default Decline
diff --git a/src/DocuSign/Base/Types/DobInformationInput.hs b/src/DocuSign/Base/Types/DobInformationInput.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/DobInformationInput.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.DobInformationInput where
+
+import DocuSign.Base.Types.Common
+
+data DobInformationInput = DobInformationInput
+  { dobInformationInputDateOfBirth       :: Maybe Text
+  , dobInformationInputDisplayLevelCode  :: Maybe Text
+  , dobInformationInputReceiveInResponse :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON DobInformationInput where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "dobInformationInput")
+instance ToJSON DobInformationInput where
+  toJSON = genericToJSON (removeFieldLabelPrefix "dobInformationInput")
+
+instance Default DobInformationInput
diff --git a/src/DocuSign/Base/Types/Document.hs b/src/DocuSign/Base/Types/Document.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Document.hs
@@ -0,0 +1,36 @@
+module DocuSign.Base.Types.Document where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.MatchBox
+import DocuSign.Base.Types.NameValue
+
+data Document = Document
+  { documentApplyAnchorTabs         :: Maybe Text
+  , documentDisplay                 :: Maybe Text
+  , documentDocumentBase64          :: Maybe Text
+  , documentDocumentFields          :: Maybe [NameValue]
+  , documentDocumentGroup           :: Maybe Text
+  , documentDocumentId              :: Maybe Text
+  , documentEncryptedWithKeyManager :: Maybe Text
+  , documentFileExtension           :: Maybe Text
+  , documentFileFormatHint          :: Maybe Text
+  , documentIncludeInDownload       :: Maybe Text
+  , documentMatchBoxes              :: Maybe [MatchBox]
+  , documentName                    :: Maybe Text
+  , documentOrder                   :: Maybe Text
+  , documentPages                   :: Maybe Text
+  , documentPassword                :: Maybe Text
+  , documentRemoteUrl               :: Maybe Text
+  , documentSignerMustAcknowledge   :: Maybe Text
+  , documentTemplateLocked          :: Maybe Text
+  , documentTemplateRequired        :: Maybe Text
+  , documentTransformPdfFields      :: Maybe Text
+  , documentUri                     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Document where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "document")
+instance ToJSON Document where
+  toJSON = genericToJSON (removeFieldLabelPrefix "document")
+
+instance Default Document
diff --git a/src/DocuSign/Base/Types/DocumentTemplate.hs b/src/DocuSign/Base/Types/DocumentTemplate.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/DocumentTemplate.hs
@@ -0,0 +1,19 @@
+module DocuSign.Base.Types.DocumentTemplate where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data DocumentTemplate = DocumentTemplate
+  { documentTemplateDocumentEndPage   :: Maybe Text
+  , documentTemplateDocumentId        :: Maybe Text
+  , documentTemplateDocumentStartPage :: Maybe Text
+  , documentTemplateErrorDetails      :: Maybe ErrorDetails
+  , documentTemplateTemplateId        :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON DocumentTemplate where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "documentTemplate")
+instance ToJSON DocumentTemplate where
+  toJSON = genericToJSON (removeFieldLabelPrefix "documentTemplate")
+
+instance Default DocumentTemplate
diff --git a/src/DocuSign/Base/Types/DocumentTemplateList.hs b/src/DocuSign/Base/Types/DocumentTemplateList.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/DocumentTemplateList.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.DocumentTemplateList where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.DocumentTemplate
+
+data DocumentTemplateList = DocumentTemplateList
+  { documentTemplateListDocumentTemplates :: Maybe [DocumentTemplate]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON DocumentTemplateList where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "documentTemplateList")
+instance ToJSON DocumentTemplateList where
+  toJSON = genericToJSON (removeFieldLabelPrefix "documentTemplateList")
+
+instance Default DocumentTemplateList
diff --git a/src/DocuSign/Base/Types/DocumentVisibility.hs b/src/DocuSign/Base/Types/DocumentVisibility.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/DocumentVisibility.hs
@@ -0,0 +1,19 @@
+module DocuSign.Base.Types.DocumentVisibility where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data DocumentVisibility = DocumentVisibility
+  { documentVisibilityDocumentId   :: Maybe Text
+  , documentVisibilityErrorDetails :: Maybe ErrorDetails
+  , documentVisibilityRecipientId  :: Maybe Text
+  , documentVisibilityRights       :: Maybe Text
+  , documentVisibilityVisible      :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON DocumentVisibility where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "documentVisibility")
+instance ToJSON DocumentVisibility where
+  toJSON = genericToJSON (removeFieldLabelPrefix "documentVisibility")
+
+instance Default DocumentVisibility
diff --git a/src/DocuSign/Base/Types/EMortgageTransactions.hs b/src/DocuSign/Base/Types/EMortgageTransactions.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EMortgageTransactions.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.EMortgageTransactions where
+
+import DocuSign.Base.Types.Common
+
+data EMortgageTransactions = EMortgageTransactions
+  { eMortgageTransactionsDocumentData        :: Maybe Text
+  , eMortgageTransactionsDptName             :: Maybe Text
+  , eMortgageTransactionsTransactionName     :: Maybe Text
+  , eMortgageTransactionsTransactionTypeName :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EMortgageTransactions where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "eMortgageTransactions")
+instance ToJSON EMortgageTransactions where
+  toJSON = genericToJSON (removeFieldLabelPrefix "eMortgageTransactions")
+
+instance Default EMortgageTransactions
diff --git a/src/DocuSign/Base/Types/ENoteConfigurations.hs b/src/DocuSign/Base/Types/ENoteConfigurations.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ENoteConfigurations.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.ENoteConfigurations where
+
+import DocuSign.Base.Types.Common
+
+data ENoteConfigurations = ENoteConfigurations
+  { eNoteConfigurationsConnectConfigured :: Maybe Text
+  , eNoteConfigurationsENoteConfigured   :: Maybe Text
+  , eNoteConfigurationsOrganization      :: Maybe Text
+  , eNoteConfigurationsPassword          :: Maybe Text
+  , eNoteConfigurationsUserName          :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ENoteConfigurations where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "eNoteConfigurations")
+instance ToJSON ENoteConfigurations where
+  toJSON = genericToJSON (removeFieldLabelPrefix "eNoteConfigurations")
+
+instance Default ENoteConfigurations
diff --git a/src/DocuSign/Base/Types/Editor.hs b/src/DocuSign/Base/Types/Editor.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Editor.hs
@@ -0,0 +1,65 @@
+module DocuSign.Base.Types.Editor where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AuthenticationStatus
+import DocuSign.Base.Types.DocumentVisibility
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.IdCheckInformationInput
+import DocuSign.Base.Types.RecipientAttachment
+import DocuSign.Base.Types.RecipientEmailNotification
+import DocuSign.Base.Types.RecipientPhoneAuthentication
+import DocuSign.Base.Types.RecipientSAMLAuthentication
+import DocuSign.Base.Types.RecipientSMSAuthentication
+import DocuSign.Base.Types.SocialAuthentication
+import DocuSign.Base.Types.UserInfo
+
+data Editor = Editor
+  { editorAccessCode                            :: Maybe Text
+  , editorAddAccessCodeToEmail                  :: Maybe Text
+  , editorClientUserId                          :: Maybe Text
+  , editorCustomFields                          :: Maybe [Text]
+  , editorDeclinedDateTime                      :: Maybe Text
+  , editorDeclinedReason                        :: Maybe Text
+  , editorDeliveredDateTime                     :: Maybe Text
+  , editorDeliveryMethod                        :: Maybe Text
+  , editorDocumentVisibility                    :: Maybe [DocumentVisibility]
+  , editorEmail                                 :: Maybe Text
+  , editorEmailNotification                     :: Maybe RecipientEmailNotification
+  , editorEmailRecipientPostSigningURL          :: Maybe Text
+  , editorEmbeddedRecipientStartURL             :: Maybe Text
+  , editorErrorDetails                          :: Maybe ErrorDetails
+  , editorFaxNumber                             :: Maybe Text
+  , editorIdCheckConfigurationName              :: Maybe Text
+  , editorIdCheckInformationInput               :: Maybe IdCheckInformationInput
+  , editorInheritEmailNotificationConfiguration :: Maybe Text
+  , editorName                                  :: Maybe Text
+  , editorNote                                  :: Maybe Text
+  , editorPhoneAuthentication                   :: Maybe RecipientPhoneAuthentication
+  , editorRecipientAttachments                  :: Maybe [RecipientAttachment]
+  , editorRecipientAuthenticationStatus         :: Maybe AuthenticationStatus
+  , editorRecipientId                           :: Maybe Text
+  , editorRecipientIdGuid                       :: Maybe Text
+  , editorRequireIdLookup                       :: Maybe Text
+  , editorRoleName                              :: Maybe Text
+  , editorRoutingOrder                          :: Maybe Text
+  , editorSamlAuthentication                    :: Maybe RecipientSAMLAuthentication
+  , editorSentDateTime                          :: Maybe Text
+  , editorSignedDateTime                        :: Maybe Text
+  , editorSigningGroupId                        :: Maybe Text
+  , editorSigningGroupName                      :: Maybe Text
+  , editorSigningGroupUsers                     :: Maybe [UserInfo]
+  , editorSmsAuthentication                     :: Maybe RecipientSMSAuthentication
+  , editorSocialAuthentications                 :: Maybe [SocialAuthentication]
+  , editorStatus                                :: Maybe Text
+  , editorTemplateLocked                        :: Maybe Text
+  , editorTemplateRequired                      :: Maybe Text
+  , editorTotalTabCount                         :: Maybe Text
+  , editorUserId                                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Editor where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "editor")
+instance ToJSON Editor where
+  toJSON = genericToJSON (removeFieldLabelPrefix "editor")
+
+instance Default Editor
diff --git a/src/DocuSign/Base/Types/Email.hs b/src/DocuSign/Base/Types/Email.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Email.hs
@@ -0,0 +1,60 @@
+module DocuSign.Base.Types.Email where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data Email = Email
+  { emailAnchorCaseSensitive          :: Maybe Text
+  , emailAnchorHorizontalAlignment    :: Maybe Text
+  , emailAnchorIgnoreIfNotPresent     :: Maybe Text
+  , emailAnchorMatchWholeWord         :: Maybe Text
+  , emailAnchorString                 :: Maybe Text
+  , emailAnchorUnits                  :: Maybe Text
+  , emailAnchorXOffset                :: Maybe Text
+  , emailAnchorYOffset                :: Maybe Text
+  , emailBold                         :: Maybe Text
+  , emailConcealValueOnDocument       :: Maybe Text
+  , emailConditionalParentLabel       :: Maybe Text
+  , emailConditionalParentValue       :: Maybe Text
+  , emailCustomTabId                  :: Maybe Text
+  , emailDisableAutoSize              :: Maybe Text
+  , emailDocumentId                   :: Maybe Text
+  , emailErrorDetails                 :: Maybe ErrorDetails
+  , emailFont                         :: Maybe Text
+  , emailFontColor                    :: Maybe Text
+  , emailFontSize                     :: Maybe Text
+  , emailItalic                       :: Maybe Text
+  , emailLocked                       :: Maybe Text
+  , emailMaxLength                    :: Maybe Int
+  , emailMergeField                   :: Maybe MergeField
+  , emailName                         :: Maybe Text
+  , emailOriginalValue                :: Maybe Text
+  , emailPageNumber                   :: Maybe Text
+  , emailRecipientId                  :: Maybe Text
+  , emailRequireAll                   :: Maybe Text
+  , emailRequired                     :: Maybe Text
+  , emailRequireInitialOnSharedChange :: Maybe Text
+  , emailSenderRequired               :: Maybe Text
+  , emailShared                       :: Maybe Text
+  , emailStatus                       :: Maybe Text
+  , emailTabId                        :: Maybe Text
+  , emailTabLabel                     :: Maybe Text
+  , emailTabOrder                     :: Maybe Text
+  , emailTemplateLocked               :: Maybe Text
+  , emailTemplateRequired             :: Maybe Text
+  , emailUnderline                    :: Maybe Text
+  , emailValidationMessage            :: Maybe Text
+  , emailValidationPattern            :: Maybe Text
+  , emailValue                        :: Maybe Text
+  , emailWidth                        :: Maybe Int
+  , emailXPosition                    :: Maybe Text
+  , emailYPosition                    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Email where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "email")
+instance ToJSON Email where
+  toJSON = genericToJSON (removeFieldLabelPrefix "email")
+
+instance Default Email
diff --git a/src/DocuSign/Base/Types/EmailAddress.hs b/src/DocuSign/Base/Types/EmailAddress.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EmailAddress.hs
@@ -0,0 +1,47 @@
+module DocuSign.Base.Types.EmailAddress where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data EmailAddress = EmailAddress
+  { emailAddressAnchorCaseSensitive       :: Maybe Text
+  , emailAddressAnchorHorizontalAlignment :: Maybe Text
+  , emailAddressAnchorIgnoreIfNotPresent  :: Maybe Text
+  , emailAddressAnchorMatchWholeWord      :: Maybe Text
+  , emailAddressAnchorString              :: Maybe Text
+  , emailAddressAnchorUnits               :: Maybe Text
+  , emailAddressAnchorXOffset             :: Maybe Text
+  , emailAddressAnchorYOffset             :: Maybe Text
+  , emailAddressBold                      :: Maybe Text
+  , emailAddressConditionalParentLabel    :: Maybe Text
+  , emailAddressConditionalParentValue    :: Maybe Text
+  , emailAddressCustomTabId               :: Maybe Text
+  , emailAddressDocumentId                :: Maybe Text
+  , emailAddressErrorDetails              :: Maybe ErrorDetails
+  , emailAddressFont                      :: Maybe Text
+  , emailAddressFontColor                 :: Maybe Text
+  , emailAddressFontSize                  :: Maybe Text
+  , emailAddressItalic                    :: Maybe Text
+  , emailAddressMergeField                :: Maybe MergeField
+  , emailAddressName                      :: Maybe Text
+  , emailAddressPageNumber                :: Maybe Text
+  , emailAddressRecipientId               :: Maybe Text
+  , emailAddressStatus                    :: Maybe Text
+  , emailAddressTabId                     :: Maybe Text
+  , emailAddressTabLabel                  :: Maybe Text
+  , emailAddressTabOrder                  :: Maybe Text
+  , emailAddressTemplateLocked            :: Maybe Text
+  , emailAddressTemplateRequired          :: Maybe Text
+  , emailAddressUnderline                 :: Maybe Text
+  , emailAddressValue                     :: Maybe Text
+  , emailAddressXPosition                 :: Maybe Text
+  , emailAddressYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EmailAddress where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "emailAddress")
+instance ToJSON EmailAddress where
+  toJSON = genericToJSON (removeFieldLabelPrefix "emailAddress")
+
+instance Default EmailAddress
diff --git a/src/DocuSign/Base/Types/EnvelopeAttachments.hs b/src/DocuSign/Base/Types/EnvelopeAttachments.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeAttachments.hs
@@ -0,0 +1,20 @@
+module DocuSign.Base.Types.EnvelopeAttachments where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data EnvelopeAttachments = EnvelopeAttachments
+  { envelopeAttachmentsAccessControl  :: Maybe Text
+  , envelopeAttachmentsAttachmentId   :: Maybe Text
+  , envelopeAttachmentsAttachmentType :: Maybe Text
+  , envelopeAttachmentsErrorDetails   :: Maybe ErrorDetails
+  , envelopeAttachmentsLabel          :: Maybe Text
+  , envelopeAttachmentsName           :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeAttachments where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeAttachments")
+instance ToJSON EnvelopeAttachments where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeAttachments")
+
+instance Default EnvelopeAttachments
diff --git a/src/DocuSign/Base/Types/EnvelopeAttachmentsRequest.hs b/src/DocuSign/Base/Types/EnvelopeAttachmentsRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeAttachmentsRequest.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.EnvelopeAttachmentsRequest where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Attachment
+
+data EnvelopeAttachmentsRequest = EnvelopeAttachmentsRequest
+  { envelopeAttachmentsRequestAttachments :: Maybe [Attachment]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeAttachmentsRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeAttachmentsRequest")
+instance ToJSON EnvelopeAttachmentsRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeAttachmentsRequest")
+
+instance Default EnvelopeAttachmentsRequest
diff --git a/src/DocuSign/Base/Types/EnvelopeAttachmentsResult.hs b/src/DocuSign/Base/Types/EnvelopeAttachmentsResult.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeAttachmentsResult.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.EnvelopeAttachmentsResult where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.EnvelopeAttachments
+
+data EnvelopeAttachmentsResult = EnvelopeAttachmentsResult
+  { envelopeAttachmentsResultAttachments :: Maybe [EnvelopeAttachments]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeAttachmentsResult where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeAttachmentsResult")
+instance ToJSON EnvelopeAttachmentsResult where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeAttachmentsResult")
+
+instance Default EnvelopeAttachmentsResult
diff --git a/src/DocuSign/Base/Types/EnvelopeAuditEvent.hs b/src/DocuSign/Base/Types/EnvelopeAuditEvent.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeAuditEvent.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.EnvelopeAuditEvent where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NameValue
+
+data EnvelopeAuditEvent = EnvelopeAuditEvent
+  { envelopeAuditEventEventFields :: Maybe [NameValue]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeAuditEvent where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeAuditEvent")
+instance ToJSON EnvelopeAuditEvent where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeAuditEvent")
+
+instance Default EnvelopeAuditEvent
diff --git a/src/DocuSign/Base/Types/EnvelopeAuditEventResponse.hs b/src/DocuSign/Base/Types/EnvelopeAuditEventResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeAuditEventResponse.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.EnvelopeAuditEventResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.EnvelopeAuditEvent
+
+data EnvelopeAuditEventResponse = EnvelopeAuditEventResponse
+  { envelopeAuditEventResponseAuditEvents :: Maybe [EnvelopeAuditEvent]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeAuditEventResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeAuditEventResponse")
+instance ToJSON EnvelopeAuditEventResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeAuditEventResponse")
+
+instance Default EnvelopeAuditEventResponse
diff --git a/src/DocuSign/Base/Types/EnvelopeBulkRecipients.hs b/src/DocuSign/Base/Types/EnvelopeBulkRecipients.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeBulkRecipients.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.EnvelopeBulkRecipients where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BulkRecipient
+
+data EnvelopeBulkRecipients = EnvelopeBulkRecipients
+  { envelopeBulkRecipientsBulkRecipients :: Maybe [BulkRecipient]
+  , envelopeBulkRecipientsEndPosition    :: Maybe Text
+  , envelopeBulkRecipientsNextUri        :: Maybe Text
+  , envelopeBulkRecipientsPreviousUri    :: Maybe Text
+  , envelopeBulkRecipientsResultSetSize  :: Maybe Text
+  , envelopeBulkRecipientsStartPosition  :: Maybe Text
+  , envelopeBulkRecipientsTotalSetSize   :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeBulkRecipients where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeBulkRecipients")
+instance ToJSON EnvelopeBulkRecipients where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeBulkRecipients")
+
+instance Default EnvelopeBulkRecipients
diff --git a/src/DocuSign/Base/Types/EnvelopeConsumerDisclosures.hs b/src/DocuSign/Base/Types/EnvelopeConsumerDisclosures.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeConsumerDisclosures.hs
@@ -0,0 +1,46 @@
+module DocuSign.Base.Types.EnvelopeConsumerDisclosures where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.SettingsMetadata
+
+data EnvelopeConsumerDisclosures = EnvelopeConsumerDisclosures
+  { envelopeConsumerDisclosuresAccountEsignId                             :: Maybe Text
+  , envelopeConsumerDisclosuresAllowCDWithdraw                            :: Maybe Text
+  , envelopeConsumerDisclosuresAllowCDWithdrawMetadata                    :: Maybe SettingsMetadata
+  , envelopeConsumerDisclosuresChangeEmail                                :: Maybe Text
+  , envelopeConsumerDisclosuresChangeEmailOther                           :: Maybe Text
+  , envelopeConsumerDisclosuresCompanyName                                :: Maybe Text
+  , envelopeConsumerDisclosuresCompanyPhone                               :: Maybe Text
+  , envelopeConsumerDisclosuresCopyCostPerPage                            :: Maybe Text
+  , envelopeConsumerDisclosuresCopyFeeCollectionMethod                    :: Maybe Text
+  , envelopeConsumerDisclosuresCopyRequestEmail                           :: Maybe Text
+  , envelopeConsumerDisclosuresCustom                                     :: Maybe Text
+  , envelopeConsumerDisclosuresEnableEsign                                :: Maybe Text
+  , envelopeConsumerDisclosuresEsignAgreement                             :: Maybe Text
+  , envelopeConsumerDisclosuresEsignText                                  :: Maybe Text
+  , envelopeConsumerDisclosuresLanguageCode                               :: Maybe Text
+  , envelopeConsumerDisclosuresMustAgreeToEsign                           :: Maybe Text
+  , envelopeConsumerDisclosuresPdfId                                      :: Maybe Text
+  , envelopeConsumerDisclosuresUseBrand                                   :: Maybe Text
+  , envelopeConsumerDisclosuresUseConsumerDisclosureWithinAccount         :: Maybe Text
+  , envelopeConsumerDisclosuresUseConsumerDisclosureWithinAccountMetadata :: Maybe SettingsMetadata
+  , envelopeConsumerDisclosuresWithdrawAddressLine1                       :: Maybe Text
+  , envelopeConsumerDisclosuresWithdrawAddressLine2                       :: Maybe Text
+  , envelopeConsumerDisclosuresWithdrawByEmail                            :: Maybe Text
+  , envelopeConsumerDisclosuresWithdrawByMail                             :: Maybe Text
+  , envelopeConsumerDisclosuresWithdrawByPhone                            :: Maybe Text
+  , envelopeConsumerDisclosuresWithdrawCity                               :: Maybe Text
+  , envelopeConsumerDisclosuresWithdrawConsequences                       :: Maybe Text
+  , envelopeConsumerDisclosuresWithdrawEmail                              :: Maybe Text
+  , envelopeConsumerDisclosuresWithdrawOther                              :: Maybe Text
+  , envelopeConsumerDisclosuresWithdrawPhone                              :: Maybe Text
+  , envelopeConsumerDisclosuresWithdrawPostalCode                         :: Maybe Text
+  , envelopeConsumerDisclosuresWithdrawState                              :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeConsumerDisclosures where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeConsumerDisclosures")
+instance ToJSON EnvelopeConsumerDisclosures where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeConsumerDisclosures")
+
+instance Default EnvelopeConsumerDisclosures
diff --git a/src/DocuSign/Base/Types/EnvelopeCustomFields.hs b/src/DocuSign/Base/Types/EnvelopeCustomFields.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeCustomFields.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.EnvelopeCustomFields where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ListCustomField
+import DocuSign.Base.Types.TextCustomField
+
+data EnvelopeCustomFields = EnvelopeCustomFields
+  { envelopeCustomFieldsListCustomFields :: Maybe [ListCustomField]
+  , envelopeCustomFieldsTextCustomFields :: Maybe [TextCustomField]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeCustomFields where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeCustomFields")
+instance ToJSON EnvelopeCustomFields where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeCustomFields")
+
+instance Default EnvelopeCustomFields
diff --git a/src/DocuSign/Base/Types/EnvelopeDefinition.hs b/src/DocuSign/Base/Types/EnvelopeDefinition.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeDefinition.hs
@@ -0,0 +1,79 @@
+module DocuSign.Base.Types.EnvelopeDefinition where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountCustomFields
+import DocuSign.Base.Types.Attachment
+import DocuSign.Base.Types.CompositeTemplate
+import DocuSign.Base.Types.Document
+import DocuSign.Base.Types.EnvelopeEmailSettings
+import DocuSign.Base.Types.EnvelopeLocks
+import DocuSign.Base.Types.EnvelopeRecipients
+import DocuSign.Base.Types.EventNotification
+import DocuSign.Base.Types.Notification
+import DocuSign.Base.Types.TemplateRole
+
+data EnvelopeDefinition = EnvelopeDefinition
+  { envelopeDefinitionAccessibility               :: Maybe Text
+  , envelopeDefinitionAllowMarkup                 :: Maybe Text
+  , envelopeDefinitionAllowReassign               :: Maybe Text
+  , envelopeDefinitionAllowRecipientRecursion     :: Maybe Text
+  , envelopeDefinitionAsynchronous                :: Maybe Text
+  , envelopeDefinitionAttachments                 :: Maybe [Attachment]
+  , envelopeDefinitionAttachmentsUri              :: Maybe Text
+  , envelopeDefinitionAuthoritativeCopy           :: Maybe Text
+  , envelopeDefinitionAutoNavigation              :: Maybe Text
+  , envelopeDefinitionBrandId                     :: Maybe Text
+  , envelopeDefinitionBrandLock                   :: Maybe Text
+  , envelopeDefinitionCertificateUri              :: Maybe Text
+  , envelopeDefinitionCompletedDateTime           :: Maybe Text
+  , envelopeDefinitionCompositeTemplates          :: Maybe [CompositeTemplate]
+  , envelopeDefinitionCreatedDateTime             :: Maybe Text
+  , envelopeDefinitionCustomFields                :: Maybe AccountCustomFields
+  , envelopeDefinitionCustomFieldsUri             :: Maybe Text
+  , envelopeDefinitionDeclinedDateTime            :: Maybe Text
+  , envelopeDefinitionDeletedDateTime             :: Maybe Text
+  , envelopeDefinitionDeliveredDateTime           :: Maybe Text
+  , envelopeDefinitionDocuments                   :: Maybe [Document]
+  , envelopeDefinitionDocumentsCombinedUri        :: Maybe Text
+  , envelopeDefinitionDocumentsUri                :: Maybe Text
+  , envelopeDefinitionEmailBlurb                  :: Maybe Text
+  , envelopeDefinitionEmailSettings               :: Maybe EnvelopeEmailSettings
+  , envelopeDefinitionEmailSubject                :: Maybe Text
+  , envelopeDefinitionEnableWetSign               :: Maybe Text
+  , envelopeDefinitionEnforceSignerVisibility     :: Maybe Text
+  , envelopeDefinitionEnvelopeId                  :: Maybe Text
+  , envelopeDefinitionEnvelopeIdStamping          :: Maybe Text
+  , envelopeDefinitionEnvelopeUri                 :: Maybe Text
+  , envelopeDefinitionEventNotification           :: Maybe EventNotification
+  , envelopeDefinitionInitialSentDateTime         :: Maybe Text
+  , envelopeDefinitionIs21CFRPart11               :: Maybe Text
+  , envelopeDefinitionIsSignatureProviderEnvelope :: Maybe Text
+  , envelopeDefinitionLastModifiedDateTime        :: Maybe Text
+  , envelopeDefinitionLockInformation             :: Maybe EnvelopeLocks
+  , envelopeDefinitionMessageLock                 :: Maybe Text
+  , envelopeDefinitionNotification                :: Maybe Notification
+  , envelopeDefinitionNotificationUri             :: Maybe Text
+  , envelopeDefinitionPassword                    :: Maybe Text
+  , envelopeDefinitionPurgeState                  :: Maybe Text
+  , envelopeDefinitionRecipients                  :: Maybe EnvelopeRecipients
+  , envelopeDefinitionRecipientsLock              :: Maybe Text
+  , envelopeDefinitionRecipientsUri               :: Maybe Text
+  , envelopeDefinitionSentDateTime                :: Maybe Text
+  , envelopeDefinitionSigningLocation             :: Maybe Text
+  , envelopeDefinitionStatus                      :: Maybe Text
+  , envelopeDefinitionStatusChangedDateTime       :: Maybe Text
+  , envelopeDefinitionTemplateId                  :: Maybe Text
+  , envelopeDefinitionTemplateRoles               :: Maybe [TemplateRole]
+  , envelopeDefinitionTemplatesUri                :: Maybe Text
+  , envelopeDefinitionTransactionId               :: Maybe Text
+  , envelopeDefinitionUseDisclosure               :: Maybe Text
+  , envelopeDefinitionVoidedDateTime              :: Maybe Text
+  , envelopeDefinitionVoidedReason                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeDefinition where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeDefinition")
+instance ToJSON EnvelopeDefinition where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeDefinition")
+
+instance Default EnvelopeDefinition
diff --git a/src/DocuSign/Base/Types/EnvelopeDocument.hs b/src/DocuSign/Base/Types/EnvelopeDocument.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeDocument.hs
@@ -0,0 +1,31 @@
+module DocuSign.Base.Types.EnvelopeDocument where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.NameValue
+import DocuSign.Base.Types.SignatureType
+
+data EnvelopeDocument = EnvelopeDocument
+  { envelopeDocumentAttachmentTabId        :: Maybe Text
+  , envelopeDocumentAvailableDocumentTypes :: Maybe [SignatureType]
+  , envelopeDocumentContainsPdfFormFields  :: Maybe Text
+  , envelopeDocumentDisplay                :: Maybe Text
+  , envelopeDocumentDocumentFields         :: Maybe [NameValue]
+  , envelopeDocumentDocumentGroup          :: Maybe Text
+  , envelopeDocumentDocumentId             :: Maybe Text
+  , envelopeDocumentErrorDetails           :: Maybe ErrorDetails
+  , envelopeDocumentIncludeInDownload      :: Maybe Text
+  , envelopeDocumentName                   :: Maybe Text
+  , envelopeDocumentOrder                  :: Maybe Text
+  , envelopeDocumentPages                  :: Maybe Text
+  , envelopeDocumentSignerMustAcknowledge  :: Maybe Text
+  , envelopeDocumentType                   :: Maybe Text
+  , envelopeDocumentUri                    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeDocument where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeDocument")
+instance ToJSON EnvelopeDocument where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeDocument")
+
+instance Default EnvelopeDocument
diff --git a/src/DocuSign/Base/Types/EnvelopeDocumentFields.hs b/src/DocuSign/Base/Types/EnvelopeDocumentFields.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeDocumentFields.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.EnvelopeDocumentFields where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NameValue
+
+data EnvelopeDocumentFields = EnvelopeDocumentFields
+  { envelopeDocumentFieldsDocumentFields :: Maybe [NameValue]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeDocumentFields where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeDocumentFields")
+instance ToJSON EnvelopeDocumentFields where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeDocumentFields")
+
+instance Default EnvelopeDocumentFields
diff --git a/src/DocuSign/Base/Types/EnvelopeDocumentTabs.hs b/src/DocuSign/Base/Types/EnvelopeDocumentTabs.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeDocumentTabs.hs
@@ -0,0 +1,61 @@
+module DocuSign.Base.Types.EnvelopeDocumentTabs where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Approve
+import DocuSign.Base.Types.Checkbox
+import DocuSign.Base.Types.Company
+import DocuSign.Base.Types.Date
+import DocuSign.Base.Types.DateSigned
+import DocuSign.Base.Types.Decline
+import DocuSign.Base.Types.Email
+import DocuSign.Base.Types.EmailAddress
+import DocuSign.Base.Types.EnvelopeId
+import DocuSign.Base.Types.FirstName
+import DocuSign.Base.Types.FormulaTab
+import DocuSign.Base.Types.FullName
+import DocuSign.Base.Types.InitialHere
+import DocuSign.Base.Types.LastName
+import DocuSign.Base.Types.List
+import DocuSign.Base.Types.Note
+import DocuSign.Base.Types.RadioGroup
+import DocuSign.Base.Types.SignerAttachment
+import DocuSign.Base.Types.SignHere
+import DocuSign.Base.Types.Ssn
+import DocuSign.Base.Types.Title
+import DocuSign.Base.Types.View
+import DocuSign.Base.Types.Zip
+
+data EnvelopeDocumentTabs = EnvelopeDocumentTabs
+  { envelopeDocumentTabsApproveTabs          :: Maybe [Approve]
+  , envelopeDocumentTabsCheckboxTabs         :: Maybe [Checkbox]
+  , envelopeDocumentTabsCompanyTabs          :: Maybe [Company]
+  , envelopeDocumentTabsDateSignedTabs       :: Maybe [DateSigned]
+  , envelopeDocumentTabsDateTabs             :: Maybe [Date]
+  , envelopeDocumentTabsDeclineTabs          :: Maybe [Decline]
+  , envelopeDocumentTabsEmailAddressTabs     :: Maybe [EmailAddress]
+  , envelopeDocumentTabsEmailTabs            :: Maybe [Email]
+  , envelopeDocumentTabsEnvelopeIdTabs       :: Maybe [EnvelopeId]
+  , envelopeDocumentTabsFirstNameTabs        :: Maybe [FirstName]
+  , envelopeDocumentTabsFormulaTabs          :: Maybe [FormulaTab]
+  , envelopeDocumentTabsFullNameTabs         :: Maybe [FullName]
+  , envelopeDocumentTabsInitialHereTabs      :: Maybe [InitialHere]
+  , envelopeDocumentTabsLastNameTabs         :: Maybe [LastName]
+  , envelopeDocumentTabsListTabs             :: Maybe [List]
+  , envelopeDocumentTabsNoteTabs             :: Maybe [Note]
+  , envelopeDocumentTabsNumberTabs           :: Maybe [Double]
+  , envelopeDocumentTabsRadioGroupTabs       :: Maybe [RadioGroup]
+  , envelopeDocumentTabsSignerAttachmentTabs :: Maybe [SignerAttachment]
+  , envelopeDocumentTabsSignHereTabs         :: Maybe [SignHere]
+  , envelopeDocumentTabsSsnTabs              :: Maybe [Ssn]
+  , envelopeDocumentTabsTextTabs             :: Maybe [Text]
+  , envelopeDocumentTabsTitleTabs            :: Maybe [Title]
+  , envelopeDocumentTabsViewTabs             :: Maybe [View]
+  , envelopeDocumentTabsZipTabs              :: Maybe [Zip]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeDocumentTabs where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeDocumentTabs")
+instance ToJSON EnvelopeDocumentTabs where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeDocumentTabs")
+
+instance Default EnvelopeDocumentTabs
diff --git a/src/DocuSign/Base/Types/EnvelopeDocumentVisibility.hs b/src/DocuSign/Base/Types/EnvelopeDocumentVisibility.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeDocumentVisibility.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.EnvelopeDocumentVisibility where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.DocumentVisibility
+
+data EnvelopeDocumentVisibility = EnvelopeDocumentVisibility
+  { envelopeDocumentVisibilityDocumentVisibility :: Maybe [DocumentVisibility]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeDocumentVisibility where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeDocumentVisibility")
+instance ToJSON EnvelopeDocumentVisibility where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeDocumentVisibility")
+
+instance Default EnvelopeDocumentVisibility
diff --git a/src/DocuSign/Base/Types/EnvelopeDocuments.hs b/src/DocuSign/Base/Types/EnvelopeDocuments.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeDocuments.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.EnvelopeDocuments where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.EnvelopeDocument
+
+data EnvelopeDocuments = EnvelopeDocuments
+  { envelopeDocumentsEnvelopeDocuments :: Maybe [EnvelopeDocument]
+  , envelopeDocumentsEnvelopeId        :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeDocuments where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeDocuments")
+instance ToJSON EnvelopeDocuments where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeDocuments")
+
+instance Default EnvelopeDocuments
diff --git a/src/DocuSign/Base/Types/EnvelopeEmailSettings.hs b/src/DocuSign/Base/Types/EnvelopeEmailSettings.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeEmailSettings.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.EnvelopeEmailSettings where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BccEmailAddress
+
+data EnvelopeEmailSettings = EnvelopeEmailSettings
+  { envelopeEmailSettingsBccEmailAddresses         :: Maybe [BccEmailAddress]
+  , envelopeEmailSettingsReplyEmailAddressOverride :: Maybe Text
+  , envelopeEmailSettingsReplyEmailNameOverride    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeEmailSettings where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeEmailSettings")
+instance ToJSON EnvelopeEmailSettings where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeEmailSettings")
+
+instance Default EnvelopeEmailSettings
diff --git a/src/DocuSign/Base/Types/EnvelopeEvent.hs b/src/DocuSign/Base/Types/EnvelopeEvent.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeEvent.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.EnvelopeEvent where
+
+import DocuSign.Base.Types.Common
+
+data EnvelopeEvent = EnvelopeEvent
+  { envelopeEventEnvelopeEventStatusCode :: Maybe Text
+  , envelopeEventIncludeDocuments        :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeEvent where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeEvent")
+instance ToJSON EnvelopeEvent where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeEvent")
+
+instance Default EnvelopeEvent
diff --git a/src/DocuSign/Base/Types/EnvelopeFormData.hs b/src/DocuSign/Base/Types/EnvelopeFormData.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeFormData.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.EnvelopeFormData where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NameValue
+import DocuSign.Base.Types.RecipientFormData
+
+data EnvelopeFormData = EnvelopeFormData
+  { envelopeFormDataEmailSubject      :: Maybe Text
+  , envelopeFormDataEnvelopeId        :: Maybe Text
+  , envelopeFormDataFormData          :: Maybe [NameValue]
+  , envelopeFormDataRecipientFormData :: Maybe [RecipientFormData]
+  , envelopeFormDataSentDateTime      :: Maybe Text
+  , envelopeFormDataStatus            :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeFormData where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeFormData")
+instance ToJSON EnvelopeFormData where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeFormData")
+
+instance Default EnvelopeFormData
diff --git a/src/DocuSign/Base/Types/EnvelopeId.hs b/src/DocuSign/Base/Types/EnvelopeId.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeId.hs
@@ -0,0 +1,46 @@
+module DocuSign.Base.Types.EnvelopeId where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data EnvelopeId = EnvelopeId
+  { envelopeIdAnchorCaseSensitive       :: Maybe Text
+  , envelopeIdAnchorHorizontalAlignment :: Maybe Text
+  , envelopeIdAnchorIgnoreIfNotPresent  :: Maybe Text
+  , envelopeIdAnchorMatchWholeWord      :: Maybe Text
+  , envelopeIdAnchorString              :: Maybe Text
+  , envelopeIdAnchorUnits               :: Maybe Text
+  , envelopeIdAnchorXOffset             :: Maybe Text
+  , envelopeIdAnchorYOffset             :: Maybe Text
+  , envelopeIdBold                      :: Maybe Text
+  , envelopeIdConditionalParentLabel    :: Maybe Text
+  , envelopeIdConditionalParentValue    :: Maybe Text
+  , envelopeIdCustomTabId               :: Maybe Text
+  , envelopeIdDocumentId                :: Maybe Text
+  , envelopeIdErrorDetails              :: Maybe ErrorDetails
+  , envelopeIdFont                      :: Maybe Text
+  , envelopeIdFontColor                 :: Maybe Text
+  , envelopeIdFontSize                  :: Maybe Text
+  , envelopeIdItalic                    :: Maybe Text
+  , envelopeIdMergeField                :: Maybe MergeField
+  , envelopeIdName                      :: Maybe Text
+  , envelopeIdPageNumber                :: Maybe Text
+  , envelopeIdRecipientId               :: Maybe Text
+  , envelopeIdStatus                    :: Maybe Text
+  , envelopeIdTabId                     :: Maybe Text
+  , envelopeIdTabLabel                  :: Maybe Text
+  , envelopeIdTabOrder                  :: Maybe Text
+  , envelopeIdTemplateLocked            :: Maybe Text
+  , envelopeIdTemplateRequired          :: Maybe Text
+  , envelopeIdUnderline                 :: Maybe Text
+  , envelopeIdXPosition                 :: Maybe Text
+  , envelopeIdYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeId where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeId")
+instance ToJSON EnvelopeId where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeId")
+
+instance Default EnvelopeId
diff --git a/src/DocuSign/Base/Types/EnvelopeIdsRequest.hs b/src/DocuSign/Base/Types/EnvelopeIdsRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeIdsRequest.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.EnvelopeIdsRequest where
+
+import DocuSign.Base.Types.Common
+
+data EnvelopeIdsRequest = EnvelopeIdsRequest
+  { envelopeIdsRequestEnvelopeIds    :: Maybe [Text]
+  , envelopeIdsRequestTransactionIds :: Maybe [Text]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeIdsRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeIdsRequest")
+instance ToJSON EnvelopeIdsRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeIdsRequest")
+
+instance Default EnvelopeIdsRequest
diff --git a/src/DocuSign/Base/Types/EnvelopeLocks.hs b/src/DocuSign/Base/Types/EnvelopeLocks.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeLocks.hs
@@ -0,0 +1,23 @@
+module DocuSign.Base.Types.EnvelopeLocks where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.UserInfo
+
+data EnvelopeLocks = EnvelopeLocks
+  { envelopeLocksErrorDetails          :: Maybe ErrorDetails
+  , envelopeLocksLockDurationInSeconds :: Maybe Text
+  , envelopeLocksLockedByApp           :: Maybe Text
+  , envelopeLocksLockedByUser          :: Maybe UserInfo
+  , envelopeLocksLockedUntilDateTime   :: Maybe Text
+  , envelopeLocksLockToken             :: Maybe Text
+  , envelopeLocksLockType              :: Maybe Text
+  , envelopeLocksUseScratchPad         :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeLocks where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeLocks")
+instance ToJSON EnvelopeLocks where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeLocks")
+
+instance Default EnvelopeLocks
diff --git a/src/DocuSign/Base/Types/EnvelopeNotificationRequest.hs b/src/DocuSign/Base/Types/EnvelopeNotificationRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeNotificationRequest.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.EnvelopeNotificationRequest where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Expirations
+import DocuSign.Base.Types.Reminders
+
+data EnvelopeNotificationRequest = EnvelopeNotificationRequest
+  { envelopeNotificationRequestExpirations        :: Maybe Expirations
+  , envelopeNotificationRequestReminders          :: Maybe Reminders
+  , envelopeNotificationRequestUseAccountDefaults :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeNotificationRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeNotificationRequest")
+instance ToJSON EnvelopeNotificationRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeNotificationRequest")
+
+instance Default EnvelopeNotificationRequest
diff --git a/src/DocuSign/Base/Types/EnvelopeRecipientTabs.hs b/src/DocuSign/Base/Types/EnvelopeRecipientTabs.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeRecipientTabs.hs
@@ -0,0 +1,61 @@
+module DocuSign.Base.Types.EnvelopeRecipientTabs where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Approve
+import DocuSign.Base.Types.Checkbox
+import DocuSign.Base.Types.Company
+import DocuSign.Base.Types.Date
+import DocuSign.Base.Types.DateSigned
+import DocuSign.Base.Types.Decline
+import DocuSign.Base.Types.Email
+import DocuSign.Base.Types.EmailAddress
+import DocuSign.Base.Types.EnvelopeId
+import DocuSign.Base.Types.FirstName
+import DocuSign.Base.Types.FormulaTab
+import DocuSign.Base.Types.FullName
+import DocuSign.Base.Types.InitialHere
+import DocuSign.Base.Types.LastName
+import DocuSign.Base.Types.List
+import DocuSign.Base.Types.Note
+import DocuSign.Base.Types.RadioGroup
+import DocuSign.Base.Types.SignerAttachment
+import DocuSign.Base.Types.SignHere
+import DocuSign.Base.Types.Ssn
+import DocuSign.Base.Types.Title
+import DocuSign.Base.Types.View
+import DocuSign.Base.Types.Zip
+
+data EnvelopeRecipientTabs = EnvelopeRecipientTabs
+  { envelopeRecipientTabsApproveTabs          :: Maybe [Approve]
+  , envelopeRecipientTabsCheckboxTabs         :: Maybe [Checkbox]
+  , envelopeRecipientTabsCompanyTabs          :: Maybe [Company]
+  , envelopeRecipientTabsDateSignedTabs       :: Maybe [DateSigned]
+  , envelopeRecipientTabsDateTabs             :: Maybe [Date]
+  , envelopeRecipientTabsDeclineTabs          :: Maybe [Decline]
+  , envelopeRecipientTabsEmailAddressTabs     :: Maybe [EmailAddress]
+  , envelopeRecipientTabsEmailTabs            :: Maybe [Email]
+  , envelopeRecipientTabsEnvelopeIdTabs       :: Maybe [EnvelopeId]
+  , envelopeRecipientTabsFirstNameTabs        :: Maybe [FirstName]
+  , envelopeRecipientTabsFormulaTabs          :: Maybe [FormulaTab]
+  , envelopeRecipientTabsFullNameTabs         :: Maybe [FullName]
+  , envelopeRecipientTabsInitialHereTabs      :: Maybe [InitialHere]
+  , envelopeRecipientTabsLastNameTabs         :: Maybe [LastName]
+  , envelopeRecipientTabsListTabs             :: Maybe [List]
+  , envelopeRecipientTabsNoteTabs             :: Maybe [Note]
+  , envelopeRecipientTabsNumberTabs           :: Maybe [Double]
+  , envelopeRecipientTabsRadioGroupTabs       :: Maybe [RadioGroup]
+  , envelopeRecipientTabsSignerAttachmentTabs :: Maybe [SignerAttachment]
+  , envelopeRecipientTabsSignHereTabs         :: Maybe [SignHere]
+  , envelopeRecipientTabsSsnTabs              :: Maybe [Ssn]
+  , envelopeRecipientTabsTextTabs             :: Maybe [Text]
+  , envelopeRecipientTabsTitleTabs            :: Maybe [Title]
+  , envelopeRecipientTabsViewTabs             :: Maybe [View]
+  , envelopeRecipientTabsZipTabs              :: Maybe [Zip]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeRecipientTabs where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeRecipientTabs")
+instance ToJSON EnvelopeRecipientTabs where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeRecipientTabs")
+
+instance Default EnvelopeRecipientTabs
diff --git a/src/DocuSign/Base/Types/EnvelopeRecipients.hs b/src/DocuSign/Base/Types/EnvelopeRecipients.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeRecipients.hs
@@ -0,0 +1,31 @@
+module DocuSign.Base.Types.EnvelopeRecipients where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Agent
+import DocuSign.Base.Types.CarbonCopy
+import DocuSign.Base.Types.CertifiedDelivery
+import DocuSign.Base.Types.Editor
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.InPersonSigner
+import DocuSign.Base.Types.Intermediary
+import DocuSign.Base.Types.Signer
+
+data EnvelopeRecipients = EnvelopeRecipients
+  { envelopeRecipientsAgents              :: Maybe [Agent]
+  , envelopeRecipientsCarbonCopies        :: Maybe [CarbonCopy]
+  , envelopeRecipientsCertifiedDeliveries :: Maybe [CertifiedDelivery]
+  , envelopeRecipientsCurrentRoutingOrder :: Maybe Text
+  , envelopeRecipientsEditors             :: Maybe [Editor]
+  , envelopeRecipientsErrorDetails        :: Maybe ErrorDetails
+  , envelopeRecipientsInPersonSigners     :: Maybe [InPersonSigner]
+  , envelopeRecipientsIntermediaries      :: Maybe [Intermediary]
+  , envelopeRecipientsRecipientCount      :: Maybe Text
+  , envelopeRecipientsSigners             :: Maybe [Signer]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeRecipients where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeRecipients")
+instance ToJSON EnvelopeRecipients where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeRecipients")
+
+instance Default EnvelopeRecipients
diff --git a/src/DocuSign/Base/Types/EnvelopeSummary.hs b/src/DocuSign/Base/Types/EnvelopeSummary.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeSummary.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.EnvelopeSummary where
+
+import DocuSign.Base.Types.Common
+
+data EnvelopeSummary = EnvelopeSummary
+  { envelopeSummaryEnvelopeId     :: Maybe Text
+  , envelopeSummaryStatus         :: Maybe Text
+  , envelopeSummaryStatusDateTime :: Maybe Text
+  , envelopeSummaryUri            :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeSummary where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeSummary")
+instance ToJSON EnvelopeSummary where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeSummary")
+
+instance Default EnvelopeSummary
diff --git a/src/DocuSign/Base/Types/EnvelopeTemplateDefinition.hs b/src/DocuSign/Base/Types/EnvelopeTemplateDefinition.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeTemplateDefinition.hs
@@ -0,0 +1,29 @@
+module DocuSign.Base.Types.EnvelopeTemplateDefinition where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.UserInfo
+
+data EnvelopeTemplateDefinition = EnvelopeTemplateDefinition
+  { envelopeTemplateDefinitionDescription     :: Maybe Text
+  , envelopeTemplateDefinitionFolderId        :: Maybe Text
+  , envelopeTemplateDefinitionFolderName      :: Maybe Text
+  , envelopeTemplateDefinitionFolderUri       :: Maybe Text
+  , envelopeTemplateDefinitionLastModified    :: Maybe Text
+  , envelopeTemplateDefinitionLastModifiedBy  :: Maybe UserInfo
+  , envelopeTemplateDefinitionName            :: Maybe Text
+  , envelopeTemplateDefinitionNewPassword     :: Maybe Text
+  , envelopeTemplateDefinitionOwner           :: Maybe UserInfo
+  , envelopeTemplateDefinitionPageCount       :: Maybe Int
+  , envelopeTemplateDefinitionParentFolderUri :: Maybe Text
+  , envelopeTemplateDefinitionPassword        :: Maybe Text
+  , envelopeTemplateDefinitionShared          :: Maybe Text
+  , envelopeTemplateDefinitionTemplateId      :: Maybe Text
+  , envelopeTemplateDefinitionUri             :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeTemplateDefinition where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeTemplateDefinition")
+instance ToJSON EnvelopeTemplateDefinition where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeTemplateDefinition")
+
+instance Default EnvelopeTemplateDefinition
diff --git a/src/DocuSign/Base/Types/EnvelopeTemplateResult.hs b/src/DocuSign/Base/Types/EnvelopeTemplateResult.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeTemplateResult.hs
@@ -0,0 +1,81 @@
+module DocuSign.Base.Types.EnvelopeTemplateResult where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountCustomFields
+import DocuSign.Base.Types.Document
+import DocuSign.Base.Types.EnvelopeEmailSettings
+import DocuSign.Base.Types.EnvelopeLocks
+import DocuSign.Base.Types.EnvelopeRecipients
+import DocuSign.Base.Types.Notification
+import DocuSign.Base.Types.UserInfo
+
+data EnvelopeTemplateResult = EnvelopeTemplateResult
+  { envelopeTemplateResultAllowMarkup                 :: Maybe Text
+  , envelopeTemplateResultAllowReassign               :: Maybe Text
+  , envelopeTemplateResultAsynchronous                :: Maybe Text
+  , envelopeTemplateResultAttachmentsUri              :: Maybe Text
+  , envelopeTemplateResultAuthoritativeCopy           :: Maybe Text
+  , envelopeTemplateResultAutoNavigation              :: Maybe Text
+  , envelopeTemplateResultBrandId                     :: Maybe Text
+  , envelopeTemplateResultBrandLock                   :: Maybe Text
+  , envelopeTemplateResultCertificateUri              :: Maybe Text
+  , envelopeTemplateResultCompletedDateTime           :: Maybe Text
+  , envelopeTemplateResultCreatedDateTime             :: Maybe Text
+  , envelopeTemplateResultCustomFields                :: Maybe AccountCustomFields
+  , envelopeTemplateResultCustomFieldsUri             :: Maybe Text
+  , envelopeTemplateResultDeclinedDateTime            :: Maybe Text
+  , envelopeTemplateResultDeletedDateTime             :: Maybe Text
+  , envelopeTemplateResultDeliveredDateTime           :: Maybe Text
+  , envelopeTemplateResultDescription                 :: Maybe Text
+  , envelopeTemplateResultDocuments                   :: Maybe [Document]
+  , envelopeTemplateResultDocumentsCombinedUri        :: Maybe Text
+  , envelopeTemplateResultDocumentsUri                :: Maybe Text
+  , envelopeTemplateResultEmailBlurb                  :: Maybe Text
+  , envelopeTemplateResultEmailSettings               :: Maybe EnvelopeEmailSettings
+  , envelopeTemplateResultEmailSubject                :: Maybe Text
+  , envelopeTemplateResultEnableWetSign               :: Maybe Text
+  , envelopeTemplateResultEnforceSignerVisibility     :: Maybe Text
+  , envelopeTemplateResultEnvelopeId                  :: Maybe Text
+  , envelopeTemplateResultEnvelopeIdStamping          :: Maybe Text
+  , envelopeTemplateResultEnvelopeUri                 :: Maybe Text
+  , envelopeTemplateResultFolderId                    :: Maybe Text
+  , envelopeTemplateResultFolderName                  :: Maybe Text
+  , envelopeTemplateResultFolderUri                   :: Maybe Text
+  , envelopeTemplateResultInitialSentDateTime         :: Maybe Text
+  , envelopeTemplateResultIs21CFRPart11               :: Maybe Text
+  , envelopeTemplateResultIsSignatureProviderEnvelope :: Maybe Text
+  , envelopeTemplateResultLastModified                :: Maybe Text
+  , envelopeTemplateResultLastModifiedDateTime        :: Maybe Text
+  , envelopeTemplateResultLockInformation             :: Maybe EnvelopeLocks
+  , envelopeTemplateResultMessageLock                 :: Maybe Text
+  , envelopeTemplateResultName                        :: Maybe Text
+  , envelopeTemplateResultNotification                :: Maybe Notification
+  , envelopeTemplateResultNotificationUri             :: Maybe Text
+  , envelopeTemplateResultOwner                       :: Maybe UserInfo
+  , envelopeTemplateResultPageCount                   :: Maybe Int
+  , envelopeTemplateResultParentFolderUri             :: Maybe Text
+  , envelopeTemplateResultPassword                    :: Maybe Text
+  , envelopeTemplateResultPurgeState                  :: Maybe Text
+  , envelopeTemplateResultRecipients                  :: Maybe EnvelopeRecipients
+  , envelopeTemplateResultRecipientsLock              :: Maybe Text
+  , envelopeTemplateResultRecipientsUri               :: Maybe Text
+  , envelopeTemplateResultSentDateTime                :: Maybe Text
+  , envelopeTemplateResultShared                      :: Maybe Text
+  , envelopeTemplateResultSigningLocation             :: Maybe Text
+  , envelopeTemplateResultStatus                      :: Maybe Text
+  , envelopeTemplateResultStatusChangedDateTime       :: Maybe Text
+  , envelopeTemplateResultTemplateId                  :: Maybe Text
+  , envelopeTemplateResultTemplatesUri                :: Maybe Text
+  , envelopeTemplateResultTransactionId               :: Maybe Text
+  , envelopeTemplateResultUri                         :: Maybe Text
+  , envelopeTemplateResultUseDisclosure               :: Maybe Text
+  , envelopeTemplateResultVoidedDateTime              :: Maybe Text
+  , envelopeTemplateResultVoidedReason                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeTemplateResult where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeTemplateResult")
+instance ToJSON EnvelopeTemplateResult where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeTemplateResult")
+
+instance Default EnvelopeTemplateResult
diff --git a/src/DocuSign/Base/Types/EnvelopeTemplateResults.hs b/src/DocuSign/Base/Types/EnvelopeTemplateResults.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeTemplateResults.hs
@@ -0,0 +1,23 @@
+module DocuSign.Base.Types.EnvelopeTemplateResults where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.EnvelopeTemplateResult
+import DocuSign.Base.Types.Folder
+
+data EnvelopeTemplateResults = EnvelopeTemplateResults
+  { envelopeTemplateResultsEndPosition       :: Maybe Text
+  , envelopeTemplateResultsEnvelopeTemplates :: Maybe [EnvelopeTemplateResult]
+  , envelopeTemplateResultsFolders           :: Maybe [Folder]
+  , envelopeTemplateResultsNextUri           :: Maybe Text
+  , envelopeTemplateResultsPreviousUri       :: Maybe Text
+  , envelopeTemplateResultsResultSetSize     :: Maybe Text
+  , envelopeTemplateResultsStartPosition     :: Maybe Text
+  , envelopeTemplateResultsTotalSetSize      :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeTemplateResults where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeTemplateResults")
+instance ToJSON EnvelopeTemplateResults where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeTemplateResults")
+
+instance Default EnvelopeTemplateResults
diff --git a/src/DocuSign/Base/Types/EnvelopeTemplates.hs b/src/DocuSign/Base/Types/EnvelopeTemplates.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeTemplates.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.EnvelopeTemplates where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.TemplateSummary
+
+data EnvelopeTemplates = EnvelopeTemplates
+  { envelopeTemplatesTemplates :: Maybe [TemplateSummary]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeTemplates where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeTemplates")
+instance ToJSON EnvelopeTemplates where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeTemplates")
+
+instance Default EnvelopeTemplates
diff --git a/src/DocuSign/Base/Types/EnvelopeTransactionStatus.hs b/src/DocuSign/Base/Types/EnvelopeTransactionStatus.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeTransactionStatus.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.EnvelopeTransactionStatus where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data EnvelopeTransactionStatus = EnvelopeTransactionStatus
+  { envelopeTransactionStatusEnvelopeId    :: Maybe Text
+  , envelopeTransactionStatusErrorDetails  :: Maybe ErrorDetails
+  , envelopeTransactionStatusStatus        :: Maybe Text
+  , envelopeTransactionStatusTransactionId :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeTransactionStatus where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeTransactionStatus")
+instance ToJSON EnvelopeTransactionStatus where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeTransactionStatus")
+
+instance Default EnvelopeTransactionStatus
diff --git a/src/DocuSign/Base/Types/EnvelopeUpdateSummary.hs b/src/DocuSign/Base/Types/EnvelopeUpdateSummary.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeUpdateSummary.hs
@@ -0,0 +1,28 @@
+module DocuSign.Base.Types.EnvelopeUpdateSummary where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BulkEnvelopeStatus
+import DocuSign.Base.Types.EnvelopeLocks
+import DocuSign.Base.Types.EnvelopeRecipientTabs
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.ListCustomField
+import DocuSign.Base.Types.RecipientUpdateResponse
+import DocuSign.Base.Types.TextCustomField
+
+data EnvelopeUpdateSummary = EnvelopeUpdateSummary
+  { envelopeUpdateSummaryBulkEnvelopeStatus           :: Maybe BulkEnvelopeStatus
+  , envelopeUpdateSummaryEnvelopeId                   :: Maybe Text
+  , envelopeUpdateSummaryErrorDetails                 :: Maybe ErrorDetails
+  , envelopeUpdateSummaryListCustomFieldUpdateResults :: Maybe [ListCustomField]
+  , envelopeUpdateSummaryLockInformation              :: Maybe EnvelopeLocks
+  , envelopeUpdateSummaryRecipientUpdateResults       :: Maybe [RecipientUpdateResponse]
+  , envelopeUpdateSummaryTabUpdateResults             :: Maybe EnvelopeRecipientTabs
+  , envelopeUpdateSummaryTextCustomFieldUpdateResults :: Maybe [TextCustomField]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeUpdateSummary where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeUpdateSummary")
+instance ToJSON EnvelopeUpdateSummary where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeUpdateSummary")
+
+instance Default EnvelopeUpdateSummary
diff --git a/src/DocuSign/Base/Types/EnvelopeViews.hs b/src/DocuSign/Base/Types/EnvelopeViews.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopeViews.hs
@@ -0,0 +1,14 @@
+module DocuSign.Base.Types.EnvelopeViews where
+
+import DocuSign.Base.Types.Common
+
+data EnvelopeViews = EnvelopeViews
+  { envelopeViewsUrl :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopeViews where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopeViews")
+instance ToJSON EnvelopeViews where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopeViews")
+
+instance Default EnvelopeViews
diff --git a/src/DocuSign/Base/Types/Envelopes.hs b/src/DocuSign/Base/Types/Envelopes.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Envelopes.hs
@@ -0,0 +1,65 @@
+module DocuSign.Base.Types.Envelopes where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountCustomFields
+import DocuSign.Base.Types.EnvelopeEmailSettings
+import DocuSign.Base.Types.EnvelopeLocks
+import DocuSign.Base.Types.EnvelopeRecipients
+import DocuSign.Base.Types.Notification
+
+data Envelopes = Envelopes
+  { envelopesAllowMarkup                 :: Maybe Text
+  , envelopesAllowReassign               :: Maybe Text
+  , envelopesAsynchronous                :: Maybe Text
+  , envelopesAttachmentsUri              :: Maybe Text
+  , envelopesAuthoritativeCopy           :: Maybe Text
+  , envelopesAutoNavigation              :: Maybe Text
+  , envelopesBrandId                     :: Maybe Text
+  , envelopesBrandLock                   :: Maybe Text
+  , envelopesCertificateUri              :: Maybe Text
+  , envelopesCompletedDateTime           :: Maybe Text
+  , envelopesCreatedDateTime             :: Maybe Text
+  , envelopesCustomFields                :: Maybe AccountCustomFields
+  , envelopesCustomFieldsUri             :: Maybe Text
+  , envelopesDeclinedDateTime            :: Maybe Text
+  , envelopesDeletedDateTime             :: Maybe Text
+  , envelopesDeliveredDateTime           :: Maybe Text
+  , envelopesDocumentsCombinedUri        :: Maybe Text
+  , envelopesDocumentsUri                :: Maybe Text
+  , envelopesEmailBlurb                  :: Maybe Text
+  , envelopesEmailSettings               :: Maybe EnvelopeEmailSettings
+  , envelopesEmailSubject                :: Maybe Text
+  , envelopesEnableWetSign               :: Maybe Text
+  , envelopesEnforceSignerVisibility     :: Maybe Text
+  , envelopesEnvelopeId                  :: Maybe Text
+  , envelopesEnvelopeIdStamping          :: Maybe Text
+  , envelopesEnvelopeUri                 :: Maybe Text
+  , envelopesInitialSentDateTime         :: Maybe Text
+  , envelopesIs21CFRPart11               :: Maybe Text
+  , envelopesIsSignatureProviderEnvelope :: Maybe Text
+  , envelopesLastModifiedDateTime        :: Maybe Text
+  , envelopesLockInformation             :: Maybe EnvelopeLocks
+  , envelopesMessageLock                 :: Maybe Text
+  , envelopesNotification                :: Maybe Notification
+  , envelopesNotificationUri             :: Maybe Text
+  , envelopesPurgeState                  :: Maybe Text
+  , envelopesRecipients                  :: Maybe EnvelopeRecipients
+  , envelopesRecipientsLock              :: Maybe Text
+  , envelopesRecipientsUri               :: Maybe Text
+  , envelopesSentDateTime                :: Maybe Text
+  , envelopesSigningLocation             :: Maybe Text
+  , envelopesStatus                      :: Maybe Text
+  , envelopesStatusChangedDateTime       :: Maybe Text
+  , envelopesTemplatesUri                :: Maybe Text
+  , envelopesTransactionId               :: Maybe Text
+  , envelopesUseDisclosure               :: Maybe Text
+  , envelopesVoidedDateTime              :: Maybe Text
+  , envelopesVoidedReason                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Envelopes where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopes")
+instance ToJSON Envelopes where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopes")
+
+instance Default Envelopes
diff --git a/src/DocuSign/Base/Types/EnvelopesInformation.hs b/src/DocuSign/Base/Types/EnvelopesInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EnvelopesInformation.hs
@@ -0,0 +1,23 @@
+module DocuSign.Base.Types.EnvelopesInformation where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Envelopes
+import DocuSign.Base.Types.EnvelopeTransactionStatus
+
+data EnvelopesInformation = EnvelopesInformation
+  { envelopesInformationEndPosition                 :: Maybe Text
+  , envelopesInformationEnvelopes                   :: Maybe [Envelopes]
+  , envelopesInformationEnvelopeTransactionStatuses :: Maybe [EnvelopeTransactionStatus]
+  , envelopesInformationNextUri                     :: Maybe Text
+  , envelopesInformationPreviousUri                 :: Maybe Text
+  , envelopesInformationResultSetSize               :: Maybe Text
+  , envelopesInformationStartPosition               :: Maybe Text
+  , envelopesInformationTotalSetSize                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EnvelopesInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "envelopesInformation")
+instance ToJSON EnvelopesInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "envelopesInformation")
+
+instance Default EnvelopesInformation
diff --git a/src/DocuSign/Base/Types/ErrorDetails.hs b/src/DocuSign/Base/Types/ErrorDetails.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ErrorDetails.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.ErrorDetails where
+
+import DocuSign.Base.Types.Common
+
+data ErrorDetails = ErrorDetails
+  { errorDetailsErrorCode :: Maybe Text
+  , errorDetailsMessage   :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ErrorDetails where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "errorDetails")
+instance ToJSON ErrorDetails where
+  toJSON = genericToJSON (removeFieldLabelPrefix "errorDetails")
+
+instance Default ErrorDetails
diff --git a/src/DocuSign/Base/Types/EventNotification.hs b/src/DocuSign/Base/Types/EventNotification.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EventNotification.hs
@@ -0,0 +1,30 @@
+module DocuSign.Base.Types.EventNotification where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.EnvelopeEvent
+import DocuSign.Base.Types.RecipientEvent
+
+data EventNotification = EventNotification
+  { eventNotificationEnvelopeEvents                    :: Maybe [EnvelopeEvent]
+  , eventNotificationIncludeCertificateOfCompletion    :: Maybe Text
+  , eventNotificationIncludeCertificateWithSoap        :: Maybe Text
+  , eventNotificationIncludeDocumentFields             :: Maybe Text
+  , eventNotificationIncludeDocuments                  :: Maybe Text
+  , eventNotificationIncludeEnvelopeVoidReason         :: Maybe Text
+  , eventNotificationIncludeSenderAccountAsCustomField :: Maybe Text
+  , eventNotificationIncludeTimeZone                   :: Maybe Text
+  , eventNotificationLoggingEnabled                    :: Maybe Text
+  , eventNotificationRecipientEvents                   :: Maybe [RecipientEvent]
+  , eventNotificationRequireAcknowledgment             :: Maybe Text
+  , eventNotificationSignMessageWithX509Cert           :: Maybe Text
+  , eventNotificationSoapNameSpace                     :: Maybe Text
+  , eventNotificationUrl                               :: Maybe Text
+  , eventNotificationUseSoapInterface                  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EventNotification where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "eventNotification")
+instance ToJSON EventNotification where
+  toJSON = genericToJSON (removeFieldLabelPrefix "eventNotification")
+
+instance Default EventNotification
diff --git a/src/DocuSign/Base/Types/EventResult.hs b/src/DocuSign/Base/Types/EventResult.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/EventResult.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.EventResult where
+
+import DocuSign.Base.Types.Common
+
+data EventResult = EventResult
+  { eventResultEventTimestamp          :: Maybe Text
+  , eventResultFailureDescription      :: Maybe Text
+  , eventResultStatus                  :: Maybe Text
+  , eventResultVendorFailureStatusCode :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON EventResult where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "eventResult")
+instance ToJSON EventResult where
+  toJSON = genericToJSON (removeFieldLabelPrefix "eventResult")
+
+instance Default EventResult
diff --git a/src/DocuSign/Base/Types/Expirations.hs b/src/DocuSign/Base/Types/Expirations.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Expirations.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.Expirations where
+
+import DocuSign.Base.Types.Common
+
+data Expirations = Expirations
+  { expirationsExpireAfter   :: Maybe Text
+  , expirationsExpireEnabled :: Maybe Text
+  , expirationsExpireWarn    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Expirations where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "expirations")
+instance ToJSON Expirations where
+  toJSON = genericToJSON (removeFieldLabelPrefix "expirations")
+
+instance Default Expirations
diff --git a/src/DocuSign/Base/Types/ExternalDocServiceErrorDetails.hs b/src/DocuSign/Base/Types/ExternalDocServiceErrorDetails.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ExternalDocServiceErrorDetails.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.ExternalDocServiceErrorDetails where
+
+import DocuSign.Base.Types.Common
+
+data ExternalDocServiceErrorDetails = ExternalDocServiceErrorDetails
+  { externalDocServiceErrorDetailsAuthenticationUrl :: Maybe Text
+  , externalDocServiceErrorDetailsErrorCode         :: Maybe Text
+  , externalDocServiceErrorDetailsMessage           :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ExternalDocServiceErrorDetails where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "externalDocServiceErrorDetails")
+instance ToJSON ExternalDocServiceErrorDetails where
+  toJSON = genericToJSON (removeFieldLabelPrefix "externalDocServiceErrorDetails")
+
+instance Default ExternalDocServiceErrorDetails
diff --git a/src/DocuSign/Base/Types/ExternalFile.hs b/src/DocuSign/Base/Types/ExternalFile.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ExternalFile.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.ExternalFile where
+
+import DocuSign.Base.Types.Common
+
+data ExternalFile = ExternalFile
+  { externalFileDate      :: Maybe Text
+  , externalFileId        :: Maybe Text
+  , externalFileImg       :: Maybe Text
+  , externalFileName      :: Maybe Text
+  , externalFileSize      :: Maybe Text
+  , externalFileSupported :: Maybe Text
+  , externalFileType      :: Maybe Text
+  , externalFileUri       :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ExternalFile where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "externalFile")
+instance ToJSON ExternalFile where
+  toJSON = genericToJSON (removeFieldLabelPrefix "externalFile")
+
+instance Default ExternalFile
diff --git a/src/DocuSign/Base/Types/FeatureSet.hs b/src/DocuSign/Base/Types/FeatureSet.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/FeatureSet.hs
@@ -0,0 +1,23 @@
+module DocuSign.Base.Types.FeatureSet where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.CurrencyFeatureSetPrice
+
+data FeatureSet = FeatureSet
+  { featureSetCurrencyFeatureSetPrices :: Maybe [CurrencyFeatureSetPrice]
+  , featureSetEnvelopeFee              :: Maybe Text
+  , featureSetFeatureSetId             :: Maybe Text
+  , featureSetFixedFee                 :: Maybe Text
+  , featureSetIs21CFRPart11            :: Maybe Text
+  , featureSetIsActive                 :: Maybe Text
+  , featureSetIsEnabled                :: Maybe Text
+  , featureSetName                     :: Maybe Text
+  , featureSetSeatFee                  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON FeatureSet where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "featureSet")
+instance ToJSON FeatureSet where
+  toJSON = genericToJSON (removeFieldLabelPrefix "featureSet")
+
+instance Default FeatureSet
diff --git a/src/DocuSign/Base/Types/FileType.hs b/src/DocuSign/Base/Types/FileType.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/FileType.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.FileType where
+
+import DocuSign.Base.Types.Common
+
+data FileType = FileType
+  { fileTypeFileExtension :: Maybe Text
+  , fileTypeMimeType      :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON FileType where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "fileType")
+instance ToJSON FileType where
+  toJSON = genericToJSON (removeFieldLabelPrefix "fileType")
+
+instance Default FileType
diff --git a/src/DocuSign/Base/Types/FileTypeList.hs b/src/DocuSign/Base/Types/FileTypeList.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/FileTypeList.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.FileTypeList where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.FileType
+
+data FileTypeList = FileTypeList
+  { fileTypeListFileTypes :: Maybe [FileType]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON FileTypeList where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "fileTypeList")
+instance ToJSON FileTypeList where
+  toJSON = genericToJSON (removeFieldLabelPrefix "fileTypeList")
+
+instance Default FileTypeList
diff --git a/src/DocuSign/Base/Types/Filter.hs b/src/DocuSign/Base/Types/Filter.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Filter.hs
@@ -0,0 +1,24 @@
+module DocuSign.Base.Types.Filter where
+
+import DocuSign.Base.Types.Common
+
+data Filter = Filter
+  { filterActionRequired :: Maybe Text
+  , filterExpires        :: Maybe Text
+  , filterFolderIds      :: Maybe Text
+  , filterFromDateTime   :: Maybe Text
+  , filterIsTemplate     :: Maybe Text
+  , filterOrder          :: Maybe Text
+  , filterOrderBy        :: Maybe Text
+  , filterSearchTarget   :: Maybe Text
+  , filterSearchText     :: Maybe Text
+  , filterStatus         :: Maybe Text
+  , filterToDateTime     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Filter where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "filter")
+instance ToJSON Filter where
+  toJSON = genericToJSON (removeFieldLabelPrefix "filter")
+
+instance Default Filter
diff --git a/src/DocuSign/Base/Types/FirstName.hs b/src/DocuSign/Base/Types/FirstName.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/FirstName.hs
@@ -0,0 +1,47 @@
+module DocuSign.Base.Types.FirstName where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data FirstName = FirstName
+  { firstNameAnchorCaseSensitive       :: Maybe Text
+  , firstNameAnchorHorizontalAlignment :: Maybe Text
+  , firstNameAnchorIgnoreIfNotPresent  :: Maybe Text
+  , firstNameAnchorMatchWholeWord      :: Maybe Text
+  , firstNameAnchorString              :: Maybe Text
+  , firstNameAnchorUnits               :: Maybe Text
+  , firstNameAnchorXOffset             :: Maybe Text
+  , firstNameAnchorYOffset             :: Maybe Text
+  , firstNameBold                      :: Maybe Text
+  , firstNameConditionalParentLabel    :: Maybe Text
+  , firstNameConditionalParentValue    :: Maybe Text
+  , firstNameCustomTabId               :: Maybe Text
+  , firstNameDocumentId                :: Maybe Text
+  , firstNameErrorDetails              :: Maybe ErrorDetails
+  , firstNameFont                      :: Maybe Text
+  , firstNameFontColor                 :: Maybe Text
+  , firstNameFontSize                  :: Maybe Text
+  , firstNameItalic                    :: Maybe Text
+  , firstNameMergeField                :: Maybe MergeField
+  , firstNameName                      :: Maybe Text
+  , firstNamePageNumber                :: Maybe Text
+  , firstNameRecipientId               :: Maybe Text
+  , firstNameStatus                    :: Maybe Text
+  , firstNameTabId                     :: Maybe Text
+  , firstNameTabLabel                  :: Maybe Text
+  , firstNameTabOrder                  :: Maybe Text
+  , firstNameTemplateLocked            :: Maybe Text
+  , firstNameTemplateRequired          :: Maybe Text
+  , firstNameUnderline                 :: Maybe Text
+  , firstNameValue                     :: Maybe Text
+  , firstNameXPosition                 :: Maybe Text
+  , firstNameYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON FirstName where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "firstName")
+instance ToJSON FirstName where
+  toJSON = genericToJSON (removeFieldLabelPrefix "firstName")
+
+instance Default FirstName
diff --git a/src/DocuSign/Base/Types/Folder.hs b/src/DocuSign/Base/Types/Folder.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Folder.hs
@@ -0,0 +1,27 @@
+module DocuSign.Base.Types.Folder where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.Filter
+
+data Folder = Folder
+  { folderErrorDetails    :: Maybe ErrorDetails
+  , folderFilter          :: Maybe Filter
+  , folderFolderId        :: Maybe Text
+  , folderFolders         :: Maybe [Folder]
+  , folderName            :: Maybe Text
+  , folderOwnerEmail      :: Maybe Text
+  , folderOwnerUserId     :: Maybe Text
+  , folderOwnerUserName   :: Maybe Text
+  , folderParentFolderId  :: Maybe Text
+  , folderParentFolderUri :: Maybe Text
+  , folderType            :: Maybe Text
+  , folderUri             :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Folder where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "folder")
+instance ToJSON Folder where
+  toJSON = genericToJSON (removeFieldLabelPrefix "folder")
+
+instance Default Folder
diff --git a/src/DocuSign/Base/Types/FolderItem.hs b/src/DocuSign/Base/Types/FolderItem.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/FolderItem.hs
@@ -0,0 +1,35 @@
+module DocuSign.Base.Types.FolderItem where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.CustomFieldV2
+
+data FolderItem = FolderItem
+  { folderItemCompletedDateTime           :: Maybe Text
+  , folderItemCreatedDateTime             :: Maybe Text
+  , folderItemCustomFields                :: Maybe [CustomFieldV2]
+  , folderItemDescription                 :: Maybe Text
+  , folderItemEnvelopeId                  :: Maybe Text
+  , folderItemEnvelopeUri                 :: Maybe Text
+  , folderItemIs21CFRPart11               :: Maybe Text
+  , folderItemIsSignatureProviderEnvelope :: Maybe Text
+  , folderItemLastModified                :: Maybe Text
+  , folderItemName                        :: Maybe Text
+  , folderItemOwnerName                   :: Maybe Text
+  , folderItemPageCount                   :: Maybe Int
+  , folderItemPassword                    :: Maybe Text
+  , folderItemSenderEmail                 :: Maybe Text
+  , folderItemSenderName                  :: Maybe Text
+  , folderItemSentDateTime                :: Maybe Text
+  , folderItemShared                      :: Maybe Text
+  , folderItemStatus                      :: Maybe Text
+  , folderItemSubject                     :: Maybe Text
+  , folderItemTemplateId                  :: Maybe Text
+  , folderItemUri                         :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON FolderItem where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "folderItem")
+instance ToJSON FolderItem where
+  toJSON = genericToJSON (removeFieldLabelPrefix "folderItem")
+
+instance Default FolderItem
diff --git a/src/DocuSign/Base/Types/FolderItemResponse.hs b/src/DocuSign/Base/Types/FolderItemResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/FolderItemResponse.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.FolderItemResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.FolderItemV2
+
+data FolderItemResponse = FolderItemResponse
+  { folderItemResponseEndPosition   :: Maybe Text
+  , folderItemResponseFolderItems   :: Maybe [FolderItemV2]
+  , folderItemResponseNextUri       :: Maybe Text
+  , folderItemResponsePreviousUri   :: Maybe Text
+  , folderItemResponseResultSetSize :: Maybe Text
+  , folderItemResponseStartPosition :: Maybe Text
+  , folderItemResponseTotalRows     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON FolderItemResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "folderItemResponse")
+instance ToJSON FolderItemResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "folderItemResponse")
+
+instance Default FolderItemResponse
diff --git a/src/DocuSign/Base/Types/FolderItemV2.hs b/src/DocuSign/Base/Types/FolderItemV2.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/FolderItemV2.hs
@@ -0,0 +1,34 @@
+module DocuSign.Base.Types.FolderItemV2 where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.EnvelopeRecipients
+
+data FolderItemV2 = FolderItemV2
+  { folderItemV2CompletedDateTime           :: Maybe Text
+  , folderItemV2CreatedDateTime             :: Maybe Text
+  , folderItemV2EnvelopeId                  :: Maybe Text
+  , folderItemV2EnvelopeUri                 :: Maybe Text
+  , folderItemV2ExpireDateTime              :: Maybe Text
+  , folderItemV2FolderId                    :: Maybe Text
+  , folderItemV2FolderUri                   :: Maybe Text
+  , folderItemV2Is21CFRPart11               :: Maybe Text
+  , folderItemV2IsSignatureProviderEnvelope :: Maybe Text
+  , folderItemV2LastModifiedDateTime        :: Maybe Text
+  , folderItemV2OwnerName                   :: Maybe Text
+  , folderItemV2Recipients                  :: Maybe EnvelopeRecipients
+  , folderItemV2RecipientsUri               :: Maybe Text
+  , folderItemV2SenderCompany               :: Maybe Text
+  , folderItemV2SenderEmail                 :: Maybe Text
+  , folderItemV2SenderName                  :: Maybe Text
+  , folderItemV2SenderUserId                :: Maybe Text
+  , folderItemV2SentDateTime                :: Maybe Text
+  , folderItemV2Status                      :: Maybe Text
+  , folderItemV2Subject                     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON FolderItemV2 where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "folderItemV2")
+instance ToJSON FolderItemV2 where
+  toJSON = genericToJSON (removeFieldLabelPrefix "folderItemV2")
+
+instance Default FolderItemV2
diff --git a/src/DocuSign/Base/Types/FolderItemsResponse.hs b/src/DocuSign/Base/Types/FolderItemsResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/FolderItemsResponse.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.FolderItemsResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.FolderItem
+
+data FolderItemsResponse = FolderItemsResponse
+  { folderItemsResponseEndPosition   :: Maybe Text
+  , folderItemsResponseFolderItems   :: Maybe [FolderItem]
+  , folderItemsResponseNextUri       :: Maybe Text
+  , folderItemsResponsePreviousUri   :: Maybe Text
+  , folderItemsResponseResultSetSize :: Maybe Text
+  , folderItemsResponseStartPosition :: Maybe Text
+  , folderItemsResponseTotalSetSize  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON FolderItemsResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "folderItemsResponse")
+instance ToJSON FolderItemsResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "folderItemsResponse")
+
+instance Default FolderItemsResponse
diff --git a/src/DocuSign/Base/Types/Folders.hs b/src/DocuSign/Base/Types/Folders.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Folders.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.Folders where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Folder
+
+data Folders = Folders
+  { foldersFolders :: Maybe [Folder]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Folders where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "folders")
+instance ToJSON Folders where
+  toJSON = genericToJSON (removeFieldLabelPrefix "folders")
+
+instance Default Folders
diff --git a/src/DocuSign/Base/Types/FoldersRequest.hs b/src/DocuSign/Base/Types/FoldersRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/FoldersRequest.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.FoldersRequest where
+
+import DocuSign.Base.Types.Common
+
+data FoldersRequest = FoldersRequest
+  { foldersRequestEnvelopeIds  :: Maybe [Text]
+  , foldersRequestFromFolderId :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON FoldersRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "foldersRequest")
+instance ToJSON FoldersRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "foldersRequest")
+
+instance Default FoldersRequest
diff --git a/src/DocuSign/Base/Types/ForgottenPasswordInformation.hs b/src/DocuSign/Base/Types/ForgottenPasswordInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ForgottenPasswordInformation.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.ForgottenPasswordInformation where
+
+import DocuSign.Base.Types.Common
+
+data ForgottenPasswordInformation = ForgottenPasswordInformation
+  { forgottenPasswordInformationForgottenPasswordAnswer1   :: Maybe Text
+  , forgottenPasswordInformationForgottenPasswordAnswer2   :: Maybe Text
+  , forgottenPasswordInformationForgottenPasswordAnswer3   :: Maybe Text
+  , forgottenPasswordInformationForgottenPasswordAnswer4   :: Maybe Text
+  , forgottenPasswordInformationForgottenPasswordQuestion1 :: Maybe Text
+  , forgottenPasswordInformationForgottenPasswordQuestion2 :: Maybe Text
+  , forgottenPasswordInformationForgottenPasswordQuestion3 :: Maybe Text
+  , forgottenPasswordInformationForgottenPasswordQuestion4 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ForgottenPasswordInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "forgottenPasswordInformation")
+instance ToJSON ForgottenPasswordInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "forgottenPasswordInformation")
+
+instance Default ForgottenPasswordInformation
diff --git a/src/DocuSign/Base/Types/FormulaTab.hs b/src/DocuSign/Base/Types/FormulaTab.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/FormulaTab.hs
@@ -0,0 +1,66 @@
+module DocuSign.Base.Types.FormulaTab where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+import DocuSign.Base.Types.PaymentDetails
+
+data FormulaTab = FormulaTab
+  { formulaTabAnchorCaseSensitive          :: Maybe Text
+  , formulaTabAnchorHorizontalAlignment    :: Maybe Text
+  , formulaTabAnchorIgnoreIfNotPresent     :: Maybe Text
+  , formulaTabAnchorMatchWholeWord         :: Maybe Text
+  , formulaTabAnchorString                 :: Maybe Text
+  , formulaTabAnchorUnits                  :: Maybe Text
+  , formulaTabAnchorXOffset                :: Maybe Text
+  , formulaTabAnchorYOffset                :: Maybe Text
+  , formulaTabBold                         :: Maybe Text
+  , formulaTabConcealValueOnDocument       :: Maybe Text
+  , formulaTabConditionalParentLabel       :: Maybe Text
+  , formulaTabConditionalParentValue       :: Maybe Text
+  , formulaTabCustomTabId                  :: Maybe Text
+  , formulaTabDisableAutoSize              :: Maybe Text
+  , formulaTabDocumentId                   :: Maybe Text
+  , formulaTabErrorDetails                 :: Maybe ErrorDetails
+  , formulaTabFont                         :: Maybe Text
+  , formulaTabFontColor                    :: Maybe Text
+  , formulaTabFontSize                     :: Maybe Text
+  , formulaTabFormula                      :: Maybe Text
+  , formulaTabHidden                       :: Maybe Text
+  , formulaTabIsPaymentAmount              :: Maybe Text
+  , formulaTabItalic                       :: Maybe Text
+  , formulaTabLocked                       :: Maybe Text
+  , formulaTabMaxLength                    :: Maybe Int
+  , formulaTabMergeField                   :: Maybe MergeField
+  , formulaTabName                         :: Maybe Text
+  , formulaTabOriginalValue                :: Maybe Text
+  , formulaTabPageNumber                   :: Maybe Text
+  , formulaTabPaymentDetails               :: Maybe PaymentDetails
+  , formulaTabRecipientId                  :: Maybe Text
+  , formulaTabRequireAll                   :: Maybe Text
+  , formulaTabRequired                     :: Maybe Text
+  , formulaTabRequireInitialOnSharedChange :: Maybe Text
+  , formulaTabRoundDecimalPlaces           :: Maybe Text
+  , formulaTabSenderRequired               :: Maybe Text
+  , formulaTabShared                       :: Maybe Text
+  , formulaTabStatus                       :: Maybe Text
+  , formulaTabTabId                        :: Maybe Text
+  , formulaTabTabLabel                     :: Maybe Text
+  , formulaTabTabOrder                     :: Maybe Text
+  , formulaTabTemplateLocked               :: Maybe Text
+  , formulaTabTemplateRequired             :: Maybe Text
+  , formulaTabUnderline                    :: Maybe Text
+  , formulaTabValidationMessage            :: Maybe Text
+  , formulaTabValidationPattern            :: Maybe Text
+  , formulaTabValue                        :: Maybe Text
+  , formulaTabWidth                        :: Maybe Int
+  , formulaTabXPosition                    :: Maybe Text
+  , formulaTabYPosition                    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON FormulaTab where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "formulaTab")
+instance ToJSON FormulaTab where
+  toJSON = genericToJSON (removeFieldLabelPrefix "formulaTab")
+
+instance Default FormulaTab
diff --git a/src/DocuSign/Base/Types/FullName.hs b/src/DocuSign/Base/Types/FullName.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/FullName.hs
@@ -0,0 +1,47 @@
+module DocuSign.Base.Types.FullName where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data FullName = FullName
+  { fullNameAnchorCaseSensitive       :: Maybe Text
+  , fullNameAnchorHorizontalAlignment :: Maybe Text
+  , fullNameAnchorIgnoreIfNotPresent  :: Maybe Text
+  , fullNameAnchorMatchWholeWord      :: Maybe Text
+  , fullNameAnchorString              :: Maybe Text
+  , fullNameAnchorUnits               :: Maybe Text
+  , fullNameAnchorXOffset             :: Maybe Text
+  , fullNameAnchorYOffset             :: Maybe Text
+  , fullNameBold                      :: Maybe Text
+  , fullNameConditionalParentLabel    :: Maybe Text
+  , fullNameConditionalParentValue    :: Maybe Text
+  , fullNameCustomTabId               :: Maybe Text
+  , fullNameDocumentId                :: Maybe Text
+  , fullNameErrorDetails              :: Maybe ErrorDetails
+  , fullNameFont                      :: Maybe Text
+  , fullNameFontColor                 :: Maybe Text
+  , fullNameFontSize                  :: Maybe Text
+  , fullNameItalic                    :: Maybe Text
+  , fullNameMergeField                :: Maybe MergeField
+  , fullNameName                      :: Maybe Text
+  , fullNamePageNumber                :: Maybe Text
+  , fullNameRecipientId               :: Maybe Text
+  , fullNameStatus                    :: Maybe Text
+  , fullNameTabId                     :: Maybe Text
+  , fullNameTabLabel                  :: Maybe Text
+  , fullNameTabOrder                  :: Maybe Text
+  , fullNameTemplateLocked            :: Maybe Text
+  , fullNameTemplateRequired          :: Maybe Text
+  , fullNameUnderline                 :: Maybe Text
+  , fullNameValue                     :: Maybe Text
+  , fullNameXPosition                 :: Maybe Text
+  , fullNameYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON FullName where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "fullName")
+instance ToJSON FullName where
+  toJSON = genericToJSON (removeFieldLabelPrefix "fullName")
+
+instance Default FullName
diff --git a/src/DocuSign/Base/Types/Group.hs b/src/DocuSign/Base/Types/Group.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Group.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.Group where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.UserInfo
+
+data Group = Group
+  { groupErrorDetails        :: Maybe ErrorDetails
+  , groupGroupId             :: Maybe Text
+  , groupGroupName           :: Maybe Text
+  , groupGroupType           :: Maybe Text
+  , groupPermissionProfileId :: Maybe Text
+  , groupUsers               :: Maybe [UserInfo]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Group where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "group")
+instance ToJSON Group where
+  toJSON = genericToJSON (removeFieldLabelPrefix "group")
+
+instance Default Group
diff --git a/src/DocuSign/Base/Types/GroupBrands.hs b/src/DocuSign/Base/Types/GroupBrands.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/GroupBrands.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.GroupBrands where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Brand
+
+data GroupBrands = GroupBrands
+  { groupBrandsBrands                  :: Maybe [Brand]
+  , groupBrandsRecipientBrandIdDefault :: Maybe Text
+  , groupBrandsSenderBrandIdDefault    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON GroupBrands where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "groupBrands")
+instance ToJSON GroupBrands where
+  toJSON = genericToJSON (removeFieldLabelPrefix "groupBrands")
+
+instance Default GroupBrands
diff --git a/src/DocuSign/Base/Types/GroupUsers.hs b/src/DocuSign/Base/Types/GroupUsers.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/GroupUsers.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.GroupUsers where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.UserInfo
+
+data GroupUsers = GroupUsers
+  { groupUsersEndPosition   :: Maybe Text
+  , groupUsersNextUri       :: Maybe Text
+  , groupUsersPreviousUri   :: Maybe Text
+  , groupUsersResultSetSize :: Maybe Text
+  , groupUsersStartPosition :: Maybe Text
+  , groupUsersTotalSetSize  :: Maybe Text
+  , groupUsersUsers         :: Maybe [UserInfo]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON GroupUsers where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "groupUsers")
+instance ToJSON GroupUsers where
+  toJSON = genericToJSON (removeFieldLabelPrefix "groupUsers")
+
+instance Default GroupUsers
diff --git a/src/DocuSign/Base/Types/Groups.hs b/src/DocuSign/Base/Types/Groups.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Groups.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.Groups where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Group
+
+data Groups = Groups
+  { groupsEndPosition   :: Maybe Text
+  , groupsGroups        :: Maybe [Group]
+  , groupsNextUri       :: Maybe Text
+  , groupsPreviousUri   :: Maybe Text
+  , groupsResultSetSize :: Maybe Text
+  , groupsStartPosition :: Maybe Text
+  , groupsTotalSetSize  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Groups where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "groups")
+instance ToJSON Groups where
+  toJSON = genericToJSON (removeFieldLabelPrefix "groups")
+
+instance Default Groups
diff --git a/src/DocuSign/Base/Types/IdCheckInformationInput.hs b/src/DocuSign/Base/Types/IdCheckInformationInput.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/IdCheckInformationInput.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.IdCheckInformationInput where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AddressInformationInput
+import DocuSign.Base.Types.DobInformationInput
+import DocuSign.Base.Types.Ssn4InformationInput
+import DocuSign.Base.Types.Ssn9InformationInput
+
+data IdCheckInformationInput = IdCheckInformationInput
+  { idCheckInformationInputAddressInformationInput :: Maybe AddressInformationInput
+  , idCheckInformationInputDobInformationInput     :: Maybe DobInformationInput
+  , idCheckInformationInputSsn4InformationInput    :: Maybe Ssn4InformationInput
+  , idCheckInformationInputSsn9InformationInput    :: Maybe Ssn9InformationInput
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON IdCheckInformationInput where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "idCheckInformationInput")
+instance ToJSON IdCheckInformationInput where
+  toJSON = genericToJSON (removeFieldLabelPrefix "idCheckInformationInput")
+
+instance Default IdCheckInformationInput
diff --git a/src/DocuSign/Base/Types/InPersonSigner.hs b/src/DocuSign/Base/Types/InPersonSigner.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/InPersonSigner.hs
@@ -0,0 +1,85 @@
+module DocuSign.Base.Types.InPersonSigner where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AuthenticationStatus
+import DocuSign.Base.Types.DocumentVisibility
+import DocuSign.Base.Types.EnvelopeRecipientTabs
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.IdCheckInformationInput
+import DocuSign.Base.Types.NotaryHost
+import DocuSign.Base.Types.RecipientAttachment
+import DocuSign.Base.Types.RecipientEmailNotification
+import DocuSign.Base.Types.RecipientPhoneAuthentication
+import DocuSign.Base.Types.RecipientSAMLAuthentication
+import DocuSign.Base.Types.RecipientSignatureInformation
+import DocuSign.Base.Types.RecipientSignatureProvider
+import DocuSign.Base.Types.RecipientSMSAuthentication
+import DocuSign.Base.Types.SocialAuthentication
+import DocuSign.Base.Types.UserInfo
+
+data InPersonSigner = InPersonSigner
+  { inPersonSignerAccessCode                            :: Maybe Text
+  , inPersonSignerAddAccessCodeToEmail                  :: Maybe Text
+  , inPersonSignerAutoNavigation                        :: Maybe Text
+  , inPersonSignerCanSignOffline                        :: Maybe Text
+  , inPersonSignerClientUserId                          :: Maybe Text
+  , inPersonSignerCreationReason                        :: Maybe Text
+  , inPersonSignerCustomFields                          :: Maybe [Text]
+  , inPersonSignerDeclinedDateTime                      :: Maybe Text
+  , inPersonSignerDeclinedReason                        :: Maybe Text
+  , inPersonSignerDefaultRecipient                      :: Maybe Text
+  , inPersonSignerDeliveredDateTime                     :: Maybe Text
+  , inPersonSignerDeliveryMethod                        :: Maybe Text
+  , inPersonSignerDocumentVisibility                    :: Maybe [DocumentVisibility]
+  , inPersonSignerEmail                                 :: Maybe Text
+  , inPersonSignerEmailNotification                     :: Maybe RecipientEmailNotification
+  , inPersonSignerEmbeddedRecipientStartURL             :: Maybe Text
+  , inPersonSignerErrorDetails                          :: Maybe ErrorDetails
+  , inPersonSignerFaxNumber                             :: Maybe Text
+  , inPersonSignerHostEmail                             :: Maybe Text
+  , inPersonSignerHostName                              :: Maybe Text
+  , inPersonSignerIdCheckConfigurationName              :: Maybe Text
+  , inPersonSignerIdCheckInformationInput               :: Maybe IdCheckInformationInput
+  , inPersonSignerInheritEmailNotificationConfiguration :: Maybe Text
+  , inPersonSignerInPersonSigningType                   :: Maybe Text
+  , inPersonSignerName                                  :: Maybe Text
+  , inPersonSignerNotaryHost                            :: Maybe NotaryHost
+  , inPersonSignerNote                                  :: Maybe Text
+  , inPersonSignerPhoneAuthentication                   :: Maybe RecipientPhoneAuthentication
+  , inPersonSignerRecipientAttachments                  :: Maybe [RecipientAttachment]
+  , inPersonSignerRecipientAuthenticationStatus         :: Maybe AuthenticationStatus
+  , inPersonSignerRecipientId                           :: Maybe Text
+  , inPersonSignerRecipientIdGuid                       :: Maybe Text
+  , inPersonSignerRecipientSignatureProviders           :: Maybe [RecipientSignatureProvider]
+  , inPersonSignerRecipientSuppliesTabs                 :: Maybe Text
+  , inPersonSignerRequireIdLookup                       :: Maybe Text
+  , inPersonSignerRequireSignerCertificate              :: Maybe Text
+  , inPersonSignerRequireSignOnPaper                    :: Maybe Text
+  , inPersonSignerRoleName                              :: Maybe Text
+  , inPersonSignerRoutingOrder                          :: Maybe Text
+  , inPersonSignerSamlAuthentication                    :: Maybe RecipientSAMLAuthentication
+  , inPersonSignerSentDateTime                          :: Maybe Text
+  , inPersonSignerSignatureInfo                         :: Maybe RecipientSignatureInformation
+  , inPersonSignerSignedDateTime                        :: Maybe Text
+  , inPersonSignerSignerEmail                           :: Maybe Text
+  , inPersonSignerSignerName                            :: Maybe Text
+  , inPersonSignerSignInEachLocation                    :: Maybe Text
+  , inPersonSignerSigningGroupId                        :: Maybe Text
+  , inPersonSignerSigningGroupName                      :: Maybe Text
+  , inPersonSignerSigningGroupUsers                     :: Maybe [UserInfo]
+  , inPersonSignerSmsAuthentication                     :: Maybe RecipientSMSAuthentication
+  , inPersonSignerSocialAuthentications                 :: Maybe [SocialAuthentication]
+  , inPersonSignerStatus                                :: Maybe Text
+  , inPersonSignerTabs                                  :: Maybe EnvelopeRecipientTabs
+  , inPersonSignerTemplateLocked                        :: Maybe Text
+  , inPersonSignerTemplateRequired                      :: Maybe Text
+  , inPersonSignerTotalTabCount                         :: Maybe Text
+  , inPersonSignerUserId                                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON InPersonSigner where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "inPersonSigner")
+instance ToJSON InPersonSigner where
+  toJSON = genericToJSON (removeFieldLabelPrefix "inPersonSigner")
+
+instance Default InPersonSigner
diff --git a/src/DocuSign/Base/Types/InitialHere.hs b/src/DocuSign/Base/Types/InitialHere.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/InitialHere.hs
@@ -0,0 +1,42 @@
+module DocuSign.Base.Types.InitialHere where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data InitialHere = InitialHere
+  { initialHereAnchorCaseSensitive       :: Maybe Text
+  , initialHereAnchorHorizontalAlignment :: Maybe Text
+  , initialHereAnchorIgnoreIfNotPresent  :: Maybe Text
+  , initialHereAnchorMatchWholeWord      :: Maybe Text
+  , initialHereAnchorString              :: Maybe Text
+  , initialHereAnchorUnits               :: Maybe Text
+  , initialHereAnchorXOffset             :: Maybe Text
+  , initialHereAnchorYOffset             :: Maybe Text
+  , initialHereConditionalParentLabel    :: Maybe Text
+  , initialHereConditionalParentValue    :: Maybe Text
+  , initialHereCustomTabId               :: Maybe Text
+  , initialHereDocumentId                :: Maybe Text
+  , initialHereErrorDetails              :: Maybe ErrorDetails
+  , initialHereMergeField                :: Maybe MergeField
+  , initialHereName                      :: Maybe Text
+  , initialHereOptional                  :: Maybe Text
+  , initialHerePageNumber                :: Maybe Text
+  , initialHereRecipientId               :: Maybe Text
+  , initialHereScaleValue                :: Maybe Double
+  , initialHereStatus                    :: Maybe Text
+  , initialHereTabId                     :: Maybe Text
+  , initialHereTabLabel                  :: Maybe Text
+  , initialHereTabOrder                  :: Maybe Text
+  , initialHereTemplateLocked            :: Maybe Text
+  , initialHereTemplateRequired          :: Maybe Text
+  , initialHereXPosition                 :: Maybe Text
+  , initialHereYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON InitialHere where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "initialHere")
+instance ToJSON InitialHere where
+  toJSON = genericToJSON (removeFieldLabelPrefix "initialHere")
+
+instance Default InitialHere
diff --git a/src/DocuSign/Base/Types/InlineTemplate.hs b/src/DocuSign/Base/Types/InlineTemplate.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/InlineTemplate.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.InlineTemplate where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountCustomFields
+import DocuSign.Base.Types.Document
+import DocuSign.Base.Types.EnvelopeRecipients
+import DocuSign.Base.Types.Envelopes
+
+data InlineTemplate = InlineTemplate
+  { inlineTemplateCustomFields :: Maybe AccountCustomFields
+  , inlineTemplateDocuments    :: Maybe [Document]
+  , inlineTemplateEnvelope     :: Maybe Envelopes
+  , inlineTemplateRecipients   :: Maybe EnvelopeRecipients
+  , inlineTemplateSequence     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON InlineTemplate where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "inlineTemplate")
+instance ToJSON InlineTemplate where
+  toJSON = genericToJSON (removeFieldLabelPrefix "inlineTemplate")
+
+instance Default InlineTemplate
diff --git a/src/DocuSign/Base/Types/IntegratedUserInfoList.hs b/src/DocuSign/Base/Types/IntegratedUserInfoList.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/IntegratedUserInfoList.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.IntegratedUserInfoList where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.UserInfo
+
+data IntegratedUserInfoList = IntegratedUserInfoList
+  { integratedUserInfoListAllUsersSelected :: Maybe Text
+  , integratedUserInfoListEndPosition      :: Maybe Text
+  , integratedUserInfoListNextUri          :: Maybe Text
+  , integratedUserInfoListPreviousUri      :: Maybe Text
+  , integratedUserInfoListResultSetSize    :: Maybe Text
+  , integratedUserInfoListStartPosition    :: Maybe Text
+  , integratedUserInfoListTotalSetSize     :: Maybe Text
+  , integratedUserInfoListUsers            :: Maybe [UserInfo]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON IntegratedUserInfoList where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "integratedUserInfoList")
+instance ToJSON IntegratedUserInfoList where
+  toJSON = genericToJSON (removeFieldLabelPrefix "integratedUserInfoList")
+
+instance Default IntegratedUserInfoList
diff --git a/src/DocuSign/Base/Types/Intermediary.hs b/src/DocuSign/Base/Types/Intermediary.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Intermediary.hs
@@ -0,0 +1,66 @@
+module DocuSign.Base.Types.Intermediary where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AuthenticationStatus
+import DocuSign.Base.Types.DocumentVisibility
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.IdCheckInformationInput
+import DocuSign.Base.Types.RecipientAttachment
+import DocuSign.Base.Types.RecipientEmailNotification
+import DocuSign.Base.Types.RecipientPhoneAuthentication
+import DocuSign.Base.Types.RecipientSAMLAuthentication
+import DocuSign.Base.Types.RecipientSMSAuthentication
+import DocuSign.Base.Types.SocialAuthentication
+import DocuSign.Base.Types.UserInfo
+
+data Intermediary = Intermediary
+  { intermediaryAccessCode                            :: Maybe Text
+  , intermediaryAddAccessCodeToEmail                  :: Maybe Text
+  , intermediaryClientUserId                          :: Maybe Text
+  , intermediaryCustomFields                          :: Maybe [Text]
+  , intermediaryDeclinedDateTime                      :: Maybe Text
+  , intermediaryDeclinedReason                        :: Maybe Text
+  , intermediaryDeliveredDateTime                     :: Maybe Text
+  , intermediaryDeliveryMethod                        :: Maybe Text
+  , intermediaryDocumentVisibility                    :: Maybe [DocumentVisibility]
+  , intermediaryEmail                                 :: Maybe Text
+  , intermediaryEmailNotification                     :: Maybe RecipientEmailNotification
+  , intermediaryEmailRecipientPostSigningURL          :: Maybe Text
+  , intermediaryEmbeddedRecipientStartURL             :: Maybe Text
+  , intermediaryErrorDetails                          :: Maybe ErrorDetails
+  , intermediaryExcludedDocuments                     :: Maybe [Text]
+  , intermediaryFaxNumber                             :: Maybe Text
+  , intermediaryIdCheckConfigurationName              :: Maybe Text
+  , intermediaryIdCheckInformationInput               :: Maybe IdCheckInformationInput
+  , intermediaryInheritEmailNotificationConfiguration :: Maybe Text
+  , intermediaryName                                  :: Maybe Text
+  , intermediaryNote                                  :: Maybe Text
+  , intermediaryPhoneAuthentication                   :: Maybe RecipientPhoneAuthentication
+  , intermediaryRecipientAttachments                  :: Maybe [RecipientAttachment]
+  , intermediaryRecipientAuthenticationStatus         :: Maybe AuthenticationStatus
+  , intermediaryRecipientId                           :: Maybe Text
+  , intermediaryRecipientIdGuid                       :: Maybe Text
+  , intermediaryRequireIdLookup                       :: Maybe Text
+  , intermediaryRoleName                              :: Maybe Text
+  , intermediaryRoutingOrder                          :: Maybe Text
+  , intermediarySamlAuthentication                    :: Maybe RecipientSAMLAuthentication
+  , intermediarySentDateTime                          :: Maybe Text
+  , intermediarySignedDateTime                        :: Maybe Text
+  , intermediarySigningGroupId                        :: Maybe Text
+  , intermediarySigningGroupName                      :: Maybe Text
+  , intermediarySigningGroupUsers                     :: Maybe [UserInfo]
+  , intermediarySmsAuthentication                     :: Maybe RecipientSMSAuthentication
+  , intermediarySocialAuthentications                 :: Maybe [SocialAuthentication]
+  , intermediaryStatus                                :: Maybe Text
+  , intermediaryTemplateLocked                        :: Maybe Text
+  , intermediaryTemplateRequired                      :: Maybe Text
+  , intermediaryTotalTabCount                         :: Maybe Text
+  , intermediaryUserId                                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Intermediary where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "intermediary")
+instance ToJSON Intermediary where
+  toJSON = genericToJSON (removeFieldLabelPrefix "intermediary")
+
+instance Default Intermediary
diff --git a/src/DocuSign/Base/Types/Invoices.hs b/src/DocuSign/Base/Types/Invoices.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Invoices.hs
@@ -0,0 +1,24 @@
+module DocuSign.Base.Types.Invoices where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BillingInvoiceItem
+
+data Invoices = Invoices
+  { invoicesAmount           :: Maybe Text
+  , invoicesBalance          :: Maybe Text
+  , invoicesDueDate          :: Maybe Text
+  , invoicesInvoiceId        :: Maybe Text
+  , invoicesInvoiceItems     :: Maybe [BillingInvoiceItem]
+  , invoicesInvoiceNumber    :: Maybe Text
+  , invoicesInvoiceUri       :: Maybe Text
+  , invoicesNonTaxableAmount :: Maybe Text
+  , invoicesPdfAvailable     :: Maybe Text
+  , invoicesTaxableAmount    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Invoices where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "invoices")
+instance ToJSON Invoices where
+  toJSON = genericToJSON (removeFieldLabelPrefix "invoices")
+
+instance Default Invoices
diff --git a/src/DocuSign/Base/Types/LastName.hs b/src/DocuSign/Base/Types/LastName.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/LastName.hs
@@ -0,0 +1,47 @@
+module DocuSign.Base.Types.LastName where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data LastName = LastName
+  { lastNameAnchorCaseSensitive       :: Maybe Text
+  , lastNameAnchorHorizontalAlignment :: Maybe Text
+  , lastNameAnchorIgnoreIfNotPresent  :: Maybe Text
+  , lastNameAnchorMatchWholeWord      :: Maybe Text
+  , lastNameAnchorString              :: Maybe Text
+  , lastNameAnchorUnits               :: Maybe Text
+  , lastNameAnchorXOffset             :: Maybe Text
+  , lastNameAnchorYOffset             :: Maybe Text
+  , lastNameBold                      :: Maybe Text
+  , lastNameConditionalParentLabel    :: Maybe Text
+  , lastNameConditionalParentValue    :: Maybe Text
+  , lastNameCustomTabId               :: Maybe Text
+  , lastNameDocumentId                :: Maybe Text
+  , lastNameErrorDetails              :: Maybe ErrorDetails
+  , lastNameFont                      :: Maybe Text
+  , lastNameFontColor                 :: Maybe Text
+  , lastNameFontSize                  :: Maybe Text
+  , lastNameItalic                    :: Maybe Text
+  , lastNameMergeField                :: Maybe MergeField
+  , lastNameName                      :: Maybe Text
+  , lastNamePageNumber                :: Maybe Text
+  , lastNameRecipientId               :: Maybe Text
+  , lastNameStatus                    :: Maybe Text
+  , lastNameTabId                     :: Maybe Text
+  , lastNameTabLabel                  :: Maybe Text
+  , lastNameTabOrder                  :: Maybe Text
+  , lastNameTemplateLocked            :: Maybe Text
+  , lastNameTemplateRequired          :: Maybe Text
+  , lastNameUnderline                 :: Maybe Text
+  , lastNameValue                     :: Maybe Text
+  , lastNameXPosition                 :: Maybe Text
+  , lastNameYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON LastName where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "lastName")
+instance ToJSON LastName where
+  toJSON = genericToJSON (removeFieldLabelPrefix "lastName")
+
+instance Default LastName
diff --git a/src/DocuSign/Base/Types/List.hs b/src/DocuSign/Base/Types/List.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/List.hs
@@ -0,0 +1,55 @@
+module DocuSign.Base.Types.List where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.ListItem
+import DocuSign.Base.Types.MergeField
+
+data List = List
+  { listAnchorCaseSensitive          :: Maybe Text
+  , listAnchorHorizontalAlignment    :: Maybe Text
+  , listAnchorIgnoreIfNotPresent     :: Maybe Text
+  , listAnchorMatchWholeWord         :: Maybe Text
+  , listAnchorString                 :: Maybe Text
+  , listAnchorUnits                  :: Maybe Text
+  , listAnchorXOffset                :: Maybe Text
+  , listAnchorYOffset                :: Maybe Text
+  , listBold                         :: Maybe Text
+  , listConditionalParentLabel       :: Maybe Text
+  , listConditionalParentValue       :: Maybe Text
+  , listCustomTabId                  :: Maybe Text
+  , listDocumentId                   :: Maybe Text
+  , listErrorDetails                 :: Maybe ErrorDetails
+  , listFont                         :: Maybe Text
+  , listFontColor                    :: Maybe Text
+  , listFontSize                     :: Maybe Text
+  , listItalic                       :: Maybe Text
+  , listListItems                    :: Maybe [ListItem]
+  , listLocked                       :: Maybe Text
+  , listMergeField                   :: Maybe MergeField
+  , listPageNumber                   :: Maybe Text
+  , listRecipientId                  :: Maybe Text
+  , listRequireAll                   :: Maybe Text
+  , listRequired                     :: Maybe Text
+  , listRequireInitialOnSharedChange :: Maybe Text
+  , listSenderRequired               :: Maybe Text
+  , listShared                       :: Maybe Text
+  , listStatus                       :: Maybe Text
+  , listTabId                        :: Maybe Text
+  , listTabLabel                     :: Maybe Text
+  , listTabOrder                     :: Maybe Text
+  , listTemplateLocked               :: Maybe Text
+  , listTemplateRequired             :: Maybe Text
+  , listUnderline                    :: Maybe Text
+  , listValue                        :: Maybe Text
+  , listWidth                        :: Maybe Int
+  , listXPosition                    :: Maybe Text
+  , listYPosition                    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON List where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "list")
+instance ToJSON List where
+  toJSON = genericToJSON (removeFieldLabelPrefix "list")
+
+instance Default List
diff --git a/src/DocuSign/Base/Types/ListCustomField.hs b/src/DocuSign/Base/Types/ListCustomField.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ListCustomField.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.ListCustomField where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data ListCustomField = ListCustomField
+  { listCustomFieldConfigurationType :: Maybe Text
+  , listCustomFieldErrorDetails      :: Maybe ErrorDetails
+  , listCustomFieldFieldId           :: Maybe Text
+  , listCustomFieldListItems         :: Maybe [Text]
+  , listCustomFieldName              :: Maybe Text
+  , listCustomFieldRequired          :: Maybe Text
+  , listCustomFieldShow              :: Maybe Text
+  , listCustomFieldValue             :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ListCustomField where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "listCustomField")
+instance ToJSON ListCustomField where
+  toJSON = genericToJSON (removeFieldLabelPrefix "listCustomField")
+
+instance Default ListCustomField
diff --git a/src/DocuSign/Base/Types/ListItem.hs b/src/DocuSign/Base/Types/ListItem.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ListItem.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.ListItem where
+
+import DocuSign.Base.Types.Common
+
+data ListItem = ListItem
+  { listItemSelected :: Maybe Text
+  , listItemText     :: Maybe Text
+  , listItemValue    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ListItem where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "listItem")
+instance ToJSON ListItem where
+  toJSON = genericToJSON (removeFieldLabelPrefix "listItem")
+
+instance Default ListItem
diff --git a/src/DocuSign/Base/Types/LockRequest.hs b/src/DocuSign/Base/Types/LockRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/LockRequest.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.LockRequest where
+
+import DocuSign.Base.Types.Common
+
+data LockRequest = LockRequest
+  { lockRequestLockDurationInSeconds :: Maybe Text
+  , lockRequestLockedByApp           :: Maybe Text
+  , lockRequestLockType              :: Maybe Text
+  , lockRequestTemplatePassword      :: Maybe Text
+  , lockRequestUseScratchPad         :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON LockRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "lockRequest")
+instance ToJSON LockRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "lockRequest")
+
+instance Default LockRequest
diff --git a/src/DocuSign/Base/Types/LoginAccount.hs b/src/DocuSign/Base/Types/LoginAccount.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/LoginAccount.hs
@@ -0,0 +1,25 @@
+module DocuSign.Base.Types.LoginAccount where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NameValue
+
+data LoginAccount = LoginAccount
+  { loginAccountAccountId            :: Maybe Text
+  , loginAccountAccountIdGuid        :: Maybe Text
+  , loginAccountBaseUrl              :: Maybe Text
+  , loginAccountEmail                :: Maybe Text
+  , loginAccountIsDefault            :: Maybe Text
+  , loginAccountLoginAccountSettings :: Maybe [NameValue]
+  , loginAccountLoginUserSettings    :: Maybe [NameValue]
+  , loginAccountName                 :: Maybe Text
+  , loginAccountSiteDescription      :: Maybe Text
+  , loginAccountUserId               :: Maybe Text
+  , loginAccountUserName             :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON LoginAccount where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "loginAccount")
+instance ToJSON LoginAccount where
+  toJSON = genericToJSON (removeFieldLabelPrefix "loginAccount")
+
+instance Default LoginAccount
diff --git a/src/DocuSign/Base/Types/MatchBox.hs b/src/DocuSign/Base/Types/MatchBox.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/MatchBox.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.MatchBox where
+
+import DocuSign.Base.Types.Common
+
+data MatchBox = MatchBox
+  { matchBoxHeight     :: Maybe Int
+  , matchBoxPageNumber :: Maybe Int
+  , matchBoxWidth      :: Maybe Int
+  , matchBoxXPosition  :: Maybe Int
+  , matchBoxYPosition  :: Maybe Int
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON MatchBox where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "matchBox")
+instance ToJSON MatchBox where
+  toJSON = genericToJSON (removeFieldLabelPrefix "matchBox")
+
+instance Default MatchBox
diff --git a/src/DocuSign/Base/Types/MemberGroupSharedItem.hs b/src/DocuSign/Base/Types/MemberGroupSharedItem.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/MemberGroupSharedItem.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.MemberGroupSharedItem where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.Group
+
+data MemberGroupSharedItem = MemberGroupSharedItem
+  { memberGroupSharedItemErrorDetails :: Maybe ErrorDetails
+  , memberGroupSharedItemGroup        :: Maybe Group
+  , memberGroupSharedItemShared       :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON MemberGroupSharedItem where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "memberGroupSharedItem")
+instance ToJSON MemberGroupSharedItem where
+  toJSON = genericToJSON (removeFieldLabelPrefix "memberGroupSharedItem")
+
+instance Default MemberGroupSharedItem
diff --git a/src/DocuSign/Base/Types/MemberSharedItems.hs b/src/DocuSign/Base/Types/MemberSharedItems.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/MemberSharedItems.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.MemberSharedItems where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.SharedItem
+import DocuSign.Base.Types.TemplateSharedItem
+import DocuSign.Base.Types.UserInfo
+
+data MemberSharedItems = MemberSharedItems
+  { memberSharedItemsEnvelopes    :: Maybe [SharedItem]
+  , memberSharedItemsErrorDetails :: Maybe ErrorDetails
+  , memberSharedItemsTemplates    :: Maybe [TemplateSharedItem]
+  , memberSharedItemsUser         :: Maybe UserInfo
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON MemberSharedItems where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "memberSharedItems")
+instance ToJSON MemberSharedItems where
+  toJSON = genericToJSON (removeFieldLabelPrefix "memberSharedItems")
+
+instance Default MemberSharedItems
diff --git a/src/DocuSign/Base/Types/MergeField.hs b/src/DocuSign/Base/Types/MergeField.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/MergeField.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.MergeField where
+
+import DocuSign.Base.Types.Common
+
+data MergeField = MergeField
+  { mergeFieldAllowSenderToEdit :: Maybe Text
+  , mergeFieldConfigurationType :: Maybe Text
+  , mergeFieldPath              :: Maybe Text
+  , mergeFieldRow               :: Maybe Text
+  , mergeFieldWriteBack         :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON MergeField where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "mergeField")
+instance ToJSON MergeField where
+  toJSON = genericToJSON (removeFieldLabelPrefix "mergeField")
+
+instance Default MergeField
diff --git a/src/DocuSign/Base/Types/MobileNotifierConfiguration.hs b/src/DocuSign/Base/Types/MobileNotifierConfiguration.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/MobileNotifierConfiguration.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.MobileNotifierConfiguration where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data MobileNotifierConfiguration = MobileNotifierConfiguration
+  { mobileNotifierConfigurationDeviceId     :: Maybe Text
+  , mobileNotifierConfigurationErrorDetails :: Maybe ErrorDetails
+  , mobileNotifierConfigurationPlatform     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON MobileNotifierConfiguration where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "mobileNotifierConfiguration")
+instance ToJSON MobileNotifierConfiguration where
+  toJSON = genericToJSON (removeFieldLabelPrefix "mobileNotifierConfiguration")
+
+instance Default MobileNotifierConfiguration
diff --git a/src/DocuSign/Base/Types/Money.hs b/src/DocuSign/Base/Types/Money.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Money.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.Money where
+
+import DocuSign.Base.Types.Common
+
+data Money = Money
+  { moneyAmountInBaseUnit :: Maybe Text
+  , moneyCurrency         :: Maybe Text
+  , moneyDisplayAmount    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Money where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "money")
+instance ToJSON Money where
+  toJSON = genericToJSON (removeFieldLabelPrefix "money")
+
+instance Default Money
diff --git a/src/DocuSign/Base/Types/NameValue.hs b/src/DocuSign/Base/Types/NameValue.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/NameValue.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.NameValue where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data NameValue = NameValue
+  { nameValueErrorDetails  :: Maybe ErrorDetails
+  , nameValueName          :: Maybe Text
+  , nameValueOriginalValue :: Maybe Text
+  , nameValueValue         :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON NameValue where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "nameValue")
+instance ToJSON NameValue where
+  toJSON = genericToJSON (removeFieldLabelPrefix "nameValue")
+
+instance Default NameValue
diff --git a/src/DocuSign/Base/Types/NewAccountDefinition.hs b/src/DocuSign/Base/Types/NewAccountDefinition.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/NewAccountDefinition.hs
@@ -0,0 +1,32 @@
+module DocuSign.Base.Types.NewAccountDefinition where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountAddress
+import DocuSign.Base.Types.CreditCardInformation
+import DocuSign.Base.Types.NameValue
+import DocuSign.Base.Types.PaymentProcessorInformation
+import DocuSign.Base.Types.PlanInformation
+import DocuSign.Base.Types.ReferralInformation
+import DocuSign.Base.Types.Users
+import DocuSign.Base.Types.UserSocialAccountLogins
+
+data NewAccountDefinition = NewAccountDefinition
+  { newAccountDefinitionAccountName                 :: Maybe Text
+  , newAccountDefinitionAccountSettings             :: Maybe [NameValue]
+  , newAccountDefinitionAddressInformation          :: Maybe AccountAddress
+  , newAccountDefinitionCreditCardInformation       :: Maybe CreditCardInformation
+  , newAccountDefinitionDistributorCode             :: Maybe Text
+  , newAccountDefinitionDistributorPassword         :: Maybe Text
+  , newAccountDefinitionInitialUser                 :: Maybe Users
+  , newAccountDefinitionPaymentProcessorInformation :: Maybe PaymentProcessorInformation
+  , newAccountDefinitionPlanInformation             :: Maybe PlanInformation
+  , newAccountDefinitionReferralInformation         :: Maybe ReferralInformation
+  , newAccountDefinitionSocialAccountInformation    :: Maybe UserSocialAccountLogins
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON NewAccountDefinition where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "newAccountDefinition")
+instance ToJSON NewAccountDefinition where
+  toJSON = genericToJSON (removeFieldLabelPrefix "newAccountDefinition")
+
+instance Default NewAccountDefinition
diff --git a/src/DocuSign/Base/Types/NewAccountSummary.hs b/src/DocuSign/Base/Types/NewAccountSummary.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/NewAccountSummary.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.NewAccountSummary where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BillingPlanPreview
+
+data NewAccountSummary = NewAccountSummary
+  { newAccountSummaryAccountId          :: Maybe Text
+  , newAccountSummaryAccountIdGuid      :: Maybe Text
+  , newAccountSummaryAccountName        :: Maybe Text
+  , newAccountSummaryApiPassword        :: Maybe Text
+  , newAccountSummaryBaseUrl            :: Maybe Text
+  , newAccountSummaryBillingPlanPreview :: Maybe BillingPlanPreview
+  , newAccountSummaryUserId             :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON NewAccountSummary where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "newAccountSummary")
+instance ToJSON NewAccountSummary where
+  toJSON = genericToJSON (removeFieldLabelPrefix "newAccountSummary")
+
+instance Default NewAccountSummary
diff --git a/src/DocuSign/Base/Types/NewUser.hs b/src/DocuSign/Base/Types/NewUser.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/NewUser.hs
@@ -0,0 +1,24 @@
+module DocuSign.Base.Types.NewUser where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data NewUser = NewUser
+  { newUserApiPassword           :: Maybe Text
+  , newUserCreatedDateTime       :: Maybe Text
+  , newUserEmail                 :: Maybe Text
+  , newUserErrorDetails          :: Maybe ErrorDetails
+  , newUserPermissionProfileId   :: Maybe Text
+  , newUserPermissionProfileName :: Maybe Text
+  , newUserUri                   :: Maybe Text
+  , newUserUserId                :: Maybe Text
+  , newUserUserName              :: Maybe Text
+  , newUserUserStatus            :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON NewUser where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "newUser")
+instance ToJSON NewUser where
+  toJSON = genericToJSON (removeFieldLabelPrefix "newUser")
+
+instance Default NewUser
diff --git a/src/DocuSign/Base/Types/NewUsersDefinition.hs b/src/DocuSign/Base/Types/NewUsersDefinition.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/NewUsersDefinition.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.NewUsersDefinition where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Users
+
+data NewUsersDefinition = NewUsersDefinition
+  { newUsersDefinitionNewUsers :: Maybe [Users]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON NewUsersDefinition where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "newUsersDefinition")
+instance ToJSON NewUsersDefinition where
+  toJSON = genericToJSON (removeFieldLabelPrefix "newUsersDefinition")
+
+instance Default NewUsersDefinition
diff --git a/src/DocuSign/Base/Types/NewUsersSummary.hs b/src/DocuSign/Base/Types/NewUsersSummary.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/NewUsersSummary.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.NewUsersSummary where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NewUser
+
+data NewUsersSummary = NewUsersSummary
+  { newUsersSummaryNewUsers :: Maybe [NewUser]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON NewUsersSummary where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "newUsersSummary")
+instance ToJSON NewUsersSummary where
+  toJSON = genericToJSON (removeFieldLabelPrefix "newUsersSummary")
+
+instance Default NewUsersSummary
diff --git a/src/DocuSign/Base/Types/NotaryHost.hs b/src/DocuSign/Base/Types/NotaryHost.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/NotaryHost.hs
@@ -0,0 +1,64 @@
+module DocuSign.Base.Types.NotaryHost where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AuthenticationStatus
+import DocuSign.Base.Types.DocumentVisibility
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.IdCheckInformationInput
+import DocuSign.Base.Types.PropertyMetadata
+import DocuSign.Base.Types.RecipientAttachment
+import DocuSign.Base.Types.RecipientEmailNotification
+import DocuSign.Base.Types.RecipientPhoneAuthentication
+import DocuSign.Base.Types.RecipientSAMLAuthentication
+import DocuSign.Base.Types.RecipientSMSAuthentication
+import DocuSign.Base.Types.SocialAuthentication
+
+data NotaryHost = NotaryHost
+  { notaryHostAccessCode                            :: Maybe Text
+  , notaryHostAddAccessCodeToEmail                  :: Maybe Text
+  , notaryHostClientUserId                          :: Maybe Text
+  , notaryHostCustomFields                          :: Maybe [Text]
+  , notaryHostDeclinedDateTime                      :: Maybe Text
+  , notaryHostDeclinedReason                        :: Maybe Text
+  , notaryHostDeliveredDateTime                     :: Maybe Text
+  , notaryHostDeliveryMethod                        :: Maybe Text
+  , notaryHostDocumentVisibility                    :: Maybe [DocumentVisibility]
+  , notaryHostEmail                                 :: Maybe Text
+  , notaryHostEmailNotification                     :: Maybe RecipientEmailNotification
+  , notaryHostEmbeddedRecipientStartURL             :: Maybe Text
+  , notaryHostErrorDetails                          :: Maybe ErrorDetails
+  , notaryHostFaxNumber                             :: Maybe Text
+  , notaryHostHostRecipientId                       :: Maybe Text
+  , notaryHostIdCheckConfigurationName              :: Maybe Text
+  , notaryHostIdCheckInformationInput               :: Maybe IdCheckInformationInput
+  , notaryHostInheritEmailNotificationConfiguration :: Maybe Text
+  , notaryHostName                                  :: Maybe Text
+  , notaryHostNotaryEmailMetadata                   :: Maybe PropertyMetadata
+  , notaryHostNotaryNameMetadata                    :: Maybe PropertyMetadata
+  , notaryHostNote                                  :: Maybe Text
+  , notaryHostPhoneAuthentication                   :: Maybe RecipientPhoneAuthentication
+  , notaryHostRecipientAttachments                  :: Maybe [RecipientAttachment]
+  , notaryHostRecipientAuthenticationStatus         :: Maybe AuthenticationStatus
+  , notaryHostRecipientId                           :: Maybe Text
+  , notaryHostRecipientIdGuid                       :: Maybe Text
+  , notaryHostRequireIdLookup                       :: Maybe Text
+  , notaryHostRoleName                              :: Maybe Text
+  , notaryHostRoutingOrder                          :: Maybe Text
+  , notaryHostSamlAuthentication                    :: Maybe RecipientSAMLAuthentication
+  , notaryHostSentDateTime                          :: Maybe Text
+  , notaryHostSignedDateTime                        :: Maybe Text
+  , notaryHostSmsAuthentication                     :: Maybe RecipientSMSAuthentication
+  , notaryHostSocialAuthentications                 :: Maybe [SocialAuthentication]
+  , notaryHostStatus                                :: Maybe Text
+  , notaryHostTemplateLocked                        :: Maybe Text
+  , notaryHostTemplateRequired                      :: Maybe Text
+  , notaryHostTotalTabCount                         :: Maybe Text
+  , notaryHostUserId                                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON NotaryHost where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "notaryHost")
+instance ToJSON NotaryHost where
+  toJSON = genericToJSON (removeFieldLabelPrefix "notaryHost")
+
+instance Default NotaryHost
diff --git a/src/DocuSign/Base/Types/Note.hs b/src/DocuSign/Base/Types/Note.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Note.hs
@@ -0,0 +1,50 @@
+module DocuSign.Base.Types.Note where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data Note = Note
+  { noteAnchorCaseSensitive       :: Maybe Text
+  , noteAnchorHorizontalAlignment :: Maybe Text
+  , noteAnchorIgnoreIfNotPresent  :: Maybe Text
+  , noteAnchorMatchWholeWord      :: Maybe Text
+  , noteAnchorString              :: Maybe Text
+  , noteAnchorUnits               :: Maybe Text
+  , noteAnchorXOffset             :: Maybe Text
+  , noteAnchorYOffset             :: Maybe Text
+  , noteBold                      :: Maybe Text
+  , noteConditionalParentLabel    :: Maybe Text
+  , noteConditionalParentValue    :: Maybe Text
+  , noteCustomTabId               :: Maybe Text
+  , noteDocumentId                :: Maybe Text
+  , noteErrorDetails              :: Maybe ErrorDetails
+  , noteFont                      :: Maybe Text
+  , noteFontColor                 :: Maybe Text
+  , noteFontSize                  :: Maybe Text
+  , noteHeight                    :: Maybe Int
+  , noteItalic                    :: Maybe Text
+  , noteMergeField                :: Maybe MergeField
+  , noteName                      :: Maybe Text
+  , notePageNumber                :: Maybe Text
+  , noteRecipientId               :: Maybe Text
+  , noteShared                    :: Maybe Text
+  , noteStatus                    :: Maybe Text
+  , noteTabId                     :: Maybe Text
+  , noteTabLabel                  :: Maybe Text
+  , noteTabOrder                  :: Maybe Text
+  , noteTemplateLocked            :: Maybe Text
+  , noteTemplateRequired          :: Maybe Text
+  , noteUnderline                 :: Maybe Text
+  , noteValue                     :: Maybe Text
+  , noteWidth                     :: Maybe Int
+  , noteXPosition                 :: Maybe Text
+  , noteYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Note where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "note")
+instance ToJSON Note where
+  toJSON = genericToJSON (removeFieldLabelPrefix "note")
+
+instance Default Note
diff --git a/src/DocuSign/Base/Types/Notification.hs b/src/DocuSign/Base/Types/Notification.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Notification.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.Notification where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Expirations
+import DocuSign.Base.Types.Reminders
+
+data Notification = Notification
+  { notificationExpirations        :: Maybe Expirations
+  , notificationReminders          :: Maybe Reminders
+  , notificationUseAccountDefaults :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Notification where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "notification")
+instance ToJSON Notification where
+  toJSON = genericToJSON (removeFieldLabelPrefix "notification")
+
+instance Default Notification
diff --git a/src/DocuSign/Base/Types/Number.hs b/src/DocuSign/Base/Types/Number.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Number.hs
@@ -0,0 +1,62 @@
+module DocuSign.Base.Types.Number where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data Number = Number
+  { numberAnchorCaseSensitive          :: Maybe Text
+  , numberAnchorHorizontalAlignment    :: Maybe Text
+  , numberAnchorIgnoreIfNotPresent     :: Maybe Text
+  , numberAnchorMatchWholeWord         :: Maybe Text
+  , numberAnchorString                 :: Maybe Text
+  , numberAnchorUnits                  :: Maybe Text
+  , numberAnchorXOffset                :: Maybe Text
+  , numberAnchorYOffset                :: Maybe Text
+  , numberBold                         :: Maybe Text
+  , numberConcealValueOnDocument       :: Maybe Text
+  , numberConditionalParentLabel       :: Maybe Text
+  , numberConditionalParentValue       :: Maybe Text
+  , numberCustomTabId                  :: Maybe Text
+  , numberDisableAutoSize              :: Maybe Text
+  , numberDocumentId                   :: Maybe Text
+  , numberErrorDetails                 :: Maybe ErrorDetails
+  , numberFont                         :: Maybe Text
+  , numberFontColor                    :: Maybe Text
+  , numberFontSize                     :: Maybe Text
+  , numberFormula                      :: Maybe Text
+  , numberIsPaymentAmount              :: Maybe Text
+  , numberItalic                       :: Maybe Text
+  , numberLocked                       :: Maybe Text
+  , numberMaxLength                    :: Maybe Int
+  , numberMergeField                   :: Maybe MergeField
+  , numberName                         :: Maybe Text
+  , numberOriginalValue                :: Maybe Text
+  , numberPageNumber                   :: Maybe Text
+  , numberRecipientId                  :: Maybe Text
+  , numberRequireAll                   :: Maybe Text
+  , numberRequired                     :: Maybe Text
+  , numberRequireInitialOnSharedChange :: Maybe Text
+  , numberSenderRequired               :: Maybe Text
+  , numberShared                       :: Maybe Text
+  , numberStatus                       :: Maybe Text
+  , numberTabId                        :: Maybe Text
+  , numberTabLabel                     :: Maybe Text
+  , numberTabOrder                     :: Maybe Text
+  , numberTemplateLocked               :: Maybe Text
+  , numberTemplateRequired             :: Maybe Text
+  , numberUnderline                    :: Maybe Text
+  , numberValidationMessage            :: Maybe Text
+  , numberValidationPattern            :: Maybe Text
+  , numberValue                        :: Maybe Text
+  , numberWidth                        :: Maybe Int
+  , numberXPosition                    :: Maybe Text
+  , numberYPosition                    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Number where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "number")
+instance ToJSON Number where
+  toJSON = genericToJSON (removeFieldLabelPrefix "number")
+
+instance Default Number
diff --git a/src/DocuSign/Base/Types/OauthAccess.hs b/src/DocuSign/Base/Types/OauthAccess.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/OauthAccess.hs
@@ -0,0 +1,20 @@
+module DocuSign.Base.Types.OauthAccess where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NameValue
+
+data OauthAccess = OauthAccess
+  { oauthAccessAccess'Underscoretoken  :: Maybe Text
+  , oauthAccessData                    :: Maybe [NameValue]
+  , oauthAccessExpires'Underscorein    :: Maybe Text
+  , oauthAccessRefresh'Underscoretoken :: Maybe Text
+  , oauthAccessScope                   :: Maybe Text
+  , oauthAccessToken'Underscoretype    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON OauthAccess where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "oauthAccess")
+instance ToJSON OauthAccess where
+  toJSON = genericToJSON (removeFieldLabelPrefix "oauthAccess")
+
+instance Default OauthAccess
diff --git a/src/DocuSign/Base/Types/Page.hs b/src/DocuSign/Base/Types/Page.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Page.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.Page where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data Page = Page
+  { pageDpi          :: Maybe Text
+  , pageErrorDetails :: Maybe ErrorDetails
+  , pageHeight       :: Maybe Text
+  , pageImageBytes   :: Maybe Text
+  , pageMimeType     :: Maybe Text
+  , pagePageId       :: Maybe Text
+  , pageSequence     :: Maybe Text
+  , pageWidth        :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Page where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "page")
+instance ToJSON Page where
+  toJSON = genericToJSON (removeFieldLabelPrefix "page")
+
+instance Default Page
diff --git a/src/DocuSign/Base/Types/PageImages.hs b/src/DocuSign/Base/Types/PageImages.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PageImages.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.PageImages where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Page
+
+data PageImages = PageImages
+  { pageImagesEndPosition   :: Maybe Text
+  , pageImagesNextUri       :: Maybe Text
+  , pageImagesPages         :: Maybe [Page]
+  , pageImagesPreviousUri   :: Maybe Text
+  , pageImagesResultSetSize :: Maybe Text
+  , pageImagesStartPosition :: Maybe Text
+  , pageImagesTotalSetSize  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PageImages where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "pageImages")
+instance ToJSON PageImages where
+  toJSON = genericToJSON (removeFieldLabelPrefix "pageImages")
+
+instance Default PageImages
diff --git a/src/DocuSign/Base/Types/PageRequest.hs b/src/DocuSign/Base/Types/PageRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PageRequest.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.PageRequest where
+
+import DocuSign.Base.Types.Common
+
+data PageRequest = PageRequest
+  { pageRequestPassword :: Maybe Text
+  , pageRequestRotate   :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PageRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "pageRequest")
+instance ToJSON PageRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "pageRequest")
+
+instance Default PageRequest
diff --git a/src/DocuSign/Base/Types/PaymentDetails.hs b/src/DocuSign/Base/Types/PaymentDetails.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PaymentDetails.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.PaymentDetails where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Money
+import DocuSign.Base.Types.PaymentLineItem
+
+data PaymentDetails = PaymentDetails
+  { paymentDetailsChargeId         :: Maybe Text
+  , paymentDetailsCurrencyCode     :: Maybe Text
+  , paymentDetailsGatewayAccountId :: Maybe Text
+  , paymentDetailsGatewayName      :: Maybe Text
+  , paymentDetailsLineItems        :: Maybe [PaymentLineItem]
+  , paymentDetailsStatus           :: Maybe Text
+  , paymentDetailsTotal            :: Maybe Money
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PaymentDetails where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "paymentDetails")
+instance ToJSON PaymentDetails where
+  toJSON = genericToJSON (removeFieldLabelPrefix "paymentDetails")
+
+instance Default PaymentDetails
diff --git a/src/DocuSign/Base/Types/PaymentGatewayAccounts.hs b/src/DocuSign/Base/Types/PaymentGatewayAccounts.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PaymentGatewayAccounts.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.PaymentGatewayAccounts where
+
+import DocuSign.Base.Types.Common
+
+data PaymentGatewayAccounts = PaymentGatewayAccounts
+  { paymentGatewayAccountsDisplayName             :: Maybe Text
+  , paymentGatewayAccountsPaymentGateway          :: Maybe Text
+  , paymentGatewayAccountsPaymentGatewayAccountId :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PaymentGatewayAccounts where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "paymentGatewayAccounts")
+instance ToJSON PaymentGatewayAccounts where
+  toJSON = genericToJSON (removeFieldLabelPrefix "paymentGatewayAccounts")
+
+instance Default PaymentGatewayAccounts
diff --git a/src/DocuSign/Base/Types/PaymentGatewayAccountsInfo.hs b/src/DocuSign/Base/Types/PaymentGatewayAccountsInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PaymentGatewayAccountsInfo.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.PaymentGatewayAccountsInfo where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.PaymentGatewayAccounts
+
+data PaymentGatewayAccountsInfo = PaymentGatewayAccountsInfo
+  { paymentGatewayAccountsInfoPaymentGatewayAccounts :: Maybe [PaymentGatewayAccounts]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PaymentGatewayAccountsInfo where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "paymentGatewayAccountsInfo")
+instance ToJSON PaymentGatewayAccountsInfo where
+  toJSON = genericToJSON (removeFieldLabelPrefix "paymentGatewayAccountsInfo")
+
+instance Default PaymentGatewayAccountsInfo
diff --git a/src/DocuSign/Base/Types/PaymentLineItem.hs b/src/DocuSign/Base/Types/PaymentLineItem.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PaymentLineItem.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.PaymentLineItem where
+
+import DocuSign.Base.Types.Common
+
+data PaymentLineItem = PaymentLineItem
+  { paymentLineItemAmountReference :: Maybe Text
+  , paymentLineItemDescription     :: Maybe Text
+  , paymentLineItemItemCode        :: Maybe Text
+  , paymentLineItemName            :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PaymentLineItem where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "paymentLineItem")
+instance ToJSON PaymentLineItem where
+  toJSON = genericToJSON (removeFieldLabelPrefix "paymentLineItem")
+
+instance Default PaymentLineItem
diff --git a/src/DocuSign/Base/Types/PaymentProcessorInformation.hs b/src/DocuSign/Base/Types/PaymentProcessorInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PaymentProcessorInformation.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.PaymentProcessorInformation where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AddressInformation
+
+data PaymentProcessorInformation = PaymentProcessorInformation
+  { paymentProcessorInformationAddress            :: Maybe AddressInformation
+  , paymentProcessorInformationBillingAgreementId :: Maybe Text
+  , paymentProcessorInformationEmail              :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PaymentProcessorInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "paymentProcessorInformation")
+instance ToJSON PaymentProcessorInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "paymentProcessorInformation")
+
+instance Default PaymentProcessorInformation
diff --git a/src/DocuSign/Base/Types/Payments.hs b/src/DocuSign/Base/Types/Payments.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Payments.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.Payments where
+
+import DocuSign.Base.Types.Common
+
+data Payments = Payments
+  { paymentsAmount        :: Maybe Text
+  , paymentsDescription   :: Maybe Text
+  , paymentsPaymentDate   :: Maybe Text
+  , paymentsPaymentId     :: Maybe Text
+  , paymentsPaymentNumber :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Payments where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "payments")
+instance ToJSON Payments where
+  toJSON = genericToJSON (removeFieldLabelPrefix "payments")
+
+instance Default Payments
diff --git a/src/DocuSign/Base/Types/PermissionProfileInformation.hs b/src/DocuSign/Base/Types/PermissionProfileInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PermissionProfileInformation.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.PermissionProfileInformation where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountPermissionProfiles
+
+data PermissionProfileInformation = PermissionProfileInformation
+  { permissionProfileInformationPermissionProfiles :: Maybe [AccountPermissionProfiles]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PermissionProfileInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "permissionProfileInformation")
+instance ToJSON PermissionProfileInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "permissionProfileInformation")
+
+instance Default PermissionProfileInformation
diff --git a/src/DocuSign/Base/Types/PlanInformation.hs b/src/DocuSign/Base/Types/PlanInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PlanInformation.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.PlanInformation where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AddOn
+import DocuSign.Base.Types.FeatureSet
+import DocuSign.Base.Types.RecipientDomain
+
+data PlanInformation = PlanInformation
+  { planInformationAddOns                :: Maybe [AddOn]
+  , planInformationCurrencyCode          :: Maybe Text
+  , planInformationFreeTrialDaysOverride :: Maybe Text
+  , planInformationPlanFeatureSets       :: Maybe [FeatureSet]
+  , planInformationPlanId                :: Maybe Text
+  , planInformationRecipientDomains      :: Maybe [RecipientDomain]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PlanInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "planInformation")
+instance ToJSON PlanInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "planInformation")
+
+instance Default PlanInformation
diff --git a/src/DocuSign/Base/Types/PostTransactionsResponse.hs b/src/DocuSign/Base/Types/PostTransactionsResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PostTransactionsResponse.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.PostTransactionsResponse where
+
+import DocuSign.Base.Types.Common
+
+data PostTransactionsResponse = PostTransactionsResponse
+  { postTransactionsResponseDocumentData   :: Maybe Text
+  , postTransactionsResponseTransactionSid :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PostTransactionsResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "postTransactionsResponse")
+instance ToJSON PostTransactionsResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "postTransactionsResponse")
+
+instance Default PostTransactionsResponse
diff --git a/src/DocuSign/Base/Types/PowerFormData.hs b/src/DocuSign/Base/Types/PowerFormData.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PowerFormData.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.PowerFormData where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.PowerFormFormDataRecipient
+
+data PowerFormData = PowerFormData
+  { powerFormDataEnvelopeId :: Maybe Text
+  , powerFormDataRecipients :: Maybe [PowerFormFormDataRecipient]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PowerFormData where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "powerFormData")
+instance ToJSON PowerFormData where
+  toJSON = genericToJSON (removeFieldLabelPrefix "powerFormData")
+
+instance Default PowerFormData
diff --git a/src/DocuSign/Base/Types/PowerFormFormDataRecipient.hs b/src/DocuSign/Base/Types/PowerFormFormDataRecipient.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PowerFormFormDataRecipient.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.PowerFormFormDataRecipient where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NameValue
+
+data PowerFormFormDataRecipient = PowerFormFormDataRecipient
+  { powerFormFormDataRecipientEmail       :: Maybe Text
+  , powerFormFormDataRecipientFormData    :: Maybe [NameValue]
+  , powerFormFormDataRecipientName        :: Maybe Text
+  , powerFormFormDataRecipientRecipientId :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PowerFormFormDataRecipient where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "powerFormFormDataRecipient")
+instance ToJSON PowerFormFormDataRecipient where
+  toJSON = genericToJSON (removeFieldLabelPrefix "powerFormFormDataRecipient")
+
+instance Default PowerFormFormDataRecipient
diff --git a/src/DocuSign/Base/Types/PowerFormRecipient.hs b/src/DocuSign/Base/Types/PowerFormRecipient.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PowerFormRecipient.hs
@@ -0,0 +1,26 @@
+module DocuSign.Base.Types.PowerFormRecipient where
+
+import DocuSign.Base.Types.Common
+
+data PowerFormRecipient = PowerFormRecipient
+  { powerFormRecipientAccessCode               :: Maybe Text
+  , powerFormRecipientAccessCodeLocked         :: Maybe Text
+  , powerFormRecipientAccessCodeRequired       :: Maybe Text
+  , powerFormRecipientEmail                    :: Maybe Text
+  , powerFormRecipientEmailLocked              :: Maybe Text
+  , powerFormRecipientIdCheckConfigurationName :: Maybe Text
+  , powerFormRecipientIdCheckRequired          :: Maybe Text
+  , powerFormRecipientName                     :: Maybe Text
+  , powerFormRecipientRecipientType            :: Maybe Text
+  , powerFormRecipientRoleName                 :: Maybe Text
+  , powerFormRecipientRoutingOrder             :: Maybe Text
+  , powerFormRecipientTemplateRequiresIdLookup :: Maybe Text
+  , powerFormRecipientUserNameLocked           :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PowerFormRecipient where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "powerFormRecipient")
+instance ToJSON PowerFormRecipient where
+  toJSON = genericToJSON (removeFieldLabelPrefix "powerFormRecipient")
+
+instance Default PowerFormRecipient
diff --git a/src/DocuSign/Base/Types/PowerFormSendersResponse.hs b/src/DocuSign/Base/Types/PowerFormSendersResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PowerFormSendersResponse.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.PowerFormSendersResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.UserInfo
+
+data PowerFormSendersResponse = PowerFormSendersResponse
+  { powerFormSendersResponseEndPosition      :: Maybe Text
+  , powerFormSendersResponseNextUri          :: Maybe Text
+  , powerFormSendersResponsePowerFormSenders :: Maybe [UserInfo]
+  , powerFormSendersResponsePreviousUri      :: Maybe Text
+  , powerFormSendersResponseResultSetSize    :: Maybe Text
+  , powerFormSendersResponseStartPosition    :: Maybe Text
+  , powerFormSendersResponseTotalSetSize     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PowerFormSendersResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "powerFormSendersResponse")
+instance ToJSON PowerFormSendersResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "powerFormSendersResponse")
+
+instance Default PowerFormSendersResponse
diff --git a/src/DocuSign/Base/Types/PowerForms.hs b/src/DocuSign/Base/Types/PowerForms.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PowerForms.hs
@@ -0,0 +1,40 @@
+module DocuSign.Base.Types.PowerForms where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Envelopes
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.PowerFormRecipient
+
+data PowerForms = PowerForms
+  { powerFormsCreatedDateTime         :: Maybe Text
+  , powerFormsEmailBody               :: Maybe Text
+  , powerFormsEmailSubject            :: Maybe Text
+  , powerFormsEnvelopes               :: Maybe [Envelopes]
+  , powerFormsErrorDetails            :: Maybe ErrorDetails
+  , powerFormsInstructions            :: Maybe Text
+  , powerFormsIsActive                :: Maybe Text
+  , powerFormsLastUsed                :: Maybe Text
+  , powerFormsLimitUseInterval        :: Maybe Text
+  , powerFormsLimitUseIntervalEnabled :: Maybe Text
+  , powerFormsLimitUseIntervalUnits   :: Maybe Text
+  , powerFormsMaxUseEnabled           :: Maybe Text
+  , powerFormsName                    :: Maybe Text
+  , powerFormsPowerFormId             :: Maybe Text
+  , powerFormsPowerFormUrl            :: Maybe Text
+  , powerFormsRecipients              :: Maybe [PowerFormRecipient]
+  , powerFormsSenderName              :: Maybe Text
+  , powerFormsSenderUserId            :: Maybe Text
+  , powerFormsSigningMode             :: Maybe Text
+  , powerFormsTemplateId              :: Maybe Text
+  , powerFormsTemplateName            :: Maybe Text
+  , powerFormsTimesUsed               :: Maybe Text
+  , powerFormsUri                     :: Maybe Text
+  , powerFormsUsesRemaining           :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PowerForms where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "powerForms")
+instance ToJSON PowerForms where
+  toJSON = genericToJSON (removeFieldLabelPrefix "powerForms")
+
+instance Default PowerForms
diff --git a/src/DocuSign/Base/Types/PowerFormsFormDataResponse.hs b/src/DocuSign/Base/Types/PowerFormsFormDataResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PowerFormsFormDataResponse.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.PowerFormsFormDataResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.PowerFormData
+
+data PowerFormsFormDataResponse = PowerFormsFormDataResponse
+  { powerFormsFormDataResponseEnvelopes :: Maybe [PowerFormData]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PowerFormsFormDataResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "powerFormsFormDataResponse")
+instance ToJSON PowerFormsFormDataResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "powerFormsFormDataResponse")
+
+instance Default PowerFormsFormDataResponse
diff --git a/src/DocuSign/Base/Types/PowerFormsRequest.hs b/src/DocuSign/Base/Types/PowerFormsRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PowerFormsRequest.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.PowerFormsRequest where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.PowerForms
+
+data PowerFormsRequest = PowerFormsRequest
+  { powerFormsRequestPowerForms :: Maybe [PowerForms]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PowerFormsRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "powerFormsRequest")
+instance ToJSON PowerFormsRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "powerFormsRequest")
+
+instance Default PowerFormsRequest
diff --git a/src/DocuSign/Base/Types/PowerFormsResponse.hs b/src/DocuSign/Base/Types/PowerFormsResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PowerFormsResponse.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.PowerFormsResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.PowerForms
+
+data PowerFormsResponse = PowerFormsResponse
+  { powerFormsResponseEndPosition   :: Maybe Text
+  , powerFormsResponseNextUri       :: Maybe Text
+  , powerFormsResponsePowerForms    :: Maybe [PowerForms]
+  , powerFormsResponsePreviousUri   :: Maybe Text
+  , powerFormsResponseResultSetSize :: Maybe Text
+  , powerFormsResponseStartPosition :: Maybe Text
+  , powerFormsResponseTotalSetSize  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PowerFormsResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "powerFormsResponse")
+instance ToJSON PowerFormsResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "powerFormsResponse")
+
+instance Default PowerFormsResponse
diff --git a/src/DocuSign/Base/Types/PropertyMetadata.hs b/src/DocuSign/Base/Types/PropertyMetadata.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PropertyMetadata.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.PropertyMetadata where
+
+import DocuSign.Base.Types.Common
+
+data PropertyMetadata = PropertyMetadata
+  { propertyMetadataOptions :: Maybe [Text]
+  , propertyMetadataRights  :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PropertyMetadata where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "propertyMetadata")
+instance ToJSON PropertyMetadata where
+  toJSON = genericToJSON (removeFieldLabelPrefix "propertyMetadata")
+
+instance Default PropertyMetadata
diff --git a/src/DocuSign/Base/Types/Province.hs b/src/DocuSign/Base/Types/Province.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Province.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.Province where
+
+import DocuSign.Base.Types.Common
+
+data Province = Province
+  { provinceIsoCode :: Maybe Text
+  , provinceName    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Province where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "province")
+instance ToJSON Province where
+  toJSON = genericToJSON (removeFieldLabelPrefix "province")
+
+instance Default Province
diff --git a/src/DocuSign/Base/Types/ProvisioningInformation.hs b/src/DocuSign/Base/Types/ProvisioningInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ProvisioningInformation.hs
@@ -0,0 +1,20 @@
+module DocuSign.Base.Types.ProvisioningInformation where
+
+import DocuSign.Base.Types.Common
+
+data ProvisioningInformation = ProvisioningInformation
+  { provisioningInformationDefaultConnectionId        :: Maybe Text
+  , provisioningInformationDefaultPlanId              :: Maybe Text
+  , provisioningInformationDistributorCode            :: Maybe Text
+  , provisioningInformationDistributorPassword        :: Maybe Text
+  , provisioningInformationPasswordRuleText           :: Maybe Text
+  , provisioningInformationPlanPromotionText          :: Maybe Text
+  , provisioningInformationPurchaseOrderOrPromAllowed :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ProvisioningInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "provisioningInformation")
+instance ToJSON ProvisioningInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "provisioningInformation")
+
+instance Default ProvisioningInformation
diff --git a/src/DocuSign/Base/Types/PurchasedEnvelopesInformation.hs b/src/DocuSign/Base/Types/PurchasedEnvelopesInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/PurchasedEnvelopesInformation.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.PurchasedEnvelopesInformation where
+
+import DocuSign.Base.Types.Common
+
+data PurchasedEnvelopesInformation = PurchasedEnvelopesInformation
+  { purchasedEnvelopesInformationAmount        :: Maybe Text
+  , purchasedEnvelopesInformationAppName       :: Maybe Text
+  , purchasedEnvelopesInformationCurrencyCode  :: Maybe Text
+  , purchasedEnvelopesInformationPlatform      :: Maybe Text
+  , purchasedEnvelopesInformationProductId     :: Maybe Text
+  , purchasedEnvelopesInformationQuantity      :: Maybe Text
+  , purchasedEnvelopesInformationReceiptData   :: Maybe Text
+  , purchasedEnvelopesInformationStoreName     :: Maybe Text
+  , purchasedEnvelopesInformationTransactionId :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON PurchasedEnvelopesInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "purchasedEnvelopesInformation")
+instance ToJSON PurchasedEnvelopesInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "purchasedEnvelopesInformation")
+
+instance Default PurchasedEnvelopesInformation
diff --git a/src/DocuSign/Base/Types/Radio.hs b/src/DocuSign/Base/Types/Radio.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Radio.hs
@@ -0,0 +1,32 @@
+module DocuSign.Base.Types.Radio where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data Radio = Radio
+  { radioAnchorCaseSensitive       :: Maybe Text
+  , radioAnchorHorizontalAlignment :: Maybe Text
+  , radioAnchorIgnoreIfNotPresent  :: Maybe Text
+  , radioAnchorMatchWholeWord      :: Maybe Text
+  , radioAnchorString              :: Maybe Text
+  , radioAnchorUnits               :: Maybe Text
+  , radioAnchorXOffset             :: Maybe Text
+  , radioAnchorYOffset             :: Maybe Text
+  , radioErrorDetails              :: Maybe ErrorDetails
+  , radioLocked                    :: Maybe Text
+  , radioPageNumber                :: Maybe Text
+  , radioRequired                  :: Maybe Text
+  , radioSelected                  :: Maybe Text
+  , radioTabId                     :: Maybe Text
+  , radioTabOrder                  :: Maybe Text
+  , radioValue                     :: Maybe Text
+  , radioXPosition                 :: Maybe Text
+  , radioYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Radio where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "radio")
+instance ToJSON Radio where
+  toJSON = genericToJSON (removeFieldLabelPrefix "radio")
+
+instance Default Radio
diff --git a/src/DocuSign/Base/Types/RadioGroup.hs b/src/DocuSign/Base/Types/RadioGroup.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RadioGroup.hs
@@ -0,0 +1,23 @@
+module DocuSign.Base.Types.RadioGroup where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Radio
+
+data RadioGroup = RadioGroup
+  { radioGroupConditionalParentLabel       :: Maybe Text
+  , radioGroupConditionalParentValue       :: Maybe Text
+  , radioGroupDocumentId                   :: Maybe Text
+  , radioGroupGroupName                    :: Maybe Text
+  , radioGroupRadios                       :: Maybe [Radio]
+  , radioGroupRecipientId                  :: Maybe Text
+  , radioGroupRequireAll                   :: Maybe Text
+  , radioGroupRequireInitialOnSharedChange :: Maybe Text
+  , radioGroupShared                       :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RadioGroup where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "radioGroup")
+instance ToJSON RadioGroup where
+  toJSON = genericToJSON (removeFieldLabelPrefix "radioGroup")
+
+instance Default RadioGroup
diff --git a/src/DocuSign/Base/Types/RecipientAttachment.hs b/src/DocuSign/Base/Types/RecipientAttachment.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientAttachment.hs
@@ -0,0 +1,19 @@
+module DocuSign.Base.Types.RecipientAttachment where
+
+import DocuSign.Base.Types.Common
+
+data RecipientAttachment = RecipientAttachment
+  { recipientAttachmentAttachmentId   :: Maybe Text
+  , recipientAttachmentAttachmentType :: Maybe Text
+  , recipientAttachmentData           :: Maybe Text
+  , recipientAttachmentLabel          :: Maybe Text
+  , recipientAttachmentName           :: Maybe Text
+  , recipientAttachmentRemoteUrl      :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientAttachment where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientAttachment")
+instance ToJSON RecipientAttachment where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientAttachment")
+
+instance Default RecipientAttachment
diff --git a/src/DocuSign/Base/Types/RecipientDomain.hs b/src/DocuSign/Base/Types/RecipientDomain.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientDomain.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.RecipientDomain where
+
+import DocuSign.Base.Types.Common
+
+data RecipientDomain = RecipientDomain
+  { recipientDomainActive            :: Maybe Text
+  , recipientDomainDomainCode        :: Maybe Text
+  , recipientDomainDomainName        :: Maybe Text
+  , recipientDomainRecipientDomainId :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientDomain where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientDomain")
+instance ToJSON RecipientDomain where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientDomain")
+
+instance Default RecipientDomain
diff --git a/src/DocuSign/Base/Types/RecipientEmailNotification.hs b/src/DocuSign/Base/Types/RecipientEmailNotification.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientEmailNotification.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.RecipientEmailNotification where
+
+import DocuSign.Base.Types.Common
+
+data RecipientEmailNotification = RecipientEmailNotification
+  { recipientEmailNotificationEmailBody         :: Maybe Text
+  , recipientEmailNotificationEmailSubject      :: Maybe Text
+  , recipientEmailNotificationSupportedLanguage :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientEmailNotification where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientEmailNotification")
+instance ToJSON RecipientEmailNotification where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientEmailNotification")
+
+instance Default RecipientEmailNotification
diff --git a/src/DocuSign/Base/Types/RecipientEvent.hs b/src/DocuSign/Base/Types/RecipientEvent.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientEvent.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.RecipientEvent where
+
+import DocuSign.Base.Types.Common
+
+data RecipientEvent = RecipientEvent
+  { recipientEventIncludeDocuments         :: Maybe Text
+  , recipientEventRecipientEventStatusCode :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientEvent where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientEvent")
+instance ToJSON RecipientEvent where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientEvent")
+
+instance Default RecipientEvent
diff --git a/src/DocuSign/Base/Types/RecipientFormData.hs b/src/DocuSign/Base/Types/RecipientFormData.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientFormData.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.RecipientFormData where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NameValue
+
+data RecipientFormData = RecipientFormData
+  { recipientFormDataDeclinedTime  :: Maybe Text
+  , recipientFormDataDeliveredTime :: Maybe Text
+  , recipientFormDataEmail         :: Maybe Text
+  , recipientFormDataFormData      :: Maybe [NameValue]
+  , recipientFormDataName          :: Maybe Text
+  , recipientFormDataRecipientId   :: Maybe Text
+  , recipientFormDataSentTime      :: Maybe Text
+  , recipientFormDataSignedTime    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientFormData where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientFormData")
+instance ToJSON RecipientFormData where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientFormData")
+
+instance Default RecipientFormData
diff --git a/src/DocuSign/Base/Types/RecipientNamesResponse.hs b/src/DocuSign/Base/Types/RecipientNamesResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientNamesResponse.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.RecipientNamesResponse where
+
+import DocuSign.Base.Types.Common
+
+data RecipientNamesResponse = RecipientNamesResponse
+  { recipientNamesResponseMultipleUsers          :: Maybe Text
+  , recipientNamesResponseRecipientNames         :: Maybe [Text]
+  , recipientNamesResponseReservedRecipientEmail :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientNamesResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientNamesResponse")
+instance ToJSON RecipientNamesResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientNamesResponse")
+
+instance Default RecipientNamesResponse
diff --git a/src/DocuSign/Base/Types/RecipientPhoneAuthentication.hs b/src/DocuSign/Base/Types/RecipientPhoneAuthentication.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientPhoneAuthentication.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.RecipientPhoneAuthentication where
+
+import DocuSign.Base.Types.Common
+
+data RecipientPhoneAuthentication = RecipientPhoneAuthentication
+  { recipientPhoneAuthenticationRecipMayProvideNumber       :: Maybe Text
+  , recipientPhoneAuthenticationRecordVoicePrint            :: Maybe Text
+  , recipientPhoneAuthenticationSenderProvidedNumbers       :: Maybe [Text]
+  , recipientPhoneAuthenticationValidateRecipProvidedNumber :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientPhoneAuthentication where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientPhoneAuthentication")
+instance ToJSON RecipientPhoneAuthentication where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientPhoneAuthentication")
+
+instance Default RecipientPhoneAuthentication
diff --git a/src/DocuSign/Base/Types/RecipientSAMLAuthentication.hs b/src/DocuSign/Base/Types/RecipientSAMLAuthentication.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientSAMLAuthentication.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.RecipientSAMLAuthentication where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.SamlAssertionAttribute
+
+data RecipientSAMLAuthentication = RecipientSAMLAuthentication
+  { recipientSAMLAuthenticationSamlAssertionAttributes :: Maybe [SamlAssertionAttribute]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientSAMLAuthentication where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientSAMLAuthentication")
+instance ToJSON RecipientSAMLAuthentication where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientSAMLAuthentication")
+
+instance Default RecipientSAMLAuthentication
diff --git a/src/DocuSign/Base/Types/RecipientSMSAuthentication.hs b/src/DocuSign/Base/Types/RecipientSMSAuthentication.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientSMSAuthentication.hs
@@ -0,0 +1,14 @@
+module DocuSign.Base.Types.RecipientSMSAuthentication where
+
+import DocuSign.Base.Types.Common
+
+data RecipientSMSAuthentication = RecipientSMSAuthentication
+  { recipientSMSAuthenticationSenderProvidedNumbers :: Maybe [Text]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientSMSAuthentication where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientSMSAuthentication")
+instance ToJSON RecipientSMSAuthentication where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientSMSAuthentication")
+
+instance Default RecipientSMSAuthentication
diff --git a/src/DocuSign/Base/Types/RecipientSignatureInformation.hs b/src/DocuSign/Base/Types/RecipientSignatureInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientSignatureInformation.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.RecipientSignatureInformation where
+
+import DocuSign.Base.Types.Common
+
+data RecipientSignatureInformation = RecipientSignatureInformation
+  { recipientSignatureInformationFontStyle         :: Maybe Text
+  , recipientSignatureInformationSignatureInitials :: Maybe Text
+  , recipientSignatureInformationSignatureName     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientSignatureInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientSignatureInformation")
+instance ToJSON RecipientSignatureInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientSignatureInformation")
+
+instance Default RecipientSignatureInformation
diff --git a/src/DocuSign/Base/Types/RecipientSignatureProvider.hs b/src/DocuSign/Base/Types/RecipientSignatureProvider.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientSignatureProvider.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.RecipientSignatureProvider where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.RecipientSignatureProviderOptions
+
+data RecipientSignatureProvider = RecipientSignatureProvider
+  { recipientSignatureProviderSignatureProviderName    :: Maybe Text
+  , recipientSignatureProviderSignatureProviderOptions :: Maybe RecipientSignatureProviderOptions
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientSignatureProvider where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientSignatureProvider")
+instance ToJSON RecipientSignatureProvider where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientSignatureProvider")
+
+instance Default RecipientSignatureProvider
diff --git a/src/DocuSign/Base/Types/RecipientSignatureProviderOptions.hs b/src/DocuSign/Base/Types/RecipientSignatureProviderOptions.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientSignatureProviderOptions.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.RecipientSignatureProviderOptions where
+
+import DocuSign.Base.Types.Common
+
+data RecipientSignatureProviderOptions = RecipientSignatureProviderOptions
+  { recipientSignatureProviderOptionsCpfNumber       :: Maybe Text
+  , recipientSignatureProviderOptionsOneTimePassword :: Maybe Text
+  , recipientSignatureProviderOptionsSignerRole      :: Maybe Text
+  , recipientSignatureProviderOptionsSms             :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientSignatureProviderOptions where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientSignatureProviderOptions")
+instance ToJSON RecipientSignatureProviderOptions where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientSignatureProviderOptions")
+
+instance Default RecipientSignatureProviderOptions
diff --git a/src/DocuSign/Base/Types/RecipientUpdateResponse.hs b/src/DocuSign/Base/Types/RecipientUpdateResponse.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientUpdateResponse.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.RecipientUpdateResponse where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.EnvelopeRecipientTabs
+import DocuSign.Base.Types.ErrorDetails
+
+data RecipientUpdateResponse = RecipientUpdateResponse
+  { recipientUpdateResponseErrorDetails :: Maybe ErrorDetails
+  , recipientUpdateResponseRecipientId  :: Maybe Text
+  , recipientUpdateResponseTabs         :: Maybe EnvelopeRecipientTabs
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientUpdateResponse where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientUpdateResponse")
+instance ToJSON RecipientUpdateResponse where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientUpdateResponse")
+
+instance Default RecipientUpdateResponse
diff --git a/src/DocuSign/Base/Types/RecipientViewRequest.hs b/src/DocuSign/Base/Types/RecipientViewRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientViewRequest.hs
@@ -0,0 +1,27 @@
+module DocuSign.Base.Types.RecipientViewRequest where
+
+import DocuSign.Base.Types.Common
+
+data RecipientViewRequest = RecipientViewRequest
+  { recipientViewRequestAssertionId               :: Maybe Text
+  , recipientViewRequestAuthenticationInstant     :: Maybe Text
+  , recipientViewRequestAuthenticationMethod      :: Maybe Text
+  , recipientViewRequestClientUserId              :: Maybe Text
+  , recipientViewRequestEmail                     :: Maybe Text
+  , recipientViewRequestPingFrequency             :: Maybe Text
+  , recipientViewRequestPingUrl                   :: Maybe Text
+  , recipientViewRequestRecipientId               :: Maybe Text
+  , recipientViewRequestReturnUrl                 :: Maybe Text
+  , recipientViewRequestSecurityDomain            :: Maybe Text
+  , recipientViewRequestUserId                    :: Maybe Text
+  , recipientViewRequestUserName                  :: Maybe Text
+  , recipientViewRequestXFrameOptions             :: Maybe Text
+  , recipientViewRequestXFrameOptionsAllowFromUrl :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientViewRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientViewRequest")
+instance ToJSON RecipientViewRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientViewRequest")
+
+instance Default RecipientViewRequest
diff --git a/src/DocuSign/Base/Types/RecipientsUpdateSummary.hs b/src/DocuSign/Base/Types/RecipientsUpdateSummary.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RecipientsUpdateSummary.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.RecipientsUpdateSummary where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.RecipientUpdateResponse
+
+data RecipientsUpdateSummary = RecipientsUpdateSummary
+  { recipientsUpdateSummaryRecipientUpdateResults :: Maybe [RecipientUpdateResponse]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RecipientsUpdateSummary where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "recipientsUpdateSummary")
+instance ToJSON RecipientsUpdateSummary where
+  toJSON = genericToJSON (removeFieldLabelPrefix "recipientsUpdateSummary")
+
+instance Default RecipientsUpdateSummary
diff --git a/src/DocuSign/Base/Types/ReferralInformation.hs b/src/DocuSign/Base/Types/ReferralInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ReferralInformation.hs
@@ -0,0 +1,31 @@
+module DocuSign.Base.Types.ReferralInformation where
+
+import DocuSign.Base.Types.Common
+
+data ReferralInformation = ReferralInformation
+  { referralInformationAdvertisementId               :: Maybe Text
+  , referralInformationEnableSupport                 :: Maybe Text
+  , referralInformationExternalOrgId                 :: Maybe Text
+  , referralInformationGroupMemberId                 :: Maybe Text
+  , referralInformationIdType                        :: Maybe Text
+  , referralInformationIncludedSeats                 :: Maybe Text
+  , referralInformationIndustry                      :: Maybe Text
+  , referralInformationPlanStartMonth                :: Maybe Text
+  , referralInformationPromoCode                     :: Maybe Text
+  , referralInformationPublisherId                   :: Maybe Text
+  , referralInformationReferralCode                  :: Maybe Text
+  , referralInformationReferrerName                  :: Maybe Text
+  , referralInformationSaleDiscountAmount            :: Maybe Text
+  , referralInformationSaleDiscountFixedAmount       :: Maybe Text
+  , referralInformationSaleDiscountPercent           :: Maybe Text
+  , referralInformationSaleDiscountPeriods           :: Maybe Text
+  , referralInformationSaleDiscountSeatPriceOverride :: Maybe Text
+  , referralInformationShopperId                     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ReferralInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "referralInformation")
+instance ToJSON ReferralInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "referralInformation")
+
+instance Default ReferralInformation
diff --git a/src/DocuSign/Base/Types/Reminders.hs b/src/DocuSign/Base/Types/Reminders.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Reminders.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.Reminders where
+
+import DocuSign.Base.Types.Common
+
+data Reminders = Reminders
+  { remindersReminderDelay     :: Maybe Text
+  , remindersReminderEnabled   :: Maybe Text
+  , remindersReminderFrequency :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Reminders where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "reminders")
+instance ToJSON Reminders where
+  toJSON = genericToJSON (removeFieldLabelPrefix "reminders")
+
+instance Default Reminders
diff --git a/src/DocuSign/Base/Types/RequestLogs.hs b/src/DocuSign/Base/Types/RequestLogs.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/RequestLogs.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.RequestLogs where
+
+import DocuSign.Base.Types.Common
+
+data RequestLogs = RequestLogs
+  { requestLogsApiRequestLogging             :: Maybe Text
+  , requestLogsApiRequestLogMaxEntries       :: Maybe Text
+  , requestLogsApiRequestLogRemainingEntries :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON RequestLogs where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "requestLogs")
+instance ToJSON RequestLogs where
+  toJSON = genericToJSON (removeFieldLabelPrefix "requestLogs")
+
+instance Default RequestLogs
diff --git a/src/DocuSign/Base/Types/Resources.hs b/src/DocuSign/Base/Types/Resources.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Resources.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.Resources where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NameValue
+
+data Resources = Resources
+  { resourcesResources :: Maybe [NameValue]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Resources where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "resources")
+instance ToJSON Resources where
+  toJSON = genericToJSON (removeFieldLabelPrefix "resources")
+
+instance Default Resources
diff --git a/src/DocuSign/Base/Types/ReturnUrlRequest.hs b/src/DocuSign/Base/Types/ReturnUrlRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ReturnUrlRequest.hs
@@ -0,0 +1,14 @@
+module DocuSign.Base.Types.ReturnUrlRequest where
+
+import DocuSign.Base.Types.Common
+
+data ReturnUrlRequest = ReturnUrlRequest
+  { returnUrlRequestReturnUrl :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ReturnUrlRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "returnUrlRequest")
+instance ToJSON ReturnUrlRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "returnUrlRequest")
+
+instance Default ReturnUrlRequest
diff --git a/src/DocuSign/Base/Types/SamlAssertionAttribute.hs b/src/DocuSign/Base/Types/SamlAssertionAttribute.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SamlAssertionAttribute.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.SamlAssertionAttribute where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data SamlAssertionAttribute = SamlAssertionAttribute
+  { samlAssertionAttributeErrorDetails  :: Maybe ErrorDetails
+  , samlAssertionAttributeName          :: Maybe Text
+  , samlAssertionAttributeOriginalValue :: Maybe Text
+  , samlAssertionAttributeValue         :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SamlAssertionAttribute where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "samlAssertionAttribute")
+instance ToJSON SamlAssertionAttribute where
+  toJSON = genericToJSON (removeFieldLabelPrefix "samlAssertionAttribute")
+
+instance Default SamlAssertionAttribute
diff --git a/src/DocuSign/Base/Types/SeatDiscount.hs b/src/DocuSign/Base/Types/SeatDiscount.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SeatDiscount.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.SeatDiscount where
+
+import DocuSign.Base.Types.Common
+
+data SeatDiscount = SeatDiscount
+  { seatDiscountBeginSeatCount  :: Maybe Text
+  , seatDiscountDiscountPercent :: Maybe Text
+  , seatDiscountEndSeatCount    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SeatDiscount where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "seatDiscount")
+instance ToJSON SeatDiscount where
+  toJSON = genericToJSON (removeFieldLabelPrefix "seatDiscount")
+
+instance Default SeatDiscount
diff --git a/src/DocuSign/Base/Types/SenderEmailNotifications.hs b/src/DocuSign/Base/Types/SenderEmailNotifications.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SenderEmailNotifications.hs
@@ -0,0 +1,20 @@
+module DocuSign.Base.Types.SenderEmailNotifications where
+
+import DocuSign.Base.Types.Common
+
+data SenderEmailNotifications = SenderEmailNotifications
+  { senderEmailNotificationsChangedSigner          :: Maybe Text
+  , senderEmailNotificationsDeliveryFailed         :: Maybe Text
+  , senderEmailNotificationsEnvelopeComplete       :: Maybe Text
+  , senderEmailNotificationsOfflineSigningFailed   :: Maybe Text
+  , senderEmailNotificationsRecipientViewed        :: Maybe Text
+  , senderEmailNotificationsSenderEnvelopeDeclined :: Maybe Text
+  , senderEmailNotificationsWithdrawnConsent       :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SenderEmailNotifications where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "senderEmailNotifications")
+instance ToJSON SenderEmailNotifications where
+  toJSON = genericToJSON (removeFieldLabelPrefix "senderEmailNotifications")
+
+instance Default SenderEmailNotifications
diff --git a/src/DocuSign/Base/Types/ServerTemplate.hs b/src/DocuSign/Base/Types/ServerTemplate.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ServerTemplate.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.ServerTemplate where
+
+import DocuSign.Base.Types.Common
+
+data ServerTemplate = ServerTemplate
+  { serverTemplateSequence   :: Maybe Text
+  , serverTemplateTemplateId :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ServerTemplate where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "serverTemplate")
+instance ToJSON ServerTemplate where
+  toJSON = genericToJSON (removeFieldLabelPrefix "serverTemplate")
+
+instance Default ServerTemplate
diff --git a/src/DocuSign/Base/Types/ServiceVersion.hs b/src/DocuSign/Base/Types/ServiceVersion.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ServiceVersion.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.ServiceVersion where
+
+import DocuSign.Base.Types.Common
+
+data ServiceVersion = ServiceVersion
+  { serviceVersionVersion    :: Maybe Text
+  , serviceVersionVersionUrl :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ServiceVersion where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "serviceVersion")
+instance ToJSON ServiceVersion where
+  toJSON = genericToJSON (removeFieldLabelPrefix "serviceVersion")
+
+instance Default ServiceVersion
diff --git a/src/DocuSign/Base/Types/Services.hs b/src/DocuSign/Base/Types/Services.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Services.hs
@@ -0,0 +1,20 @@
+module DocuSign.Base.Types.Services where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ServiceVersion
+
+data Services = Services
+  { servicesBuildBranch                 :: Maybe Text
+  , servicesBuildBranchDeployedDateTime :: Maybe Text
+  , servicesBuildSHA                    :: Maybe Text
+  , servicesBuildVersion                :: Maybe Text
+  , servicesLinkedSites                 :: Maybe [Text]
+  , servicesServiceVersions             :: Maybe [ServiceVersion]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Services where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "services")
+instance ToJSON Services where
+  toJSON = genericToJSON (removeFieldLabelPrefix "services")
+
+instance Default Services
diff --git a/src/DocuSign/Base/Types/SettingsMetadata.hs b/src/DocuSign/Base/Types/SettingsMetadata.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SettingsMetadata.hs
@@ -0,0 +1,19 @@
+module DocuSign.Base.Types.SettingsMetadata where
+
+import DocuSign.Base.Types.Common
+
+data SettingsMetadata = SettingsMetadata
+  { settingsMetadataIs21CFRPart11 :: Maybe Text
+  , settingsMetadataOptions       :: Maybe [Text]
+  , settingsMetadataRights        :: Maybe Text
+  , settingsMetadataUiHint        :: Maybe Text
+  , settingsMetadataUiOrder       :: Maybe Text
+  , settingsMetadataUiType        :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SettingsMetadata where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "settingsMetadata")
+instance ToJSON SettingsMetadata where
+  toJSON = genericToJSON (removeFieldLabelPrefix "settingsMetadata")
+
+instance Default SettingsMetadata
diff --git a/src/DocuSign/Base/Types/SharedItem.hs b/src/DocuSign/Base/Types/SharedItem.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SharedItem.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.SharedItem where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.UserInfo
+
+data SharedItem = SharedItem
+  { sharedItemErrorDetails :: Maybe ErrorDetails
+  , sharedItemShared       :: Maybe Text
+  , sharedItemUser         :: Maybe UserInfo
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SharedItem where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "sharedItem")
+instance ToJSON SharedItem where
+  toJSON = genericToJSON (removeFieldLabelPrefix "sharedItem")
+
+instance Default SharedItem
diff --git a/src/DocuSign/Base/Types/SignHere.hs b/src/DocuSign/Base/Types/SignHere.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SignHere.hs
@@ -0,0 +1,45 @@
+module DocuSign.Base.Types.SignHere where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+import DocuSign.Base.Types.PropertyMetadata
+
+data SignHere = SignHere
+  { signHereAnchorCaseSensitive       :: Maybe Text
+  , signHereAnchorHorizontalAlignment :: Maybe Text
+  , signHereAnchorIgnoreIfNotPresent  :: Maybe Text
+  , signHereAnchorMatchWholeWord      :: Maybe Text
+  , signHereAnchorString              :: Maybe Text
+  , signHereAnchorUnits               :: Maybe Text
+  , signHereAnchorXOffset             :: Maybe Text
+  , signHereAnchorYOffset             :: Maybe Text
+  , signHereConditionalParentLabel    :: Maybe Text
+  , signHereConditionalParentValue    :: Maybe Text
+  , signHereCustomTabId               :: Maybe Text
+  , signHereDocumentId                :: Maybe Text
+  , signHereErrorDetails              :: Maybe ErrorDetails
+  , signHereMergeField                :: Maybe MergeField
+  , signHereName                      :: Maybe Text
+  , signHereOptional                  :: Maybe Text
+  , signHerePageNumber                :: Maybe Text
+  , signHereRecipientId               :: Maybe Text
+  , signHereScaleValue                :: Maybe Double
+  , signHereStampType                 :: Maybe Text
+  , signHereStampTypeMetadata         :: Maybe PropertyMetadata
+  , signHereStatus                    :: Maybe Text
+  , signHereTabId                     :: Maybe Text
+  , signHereTabLabel                  :: Maybe Text
+  , signHereTabOrder                  :: Maybe Text
+  , signHereTemplateLocked            :: Maybe Text
+  , signHereTemplateRequired          :: Maybe Text
+  , signHereXPosition                 :: Maybe Text
+  , signHereYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SignHere where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "signHere")
+instance ToJSON SignHere where
+  toJSON = genericToJSON (removeFieldLabelPrefix "signHere")
+
+instance Default SignHere
diff --git a/src/DocuSign/Base/Types/SignatureProviderRequiredOption.hs b/src/DocuSign/Base/Types/SignatureProviderRequiredOption.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SignatureProviderRequiredOption.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.SignatureProviderRequiredOption where
+
+import DocuSign.Base.Types.Common
+
+data SignatureProviderRequiredOption = SignatureProviderRequiredOption
+  { signatureProviderRequiredOptionRequiredSignatureProviderOptionIds :: Maybe [Text]
+  , signatureProviderRequiredOptionSignerType                         :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SignatureProviderRequiredOption where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "signatureProviderRequiredOption")
+instance ToJSON SignatureProviderRequiredOption where
+  toJSON = genericToJSON (removeFieldLabelPrefix "signatureProviderRequiredOption")
+
+instance Default SignatureProviderRequiredOption
diff --git a/src/DocuSign/Base/Types/SignatureType.hs b/src/DocuSign/Base/Types/SignatureType.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SignatureType.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.SignatureType where
+
+import DocuSign.Base.Types.Common
+
+data SignatureType = SignatureType
+  { signatureTypeIsDefault :: Maybe Text
+  , signatureTypeType      :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SignatureType where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "signatureType")
+instance ToJSON SignatureType where
+  toJSON = genericToJSON (removeFieldLabelPrefix "signatureType")
+
+instance Default SignatureType
diff --git a/src/DocuSign/Base/Types/Signer.hs b/src/DocuSign/Base/Types/Signer.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Signer.hs
@@ -0,0 +1,82 @@
+module DocuSign.Base.Types.Signer where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AuthenticationStatus
+import DocuSign.Base.Types.DocumentVisibility
+import DocuSign.Base.Types.EnvelopeRecipientTabs
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.IdCheckInformationInput
+import DocuSign.Base.Types.RecipientAttachment
+import DocuSign.Base.Types.RecipientEmailNotification
+import DocuSign.Base.Types.RecipientPhoneAuthentication
+import DocuSign.Base.Types.RecipientSAMLAuthentication
+import DocuSign.Base.Types.RecipientSignatureInformation
+import DocuSign.Base.Types.RecipientSignatureProvider
+import DocuSign.Base.Types.RecipientSMSAuthentication
+import DocuSign.Base.Types.SocialAuthentication
+import DocuSign.Base.Types.UserInfo
+
+data Signer = Signer
+  { signerAccessCode                            :: Maybe Text
+  , signerAddAccessCodeToEmail                  :: Maybe Text
+  , signerAutoNavigation                        :: Maybe Text
+  , signerBulkRecipientsUri                     :: Maybe Text
+  , signerCanSignOffline                        :: Maybe Text
+  , signerClientUserId                          :: Maybe Text
+  , signerCreationReason                        :: Maybe Text
+  , signerCustomFields                          :: Maybe [Text]
+  , signerDeclinedDateTime                      :: Maybe Text
+  , signerDeclinedReason                        :: Maybe Text
+  , signerDefaultRecipient                      :: Maybe Text
+  , signerDeliveredDateTime                     :: Maybe Text
+  , signerDeliveryMethod                        :: Maybe Text
+  , signerDocumentVisibility                    :: Maybe [DocumentVisibility]
+  , signerEmail                                 :: Maybe Text
+  , signerEmailNotification                     :: Maybe RecipientEmailNotification
+  , signerEmailRecipientPostSigningURL          :: Maybe Text
+  , signerEmbeddedRecipientStartURL             :: Maybe Text
+  , signerErrorDetails                          :: Maybe ErrorDetails
+  , signerExcludedDocuments                     :: Maybe [Text]
+  , signerFaxNumber                             :: Maybe Text
+  , signerIdCheckConfigurationName              :: Maybe Text
+  , signerIdCheckInformationInput               :: Maybe IdCheckInformationInput
+  , signerInheritEmailNotificationConfiguration :: Maybe Text
+  , signerIsBulkRecipient                       :: Maybe Text
+  , signerName                                  :: Maybe Text
+  , signerNote                                  :: Maybe Text
+  , signerPhoneAuthentication                   :: Maybe RecipientPhoneAuthentication
+  , signerRecipientAttachments                  :: Maybe [RecipientAttachment]
+  , signerRecipientAuthenticationStatus         :: Maybe AuthenticationStatus
+  , signerRecipientId                           :: Maybe Text
+  , signerRecipientIdGuid                       :: Maybe Text
+  , signerRecipientSignatureProviders           :: Maybe [RecipientSignatureProvider]
+  , signerRecipientSuppliesTabs                 :: Maybe Text
+  , signerRequireIdLookup                       :: Maybe Text
+  , signerRequireSignerCertificate              :: Maybe Text
+  , signerRequireSignOnPaper                    :: Maybe Text
+  , signerRoleName                              :: Maybe Text
+  , signerRoutingOrder                          :: Maybe Text
+  , signerSamlAuthentication                    :: Maybe RecipientSAMLAuthentication
+  , signerSentDateTime                          :: Maybe Text
+  , signerSignatureInfo                         :: Maybe RecipientSignatureInformation
+  , signerSignedDateTime                        :: Maybe Text
+  , signerSignInEachLocation                    :: Maybe Text
+  , signerSigningGroupId                        :: Maybe Text
+  , signerSigningGroupName                      :: Maybe Text
+  , signerSigningGroupUsers                     :: Maybe [UserInfo]
+  , signerSmsAuthentication                     :: Maybe RecipientSMSAuthentication
+  , signerSocialAuthentications                 :: Maybe [SocialAuthentication]
+  , signerStatus                                :: Maybe Text
+  , signerTabs                                  :: Maybe EnvelopeRecipientTabs
+  , signerTemplateLocked                        :: Maybe Text
+  , signerTemplateRequired                      :: Maybe Text
+  , signerTotalTabCount                         :: Maybe Text
+  , signerUserId                                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Signer where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "signer")
+instance ToJSON Signer where
+  toJSON = genericToJSON (removeFieldLabelPrefix "signer")
+
+instance Default Signer
diff --git a/src/DocuSign/Base/Types/SignerAttachment.hs b/src/DocuSign/Base/Types/SignerAttachment.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SignerAttachment.hs
@@ -0,0 +1,42 @@
+module DocuSign.Base.Types.SignerAttachment where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data SignerAttachment = SignerAttachment
+  { signerAttachmentAnchorCaseSensitive       :: Maybe Text
+  , signerAttachmentAnchorHorizontalAlignment :: Maybe Text
+  , signerAttachmentAnchorIgnoreIfNotPresent  :: Maybe Text
+  , signerAttachmentAnchorMatchWholeWord      :: Maybe Text
+  , signerAttachmentAnchorString              :: Maybe Text
+  , signerAttachmentAnchorUnits               :: Maybe Text
+  , signerAttachmentAnchorXOffset             :: Maybe Text
+  , signerAttachmentAnchorYOffset             :: Maybe Text
+  , signerAttachmentConditionalParentLabel    :: Maybe Text
+  , signerAttachmentConditionalParentValue    :: Maybe Text
+  , signerAttachmentCustomTabId               :: Maybe Text
+  , signerAttachmentDocumentId                :: Maybe Text
+  , signerAttachmentErrorDetails              :: Maybe ErrorDetails
+  , signerAttachmentMergeField                :: Maybe MergeField
+  , signerAttachmentName                      :: Maybe Text
+  , signerAttachmentOptional                  :: Maybe Text
+  , signerAttachmentPageNumber                :: Maybe Text
+  , signerAttachmentRecipientId               :: Maybe Text
+  , signerAttachmentScaleValue                :: Maybe Double
+  , signerAttachmentStatus                    :: Maybe Text
+  , signerAttachmentTabId                     :: Maybe Text
+  , signerAttachmentTabLabel                  :: Maybe Text
+  , signerAttachmentTabOrder                  :: Maybe Text
+  , signerAttachmentTemplateLocked            :: Maybe Text
+  , signerAttachmentTemplateRequired          :: Maybe Text
+  , signerAttachmentXPosition                 :: Maybe Text
+  , signerAttachmentYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SignerAttachment where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "signerAttachment")
+instance ToJSON SignerAttachment where
+  toJSON = genericToJSON (removeFieldLabelPrefix "signerAttachment")
+
+instance Default SignerAttachment
diff --git a/src/DocuSign/Base/Types/SignerEmailNotifications.hs b/src/DocuSign/Base/Types/SignerEmailNotifications.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SignerEmailNotifications.hs
@@ -0,0 +1,27 @@
+module DocuSign.Base.Types.SignerEmailNotifications where
+
+import DocuSign.Base.Types.Common
+
+data SignerEmailNotifications = SignerEmailNotifications
+  { signerEmailNotificationsAgentNotification             :: Maybe Text
+  , signerEmailNotificationsCarbonCopyNotification        :: Maybe Text
+  , signerEmailNotificationsCertifiedDeliveryNotification :: Maybe Text
+  , signerEmailNotificationsDocumentMarkupActivation      :: Maybe Text
+  , signerEmailNotificationsEnvelopeActivation            :: Maybe Text
+  , signerEmailNotificationsEnvelopeComplete              :: Maybe Text
+  , signerEmailNotificationsEnvelopeCorrected             :: Maybe Text
+  , signerEmailNotificationsEnvelopeDeclined              :: Maybe Text
+  , signerEmailNotificationsEnvelopeVoided                :: Maybe Text
+  , signerEmailNotificationsFaxReceived                   :: Maybe Text
+  , signerEmailNotificationsOfflineSigningFailed          :: Maybe Text
+  , signerEmailNotificationsPurgeDocuments                :: Maybe Text
+  , signerEmailNotificationsReassignedSigner              :: Maybe Text
+  , signerEmailNotificationsWhenSigningGroupMember        :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SignerEmailNotifications where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "signerEmailNotifications")
+instance ToJSON SignerEmailNotifications where
+  toJSON = genericToJSON (removeFieldLabelPrefix "signerEmailNotifications")
+
+instance Default SignerEmailNotifications
diff --git a/src/DocuSign/Base/Types/SigningGroupInformation.hs b/src/DocuSign/Base/Types/SigningGroupInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SigningGroupInformation.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.SigningGroupInformation where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.SigningGroups
+
+data SigningGroupInformation = SigningGroupInformation
+  { signingGroupInformationGroups :: Maybe [SigningGroups]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SigningGroupInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "signingGroupInformation")
+instance ToJSON SigningGroupInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "signingGroupInformation")
+
+instance Default SigningGroupInformation
diff --git a/src/DocuSign/Base/Types/SigningGroupUser.hs b/src/DocuSign/Base/Types/SigningGroupUser.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SigningGroupUser.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.SigningGroupUser where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data SigningGroupUser = SigningGroupUser
+  { signingGroupUserEmail        :: Maybe Text
+  , signingGroupUserErrorDetails :: Maybe ErrorDetails
+  , signingGroupUserUserName     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SigningGroupUser where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "signingGroupUser")
+instance ToJSON SigningGroupUser where
+  toJSON = genericToJSON (removeFieldLabelPrefix "signingGroupUser")
+
+instance Default SigningGroupUser
diff --git a/src/DocuSign/Base/Types/SigningGroupUsers.hs b/src/DocuSign/Base/Types/SigningGroupUsers.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SigningGroupUsers.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.SigningGroupUsers where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.SigningGroupUser
+
+data SigningGroupUsers = SigningGroupUsers
+  { signingGroupUsersUsers :: Maybe [SigningGroupUser]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SigningGroupUsers where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "signingGroupUsers")
+instance ToJSON SigningGroupUsers where
+  toJSON = genericToJSON (removeFieldLabelPrefix "signingGroupUsers")
+
+instance Default SigningGroupUsers
diff --git a/src/DocuSign/Base/Types/SigningGroups.hs b/src/DocuSign/Base/Types/SigningGroups.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SigningGroups.hs
@@ -0,0 +1,25 @@
+module DocuSign.Base.Types.SigningGroups where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.SigningGroupUser
+
+data SigningGroups = SigningGroups
+  { signingGroupsCreated        :: Maybe Text
+  , signingGroupsCreatedBy      :: Maybe Text
+  , signingGroupsErrorDetails   :: Maybe ErrorDetails
+  , signingGroupsGroupEmail     :: Maybe Text
+  , signingGroupsGroupName      :: Maybe Text
+  , signingGroupsGroupType      :: Maybe Text
+  , signingGroupsModified       :: Maybe Text
+  , signingGroupsModifiedBy     :: Maybe Text
+  , signingGroupsSigningGroupId :: Maybe Text
+  , signingGroupsUsers          :: Maybe [SigningGroupUser]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SigningGroups where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "signingGroups")
+instance ToJSON SigningGroups where
+  toJSON = genericToJSON (removeFieldLabelPrefix "signingGroups")
+
+instance Default SigningGroups
diff --git a/src/DocuSign/Base/Types/SocialAuthentication.hs b/src/DocuSign/Base/Types/SocialAuthentication.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SocialAuthentication.hs
@@ -0,0 +1,14 @@
+module DocuSign.Base.Types.SocialAuthentication where
+
+import DocuSign.Base.Types.Common
+
+data SocialAuthentication = SocialAuthentication
+  { socialAuthenticationAuthentication :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SocialAuthentication where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "socialAuthentication")
+instance ToJSON SocialAuthentication where
+  toJSON = genericToJSON (removeFieldLabelPrefix "socialAuthentication")
+
+instance Default SocialAuthentication
diff --git a/src/DocuSign/Base/Types/Ssn.hs b/src/DocuSign/Base/Types/Ssn.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Ssn.hs
@@ -0,0 +1,60 @@
+module DocuSign.Base.Types.Ssn where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data Ssn = Ssn
+  { ssnAnchorCaseSensitive          :: Maybe Text
+  , ssnAnchorHorizontalAlignment    :: Maybe Text
+  , ssnAnchorIgnoreIfNotPresent     :: Maybe Text
+  , ssnAnchorMatchWholeWord         :: Maybe Text
+  , ssnAnchorString                 :: Maybe Text
+  , ssnAnchorUnits                  :: Maybe Text
+  , ssnAnchorXOffset                :: Maybe Text
+  , ssnAnchorYOffset                :: Maybe Text
+  , ssnBold                         :: Maybe Text
+  , ssnConcealValueOnDocument       :: Maybe Text
+  , ssnConditionalParentLabel       :: Maybe Text
+  , ssnConditionalParentValue       :: Maybe Text
+  , ssnCustomTabId                  :: Maybe Text
+  , ssnDisableAutoSize              :: Maybe Text
+  , ssnDocumentId                   :: Maybe Text
+  , ssnErrorDetails                 :: Maybe ErrorDetails
+  , ssnFont                         :: Maybe Text
+  , ssnFontColor                    :: Maybe Text
+  , ssnFontSize                     :: Maybe Text
+  , ssnItalic                       :: Maybe Text
+  , ssnLocked                       :: Maybe Text
+  , ssnMaxLength                    :: Maybe Int
+  , ssnMergeField                   :: Maybe MergeField
+  , ssnName                         :: Maybe Text
+  , ssnOriginalValue                :: Maybe Text
+  , ssnPageNumber                   :: Maybe Text
+  , ssnRecipientId                  :: Maybe Text
+  , ssnRequireAll                   :: Maybe Text
+  , ssnRequired                     :: Maybe Text
+  , ssnRequireInitialOnSharedChange :: Maybe Text
+  , ssnSenderRequired               :: Maybe Text
+  , ssnShared                       :: Maybe Text
+  , ssnStatus                       :: Maybe Text
+  , ssnTabId                        :: Maybe Text
+  , ssnTabLabel                     :: Maybe Text
+  , ssnTabOrder                     :: Maybe Text
+  , ssnTemplateLocked               :: Maybe Text
+  , ssnTemplateRequired             :: Maybe Text
+  , ssnUnderline                    :: Maybe Text
+  , ssnValidationMessage            :: Maybe Text
+  , ssnValidationPattern            :: Maybe Text
+  , ssnValue                        :: Maybe Text
+  , ssnWidth                        :: Maybe Int
+  , ssnXPosition                    :: Maybe Text
+  , ssnYPosition                    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Ssn where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "ssn")
+instance ToJSON Ssn where
+  toJSON = genericToJSON (removeFieldLabelPrefix "ssn")
+
+instance Default Ssn
diff --git a/src/DocuSign/Base/Types/Ssn4InformationInput.hs b/src/DocuSign/Base/Types/Ssn4InformationInput.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Ssn4InformationInput.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.Ssn4InformationInput where
+
+import DocuSign.Base.Types.Common
+
+data Ssn4InformationInput = Ssn4InformationInput
+  { ssn4InformationInputDisplayLevelCode  :: Maybe Text
+  , ssn4InformationInputReceiveInResponse :: Maybe Text
+  , ssn4InformationInputSsn4              :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Ssn4InformationInput where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "ssn4InformationInput")
+instance ToJSON Ssn4InformationInput where
+  toJSON = genericToJSON (removeFieldLabelPrefix "ssn4InformationInput")
+
+instance Default Ssn4InformationInput
diff --git a/src/DocuSign/Base/Types/Ssn9InformationInput.hs b/src/DocuSign/Base/Types/Ssn9InformationInput.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Ssn9InformationInput.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.Ssn9InformationInput where
+
+import DocuSign.Base.Types.Common
+
+data Ssn9InformationInput = Ssn9InformationInput
+  { ssn9InformationInputDisplayLevelCode :: Maybe Text
+  , ssn9InformationInputSsn9             :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Ssn9InformationInput where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "ssn9InformationInput")
+instance ToJSON Ssn9InformationInput where
+  toJSON = genericToJSON (removeFieldLabelPrefix "ssn9InformationInput")
+
+instance Default Ssn9InformationInput
diff --git a/src/DocuSign/Base/Types/SupportedLanguages.hs b/src/DocuSign/Base/Types/SupportedLanguages.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/SupportedLanguages.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.SupportedLanguages where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NameValue
+
+data SupportedLanguages = SupportedLanguages
+  { supportedLanguagesLanguages :: Maybe [NameValue]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON SupportedLanguages where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "supportedLanguages")
+instance ToJSON SupportedLanguages where
+  toJSON = genericToJSON (removeFieldLabelPrefix "supportedLanguages")
+
+instance Default SupportedLanguages
diff --git a/src/DocuSign/Base/Types/TabMetadataList.hs b/src/DocuSign/Base/Types/TabMetadataList.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TabMetadataList.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.TabMetadataList where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.CustomTabs
+
+data TabMetadataList = TabMetadataList
+  { tabMetadataListTabs :: Maybe [CustomTabs]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TabMetadataList where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "tabMetadataList")
+instance ToJSON TabMetadataList where
+  toJSON = genericToJSON (removeFieldLabelPrefix "tabMetadataList")
+
+instance Default TabMetadataList
diff --git a/src/DocuSign/Base/Types/TemplateBulkRecipients.hs b/src/DocuSign/Base/Types/TemplateBulkRecipients.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateBulkRecipients.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.TemplateBulkRecipients where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BulkRecipient
+
+data TemplateBulkRecipients = TemplateBulkRecipients
+  { templateBulkRecipientsBulkRecipients :: Maybe [BulkRecipient]
+  , templateBulkRecipientsEndPosition    :: Maybe Text
+  , templateBulkRecipientsNextUri        :: Maybe Text
+  , templateBulkRecipientsPreviousUri    :: Maybe Text
+  , templateBulkRecipientsResultSetSize  :: Maybe Text
+  , templateBulkRecipientsStartPosition  :: Maybe Text
+  , templateBulkRecipientsTotalSetSize   :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateBulkRecipients where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateBulkRecipients")
+instance ToJSON TemplateBulkRecipients where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateBulkRecipients")
+
+instance Default TemplateBulkRecipients
diff --git a/src/DocuSign/Base/Types/TemplateCustomFields.hs b/src/DocuSign/Base/Types/TemplateCustomFields.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateCustomFields.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.TemplateCustomFields where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ListCustomField
+import DocuSign.Base.Types.TextCustomField
+
+data TemplateCustomFields = TemplateCustomFields
+  { templateCustomFieldsListCustomFields :: Maybe [ListCustomField]
+  , templateCustomFieldsTextCustomFields :: Maybe [TextCustomField]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateCustomFields where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateCustomFields")
+instance ToJSON TemplateCustomFields where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateCustomFields")
+
+instance Default TemplateCustomFields
diff --git a/src/DocuSign/Base/Types/TemplateDocumentFields.hs b/src/DocuSign/Base/Types/TemplateDocumentFields.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateDocumentFields.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.TemplateDocumentFields where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NameValue
+
+data TemplateDocumentFields = TemplateDocumentFields
+  { templateDocumentFieldsDocumentFields :: Maybe [NameValue]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateDocumentFields where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateDocumentFields")
+instance ToJSON TemplateDocumentFields where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateDocumentFields")
+
+instance Default TemplateDocumentFields
diff --git a/src/DocuSign/Base/Types/TemplateDocumentTabs.hs b/src/DocuSign/Base/Types/TemplateDocumentTabs.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateDocumentTabs.hs
@@ -0,0 +1,61 @@
+module DocuSign.Base.Types.TemplateDocumentTabs where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Approve
+import DocuSign.Base.Types.Checkbox
+import DocuSign.Base.Types.Company
+import DocuSign.Base.Types.Date
+import DocuSign.Base.Types.DateSigned
+import DocuSign.Base.Types.Decline
+import DocuSign.Base.Types.Email
+import DocuSign.Base.Types.EmailAddress
+import DocuSign.Base.Types.EnvelopeId
+import DocuSign.Base.Types.FirstName
+import DocuSign.Base.Types.FormulaTab
+import DocuSign.Base.Types.FullName
+import DocuSign.Base.Types.InitialHere
+import DocuSign.Base.Types.LastName
+import DocuSign.Base.Types.List
+import DocuSign.Base.Types.Note
+import DocuSign.Base.Types.RadioGroup
+import DocuSign.Base.Types.SignerAttachment
+import DocuSign.Base.Types.SignHere
+import DocuSign.Base.Types.Ssn
+import DocuSign.Base.Types.Title
+import DocuSign.Base.Types.View
+import DocuSign.Base.Types.Zip
+
+data TemplateDocumentTabs = TemplateDocumentTabs
+  { templateDocumentTabsApproveTabs          :: Maybe [Approve]
+  , templateDocumentTabsCheckboxTabs         :: Maybe [Checkbox]
+  , templateDocumentTabsCompanyTabs          :: Maybe [Company]
+  , templateDocumentTabsDateSignedTabs       :: Maybe [DateSigned]
+  , templateDocumentTabsDateTabs             :: Maybe [Date]
+  , templateDocumentTabsDeclineTabs          :: Maybe [Decline]
+  , templateDocumentTabsEmailAddressTabs     :: Maybe [EmailAddress]
+  , templateDocumentTabsEmailTabs            :: Maybe [Email]
+  , templateDocumentTabsEnvelopeIdTabs       :: Maybe [EnvelopeId]
+  , templateDocumentTabsFirstNameTabs        :: Maybe [FirstName]
+  , templateDocumentTabsFormulaTabs          :: Maybe [FormulaTab]
+  , templateDocumentTabsFullNameTabs         :: Maybe [FullName]
+  , templateDocumentTabsInitialHereTabs      :: Maybe [InitialHere]
+  , templateDocumentTabsLastNameTabs         :: Maybe [LastName]
+  , templateDocumentTabsListTabs             :: Maybe [List]
+  , templateDocumentTabsNoteTabs             :: Maybe [Note]
+  , templateDocumentTabsNumberTabs           :: Maybe [Double]
+  , templateDocumentTabsRadioGroupTabs       :: Maybe [RadioGroup]
+  , templateDocumentTabsSignerAttachmentTabs :: Maybe [SignerAttachment]
+  , templateDocumentTabsSignHereTabs         :: Maybe [SignHere]
+  , templateDocumentTabsSsnTabs              :: Maybe [Ssn]
+  , templateDocumentTabsTextTabs             :: Maybe [Text]
+  , templateDocumentTabsTitleTabs            :: Maybe [Title]
+  , templateDocumentTabsViewTabs             :: Maybe [View]
+  , templateDocumentTabsZipTabs              :: Maybe [Zip]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateDocumentTabs where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateDocumentTabs")
+instance ToJSON TemplateDocumentTabs where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateDocumentTabs")
+
+instance Default TemplateDocumentTabs
diff --git a/src/DocuSign/Base/Types/TemplateDocumentVisibility.hs b/src/DocuSign/Base/Types/TemplateDocumentVisibility.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateDocumentVisibility.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.TemplateDocumentVisibility where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.DocumentVisibility
+
+data TemplateDocumentVisibility = TemplateDocumentVisibility
+  { templateDocumentVisibilityDocumentVisibility :: Maybe [DocumentVisibility]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateDocumentVisibility where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateDocumentVisibility")
+instance ToJSON TemplateDocumentVisibility where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateDocumentVisibility")
+
+instance Default TemplateDocumentVisibility
diff --git a/src/DocuSign/Base/Types/TemplateDocuments.hs b/src/DocuSign/Base/Types/TemplateDocuments.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateDocuments.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.TemplateDocuments where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.EnvelopeDocument
+
+data TemplateDocuments = TemplateDocuments
+  { templateDocumentsTemplateDocuments :: Maybe [EnvelopeDocument]
+  , templateDocumentsTemplateId        :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateDocuments where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateDocuments")
+instance ToJSON TemplateDocuments where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateDocuments")
+
+instance Default TemplateDocuments
diff --git a/src/DocuSign/Base/Types/TemplateLocks.hs b/src/DocuSign/Base/Types/TemplateLocks.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateLocks.hs
@@ -0,0 +1,23 @@
+module DocuSign.Base.Types.TemplateLocks where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.UserInfo
+
+data TemplateLocks = TemplateLocks
+  { templateLocksErrorDetails          :: Maybe ErrorDetails
+  , templateLocksLockDurationInSeconds :: Maybe Text
+  , templateLocksLockedByApp           :: Maybe Text
+  , templateLocksLockedByUser          :: Maybe UserInfo
+  , templateLocksLockedUntilDateTime   :: Maybe Text
+  , templateLocksLockToken             :: Maybe Text
+  , templateLocksLockType              :: Maybe Text
+  , templateLocksUseScratchPad         :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateLocks where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateLocks")
+instance ToJSON TemplateLocks where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateLocks")
+
+instance Default TemplateLocks
diff --git a/src/DocuSign/Base/Types/TemplateMatch.hs b/src/DocuSign/Base/Types/TemplateMatch.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateMatch.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.TemplateMatch where
+
+import DocuSign.Base.Types.Common
+
+data TemplateMatch = TemplateMatch
+  { templateMatchDocumentEndPage   :: Maybe Text
+  , templateMatchDocumentStartPage :: Maybe Text
+  , templateMatchMatchPercentage   :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateMatch where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateMatch")
+instance ToJSON TemplateMatch where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateMatch")
+
+instance Default TemplateMatch
diff --git a/src/DocuSign/Base/Types/TemplateNotificationRequest.hs b/src/DocuSign/Base/Types/TemplateNotificationRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateNotificationRequest.hs
@@ -0,0 +1,19 @@
+module DocuSign.Base.Types.TemplateNotificationRequest where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Expirations
+import DocuSign.Base.Types.Reminders
+
+data TemplateNotificationRequest = TemplateNotificationRequest
+  { templateNotificationRequestExpirations        :: Maybe Expirations
+  , templateNotificationRequestPassword           :: Maybe Text
+  , templateNotificationRequestReminders          :: Maybe Reminders
+  , templateNotificationRequestUseAccountDefaults :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateNotificationRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateNotificationRequest")
+instance ToJSON TemplateNotificationRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateNotificationRequest")
+
+instance Default TemplateNotificationRequest
diff --git a/src/DocuSign/Base/Types/TemplateRecipientTabs.hs b/src/DocuSign/Base/Types/TemplateRecipientTabs.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateRecipientTabs.hs
@@ -0,0 +1,61 @@
+module DocuSign.Base.Types.TemplateRecipientTabs where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Approve
+import DocuSign.Base.Types.Checkbox
+import DocuSign.Base.Types.Company
+import DocuSign.Base.Types.Date
+import DocuSign.Base.Types.DateSigned
+import DocuSign.Base.Types.Decline
+import DocuSign.Base.Types.Email
+import DocuSign.Base.Types.EmailAddress
+import DocuSign.Base.Types.EnvelopeId
+import DocuSign.Base.Types.FirstName
+import DocuSign.Base.Types.FormulaTab
+import DocuSign.Base.Types.FullName
+import DocuSign.Base.Types.InitialHere
+import DocuSign.Base.Types.LastName
+import DocuSign.Base.Types.List
+import DocuSign.Base.Types.Note
+import DocuSign.Base.Types.RadioGroup
+import DocuSign.Base.Types.SignerAttachment
+import DocuSign.Base.Types.SignHere
+import DocuSign.Base.Types.Ssn
+import DocuSign.Base.Types.Title
+import DocuSign.Base.Types.View
+import DocuSign.Base.Types.Zip
+
+data TemplateRecipientTabs = TemplateRecipientTabs
+  { templateRecipientTabsApproveTabs          :: Maybe [Approve]
+  , templateRecipientTabsCheckboxTabs         :: Maybe [Checkbox]
+  , templateRecipientTabsCompanyTabs          :: Maybe [Company]
+  , templateRecipientTabsDateSignedTabs       :: Maybe [DateSigned]
+  , templateRecipientTabsDateTabs             :: Maybe [Date]
+  , templateRecipientTabsDeclineTabs          :: Maybe [Decline]
+  , templateRecipientTabsEmailAddressTabs     :: Maybe [EmailAddress]
+  , templateRecipientTabsEmailTabs            :: Maybe [Email]
+  , templateRecipientTabsEnvelopeIdTabs       :: Maybe [EnvelopeId]
+  , templateRecipientTabsFirstNameTabs        :: Maybe [FirstName]
+  , templateRecipientTabsFormulaTabs          :: Maybe [FormulaTab]
+  , templateRecipientTabsFullNameTabs         :: Maybe [FullName]
+  , templateRecipientTabsInitialHereTabs      :: Maybe [InitialHere]
+  , templateRecipientTabsLastNameTabs         :: Maybe [LastName]
+  , templateRecipientTabsListTabs             :: Maybe [List]
+  , templateRecipientTabsNoteTabs             :: Maybe [Note]
+  , templateRecipientTabsNumberTabs           :: Maybe [Double]
+  , templateRecipientTabsRadioGroupTabs       :: Maybe [RadioGroup]
+  , templateRecipientTabsSignerAttachmentTabs :: Maybe [SignerAttachment]
+  , templateRecipientTabsSignHereTabs         :: Maybe [SignHere]
+  , templateRecipientTabsSsnTabs              :: Maybe [Ssn]
+  , templateRecipientTabsTextTabs             :: Maybe [Text]
+  , templateRecipientTabsTitleTabs            :: Maybe [Title]
+  , templateRecipientTabsViewTabs             :: Maybe [View]
+  , templateRecipientTabsZipTabs              :: Maybe [Zip]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateRecipientTabs where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateRecipientTabs")
+instance ToJSON TemplateRecipientTabs where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateRecipientTabs")
+
+instance Default TemplateRecipientTabs
diff --git a/src/DocuSign/Base/Types/TemplateRecipients.hs b/src/DocuSign/Base/Types/TemplateRecipients.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateRecipients.hs
@@ -0,0 +1,31 @@
+module DocuSign.Base.Types.TemplateRecipients where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Agent
+import DocuSign.Base.Types.CarbonCopy
+import DocuSign.Base.Types.CertifiedDelivery
+import DocuSign.Base.Types.Editor
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.InPersonSigner
+import DocuSign.Base.Types.Intermediary
+import DocuSign.Base.Types.Signer
+
+data TemplateRecipients = TemplateRecipients
+  { templateRecipientsAgents              :: Maybe [Agent]
+  , templateRecipientsCarbonCopies        :: Maybe [CarbonCopy]
+  , templateRecipientsCertifiedDeliveries :: Maybe [CertifiedDelivery]
+  , templateRecipientsCurrentRoutingOrder :: Maybe Text
+  , templateRecipientsEditors             :: Maybe [Editor]
+  , templateRecipientsErrorDetails        :: Maybe ErrorDetails
+  , templateRecipientsInPersonSigners     :: Maybe [InPersonSigner]
+  , templateRecipientsIntermediaries      :: Maybe [Intermediary]
+  , templateRecipientsRecipientCount      :: Maybe Text
+  , templateRecipientsSigners             :: Maybe [Signer]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateRecipients where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateRecipients")
+instance ToJSON TemplateRecipients where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateRecipients")
+
+instance Default TemplateRecipients
diff --git a/src/DocuSign/Base/Types/TemplateRole.hs b/src/DocuSign/Base/Types/TemplateRole.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateRole.hs
@@ -0,0 +1,29 @@
+module DocuSign.Base.Types.TemplateRole where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.EnvelopeRecipientTabs
+import DocuSign.Base.Types.RecipientEmailNotification
+import DocuSign.Base.Types.RecipientSignatureProvider
+
+data TemplateRole = TemplateRole
+  { templateRoleAccessCode                  :: Maybe Text
+  , templateRoleClientUserId                :: Maybe Text
+  , templateRoleDefaultRecipient            :: Maybe Text
+  , templateRoleEmail                       :: Maybe Text
+  , templateRoleEmailNotification           :: Maybe RecipientEmailNotification
+  , templateRoleEmbeddedRecipientStartURL   :: Maybe Text
+  , templateRoleInPersonSignerName          :: Maybe Text
+  , templateRoleName                        :: Maybe Text
+  , templateRoleRecipientSignatureProviders :: Maybe [RecipientSignatureProvider]
+  , templateRoleRoleName                    :: Maybe Text
+  , templateRoleRoutingOrder                :: Maybe Text
+  , templateRoleSigningGroupId              :: Maybe Text
+  , templateRoleTabs                        :: Maybe EnvelopeRecipientTabs
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateRole where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateRole")
+instance ToJSON TemplateRole where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateRole")
+
+instance Default TemplateRole
diff --git a/src/DocuSign/Base/Types/TemplateSharedItem.hs b/src/DocuSign/Base/Types/TemplateSharedItem.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateSharedItem.hs
@@ -0,0 +1,24 @@
+module DocuSign.Base.Types.TemplateSharedItem where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MemberGroupSharedItem
+import DocuSign.Base.Types.UserInfo
+import DocuSign.Base.Types.UserSharedItem
+
+data TemplateSharedItem = TemplateSharedItem
+  { templateSharedItemErrorDetails :: Maybe ErrorDetails
+  , templateSharedItemOwner        :: Maybe UserInfo
+  , templateSharedItemShared       :: Maybe Text
+  , templateSharedItemSharedGroups :: Maybe [MemberGroupSharedItem]
+  , templateSharedItemSharedUsers  :: Maybe [UserSharedItem]
+  , templateSharedItemTemplateId   :: Maybe Text
+  , templateSharedItemTemplateName :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateSharedItem where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateSharedItem")
+instance ToJSON TemplateSharedItem where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateSharedItem")
+
+instance Default TemplateSharedItem
diff --git a/src/DocuSign/Base/Types/TemplateSummary.hs b/src/DocuSign/Base/Types/TemplateSummary.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateSummary.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.TemplateSummary where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.TemplateMatch
+
+data TemplateSummary = TemplateSummary
+  { templateSummaryApplied       :: Maybe Text
+  , templateSummaryDocumentId    :: Maybe Text
+  , templateSummaryDocumentName  :: Maybe Text
+  , templateSummaryName          :: Maybe Text
+  , templateSummaryTemplateId    :: Maybe Text
+  , templateSummaryTemplateMatch :: Maybe TemplateMatch
+  , templateSummaryUri           :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateSummary where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateSummary")
+instance ToJSON TemplateSummary where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateSummary")
+
+instance Default TemplateSummary
diff --git a/src/DocuSign/Base/Types/TemplateTabs.hs b/src/DocuSign/Base/Types/TemplateTabs.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateTabs.hs
@@ -0,0 +1,61 @@
+module DocuSign.Base.Types.TemplateTabs where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Approve
+import DocuSign.Base.Types.Checkbox
+import DocuSign.Base.Types.Company
+import DocuSign.Base.Types.Date
+import DocuSign.Base.Types.DateSigned
+import DocuSign.Base.Types.Decline
+import DocuSign.Base.Types.Email
+import DocuSign.Base.Types.EmailAddress
+import DocuSign.Base.Types.EnvelopeId
+import DocuSign.Base.Types.FirstName
+import DocuSign.Base.Types.FormulaTab
+import DocuSign.Base.Types.FullName
+import DocuSign.Base.Types.InitialHere
+import DocuSign.Base.Types.LastName
+import DocuSign.Base.Types.List
+import DocuSign.Base.Types.Note
+import DocuSign.Base.Types.RadioGroup
+import DocuSign.Base.Types.SignerAttachment
+import DocuSign.Base.Types.SignHere
+import DocuSign.Base.Types.Ssn
+import DocuSign.Base.Types.Title
+import DocuSign.Base.Types.View
+import DocuSign.Base.Types.Zip
+
+data TemplateTabs = TemplateTabs
+  { templateTabsApproveTabs          :: Maybe [Approve]
+  , templateTabsCheckboxTabs         :: Maybe [Checkbox]
+  , templateTabsCompanyTabs          :: Maybe [Company]
+  , templateTabsDateSignedTabs       :: Maybe [DateSigned]
+  , templateTabsDateTabs             :: Maybe [Date]
+  , templateTabsDeclineTabs          :: Maybe [Decline]
+  , templateTabsEmailAddressTabs     :: Maybe [EmailAddress]
+  , templateTabsEmailTabs            :: Maybe [Email]
+  , templateTabsEnvelopeIdTabs       :: Maybe [EnvelopeId]
+  , templateTabsFirstNameTabs        :: Maybe [FirstName]
+  , templateTabsFormulaTabs          :: Maybe [FormulaTab]
+  , templateTabsFullNameTabs         :: Maybe [FullName]
+  , templateTabsInitialHereTabs      :: Maybe [InitialHere]
+  , templateTabsLastNameTabs         :: Maybe [LastName]
+  , templateTabsListTabs             :: Maybe [List]
+  , templateTabsNoteTabs             :: Maybe [Note]
+  , templateTabsNumberTabs           :: Maybe [Double]
+  , templateTabsRadioGroupTabs       :: Maybe [RadioGroup]
+  , templateTabsSignerAttachmentTabs :: Maybe [SignerAttachment]
+  , templateTabsSignHereTabs         :: Maybe [SignHere]
+  , templateTabsSsnTabs              :: Maybe [Ssn]
+  , templateTabsTextTabs             :: Maybe [Text]
+  , templateTabsTitleTabs            :: Maybe [Title]
+  , templateTabsViewTabs             :: Maybe [View]
+  , templateTabsZipTabs              :: Maybe [Zip]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateTabs where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateTabs")
+instance ToJSON TemplateTabs where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateTabs")
+
+instance Default TemplateTabs
diff --git a/src/DocuSign/Base/Types/TemplateUpdateSummary.hs b/src/DocuSign/Base/Types/TemplateUpdateSummary.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateUpdateSummary.hs
@@ -0,0 +1,28 @@
+module DocuSign.Base.Types.TemplateUpdateSummary where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.BulkEnvelopeStatus
+import DocuSign.Base.Types.EnvelopeLocks
+import DocuSign.Base.Types.EnvelopeRecipientTabs
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.ListCustomField
+import DocuSign.Base.Types.RecipientUpdateResponse
+import DocuSign.Base.Types.TextCustomField
+
+data TemplateUpdateSummary = TemplateUpdateSummary
+  { templateUpdateSummaryBulkEnvelopeStatus           :: Maybe BulkEnvelopeStatus
+  , templateUpdateSummaryEnvelopeId                   :: Maybe Text
+  , templateUpdateSummaryErrorDetails                 :: Maybe ErrorDetails
+  , templateUpdateSummaryListCustomFieldUpdateResults :: Maybe [ListCustomField]
+  , templateUpdateSummaryLockInformation              :: Maybe EnvelopeLocks
+  , templateUpdateSummaryRecipientUpdateResults       :: Maybe [RecipientUpdateResponse]
+  , templateUpdateSummaryTabUpdateResults             :: Maybe EnvelopeRecipientTabs
+  , templateUpdateSummaryTextCustomFieldUpdateResults :: Maybe [TextCustomField]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateUpdateSummary where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateUpdateSummary")
+instance ToJSON TemplateUpdateSummary where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateUpdateSummary")
+
+instance Default TemplateUpdateSummary
diff --git a/src/DocuSign/Base/Types/TemplateViews.hs b/src/DocuSign/Base/Types/TemplateViews.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TemplateViews.hs
@@ -0,0 +1,14 @@
+module DocuSign.Base.Types.TemplateViews where
+
+import DocuSign.Base.Types.Common
+
+data TemplateViews = TemplateViews
+  { templateViewsUrl :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TemplateViews where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templateViews")
+instance ToJSON TemplateViews where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templateViews")
+
+instance Default TemplateViews
diff --git a/src/DocuSign/Base/Types/Templates.hs b/src/DocuSign/Base/Types/Templates.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Templates.hs
@@ -0,0 +1,69 @@
+module DocuSign.Base.Types.Templates where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountCustomFields
+import DocuSign.Base.Types.Document
+import DocuSign.Base.Types.EnvelopeEmailSettings
+import DocuSign.Base.Types.EnvelopeLocks
+import DocuSign.Base.Types.EnvelopeRecipients
+import DocuSign.Base.Types.EnvelopeTemplateDefinition
+import DocuSign.Base.Types.Notification
+
+data Templates = Templates
+  { templatesAllowMarkup                 :: Maybe Text
+  , templatesAllowReassign               :: Maybe Text
+  , templatesAsynchronous                :: Maybe Text
+  , templatesAttachmentsUri              :: Maybe Text
+  , templatesAuthoritativeCopy           :: Maybe Text
+  , templatesAutoNavigation              :: Maybe Text
+  , templatesBrandId                     :: Maybe Text
+  , templatesBrandLock                   :: Maybe Text
+  , templatesCertificateUri              :: Maybe Text
+  , templatesCompletedDateTime           :: Maybe Text
+  , templatesCreatedDateTime             :: Maybe Text
+  , templatesCustomFields                :: Maybe AccountCustomFields
+  , templatesCustomFieldsUri             :: Maybe Text
+  , templatesDeclinedDateTime            :: Maybe Text
+  , templatesDeletedDateTime             :: Maybe Text
+  , templatesDeliveredDateTime           :: Maybe Text
+  , templatesDocuments                   :: Maybe [Document]
+  , templatesDocumentsCombinedUri        :: Maybe Text
+  , templatesDocumentsUri                :: Maybe Text
+  , templatesEmailBlurb                  :: Maybe Text
+  , templatesEmailSettings               :: Maybe EnvelopeEmailSettings
+  , templatesEmailSubject                :: Maybe Text
+  , templatesEnableWetSign               :: Maybe Text
+  , templatesEnforceSignerVisibility     :: Maybe Text
+  , templatesEnvelopeId                  :: Maybe Text
+  , templatesEnvelopeIdStamping          :: Maybe Text
+  , templatesEnvelopeTemplateDefinition  :: Maybe EnvelopeTemplateDefinition
+  , templatesEnvelopeUri                 :: Maybe Text
+  , templatesInitialSentDateTime         :: Maybe Text
+  , templatesIs21CFRPart11               :: Maybe Text
+  , templatesIsSignatureProviderEnvelope :: Maybe Text
+  , templatesLastModifiedDateTime        :: Maybe Text
+  , templatesLockInformation             :: Maybe EnvelopeLocks
+  , templatesMessageLock                 :: Maybe Text
+  , templatesNotification                :: Maybe Notification
+  , templatesNotificationUri             :: Maybe Text
+  , templatesPurgeState                  :: Maybe Text
+  , templatesRecipients                  :: Maybe EnvelopeRecipients
+  , templatesRecipientsLock              :: Maybe Text
+  , templatesRecipientsUri               :: Maybe Text
+  , templatesSentDateTime                :: Maybe Text
+  , templatesSigningLocation             :: Maybe Text
+  , templatesStatus                      :: Maybe Text
+  , templatesStatusChangedDateTime       :: Maybe Text
+  , templatesTemplatesUri                :: Maybe Text
+  , templatesTransactionId               :: Maybe Text
+  , templatesUseDisclosure               :: Maybe Text
+  , templatesVoidedDateTime              :: Maybe Text
+  , templatesVoidedReason                :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Templates where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "templates")
+instance ToJSON Templates where
+  toJSON = genericToJSON (removeFieldLabelPrefix "templates")
+
+instance Default Templates
diff --git a/src/DocuSign/Base/Types/TextContent.hs b/src/DocuSign/Base/Types/TextContent.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TextContent.hs
@@ -0,0 +1,63 @@
+module DocuSign.Base.Types.TextContent where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data TextContent = TextContent
+  { textContentAnchorCaseSensitive          :: Maybe Text
+  , textContentAnchorHorizontalAlignment    :: Maybe Text
+  , textContentAnchorIgnoreIfNotPresent     :: Maybe Text
+  , textContentAnchorMatchWholeWord         :: Maybe Text
+  , textContentAnchorString                 :: Maybe Text
+  , textContentAnchorUnits                  :: Maybe Text
+  , textContentAnchorXOffset                :: Maybe Text
+  , textContentAnchorYOffset                :: Maybe Text
+  , textContentBold                         :: Maybe Text
+  , textContentConcealValueOnDocument       :: Maybe Text
+  , textContentConditionalParentLabel       :: Maybe Text
+  , textContentConditionalParentValue       :: Maybe Text
+  , textContentCustomTabId                  :: Maybe Text
+  , textContentDisableAutoSize              :: Maybe Text
+  , textContentDocumentId                   :: Maybe Text
+  , textContentErrorDetails                 :: Maybe ErrorDetails
+  , textContentFont                         :: Maybe Text
+  , textContentFontColor                    :: Maybe Text
+  , textContentFontSize                     :: Maybe Text
+  , textContentFormula                      :: Maybe Text
+  , textContentHeight                       :: Maybe Int
+  , textContentIsPaymentAmount              :: Maybe Text
+  , textContentItalic                       :: Maybe Text
+  , textContentLocked                       :: Maybe Text
+  , textContentMaxLength                    :: Maybe Int
+  , textContentMergeField                   :: Maybe MergeField
+  , textContentName                         :: Maybe Text
+  , textContentOriginalValue                :: Maybe Text
+  , textContentPageNumber                   :: Maybe Text
+  , textContentRecipientId                  :: Maybe Text
+  , textContentRequireAll                   :: Maybe Text
+  , textContentRequired                     :: Maybe Text
+  , textContentRequireInitialOnSharedChange :: Maybe Text
+  , textContentSenderRequired               :: Maybe Text
+  , textContentShared                       :: Maybe Text
+  , textContentStatus                       :: Maybe Text
+  , textContentTabId                        :: Maybe Text
+  , textContentTabLabel                     :: Maybe Text
+  , textContentTabOrder                     :: Maybe Text
+  , textContentTemplateLocked               :: Maybe Text
+  , textContentTemplateRequired             :: Maybe Text
+  , textContentUnderline                    :: Maybe Text
+  , textContentValidationMessage            :: Maybe Text
+  , textContentValidationPattern            :: Maybe Text
+  , textContentValue                        :: Maybe Text
+  , textContentWidth                        :: Maybe Int
+  , textContentXPosition                    :: Maybe Text
+  , textContentYPosition                    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TextContent where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "textContent")
+instance ToJSON TextContent where
+  toJSON = genericToJSON (removeFieldLabelPrefix "textContent")
+
+instance Default TextContent
diff --git a/src/DocuSign/Base/Types/TextCustomField.hs b/src/DocuSign/Base/Types/TextCustomField.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/TextCustomField.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.TextCustomField where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data TextCustomField = TextCustomField
+  { textCustomFieldConfigurationType :: Maybe Text
+  , textCustomFieldErrorDetails      :: Maybe ErrorDetails
+  , textCustomFieldFieldId           :: Maybe Text
+  , textCustomFieldName              :: Maybe Text
+  , textCustomFieldRequired          :: Maybe Text
+  , textCustomFieldShow              :: Maybe Text
+  , textCustomFieldValue             :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON TextCustomField where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "textCustomField")
+instance ToJSON TextCustomField where
+  toJSON = genericToJSON (removeFieldLabelPrefix "textCustomField")
+
+instance Default TextCustomField
diff --git a/src/DocuSign/Base/Types/Title.hs b/src/DocuSign/Base/Types/Title.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Title.hs
@@ -0,0 +1,54 @@
+module DocuSign.Base.Types.Title where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data Title = Title
+  { titleAnchorCaseSensitive       :: Maybe Text
+  , titleAnchorHorizontalAlignment :: Maybe Text
+  , titleAnchorIgnoreIfNotPresent  :: Maybe Text
+  , titleAnchorMatchWholeWord      :: Maybe Text
+  , titleAnchorString              :: Maybe Text
+  , titleAnchorUnits               :: Maybe Text
+  , titleAnchorXOffset             :: Maybe Text
+  , titleAnchorYOffset             :: Maybe Text
+  , titleBold                      :: Maybe Text
+  , titleConcealValueOnDocument    :: Maybe Text
+  , titleConditionalParentLabel    :: Maybe Text
+  , titleConditionalParentValue    :: Maybe Text
+  , titleCustomTabId               :: Maybe Text
+  , titleDisableAutoSize           :: Maybe Text
+  , titleDocumentId                :: Maybe Text
+  , titleErrorDetails              :: Maybe ErrorDetails
+  , titleFont                      :: Maybe Text
+  , titleFontColor                 :: Maybe Text
+  , titleFontSize                  :: Maybe Text
+  , titleItalic                    :: Maybe Text
+  , titleLocked                    :: Maybe Text
+  , titleMaxLength                 :: Maybe Int
+  , titleMergeField                :: Maybe MergeField
+  , titleName                      :: Maybe Text
+  , titleOriginalValue             :: Maybe Text
+  , titlePageNumber                :: Maybe Text
+  , titleRecipientId               :: Maybe Text
+  , titleRequired                  :: Maybe Text
+  , titleStatus                    :: Maybe Text
+  , titleTabId                     :: Maybe Text
+  , titleTabLabel                  :: Maybe Text
+  , titleTabOrder                  :: Maybe Text
+  , titleTemplateLocked            :: Maybe Text
+  , titleTemplateRequired          :: Maybe Text
+  , titleUnderline                 :: Maybe Text
+  , titleValue                     :: Maybe Text
+  , titleWidth                     :: Maybe Int
+  , titleXPosition                 :: Maybe Text
+  , titleYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Title where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "title")
+instance ToJSON Title where
+  toJSON = genericToJSON (removeFieldLabelPrefix "title")
+
+instance Default Title
diff --git a/src/DocuSign/Base/Types/UsageHistory.hs b/src/DocuSign/Base/Types/UsageHistory.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UsageHistory.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.UsageHistory where
+
+import DocuSign.Base.Types.Common
+
+data UsageHistory = UsageHistory
+  { usageHistoryLastSentDateTime   :: Maybe Text
+  , usageHistoryLastSignedDateTime :: Maybe Text
+  , usageHistorySentCount          :: Maybe Int
+  , usageHistorySignedCount        :: Maybe Int
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UsageHistory where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "usageHistory")
+instance ToJSON UsageHistory where
+  toJSON = genericToJSON (removeFieldLabelPrefix "usageHistory")
+
+instance Default UsageHistory
diff --git a/src/DocuSign/Base/Types/UserAccountManagementGranularInformation.hs b/src/DocuSign/Base/Types/UserAccountManagementGranularInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserAccountManagementGranularInformation.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.UserAccountManagementGranularInformation where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.SettingsMetadata
+
+data UserAccountManagementGranularInformation = UserAccountManagementGranularInformation
+  { userAccountManagementGranularInformationCanManageAdmins          :: Maybe Text
+  , userAccountManagementGranularInformationCanManageAdminsMetadata  :: Maybe SettingsMetadata
+  , userAccountManagementGranularInformationCanManageGroups          :: Maybe Text
+  , userAccountManagementGranularInformationCanManageGroupsMetadata  :: Maybe SettingsMetadata
+  , userAccountManagementGranularInformationCanManageSharing         :: Maybe Text
+  , userAccountManagementGranularInformationCanManageSharingMetadata :: Maybe SettingsMetadata
+  , userAccountManagementGranularInformationCanManageUsers           :: Maybe Text
+  , userAccountManagementGranularInformationCanManageUsersMetadata   :: Maybe SettingsMetadata
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserAccountManagementGranularInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userAccountManagementGranularInformation")
+instance ToJSON UserAccountManagementGranularInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userAccountManagementGranularInformation")
+
+instance Default UserAccountManagementGranularInformation
diff --git a/src/DocuSign/Base/Types/UserCustomSettings.hs b/src/DocuSign/Base/Types/UserCustomSettings.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserCustomSettings.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.UserCustomSettings where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NameValue
+
+data UserCustomSettings = UserCustomSettings
+  { userCustomSettingsCustomSettings :: Maybe [NameValue]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserCustomSettings where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userCustomSettings")
+instance ToJSON UserCustomSettings where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userCustomSettings")
+
+instance Default UserCustomSettings
diff --git a/src/DocuSign/Base/Types/UserInfo.hs b/src/DocuSign/Base/Types/UserInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserInfo.hs
@@ -0,0 +1,24 @@
+module DocuSign.Base.Types.UserInfo where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data UserInfo = UserInfo
+  { userInfoActivationAccessCode :: Maybe Text
+  , userInfoEmail                :: Maybe Text
+  , userInfoErrorDetails         :: Maybe ErrorDetails
+  , userInfoLoginStatus          :: Maybe Text
+  , userInfoSendActivationEmail  :: Maybe Text
+  , userInfoUri                  :: Maybe Text
+  , userInfoUserId               :: Maybe Text
+  , userInfoUserName             :: Maybe Text
+  , userInfoUserStatus           :: Maybe Text
+  , userInfoUserType             :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserInfo where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userInfo")
+instance ToJSON UserInfo where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userInfo")
+
+instance Default UserInfo
diff --git a/src/DocuSign/Base/Types/UserInfoList.hs b/src/DocuSign/Base/Types/UserInfoList.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserInfoList.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.UserInfoList where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.UserInfo
+
+data UserInfoList = UserInfoList
+  { userInfoListUsers :: Maybe [UserInfo]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserInfoList where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userInfoList")
+instance ToJSON UserInfoList where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userInfoList")
+
+instance Default UserInfoList
diff --git a/src/DocuSign/Base/Types/UserInformationList.hs b/src/DocuSign/Base/Types/UserInformationList.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserInformationList.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.UserInformationList where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Users
+
+data UserInformationList = UserInformationList
+  { userInformationListEndPosition   :: Maybe Text
+  , userInformationListNextUri       :: Maybe Text
+  , userInformationListPreviousUri   :: Maybe Text
+  , userInformationListResultSetSize :: Maybe Text
+  , userInformationListStartPosition :: Maybe Text
+  , userInformationListTotalSetSize  :: Maybe Text
+  , userInformationListUsers         :: Maybe [Users]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserInformationList where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userInformationList")
+instance ToJSON UserInformationList where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userInformationList")
+
+instance Default UserInformationList
diff --git a/src/DocuSign/Base/Types/UserPasswordInformation.hs b/src/DocuSign/Base/Types/UserPasswordInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserPasswordInformation.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.UserPasswordInformation where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ForgottenPasswordInformation
+
+data UserPasswordInformation = UserPasswordInformation
+  { userPasswordInformationCurrentPassword       :: Maybe Text
+  , userPasswordInformationEmail                 :: Maybe Text
+  , userPasswordInformationForgottenPasswordInfo :: Maybe ForgottenPasswordInformation
+  , userPasswordInformationNewPassword           :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserPasswordInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userPasswordInformation")
+instance ToJSON UserPasswordInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userPasswordInformation")
+
+instance Default UserPasswordInformation
diff --git a/src/DocuSign/Base/Types/UserPasswordRules.hs b/src/DocuSign/Base/Types/UserPasswordRules.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserPasswordRules.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.UserPasswordRules where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AccountPasswordRules
+
+data UserPasswordRules = UserPasswordRules
+  { userPasswordRulesPasswordRules :: Maybe AccountPasswordRules
+  , userPasswordRulesUserId        :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserPasswordRules where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userPasswordRules")
+instance ToJSON UserPasswordRules where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userPasswordRules")
+
+instance Default UserPasswordRules
diff --git a/src/DocuSign/Base/Types/UserProfiles.hs b/src/DocuSign/Base/Types/UserProfiles.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserProfiles.hs
@@ -0,0 +1,29 @@
+module DocuSign.Base.Types.UserProfiles where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AddressInformationV2
+import DocuSign.Base.Types.AuthenticationMethod
+import DocuSign.Base.Types.UsageHistory
+import DocuSign.Base.Types.Users
+
+data UserProfiles = UserProfiles
+  { userProfilesAddress                     :: Maybe AddressInformationV2
+  , userProfilesAuthenticationMethods       :: Maybe [AuthenticationMethod]
+  , userProfilesCompanyName                 :: Maybe Text
+  , userProfilesDisplayOrganizationInfo     :: Maybe Text
+  , userProfilesDisplayPersonalInfo         :: Maybe Text
+  , userProfilesDisplayProfile              :: Maybe Text
+  , userProfilesDisplayUsageHistory         :: Maybe Text
+  , userProfilesProfileImageUri             :: Maybe Text
+  , userProfilesTitle                       :: Maybe Text
+  , userProfilesUsageHistory                :: Maybe UsageHistory
+  , userProfilesUserDetails                 :: Maybe Users
+  , userProfilesUserProfileLastModifiedDate :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserProfiles where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userProfiles")
+instance ToJSON UserProfiles where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userProfiles")
+
+instance Default UserProfiles
diff --git a/src/DocuSign/Base/Types/UserSettingsInformation.hs b/src/DocuSign/Base/Types/UserSettingsInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserSettingsInformation.hs
@@ -0,0 +1,21 @@
+module DocuSign.Base.Types.UserSettingsInformation where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.NameValue
+import DocuSign.Base.Types.SenderEmailNotifications
+import DocuSign.Base.Types.SignerEmailNotifications
+import DocuSign.Base.Types.UserAccountManagementGranularInformation
+
+data UserSettingsInformation = UserSettingsInformation
+  { userSettingsInformationAccountManagementGranular :: Maybe UserAccountManagementGranularInformation
+  , userSettingsInformationSenderEmailNotifications  :: Maybe SenderEmailNotifications
+  , userSettingsInformationSignerEmailNotifications  :: Maybe SignerEmailNotifications
+  , userSettingsInformationUserSettings              :: Maybe [NameValue]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserSettingsInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userSettingsInformation")
+instance ToJSON UserSettingsInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userSettingsInformation")
+
+instance Default UserSettingsInformation
diff --git a/src/DocuSign/Base/Types/UserSharedItem.hs b/src/DocuSign/Base/Types/UserSharedItem.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserSharedItem.hs
@@ -0,0 +1,18 @@
+module DocuSign.Base.Types.UserSharedItem where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.UserInfo
+
+data UserSharedItem = UserSharedItem
+  { userSharedItemErrorDetails :: Maybe ErrorDetails
+  , userSharedItemShared       :: Maybe Text
+  , userSharedItemUser         :: Maybe UserInfo
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserSharedItem where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userSharedItem")
+instance ToJSON UserSharedItem where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userSharedItem")
+
+instance Default UserSharedItem
diff --git a/src/DocuSign/Base/Types/UserSignatureDefinition.hs b/src/DocuSign/Base/Types/UserSignatureDefinition.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserSignatureDefinition.hs
@@ -0,0 +1,17 @@
+module DocuSign.Base.Types.UserSignatureDefinition where
+
+import DocuSign.Base.Types.Common
+
+data UserSignatureDefinition = UserSignatureDefinition
+  { userSignatureDefinitionSignatureFont     :: Maybe Text
+  , userSignatureDefinitionSignatureId       :: Maybe Text
+  , userSignatureDefinitionSignatureInitials :: Maybe Text
+  , userSignatureDefinitionSignatureName     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserSignatureDefinition where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userSignatureDefinition")
+instance ToJSON UserSignatureDefinition where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userSignatureDefinition")
+
+instance Default UserSignatureDefinition
diff --git a/src/DocuSign/Base/Types/UserSignatures.hs b/src/DocuSign/Base/Types/UserSignatures.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserSignatures.hs
@@ -0,0 +1,36 @@
+module DocuSign.Base.Types.UserSignatures where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.DateStampProperties
+import DocuSign.Base.Types.ErrorDetails
+
+data UserSignatures = UserSignatures
+  { userSignaturesAdoptedDateTime     :: Maybe Text
+  , userSignaturesCreatedDateTime     :: Maybe Text
+  , userSignaturesDateStampProperties :: Maybe DateStampProperties
+  , userSignaturesErrorDetails        :: Maybe ErrorDetails
+  , userSignaturesExternalID          :: Maybe Text
+  , userSignaturesImageType           :: Maybe Text
+  , userSignaturesInitials150ImageId  :: Maybe Text
+  , userSignaturesInitialsImageUri    :: Maybe Text
+  , userSignaturesIsDefault           :: Maybe Text
+  , userSignaturesPhoneticName        :: Maybe Text
+  , userSignaturesSignature150ImageId :: Maybe Text
+  , userSignaturesSignatureFont       :: Maybe Text
+  , userSignaturesSignatureId         :: Maybe Text
+  , userSignaturesSignatureImageUri   :: Maybe Text
+  , userSignaturesSignatureInitials   :: Maybe Text
+  , userSignaturesSignatureName       :: Maybe Text
+  , userSignaturesSignatureType       :: Maybe Text
+  , userSignaturesStampFormat         :: Maybe Text
+  , userSignaturesStampImageUri       :: Maybe Text
+  , userSignaturesStampSizeMM         :: Maybe Text
+  , userSignaturesStampType           :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserSignatures where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userSignatures")
+instance ToJSON UserSignatures where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userSignatures")
+
+instance Default UserSignatures
diff --git a/src/DocuSign/Base/Types/UserSignaturesInformation.hs b/src/DocuSign/Base/Types/UserSignaturesInformation.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserSignaturesInformation.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.UserSignaturesInformation where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.UserSignatures
+
+data UserSignaturesInformation = UserSignaturesInformation
+  { userSignaturesInformationUserSignatures :: Maybe [UserSignatures]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserSignaturesInformation where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userSignaturesInformation")
+instance ToJSON UserSignaturesInformation where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userSignaturesInformation")
+
+instance Default UserSignaturesInformation
diff --git a/src/DocuSign/Base/Types/UserSocialAccountLogins.hs b/src/DocuSign/Base/Types/UserSocialAccountLogins.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserSocialAccountLogins.hs
@@ -0,0 +1,19 @@
+module DocuSign.Base.Types.UserSocialAccountLogins where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data UserSocialAccountLogins = UserSocialAccountLogins
+  { userSocialAccountLoginsEmail        :: Maybe Text
+  , userSocialAccountLoginsErrorDetails :: Maybe ErrorDetails
+  , userSocialAccountLoginsProvider     :: Maybe Text
+  , userSocialAccountLoginsSocialId     :: Maybe Text
+  , userSocialAccountLoginsUserName     :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserSocialAccountLogins where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userSocialAccountLogins")
+instance ToJSON UserSocialAccountLogins where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userSocialAccountLogins")
+
+instance Default UserSocialAccountLogins
diff --git a/src/DocuSign/Base/Types/UserSocialIdResult.hs b/src/DocuSign/Base/Types/UserSocialIdResult.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/UserSocialIdResult.hs
@@ -0,0 +1,16 @@
+module DocuSign.Base.Types.UserSocialIdResult where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.UserSocialAccountLogins
+
+data UserSocialIdResult = UserSocialIdResult
+  { userSocialIdResultSocialAccountInformation :: Maybe [UserSocialAccountLogins]
+  , userSocialIdResultUserId                   :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON UserSocialIdResult where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "userSocialIdResult")
+instance ToJSON UserSocialIdResult where
+  toJSON = genericToJSON (removeFieldLabelPrefix "userSocialIdResult")
+
+instance Default UserSocialIdResult
diff --git a/src/DocuSign/Base/Types/Users.hs b/src/DocuSign/Base/Types/Users.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Users.hs
@@ -0,0 +1,53 @@
+module DocuSign.Base.Types.Users where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.AddressInformationV2
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.ForgottenPasswordInformation
+import DocuSign.Base.Types.Group
+import DocuSign.Base.Types.NameValue
+import DocuSign.Base.Types.UserAccountManagementGranularInformation
+
+data Users = Users
+  { usersAccountManagementGranular    :: Maybe UserAccountManagementGranularInformation
+  , usersActivationAccessCode         :: Maybe Text
+  , usersCreatedDateTime              :: Maybe Text
+  , usersCustomSettings               :: Maybe [NameValue]
+  , usersEmail                        :: Maybe Text
+  , usersEnableConnectForUser         :: Maybe Text
+  , usersErrorDetails                 :: Maybe ErrorDetails
+  , usersFirstName                    :: Maybe Text
+  , usersForgottenPasswordInfo        :: Maybe ForgottenPasswordInformation
+  , usersGroupList                    :: Maybe [Group]
+  , usersHomeAddress                  :: Maybe AddressInformationV2
+  , usersInitialsImageUri             :: Maybe Text
+  , usersIsAdmin                      :: Maybe Text
+  , usersLastLogin                    :: Maybe Text
+  , usersLastName                     :: Maybe Text
+  , usersLoginStatus                  :: Maybe Text
+  , usersMiddleName                   :: Maybe Text
+  , usersPassword                     :: Maybe Text
+  , usersPasswordExpiration           :: Maybe Text
+  , usersPermissionProfileId          :: Maybe Text
+  , usersPermissionProfileName        :: Maybe Text
+  , usersProfileImageUri              :: Maybe Text
+  , usersSendActivationOnInvalidLogin :: Maybe Text
+  , usersSignatureImageUri            :: Maybe Text
+  , usersSuffixName                   :: Maybe Text
+  , usersTitle                        :: Maybe Text
+  , usersUri                          :: Maybe Text
+  , usersUserId                       :: Maybe Text
+  , usersUserName                     :: Maybe Text
+  , usersUserProfileLastModifiedDate  :: Maybe Text
+  , usersUserSettings                 :: Maybe [NameValue]
+  , usersUserStatus                   :: Maybe Text
+  , usersUserType                     :: Maybe Text
+  , usersWorkAddress                  :: Maybe AddressInformationV2
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Users where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "users")
+instance ToJSON Users where
+  toJSON = genericToJSON (removeFieldLabelPrefix "users")
+
+instance Default Users
diff --git a/src/DocuSign/Base/Types/View.hs b/src/DocuSign/Base/Types/View.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/View.hs
@@ -0,0 +1,50 @@
+module DocuSign.Base.Types.View where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data View = View
+  { viewAnchorCaseSensitive       :: Maybe Text
+  , viewAnchorHorizontalAlignment :: Maybe Text
+  , viewAnchorIgnoreIfNotPresent  :: Maybe Text
+  , viewAnchorMatchWholeWord      :: Maybe Text
+  , viewAnchorString              :: Maybe Text
+  , viewAnchorUnits               :: Maybe Text
+  , viewAnchorXOffset             :: Maybe Text
+  , viewAnchorYOffset             :: Maybe Text
+  , viewBold                      :: Maybe Text
+  , viewButtonText                :: Maybe Text
+  , viewConditionalParentLabel    :: Maybe Text
+  , viewConditionalParentValue    :: Maybe Text
+  , viewCustomTabId               :: Maybe Text
+  , viewDocumentId                :: Maybe Text
+  , viewErrorDetails              :: Maybe ErrorDetails
+  , viewFont                      :: Maybe Text
+  , viewFontColor                 :: Maybe Text
+  , viewFontSize                  :: Maybe Text
+  , viewHeight                    :: Maybe Int
+  , viewItalic                    :: Maybe Text
+  , viewMergeField                :: Maybe MergeField
+  , viewPageNumber                :: Maybe Text
+  , viewRecipientId               :: Maybe Text
+  , viewRequired                  :: Maybe Text
+  , viewRequiredRead              :: Maybe Text
+  , viewStatus                    :: Maybe Text
+  , viewTabId                     :: Maybe Text
+  , viewTabLabel                  :: Maybe Text
+  , viewTabOrder                  :: Maybe Text
+  , viewTemplateLocked            :: Maybe Text
+  , viewTemplateRequired          :: Maybe Text
+  , viewUnderline                 :: Maybe Text
+  , viewWidth                     :: Maybe Int
+  , viewXPosition                 :: Maybe Text
+  , viewYPosition                 :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON View where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "view")
+instance ToJSON View where
+  toJSON = genericToJSON (removeFieldLabelPrefix "view")
+
+instance Default View
diff --git a/src/DocuSign/Base/Types/ViewLinkRequest.hs b/src/DocuSign/Base/Types/ViewLinkRequest.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/ViewLinkRequest.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.ViewLinkRequest where
+
+import DocuSign.Base.Types.Common
+
+data ViewLinkRequest = ViewLinkRequest
+  { viewLinkRequestEmail     :: Maybe Text
+  , viewLinkRequestReturnUrl :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON ViewLinkRequest where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "viewLinkRequest")
+instance ToJSON ViewLinkRequest where
+  toJSON = genericToJSON (removeFieldLabelPrefix "viewLinkRequest")
+
+instance Default ViewLinkRequest
diff --git a/src/DocuSign/Base/Types/WorkspaceFolderContents.hs b/src/DocuSign/Base/Types/WorkspaceFolderContents.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/WorkspaceFolderContents.hs
@@ -0,0 +1,22 @@
+module DocuSign.Base.Types.WorkspaceFolderContents where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.WorkspaceItems
+
+data WorkspaceFolderContents = WorkspaceFolderContents
+  { workspaceFolderContentsEndPosition   :: Maybe Text
+  , workspaceFolderContentsFolder        :: Maybe WorkspaceItems
+  , workspaceFolderContentsItems         :: Maybe [WorkspaceItems]
+  , workspaceFolderContentsParentFolders :: Maybe [WorkspaceItems]
+  , workspaceFolderContentsResultSetSize :: Maybe Text
+  , workspaceFolderContentsStartPosition :: Maybe Text
+  , workspaceFolderContentsTotalSetSize  :: Maybe Text
+  , workspaceFolderContentsWorkspaceId   :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON WorkspaceFolderContents where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "workspaceFolderContents")
+instance ToJSON WorkspaceFolderContents where
+  toJSON = genericToJSON (removeFieldLabelPrefix "workspaceFolderContents")
+
+instance Default WorkspaceFolderContents
diff --git a/src/DocuSign/Base/Types/WorkspaceItemList.hs b/src/DocuSign/Base/Types/WorkspaceItemList.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/WorkspaceItemList.hs
@@ -0,0 +1,15 @@
+module DocuSign.Base.Types.WorkspaceItemList where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.WorkspaceItems
+
+data WorkspaceItemList = WorkspaceItemList
+  { workspaceItemListItems :: Maybe [WorkspaceItems]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON WorkspaceItemList where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "workspaceItemList")
+instance ToJSON WorkspaceItemList where
+  toJSON = genericToJSON (removeFieldLabelPrefix "workspaceItemList")
+
+instance Default WorkspaceItemList
diff --git a/src/DocuSign/Base/Types/WorkspaceItems.hs b/src/DocuSign/Base/Types/WorkspaceItems.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/WorkspaceItems.hs
@@ -0,0 +1,34 @@
+module DocuSign.Base.Types.WorkspaceItems where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.WorkspaceUser
+import DocuSign.Base.Types.WorkspaceUserAuthorization
+
+data WorkspaceItems = WorkspaceItems
+  { workspaceItemsCallerAuthorization       :: Maybe WorkspaceUserAuthorization
+  , workspaceItemsContentType               :: Maybe Text
+  , workspaceItemsCreated                   :: Maybe Text
+  , workspaceItemsCreatedById               :: Maybe Text
+  , workspaceItemsCreatedByInformation      :: Maybe WorkspaceUser
+  , workspaceItemsExtension                 :: Maybe Text
+  , workspaceItemsFileSize                  :: Maybe Text
+  , workspaceItemsFileUri                   :: Maybe Text
+  , workspaceItemsId                        :: Maybe Text
+  , workspaceItemsIsPublic                  :: Maybe Text
+  , workspaceItemsLastModified              :: Maybe Text
+  , workspaceItemsLastModifiedById          :: Maybe Text
+  , workspaceItemsLastModifiedByInformation :: Maybe WorkspaceUser
+  , workspaceItemsName                      :: Maybe Text
+  , workspaceItemsPageCount                 :: Maybe Text
+  , workspaceItemsParentFolderId            :: Maybe Text
+  , workspaceItemsParentFolderUri           :: Maybe Text
+  , workspaceItemsType                      :: Maybe Text
+  , workspaceItemsUri                       :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON WorkspaceItems where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "workspaceItems")
+instance ToJSON WorkspaceItems where
+  toJSON = genericToJSON (removeFieldLabelPrefix "workspaceItems")
+
+instance Default WorkspaceItems
diff --git a/src/DocuSign/Base/Types/WorkspaceList.hs b/src/DocuSign/Base/Types/WorkspaceList.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/WorkspaceList.hs
@@ -0,0 +1,19 @@
+module DocuSign.Base.Types.WorkspaceList where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.Workspaces
+
+data WorkspaceList = WorkspaceList
+  { workspaceListEndPosition   :: Maybe Text
+  , workspaceListResultSetSize :: Maybe Text
+  , workspaceListStartPosition :: Maybe Text
+  , workspaceListTotalSetSize  :: Maybe Text
+  , workspaceListWorkspaces    :: Maybe [Workspaces]
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON WorkspaceList where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "workspaceList")
+instance ToJSON WorkspaceList where
+  toJSON = genericToJSON (removeFieldLabelPrefix "workspaceList")
+
+instance Default WorkspaceList
diff --git a/src/DocuSign/Base/Types/WorkspaceUser.hs b/src/DocuSign/Base/Types/WorkspaceUser.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/WorkspaceUser.hs
@@ -0,0 +1,30 @@
+module DocuSign.Base.Types.WorkspaceUser where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+
+data WorkspaceUser = WorkspaceUser
+  { workspaceUserAccountId            :: Maybe Text
+  , workspaceUserAccountName          :: Maybe Text
+  , workspaceUserActiveSince          :: Maybe Text
+  , workspaceUserCreated              :: Maybe Text
+  , workspaceUserCreatedById          :: Maybe Text
+  , workspaceUserEmail                :: Maybe Text
+  , workspaceUserErrorDetails         :: Maybe ErrorDetails
+  , workspaceUserLastModified         :: Maybe Text
+  , workspaceUserLastModifiedById     :: Maybe Text
+  , workspaceUserStatus               :: Maybe Text
+  , workspaceUserType                 :: Maybe Text
+  , workspaceUserUserId               :: Maybe Text
+  , workspaceUserUserName             :: Maybe Text
+  , workspaceUserWorkspaceId          :: Maybe Text
+  , workspaceUserWorkspaceUserBaseUrl :: Maybe Text
+  , workspaceUserWorkspaceUserId      :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON WorkspaceUser where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "workspaceUser")
+instance ToJSON WorkspaceUser where
+  toJSON = genericToJSON (removeFieldLabelPrefix "workspaceUser")
+
+instance Default WorkspaceUser
diff --git a/src/DocuSign/Base/Types/WorkspaceUserAuthorization.hs b/src/DocuSign/Base/Types/WorkspaceUserAuthorization.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/WorkspaceUserAuthorization.hs
@@ -0,0 +1,26 @@
+module DocuSign.Base.Types.WorkspaceUserAuthorization where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.WorkspaceUser
+
+data WorkspaceUserAuthorization = WorkspaceUserAuthorization
+  { workspaceUserAuthorizationCanDelete                :: Maybe Text
+  , workspaceUserAuthorizationCanMove                  :: Maybe Text
+  , workspaceUserAuthorizationCanTransact              :: Maybe Text
+  , workspaceUserAuthorizationCanView                  :: Maybe Text
+  , workspaceUserAuthorizationCreated                  :: Maybe Text
+  , workspaceUserAuthorizationCreatedById              :: Maybe Text
+  , workspaceUserAuthorizationErrorDetails             :: Maybe ErrorDetails
+  , workspaceUserAuthorizationModified                 :: Maybe Text
+  , workspaceUserAuthorizationModifiedById             :: Maybe Text
+  , workspaceUserAuthorizationWorkspaceUserId          :: Maybe Text
+  , workspaceUserAuthorizationWorkspaceUserInformation :: Maybe WorkspaceUser
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON WorkspaceUserAuthorization where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "workspaceUserAuthorization")
+instance ToJSON WorkspaceUserAuthorization where
+  toJSON = genericToJSON (removeFieldLabelPrefix "workspaceUserAuthorization")
+
+instance Default WorkspaceUserAuthorization
diff --git a/src/DocuSign/Base/Types/Workspaces.hs b/src/DocuSign/Base/Types/Workspaces.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Workspaces.hs
@@ -0,0 +1,25 @@
+module DocuSign.Base.Types.Workspaces where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.WorkspaceUser
+
+data Workspaces = Workspaces
+  { workspacesBillableAccountId         :: Maybe Text
+  , workspacesCreated                   :: Maybe Text
+  , workspacesCreatedByInformation      :: Maybe WorkspaceUser
+  , workspacesLastModified              :: Maybe Text
+  , workspacesLastModifiedByInformation :: Maybe WorkspaceUser
+  , workspacesStatus                    :: Maybe Text
+  , workspacesWorkspaceBaseUrl          :: Maybe Text
+  , workspacesWorkspaceDescription      :: Maybe Text
+  , workspacesWorkspaceId               :: Maybe Text
+  , workspacesWorkspaceName             :: Maybe Text
+  , workspacesWorkspaceUri              :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Workspaces where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "workspaces")
+instance ToJSON Workspaces where
+  toJSON = genericToJSON (removeFieldLabelPrefix "workspaces")
+
+instance Default Workspaces
diff --git a/src/DocuSign/Base/Types/Zip.hs b/src/DocuSign/Base/Types/Zip.hs
new file mode 100644
--- /dev/null
+++ b/src/DocuSign/Base/Types/Zip.hs
@@ -0,0 +1,61 @@
+module DocuSign.Base.Types.Zip where
+
+import DocuSign.Base.Types.Common
+import DocuSign.Base.Types.ErrorDetails
+import DocuSign.Base.Types.MergeField
+
+data Zip = Zip
+  { zipAnchorCaseSensitive          :: Maybe Text
+  , zipAnchorHorizontalAlignment    :: Maybe Text
+  , zipAnchorIgnoreIfNotPresent     :: Maybe Text
+  , zipAnchorMatchWholeWord         :: Maybe Text
+  , zipAnchorString                 :: Maybe Text
+  , zipAnchorUnits                  :: Maybe Text
+  , zipAnchorXOffset                :: Maybe Text
+  , zipAnchorYOffset                :: Maybe Text
+  , zipBold                         :: Maybe Text
+  , zipConcealValueOnDocument       :: Maybe Text
+  , zipConditionalParentLabel       :: Maybe Text
+  , zipConditionalParentValue       :: Maybe Text
+  , zipCustomTabId                  :: Maybe Text
+  , zipDisableAutoSize              :: Maybe Text
+  , zipDocumentId                   :: Maybe Text
+  , zipErrorDetails                 :: Maybe ErrorDetails
+  , zipFont                         :: Maybe Text
+  , zipFontColor                    :: Maybe Text
+  , zipFontSize                     :: Maybe Text
+  , zipItalic                       :: Maybe Text
+  , zipLocked                       :: Maybe Text
+  , zipMaxLength                    :: Maybe Int
+  , zipMergeField                   :: Maybe MergeField
+  , zipName                         :: Maybe Text
+  , zipOriginalValue                :: Maybe Text
+  , zipPageNumber                   :: Maybe Text
+  , zipRecipientId                  :: Maybe Text
+  , zipRequireAll                   :: Maybe Text
+  , zipRequired                     :: Maybe Text
+  , zipRequireInitialOnSharedChange :: Maybe Text
+  , zipSenderRequired               :: Maybe Text
+  , zipShared                       :: Maybe Text
+  , zipStatus                       :: Maybe Text
+  , zipTabId                        :: Maybe Text
+  , zipTabLabel                     :: Maybe Text
+  , zipTabOrder                     :: Maybe Text
+  , zipTemplateLocked               :: Maybe Text
+  , zipTemplateRequired             :: Maybe Text
+  , zipUnderline                    :: Maybe Text
+  , zipUseDash4                     :: Maybe Text
+  , zipValidationMessage            :: Maybe Text
+  , zipValidationPattern            :: Maybe Text
+  , zipValue                        :: Maybe Text
+  , zipWidth                        :: Maybe Int
+  , zipXPosition                    :: Maybe Text
+  , zipYPosition                    :: Maybe Text
+  } deriving (Show, Eq, Generic)
+
+instance FromJSON Zip where
+  parseJSON = genericParseJSON (removeFieldLabelPrefix "zip")
+instance ToJSON Zip where
+  toJSON = genericToJSON (removeFieldLabelPrefix "zip")
+
+instance Default Zip
