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

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200

Available Endpoints

Companies

Manage company information and settings

GET/companies
List all companies
GET/companies/{id}
Get company details
PUT/companies/{id}
Update company information

Stakeholders

Manage stakeholder information and relationships

GET/stakeholders
List all stakeholders
POST/stakeholders
Create new stakeholder
GET/stakeholders/{id}
Get stakeholder details
PUT/stakeholders/{id}
Update stakeholder
DELETE/stakeholders/{id}
Delete stakeholder

Shares

Manage share issuances and transactions

GET/shares
List all share records
POST/shares
Issue new shares
GET/shares/{id}
Get share details
PUT/shares/{id}
Update share record
DELETE/shares/{id}
Cancel share issuance

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 - OK
  • 201 - Created
  • 204 - No Content

Error Codes

  • 400 - Bad Request
  • 401 - Unauthorized
  • 403 - Forbidden
  • 404 - Not Found
  • 429 - Too Many Requests
  • 500 - 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.

Get Help