Alpha Version: SignEngine is currently in alpha testing. You need an invitation to register.
Skip to main content

Quick Start

Get started with SignEngine in less than 5 minutes! This guide will walk you through creating your first envelope and sending a document for signature.

Prerequisites

Before you begin, make sure you have:

  • Node.js 20+ installed (for TypeScript/JavaScript SDK)
  • A SignEngine account (sign up at signengine.dev)
  • Your API key (available in your dashboard)

Installation

Install the SignEngine SDK for your preferred language:

npm install @signengine/api-client

Your First Envelope

Let's create an envelope and send a document for signature.

import { SignEngineClient } from '@signengine/api-client';
import fs from 'fs';

// Initialize the client
const client = new SignEngineClient({
apiKey: process.env.SIGNENGINE_API_KEY,
});

async function sendDocumentForSignature() {
// Read the PDF document
const documentBuffer = fs.readFileSync('./contract.pdf');

// Create an envelope
const envelope = await client.envelopes.create({
name: 'Employment Contract',
recipients: [
{
email: '[email protected]',
name: 'Jane Smith',
role: 'signer',
order: 1,
},
],
documents: [
{
name: 'contract.pdf',
content: documentBuffer,
},
],
fields: [
{
type: 'signature',
recipientEmail: '[email protected]',
page: 1,
x: 100,
y: 500,
width: 200,
height: 50,
},
{
type: 'date',
recipientEmail: '[email protected]',
page: 1,
x: 100,
y: 450,
width: 150,
height: 30,
},
],
});

console.log(`✅ Envelope created: ${envelope.id}`);
console.log(`📧 Sent to: ${envelope.recipients[0].email}`);
console.log(`📊 Status: ${envelope.status}`);

return envelope;
}

sendDocumentForSignature();

What Just Happened?

  1. Initialized the client with your API key
  2. Created an envelope with a recipient
  3. Uploaded a document (PDF)
  4. Placed signature fields on the document
  5. Sent the envelope to the recipient

The recipient will receive an email with a link to sign the document!

Check Envelope Status

You can check the status of your envelope at any time:

const envelope = await client.envelopes.get('envelope-id');

console.log(`Status: ${envelope.status}`);
// Possible statuses: draft, sent, delivered, signed, completed, declined, voided

Next Steps

Now that you've sent your first document, explore more features:

Common Issues

API Key Not Working

Make sure your API key is correctly set:

export SIGNENGINE_API_KEY="your-api-key-here"

Document Upload Fails

Ensure your document is:

  • A valid PDF file
  • Less than 10MB in size
  • Not password-protected

Need More Help?