Get Signing Link
POST/openapi/v1/envelopes/signing-view
Generate one-time signing links for the envelope's signers.
- Link validity is governed by the response
ExpiresAt, default 1 hour (identical for Trusted and standard modes). Expired links require re-calling this endpoint - Multiple calls for the same signer will invalidate previous links; do not cache links
- Carbon-copy recipients are not returned (they do not have signing links)
Filter Rules
- When both
RecipientIdandRecipientEmailare provided,RecipientIdtakes precedence andRecipientEmailis ignored. - When only one is provided, filter by that field and return a single signer's link.
- When neither is provided, return links for all signers of the envelope.
Embedded Signing
Embed the SigningUrl into your own system (iframe / new window) to build an embedded signing page. Customize via the request body:
TrustedMode=true: skip platform login authentication (the customer has completed its own authentication). Requires the App to have Trusted Signing enabled andClientUserIdprovided for this signer (single-signer endpoint)ReturnUrl: after the signer completes or ends signing, the browser automatically redirects here withevent(e.g.signing_complete),envelopeId, andrecipientIdquery parameters, so your system can proceed without polling envelope statusClientUserId: the customer-side user identifier for this signer (single value). A mismatch with the existing binding is an error (prevents mis-binding); it is written on first use
Request Parameters
Header Parameters
AuthorizationRequiredstring
Bearer <access_token>
X-Operator-User-IdOptionalstring
Operator user ID. Not required in Authorization Code mode (the authorized user is used automatically). Optional in Client Credentials mode — omit to use the system user ID.
Request Body
application/jsonEnvelopeIdRequiredstring
Envelope ID (required)
RecipientIdOptionalstring
Signer ID (optional, used to filter a single signer)
RecipientEmailOptionalstring(email)
Signer email (optional, used to filter a single signer). When both RecipientId and RecipientEmail are provided, RecipientId takes precedence and Email is ignored.
ClientUserIdOptionalstring
The customer-side user identifier for this signer (optional; this endpoint is single-signer). Applies to the signer selected by RecipientId / RecipientEmail: a mismatch with the signer's existing ClientUserId is an error (prevents mis-binding); it is written on first use. Required when TrustedMode=true.
ReturnUrlOptionalstring
Return URL after the signer finishes signing (optional, Embedded only). Only takes effect after it passes the App's signing_return integration allowlist validation; HTTPS only.
TrustedModeOptionalboolean
Trusted Embedded Signing mode (optional, default false). When true, the customer has already completed its own authentication, so the signer can skip our authentication and sign directly. Requires the App to have Trusted Signing enabled and every target signer bound with a ClientUserId; otherwise an error is returned.
Request Example
{
"EnvelopeId": "SGEV1234567890",
"RecipientId": "r1",
"ClientUserId": "my-client-user-001"
}Response Parameters
Response.Data
EnvelopeIdOptionalstring
Envelope ID
EnvelopeStatusOptionalstring
Envelope current status. draft; sending (async anchor resolving); sent; sent_failed (async resolve failed); completed; voided; declined.
draftsendingsentsent_failedcompletedvoideddeclined
SignerInfosOptionalarray<object>
Signer signing-link list
Sub-properties
RecipientIdOptionalstring
System-assigned recipient ID
NameOptionalstring
Name (required)
EmailOptionalstring
Email (masked, e.g. z***@example.com)
SigningOrderOptionalinteger
Signing order (0 when SigningOrderType=parallel)
SigningUrlOptionalstring
Signing link
ExpiresAtOptionalstring(date-time)
Link expiration time, RFC3339 format, e.g. 2024-01-15T11:00:00Z
Response Example
{
"Response": {
"RequestId": "req-abc123",
"Error": null,
"Data": {
"EnvelopeId": "SGEV1234567890",
"EnvelopeStatus": "sent",
"SignerInfos": [
{
"RecipientId": "r1",
"Name": "Alice",
"Email": "a***@example.com",
"SigningOrder": 1,
"SigningUrl": "https://sign.example.com/signing/eyJhbGciOi...",
"ExpiresAt": "2024-01-15T11:00:00Z"
}
]
}
}
}Error Codes
| Error Code | Description |
|---|---|
INVALID_REQUEST | Invalid parameters (e.g. EnvelopeId is empty) |
NOT_FOUND | Envelope does not exist |
RECIPIENT.NOT_RECIPIENT | The specified RecipientId / Email is not a signer of this envelope |
ENVELOPE.INVALID_STATUS | Envelope status does not allow signing (completed, voided, draft, etc.) |
SIGNING.RECIPIENT_ALREADY_SIGNED | The signer has already signed |
SIGNING.RECIPIENT_DECLINED | The signer has declined |
INTERNAL_ERROR | Internal service error |
API_SIGNING.TRUSTED_SIGNING_NOT_ENABLED | Trusted signing is not enabled for this App |
API_SIGNING.TRUSTED_SIGNING_CLIENT_USER_ID_REQUIRED | A target signer has no ClientUserId binding in Trusted mode |
API_SIGNING.RETURN_URL_NOT_ALLOWED | ReturnUrl is not in this App's signing_return allowlist |