API Documentation
Integrate Captable with your existing systems using our comprehensive RESTful API. Automate cap table management, sync stakeholder data, and build custom applications.
Quick Start
Get started with the Captable API in minutes. Our REST API provides programmatic access to your cap table data with industry-standard authentication and rate limiting.
API Overview
REST API
- RESTful endpoints with JSON responses
- HTTPS encryption for all requests
- Standard HTTP status codes
- Consistent error response format
- Pagination for large datasets
Base URL
https://api.captable.com/v1
All API endpoints are relative to this base URL. Requests must be made over HTTPS.
Authentication
API Keys
Authenticate API requests using API keys. Generate and manage your API keys from the Developer settings in your dashboard.
Include your API key in the Authorization header:
Authorization: Bearer your_api_key_here
Production Keys
- • Full access to live company data
- • Higher rate limits
- • Audit logging enabled
Sandbox Keys
- • Test environment access
- • Safe for development
- • No effect on live data
Rate Limiting
API requests are rate limited to ensure service stability and fair usage.
Default Limits
- Free:100 requests/hour
- Professional:1,000 requests/hour
- Enterprise:10,000 requests/hour
Rate Limit Headers
Available Endpoints
Companies
Manage company information and settings
/companies
/companies/{id}
/companies/{id}
Stakeholders
Manage stakeholder information and relationships
/stakeholders
/stakeholders
/stakeholders/{id}
/stakeholders/{id}
/stakeholders/{id}
Shares
Manage share issuances and transactions
/shares
/shares
/shares/{id}
/shares/{id}
/shares/{id}
Code Examples
Create a New Stakeholder
cURL
curl -X POST "https://api.captable.com/v1/stakeholders" \ -H "Authorization: Bearer your_api_key" \ -H "Content-Type: application/json" \ -d '{ "name": "John Doe", "email": "john@example.com", "stakeholderType": "INDIVIDUAL", "currentRelationship": "EMPLOYEE" }'
JavaScript
const response = await fetch('https://api.captable.com/v1/stakeholders', { method: 'POST', headers: { 'Authorization': 'Bearer your_api_key', 'Content-Type': 'application/json' }, body: JSON.stringify({ name: 'John Doe', email: 'john@example.com', stakeholderType: 'INDIVIDUAL', currentRelationship: 'EMPLOYEE' }) }); const stakeholder = await response.json();
Python
import requests url = "https://api.captable.com/v1/stakeholders" headers = { "Authorization": "Bearer your_api_key", "Content-Type": "application/json" } data = { "name": "John Doe", "email": "john@example.com", "stakeholderType": "INDIVIDUAL", "currentRelationship": "EMPLOYEE" } response = requests.post(url, headers=headers, json=data) stakeholder = response.json()
Error Handling
HTTP Status Codes
Success Codes
200
- OK201
- Created204
- No Content
Error Codes
400
- Bad Request401
- Unauthorized403
- Forbidden404
- Not Found429
- Too Many Requests500
- Internal Server Error
Error Response Format
{ "error": { "code": "VALIDATION_ERROR", "message": "Invalid email address format", "details": { "field": "email", "value": "invalid-email" } } }
SDKs and Tools
Official SDKs
Coming soon! We're working on official SDKs for popular programming languages.
- JavaScript/TypeScriptIn Development
- PythonPlanned
- GoPlanned
- RubyPlanned
Developer Tools
Postman Collection
Import our API collection for testing
OpenAPI Spec
Download OpenAPI/Swagger specification
Webhook Validator
Verify webhook signatures
API Support
Need help integrating with our API? Our developer support team is here to help you build amazing integrations.