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
Authorization
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
Authorization
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
Authorization
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
Authorization
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
Authorization
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
Authorization
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
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
Authorization
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
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
Authorization
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
Authorization
HTTP request headers
- Content-Type: application/json, text/json, application/*+json
- Accept: application/json