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.

Continue with