SignersApi

All URIs are relative to https://api.esignlaunchpad.com

Method HTTP request Description
addSigner POST /api/v1/packages//signers Add a signer to a package
addSignersBulk POST /api/v1/packages//signers/bulk Add signers in bulk
getSigner GET /api/v1/packages//signers/ Get a signer's details
getSigningUrl POST /api/v1/packages//signers//signing-url Get embedded signing URL
listSigners GET /api/v1/packages//signers List signers in a package
reassignSigner POST /api/v1/packages//signers//reassign Reassign a signer
removeSigner DELETE /api/v1/packages//signers/ Remove a signer from a package
reorderSigners PUT /api/v1/packages//signers/reorder Reorder signers
resendToSigner POST /api/v1/packages//signers//resend Resend signing notification
resendToSignersBulk POST /api/v1/packages//signers/resend-bulk Bulk resend notifications
updateSigner PUT /api/v1/packages//signers/ Update a signer

addSigner

SignerApiResponse addSigner(packageId, CreateSignerApiRequest)

Add a signer to a package

Adds a new signer, carbon-copy recipient, approver, editor, or in-person signer to a draft package.  The signer will not receive any notification until the package is sent.    If `ClientUserId` is provided, the signer is treated as an embedded signer and will not receive  email notifications. Instead, use the `GetSigningUrl` endpoint to generate a signing URL that you  embed in your own application. Embedded signing requires the feature to be enabled on your subscription plan.    When `AuthMethod` is set to `Kba` or `IdVerification`, authentication credits are consumed  at signing time. Ensure your account has sufficient auth credits before sending.    **Error conditions:**  - 400 if the package is not in Draft status.  - 400 if email or name is missing or invalid.  - 403 if embedded signing feature is not available on the current plan (when ClientUserId is set).

Parameters

Name Type Description Notes
packageId UUID The package GUID. [default to null]
CreateSignerApiRequest CreateSignerApiRequest Cancellation token.

Return type

SignerApiResponse

Authorization

ApiKey

HTTP request headers

  • Content-Type: application/json, text/json, application/*+json
  • Accept: application/json

addSignersBulk

BulkSignerApiResponse addSignersBulk(packageId, BulkCreateSignerApiRequest)

Add signers in bulk

Adds multiple signers to a package in a single atomic operation. This is more efficient than  calling `AddSigner` repeatedly when you know all signers upfront.    All signers are validated and created together. If any signer in the batch fails validation,  the entire operation is rolled back and no signers are added.    Embedded signing rules apply per-signer: if any signer in the batch has a `ClientUserId`,  the embedded signing feature must be enabled on the subscription plan.    **Error conditions:**  - 400 if the package is not in Draft status.  - 400 if any signer has invalid email or name.  - 403 if any signer uses embedded signing and the feature is not available.

Parameters

Name Type Description Notes
packageId UUID The package GUID. [default to null]
BulkCreateSignerApiRequest BulkCreateSignerApiRequest Cancellation token.

Return type

BulkSignerApiResponse

Authorization

ApiKey

HTTP request headers

  • Content-Type: application/json, text/json, application/*+json
  • Accept: application/json

getSigner

SignerApiResponse getSigner(packageId, signerId)

Get a signer's details

Returns the full details of a single signer including status, authentication state,  KBA/IDV verification results, payment information, and decline details if applicable.    Use this endpoint to check a specific signer's progress rather than listing all signers  when you already have the signer GUID (e.g., from a webhook event).    **Error conditions:**  - 404 if the signer GUID does not exist within the specified package.

Parameters

Name Type Description Notes
packageId UUID The package GUID. [default to null]
signerId UUID The signer GUID. [default to null]

Return type

SignerApiResponse

Authorization

ApiKey

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

getSigningUrl

SigningUrlApiResponse getSigningUrl(packageId, signerId, GetSigningUrlApiRequest)

Get embedded signing URL

Generates a one-time signing URL for a signer that was created with a `ClientUserId`  (embedded signing pattern). The URL is used to embed the signing ceremony inside your own  application via an iframe or redirect.    The package must be in Sent or InProgress status. The signer must have a `ClientUserId`  set and must not have already completed signing.    Each generated URL is single-use and time-limited. The default expiration is 5 minutes;  use `ExpiresInMinutes` to customize (max 60 minutes). After the URL expires or is  consumed, call this endpoint again to generate a new one.    The optional `ReturnUrl` specifies where the signer is redirected after completing,  declining, or timing out of the signing ceremony.    **Side effects:** No email notifications are sent. The URL is returned directly for your  application to present to the signer.    **Error conditions:**  - 400 if the package is not in Sent or InProgress status.  - 400 if the signer has already completed signing.  - 400 if the signer does not have a ClientUserId (not an embedded signer).  - 403 if embedded signing feature is not available on the current plan.

Parameters

Name Type Description Notes
packageId UUID The package GUID. [default to null]
signerId UUID The signer GUID. [default to null]
GetSigningUrlApiRequest GetSigningUrlApiRequest Cancellation token. [optional]

Return type

SigningUrlApiResponse

Authorization

ApiKey

HTTP request headers

  • Content-Type: application/json, text/json, application/*+json
  • Accept: application/json

listSigners

List listSigners(packageId, externalReferenceId, updatedSince)

List signers in a package

Returns all signers, carbon-copy recipients, approvers, editors, and in-person signers  attached to the package. The response includes each signer's current status, authentication  state, KBA/IDV verification details, and payment information.    Signers are returned in their routing order. Use this endpoint to monitor signing progress  or to look up signer GUIDs for subsequent operations such as resend or reassign.

Parameters

Name Type Description Notes
packageId UUID The package GUID. [default to null]
externalReferenceId String [optional] [default to null]
updatedSince Date [optional] [default to null]

Return type

List

Authorization

ApiKey

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

reassignSigner

SignerApiResponse reassignSigner(packageId, signerId, ReassignSignerApiRequest)

Reassign a signer

Reassigns a signer slot to a different person while preserving the routing order and assigned  annotations. This is the correct way to change who signs on an in-flight package (Sent or InProgress).  For draft packages, use `UpdateSigner` instead.    The original signer's status is reset, and a new notification email is sent to the replacement  signer. Any authentication state (KBA attempts, IDV results) from the original signer is cleared.    A signer who has already completed signing cannot be reassigned. To reassign a signer who has  declined, the decline must be handled first.    **Side effects:**  - Sends a signing notification email to the new signer.  - Clears the previous signer's authentication state and progress.  - Fires a `signer.reassigned` webhook event.    **Error conditions:**  - 400 if the package is not in Sent or InProgress status.  - 409 if the signer has already completed signing.

Parameters

Name Type Description Notes
packageId UUID The package GUID. [default to null]
signerId UUID The signer GUID. [default to null]
ReassignSignerApiRequest ReassignSignerApiRequest Cancellation token.

Return type

SignerApiResponse

Authorization

ApiKey

HTTP request headers

  • Content-Type: application/json, text/json, application/*+json
  • Accept: application/json

removeSigner

removeSigner(packageId, signerId)

Remove a signer from a package

Permanently removes a signer from a draft package. Any annotations assigned to this signer  are also removed. This operation cannot be undone.    Signers can only be removed while the package is in Draft status. To remove a signer from  an in-flight package, void the package first, then clone it without the unwanted signer.    **Error conditions:**  - 400 if the package is not in Draft status.  - 404 if the signer GUID does not exist within the specified package.

Parameters

Name Type Description Notes
packageId UUID The package GUID. [default to null]
signerId UUID The signer GUID. [default to null]

Return type

null (empty response body)

Authorization

ApiKey

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

reorderSigners

ReorderSignersApiResponse reorderSigners(packageId, ReorderSignersApiRequest)

Reorder signers

Batch-updates routing orders for signers in a draft package. Routing order determines the  sequence in which signers are notified when `EnforceSigningOrder` is enabled on the package.  Signers with the same routing order are notified simultaneously.    You do not need to include all signers in the request; only the signers whose routing order  is changing. Omitted signers retain their current routing order.    **Error conditions:**  - 400 if the package is not in Draft status.  - 400 if the request contains no signer reorder items.  - 400 if any signer GUID does not exist within the package.

Parameters

Name Type Description Notes
packageId UUID The package GUID. [default to null]
ReorderSignersApiRequest ReorderSignersApiRequest Cancellation token.

Return type

ReorderSignersApiResponse

Authorization

ApiKey

HTTP request headers

  • Content-Type: application/json, text/json, application/*+json
  • Accept: application/json

resendToSigner

resendToSigner(packageId, signerId)

Resend signing notification

Resends the signing notification email to a specific signer who has not yet completed signing.  Use this when a signer reports not receiving the original email or when you want to send a reminder  to a specific person rather than all pending signers.    For bulk resending to multiple signers, use the `ResendToSignersBulk` endpoint.  For resending to all pending signers at once, use the package-level `ResendPackage` endpoint.    **Side effects:** Sends an email notification to the signer. The signer's `RemindersSentCount`  and `LastReminderSentOn` are updated.    **Rate limited:** This endpoint is rate-limited to prevent email abuse.    **Error conditions:**  - 400 if the package is not in Sent or InProgress status.  - 400 if the signer has already completed or declined.

Parameters

Name Type Description Notes
packageId UUID The package GUID. [default to null]
signerId UUID The signer GUID. [default to null]

Return type

null (empty response body)

Authorization

ApiKey

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

resendToSignersBulk

BulkResendApiResponse resendToSignersBulk(packageId, BulkResendSignersApiRequest)

Bulk resend notifications

Resends signing notification emails to multiple signers in a single operation. Only signers  who are in a pending state (not completed, declined, or voided) will receive notifications.  Signers who have already finished are silently skipped.    Prefer this over calling `ResendToSigner` in a loop to reduce API calls and  stay within rate limits.    **Side effects:** Sends email notifications to each eligible signer. Each signer's  `RemindersSentCount` and `LastReminderSentOn` are updated.    **Rate limited:** This endpoint is rate-limited to prevent email abuse.    **Error conditions:**  - 400 if the package is not in Sent or InProgress status.

Parameters

Name Type Description Notes
packageId UUID The package GUID. [default to null]
BulkResendSignersApiRequest BulkResendSignersApiRequest Cancellation token.

Return type

BulkResendApiResponse

Authorization

ApiKey

HTTP request headers

  • Content-Type: application/json, text/json, application/*+json
  • Accept: application/json

updateSigner

SignerApiResponse updateSigner(packageId, signerId, UpdateSignerApiRequest)

Update a signer

Updates one or more properties of a signer on a draft package. Only the fields included in the  request body are modified; omitted fields remain unchanged. This is a full PUT semantically but  null fields are treated as \"no change\" rather than \"clear.\"    To change a signer's identity (email/name) on an already-sent package, use the `ReassignSigner`  endpoint instead, which handles notification and status reset.    Changing `AuthMethod` affects which credentials the signer must provide. Switching to a  credit-consuming method (Kba, IdVerification) does not consume credits until signing time.    **Error conditions:**  - 400 if the package is not in Draft status.  - 400 if invalid values are provided for Type or AuthMethod.  - 403 if ClientUserId is set and embedded signing is not available on the plan.  - 404 if the signer GUID does not exist within the specified package.

Parameters

Name Type Description Notes
packageId UUID The package GUID. [default to null]
signerId UUID The signer GUID. [default to null]
UpdateSignerApiRequest UpdateSignerApiRequest Cancellation token.

Return type

SignerApiResponse

Authorization

ApiKey

HTTP request headers

  • Content-Type: application/json, text/json, application/*+json
  • Accept: application/json