CapableDocs

Search the API docs

Find an endpoint or guide

Get an API key

Get startedAuthentication

Get started

Authentication

Every request carries an API key in the Authorization header. A key belongs to one company and can do only what its scopes allow.

API keys

Create a key in Capable under Settings → Integrations → New key, give it a name you will recognise later, such as “Rippling sync”, and tick its scopes. Open Integrations

  • Owners, admins and members with read/write access can create keys. Only an admin can revoke one.
  • A key starts with cap_ and is shown once. Capable stores only a hash of it, so a lost key cannot be recovered; create a new one.
  • The key decides the company. To work with two companies, create a key in each.
  • A key acts for the person who created it. It stops working as soon as they leave the company or move to a role without write access (Read only, HR admin or Billing admin), and Integrations marks it Inactive. Create a new key from an account that still has access.
  • Integrations lists each key with its scopes and when it was last used.
A key is a password to your cap table. Keep it on your server or in a secret manager, never in a browser, a mobile app or a git repository.

Sending the key

Send the key as a bearer token on every request.

Terminal
curl https://capable.so/api/v1/stakeholders \
  -H "Authorization: Bearer $CAPABLE_API_KEY"

A missing, mistyped or revoked key gets 401:

401 Unauthorized
{
  "error": {
    "message": "Invalid or missing API key. Use: Authorization: Bearer cap_…"
  }
}

Scopes

Give each key the fewest scopes it needs. A request outside the key’s scopes gets 403 with the missing scope named.

ScopeAllows
captable:readGET /company, GET /cap-table and GET /ocf
stakeholders:readGET /stakeholders and GET /stakeholders/{id}
stakeholders:writePOST /stakeholders
securities:readGET /securities, GET /securities/{id} and GET /transactions
securities:writePOST /securities
documents:readGET /documents

Revoking a key

In Settings → Integrations, an admin chooses the bin icon next to the key. Requests with it stop working at once. Every key’s creation and revocation is recorded in the company’s activity log.

Plans and billing

The API is included on both the Startup and Growth plans at no extra cost, and works in full during the 14-day free trial. See pricing

Every request checks the company’s billing first, with the same rules as the app. When a company has no active plan in good standing, because its trial ended without one, a payment has failed for more than 21 days, or its subscription is paused or has ended, every request returns 402 until an owner sorts out billing on the Billing page. While a failed payment is being retried in its first 21 days, the API keeps working. Exports in the app stay open as the Terms describe.