Get started
Capable REST API
Base URL
Every request goes to this address over HTTPS, and every response is JSON.
https://capable.so/api/v1Quickstart
- 1
Create an API key
In Capable, open Settings → Integrations and choose New key. Pick the scopes the integration needs; read scopes are ticked by default. The key starts with
cap_and is shown once, so copy it into your secret store. Open Integrations - 2
Make your first request
Ask for the company’s totals. The key decides which company you read, so there is no company id in the URL.
curl https://capable.so/api/v1/company \ -H "Authorization: Bearer $CAPABLE_API_KEY" - 3
Read the response
200 OK{ "companyId": "org_northwind8k2", "asOf": "2026-11-05", "totals": { "outstandingShares": 9500000, "options": 1015000, "availablePool": 985000, "fullyDiluted": 11500000, "safePrincipal": 1250000 } }The full response has ten totals. See Get company totals.
Where to go next
Authentication
Create a key, choose its scopes, and keep it secret.
Webhooks
Get a signed POST when a grant, exercise or import happens.
Get the cap table
Fully diluted ownership on any date, in one call.
AI connector
Let Claude and ChatGPT read the cap table and propose changes.
Endpoints
11 endpoints cover the cap table, the people on it, every security, the ledger, the data room index and a full OCF export.
Stakeholders
Securities
Records
API or AI connector
Use the API for systems: an HRIS sync, a finance model, an internal portal. Its writes take effect without a second approval, because an admin chose the key’s scopes. Use the AI connector for people working in Claude or ChatGPT: it reads the cap table as the signed-in person, and every change it proposes waits for an admin to approve it.
OpenAPI
The whole API is described in an OpenAPI 3.1 file you can import into Postman, Insomnia or a code generator.
openapi.json