Build powerful integrations with our RESTful API. Create contracts, manage signatures, and automate workflows programmatically.
Base URL
https://api.baseflow.com/v2All API requests require authentication via API key or OAuth token.
Include your API key in the Authorization header with every request.
curl -X GET "https://api.baseflow.com/v2/contracts" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"For user-authorized integrations, use OAuth 2.0 with authorization code flow.
/oauth/authorize/oauth/tokenCore API endpoints for managing contracts and signatures
/contracts/contracts/contracts/:id/contracts/:id/contracts/:id/contracts/:id/send/templates/templates/templates/:id/templates/:id/use/contracts/:id/signers/contracts/:id/signers/contracts/:id/signers/:sid/remind/team/members/team/invitations/team/members/:id/webhooks/webhooks/webhooks/:idReceive real-time notifications when events occur
contract.createdA new contract was createdcontract.sentA contract was sent for signaturecontract.viewedA signer viewed the contractcontract.signedA signer completed their signaturecontract.completedAll signers have signedcontract.declinedA signer declined to signcontract.expiredA contract has expired{
"event": "contract.signed",
"timestamp": "2026-02-01T10:30:00Z",
"data": {
"contract_id": "con_abc123",
"signer_id": "sig_xyz789",
"signer_email": "[email protected]",
"signed_at": "2026-02-01T10:29:58Z"
}
}Get started quickly with our official client libraries
import Baseflow from '@baseflow/sdk';
const client = new Baseflow('YOUR_API_KEY');
// Create a contract from template
const contract = await client.contracts.create({
template_id: 'tmpl_abc123',
name: 'Service Agreement - Acme Corp',
signers: [
{ email: '[email protected]', name: 'John Doe', role: 'client' },
{ email: '[email protected]', name: 'Jane Smith', role: 'provider' }
],
fields: {
client_name: 'Acme Corporation',
project_scope: 'Website redesign',
total_amount: 15000
}
});
// Send for signature
await client.contracts.send(contract.id);
console.log('Contract sent:', contract.id);API rate limits vary by plan
| Plan | Requests/Minute | Requests/Day |
|---|---|---|
| Starter | 60 | 10,000 |
| Professional | 120 | 50,000 |
| Business | 300 | 200,000 |
| Enterprise | Custom | Unlimited |
Get your API key and start integrating Baseflow into your application.