Endpoints
Reference for every Verdocs Platform API operation exposed by the SDKs.
apiKey.createApiKey
Create an API key.
createApiKey(endpoint: VerdocsEndpoint, params: ICreateApiKeyRequest): Promise<IApiKey>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | ICreateApiKeyRequest |
apiKey.deleteApiKey
Delete an API key.
deleteApiKey(endpoint: VerdocsEndpoint, clientId: string): Promise<any>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
clientId | string |
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[]>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
clientId | string |
apiKey.updateApiKey
Update an API key to change its assigned Profile ID or Name.
updateApiKey(endpoint: VerdocsEndpoint, clientId: string, params: IUpdateApiKeyRequest): Promise<IApiKey>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
clientId | string | |
params | IUpdateApiKeyRequest |
apiKey.createApiKey
Create an API key.
create(params: ApiKeyCreateParams) -> ApiKey| Parameter | Type | Description |
|---|---|---|
params | ApiKeyCreateParams | Name and acting profile for the new key. |
apiKey.deleteApiKey
Delete an API key.
delete(client_id: str) -> None| Parameter | Type | Description |
|---|---|---|
client_id | str | The 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| Parameter | Type | Description |
|---|---|---|
client_id | str | The 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| Parameter | Type | Description |
|---|---|---|
client_id | str | The client ID of the key to update. |
params | ApiKeyUpdateParams | The fields to change. |
apiKey.createApiKey
Create an API key.
Task<ApiKey> CreateAsync(CreateApiKeyRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
request | CreateApiKeyRequest | Details for the new key. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
apiKey.deleteApiKey
Delete an API key.
Task DeleteAsync(string clientId, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
clientId | string | The client ID of the key to delete. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
clientId | string | The client ID of the key to rotate. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
clientId | string | The client ID of the key to update. |
request | UpdateApiKeyRequest | The changes to apply. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
auth.authenticate
Authenticate to Verdocs.
authenticate(endpoint: VerdocsEndpoint, params: TAuthenticationRequest): Promise<IAuthenticateResponse>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | TAuthenticationRequest |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | IChangePasswordRequest |
auth.getMyUser
Get the caller's current user record.
getMyUser(endpoint: VerdocsEndpoint): Promise<IUser>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
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| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | IOAuth2AuthorizeParams |
auth.refreshToken
If called before the session expires, this will refresh the caller's session and tokens.
refreshToken(endpoint: VerdocsEndpoint, refreshToken: string): Promise<IAuthenticateResponse>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
refreshToken | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | object |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | IVerifyEmailRequest |
auth.authenticate
Authenticate to Verdocs.
authenticate(params: AuthenticationRequest) -> AuthenticateResponse| Parameter | Type | Description |
|---|---|---|
params | AuthenticationRequest | OAuth2 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| Parameter | Type | Description |
|---|---|---|
old_password | str | The caller's current password. |
new_password | str | The new password. Must meet strength requirements. |
auth.getMyUser
Get the caller's current user record.
me() -> Userauth.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| Parameter | Type | Description |
|---|---|---|
client_id | str | Client ID of the registered OAuth2 application. |
redirect_uri | str | Where to send the user afterwards. Must match a registered redirect URI. |
response_type? | Literal['code'] | Always "code" for the authorization code flow. |
state? | str | None | Opaque CSRF-protection value, returned unchanged in the redirect. |
scope? | str | None | Optional 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| Parameter | Type | Description |
|---|---|---|
refresh_token | str | The 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| Parameter | Type | Description |
|---|---|---|
access_token? | str | None | Optional 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| Parameter | Type | Description |
|---|---|---|
email | str | Email address of the account. |
code? | str | None | The emailed reset code; omit when initiating the flow. |
new_password? | str | None | The 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| Parameter | Type | Description |
|---|---|---|
email | str | Email address of the account being verified. |
token | str | The verification code from the email. |
auth.authenticate
Authenticate to Verdocs.
Task<AuthenticateResponse> AuthenticateAsync(AuthenticateRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
request | AuthenticateRequest | The credentials to authenticate with, one of the grant-specific subtypes. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
request | ChangePasswordRequest | The old and new passwords. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
auth.getMyUser
Get the caller's current user record.
Task<User> GetMeAsync(CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
clientId | string | The client ID of the registered OAuth2 application. |
redirectUri | string | Where 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)| Parameter | Type | Description |
|---|---|---|
refreshToken | string | The refresh token from an earlier authentication response. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
request | ResetPasswordRequest | The reset parameters; see ResetPasswordRequest for the two-step flow. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
request | VerifyEmailRequest | The email address and the emailed verification code. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
brand.addBrandEmailDomain
Add a custom email domain to a brand.
addBrandEmailDomain(endpoint: VerdocsEndpoint, organizationId: string, brandId: string, params: IAddBrandEmailDomainRequest): Promise<IBrand>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
brandId | string | |
params | IAddBrandEmailDomainRequest |
brand.createBrand
Create a brand.
createBrand(endpoint: VerdocsEndpoint, organizationId: string, params: ICreateBrandRequest): Promise<IBrand>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
params | ICreateBrandRequest |
brand.deleteBrand
Delete a brand. Cannot delete the org's default brand.
deleteBrand(endpoint: VerdocsEndpoint, organizationId: string, brandId: string): Promise<any>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
brandId | string |
brand.getBrand
Get a brand by ID.
getBrand(endpoint: VerdocsEndpoint, organizationId: string, brandId: string): Promise<IBrand>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
brandId | string |
brand.getBrands
Get all brands for an organization.
getBrands(endpoint: VerdocsEndpoint, organizationId: string): Promise<IBrand[]>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string |
brand.removeBrandEmailDomain
Remove a custom email domain from a brand.
removeBrandEmailDomain(endpoint: VerdocsEndpoint, organizationId: string, brandId: string): Promise<IBrand>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
brandId | string |
brand.updateBrand
Update a brand.
updateBrand(endpoint: VerdocsEndpoint, organizationId: string, brandId: string, params: IUpdateBrandRequest): Promise<IBrand>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
brandId | string | |
params | IUpdateBrandRequest |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
brandId | string | |
file | File | |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
brandId | string | |
file | File | |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
brandId | string |
brand.addBrandEmailDomain
Add a custom email domain to a brand.
add_email_domain(organization_id: str, brand_id: str, params: BrandEmailDomainAddParams) -> Brand| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization. Must be the caller's own. |
brand_id | str | ID of the brand. |
params | BrandEmailDomainAddParams | The domain and from-address details. |
brand.createBrand
Create a brand.
create(organization_id: str, params: BrandCreateParams) -> Brand| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization. Must be the caller's own. |
params | BrandCreateParams | Fields 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| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization. Must be the caller's own. |
brand_id | str | ID of the brand to delete. |
brand.getBrand
Get a brand by ID.
get(organization_id: str, brand_id: str) -> Brand| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization. Must be the caller's own. |
brand_id | str | ID of the brand to fetch. |
brand.getBrands
Get all brands for an organization.
list(organization_id: str) -> list[Brand]| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization. Must be the caller's own. |
brand_id | str | ID of the brand. |
brand.updateBrand
Update a brand.
update(organization_id: str, brand_id: str, params: BrandUpdateParams) -> Brand| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization. Must be the caller's own. |
brand_id | str | ID of the brand to update. |
params | BrandUpdateParams | The 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| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization. Must be the caller's own. |
brand_id | str | ID of the brand to update. |
logo | FileInput | The 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| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization. Must be the caller's own. |
brand_id | str | ID of the brand to update. |
thumbnail | FileInput | The 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| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization. Must be the caller's own. |
brand_id | str | ID 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)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
brandId | string | The brand's unique ID. |
request | AddBrandEmailDomainRequest | The domain and sender address details. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
brand.createBrand
Create a brand.
Task<Brand> CreateAsync(string organizationId, CreateBrandRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
request | CreateBrandRequest | Details for the new brand. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
brandId | string | The brand's unique ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
brand.getBrand
Get a brand by ID.
Task<Brand> GetAsync(string organizationId, string brandId, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
brandId | string | The brand's unique ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
brand.getBrands
Get all brands for an organization.
Task<IReadOnlyList<Brand>> ListAsync(string organizationId, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
brand.removeBrandEmailDomain
Remove a custom email domain from a brand.
Task<Brand> RemoveEmailDomainAsync(string organizationId, string brandId, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
brandId | string | The brand's unique ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
brand.updateBrand
Update a brand.
Task<Brand> UpdateAsync(string organizationId, string brandId, UpdateBrandRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
brandId | string | The brand's unique ID. |
request | UpdateBrandRequest | The changes to apply. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
brandId | string | The brand's unique ID. |
file | Stream | The image content. |
fileName | string | File name to declare for the upload, for example "logo.png". |
contentType | string | MIME type to declare for the upload, for example "image/png". |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
brandId | string | The brand's unique ID. |
file | Stream | The image content. A square image is recommended. |
fileName | string | File name to declare for the upload, for example "thumbnail.png". |
contentType | string | MIME type to declare for the upload, for example "image/png". |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
brandId | string | The brand's unique ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
contact.createOrganizationContact
Create a contact in the caller's organization.
createOrganizationContact(endpoint: VerdocsEndpoint, params: Pick<IProfile, 'email' | 'first_name' | 'last_name' | 'phone'>): Promise<any>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | Pick<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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
profileId | string |
contact.getOrganizationContacts
Get a list of the contacts in the caller's organization.
getOrganizationContacts(endpoint: VerdocsEndpoint): Promise<IProfile[]>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
profileId | string | |
params | Pick<IProfile, 'email' | 'first_name' | 'last_name' | 'phone'> |
contact.createOrganizationContact
Create a contact in the caller's organization.
create(params: ContactCreateParams) -> Profile| Parameter | Type | Description |
|---|---|---|
params | ContactCreateParams | Details 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| Parameter | Type | Description |
|---|---|---|
profile_id | str | The 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| Parameter | Type | Description |
|---|---|---|
profile_id | str | The contact profile to update. |
params | ContactUpdateParams | The contact's details. |
contact.createOrganizationContact
Create a contact in the caller's organization.
Task<Profile> CreateAsync(CreateContactRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
request | CreateContactRequest | Details for the new contact. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
profileId | string | The contact's profile ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
contact.getOrganizationContacts
Get a list of the contacts in the caller's organization.
Task<IReadOnlyList<Profile>> ListAsync(CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token to cancel the operation. |
contact.updateOrganizationContact
Update a contact in the caller's organization.
Task<Profile> UpdateAsync(string profileId, UpdateContactRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
profileId | string | The contact's profile ID. |
request | UpdateContactRequest | The replacement values. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
envelope.cancelEnvelope
Cancel an Envelope.
cancelEnvelope(endpoint: VerdocsEndpoint, envelopeId: string): Promise<TEnvelopeUpdateResult>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string |
envelope.createEnvelope
Create an envelope
createEnvelope(endpoint: VerdocsEndpoint, request: TCreateEnvelopeRequest): Promise<IEnvelope>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
request | TCreateEnvelopeRequest |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string | |
roleName | string | |
fieldName | string |
envelope.downloadEnvelopeDocument
Download a document directly.
downloadEnvelopeDocument(endpoint: VerdocsEndpoint, documentId: string): Promise<any>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
documentId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
documentId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
documentId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
documentId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
documentId | string | |
page | number | |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
documentId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
documentId | string |
envelope.getEnvelopes
Lists all envelopes accessible by the caller, with optional filters.
getEnvelopes(endpoint: VerdocsEndpoint, params?: IListEnvelopesParams): Promise<object>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
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>>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelope_ids | string[] |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string | |
params | Partial<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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string | |
roleName | string | |
fieldName | string | |
value | string | |
prepared | boolean |
envelope.uploadEnvelopeFieldAttachment
Upload an attachment to an attachment field.
uploadEnvelopeFieldAttachment(endpoint: VerdocsEndpoint, envelopeId: string, roleName: string, fieldName: string, file: File, onUploadProgress?: object): Promise<IEnvelopeFieldSettings>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string | |
roleName | string | |
fieldName | string | |
file | File | |
onUploadProgress? | object |
envelope.cancelEnvelope
Cancel an Envelope.
cancel(envelope_id: str) -> Envelope| Parameter | Type | Description |
|---|---|---|
envelope_id | str | ID of the envelope to cancel. |
envelope.createEnvelope
Create an envelope
create(params: EnvelopeCreateParams) -> Envelope| Parameter | Type | Description |
|---|---|---|
params | EnvelopeCreateParams | The 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | ID of the envelope to operate on. |
role_name | str | The role the field belongs to. |
field_name | str | The machine name of the attachment field. |
envelope.downloadEnvelopeDocument
Download a document directly.
download_document(document_id: str) -> bytes| Parameter | Type | Description |
|---|---|---|
document_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
document_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
document_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
document_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
document_id | str | ID of the document to render. |
page | int | The 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| Parameter | Type | Description |
|---|---|---|
document_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
document_id | str | ID of the document to download. |
envelope.getEnvelopes
Lists all envelopes accessible by the caller, with optional filters.
list(params: EnvelopeListParams | None = None) -> EnvelopeList| Parameter | Type | Description |
|---|---|---|
params? | EnvelopeListParams | None | Optional 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| Parameter | Type | Description |
|---|---|---|
envelope_ids | list[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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | ID of the envelope to update. |
params | EnvelopeUpdateParams | The 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | ID of the envelope to operate on. |
role_name | str | The role the field belongs to, e.g. "Recipient 1". |
field_name | str | The machine name of the field, e.g. "Buyer-textbox-1". |
value | str | The value to set. |
prepared? | bool | Mark 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | ID of the envelope to operate on. |
role_name | str | The role the field belongs to. |
field_name | str | The machine name of the attachment field. |
file | FileInput | A 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to cancel. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
envelope.createEnvelope
Create an envelope
Task<Envelope> CreateAsync(CreateEnvelopeRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
request | CreateEnvelopeRequest | The envelope to create. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role the field is assigned to. |
fieldName | string | The name of the attachment field. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
envelope.downloadEnvelopeDocument
Download a document directly.
Task<byte[]> DownloadDocumentAsync(string documentId, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
documentId | string | The document to download. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
documentId | string | The envelope's certificate document ID. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to retrieve. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
documentId | string | The document to retrieve. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
documentId | string | The document to link to. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
documentId | string | The document to retrieve. |
page | int | The page number to retrieve. |
variant? | string | The variant to render: "original", "filled", or "certificate". |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
documentId | string | The document to link to. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
documentId | string | The document to download. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
options? | ListEnvelopesOptions? | Optional filters, sorting, and paging. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeIds | IEnumerable<string> | The envelopes to include. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to update. |
request | UpdateEnvelopeRequest | The fields to change; unset fields are left alone. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role the field is assigned to. |
fieldName | string | The name of the field to update. |
value | string | The value to set. |
prepared? | bool | True when the sender is pre-filling the field before sending. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role the field is assigned to. |
fieldName | string | The name of the attachment field. |
content | Stream | The file content to upload. |
fileName | string | The filename to store with the attachment. |
contentType? | string? | The file's MIME type. Defaults to application/octet-stream. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
field.createField
Add a field to a template.
createField(endpoint: VerdocsEndpoint, templateId: string, params: ITemplateField): Promise<ITemplateField>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
templateId | string | |
params | ITemplateField |
field.deleteField
Remove a field from a template.
deleteField(endpoint: VerdocsEndpoint, templateId: string, name: string): Promise<any>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
templateId | string | |
name | string |
field.updateField
Update a template field.
updateField(endpoint: VerdocsEndpoint, templateId: string, name: string, params: Partial<ITemplateField>): Promise<ITemplateField>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
templateId | string | |
name | string | |
params | Partial<ITemplateField> |
field.createField
Add a field to a template.
create(template_id: str, params: FieldCreateParams) -> TemplateField| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the template to add the field to. |
params | FieldCreateParams | The field definition. |
field.deleteField
Remove a field from a template.
delete(template_id: str, name: str) -> None| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the template the field belongs to. |
name | str | Name of the field to delete. |
field.updateField
Update a template field.
update(template_id: str, name: str, params: FieldUpdateParams) -> TemplateField| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the template the field belongs to. |
name | str | The field's current name. |
params | FieldUpdateParams | The 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)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template to add the field to. |
request | CreateFieldRequest | The field to create. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
field.deleteField
Remove a field from a template.
Task DeleteAsync(string templateId, string fieldName, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template the field belongs to. |
fieldName | string | The field's name. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
field.updateField
Update a template field.
Task<TemplateField> UpdateAsync(string templateId, string fieldName, UpdateFieldRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template the field belongs to. |
fieldName | string | The field's current name. |
request | UpdateFieldRequest | The properties to change. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
group.addGroupMember
Add a member to a group.
addGroupMember(endpoint: VerdocsEndpoint, groupId: string, profile_id: string): Promise<any>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
groupId | string | |
profile_id | string |
group.createGroup
Create a group. Note that "everyone" is a reserved name and may not be created.
createGroup(endpoint: VerdocsEndpoint, params: object): Promise<any>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | object |
group.deleteGroup
Get an organization by ID. Note that the "everyone" group cannot be deleted.
deleteGroup(endpoint: VerdocsEndpoint, groupId: string): Promise<any>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
groupId | string |
group.deleteGroupMember
Remove a member from a group.
deleteGroupMember(endpoint: VerdocsEndpoint, groupId: string, profile_id: string): Promise<any>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
groupId | string | |
profile_id | string |
group.getGroup
Get the details for a group, including its member profiles and list of permissions.
getGroup(endpoint: VerdocsEndpoint, groupId: string): Promise<IGroup>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
groupId | string |
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[]>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
groupId | string | |
params | object |
group.addGroupMember
Add a member to a group.
add_member(group_id: str, profile_id: str) -> GroupProfile | None| Parameter | Type | Description |
|---|---|---|
group_id | str | ID of the group. |
profile_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
params | GroupCreateParams | Name 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| Parameter | Type | Description |
|---|---|---|
group_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
group_id | str | ID of the group. |
profile_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
group_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
group_id | str | ID of the group to update. |
params | GroupUpdateParams | New 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)| Parameter | Type | Description |
|---|---|---|
groupId | string | The group's unique ID. |
profileId | string | The profile to add. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
request | CreateGroupRequest | The new group's name and permissions. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
groupId | string | The group's unique ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
group.deleteGroupMember
Remove a member from a group.
Task DeleteMemberAsync(string groupId, string profileId, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
groupId | string | The group's unique ID. |
profileId | string | The profile to remove. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
groupId | string | The group's unique ID. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
groupId | string | The group's unique ID. |
request | UpdateGroupRequest | The replacement name and permissions. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
name | string | |
initials | Blob |
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| Parameter | Type | Description |
|---|---|---|
image | FileInput | The 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)| Parameter | Type | Description |
|---|---|---|
content | Stream | The initials image to store. |
fileName | string | The 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? | CancellationToken | Token to cancel the operation. |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | IAcceptOrganizationInvitationRequest |
invitation.createOrganizationInvitation
Invite a new user to join the organization.
createOrganizationInvitation(endpoint: VerdocsEndpoint, params: ICreateInvitationRequest): Promise<IOrganizationInvitation>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | ICreateInvitationRequest |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
email | string | |
token | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
email | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
email | string | |
token | string |
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[]>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
invitation.resendOrganizationInvitation
Send a reminder to the invitee to join the organization.
resendOrganizationInvitation(endpoint: VerdocsEndpoint, email: string): Promise<IOrganizationInvitation>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
email | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
email | string | |
params | Pick<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| Parameter | Type | Description |
|---|---|---|
params | InvitationAcceptParams | The invitee's details, invite token, and new password. |
invitation.createOrganizationInvitation
Invite a new user to join the organization.
create(params: InvitationCreateParams) -> OrganizationInvitation| Parameter | Type | Description |
|---|---|---|
params | InvitationCreateParams | Details 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| Parameter | Type | Description |
|---|---|---|
email | str | Email address the invitation was sent to. |
token | str | The 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| Parameter | Type | Description |
|---|---|---|
email | str | Email 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| Parameter | Type | Description |
|---|---|---|
email | str | Email address the invitation was sent to. |
token | str | The 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| Parameter | Type | Description |
|---|---|---|
email | str | Email 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| Parameter | Type | Description |
|---|---|---|
email | str | Email address of the invitation to update. |
params | InvitationUpdateParams | The 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)| Parameter | Type | Description |
|---|---|---|
request | AcceptOrganizationInvitationRequest | The acceptance details. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
invitation.createOrganizationInvitation
Invite a new user to join the organization.
Task<OrganizationInvitation> CreateAsync(CreateInvitationRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
request | CreateInvitationRequest | Details for the invitation. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
email | string | The invitee's email address. |
token | string | The invite token from the invitation email. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
email | string | The invitee's email address. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
email | string | The invitee's email address. |
token | string | The invite token from the invitation email. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token to cancel the operation. |
invitation.resendOrganizationInvitation
Send a reminder to the invitee to join the organization.
Task ResendAsync(string email, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
email | string | The invitee's email address. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
email | string | The invitee's email address. |
role | string | The role the invitee will hold: "contact", "basic_user", "member", "admin", or "owner". |
cancellationToken? | CancellationToken | Token to cancel the operation. |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelope_id | string | |
role_name | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelope_id | string | |
role_name | string | |
responses | IKbaChallengeResponse[] |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelope_id | string | |
role_name | string | |
identity | IKbaIdentity |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelope_id | string | |
role_name | string | |
pin | string |
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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to operate on. |
role_name | str | The 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to operate on. |
role_name | str | The role completing the challenge. |
responses | list[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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to operate on. |
role_name | str | The role completing the challenge. |
identity | KbaIdentity | The 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to operate on. |
role_name | str | The role completing the challenge. |
pin | str | The 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role being verified. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role being verified. |
responses | IReadOnlyList<KbaResponse> | The answers, in question order. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role being verified. |
identity | KbaIdentity | The identity details the user supplied. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role being verified. |
pin | string | The PIN the user entered. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
member.createOrganizationMember
Create an organization member directly, bypassing the invite process.
createOrganizationMember(endpoint: VerdocsEndpoint, params: object): Promise<IProfile>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | object |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
profileId | string |
member.getOrganizationMembers
Get a list of the members in the caller's organization.
getOrganizationMembers(endpoint: VerdocsEndpoint): Promise<IProfile[]>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
profileId | string | |
reason | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
profileId | string |
member.updateOrganizationMember
Update an organization member.
updateOrganizationMember(endpoint: VerdocsEndpoint, profileId: string, params: Partial<Pick<IProfile, 'first_name' | 'last_name' | 'roles'>>): Promise<IProfile>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
profileId | string | |
params | Partial<Pick<IProfile, 'first_name' | 'last_name' | 'roles'>> |
member.createOrganizationMember
Create an organization member directly, bypassing the invite process.
create(params: MemberCreateParams) -> MemberCreateResponse| Parameter | Type | Description |
|---|---|---|
params | MemberCreateParams | Details 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| Parameter | Type | Description |
|---|---|---|
profile_id | str | The 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| Parameter | Type | Description |
|---|---|---|
profile_id | str | The profile to lock. |
reason | str | Why 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| Parameter | Type | Description |
|---|---|---|
profile_id | str | The profile to unlock. |
member.updateOrganizationMember
Update an organization member.
update(profile_id: str, params: MemberUpdateParams) -> Profile| Parameter | Type | Description |
|---|---|---|
profile_id | str | The profile to update. |
params | MemberUpdateParams | The fields to change. |
member.createOrganizationMember
Create an organization member directly, bypassing the invite process.
Task<CreateMemberResponse> CreateAsync(CreateMemberRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
request | CreateMemberRequest | Details for the new member. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
profileId | string | The member's profile ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
member.getOrganizationMembers
Get a list of the members in the caller's organization.
Task<IReadOnlyList<Profile>> ListAsync(CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
profileId | string | The member's profile ID. |
reason | string | Why the account is being locked (1 to 255 characters). Stored on the user record and shown to admins. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
profileId | string | The member's profile ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
member.updateOrganizationMember
Update an organization member.
Task<Profile> UpdateAsync(string profileId, UpdateMemberRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
profileId | string | The member's profile ID. |
request | UpdateMemberRequest | The changes to apply. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | ICreateNotificationTemplateRequest |
notification.deleteNotificationTemplate
Delete a notification template.
deleteNotificationTemplate(endpoint: VerdocsEndpoint, id: string): Promise<any>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
id | string |
notification.getNotifications
Get notifications for the caller's current profile.
getNotifications(endpoint: VerdocsEndpoint): Promise<any>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
notification.getNotificationTemplate
Get a single notification template by ID.
getNotificationTemplate(endpoint: VerdocsEndpoint, id: string): Promise<INotificationTemplate>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
id | string |
notification.getNotificationTemplates
Get all notification templates for the caller's organization.
getNotificationTemplates(endpoint: VerdocsEndpoint): Promise<INotificationTemplate[]>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
id | string | |
params | IUpdateNotificationTemplateRequest |
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| Parameter | Type | Description |
|---|---|---|
params | NotificationTemplateCreateParams | The 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| Parameter | Type | Description |
|---|---|---|
template_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
template_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the notification template to update. |
params | NotificationTemplateUpdateParams | The 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)| Parameter | Type | Description |
|---|---|---|
request | CreateNotificationTemplateRequest | Details for the new template. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
notification.deleteNotificationTemplate
Delete a notification template.
Task DeleteAsync(string templateId, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
templateId | string | The notification template's unique ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
notification.getNotifications
Get notifications for the caller's current profile.
Task<JsonElement> GetNotificationsAsync(CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token to cancel the operation. |
notification.getNotificationTemplate
Get a single notification template by ID.
Task<NotificationTemplate> GetAsync(string templateId, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
templateId | string | The notification template's unique ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
notification.getNotificationTemplates
Get all notification templates for the caller's organization.
Task<IReadOnlyList<NotificationTemplate>> ListAsync(CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
templateId | string | The notification template's unique ID. |
request | UpdateNotificationTemplateRequest | The changes to apply. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
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>| Parameter | Type | Description |
|---|---|---|
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'>> |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string |
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>>>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
organization.getEntitlements
Get the caller's organization entitlements.
getEntitlements(endpoint: VerdocsEndpoint): Promise<IEntitlement[]>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string |
organization.getOrganizationChildren
Get an organization's "children".
getOrganizationChildren(endpoint: VerdocsEndpoint, organizationId: string): Promise<IOrganization>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
params | Partial<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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
file | File | |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
params | Partial<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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
organizationId | string | |
file | File | |
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| Parameter | Type | Description |
|---|---|---|
params | OrganizationCreateParams | Fields 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| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID 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() -> ActiveEntitlementsorganization.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| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID 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]| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization. Must be the caller's own. |
start_date? | str | None | ISO 8601 UTC datetime string (e.g. "2026-01-01T00:00:00Z"). The server defaults to 90 days ago. |
end_date? | str | None | ISO 8601 UTC datetime string. The server defaults to now. |
usage_type? | str | None | Restrict 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| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization to update. Must be the caller's own. |
params | OrganizationUpdateParams | The 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| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization to update. Must be the caller's own. |
logo | FileInput | The 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| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization. Must be the caller's own. |
params | PipelineSettingsUpdateParams | The 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| Parameter | Type | Description |
|---|---|---|
organization_id | str | ID of the organization to update. Must be the caller's own. |
thumbnail | FileInput | The 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)| Parameter | Type | Description |
|---|---|---|
request | CreateOrganizationRequest | Details for the new organization. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID, as a safety check. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token to cancel the operation. |
organization.getEntitlements
Get the caller's organization entitlements.
Task<IReadOnlyList<Entitlement>> GetEntitlementsAsync(CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
organization.getOrganizationChildren
Get an organization's "children".
Task<IReadOnlyList<Organization>> GetChildrenAsync(string organizationId, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The parent organization's unique ID. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
options? | GetOrganizationUsageOptions? | Optional date range and usage-type filters. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
request | UpdateOrganizationRequest | The changes to apply. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
file | Stream | The image content. |
fileName | string | File name to declare for the upload, for example "logo.png". |
contentType | string | MIME type to declare for the upload, for example "image/png". |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
request | UpdatePipelineSettingsRequest | The flags to change. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
organizationId | string | The organization's unique ID. |
file | Stream | The image content. A square image is recommended. |
fileName | string | File name to declare for the upload, for example "thumbnail.png". |
contentType | string | MIME type to declare for the upload, for example "image/png". |
cancellationToken? | CancellationToken | Token to cancel the operation. |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | ICreateProfileRequest |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
profileId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
profile.getProfiles
Get the caller's available profiles. The current profile will be marked with `current: true`.
getProfiles(endpoint: VerdocsEndpoint): Promise<IProfile[]>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
profileId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
profileId | string | |
params | IUpdateProfileRequest |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
profileId | string | |
file | File | |
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| Parameter | Type | Description |
|---|---|---|
params | CreateProfileRequest | The 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| Parameter | Type | Description |
|---|---|---|
profile_id | str | ID 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 | Noneprofile.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| Parameter | Type | Description |
|---|---|---|
profile_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
profile_id | str | ID of the profile to update. |
params | UpdateProfileRequest | The 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| Parameter | Type | Description |
|---|---|---|
profile_id | str | ID of the caller's own profile. |
picture | FileInput | The 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)| Parameter | Type | Description |
|---|---|---|
request | CreateProfileRequest | The account and organization details. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
profileId | string | The profile to delete. Must belong to the caller. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
profileId | string | The profile to make current. Must belong to the caller. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
profileId | string | The profile to update. |
request | UpdateProfileRequest | The fields to change. Unset properties are left as they are. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
profileId | string | The profile to update. Must be the caller's current profile. |
photo | Stream | The image content. |
fileName | string | Filename to report for the upload, for example "avatar.png". |
contentType | string | MIME type of the image, for example "image/png". The server stores and serves the declared type without validating it. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string | |
roleName | string | |
params | object |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string | |
roleName | string | |
params | object |
recipient.envelopeRecipientAgree
Agree to electronic signing dislosures.
envelopeRecipientAgree(endpoint: VerdocsEndpoint, envelopeId: string, roleName: string, disclosures?: string, data?: IRecipientDisclosureAgreeBody): Promise<IRecipient>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string | |
roleName | string | |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string | |
roleName | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string | |
roleName | string | |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelope_id | string | |
role_name | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string | |
roleName | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string | |
roleName | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelope_id | string | |
role_name | string | |
key | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
envelopeId | string | |
roleName | string | |
params | IUpdateRecipientParams |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | TAuthenticateRecipientRequest |
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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to operate on. |
role_name | str | The role asking the question. |
question | str | The 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to operate on. |
role_name | str | The role delegating their tasks. |
params | RecipientDelegateParams | Name 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to operate on. |
role_name | str | The role agreeing to the disclosures. |
disclosures? | str | None | The disclosure text the recipient accepted. DEFAULT_DISCLOSURES in verdocs.models.envelopes carries the stock text used when the organization has no override. |
params? | RecipientAgreeParams | None | Optional 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to operate on. |
role_name | str | The 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to operate on. |
role_name | str | The role submitting. |
params? | RecipientSubmitParams | None | Optional 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to operate on. |
role_name | str | The 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to operate on. |
role_name | str | The 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to operate on. |
role_name | str | The 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to sign. |
role_name | str | The role to sign as. |
key | str | Access 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| Parameter | Type | Description |
|---|---|---|
envelope_id | str | The envelope to operate on. |
role_name | str | The role to update. |
params | RecipientUpdateParams | The 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| Parameter | Type | Description |
|---|---|---|
params | RecipientVerifyParams | The 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role asking the question. |
question | string | The question to ask. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role to operate on. |
request | DelegateRecipientRequest | The person to delegate to. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The 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? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role to operate on. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role to submit. |
data? | RecipientSubmitBody? | Optional locale details to record with the submission. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role to request. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role to remind. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role to reset. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role to request. |
key | string | Access key generated by the envelope creator or an email/SMS invite. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
envelopeId | string | The envelope to operate on. |
roleName | string | The role to update. |
request | UpdateRecipientParams | The fields to change; unset fields are left alone. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
request | AuthenticateRecipientRequest | The verification step being completed. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
role.createTemplateRole
Create a role.
createTemplateRole(endpoint: VerdocsEndpoint, template_id: string, params: IRole): Promise<IRole>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
template_id | string | |
params | IRole |
role.deleteTemplateRole
Delete a role.
deleteTemplateRole(endpoint: VerdocsEndpoint, template_id: string, name: string): Promise<any>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
template_id | string | |
name | string |
role.updateTemplateRole
Update a role.
updateTemplateRole(endpoint: VerdocsEndpoint, template_id: string, name: string, params: Partial<IRole>): Promise<IRole>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
template_id | string | |
name | string | |
params | Partial<IRole> |
role.createTemplateRole
Create a role.
create(template_id: str, params: RoleCreateParams) -> Role| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the template to add the role to. |
params | RoleCreateParams | The role definition; only name is required. |
role.deleteTemplateRole
Delete a role.
delete(template_id: str, name: str) -> None| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the template the role belongs to. |
name | str | Name of the role to delete. |
role.updateTemplateRole
Update a role.
update(template_id: str, name: str, params: RoleUpdateParams) -> Role| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the template the role belongs to. |
name | str | The role's current name. |
params | RoleUpdateParams | The fields to change; unset fields are left alone. |
role.createTemplateRole
Create a role.
Task<Role> CreateAsync(string templateId, CreateRoleRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template to add the role to. |
request | CreateRoleRequest | The role to create. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
role.deleteTemplateRole
Delete a role.
Task DeleteAsync(string templateId, string roleName, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template the role belongs to. |
roleName | string | The role's name. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
role.updateTemplateRole
Update a role.
Task<Role> UpdateAsync(string templateId, string roleName, UpdateRoleRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template the role belongs to. |
roleName | string | The role's current name. |
request | UpdateRoleRequest | The properties to change. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
name | string | |
signature | Blob |
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| Parameter | Type | Description |
|---|---|---|
image | FileInput | The 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)| Parameter | Type | Description |
|---|---|---|
content | Stream | The signature image to store. |
fileName | string | The 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? | CancellationToken | Token to cancel the operation. |
template.createTemplate
Create a template.
createTemplate(endpoint: VerdocsEndpoint, params: ITemplateCreateParams, onUploadProgress?: object): Promise<ITemplate>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | ITemplateCreateParams | |
onUploadProgress? | object |
template.createTemplateFromSharepoint
Create a template from a Sharepoint asset.
createTemplateFromSharepoint(endpoint: VerdocsEndpoint, params: ITemplateCreateFromSharepointParams): Promise<ITemplate>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | ITemplateCreateFromSharepointParams |
template.deleteTemplate
Delete a template.
deleteTemplate(endpoint: VerdocsEndpoint, templateId: string): Promise<string>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
templateId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
templateId | string | |
name | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
templateId | string |
template.getTemplates
Get all templates accessible by the caller, with optional filters.
getTemplates(endpoint: VerdocsEndpoint, params?: IGetTemplatesParams): Promise<object>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params? | IGetTemplatesParams |
template.toggleTemplateStar
Toggle the template star for a template.
toggleTemplateStar(endpoint: VerdocsEndpoint, templateId: string): Promise<ITemplate>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
templateId | string |
template.updateTemplate
Update a template.
updateTemplate(endpoint: VerdocsEndpoint, templateId: string, params: Partial<ITemplateCreateParams>): Promise<ITemplate>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
templateId | string | |
params | Partial<ITemplateCreateParams> |
template.createTemplate
Create a template.
create(params: TemplateCreateParams, files: Sequence[TemplateFile] | None = None) -> Template| Parameter | Type | Description |
|---|---|---|
params | TemplateCreateParams | Fields for the new template; only name is required. |
files? | Sequence[TemplateFile] | None | Optional 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| Parameter | Type | Description |
|---|---|---|
params | TemplateCreateFromSharepointParams | Sharepoint site/item coordinates and the On-Behalf-Of token. |
template.deleteTemplate
Delete a template.
delete(template_id: str) -> None| Parameter | Type | Description |
|---|---|---|
template_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the template to copy. |
name | str | Name 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| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the template to fetch. |
template.getTemplates
Get all templates accessible by the caller, with optional filters.
list(params: TemplateListParams | None = None) -> TemplateList| Parameter | Type | Description |
|---|---|---|
params? | TemplateListParams | None | Optional filters, sorting, and pagination. |
template.toggleTemplateStar
Toggle the template star for a template.
toggle_star(template_id: str) -> Template| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the template to star or unstar. |
template.updateTemplate
Update a template.
update(template_id: str, params: TemplateUpdateParams) -> Template| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the template to update. |
params | TemplateUpdateParams | The fields to change; unset fields are left alone. |
template.createTemplate
Create a template.
Task<Template> CreateAsync(CreateTemplateRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
request | CreateTemplateRequest | The template to create. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
template.createTemplateFromSharepoint
Create a template from a Sharepoint asset.
Task<Template> CreateFromSharepointAsync(CreateTemplateFromSharepointRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
request | CreateTemplateFromSharepointRequest | The Sharepoint source and template name. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
template.deleteTemplate
Delete a template.
Task DeleteAsync(string templateId, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template's unique ID. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template to copy. |
name | string | Name for the new copy. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template's unique ID. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
options? | GetTemplatesOptions? | Optional filters, sorting, and paging. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
template.toggleTemplateStar
Toggle the template star for a template.
Task<Template> ToggleStarAsync(string templateId, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template to star or unstar. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
template.updateTemplate
Update a template.
Task<Template> UpdateAsync(string templateId, UpdateTemplateRequest request, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template's unique ID. |
request | UpdateTemplateRequest | The settings to change. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
templateDocument.createTemplateDocument
Create a Document for a particular Template.
createTemplateDocument(endpoint: VerdocsEndpoint, template_id: string, file: File, onUploadProgress?: object): Promise<ITemplateDocument>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
template_id | string | |
file | File | |
onUploadProgress? | object |
templateDocument.deleteTemplateDocument
Delete a specific Document.
deleteTemplateDocument(endpoint: VerdocsEndpoint, documentId: string): Promise<ITemplate>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
documentId | string |
templateDocument.downloadTemplateDocument
Download a document directly.
downloadTemplateDocument(endpoint: VerdocsEndpoint, documentId: string): Promise<any>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
documentId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
documentId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
_templateId | string | |
documentId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
templateId | string | |
documentId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
documentId | string | |
page | number | |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
_templateId | string | |
documentId | string |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
templateId | string | |
documentId | string |
templateDocument.createTemplateDocument
Create a Document for a particular Template.
create(template_id: str, file: TemplateFile) -> TemplateDocument| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the template to attach the document to. |
file | TemplateFile | The 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| Parameter | Type | Description |
|---|---|---|
document_id | str | ID of the document to delete. |
templateDocument.downloadTemplateDocument
Download a document directly.
download(document_id: str) -> bytes| Parameter | Type | Description |
|---|---|---|
document_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
document_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
document_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the template the document belongs to. |
document_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
document_id | str | ID of the document to render. |
page | int | 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| Parameter | Type | Description |
|---|---|---|
document_id | str | ID 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| Parameter | Type | Description |
|---|---|---|
template_id | str | ID of the template the document belongs to. |
document_id | str | ID of the document to thumbnail. |
templateDocument.createTemplateDocument
Create a Document for a particular Template.
Task<TemplateDocument> CreateAsync(string templateId, TemplateFileUpload file, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template to attach the document to. |
file | TemplateFileUpload | The file to upload. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
templateDocument.deleteTemplateDocument
Delete a specific Document.
Task<Template> DeleteAsync(string documentId, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
documentId | string | The document's unique ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
templateDocument.downloadTemplateDocument
Download a document directly.
Task<byte[]> DownloadAsync(string documentId, CancellationToken cancellationToken = default)| Parameter | Type | Description |
|---|---|---|
documentId | string | The document's unique ID. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
documentId | string | The document's unique ID. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
documentId | string | The document's unique ID. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template the document belongs to. |
documentId | string | The document's unique ID. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
documentId | string | The document to render. |
page | int | 0-based page number (0-1000). |
variant? | string | "original" or "tagged". |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
documentId | string | The document ID to link to. |
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
templateId | string | The template the document belongs to. |
documentId | string | The document's unique ID. |
cancellationToken? | CancellationToken | Token to cancel the operation. |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint |
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>| Parameter | Type | Description |
|---|---|---|
endpoint | VerdocsEndpoint | |
params | ISetWebhookRequest |
webhook.getWebhooks
Get the registered Webhook configuration for the caller's organization. Note that an organization may only have a single Webhook configuration.
get() -> Webhookwebhook.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() -> Webhookwebhook.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| Parameter | Type | Description |
|---|---|---|
params | WebhookSetParams | The 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)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
cancellationToken? | CancellationToken | Token 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)| Parameter | Type | Description |
|---|---|---|
request | SetWebhookRequest | The configuration to apply. |
cancellationToken? | CancellationToken | Token to cancel the operation. |