Propper Logo
Developer Platform

Build with the Propper API

Integrate document signing and agreement workflows into your applications. Our REST API, webhooks, and SDKs make it easy to build powerful integrations.

Propper API integration illustration
Powered byPropper.ai
REST API endpoints illustration
REST API

Full-featured REST API for creating, sending, and managing documents. Comprehensive endpoints for all Propper features.

View Examples
Webhooks illustration
Webhooks

Real-time event notifications for document status changes. Build event-driven integrations that respond instantly.

View Events
SDKs illustration
SDKs

Official SDKs for popular languages. Get started quickly with type-safe, idiomatic code for your platform.

View SDKs
Quick start illustration

Quick Start

Get up and running in minutes with these code examples

Install the SDK
npm install @propper/sdk
Send a Document for Signature
import { Propper } from '@propper/sdk';

const propper = new Propper({
  apiKey: process.env.PROPPER_API_KEY,
});

const document = await propper.documents.create({
  title: 'Sales Agreement',
  file: fs.readFileSync('./contract.pdf'),
  signers: [
    {
      email: 'signer@example.com',
      name: 'John Doe',
    },
  ],
});

await propper.documents.send(document.id);

console.log('Document sent:', document.id);

Webhook Events

Subscribe to webhook events to receive real-time notifications when document status changes.

document.createdA new document was created
document.sentDocument was sent for signature
document.viewedRecipient viewed the document
document.signedRecipient signed the document
document.completedAll signatures collected
document.declinedRecipient declined to sign
document.expiredDocument signing period expired
Example Webhook Payload
{
  "event": "document.signed",
  "timestamp": "2025-01-15T10:30:00Z",
  "data": {
    "document_id": "doc_abc123",
    "title": "Sales Agreement",
    "signer": {
      "email": "signer@example.com",
      "name": "John Doe",
      "signed_at": "2025-01-15T10:30:00Z"
    },
    "status": "partially_signed",
    "signers_completed": 1,
    "signers_total": 2
  }
}

Official SDKs

Use our official SDKs for a streamlined development experience with type safety and idiomatic code.

🟢Node.js
Available
🐍Python
Available
💎Ruby
Available
🐘PHP
Available
Java
Coming Soon
🔷.NET
Coming Soon

Authentication

All API requests require authentication using an API key or OAuth 2.0 access token.

API Keys illustration
API Keys

Best for server-to-server integrations. Generate API keys from your Propper dashboard.

Authorization: Bearer sk_live_xxx...
OAuth 2.0 illustration
OAuth 2.0

Best for user-facing integrations. Authenticate on behalf of Propper users.

Authorization: Bearer oauth_xxx...

Developer Resources

API Reference illustration

API Reference

Complete documentation for all API endpoints.

View Docs
Sandbox Environment illustration

Sandbox Environment

Test your integration without affecting production.

Get Sandbox Access

Ready to Build?

Get your API credentials and start integrating Propper into your application today.