API
Send documents for signature via API
Create a submission programmatically, map recipients, control delivery, and correlate events with your system.
Developers15 minutes
Before you begin
- A scoped API key from Settings > API
- A template ID and its signer role names
What you will complete
- A programmatically created signature request
Create the request
Send the key only from a trusted server. Use metadata or external_id to correlate Signa records with your application.
Create a submission
curl -X POST https://signa.example.com/api/submissions \
-H "X-Auth-Token: $SIGNA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"template_id":12,"send_email":true,"submitters_order":"preserved","submitters":[{"role":"Client","email":"client@example.com"}],"metadata":{"agreement_id":"AGR-1842"}}'Control delivery and order
- Set send_email false when your application delivers the signing URL.
- Enable send_sms only when the deployment has a working SMS provider.
- Use preserved order for sequential signing and random for parallel signing.
- Use owner auto-sign only with an explicitly selected owner role.
Continue the workflow
Store the returned submission and submitter identifiers. Listen for form.completed, form.declined, and submission.completed webhooks, and verify webhook signatures before changing downstream state.