Use Cases
Send Signing Links via SMS
Deliver signing links through SMS or any custom channel using inline ceremonies with short URLs
By default, SignatureAPI sends signing links to recipients via email. If you need to deliver signing links through SMS, WhatsApp, or any other channel, you can disable email delivery and configure an inline ceremony with a short URL directly on the recipient.
This example creates an envelope with:
- A single PDF document with one signature place.
- One recipient with
delivery_typeset tonone(deliverables are not sent automatically). - An inline
ceremonyobject with custom authentication andurl_variantset toshortfor SMS-friendly URLs.
Create the Envelope
Set delivery_type to none on the recipient so the completed deliverable is not automatically emailed. Include a ceremony object on the recipient with custom authentication (since your application handles delivery) and set url_variant to short to generate a compact URL suitable for SMS.
// POST https://api.signatureapi.com/v1/envelopes
// X-API-Key: key_test_...
// Content-Type: application/json
{
"title": "Service Agreement",
"documents": [
{
"url": "https://example.com/documents/agreement.pdf",
"places": [
{
"key": "customer_signature",
"type": "signature",
"recipient_key": "customer"
}
]
}
],
"recipients": [
{
"type": "signer",
"key": "customer",
"name": "Alex Rivera",
"email": "alex@example.com",
"delivery_type": "none",
"ceremony": {
"authentication": [
{
"type": "custom",
"provider": "SMS",
"data": {
"phone": "+1-555-867-5309"
}
}
],
"url_variant": "short"
}
}
]
}
Key properties on the recipient:
delivery_type: Set tononeso the completed deliverable is not automatically emailed to this recipient. Your application is responsible for distributing the deliverable.ceremony: Configures the signing ceremony inline. SignatureAPI creates the ceremony automatically when the envelope starts processing.ceremony.authentication: Usescustomtype since your application handles delivery. Theprovideranddatavalues are recorded in the audit log.ceremony.url_variant: Set toshortto generate a compact URL likehttps://sign.signatureapi.com/s/BgnexxxxxxxxIbRi, which fits within SMS character limits.
The recipient still requires an email property even when delivery_type is none. The email is used for identification and audit purposes.
Get the Ceremony URL
The response includes the short ceremony URL in recipients[].ceremony.url:
// HTTP/1.1 200 OK
{
"id": "55072f0e-b919-4d69-89cd-e7e56af00530",
"title": "Service Agreement",
"recipients": [
{
"id": "re_7v7Sion0vqjJioYmwfZ9mf",
"key": "customer",
"name": "Alex Rivera",
"ceremony": {
"authentication": [
{
"type": "custom",
"provider": "SMS",
//...
}
],
"url_variant": "short",
"url": "https://sign.signatureapi.com/s/BgnexxxxxxxxIbRi"
},
//...
}
],
//...
}
Send the Link via SMS
Take the url from the ceremony response and deliver it through your SMS provider (such as Twilio, MessageBird, or Amazon SNS).
// Example: sending via Twilio
const ceremonyUrl = response.recipients[0].ceremony.url;
await twilioClient.messages.create({
to: "+15558675309",
from: "+15551234567",
body: `Please sign your Service Agreement: ${ceremonyUrl}`
});
The recipient opens the link on their device, reviews the document, and signs.
Result
When the recipient completes the ceremony, SignatureAPI updates the envelope status as usual. You can track completion through webhooks or by polling the envelope.
Try It
Try this example in Postman using your test API key to create a free, non-binding test envelope. Test envelopes won’t send emails, but you can review them in your dashboard.
Keep Learning
- Learn more about short ceremony URLs and when to use them.
- Use custom authentication to record additional context about how the signer was verified.
- Embed the signing ceremony in your own web application instead of redirecting to the SignatureAPI signing page.
- Set up webhooks to receive real-time notifications when signing completes.