Verdocs - Developer Documentation
ReferenceSDKLanguages

Endpoints

Reference for every Verdocs Platform API operation exposed by the SDKs.

ApiKey

apiKey.createApiKey

Create an API key.

createApiKey(endpoint: VerdocsEndpoint, params: ICreateApiKeyRequest): Promise<IApiKey>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsICreateApiKeyRequest

apiKey.deleteApiKey

Delete an API key.

deleteApiKey(endpoint: VerdocsEndpoint, clientId: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
clientIdstring

apiKey.getApiKeys

Get a list of keys for a given organization. The caller must have admin access to the organization.

getApiKeys(endpoint: VerdocsEndpoint): Promise<IApiKey[]>
ParameterTypeDescription
endpointVerdocsEndpoint

apiKey.rotateApiKey

Rotate the secret for an API key. The caller must have admin access to the organization.

rotateApiKey(endpoint: VerdocsEndpoint, clientId: string): Promise<IApiKey>
ParameterTypeDescription
endpointVerdocsEndpoint
clientIdstring

apiKey.updateApiKey

Update an API key to change its assigned Profile ID or Name.

updateApiKey(endpoint: VerdocsEndpoint, clientId: string, params: IUpdateApiKeyRequest): Promise<IApiKey>
ParameterTypeDescription
endpointVerdocsEndpoint
clientIdstring
paramsIUpdateApiKeyRequest

apiKey.createApiKey

Create an API key.

create(params: ApiKeyCreateParams) -> ApiKey
ParameterTypeDescription
paramsApiKeyCreateParamsName and acting profile for the new key.

apiKey.deleteApiKey

Delete an API key.

delete(client_id: str) -> None
ParameterTypeDescription
client_idstrThe client ID of the key to delete.

apiKey.getApiKeys

Get a list of keys for a given organization. The caller must have admin access to the organization.

list() -> list[ApiKey]

apiKey.rotateApiKey

Rotate the secret for an API key. The caller must have admin access to the organization.

rotate(client_id: str) -> ApiKey
ParameterTypeDescription
client_idstrThe client ID of the key to rotate.

apiKey.updateApiKey

Update an API key to change its assigned Profile ID or Name.

update(client_id: str, params: ApiKeyUpdateParams) -> ApiKey
ParameterTypeDescription
client_idstrThe client ID of the key to update.
paramsApiKeyUpdateParamsThe fields to change.

apiKey.createApiKey

Create an API key.

Task<ApiKey> CreateAsync(CreateApiKeyRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestCreateApiKeyRequestDetails for the new key.
cancellationToken?CancellationTokenToken to cancel the operation.

apiKey.deleteApiKey

Delete an API key.

Task DeleteAsync(string clientId, CancellationToken cancellationToken = default)
ParameterTypeDescription
clientIdstringThe client ID of the key to delete.
cancellationToken?CancellationTokenToken to cancel the operation.

apiKey.getApiKeys

Get a list of keys for a given organization. The caller must have admin access to the organization.

Task<IReadOnlyList<ApiKey>> ListAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

apiKey.rotateApiKey

Rotate the secret for an API key. The caller must have admin access to the organization.

Task<ApiKey> RotateAsync(string clientId, CancellationToken cancellationToken = default)
ParameterTypeDescription
clientIdstringThe client ID of the key to rotate.
cancellationToken?CancellationTokenToken to cancel the operation.

apiKey.updateApiKey

Update an API key to change its assigned Profile ID or Name.

Task<ApiKey> UpdateAsync(string clientId, UpdateApiKeyRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
clientIdstringThe client ID of the key to update.
requestUpdateApiKeyRequestThe changes to apply.
cancellationToken?CancellationTokenToken to cancel the operation.
Auth

auth.authenticate

Authenticate to Verdocs.

authenticate(endpoint: VerdocsEndpoint, params: TAuthenticationRequest): Promise<IAuthenticateResponse>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsTAuthenticationRequest

auth.changePassword

Update the caller's password when the old password is known (typically for logged-in users).

changePassword(endpoint: VerdocsEndpoint, params: IChangePasswordRequest): Promise<IChangePasswordResponse>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsIChangePasswordRequest

auth.getMyUser

Get the caller's current user record.

getMyUser(endpoint: VerdocsEndpoint): Promise<IUser>
ParameterTypeDescription
endpointVerdocsEndpoint

auth.getOAuth2AuthorizeUrl

Build the URL that starts an OAuth2 authorization code flow. Redirect the user's browser to this URL to begin the flow. After the user authenticates and authorizes, they will be redirected to `redirect_uri` with a `code` query parameter that can be exchanged for tokens via `authenticate()` with `grant_type: 'authorization_code'`.

getOAuth2AuthorizeUrl(endpoint: VerdocsEndpoint, params: IOAuth2AuthorizeParams): string
ParameterTypeDescription
endpointVerdocsEndpoint
paramsIOAuth2AuthorizeParams

auth.refreshToken

If called before the session expires, this will refresh the caller's session and tokens.

refreshToken(endpoint: VerdocsEndpoint, refreshToken: string): Promise<IAuthenticateResponse>
ParameterTypeDescription
endpointVerdocsEndpoint
refreshTokenstring

auth.resendVerification

Resend the email verification request if the email or token are unknown. Instead, an accessToken may be supplied through which the user will be identified. This is intended to be used in post-signup cases where the user is "partially" authenticated (has a session, but is not yet verified).

resendVerification(endpoint: VerdocsEndpoint, accessToken?: string): Promise<object>
ParameterTypeDescription
endpointVerdocsEndpoint
accessToken?string

auth.resetPassword

Request a password reset, when the old password is not known (typically in login forms).

resetPassword(endpoint: VerdocsEndpoint, params: object): Promise<object>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsobject

auth.verifyEmail

Resend the email verification request if the user is unauthenticated, but the email and token are known. Used if the token is valid but has expired.

verifyEmail(endpoint: VerdocsEndpoint, params: IVerifyEmailRequest): Promise<IAuthenticateResponse>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsIVerifyEmailRequest

auth.authenticate

Authenticate to Verdocs.

authenticate(params: AuthenticationRequest) -> AuthenticateResponse
ParameterTypeDescription
paramsAuthenticationRequestOAuth2 token request (password, client_credentials, refresh_token, or authorization_code).

auth.changePassword

Update the caller's password when the old password is known (typically for logged-in users).

change_password(old_password: str, new_password: str) -> ChangePasswordResponse
ParameterTypeDescription
old_passwordstrThe caller's current password.
new_passwordstrThe new password. Must meet strength requirements.

auth.getMyUser

Get the caller's current user record.

me() -> User

auth.getOAuth2AuthorizeUrl

Build the URL that starts an OAuth2 authorization code flow. Redirect the user's browser to this URL to begin the flow. After the user authenticates and authorizes, they will be redirected to `redirect_uri` with a `code` query parameter that can be exchanged for tokens via `authenticate()` with `grant_type: 'authorization_code'`.

get_oauth2_authorize_url(client_id: str, redirect_uri: str, response_type: Literal['code'] = 'code', state: str | None = None, scope: str | None = None) -> str
ParameterTypeDescription
client_idstrClient ID of the registered OAuth2 application.
redirect_uristrWhere to send the user afterwards. Must match a registered redirect URI.
response_type?Literal['code']Always "code" for the authorization code flow.
state?str | NoneOpaque CSRF-protection value, returned unchanged in the redirect.
scope?str | NoneOptional scope to request.

auth.refreshToken

If called before the session expires, this will refresh the caller's session and tokens.

refresh_token(refresh_token: str) -> AuthenticateResponse
ParameterTypeDescription
refresh_tokenstrThe refresh token from a previous AuthenticateResponse.

auth.resendVerification

Resend the email verification request if the email or token are unknown. Instead, an accessToken may be supplied through which the user will be identified. This is intended to be used in post-signup cases where the user is "partially" authenticated (has a session, but is not yet verified).

resend_verification(access_token: str | None = None) -> None
ParameterTypeDescription
access_token?str | NoneOptional bearer token to use for just this call, instead of the endpoint's current session.

auth.resetPassword

Request a password reset, when the old password is not known (typically in login forms).

reset_password(email: str, code: str | None = None, new_password: str | None = None) -> ResetPasswordResponse
ParameterTypeDescription
emailstrEmail address of the account.
code?str | NoneThe emailed reset code; omit when initiating the flow.
new_password?str | NoneThe new password; omit when initiating the flow.

auth.verifyEmail

Resend the email verification request if the user is unauthenticated, but the email and token are known. Used if the token is valid but has expired.

verify_email(email: str, token: str) -> AuthenticateResponse
ParameterTypeDescription
emailstrEmail address of the account being verified.
tokenstrThe verification code from the email.

auth.authenticate

Authenticate to Verdocs.

Task<AuthenticateResponse> AuthenticateAsync(AuthenticateRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestAuthenticateRequestThe credentials to authenticate with, one of the grant-specific subtypes.
cancellationToken?CancellationTokenToken to cancel the operation.

auth.changePassword

Update the caller's password when the old password is known (typically for logged-in users).

Task<ChangePasswordResponse> ChangePasswordAsync(ChangePasswordRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestChangePasswordRequestThe old and new passwords.
cancellationToken?CancellationTokenToken to cancel the operation.

auth.getMyUser

Get the caller's current user record.

Task<User> GetMeAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

auth.getOAuth2AuthorizeUrl

Build the URL that starts an OAuth2 authorization code flow. Redirect the user's browser to this URL to begin the flow. After the user authenticates and authorizes, they will be redirected to `redirect_uri` with a `code` query parameter that can be exchanged for tokens via `authenticate()` with `grant_type: 'authorization_code'`.

string GetOAuth2AuthorizeUrl(string clientId, string redirectUri, string? state = null, string? scope = null)
ParameterTypeDescription
clientIdstringThe client ID of the registered OAuth2 application.
redirectUristringWhere to send the user after authorization. Must match a redirect URI registered for the application.
state?string?Opaque value returned unchanged in the redirect, used to prevent CSRF attacks.
scope?string?Optional scope to request.

auth.refreshToken

If called before the session expires, this will refresh the caller's session and tokens.

Task<AuthenticateResponse> RefreshTokenAsync(string refreshToken, CancellationToken cancellationToken = default)
ParameterTypeDescription
refreshTokenstringThe refresh token from an earlier authentication response.
cancellationToken?CancellationTokenToken to cancel the operation.

auth.resendVerification

Resend the email verification request if the email or token are unknown. Instead, an accessToken may be supplied through which the user will be identified. This is intended to be used in post-signup cases where the user is "partially" authenticated (has a session, but is not yet verified).

Task ResendVerificationAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

auth.resetPassword

Request a password reset, when the old password is not known (typically in login forms).

Task<ResetPasswordResponse> ResetPasswordAsync(ResetPasswordRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestResetPasswordRequestThe reset parameters; see ResetPasswordRequest for the two-step flow.
cancellationToken?CancellationTokenToken to cancel the operation.

auth.verifyEmail

Resend the email verification request if the user is unauthenticated, but the email and token are known. Used if the token is valid but has expired.

Task<AuthenticateResponse> VerifyEmailAsync(VerifyEmailRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestVerifyEmailRequestThe email address and the emailed verification code.
cancellationToken?CancellationTokenToken to cancel the operation.
Brand

brand.addBrandEmailDomain

Add a custom email domain to a brand.

addBrandEmailDomain(endpoint: VerdocsEndpoint, organizationId: string, brandId: string, params: IAddBrandEmailDomainRequest): Promise<IBrand>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
brandIdstring
paramsIAddBrandEmailDomainRequest

brand.createBrand

Create a brand.

createBrand(endpoint: VerdocsEndpoint, organizationId: string, params: ICreateBrandRequest): Promise<IBrand>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
paramsICreateBrandRequest

brand.deleteBrand

Delete a brand. Cannot delete the org's default brand.

deleteBrand(endpoint: VerdocsEndpoint, organizationId: string, brandId: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
brandIdstring

brand.getBrand

Get a brand by ID.

getBrand(endpoint: VerdocsEndpoint, organizationId: string, brandId: string): Promise<IBrand>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
brandIdstring

brand.getBrands

Get all brands for an organization.

getBrands(endpoint: VerdocsEndpoint, organizationId: string): Promise<IBrand[]>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring

brand.removeBrandEmailDomain

Remove a custom email domain from a brand.

removeBrandEmailDomain(endpoint: VerdocsEndpoint, organizationId: string, brandId: string): Promise<IBrand>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
brandIdstring

brand.updateBrand

Update a brand.

updateBrand(endpoint: VerdocsEndpoint, organizationId: string, brandId: string, params: IUpdateBrandRequest): Promise<IBrand>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
brandIdstring
paramsIUpdateBrandRequest

brand.updateBrandLogo

Update a brand's logo. Uploads the file and sets `full_logo_url`.

updateBrandLogo(endpoint: VerdocsEndpoint, organizationId: string, brandId: string, file: File, onUploadProgress?: object): Promise<IBrand>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
brandIdstring
fileFile
onUploadProgress?object

brand.updateBrandThumbnail

Update a brand's thumbnail. Uploads the file and sets `thumbnail_url`.

updateBrandThumbnail(endpoint: VerdocsEndpoint, organizationId: string, brandId: string, file: File, onUploadProgress?: object): Promise<IBrand>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
brandIdstring
fileFile
onUploadProgress?object

brand.verifyBrandEmailDomain

Trigger verification of a brand's email domain (checks SPF, DKIM, DMARC).

verifyBrandEmailDomain(endpoint: VerdocsEndpoint, organizationId: string, brandId: string): Promise<IBrand>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
brandIdstring

brand.addBrandEmailDomain

Add a custom email domain to a brand.

add_email_domain(organization_id: str, brand_id: str, params: BrandEmailDomainAddParams) -> Brand
ParameterTypeDescription
organization_idstrID of the organization. Must be the caller's own.
brand_idstrID of the brand.
paramsBrandEmailDomainAddParamsThe domain and from-address details.

brand.createBrand

Create a brand.

create(organization_id: str, params: BrandCreateParams) -> Brand
ParameterTypeDescription
organization_idstrID of the organization. Must be the caller's own.
paramsBrandCreateParamsFields for the new brand; only key is required.

brand.deleteBrand

Delete a brand. Cannot delete the org's default brand.

delete(organization_id: str, brand_id: str) -> None
ParameterTypeDescription
organization_idstrID of the organization. Must be the caller's own.
brand_idstrID of the brand to delete.

brand.getBrand

Get a brand by ID.

get(organization_id: str, brand_id: str) -> Brand
ParameterTypeDescription
organization_idstrID of the organization. Must be the caller's own.
brand_idstrID of the brand to fetch.

brand.getBrands

Get all brands for an organization.

list(organization_id: str) -> list[Brand]
ParameterTypeDescription
organization_idstrID of the organization. Must be the caller's own.

brand.removeBrandEmailDomain

Remove a custom email domain from a brand.

remove_email_domain(organization_id: str, brand_id: str) -> Brand
ParameterTypeDescription
organization_idstrID of the organization. Must be the caller's own.
brand_idstrID of the brand.

brand.updateBrand

Update a brand.

update(organization_id: str, brand_id: str, params: BrandUpdateParams) -> Brand
ParameterTypeDescription
organization_idstrID of the organization. Must be the caller's own.
brand_idstrID of the brand to update.
paramsBrandUpdateParamsThe fields to change; unset fields are left alone.

brand.updateBrandLogo

Update a brand's logo. Uploads the file and sets `full_logo_url`.

update_logo(organization_id: str, brand_id: str, logo: FileInput) -> Brand
ParameterTypeDescription
organization_idstrID of the organization. Must be the caller's own.
brand_idstrID of the brand to update.
logoFileInputThe image: a path, raw bytes, an open binary file, or an httpx-style (filename, content[, content_type]) tuple.

brand.updateBrandThumbnail

Update a brand's thumbnail. Uploads the file and sets `thumbnail_url`.

update_thumbnail(organization_id: str, brand_id: str, thumbnail: FileInput) -> Brand
ParameterTypeDescription
organization_idstrID of the organization. Must be the caller's own.
brand_idstrID of the brand to update.
thumbnailFileInputThe image: a path, raw bytes, an open binary file, or an httpx-style (filename, content[, content_type]) tuple.

brand.verifyBrandEmailDomain

Trigger verification of a brand's email domain (checks SPF, DKIM, DMARC).

verify_email_domain(organization_id: str, brand_id: str) -> Brand
ParameterTypeDescription
organization_idstrID of the organization. Must be the caller's own.
brand_idstrID of the brand.

brand.addBrandEmailDomain

Add a custom email domain to a brand.

Task<Brand> AddEmailDomainAsync(string organizationId, string brandId, AddBrandEmailDomainRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
brandIdstringThe brand's unique ID.
requestAddBrandEmailDomainRequestThe domain and sender address details.
cancellationToken?CancellationTokenToken to cancel the operation.

brand.createBrand

Create a brand.

Task<Brand> CreateAsync(string organizationId, CreateBrandRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
requestCreateBrandRequestDetails for the new brand.
cancellationToken?CancellationTokenToken to cancel the operation.

brand.deleteBrand

Delete a brand. Cannot delete the org's default brand.

Task DeleteAsync(string organizationId, string brandId, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
brandIdstringThe brand's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

brand.getBrand

Get a brand by ID.

Task<Brand> GetAsync(string organizationId, string brandId, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
brandIdstringThe brand's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

brand.getBrands

Get all brands for an organization.

Task<IReadOnlyList<Brand>> ListAsync(string organizationId, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

brand.removeBrandEmailDomain

Remove a custom email domain from a brand.

Task<Brand> RemoveEmailDomainAsync(string organizationId, string brandId, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
brandIdstringThe brand's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

brand.updateBrand

Update a brand.

Task<Brand> UpdateAsync(string organizationId, string brandId, UpdateBrandRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
brandIdstringThe brand's unique ID.
requestUpdateBrandRequestThe changes to apply.
cancellationToken?CancellationTokenToken to cancel the operation.

brand.updateBrandLogo

Update a brand's logo. Uploads the file and sets `full_logo_url`.

Task<Brand> UpdateLogoAsync(string organizationId, string brandId, Stream file, string fileName, string contentType, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
brandIdstringThe brand's unique ID.
fileStreamThe image content.
fileNamestringFile name to declare for the upload, for example "logo.png".
contentTypestringMIME type to declare for the upload, for example "image/png".
cancellationToken?CancellationTokenToken to cancel the operation.

brand.updateBrandThumbnail

Update a brand's thumbnail. Uploads the file and sets `thumbnail_url`.

Task<Brand> UpdateThumbnailAsync(string organizationId, string brandId, Stream file, string fileName, string contentType, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
brandIdstringThe brand's unique ID.
fileStreamThe image content. A square image is recommended.
fileNamestringFile name to declare for the upload, for example "thumbnail.png".
contentTypestringMIME type to declare for the upload, for example "image/png".
cancellationToken?CancellationTokenToken to cancel the operation.

brand.verifyBrandEmailDomain

Trigger verification of a brand's email domain (checks SPF, DKIM, DMARC).

Task<Brand> VerifyEmailDomainAsync(string organizationId, string brandId, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
brandIdstringThe brand's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.
Contact

contact.createOrganizationContact

Create a contact in the caller's organization.

createOrganizationContact(endpoint: VerdocsEndpoint, params: Pick<IProfile, 'email' | 'first_name' | 'last_name' | 'phone'>): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsPick<IProfile, 'email' | 'first_name' | 'last_name' | 'phone'>

contact.deleteOrganizationContact

Delete a contact from the caller's organization. Note that the caller must be an admin or owner.

deleteOrganizationContact(endpoint: VerdocsEndpoint, profileId: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
profileIdstring

contact.getOrganizationContacts

Get a list of the contacts in the caller's organization.

getOrganizationContacts(endpoint: VerdocsEndpoint): Promise<IProfile[]>
ParameterTypeDescription
endpointVerdocsEndpoint

contact.updateOrganizationContact

Update a contact in the caller's organization.

updateOrganizationContact(endpoint: VerdocsEndpoint, profileId: string, params: Pick<IProfile, 'email' | 'first_name' | 'last_name' | 'phone'>): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
profileIdstring
paramsPick<IProfile, 'email' | 'first_name' | 'last_name' | 'phone'>

contact.createOrganizationContact

Create a contact in the caller's organization.

create(params: ContactCreateParams) -> Profile
ParameterTypeDescription
paramsContactCreateParamsDetails for the new contact.

contact.deleteOrganizationContact

Delete a contact from the caller's organization. Note that the caller must be an admin or owner.

delete(profile_id: str) -> None
ParameterTypeDescription
profile_idstrThe contact profile to remove.

contact.getOrganizationContacts

Get a list of the contacts in the caller's organization.

list() -> list[Profile]

contact.updateOrganizationContact

Update a contact in the caller's organization.

update(profile_id: str, params: ContactUpdateParams) -> Profile
ParameterTypeDescription
profile_idstrThe contact profile to update.
paramsContactUpdateParamsThe contact's details.

contact.createOrganizationContact

Create a contact in the caller's organization.

Task<Profile> CreateAsync(CreateContactRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestCreateContactRequestDetails for the new contact.
cancellationToken?CancellationTokenToken to cancel the operation.

contact.deleteOrganizationContact

Delete a contact from the caller's organization. Note that the caller must be an admin or owner.

Task DeleteAsync(string profileId, CancellationToken cancellationToken = default)
ParameterTypeDescription
profileIdstringThe contact's profile ID.
cancellationToken?CancellationTokenToken to cancel the operation.

contact.getOrganizationContacts

Get a list of the contacts in the caller's organization.

Task<IReadOnlyList<Profile>> ListAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

contact.updateOrganizationContact

Update a contact in the caller's organization.

Task<Profile> UpdateAsync(string profileId, UpdateContactRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
profileIdstringThe contact's profile ID.
requestUpdateContactRequestThe replacement values.
cancellationToken?CancellationTokenToken to cancel the operation.
Envelope

envelope.cancelEnvelope

Cancel an Envelope.

cancelEnvelope(endpoint: VerdocsEndpoint, envelopeId: string): Promise<TEnvelopeUpdateResult>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring

envelope.createEnvelope

Create an envelope

createEnvelope(endpoint: VerdocsEndpoint, request: TCreateEnvelopeRequest): Promise<IEnvelope>
ParameterTypeDescription
endpointVerdocsEndpoint
requestTCreateEnvelopeRequest

envelope.deleteEnvelopeFieldAttachment

Delete an attachment. Note that this is not a DELETE endpoint because the field itself is not being deleted. Instead, it is a similar operation to uploading a new attachment, but the omission of the attachment signals the server to delete the current entry.

deleteEnvelopeFieldAttachment(endpoint: VerdocsEndpoint, envelopeId: string, roleName: string, fieldName: string): Promise<IEnvelopeFieldSettings>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring
roleNamestring
fieldNamestring

envelope.downloadEnvelopeDocument

Download a document directly.

downloadEnvelopeDocument(endpoint: VerdocsEndpoint, documentId: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
documentIdstring

envelope.getCombinedEnvelopeDocumentDownloadLink

Generates a single, signed PDF that combines all of an envelope's attached documents along with its completion certificate. Pages within the combined PDF are organized in the order of recipients' actions, preserving the signing workflow sequence.

getCombinedEnvelopeDocumentDownloadLink(endpoint: VerdocsEndpoint, documentId: string): Promise<string>
ParameterTypeDescription
endpointVerdocsEndpoint
documentIdstring

envelope.getEnvelope

Get all metadata for an envelope. Note that when called by non-creators (e.g. Recipients) this will return only the **metadata** the caller is allowed to view.

getEnvelope(endpoint: VerdocsEndpoint, envelopeId: string): Promise<IEnvelope>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring

envelope.getEnvelopeDocument

Get all metadata for an envelope document. Note that when called by non-creators (e.g. Recipients) this will return only the **metadata** the caller is allowed to view.

getEnvelopeDocument(endpoint: VerdocsEndpoint, documentId: string): Promise<IEnvelopeDocument>
ParameterTypeDescription
endpointVerdocsEndpoint
documentIdstring

envelope.getEnvelopeDocumentDownloadLink

Get an envelope document's metadata, or the document itself. If no "type" parameter is specified, the document metadata is returned. If "type" is set to "file", the document binary content is returned with Content-Type set to the MIME type of the file. If "type" is set to "download", a string download link will be returned. If "type" is set to "preview" a string preview link will be returned. This link expires quickly, so it should be accessed immediately and never shared.

getEnvelopeDocumentDownloadLink(endpoint: VerdocsEndpoint, documentId: string): Promise<string>
ParameterTypeDescription
endpointVerdocsEndpoint
documentIdstring

envelope.getEnvelopeDocumentPageDisplayUri

Get a display URI for a given page in a file attached to an envelope document. These pages are rendered server-side into PNG resources suitable for display in IMG tags although they may be used elsewhere. Note that these are intended for DISPLAY ONLY, are not legally binding documents, and do not contain any encoded metadata from participants.

getEnvelopeDocumentPageDisplayUri(endpoint: VerdocsEndpoint, documentId: string, page: number, variant: 'certificate' | 'original' | 'filled' = 'original'): Promise<string>
ParameterTypeDescription
endpointVerdocsEndpoint
documentIdstring
pagenumber
variant?'certificate' | 'original' | 'filled'

envelope.getEnvelopeDocumentPreviewLink

Get a pre-signed preview link for an Envelope Document. This link expires quickly, so it should be accessed immediately and never shared. Content-Disposition will be set to "inline".

getEnvelopeDocumentPreviewLink(endpoint: VerdocsEndpoint, documentId: string): Promise<string>
ParameterTypeDescription
endpointVerdocsEndpoint
documentIdstring

envelope.getEnvelopeFile

Get (binary download) a file attached to an Envelope. It is important to use this method rather than a direct A HREF or similar link to set the authorization headers for the request.

getEnvelopeFile(endpoint: VerdocsEndpoint, documentId: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
documentIdstring

envelope.getEnvelopes

Lists all envelopes accessible by the caller, with optional filters.

getEnvelopes(endpoint: VerdocsEndpoint, params?: IListEnvelopesParams): Promise<object>
ParameterTypeDescription
endpointVerdocsEndpoint
params?IListEnvelopesParams

envelope.getEnvelopesZip

Generate a ZIP file containing all data for the specified envelopes. The caller must be the owner of each envelope. The returned ZIP file contains a folder for each envelope.

getEnvelopesZip(endpoint: VerdocsEndpoint, envelope_ids: string[]): Promise<AxiosResponse<any, any, object>>
ParameterTypeDescription
endpointVerdocsEndpoint
envelope_idsstring[]

envelope.updateEnvelope

Update an envelope. Currently, only reminder settings may be changed.

updateEnvelope(endpoint: VerdocsEndpoint, envelopeId: string, params: Partial<Pick<IEnvelope, 'name' | 'sender_name' | 'sender_email' | 'no_contact' | 'initial_reminder' | 'followup_reminders' | 'expires_at' | 'visibility' | 'data'>>): Promise<IEnvelope>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring
paramsPartial<Pick<IEnvelope, 'name' | 'sender_name' | 'sender_email' | 'no_contact' | 'initial_reminder' | 'followup_reminders' | 'expires_at' | 'visibility' | 'data'>>

envelope.updateEnvelopeField

Update an Envelope field. Typically called during the signing process as a Recipient fills in fields.

updateEnvelopeField(endpoint: VerdocsEndpoint, envelopeId: string, roleName: string, fieldName: string, value: string, prepared: boolean): Promise<IEnvelopeField>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring
roleNamestring
fieldNamestring
valuestring
preparedboolean

envelope.uploadEnvelopeFieldAttachment

Upload an attachment to an attachment field.

uploadEnvelopeFieldAttachment(endpoint: VerdocsEndpoint, envelopeId: string, roleName: string, fieldName: string, file: File, onUploadProgress?: object): Promise<IEnvelopeFieldSettings>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring
roleNamestring
fieldNamestring
fileFile
onUploadProgress?object

envelope.cancelEnvelope

Cancel an Envelope.

cancel(envelope_id: str) -> Envelope
ParameterTypeDescription
envelope_idstrID of the envelope to cancel.

envelope.createEnvelope

Create an envelope

create(params: EnvelopeCreateParams) -> Envelope
ParameterTypeDescription
paramsEnvelopeCreateParamsThe envelope definition, built from a template or directly.

envelope.deleteEnvelopeFieldAttachment

Delete an attachment. Note that this is not a DELETE endpoint because the field itself is not being deleted. Instead, it is a similar operation to uploading a new attachment, but the omission of the attachment signals the server to delete the current entry.

delete_field_attachment(envelope_id: str, role_name: str, field_name: str) -> EnvelopeField
ParameterTypeDescription
envelope_idstrID of the envelope to operate on.
role_namestrThe role the field belongs to.
field_namestrThe machine name of the attachment field.

envelope.downloadEnvelopeDocument

Download a document directly.

download_document(document_id: str) -> bytes
ParameterTypeDescription
document_idstrID of the document to download.

envelope.getCombinedEnvelopeDocumentDownloadLink

Generates a single, signed PDF that combines all of an envelope's attached documents along with its completion certificate. Pages within the combined PDF are organized in the order of recipients' actions, preserving the signing workflow sequence.

get_combined_document_download_link(document_id: str) -> str
ParameterTypeDescription
document_idstrID of the envelope's certificate document.

envelope.getEnvelope

Get all metadata for an envelope. Note that when called by non-creators (e.g. Recipients) this will return only the **metadata** the caller is allowed to view.

get(envelope_id: str) -> Envelope
ParameterTypeDescription
envelope_idstrID of the envelope to fetch.

envelope.getEnvelopeDocument

Get all metadata for an envelope document. Note that when called by non-creators (e.g. Recipients) this will return only the **metadata** the caller is allowed to view.

get_document(document_id: str) -> EnvelopeDocument
ParameterTypeDescription
document_idstrID of the document to fetch.

envelope.getEnvelopeDocumentDownloadLink

Get an envelope document's metadata, or the document itself. If no "type" parameter is specified, the document metadata is returned. If "type" is set to "file", the document binary content is returned with Content-Type set to the MIME type of the file. If "type" is set to "download", a string download link will be returned. If "type" is set to "preview" a string preview link will be returned. This link expires quickly, so it should be accessed immediately and never shared.

get_document_download_link(document_id: str) -> str
ParameterTypeDescription
document_idstrID of the document to link to.

envelope.getEnvelopeDocumentPageDisplayUri

Get a display URI for a given page in a file attached to an envelope document. These pages are rendered server-side into PNG resources suitable for display in IMG tags although they may be used elsewhere. Note that these are intended for DISPLAY ONLY, are not legally binding documents, and do not contain any encoded metadata from participants.

get_document_page_display_uri(document_id: str, page: int, variant: Literal['original', 'filled', 'certificate'] = 'original') -> str
ParameterTypeDescription
document_idstrID of the document to render.
pageintThe page number to retrieve.
variant?Literal['original', 'filled', 'certificate']Which rendering of the document to use.

envelope.getEnvelopeDocumentPreviewLink

Get a pre-signed preview link for an Envelope Document. This link expires quickly, so it should be accessed immediately and never shared. Content-Disposition will be set to "inline".

get_document_preview_link(document_id: str) -> str
ParameterTypeDescription
document_idstrID of the document to link to.

envelope.getEnvelopeFile

Get (binary download) a file attached to an Envelope. It is important to use this method rather than a direct A HREF or similar link to set the authorization headers for the request.

get_file(document_id: str) -> bytes
ParameterTypeDescription
document_idstrID of the document to download.

envelope.getEnvelopes

Lists all envelopes accessible by the caller, with optional filters.

list(params: EnvelopeListParams | None = None) -> EnvelopeList
ParameterTypeDescription
params?EnvelopeListParams | NoneOptional filters, sorting, and pagination.

envelope.getEnvelopesZip

Generate a ZIP file containing all data for the specified envelopes. The caller must be the owner of each envelope. The returned ZIP file contains a folder for each envelope.

get_zip(envelope_ids: list[str]) -> bytes
ParameterTypeDescription
envelope_idslist[str]IDs of the envelopes to include.

envelope.updateEnvelope

Update an envelope. Currently, only reminder settings may be changed.

update(envelope_id: str, params: EnvelopeUpdateParams) -> Envelope
ParameterTypeDescription
envelope_idstrID of the envelope to update.
paramsEnvelopeUpdateParamsThe fields to change; unset fields are left alone.

envelope.updateEnvelopeField

Update an Envelope field. Typically called during the signing process as a Recipient fills in fields.

update_field(envelope_id: str, role_name: str, field_name: str, value: str, prepared: bool = False) -> EnvelopeField
ParameterTypeDescription
envelope_idstrID of the envelope to operate on.
role_namestrThe role the field belongs to, e.g. "Recipient 1".
field_namestrThe machine name of the field, e.g. "Buyer-textbox-1".
valuestrThe value to set.
prepared?boolMark the field as prepared by the envelope creator. The js-sdk makes callers pass this explicitly; it defaults to False here.

envelope.uploadEnvelopeFieldAttachment

Upload an attachment to an attachment field.

upload_field_attachment(envelope_id: str, role_name: str, field_name: str, file: FileInput) -> EnvelopeField
ParameterTypeDescription
envelope_idstrID of the envelope to operate on.
role_namestrThe role the field belongs to.
field_namestrThe machine name of the attachment field.
fileFileInputA file path, raw bytes, a binary file-like object, or an httpx-style (filename, content, content_type) tuple.

envelope.cancelEnvelope

Cancel an Envelope.

Task<Envelope> CancelAsync(string envelopeId, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to cancel.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.createEnvelope

Create an envelope

Task<Envelope> CreateAsync(CreateEnvelopeRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestCreateEnvelopeRequestThe envelope to create.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.deleteEnvelopeFieldAttachment

Delete an attachment. Note that this is not a DELETE endpoint because the field itself is not being deleted. Instead, it is a similar operation to uploading a new attachment, but the omission of the attachment signals the server to delete the current entry.

Task<EnvelopeField> DeleteFieldAttachmentAsync(string envelopeId, string roleName, string fieldName, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role the field is assigned to.
fieldNamestringThe name of the attachment field.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.downloadEnvelopeDocument

Download a document directly.

Task<byte[]> DownloadDocumentAsync(string documentId, CancellationToken cancellationToken = default)
ParameterTypeDescription
documentIdstringThe document to download.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.getCombinedEnvelopeDocumentDownloadLink

Generates a single, signed PDF that combines all of an envelope's attached documents along with its completion certificate. Pages within the combined PDF are organized in the order of recipients' actions, preserving the signing workflow sequence.

Task<string> GetCombinedDocumentDownloadLinkAsync(string documentId, CancellationToken cancellationToken = default)
ParameterTypeDescription
documentIdstringThe envelope's certificate document ID.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.getEnvelope

Get all metadata for an envelope. Note that when called by non-creators (e.g. Recipients) this will return only the **metadata** the caller is allowed to view.

Task<Envelope> GetAsync(string envelopeId, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to retrieve.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.getEnvelopeDocument

Get all metadata for an envelope document. Note that when called by non-creators (e.g. Recipients) this will return only the **metadata** the caller is allowed to view.

Task<EnvelopeDocument> GetDocumentAsync(string documentId, CancellationToken cancellationToken = default)
ParameterTypeDescription
documentIdstringThe document to retrieve.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.getEnvelopeDocumentDownloadLink

Get an envelope document's metadata, or the document itself. If no "type" parameter is specified, the document metadata is returned. If "type" is set to "file", the document binary content is returned with Content-Type set to the MIME type of the file. If "type" is set to "download", a string download link will be returned. If "type" is set to "preview" a string preview link will be returned. This link expires quickly, so it should be accessed immediately and never shared.

Task<string> GetDocumentDownloadLinkAsync(string documentId, CancellationToken cancellationToken = default)
ParameterTypeDescription
documentIdstringThe document to link to.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.getEnvelopeDocumentPageDisplayUri

Get a display URI for a given page in a file attached to an envelope document. These pages are rendered server-side into PNG resources suitable for display in IMG tags although they may be used elsewhere. Note that these are intended for DISPLAY ONLY, are not legally binding documents, and do not contain any encoded metadata from participants.

Task<string> GetDocumentPageDisplayUriAsync(string documentId, int page, string variant = original, CancellationToken cancellationToken = default)
ParameterTypeDescription
documentIdstringThe document to retrieve.
pageintThe page number to retrieve.
variant?stringThe variant to render: "original", "filled", or "certificate".
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.getEnvelopeDocumentPreviewLink

Get a pre-signed preview link for an Envelope Document. This link expires quickly, so it should be accessed immediately and never shared. Content-Disposition will be set to "inline".

Task<string> GetDocumentPreviewLinkAsync(string documentId, CancellationToken cancellationToken = default)
ParameterTypeDescription
documentIdstringThe document to link to.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.getEnvelopeFile

Get (binary download) a file attached to an Envelope. It is important to use this method rather than a direct A HREF or similar link to set the authorization headers for the request.

Task<byte[]> GetFileAsync(string documentId, CancellationToken cancellationToken = default)
ParameterTypeDescription
documentIdstringThe document to download.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.getEnvelopes

Lists all envelopes accessible by the caller, with optional filters.

Task<EnvelopeList> ListAsync(ListEnvelopesOptions? options = null, CancellationToken cancellationToken = default)
ParameterTypeDescription
options?ListEnvelopesOptions?Optional filters, sorting, and paging.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.getEnvelopesZip

Generate a ZIP file containing all data for the specified envelopes. The caller must be the owner of each envelope. The returned ZIP file contains a folder for each envelope.

Task<byte[]> GetZipAsync(IEnumerable<string> envelopeIds, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdsIEnumerable<string>The envelopes to include.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.updateEnvelope

Update an envelope. Currently, only reminder settings may be changed.

Task<Envelope> UpdateAsync(string envelopeId, UpdateEnvelopeRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to update.
requestUpdateEnvelopeRequestThe fields to change; unset fields are left alone.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.updateEnvelopeField

Update an Envelope field. Typically called during the signing process as a Recipient fills in fields.

Task<EnvelopeField> UpdateFieldAsync(string envelopeId, string roleName, string fieldName, string value, bool prepared = False, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role the field is assigned to.
fieldNamestringThe name of the field to update.
valuestringThe value to set.
prepared?boolTrue when the sender is pre-filling the field before sending.
cancellationToken?CancellationTokenToken to cancel the operation.

envelope.uploadEnvelopeFieldAttachment

Upload an attachment to an attachment field.

Task<EnvelopeField> UploadFieldAttachmentAsync(string envelopeId, string roleName, string fieldName, Stream content, string fileName, string? contentType = null, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role the field is assigned to.
fieldNamestringThe name of the attachment field.
contentStreamThe file content to upload.
fileNamestringThe filename to store with the attachment.
contentType?string?The file's MIME type. Defaults to application/octet-stream.
cancellationToken?CancellationTokenToken to cancel the operation.
Field

field.createField

Add a field to a template.

createField(endpoint: VerdocsEndpoint, templateId: string, params: ITemplateField): Promise<ITemplateField>
ParameterTypeDescription
endpointVerdocsEndpoint
templateIdstring
paramsITemplateField

field.deleteField

Remove a field from a template.

deleteField(endpoint: VerdocsEndpoint, templateId: string, name: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
templateIdstring
namestring

field.updateField

Update a template field.

updateField(endpoint: VerdocsEndpoint, templateId: string, name: string, params: Partial<ITemplateField>): Promise<ITemplateField>
ParameterTypeDescription
endpointVerdocsEndpoint
templateIdstring
namestring
paramsPartial<ITemplateField>

field.createField

Add a field to a template.

create(template_id: str, params: FieldCreateParams) -> TemplateField
ParameterTypeDescription
template_idstrID of the template to add the field to.
paramsFieldCreateParamsThe field definition.

field.deleteField

Remove a field from a template.

delete(template_id: str, name: str) -> None
ParameterTypeDescription
template_idstrID of the template the field belongs to.
namestrName of the field to delete.

field.updateField

Update a template field.

update(template_id: str, name: str, params: FieldUpdateParams) -> TemplateField
ParameterTypeDescription
template_idstrID of the template the field belongs to.
namestrThe field's current name.
paramsFieldUpdateParamsThe fields to change; unset fields are left alone.

field.createField

Add a field to a template.

Task<TemplateField> CreateAsync(string templateId, CreateFieldRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template to add the field to.
requestCreateFieldRequestThe field to create.
cancellationToken?CancellationTokenToken to cancel the operation.

field.deleteField

Remove a field from a template.

Task DeleteAsync(string templateId, string fieldName, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template the field belongs to.
fieldNamestringThe field's name.
cancellationToken?CancellationTokenToken to cancel the operation.

field.updateField

Update a template field.

Task<TemplateField> UpdateAsync(string templateId, string fieldName, UpdateFieldRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template the field belongs to.
fieldNamestringThe field's current name.
requestUpdateFieldRequestThe properties to change.
cancellationToken?CancellationTokenToken to cancel the operation.
Group

group.addGroupMember

Add a member to a group.

addGroupMember(endpoint: VerdocsEndpoint, groupId: string, profile_id: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
groupIdstring
profile_idstring

group.createGroup

Create a group. Note that "everyone" is a reserved name and may not be created.

createGroup(endpoint: VerdocsEndpoint, params: object): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsobject

group.deleteGroup

Get an organization by ID. Note that the "everyone" group cannot be deleted.

deleteGroup(endpoint: VerdocsEndpoint, groupId: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
groupIdstring

group.deleteGroupMember

Remove a member from a group.

deleteGroupMember(endpoint: VerdocsEndpoint, groupId: string, profile_id: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
groupIdstring
profile_idstring

group.getGroup

Get the details for a group, including its member profiles and list of permissions.

getGroup(endpoint: VerdocsEndpoint, groupId: string): Promise<IGroup>
ParameterTypeDescription
endpointVerdocsEndpoint
groupIdstring

group.getGroups

Get a list of groups for the caller's organization. NOTE: Any organization member may request the list of groups, but only Owners and Admins may update them.

getGroups(endpoint: VerdocsEndpoint): Promise<IGroup[]>
ParameterTypeDescription
endpointVerdocsEndpoint

group.updateGroup

Update a group. Note that "everyone" is a reserved name and may not be changed.

updateGroup(endpoint: VerdocsEndpoint, groupId: string, params: object): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
groupIdstring
paramsobject

group.addGroupMember

Add a member to a group.

add_member(group_id: str, profile_id: str) -> GroupProfile | None
ParameterTypeDescription
group_idstrID of the group.
profile_idstrID of the profile to add.

group.createGroup

Create a group. Note that "everyone" is a reserved name and may not be created.

create(params: GroupCreateParams) -> Group
ParameterTypeDescription
paramsGroupCreateParamsName and permissions for the new group. "everyone" is reserved, and the server lowercases the name.

group.deleteGroup

Get an organization by ID. Note that the "everyone" group cannot be deleted.

delete(group_id: str) -> None
ParameterTypeDescription
group_idstrID of the group to delete. The "everyone" group is refused.

group.deleteGroupMember

Remove a member from a group.

delete_member(group_id: str, profile_id: str) -> None
ParameterTypeDescription
group_idstrID of the group.
profile_idstrID of the profile to remove.

group.getGroup

Get the details for a group, including its member profiles and list of permissions.

get(group_id: str) -> Group
ParameterTypeDescription
group_idstrID of the group to fetch.

group.getGroups

Get a list of groups for the caller's organization. NOTE: Any organization member may request the list of groups, but only Owners and Admins may update them.

list() -> list[Group]

group.updateGroup

Update a group. Note that "everyone" is a reserved name and may not be changed.

update(group_id: str, params: GroupUpdateParams) -> Group
ParameterTypeDescription
group_idstrID of the group to update.
paramsGroupUpdateParamsNew name and permissions; the server requires both, so pass the current value for anything you are not changing.

group.addGroupMember

Add a member to a group.

Task AddMemberAsync(string groupId, string profileId, CancellationToken cancellationToken = default)
ParameterTypeDescription
groupIdstringThe group's unique ID.
profileIdstringThe profile to add.
cancellationToken?CancellationTokenToken to cancel the operation.

group.createGroup

Create a group. Note that "everyone" is a reserved name and may not be created.

Task<Group> CreateAsync(CreateGroupRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestCreateGroupRequestThe new group's name and permissions.
cancellationToken?CancellationTokenToken to cancel the operation.

group.deleteGroup

Get an organization by ID. Note that the "everyone" group cannot be deleted.

Task DeleteAsync(string groupId, CancellationToken cancellationToken = default)
ParameterTypeDescription
groupIdstringThe group's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

group.deleteGroupMember

Remove a member from a group.

Task DeleteMemberAsync(string groupId, string profileId, CancellationToken cancellationToken = default)
ParameterTypeDescription
groupIdstringThe group's unique ID.
profileIdstringThe profile to remove.
cancellationToken?CancellationTokenToken to cancel the operation.

group.getGroup

Get the details for a group, including its member profiles and list of permissions.

Task<Group> GetAsync(string groupId, CancellationToken cancellationToken = default)
ParameterTypeDescription
groupIdstringThe group's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

group.getGroups

Get a list of groups for the caller's organization. NOTE: Any organization member may request the list of groups, but only Owners and Admins may update them.

Task<IReadOnlyList<Group>> ListAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

group.updateGroup

Update a group. Note that "everyone" is a reserved name and may not be changed.

Task<Group> UpdateAsync(string groupId, UpdateGroupRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
groupIdstringThe group's unique ID.
requestUpdateGroupRequestThe replacement name and permissions.
cancellationToken?CancellationTokenToken to cancel the operation.
Initial

initial.createInitials

Create an initials block. In a typical signing workflow, the user is asked at the beginning of the process to "adopt" an initials block to be used for all initials fields in the document. Thus, this is typically called one time to create and store an initials block. Thereafter, the ID of the initials block may be re-used for each initials field to be "stamped" by the user. Note: Both "guest" signers and authenticated users can create initials blocks. Guest signers typically only ever have one, tied to that session. But authenticated users can create more than one, and can use them interchangeably.

createInitials(endpoint: VerdocsEndpoint, name: string, initials: Blob): Promise<IInitial>
ParameterTypeDescription
endpointVerdocsEndpoint
namestring
initialsBlob

initial.createInitials

Create an initials block. In a typical signing workflow, the user is asked at the beginning of the process to "adopt" an initials block to be used for all initials fields in the document. Thus, this is typically called one time to create and store an initials block. Thereafter, the ID of the initials block may be re-used for each initials field to be "stamped" by the user. Note: Both "guest" signers and authenticated users can create initials blocks. Guest signers typically only ever have one, tied to that session. But authenticated users can create more than one, and can use them interchangeably.

create(image: FileInput) -> Initial
ParameterTypeDescription
imageFileInputThe initials image: a file path, raw bytes, a binary file-like object, or an httpx-style (filename, content, content_type) tuple.

initial.createInitials

Create an initials block. In a typical signing workflow, the user is asked at the beginning of the process to "adopt" an initials block to be used for all initials fields in the document. Thus, this is typically called one time to create and store an initials block. Thereafter, the ID of the initials block may be re-used for each initials field to be "stamped" by the user. Note: Both "guest" signers and authenticated users can create initials blocks. Guest signers typically only ever have one, tied to that session. But authenticated users can create more than one, and can use them interchangeably.

Task<Initial> CreateAsync(Stream content, string fileName, string? contentType = null, CancellationToken cancellationToken = default)
ParameterTypeDescription
contentStreamThe initials image to store.
fileNamestringThe filename to store with the image.
contentType?string?The image's MIME type. Defaults to application/octet-stream; the server stores the declared type without validating it.
cancellationToken?CancellationTokenToken to cancel the operation.
Invitation

invitation.acceptOrganizationInvitation

Accept an invitation. This will automatically create a user record for the caller as well as a profile with the appropriate role as specified in the invite. The profile will be set as "current" for the caller, and session tokens will be returned to access the new profile. The profile's email_verified flag will also be set to true.

acceptOrganizationInvitation(endpoint: VerdocsEndpoint, params: IAcceptOrganizationInvitationRequest): Promise<IAuthenticateResponse>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsIAcceptOrganizationInvitationRequest

invitation.createOrganizationInvitation

Invite a new user to join the organization.

createOrganizationInvitation(endpoint: VerdocsEndpoint, params: ICreateInvitationRequest): Promise<IOrganizationInvitation>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsICreateInvitationRequest

invitation.declineOrganizationInvitation

Decline an invitation. This will mark the status "declined," providing a visual indication to the organization's admins that the invite was declined, preventing further invites from being created to the same email address, and also preventing the invitee from receiving reminders to join.

declineOrganizationInvitation(endpoint: VerdocsEndpoint, email: string, token: string): Promise<object>
ParameterTypeDescription
endpointVerdocsEndpoint
emailstring
tokenstring

invitation.deleteOrganizationInvitation

Delete an invitation. Note that no cancellation message will be sent. Invitations are also one-time-use. If the invitee attempts to join after the invitation is deleted, accepted, or decline, they will be shown an error.

deleteOrganizationInvitation(endpoint: VerdocsEndpoint, email: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
emailstring

invitation.getOrganizationInvitation

(_Authenticated via invite token, not an active session._). Get an invitation's details. This is generally used as the first step of accepting the invite, and is authenticated via an invite token - not an active session.A successful response will indicate that the invite token is still valid, and include some metadata for the organization to style the acceptance screen. Intended to be called by the invitee to get details about the invitation they are about to accept.

getOrganizationInvitation(endpoint: VerdocsEndpoint, email: string, token: string): Promise<IOrganizationInvitation>
ParameterTypeDescription
endpointVerdocsEndpoint
emailstring
tokenstring

invitation.getOrganizationInvitations

Get a list of invitations pending for the caller's organization. The caller must be an admin or owner.

getOrganizationInvitations(endpoint: VerdocsEndpoint): Promise<IOrganizationInvitation[]>
ParameterTypeDescription
endpointVerdocsEndpoint

invitation.resendOrganizationInvitation

Send a reminder to the invitee to join the organization.

resendOrganizationInvitation(endpoint: VerdocsEndpoint, email: string): Promise<IOrganizationInvitation>
ParameterTypeDescription
endpointVerdocsEndpoint
emailstring

invitation.updateOrganizationInvitation

Update an invitation. Note that email may not be changed after the invite is sent. To change an invitee's email, delete the incorrect entry and create one with the correct value.

updateOrganizationInvitation(endpoint: VerdocsEndpoint, email: string, params: Pick<ICreateInvitationRequest, 'first_name' | 'last_name' | 'role'>): Promise<IOrganizationInvitation>
ParameterTypeDescription
endpointVerdocsEndpoint
emailstring
paramsPick<ICreateInvitationRequest, 'first_name' | 'last_name' | 'role'>

invitation.acceptOrganizationInvitation

Accept an invitation. This will automatically create a user record for the caller as well as a profile with the appropriate role as specified in the invite. The profile will be set as "current" for the caller, and session tokens will be returned to access the new profile. The profile's email_verified flag will also be set to true.

accept(params: InvitationAcceptParams) -> AuthenticateResponse
ParameterTypeDescription
paramsInvitationAcceptParamsThe invitee's details, invite token, and new password.

invitation.createOrganizationInvitation

Invite a new user to join the organization.

create(params: InvitationCreateParams) -> OrganizationInvitation
ParameterTypeDescription
paramsInvitationCreateParamsDetails for the invitation.

invitation.declineOrganizationInvitation

Decline an invitation. This will mark the status "declined," providing a visual indication to the organization's admins that the invite was declined, preventing further invites from being created to the same email address, and also preventing the invitee from receiving reminders to join.

decline(email: str, token: str) -> None
ParameterTypeDescription
emailstrEmail address the invitation was sent to.
tokenstrThe invite token from the invitation email.

invitation.deleteOrganizationInvitation

Delete an invitation. Note that no cancellation message will be sent. Invitations are also one-time-use. If the invitee attempts to join after the invitation is deleted, accepted, or decline, they will be shown an error.

delete(email: str) -> None
ParameterTypeDescription
emailstrEmail address of the invitation to delete.

invitation.getOrganizationInvitation

(_Authenticated via invite token, not an active session._). Get an invitation's details. This is generally used as the first step of accepting the invite, and is authenticated via an invite token - not an active session.A successful response will indicate that the invite token is still valid, and include some metadata for the organization to style the acceptance screen. Intended to be called by the invitee to get details about the invitation they are about to accept.

get(email: str, token: str) -> OrganizationInvitation
ParameterTypeDescription
emailstrEmail address the invitation was sent to.
tokenstrThe invite token from the invitation email.

invitation.getOrganizationInvitations

Get a list of invitations pending for the caller's organization. The caller must be an admin or owner.

list() -> list[OrganizationInvitation]

invitation.resendOrganizationInvitation

Send a reminder to the invitee to join the organization.

resend(email: str) -> None
ParameterTypeDescription
emailstrEmail address of the invitee to remind.

invitation.updateOrganizationInvitation

Update an invitation. Note that email may not be changed after the invite is sent. To change an invitee's email, delete the incorrect entry and create one with the correct value.

update(email: str, params: InvitationUpdateParams) -> OrganizationInvitation | None
ParameterTypeDescription
emailstrEmail address of the invitation to update.
paramsInvitationUpdateParamsThe fields to change.

invitation.acceptOrganizationInvitation

Accept an invitation. This will automatically create a user record for the caller as well as a profile with the appropriate role as specified in the invite. The profile will be set as "current" for the caller, and session tokens will be returned to access the new profile. The profile's email_verified flag will also be set to true.

Task<AuthenticateResponse> AcceptAsync(AcceptOrganizationInvitationRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestAcceptOrganizationInvitationRequestThe acceptance details.
cancellationToken?CancellationTokenToken to cancel the operation.

invitation.createOrganizationInvitation

Invite a new user to join the organization.

Task<OrganizationInvitation> CreateAsync(CreateInvitationRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestCreateInvitationRequestDetails for the invitation.
cancellationToken?CancellationTokenToken to cancel the operation.

invitation.declineOrganizationInvitation

Decline an invitation. This will mark the status "declined," providing a visual indication to the organization's admins that the invite was declined, preventing further invites from being created to the same email address, and also preventing the invitee from receiving reminders to join.

Task DeclineAsync(string email, string token, CancellationToken cancellationToken = default)
ParameterTypeDescription
emailstringThe invitee's email address.
tokenstringThe invite token from the invitation email.
cancellationToken?CancellationTokenToken to cancel the operation.

invitation.deleteOrganizationInvitation

Delete an invitation. Note that no cancellation message will be sent. Invitations are also one-time-use. If the invitee attempts to join after the invitation is deleted, accepted, or decline, they will be shown an error.

Task DeleteAsync(string email, CancellationToken cancellationToken = default)
ParameterTypeDescription
emailstringThe invitee's email address.
cancellationToken?CancellationTokenToken to cancel the operation.

invitation.getOrganizationInvitation

(_Authenticated via invite token, not an active session._). Get an invitation's details. This is generally used as the first step of accepting the invite, and is authenticated via an invite token - not an active session.A successful response will indicate that the invite token is still valid, and include some metadata for the organization to style the acceptance screen. Intended to be called by the invitee to get details about the invitation they are about to accept.

Task<OrganizationInvitation> GetAsync(string email, string token, CancellationToken cancellationToken = default)
ParameterTypeDescription
emailstringThe invitee's email address.
tokenstringThe invite token from the invitation email.
cancellationToken?CancellationTokenToken to cancel the operation.

invitation.getOrganizationInvitations

Get a list of invitations pending for the caller's organization. The caller must be an admin or owner.

Task<IReadOnlyList<OrganizationInvitation>> ListAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

invitation.resendOrganizationInvitation

Send a reminder to the invitee to join the organization.

Task ResendAsync(string email, CancellationToken cancellationToken = default)
ParameterTypeDescription
emailstringThe invitee's email address.
cancellationToken?CancellationTokenToken to cancel the operation.

invitation.updateOrganizationInvitation

Update an invitation. Note that email may not be changed after the invite is sent. To change an invitee's email, delete the incorrect entry and create one with the correct value.

Task UpdateAsync(string email, string role, CancellationToken cancellationToken = default)
ParameterTypeDescription
emailstringThe invitee's email address.
rolestringThe role the invitee will hold: "contact", "basic_user", "member", "admin", or "owner".
cancellationToken?CancellationTokenToken to cancel the operation.
KBA

kba.getKbaStep

Get the current KBA status. Note that this may only be called by the recipient and requires a valid signing session to proceed. Although the Recipient object itself contains indications of whether KBA is required, it will not contain the current status of the process. If `recipient.auth_methods` is set (not empty), and `recipient.kba_completed` is false, this endpoint should be called to determine the next KBA step required.

getKbaStep(endpoint: VerdocsEndpoint, envelope_id: string, role_name: string): Promise<IRecipientKbaStepNone | IRecipientKbaStepComplete | IRecipientKbaStepPin | IRecipientKbaStepIdentity | IRecipientKbaStepChallenge | IRecipientKbaStepFailed>
ParameterTypeDescription
endpointVerdocsEndpoint
envelope_idstring
role_namestring

kba.submitKbaChallengeResponse

Submit an identity response to a KBA challenge. Answers should be submitted in the same order as the challenges were listed in `IRecipientKbaStepChallenge.questions`.

submitKbaChallengeResponse(endpoint: VerdocsEndpoint, envelope_id: string, role_name: string, responses: IKbaChallengeResponse[]): Promise<IRecipientKbaStepNone | IRecipientKbaStepComplete | IRecipientKbaStepPin | IRecipientKbaStepIdentity | IRecipientKbaStepChallenge | IRecipientKbaStepFailed>
ParameterTypeDescription
endpointVerdocsEndpoint
envelope_idstring
role_namestring
responsesIKbaChallengeResponse[]

kba.submitKbaIdentity

Submit an identity response to a KBA challenge.

submitKbaIdentity(endpoint: VerdocsEndpoint, envelope_id: string, role_name: string, identity: IKbaIdentity): Promise<IRecipientKbaStepNone | IRecipientKbaStepComplete | IRecipientKbaStepPin | IRecipientKbaStepIdentity | IRecipientKbaStepChallenge | IRecipientKbaStepFailed>
ParameterTypeDescription
endpointVerdocsEndpoint
envelope_idstring
role_namestring
identityIKbaIdentity

kba.submitKbaPin

Submit a response to a KBA PIN challenge.

submitKbaPin(endpoint: VerdocsEndpoint, envelope_id: string, role_name: string, pin: string): Promise<IRecipientKbaStepNone | IRecipientKbaStepComplete | IRecipientKbaStepPin | IRecipientKbaStepIdentity | IRecipientKbaStepChallenge | IRecipientKbaStepFailed>
ParameterTypeDescription
endpointVerdocsEndpoint
envelope_idstring
role_namestring
pinstring

kba.getKbaStep

Get the current KBA status. Note that this may only be called by the recipient and requires a valid signing session to proceed. Although the Recipient object itself contains indications of whether KBA is required, it will not contain the current status of the process. If `recipient.auth_methods` is set (not empty), and `recipient.kba_completed` is false, this endpoint should be called to determine the next KBA step required.

get_step(envelope_id: str, role_name: str) -> RecipientKbaStep
ParameterTypeDescription
envelope_idstrThe envelope to operate on.
role_namestrThe role to check.

kba.submitKbaChallengeResponse

Submit an identity response to a KBA challenge. Answers should be submitted in the same order as the challenges were listed in `IRecipientKbaStepChallenge.questions`.

submit_challenge_response(envelope_id: str, role_name: str, responses: list[KbaChallengeResponse]) -> RecipientKbaStep
ParameterTypeDescription
envelope_idstrThe envelope to operate on.
role_namestrThe role completing the challenge.
responseslist[KbaChallengeResponse]One answer per challenge question, in order.

kba.submitKbaIdentity

Submit an identity response to a KBA challenge.

submit_identity(envelope_id: str, role_name: str, identity: KbaIdentity) -> RecipientKbaStep
ParameterTypeDescription
envelope_idstrThe envelope to operate on.
role_namestrThe role completing the challenge.
identityKbaIdentityThe recipient's identity details.

kba.submitKbaPin

Submit a response to a KBA PIN challenge.

submit_pin(envelope_id: str, role_name: str, pin: str) -> RecipientKbaStep
ParameterTypeDescription
envelope_idstrThe envelope to operate on.
role_namestrThe role completing the challenge.
pinstrThe PIN the recipient entered.

kba.getKbaStep

Get the current KBA status. Note that this may only be called by the recipient and requires a valid signing session to proceed. Although the Recipient object itself contains indications of whether KBA is required, it will not contain the current status of the process. If `recipient.auth_methods` is set (not empty), and `recipient.kba_completed` is false, this endpoint should be called to determine the next KBA step required.

Task<RecipientKbaStep> GetStepAsync(string envelopeId, string roleName, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role being verified.
cancellationToken?CancellationTokenToken to cancel the operation.

kba.submitKbaChallengeResponse

Submit an identity response to a KBA challenge. Answers should be submitted in the same order as the challenges were listed in `IRecipientKbaStepChallenge.questions`.

Task<RecipientKbaStep> SubmitChallengeResponseAsync(string envelopeId, string roleName, IReadOnlyList<KbaResponse> responses, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role being verified.
responsesIReadOnlyList<KbaResponse>The answers, in question order.
cancellationToken?CancellationTokenToken to cancel the operation.

kba.submitKbaIdentity

Submit an identity response to a KBA challenge.

Task<RecipientKbaStep> SubmitIdentityAsync(string envelopeId, string roleName, KbaIdentity identity, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role being verified.
identityKbaIdentityThe identity details the user supplied.
cancellationToken?CancellationTokenToken to cancel the operation.

kba.submitKbaPin

Submit a response to a KBA PIN challenge.

Task<RecipientKbaStep> SubmitPinAsync(string envelopeId, string roleName, string pin, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role being verified.
pinstringThe PIN the user entered.
cancellationToken?CancellationTokenToken to cancel the operation.
Member

member.createOrganizationMember

Create an organization member directly, bypassing the invite process.

createOrganizationMember(endpoint: VerdocsEndpoint, params: object): Promise<IProfile>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsobject

member.deleteOrganizationMember

Delete a member from the caller's organization. Note that the caller must be an admin or owner, may not delete him/herself.

deleteOrganizationMember(endpoint: VerdocsEndpoint, profileId: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
profileIdstring

member.getOrganizationMembers

Get a list of the members in the caller's organization.

getOrganizationMembers(endpoint: VerdocsEndpoint): Promise<IProfile[]>
ParameterTypeDescription
endpointVerdocsEndpoint

member.lockOrganizationMember

Lock an organization member's account. The member will be unable to sign in until an admin unlocks them or they complete the password-reset flow. Caller must be an admin or owner, may not lock him/herself, and the target must have a linked user account.

lockOrganizationMember(endpoint: VerdocsEndpoint, profileId: string, reason: string): Promise<IProfile>
ParameterTypeDescription
endpointVerdocsEndpoint
profileIdstring
reasonstring

member.unlockOrganizationMember

Unlock a member whose account has been locked (typically after too many failed sign-in attempts or via an earlier admin lock). Caller must be an admin or owner, may not unlock him/herself, and the target must have a linked user account. Clears `locked`, `lock_reason`, and `login_failures`.

unlockOrganizationMember(endpoint: VerdocsEndpoint, profileId: string): Promise<IProfile>
ParameterTypeDescription
endpointVerdocsEndpoint
profileIdstring

member.updateOrganizationMember

Update an organization member.

updateOrganizationMember(endpoint: VerdocsEndpoint, profileId: string, params: Partial<Pick<IProfile, 'first_name' | 'last_name' | 'roles'>>): Promise<IProfile>
ParameterTypeDescription
endpointVerdocsEndpoint
profileIdstring
paramsPartial<Pick<IProfile, 'first_name' | 'last_name' | 'roles'>>

member.createOrganizationMember

Create an organization member directly, bypassing the invite process.

create(params: MemberCreateParams) -> MemberCreateResponse
ParameterTypeDescription
paramsMemberCreateParamsDetails for the new member.

member.deleteOrganizationMember

Delete a member from the caller's organization. Note that the caller must be an admin or owner, may not delete him/herself.

delete(profile_id: str) -> None
ParameterTypeDescription
profile_idstrThe profile to remove.

member.getOrganizationMembers

Get a list of the members in the caller's organization.

list() -> list[Profile]

member.lockOrganizationMember

Lock an organization member's account. The member will be unable to sign in until an admin unlocks them or they complete the password-reset flow. Caller must be an admin or owner, may not lock him/herself, and the target must have a linked user account.

lock(profile_id: str, reason: str) -> Profile
ParameterTypeDescription
profile_idstrThe profile to lock.
reasonstrWhy the account is being locked (1-255 chars); stored on the user record and shown to admins.

member.unlockOrganizationMember

Unlock a member whose account has been locked (typically after too many failed sign-in attempts or via an earlier admin lock). Caller must be an admin or owner, may not unlock him/herself, and the target must have a linked user account. Clears `locked`, `lock_reason`, and `login_failures`.

unlock(profile_id: str) -> Profile
ParameterTypeDescription
profile_idstrThe profile to unlock.

member.updateOrganizationMember

Update an organization member.

update(profile_id: str, params: MemberUpdateParams) -> Profile
ParameterTypeDescription
profile_idstrThe profile to update.
paramsMemberUpdateParamsThe fields to change.

member.createOrganizationMember

Create an organization member directly, bypassing the invite process.

Task<CreateMemberResponse> CreateAsync(CreateMemberRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestCreateMemberRequestDetails for the new member.
cancellationToken?CancellationTokenToken to cancel the operation.

member.deleteOrganizationMember

Delete a member from the caller's organization. Note that the caller must be an admin or owner, may not delete him/herself.

Task DeleteAsync(string profileId, CancellationToken cancellationToken = default)
ParameterTypeDescription
profileIdstringThe member's profile ID.
cancellationToken?CancellationTokenToken to cancel the operation.

member.getOrganizationMembers

Get a list of the members in the caller's organization.

Task<IReadOnlyList<Profile>> ListAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

member.lockOrganizationMember

Lock an organization member's account. The member will be unable to sign in until an admin unlocks them or they complete the password-reset flow. Caller must be an admin or owner, may not lock him/herself, and the target must have a linked user account.

Task<Profile> LockAsync(string profileId, string reason, CancellationToken cancellationToken = default)
ParameterTypeDescription
profileIdstringThe member's profile ID.
reasonstringWhy the account is being locked (1 to 255 characters). Stored on the user record and shown to admins.
cancellationToken?CancellationTokenToken to cancel the operation.

member.unlockOrganizationMember

Unlock a member whose account has been locked (typically after too many failed sign-in attempts or via an earlier admin lock). Caller must be an admin or owner, may not unlock him/herself, and the target must have a linked user account. Clears `locked`, `lock_reason`, and `login_failures`.

Task<Profile> UnlockAsync(string profileId, CancellationToken cancellationToken = default)
ParameterTypeDescription
profileIdstringThe member's profile ID.
cancellationToken?CancellationTokenToken to cancel the operation.

member.updateOrganizationMember

Update an organization member.

Task<Profile> UpdateAsync(string profileId, UpdateMemberRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
profileIdstringThe member's profile ID.
requestUpdateMemberRequestThe changes to apply.
cancellationToken?CancellationTokenToken to cancel the operation.
Notification

notification.createNotificationTemplate

Create a notification template. Only one template may exist per combination of type and event_name. At least one of `html_template` or `text_template` must be provided.

createNotificationTemplate(endpoint: VerdocsEndpoint, params: ICreateNotificationTemplateRequest): Promise<INotificationTemplate>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsICreateNotificationTemplateRequest

notification.deleteNotificationTemplate

Delete a notification template.

deleteNotificationTemplate(endpoint: VerdocsEndpoint, id: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
idstring

notification.getNotifications

Get notifications for the caller's current profile.

getNotifications(endpoint: VerdocsEndpoint): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint

notification.getNotificationTemplate

Get a single notification template by ID.

getNotificationTemplate(endpoint: VerdocsEndpoint, id: string): Promise<INotificationTemplate>
ParameterTypeDescription
endpointVerdocsEndpoint
idstring

notification.getNotificationTemplates

Get all notification templates for the caller's organization.

getNotificationTemplates(endpoint: VerdocsEndpoint): Promise<INotificationTemplate[]>
ParameterTypeDescription
endpointVerdocsEndpoint

notification.updateNotificationTemplate

Update a notification template. At least one of `html_template` or `text_template` must be provided.

updateNotificationTemplate(endpoint: VerdocsEndpoint, id: string, params: IUpdateNotificationTemplateRequest): Promise<INotificationTemplate>
ParameterTypeDescription
endpointVerdocsEndpoint
idstring
paramsIUpdateNotificationTemplateRequest

notification.createNotificationTemplate

Create a notification template. Only one template may exist per combination of type and event_name. At least one of `html_template` or `text_template` must be provided.

create(params: NotificationTemplateCreateParams) -> NotificationTemplate
ParameterTypeDescription
paramsNotificationTemplateCreateParamsThe channel type, trigger event, and content. At least one of html_template or text_template is required.

notification.deleteNotificationTemplate

Delete a notification template.

delete(template_id: str) -> None
ParameterTypeDescription
template_idstrID of the notification template to delete.

notification.getNotifications

Get notifications for the caller's current profile.

notifications() -> list[dict[str, Any]]

notification.getNotificationTemplate

Get a single notification template by ID.

get(template_id: str) -> NotificationTemplate
ParameterTypeDescription
template_idstrID of the notification template to fetch.

notification.getNotificationTemplates

Get all notification templates for the caller's organization.

list() -> list[NotificationTemplate]

notification.updateNotificationTemplate

Update a notification template. At least one of `html_template` or `text_template` must be provided.

update(template_id: str, params: NotificationTemplateUpdateParams) -> NotificationTemplate
ParameterTypeDescription
template_idstrID of the notification template to update.
paramsNotificationTemplateUpdateParamsThe new content; at least one body is required.

notification.createNotificationTemplate

Create a notification template. Only one template may exist per combination of type and event_name. At least one of `html_template` or `text_template` must be provided.

Task<NotificationTemplate> CreateAsync(CreateNotificationTemplateRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestCreateNotificationTemplateRequestDetails for the new template.
cancellationToken?CancellationTokenToken to cancel the operation.

notification.deleteNotificationTemplate

Delete a notification template.

Task DeleteAsync(string templateId, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe notification template's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

notification.getNotifications

Get notifications for the caller's current profile.

Task<JsonElement> GetNotificationsAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

notification.getNotificationTemplate

Get a single notification template by ID.

Task<NotificationTemplate> GetAsync(string templateId, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe notification template's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

notification.getNotificationTemplates

Get all notification templates for the caller's organization.

Task<IReadOnlyList<NotificationTemplate>> ListAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

notification.updateNotificationTemplate

Update a notification template. At least one of `html_template` or `text_template` must be provided.

Task<NotificationTemplate> UpdateAsync(string templateId, UpdateNotificationTemplateRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe notification template's unique ID.
requestUpdateNotificationTemplateRequestThe changes to apply.
cancellationToken?CancellationTokenToken to cancel the operation.
Organization

organization.createOrganization

Create an organization. The caller will be assigned an "Owner" profile in the new organization, and it will be set to "current" automatically. A new set of session tokens will be issued to the caller, and the caller should update their endpoint to use the new tokens.

createOrganization(endpoint: VerdocsEndpoint, params: object & Partial<Pick<IOrganization, 'data' | 'url' | 'locale' | 'timezone' | 'parent_id' | 'contact_email' | 'full_logo_url' | 'thumbnail_url' | 'primary_color' | 'secondary_color' | 'terms_use_url' | 'privacy_policy_url' | 'powered_by_label' | 'powered_by_url' | 'disclaimer' | 'deletion_protected'>>): Promise<IAuthenticateResponse & object>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsobject & Partial<Pick<IOrganization, 'data' | 'url' | 'locale' | 'timezone' | 'parent_id' | 'contact_email' | 'full_logo_url' | 'thumbnail_url' | 'primary_color' | 'secondary_color' | 'terms_use_url' | 'privacy_policy_url' | 'powered_by_label' | 'powered_by_url' | 'disclaimer' | 'deletion_protected'>>

organization.deleteOrganization

Delete an organization. This can only be called by an owner. Inclusion of the organization ID to delete is just a safety check. The caller may only delete the organization they have currently selected.

deleteOrganization(endpoint: VerdocsEndpoint, organizationId: string): Promise<null | IAuthenticateResponse>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring

organization.getActiveEntitlements

Largely intended to be used internally by Web SDK components but may be informative for other cases. Entitlements are feature grants such as "ID-based KBA" that require paid contracts to enable, typically because the underlying services that support them are fee-based. Entitlements may run concurrently, and may have different start/end dates e.g. "ID-based KBA" may run 1/1/2026-12/31/2026 while "SMS Authentication" may be added later and run 6/1/2026-5/31/2027. The entitlements list is a simple array of enablements and may include entries that are not YET enabled or have now expired. In client code it is helpful to simply know "is XYZ feature currently enabled?" This function collapses the entitlements list to a simplified dictionary of current/active entitlements. Note that it is async because it calls the server to obtain the "most current" entitlements list. Existence of an entry in the resulting dictionary implies the feature is active. Metadata inside each entry can be used to determine limits, etc.

getActiveEntitlements(endpoint: VerdocsEndpoint): Promise<Partial<Record<TEntitlement, IEntitlement>>>
ParameterTypeDescription
endpointVerdocsEndpoint

organization.getEntitlements

Get the caller's organization entitlements.

getEntitlements(endpoint: VerdocsEndpoint): Promise<IEntitlement[]>
ParameterTypeDescription
endpointVerdocsEndpoint

organization.getOrganization

Get an organization by ID. Note that this endpoint will return only a subset of fields if the caller is not a member of the organization (the public fields).

getOrganization(endpoint: VerdocsEndpoint, organizationId: string): Promise<IOrganization>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring

organization.getOrganizationChildren

Get an organization's "children".

getOrganizationChildren(endpoint: VerdocsEndpoint, organizationId: string): Promise<IOrganization>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring

organization.getOrganizationPipelineSettings

Get an organization's document-pipeline settings. The caller must be an admin of the organization.

getOrganizationPipelineSettings(endpoint: VerdocsEndpoint, organizationId: string): Promise<IPipelineSettings>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring

organization.getOrganizationUsage

Get an organization's usage data. If the organization is a parent, usage data for children will be included as well. The response will be a nested object keyed by organization ID, with each entry being a dictionary of usageType:count entries.

getOrganizationUsage(endpoint: VerdocsEndpoint, organizationId: string, params?: object): Promise<TOrganizationUsage>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
params?object

organization.updateOrganization

Update an organization. This can only be called by an admin or owner.

updateOrganization(endpoint: VerdocsEndpoint, organizationId: string, params: Partial<IOrganization>): Promise<IOrganization>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
paramsPartial<IOrganization>

organization.updateOrganizationLogo

Update the organization's full or thumbnail logo. This can only be called by an admin or owner.

updateOrganizationLogo(endpoint: VerdocsEndpoint, organizationId: string, file: File, onUploadProgress?: object): Promise<IOrganization>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
fileFile
onUploadProgress?object

organization.updateOrganizationPipelineSettings

Update an organization's document-pipeline settings. Note that all fields are optional. Flags that are omitted will be ignored and left unchanged.

updateOrganizationPipelineSettings(endpoint: VerdocsEndpoint, organizationId: string, params: Partial<IPipelineSettings>): Promise<IPipelineSettings>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
paramsPartial<IPipelineSettings>

organization.updateOrganizationThumbnail

Update the organization's thumbnail. This can only be called by an admin or owner.

updateOrganizationThumbnail(endpoint: VerdocsEndpoint, organizationId: string, file: File, onUploadProgress?: object): Promise<IOrganization>
ParameterTypeDescription
endpointVerdocsEndpoint
organizationIdstring
fileFile
onUploadProgress?object

organization.createOrganization

Create an organization. The caller will be assigned an "Owner" profile in the new organization, and it will be set to "current" automatically. A new set of session tokens will be issued to the caller, and the caller should update their endpoint to use the new tokens.

create(params: OrganizationCreateParams) -> OrganizationCreateResponse | Organization
ParameterTypeDescription
paramsOrganizationCreateParamsFields for the new organization; only name is required. Note that the deployed handler consumes only name, parent_id, timezone, and locale; see OrganizationCreateParams.

organization.deleteOrganization

Delete an organization. This can only be called by an owner. Inclusion of the organization ID to delete is just a safety check. The caller may only delete the organization they have currently selected.

delete(organization_id: str) -> AuthenticateResponse | None
ParameterTypeDescription
organization_idstrID of the organization to delete.

organization.getActiveEntitlements

Largely intended to be used internally by Web SDK components but may be informative for other cases. Entitlements are feature grants such as "ID-based KBA" that require paid contracts to enable, typically because the underlying services that support them are fee-based. Entitlements may run concurrently, and may have different start/end dates e.g. "ID-based KBA" may run 1/1/2026-12/31/2026 while "SMS Authentication" may be added later and run 6/1/2026-5/31/2027. The entitlements list is a simple array of enablements and may include entries that are not YET enabled or have now expired. In client code it is helpful to simply know "is XYZ feature currently enabled?" This function collapses the entitlements list to a simplified dictionary of current/active entitlements. Note that it is async because it calls the server to obtain the "most current" entitlements list. Existence of an entry in the resulting dictionary implies the feature is active. Metadata inside each entry can be used to determine limits, etc.

get_active_entitlements() -> ActiveEntitlements

organization.getEntitlements

Get the caller's organization entitlements.

get_entitlements() -> list[Entitlement]

organization.getOrganization

Get an organization by ID. Note that this endpoint will return only a subset of fields if the caller is not a member of the organization (the public fields).

get(organization_id: str) -> Organization
ParameterTypeDescription
organization_idstrID of the organization to fetch. Must be the caller's own.

organization.getOrganizationChildren

Get an organization's "children".

get_children(organization_id: str) -> list[Organization]
ParameterTypeDescription
organization_idstrID of the parent organization. Must be the caller's own.

organization.getOrganizationPipelineSettings

Get an organization's document-pipeline settings. The caller must be an admin of the organization.

get_pipeline_settings(organization_id: str) -> PipelineSettings
ParameterTypeDescription
organization_idstrID of the organization. Must be the caller's own.

organization.getOrganizationUsage

Get an organization's usage data. If the organization is a parent, usage data for children will be included as well. The response will be a nested object keyed by organization ID, with each entry being a dictionary of usageType:count entries.

get_usage(organization_id: str, start_date: str | None = None, end_date: str | None = None, usage_type: str | None = None) -> OrganizationUsage
ParameterTypeDescription
organization_idstrID of the organization. Must be the caller's own.
start_date?str | NoneISO 8601 UTC datetime string (e.g. "2026-01-01T00:00:00Z"). The server defaults to 90 days ago.
end_date?str | NoneISO 8601 UTC datetime string. The server defaults to now.
usage_type?str | NoneRestrict to one usage type. Known values: UsageType in models.base.

organization.updateOrganization

Update an organization. This can only be called by an admin or owner.

update(organization_id: str, params: OrganizationUpdateParams) -> Organization
ParameterTypeDescription
organization_idstrID of the organization to update. Must be the caller's own.
paramsOrganizationUpdateParamsThe fields to change; unset fields are left alone.

organization.updateOrganizationLogo

Update the organization's full or thumbnail logo. This can only be called by an admin or owner.

update_logo(organization_id: str, logo: FileInput) -> Organization
ParameterTypeDescription
organization_idstrID of the organization to update. Must be the caller's own.
logoFileInputThe image: a path, raw bytes, an open binary file, or an httpx-style (filename, content[, content_type]) tuple.

organization.updateOrganizationPipelineSettings

Update an organization's document-pipeline settings. Note that all fields are optional. Flags that are omitted will be ignored and left unchanged.

update_pipeline_settings(organization_id: str, params: PipelineSettingsUpdateParams) -> PipelineSettings
ParameterTypeDescription
organization_idstrID of the organization. Must be the caller's own.
paramsPipelineSettingsUpdateParamsThe flags to change.

organization.updateOrganizationThumbnail

Update the organization's thumbnail. This can only be called by an admin or owner.

update_thumbnail(organization_id: str, thumbnail: FileInput) -> Organization
ParameterTypeDescription
organization_idstrID of the organization to update. Must be the caller's own.
thumbnailFileInputThe image: a path, raw bytes, an open binary file, or an httpx-style (filename, content[, content_type]) tuple.

organization.createOrganization

Create an organization. The caller will be assigned an "Owner" profile in the new organization, and it will be set to "current" automatically. A new set of session tokens will be issued to the caller, and the caller should update their endpoint to use the new tokens.

Task<CreateOrganizationResponse> CreateAsync(CreateOrganizationRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestCreateOrganizationRequestDetails for the new organization.
cancellationToken?CancellationTokenToken to cancel the operation.

organization.deleteOrganization

Delete an organization. This can only be called by an owner. Inclusion of the organization ID to delete is just a safety check. The caller may only delete the organization they have currently selected.

Task<AuthenticateResponse> DeleteAsync(string organizationId, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID, as a safety check.
cancellationToken?CancellationTokenToken to cancel the operation.

organization.getActiveEntitlements

Largely intended to be used internally by Web SDK components but may be informative for other cases. Entitlements are feature grants such as "ID-based KBA" that require paid contracts to enable, typically because the underlying services that support them are fee-based. Entitlements may run concurrently, and may have different start/end dates e.g. "ID-based KBA" may run 1/1/2026-12/31/2026 while "SMS Authentication" may be added later and run 6/1/2026-5/31/2027. The entitlements list is a simple array of enablements and may include entries that are not YET enabled or have now expired. In client code it is helpful to simply know "is XYZ feature currently enabled?" This function collapses the entitlements list to a simplified dictionary of current/active entitlements. Note that it is async because it calls the server to obtain the "most current" entitlements list. Existence of an entry in the resulting dictionary implies the feature is active. Metadata inside each entry can be used to determine limits, etc.

Task<IReadOnlyDictionary<string, Entitlement>> GetActiveEntitlementsAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

organization.getEntitlements

Get the caller's organization entitlements.

Task<IReadOnlyList<Entitlement>> GetEntitlementsAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

organization.getOrganization

Get an organization by ID. Note that this endpoint will return only a subset of fields if the caller is not a member of the organization (the public fields).

Task<Organization> GetAsync(string organizationId, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

organization.getOrganizationChildren

Get an organization's "children".

Task<IReadOnlyList<Organization>> GetChildrenAsync(string organizationId, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe parent organization's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

organization.getOrganizationPipelineSettings

Get an organization's document-pipeline settings. The caller must be an admin of the organization.

Task<PipelineSettings> GetPipelineSettingsAsync(string organizationId, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

organization.getOrganizationUsage

Get an organization's usage data. If the organization is a parent, usage data for children will be included as well. The response will be a nested object keyed by organization ID, with each entry being a dictionary of usageType:count entries.

Task<IReadOnlyDictionary<string, IReadOnlyDictionary<string, long>>> GetUsageAsync(string organizationId, GetOrganizationUsageOptions? options = null, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
options?GetOrganizationUsageOptions?Optional date range and usage-type filters.
cancellationToken?CancellationTokenToken to cancel the operation.

organization.updateOrganization

Update an organization. This can only be called by an admin or owner.

Task<Organization> UpdateAsync(string organizationId, UpdateOrganizationRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
requestUpdateOrganizationRequestThe changes to apply.
cancellationToken?CancellationTokenToken to cancel the operation.

organization.updateOrganizationLogo

Update the organization's full or thumbnail logo. This can only be called by an admin or owner.

Task<Organization> UpdateLogoAsync(string organizationId, Stream file, string fileName, string contentType, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
fileStreamThe image content.
fileNamestringFile name to declare for the upload, for example "logo.png".
contentTypestringMIME type to declare for the upload, for example "image/png".
cancellationToken?CancellationTokenToken to cancel the operation.

organization.updateOrganizationPipelineSettings

Update an organization's document-pipeline settings. Note that all fields are optional. Flags that are omitted will be ignored and left unchanged.

Task<PipelineSettings> UpdatePipelineSettingsAsync(string organizationId, UpdatePipelineSettingsRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
requestUpdatePipelineSettingsRequestThe flags to change.
cancellationToken?CancellationTokenToken to cancel the operation.

organization.updateOrganizationThumbnail

Update the organization's thumbnail. This can only be called by an admin or owner.

Task<Organization> UpdateThumbnailAsync(string organizationId, Stream file, string fileName, string contentType, CancellationToken cancellationToken = default)
ParameterTypeDescription
organizationIdstringThe organization's unique ID.
fileStreamThe image content. A square image is recommended.
fileNamestringFile name to declare for the upload, for example "thumbnail.png".
contentTypestringMIME type to declare for the upload, for example "image/png".
cancellationToken?CancellationTokenToken to cancel the operation.
Profile

profile.createProfile

Create a new profile. Note that there are two registration paths for creation: - Get invited to an organization, by an admin or owner of that org. - Created a new organization. The caller will become the first owner of the new org. This endpoint is for the second path, so an organization name is required. It is NOT required to be unique because it is very common for businesses to have the same names, without conflicting (e.g. "Delta" could be Delta Faucet or Delta Airlines). The new profile will automatically be set as the user's "current" profile, and new session tokens will be returned to the caller. However, the caller's email may not yet be verified. In that case, the caller will not yet be able to call other endpoints in the Verdocs API. The caller will need to check their email for a verification code, which should be submitted via the `verifyEmail` endpoint.

createProfile(endpoint: VerdocsEndpoint, params: ICreateProfileRequest): Promise<IAuthenticateResponse>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsICreateProfileRequest

profile.deleteProfile

Delete a profile. If the requested profile is the caller's curent profile, the next available profile will be selected.

deleteProfile(endpoint: VerdocsEndpoint, profileId: string): Promise<IAuthenticateResponse | object>
ParameterTypeDescription
endpointVerdocsEndpoint
profileIdstring

profile.getCurrentProfile

Get the caller's current profile. This is just a convenience accessor that calls `getProfiles()` and returns the first `current: true` entry.

getCurrentProfile(endpoint: VerdocsEndpoint): Promise<undefined | IProfile>
ParameterTypeDescription
endpointVerdocsEndpoint

profile.getProfiles

Get the caller's available profiles. The current profile will be marked with `current: true`.

getProfiles(endpoint: VerdocsEndpoint): Promise<IProfile[]>
ParameterTypeDescription
endpointVerdocsEndpoint

profile.switchProfile

Switch the caller's "current" profile. The current profile is used for permissions checking and profile_id field settings for most operations in Verdocs. It is important to select the appropropriate profile before calling other API functions.

switchProfile(endpoint: VerdocsEndpoint, profileId: string): Promise<IAuthenticateResponse>
ParameterTypeDescription
endpointVerdocsEndpoint
profileIdstring

profile.updateProfile

Update a profile. For future expansion, the profile ID to update is required, but currently this must also be the "current" profile for the caller.

updateProfile(endpoint: VerdocsEndpoint, profileId: string, params: IUpdateProfileRequest): Promise<IProfile>
ParameterTypeDescription
endpointVerdocsEndpoint
profileIdstring
paramsIUpdateProfileRequest

profile.updateProfilePhoto

Update the caller's profile photo. This can only be called for the user's "current" profile.

updateProfilePhoto(endpoint: VerdocsEndpoint, profileId: string, file: File, onUploadProgress?: object): Promise<IProfile>
ParameterTypeDescription
endpointVerdocsEndpoint
profileIdstring
fileFile
onUploadProgress?object

profile.createProfile

Create a new profile. Note that there are two registration paths for creation: - Get invited to an organization, by an admin or owner of that org. - Created a new organization. The caller will become the first owner of the new org. This endpoint is for the second path, so an organization name is required. It is NOT required to be unique because it is very common for businesses to have the same names, without conflicting (e.g. "Delta" could be Delta Faucet or Delta Airlines). The new profile will automatically be set as the user's "current" profile, and new session tokens will be returned to the caller. However, the caller's email may not yet be verified. In that case, the caller will not yet be able to call other endpoints in the Verdocs API. The caller will need to check their email for a verification code, which should be submitted via the `verifyEmail` endpoint.

create(params: CreateProfileRequest) -> AuthenticateResponse
ParameterTypeDescription
paramsCreateProfileRequestThe signup fields; org_name does not need to be unique.

profile.deleteProfile

Delete a profile. If the requested profile is the caller's curent profile, the next available profile will be selected.

delete(profile_id: str) -> AuthenticateResponse | None
ParameterTypeDescription
profile_idstrID of the caller's profile to delete.

profile.getCurrentProfile

Get the caller's current profile. This is just a convenience accessor that calls `getProfiles()` and returns the first `current: true` entry.

current() -> Profile | None

profile.getProfiles

Get the caller's available profiles. The current profile will be marked with `current: true`.

list() -> list[Profile]

profile.switchProfile

Switch the caller's "current" profile. The current profile is used for permissions checking and profile_id field settings for most operations in Verdocs. It is important to select the appropropriate profile before calling other API functions.

switch(profile_id: str) -> AuthenticateResponse
ParameterTypeDescription
profile_idstrID of the caller's profile to make current.

profile.updateProfile

Update a profile. For future expansion, the profile ID to update is required, but currently this must also be the "current" profile for the caller.

update(profile_id: str, params: UpdateProfileRequest) -> Profile
ParameterTypeDescription
profile_idstrID of the profile to update.
paramsUpdateProfileRequestThe fields to change; unset fields are left alone.

profile.updateProfilePhoto

Update the caller's profile photo. This can only be called for the user's "current" profile.

update_photo(profile_id: str, picture: FileInput) -> Profile
ParameterTypeDescription
profile_idstrID of the caller's own profile.
pictureFileInputThe photo: a filesystem path (str or PathLike), raw bytes, a binary file-like object, or an httpx-style (filename, content[, content_type]) tuple.

profile.createProfile

Create a new profile. Note that there are two registration paths for creation: - Get invited to an organization, by an admin or owner of that org. - Created a new organization. The caller will become the first owner of the new org. This endpoint is for the second path, so an organization name is required. It is NOT required to be unique because it is very common for businesses to have the same names, without conflicting (e.g. "Delta" could be Delta Faucet or Delta Airlines). The new profile will automatically be set as the user's "current" profile, and new session tokens will be returned to the caller. However, the caller's email may not yet be verified. In that case, the caller will not yet be able to call other endpoints in the Verdocs API. The caller will need to check their email for a verification code, which should be submitted via the `verifyEmail` endpoint.

Task<AuthenticateResponse> CreateAsync(CreateProfileRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestCreateProfileRequestThe account and organization details.
cancellationToken?CancellationTokenToken to cancel the operation.

profile.deleteProfile

Delete a profile. If the requested profile is the caller's curent profile, the next available profile will be selected.

Task<DeleteProfileResponse> DeleteAsync(string profileId, CancellationToken cancellationToken = default)
ParameterTypeDescription
profileIdstringThe profile to delete. Must belong to the caller.
cancellationToken?CancellationTokenToken to cancel the operation.

profile.getCurrentProfile

Get the caller's current profile. This is just a convenience accessor that calls `getProfiles()` and returns the first `current: true` entry.

Task<Profile> GetCurrentAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

profile.getProfiles

Get the caller's available profiles. The current profile will be marked with `current: true`.

Task<IReadOnlyList<Profile>> ListAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

profile.switchProfile

Switch the caller's "current" profile. The current profile is used for permissions checking and profile_id field settings for most operations in Verdocs. It is important to select the appropropriate profile before calling other API functions.

Task<AuthenticateResponse> SwitchAsync(string profileId, CancellationToken cancellationToken = default)
ParameterTypeDescription
profileIdstringThe profile to make current. Must belong to the caller.
cancellationToken?CancellationTokenToken to cancel the operation.

profile.updateProfile

Update a profile. For future expansion, the profile ID to update is required, but currently this must also be the "current" profile for the caller.

Task<Profile> UpdateAsync(string profileId, UpdateProfileRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
profileIdstringThe profile to update.
requestUpdateProfileRequestThe fields to change. Unset properties are left as they are.
cancellationToken?CancellationTokenToken to cancel the operation.

profile.updateProfilePhoto

Update the caller's profile photo. This can only be called for the user's "current" profile.

Task<Profile> UpdatePhotoAsync(string profileId, Stream photo, string fileName, string contentType, CancellationToken cancellationToken = default)
ParameterTypeDescription
profileIdstringThe profile to update. Must be the caller's current profile.
photoStreamThe image content.
fileNamestringFilename to report for the upload, for example "avatar.png".
contentTypestringMIME type of the image, for example "image/png". The server stores and serves the declared type without validating it.
cancellationToken?CancellationTokenToken to cancel the operation.
Recipient

recipient.askQuestion

Ask the sender a question. This will email the envelope's sender (via sender_email, if set when the envelope was created) with the recipient's information and their question. It is up to the sender to determine how to reply.

askQuestion(endpoint: VerdocsEndpoint, envelopeId: string, roleName: string, params: object): Promise<IRecipient>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring
roleNamestring
paramsobject

recipient.delegateRecipient

Delegate a recipient's signing responsibility. The envelope sender must enable this before the recipient calls this endpoint, and only the recipient may call it, or the call will be rejected. The recipient's role will be renamed and configured to indicate to whom the delegation was made, and a new recipient entry with the updated details (e.g. name and email address) will be added to the flow with the same role_name, order, and sequence of the original recipient. Unless no_contact is set on the envelope, the delegation recipient and envelope creator will also be notified.

delegateRecipient(endpoint: VerdocsEndpoint, envelopeId: string, roleName: string, params: object): Promise<object>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring
roleNamestring
paramsobject

recipient.envelopeRecipientAgree

Agree to electronic signing dislosures.

envelopeRecipientAgree(endpoint: VerdocsEndpoint, envelopeId: string, roleName: string, disclosures?: string, data?: IRecipientDisclosureAgreeBody): Promise<IRecipient>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring
roleNamestring
disclosures?string
data?IRecipientDisclosureAgreeBody

recipient.envelopeRecipientDecline

Decline electronic signing dislosures. Note that if any recipient declines, the entire envelope becomes non-viable and later recipients may no longer act. The creator will receive a notification when this occurs.

envelopeRecipientDecline(endpoint: VerdocsEndpoint, envelopeId: string, roleName: string): Promise<IRecipient>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring
roleNamestring

recipient.envelopeRecipientSubmit

Submit an envelope (signing is finished). Note that all fields must be valid/completed for this to succeed.

envelopeRecipientSubmit(endpoint: VerdocsEndpoint, envelopeId: string, roleName: string, data?: IRecipientSubmitBody): Promise<IRecipient>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring
roleNamestring
data?IRecipientSubmitBody

recipient.getInPersonLink

Get an in-person signing link. Must be called by the owner/creator of the envelope. The response also includes the raw access key that may be used to directly initiate a signing session (see `startSigningSession`) as well as an access token representing a valid signing session for immediate use in embeds or other applications. Note that in-person signing is considered a lower-security operation than authenticated signing, and the final envelope certificate will reflect this.

getInPersonLink(endpoint: VerdocsEndpoint, envelope_id: string, role_name: string): Promise<IInPersonLinkResponse>
ParameterTypeDescription
endpointVerdocsEndpoint
envelope_idstring
role_namestring

recipient.remindRecipient

Send a reminder to a recipient. The recipient must still be an active member of the signing flow (e.g. not declined, already submitted, etc.)

remindRecipient(endpoint: VerdocsEndpoint, envelopeId: string, roleName: string): Promise<object>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring
roleNamestring

recipient.resetRecipient

Fully reset a recipient. This allows the recipient to restart failed KBA flows, change fields they may have filled in incorrectly while signing, etc. This cannot be used on a canceled or completed envelope, but may be used to restart an envelope marked declined.

resetRecipient(endpoint: VerdocsEndpoint, envelopeId: string, roleName: string): Promise<object>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring
roleNamestring

recipient.startSigningSession

Begin a signing session for an Envelope. This path requires an invite code, and should generally be called with a NON-default Endpoint to avoid conflicting with any active user session the user may have. To initiate in-person signing by an authenticated user (e.g. self-signing), call getInPersonLink() instead. The response from that call includes both a link for direct signing via a Web browser as well as an in-person access_key. That access_key.key may be used here as well.

startSigningSession(endpoint: VerdocsEndpoint, envelope_id: string, role_name: string, key: string): Promise<ISignerTokenResponse>
ParameterTypeDescription
endpointVerdocsEndpoint
envelope_idstring
role_namestring
keystring

recipient.updateRecipient

Update a recipient. NOTE: User interfaces should rate-limit this operation to avoid spamming recipients. Excessive use of this endpoint may result in Verdocs rate-limiting the calling application to prevent abuse. This endpoint will return a 200 OK even if the no_contact flag is set on the envelope (in which case the call will be silently ignored).

updateRecipient(endpoint: VerdocsEndpoint, envelopeId: string, roleName: string, params: IUpdateRecipientParams): Promise<IRecipient>
ParameterTypeDescription
endpointVerdocsEndpoint
envelopeIdstring
roleNamestring
paramsIUpdateRecipientParams

recipient.verifySigner

Verify a recipient within a signing session. All signing sessions use an invite code at a minimum, but many scenarios require more robust verification of recipients, so one or more verification methods may be attached to each recipient. If an authentication method is enabled, the signer must first accept the e-signature disclosures, then complete each verification step before attempting to view/display documents, complete any fields, or submit the envelope. This endpoint should be called to complete each step. If the call fails an error will be thrown.

verifySigner(endpoint: VerdocsEndpoint, params: TAuthenticateRecipientRequest): Promise<ISignerTokenResponse>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsTAuthenticateRecipientRequest

recipient.askQuestion

Ask the sender a question. This will email the envelope's sender (via sender_email, if set when the envelope was created) with the recipient's information and their question. It is up to the sender to determine how to reply.

ask_question(envelope_id: str, role_name: str, question: str) -> None
ParameterTypeDescription
envelope_idstrThe envelope to operate on.
role_namestrThe role asking the question.
questionstrThe question to send.

recipient.delegateRecipient

Delegate a recipient's signing responsibility. The envelope sender must enable this before the recipient calls this endpoint, and only the recipient may call it, or the call will be rejected. The recipient's role will be renamed and configured to indicate to whom the delegation was made, and a new recipient entry with the updated details (e.g. name and email address) will be added to the flow with the same role_name, order, and sequence of the original recipient. Unless no_contact is set on the envelope, the delegation recipient and envelope creator will also be notified.

delegate(envelope_id: str, role_name: str, params: RecipientDelegateParams) -> Recipient
ParameterTypeDescription
envelope_idstrThe envelope to operate on.
role_namestrThe role delegating their tasks.
paramsRecipientDelegateParamsName and contact details of the new recipient.

recipient.envelopeRecipientAgree

Agree to electronic signing dislosures.

agree(envelope_id: str, role_name: str, disclosures: str | None = None, params: RecipientAgreeParams | None = None) -> Recipient
ParameterTypeDescription
envelope_idstrThe envelope to operate on.
role_namestrThe role agreeing to the disclosures.
disclosures?str | NoneThe disclosure text the recipient accepted. DEFAULT_DISCLOSURES in verdocs.models.envelopes carries the stock text used when the organization has no override.
params?RecipientAgreeParams | NoneOptional locale and timezone to record for the recipient.

recipient.envelopeRecipientDecline

Decline electronic signing dislosures. Note that if any recipient declines, the entire envelope becomes non-viable and later recipients may no longer act. The creator will receive a notification when this occurs.

decline(envelope_id: str, role_name: str) -> Recipient
ParameterTypeDescription
envelope_idstrThe envelope to operate on.
role_namestrThe role declining.

recipient.envelopeRecipientSubmit

Submit an envelope (signing is finished). Note that all fields must be valid/completed for this to succeed.

submit(envelope_id: str, role_name: str, params: RecipientSubmitParams | None = None) -> Recipient
ParameterTypeDescription
envelope_idstrThe envelope to operate on.
role_namestrThe role submitting.
params?RecipientSubmitParams | NoneOptional locale and timezone to record for the recipient.

recipient.getInPersonLink

Get an in-person signing link. Must be called by the owner/creator of the envelope. The response also includes the raw access key that may be used to directly initiate a signing session (see `startSigningSession`) as well as an access token representing a valid signing session for immediate use in embeds or other applications. Note that in-person signing is considered a lower-security operation than authenticated signing, and the final envelope certificate will reflect this.

get_in_person_link(envelope_id: str, role_name: str) -> InPersonLinkResponse
ParameterTypeDescription
envelope_idstrThe envelope to operate on.
role_namestrThe role to generate the link for.

recipient.remindRecipient

Send a reminder to a recipient. The recipient must still be an active member of the signing flow (e.g. not declined, already submitted, etc.)

remind(envelope_id: str, role_name: str) -> Recipient
ParameterTypeDescription
envelope_idstrThe envelope to operate on.
role_namestrThe role to remind.

recipient.resetRecipient

Fully reset a recipient. This allows the recipient to restart failed KBA flows, change fields they may have filled in incorrectly while signing, etc. This cannot be used on a canceled or completed envelope, but may be used to restart an envelope marked declined.

reset(envelope_id: str, role_name: str) -> Recipient
ParameterTypeDescription
envelope_idstrThe envelope to operate on.
role_namestrThe role to reset.

recipient.startSigningSession

Begin a signing session for an Envelope. This path requires an invite code, and should generally be called with a NON-default Endpoint to avoid conflicting with any active user session the user may have. To initiate in-person signing by an authenticated user (e.g. self-signing), call getInPersonLink() instead. The response from that call includes both a link for direct signing via a Web browser as well as an in-person access_key. That access_key.key may be used here as well.

start_signing_session(envelope_id: str, role_name: str, key: str) -> SignerTokenResponse
ParameterTypeDescription
envelope_idstrThe envelope to sign.
role_namestrThe role to sign as.
keystrAccess key from the email/SMS invite or the envelope creator.

recipient.updateRecipient

Update a recipient. NOTE: User interfaces should rate-limit this operation to avoid spamming recipients. Excessive use of this endpoint may result in Verdocs rate-limiting the calling application to prevent abuse. This endpoint will return a 200 OK even if the no_contact flag is set on the envelope (in which case the call will be silently ignored).

update(envelope_id: str, role_name: str, params: RecipientUpdateParams) -> Recipient
ParameterTypeDescription
envelope_idstrThe envelope to operate on.
role_namestrThe role to update.
paramsRecipientUpdateParamsThe fields to change; unset fields are left alone.

recipient.verifySigner

Verify a recipient within a signing session. All signing sessions use an invite code at a minimum, but many scenarios require more robust verification of recipients, so one or more verification methods may be attached to each recipient. If an authentication method is enabled, the signer must first accept the e-signature disclosures, then complete each verification step before attempting to view/display documents, complete any fields, or submit the envelope. This endpoint should be called to complete each step. If the call fails an error will be thrown.

verify_signer(params: RecipientVerifyParams) -> SignerTokenResponse
ParameterTypeDescription
paramsRecipientVerifyParamsThe verification step being completed: passcode, email, sms, or kba.

recipient.askQuestion

Ask the sender a question. This will email the envelope's sender (via sender_email, if set when the envelope was created) with the recipient's information and their question. It is up to the sender to determine how to reply.

Task<Recipient> AskQuestionAsync(string envelopeId, string roleName, string question, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role asking the question.
questionstringThe question to ask.
cancellationToken?CancellationTokenToken to cancel the operation.

recipient.delegateRecipient

Delegate a recipient's signing responsibility. The envelope sender must enable this before the recipient calls this endpoint, and only the recipient may call it, or the call will be rejected. The recipient's role will be renamed and configured to indicate to whom the delegation was made, and a new recipient entry with the updated details (e.g. name and email address) will be added to the flow with the same role_name, order, and sequence of the original recipient. Unless no_contact is set on the envelope, the delegation recipient and envelope creator will also be notified.

Task DelegateAsync(string envelopeId, string roleName, DelegateRecipientRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role to operate on.
requestDelegateRecipientRequestThe person to delegate to.
cancellationToken?CancellationTokenToken to cancel the operation.

recipient.envelopeRecipientAgree

Agree to electronic signing dislosures.

Task<Recipient> AgreeAsync(string envelopeId, string roleName, string? disclosures = null, RecipientDisclosureAgreeBody? data = null, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role to operate on.
disclosures?string?The disclosure text shown to the recipient, recorded with the agreement. Default is what Verdocs shows when the organization supplies no override.
data?RecipientDisclosureAgreeBody?Optional locale details to record with the agreement.
cancellationToken?CancellationTokenToken to cancel the operation.

recipient.envelopeRecipientDecline

Decline electronic signing dislosures. Note that if any recipient declines, the entire envelope becomes non-viable and later recipients may no longer act. The creator will receive a notification when this occurs.

Task<Recipient> DeclineAsync(string envelopeId, string roleName, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role to operate on.
cancellationToken?CancellationTokenToken to cancel the operation.

recipient.envelopeRecipientSubmit

Submit an envelope (signing is finished). Note that all fields must be valid/completed for this to succeed.

Task<Recipient> SubmitAsync(string envelopeId, string roleName, RecipientSubmitBody? data = null, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role to submit.
data?RecipientSubmitBody?Optional locale details to record with the submission.
cancellationToken?CancellationTokenToken to cancel the operation.

recipient.getInPersonLink

Get an in-person signing link. Must be called by the owner/creator of the envelope. The response also includes the raw access key that may be used to directly initiate a signing session (see `startSigningSession`) as well as an access token representing a valid signing session for immediate use in embeds or other applications. Note that in-person signing is considered a lower-security operation than authenticated signing, and the final envelope certificate will reflect this.

Task<InPersonLinkResponse> GetInPersonLinkAsync(string envelopeId, string roleName, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role to request.
cancellationToken?CancellationTokenToken to cancel the operation.

recipient.remindRecipient

Send a reminder to a recipient. The recipient must still be an active member of the signing flow (e.g. not declined, already submitted, etc.)

Task RemindAsync(string envelopeId, string roleName, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role to remind.
cancellationToken?CancellationTokenToken to cancel the operation.

recipient.resetRecipient

Fully reset a recipient. This allows the recipient to restart failed KBA flows, change fields they may have filled in incorrectly while signing, etc. This cannot be used on a canceled or completed envelope, but may be used to restart an envelope marked declined.

Task ResetAsync(string envelopeId, string roleName, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role to reset.
cancellationToken?CancellationTokenToken to cancel the operation.

recipient.startSigningSession

Begin a signing session for an Envelope. This path requires an invite code, and should generally be called with a NON-default Endpoint to avoid conflicting with any active user session the user may have. To initiate in-person signing by an authenticated user (e.g. self-signing), call getInPersonLink() instead. The response from that call includes both a link for direct signing via a Web browser as well as an in-person access_key. That access_key.key may be used here as well.

Task<SignerTokenResponse> StartSigningSessionAsync(string envelopeId, string roleName, string key, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role to request.
keystringAccess key generated by the envelope creator or an email/SMS invite.
cancellationToken?CancellationTokenToken to cancel the operation.

recipient.updateRecipient

Update a recipient. NOTE: User interfaces should rate-limit this operation to avoid spamming recipients. Excessive use of this endpoint may result in Verdocs rate-limiting the calling application to prevent abuse. This endpoint will return a 200 OK even if the no_contact flag is set on the envelope (in which case the call will be silently ignored).

Task<Recipient> UpdateAsync(string envelopeId, string roleName, UpdateRecipientParams request, CancellationToken cancellationToken = default)
ParameterTypeDescription
envelopeIdstringThe envelope to operate on.
roleNamestringThe role to update.
requestUpdateRecipientParamsThe fields to change; unset fields are left alone.
cancellationToken?CancellationTokenToken to cancel the operation.

recipient.verifySigner

Verify a recipient within a signing session. All signing sessions use an invite code at a minimum, but many scenarios require more robust verification of recipients, so one or more verification methods may be attached to each recipient. If an authentication method is enabled, the signer must first accept the e-signature disclosures, then complete each verification step before attempting to view/display documents, complete any fields, or submit the envelope. This endpoint should be called to complete each step. If the call fails an error will be thrown.

Task<SignerTokenResponse> VerifySignerAsync(AuthenticateRecipientRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestAuthenticateRecipientRequestThe verification step being completed.
cancellationToken?CancellationTokenToken to cancel the operation.
Role

role.createTemplateRole

Create a role.

createTemplateRole(endpoint: VerdocsEndpoint, template_id: string, params: IRole): Promise<IRole>
ParameterTypeDescription
endpointVerdocsEndpoint
template_idstring
paramsIRole

role.deleteTemplateRole

Delete a role.

deleteTemplateRole(endpoint: VerdocsEndpoint, template_id: string, name: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
template_idstring
namestring

role.updateTemplateRole

Update a role.

updateTemplateRole(endpoint: VerdocsEndpoint, template_id: string, name: string, params: Partial<IRole>): Promise<IRole>
ParameterTypeDescription
endpointVerdocsEndpoint
template_idstring
namestring
paramsPartial<IRole>

role.createTemplateRole

Create a role.

create(template_id: str, params: RoleCreateParams) -> Role
ParameterTypeDescription
template_idstrID of the template to add the role to.
paramsRoleCreateParamsThe role definition; only name is required.

role.deleteTemplateRole

Delete a role.

delete(template_id: str, name: str) -> None
ParameterTypeDescription
template_idstrID of the template the role belongs to.
namestrName of the role to delete.

role.updateTemplateRole

Update a role.

update(template_id: str, name: str, params: RoleUpdateParams) -> Role
ParameterTypeDescription
template_idstrID of the template the role belongs to.
namestrThe role's current name.
paramsRoleUpdateParamsThe fields to change; unset fields are left alone.

role.createTemplateRole

Create a role.

Task<Role> CreateAsync(string templateId, CreateRoleRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template to add the role to.
requestCreateRoleRequestThe role to create.
cancellationToken?CancellationTokenToken to cancel the operation.

role.deleteTemplateRole

Delete a role.

Task DeleteAsync(string templateId, string roleName, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template the role belongs to.
roleNamestringThe role's name.
cancellationToken?CancellationTokenToken to cancel the operation.

role.updateTemplateRole

Update a role.

Task<Role> UpdateAsync(string templateId, string roleName, UpdateRoleRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template the role belongs to.
roleNamestringThe role's current name.
requestUpdateRoleRequestThe properties to change.
cancellationToken?CancellationTokenToken to cancel the operation.
Signature

signature.createSignature

Create a signature block. In a typical signing workflow, the user is asked at the beginning of the process to "adopt" a signature block to be used for all signature fields in the document. Thus, this is typically called one time to create and store a signature block. Thereafter, the ID of the signature block may be re-used for each signature field to be "stamped" by the user. Note: Both "guest" signers and authenticated users can create initials blocks. Guest signers typically only ever have one, tied to that session. But authenticated users can create more than one, and can use them interchangeably.

createSignature(endpoint: VerdocsEndpoint, name: string, signature: Blob): Promise<ISignature>
ParameterTypeDescription
endpointVerdocsEndpoint
namestring
signatureBlob

signature.createSignature

Create a signature block. In a typical signing workflow, the user is asked at the beginning of the process to "adopt" a signature block to be used for all signature fields in the document. Thus, this is typically called one time to create and store a signature block. Thereafter, the ID of the signature block may be re-used for each signature field to be "stamped" by the user. Note: Both "guest" signers and authenticated users can create initials blocks. Guest signers typically only ever have one, tied to that session. But authenticated users can create more than one, and can use them interchangeably.

create(image: FileInput) -> Signature
ParameterTypeDescription
imageFileInputThe signature image: a file path, raw bytes, a binary file-like object, or an httpx-style (filename, content, content_type) tuple.

signature.createSignature

Create a signature block. In a typical signing workflow, the user is asked at the beginning of the process to "adopt" a signature block to be used for all signature fields in the document. Thus, this is typically called one time to create and store a signature block. Thereafter, the ID of the signature block may be re-used for each signature field to be "stamped" by the user. Note: Both "guest" signers and authenticated users can create initials blocks. Guest signers typically only ever have one, tied to that session. But authenticated users can create more than one, and can use them interchangeably.

Task<Signature> CreateAsync(Stream content, string fileName, string? contentType = null, CancellationToken cancellationToken = default)
ParameterTypeDescription
contentStreamThe signature image to store.
fileNamestringThe filename to store with the image.
contentType?string?The image's MIME type. Defaults to application/octet-stream; the server stores the declared type without validating it.
cancellationToken?CancellationTokenToken to cancel the operation.
Template

template.createTemplate

Create a template.

createTemplate(endpoint: VerdocsEndpoint, params: ITemplateCreateParams, onUploadProgress?: object): Promise<ITemplate>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsITemplateCreateParams
onUploadProgress?object

template.createTemplateFromSharepoint

Create a template from a Sharepoint asset.

createTemplateFromSharepoint(endpoint: VerdocsEndpoint, params: ITemplateCreateFromSharepointParams): Promise<ITemplate>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsITemplateCreateFromSharepointParams

template.deleteTemplate

Delete a template.

deleteTemplate(endpoint: VerdocsEndpoint, templateId: string): Promise<string>
ParameterTypeDescription
endpointVerdocsEndpoint
templateIdstring

template.duplicateTemplate

Duplicate a template. Creates a complete clone, including all settings (e.g. reminders), fields, roles, and documents.

duplicateTemplate(endpoint: VerdocsEndpoint, templateId: string, name: string): Promise<ITemplate>
ParameterTypeDescription
endpointVerdocsEndpoint
templateIdstring
namestring

template.getTemplate

Get one template by its ID. Note that the caller must have at least View access to the template.

getTemplate(endpoint: VerdocsEndpoint, templateId: string): Promise<ITemplate>
ParameterTypeDescription
endpointVerdocsEndpoint
templateIdstring

template.getTemplates

Get all templates accessible by the caller, with optional filters.

getTemplates(endpoint: VerdocsEndpoint, params?: IGetTemplatesParams): Promise<object>
ParameterTypeDescription
endpointVerdocsEndpoint
params?IGetTemplatesParams

template.toggleTemplateStar

Toggle the template star for a template.

toggleTemplateStar(endpoint: VerdocsEndpoint, templateId: string): Promise<ITemplate>
ParameterTypeDescription
endpointVerdocsEndpoint
templateIdstring

template.updateTemplate

Update a template.

updateTemplate(endpoint: VerdocsEndpoint, templateId: string, params: Partial<ITemplateCreateParams>): Promise<ITemplate>
ParameterTypeDescription
endpointVerdocsEndpoint
templateIdstring
paramsPartial<ITemplateCreateParams>

template.createTemplate

Create a template.

create(params: TemplateCreateParams, files: Sequence[TemplateFile] | None = None) -> Template
ParameterTypeDescription
paramsTemplateCreateParamsFields for the new template; only name is required.
files?Sequence[TemplateFile] | NoneOptional documents to attach. Each entry may be a path, raw PDF bytes, an open binary file, or an httpx-style (filename, content[, content_type]) tuple. Bare bytes are sent as "document.pdf" with an application/pdf content type; use a tuple to control the name or to send DOCX bytes.

template.createTemplateFromSharepoint

Create a template from a Sharepoint asset.

create_from_sharepoint(params: TemplateCreateFromSharepointParams) -> Template
ParameterTypeDescription
paramsTemplateCreateFromSharepointParamsSharepoint site/item coordinates and the On-Behalf-Of token.

template.deleteTemplate

Delete a template.

delete(template_id: str) -> None
ParameterTypeDescription
template_idstrID of the template to delete.

template.duplicateTemplate

Duplicate a template. Creates a complete clone, including all settings (e.g. reminders), fields, roles, and documents.

duplicate(template_id: str, name: str) -> Template
ParameterTypeDescription
template_idstrID of the template to copy.
namestrName for the new copy.

template.getTemplate

Get one template by its ID. Note that the caller must have at least View access to the template.

get(template_id: str) -> Template
ParameterTypeDescription
template_idstrID of the template to fetch.

template.getTemplates

Get all templates accessible by the caller, with optional filters.

list(params: TemplateListParams | None = None) -> TemplateList
ParameterTypeDescription
params?TemplateListParams | NoneOptional filters, sorting, and pagination.

template.toggleTemplateStar

Toggle the template star for a template.

toggle_star(template_id: str) -> Template
ParameterTypeDescription
template_idstrID of the template to star or unstar.

template.updateTemplate

Update a template.

update(template_id: str, params: TemplateUpdateParams) -> Template
ParameterTypeDescription
template_idstrID of the template to update.
paramsTemplateUpdateParamsThe fields to change; unset fields are left alone.

template.createTemplate

Create a template.

Task<Template> CreateAsync(CreateTemplateRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestCreateTemplateRequestThe template to create.
cancellationToken?CancellationTokenToken to cancel the operation.

template.createTemplateFromSharepoint

Create a template from a Sharepoint asset.

Task<Template> CreateFromSharepointAsync(CreateTemplateFromSharepointRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestCreateTemplateFromSharepointRequestThe Sharepoint source and template name.
cancellationToken?CancellationTokenToken to cancel the operation.

template.deleteTemplate

Delete a template.

Task DeleteAsync(string templateId, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

template.duplicateTemplate

Duplicate a template. Creates a complete clone, including all settings (e.g. reminders), fields, roles, and documents.

Task<Template> DuplicateAsync(string templateId, string name, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template to copy.
namestringName for the new copy.
cancellationToken?CancellationTokenToken to cancel the operation.

template.getTemplate

Get one template by its ID. Note that the caller must have at least View access to the template.

Task<Template> GetAsync(string templateId, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

template.getTemplates

Get all templates accessible by the caller, with optional filters.

Task<TemplateList> ListAsync(GetTemplatesOptions? options = null, CancellationToken cancellationToken = default)
ParameterTypeDescription
options?GetTemplatesOptions?Optional filters, sorting, and paging.
cancellationToken?CancellationTokenToken to cancel the operation.

template.toggleTemplateStar

Toggle the template star for a template.

Task<Template> ToggleStarAsync(string templateId, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template to star or unstar.
cancellationToken?CancellationTokenToken to cancel the operation.

template.updateTemplate

Update a template.

Task<Template> UpdateAsync(string templateId, UpdateTemplateRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template's unique ID.
requestUpdateTemplateRequestThe settings to change.
cancellationToken?CancellationTokenToken to cancel the operation.
TemplateDocument

templateDocument.createTemplateDocument

Create a Document for a particular Template.

createTemplateDocument(endpoint: VerdocsEndpoint, template_id: string, file: File, onUploadProgress?: object): Promise<ITemplateDocument>
ParameterTypeDescription
endpointVerdocsEndpoint
template_idstring
fileFile
onUploadProgress?object

templateDocument.deleteTemplateDocument

Delete a specific Document.

deleteTemplateDocument(endpoint: VerdocsEndpoint, documentId: string): Promise<ITemplate>
ParameterTypeDescription
endpointVerdocsEndpoint
documentIdstring

templateDocument.downloadTemplateDocument

Download a document directly.

downloadTemplateDocument(endpoint: VerdocsEndpoint, documentId: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
documentIdstring

templateDocument.getTemplateDocument

Get all metadata for a template document. Note that when called by non-creators (e.g. Org Collaborators) this will return only the **metadata** the caller is allowed to view.

getTemplateDocument(endpoint: VerdocsEndpoint, documentId: string): Promise<ITemplateDocument>
ParameterTypeDescription
endpointVerdocsEndpoint
documentIdstring

templateDocument.getTemplateDocumentDownloadLink

Get an envelope document's metadata, or the document itself. If no "type" parameter is specified, the document metadata is returned. If "type" is set to "file", the document binary content is returned with Content-Type set to the MIME type of the file. If "type" is set to "download", a string download link will be returned. If "type" is set to "preview" a string preview link will be returned. This link expires quickly, so it should be accessed immediately and never shared.

getTemplateDocumentDownloadLink(endpoint: VerdocsEndpoint, _templateId: string, documentId: string): Promise<string>
ParameterTypeDescription
endpointVerdocsEndpoint
_templateIdstring
documentIdstring

templateDocument.getTemplateDocumentFile

Get (binary download) a file attached to a Template. It is important to use this method rather than a direct A HREF or similar link to set the authorization headers for the request.

getTemplateDocumentFile(endpoint: VerdocsEndpoint, templateId: string, documentId: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
templateIdstring
documentIdstring

templateDocument.getTemplateDocumentPageDisplayUri

Get a display URI for a given page in a file attached to a template document. These pages are rendered server-side into PNG resources suitable for display in IMG tags although they may be used elsewhere. Note that these are intended for DISPLAY ONLY, are not legally binding documents, and do not contain any encoded metadata from participants. The original asset may be obtained by calling `getTemplateDocumentFile()` or similar.

getTemplateDocumentPageDisplayUri(endpoint: VerdocsEndpoint, documentId: string, page: number, variant: 'original' | 'tagged' = 'original'): Promise<string>
ParameterTypeDescription
endpointVerdocsEndpoint
documentIdstring
pagenumber
variant?'original' | 'tagged'

templateDocument.getTemplateDocumentPreviewLink

Get a pre-signed preview link for a Template Document. This link expires quickly, so it should be accessed immediately and never shared. Content-Disposition will be set to "inline".

getTemplateDocumentPreviewLink(endpoint: VerdocsEndpoint, _templateId: string, documentId: string): Promise<string>
ParameterTypeDescription
endpointVerdocsEndpoint
_templateIdstring
documentIdstring

templateDocument.getTemplateDocumentThumbnail

Get (binary download) a file attached to a Template. It is important to use this method rather than a direct A HREF or similar link to set the authorization headers for the request.

getTemplateDocumentThumbnail(endpoint: VerdocsEndpoint, templateId: string, documentId: string): Promise<any>
ParameterTypeDescription
endpointVerdocsEndpoint
templateIdstring
documentIdstring

templateDocument.createTemplateDocument

Create a Document for a particular Template.

create(template_id: str, file: TemplateFile) -> TemplateDocument
ParameterTypeDescription
template_idstrID of the template to attach the document to.
fileTemplateFileThe document: a path, raw PDF bytes, an open binary file, or an httpx-style (filename, content[, content_type]) tuple.

templateDocument.deleteTemplateDocument

Delete a specific Document.

delete(document_id: str) -> Template
ParameterTypeDescription
document_idstrID of the document to delete.

templateDocument.downloadTemplateDocument

Download a document directly.

download(document_id: str) -> bytes
ParameterTypeDescription
document_idstrID of the document to download.

templateDocument.getTemplateDocument

Get all metadata for a template document. Note that when called by non-creators (e.g. Org Collaborators) this will return only the **metadata** the caller is allowed to view.

get(document_id: str) -> TemplateDocument
ParameterTypeDescription
document_idstrID of the document to fetch.

templateDocument.getTemplateDocumentDownloadLink

Get an envelope document's metadata, or the document itself. If no "type" parameter is specified, the document metadata is returned. If "type" is set to "file", the document binary content is returned with Content-Type set to the MIME type of the file. If "type" is set to "download", a string download link will be returned. If "type" is set to "preview" a string preview link will be returned. This link expires quickly, so it should be accessed immediately and never shared.

get_download_link(document_id: str) -> str
ParameterTypeDescription
document_idstrID of the document to link to.

templateDocument.getTemplateDocumentFile

Get (binary download) a file attached to a Template. It is important to use this method rather than a direct A HREF or similar link to set the authorization headers for the request.

get_file(template_id: str, document_id: str) -> bytes
ParameterTypeDescription
template_idstrID of the template the document belongs to.
document_idstrID of the document to download.

templateDocument.getTemplateDocumentPageDisplayUri

Get a display URI for a given page in a file attached to a template document. These pages are rendered server-side into PNG resources suitable for display in IMG tags although they may be used elsewhere. Note that these are intended for DISPLAY ONLY, are not legally binding documents, and do not contain any encoded metadata from participants. The original asset may be obtained by calling `getTemplateDocumentFile()` or similar.

get_page_display_uri(document_id: str, page: int | Literal['thumb'], variant: Literal['original', 'tagged'] = 'original') -> str
ParameterTypeDescription
document_idstrID of the document to render.
pageint | Literal['thumb']0-based page number, or "thumb" for the thumbnail.
variant?Literal['original', 'tagged']"original" (default) or "tagged".

templateDocument.getTemplateDocumentPreviewLink

Get a pre-signed preview link for a Template Document. This link expires quickly, so it should be accessed immediately and never shared. Content-Disposition will be set to "inline".

get_preview_link(document_id: str) -> str
ParameterTypeDescription
document_idstrID of the document to link to.

templateDocument.getTemplateDocumentThumbnail

Get (binary download) a file attached to a Template. It is important to use this method rather than a direct A HREF or similar link to set the authorization headers for the request.

get_thumbnail(template_id: str, document_id: str) -> bytes
ParameterTypeDescription
template_idstrID of the template the document belongs to.
document_idstrID of the document to thumbnail.

templateDocument.createTemplateDocument

Create a Document for a particular Template.

Task<TemplateDocument> CreateAsync(string templateId, TemplateFileUpload file, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template to attach the document to.
fileTemplateFileUploadThe file to upload.
cancellationToken?CancellationTokenToken to cancel the operation.

templateDocument.deleteTemplateDocument

Delete a specific Document.

Task<Template> DeleteAsync(string documentId, CancellationToken cancellationToken = default)
ParameterTypeDescription
documentIdstringThe document's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

templateDocument.downloadTemplateDocument

Download a document directly.

Task<byte[]> DownloadAsync(string documentId, CancellationToken cancellationToken = default)
ParameterTypeDescription
documentIdstringThe document's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

templateDocument.getTemplateDocument

Get all metadata for a template document. Note that when called by non-creators (e.g. Org Collaborators) this will return only the **metadata** the caller is allowed to view.

Task<TemplateDocument> GetAsync(string documentId, CancellationToken cancellationToken = default)
ParameterTypeDescription
documentIdstringThe document's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

templateDocument.getTemplateDocumentDownloadLink

Get an envelope document's metadata, or the document itself. If no "type" parameter is specified, the document metadata is returned. If "type" is set to "file", the document binary content is returned with Content-Type set to the MIME type of the file. If "type" is set to "download", a string download link will be returned. If "type" is set to "preview" a string preview link will be returned. This link expires quickly, so it should be accessed immediately and never shared.

Task<string> GetDownloadLinkAsync(string documentId, CancellationToken cancellationToken = default)
ParameterTypeDescription
documentIdstringThe document's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

templateDocument.getTemplateDocumentFile

Get (binary download) a file attached to a Template. It is important to use this method rather than a direct A HREF or similar link to set the authorization headers for the request.

Task<byte[]> GetFileAsync(string templateId, string documentId, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template the document belongs to.
documentIdstringThe document's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.

templateDocument.getTemplateDocumentPageDisplayUri

Get a display URI for a given page in a file attached to a template document. These pages are rendered server-side into PNG resources suitable for display in IMG tags although they may be used elsewhere. Note that these are intended for DISPLAY ONLY, are not legally binding documents, and do not contain any encoded metadata from participants. The original asset may be obtained by calling `getTemplateDocumentFile()` or similar.

Task<string> GetPageDisplayUriAsync(string documentId, int page, string variant = original, CancellationToken cancellationToken = default)
ParameterTypeDescription
documentIdstringThe document to render.
pageint0-based page number (0-1000).
variant?string"original" or "tagged".
cancellationToken?CancellationTokenToken to cancel the operation.

templateDocument.getTemplateDocumentPreviewLink

Get a pre-signed preview link for a Template Document. This link expires quickly, so it should be accessed immediately and never shared. Content-Disposition will be set to "inline".

Task<string> GetPreviewLinkAsync(string documentId, CancellationToken cancellationToken = default)
ParameterTypeDescription
documentIdstringThe document ID to link to.
cancellationToken?CancellationTokenToken to cancel the operation.

templateDocument.getTemplateDocumentThumbnail

Get (binary download) a file attached to a Template. It is important to use this method rather than a direct A HREF or similar link to set the authorization headers for the request.

Task<byte[]> GetThumbnailAsync(string templateId, string documentId, CancellationToken cancellationToken = default)
ParameterTypeDescription
templateIdstringThe template the document belongs to.
documentIdstringThe document's unique ID.
cancellationToken?CancellationTokenToken to cancel the operation.
Webhook

webhook.getWebhooks

Get the registered Webhook configuration for the caller's organization. Note that an organization may only have a single Webhook configuration.

getWebhooks(endpoint: VerdocsEndpoint): Promise<IWebhook>
ParameterTypeDescription
endpointVerdocsEndpoint

webhook.rotateWebhookSecret

Rotate the secret key used to authenticate Webhooks. If a secret key has not yet been set, it will be created. Until this is done, Webhook calls will not have a signature applied to their headers. Pending Webhook deliveries are not affected until the next event is triggered. To authenticate a Webhook call, compute an HMAC-SHA256 hex digest of the JSON payload `body` field and compare it to the `x-webhook-signature` header:

rotateWebhookSecret(endpoint: VerdocsEndpoint): Promise<IWebhook>
ParameterTypeDescription
endpointVerdocsEndpoint

webhook.setWebhooks

Update the registered Webhook configuration for the caller's organization. Note that Webhooks cannot currently be deleted, but may be easily disabled by setting `active` to `false` and/or setting the `url` to an empty string.

setWebhooks(endpoint: VerdocsEndpoint, params: ISetWebhookRequest): Promise<IWebhook>
ParameterTypeDescription
endpointVerdocsEndpoint
paramsISetWebhookRequest

webhook.getWebhooks

Get the registered Webhook configuration for the caller's organization. Note that an organization may only have a single Webhook configuration.

get() -> Webhook

webhook.rotateWebhookSecret

Rotate the secret key used to authenticate Webhooks. If a secret key has not yet been set, it will be created. Until this is done, Webhook calls will not have a signature applied to their headers. Pending Webhook deliveries are not affected until the next event is triggered. To authenticate a Webhook call, compute an HMAC-SHA256 hex digest of the JSON payload `body` field and compare it to the `x-webhook-signature` header:

rotate_secret() -> Webhook

webhook.setWebhooks

Update the registered Webhook configuration for the caller's organization. Note that Webhooks cannot currently be deleted, but may be easily disabled by setting `active` to `false` and/or setting the `url` to an empty string.

set(params: WebhookSetParams) -> Webhook
ParameterTypeDescription
paramsWebhookSetParamsThe full configuration to apply. The URL must be HTTPS, or "" to disable deliveries.

webhook.getWebhooks

Get the registered Webhook configuration for the caller's organization. Note that an organization may only have a single Webhook configuration.

Task<Webhook> GetAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

webhook.rotateWebhookSecret

Rotate the secret key used to authenticate Webhooks. If a secret key has not yet been set, it will be created. Until this is done, Webhook calls will not have a signature applied to their headers. Pending Webhook deliveries are not affected until the next event is triggered. To authenticate a Webhook call, compute an HMAC-SHA256 hex digest of the JSON payload `body` field and compare it to the `x-webhook-signature` header:

Task<Webhook> RotateSecretAsync(CancellationToken cancellationToken = default)
ParameterTypeDescription
cancellationToken?CancellationTokenToken to cancel the operation.

webhook.setWebhooks

Update the registered Webhook configuration for the caller's organization. Note that Webhooks cannot currently be deleted, but may be easily disabled by setting `active` to `false` and/or setting the `url` to an empty string.

Task<Webhook> SetAsync(SetWebhookRequest request, CancellationToken cancellationToken = default)
ParameterTypeDescription
requestSetWebhookRequestThe configuration to apply.
cancellationToken?CancellationTokenToken to cancel the operation.