API Reference

Build on KinCo

A REST API for managing shared wealth data programmatically. Authenticate with a bearer token or API key, subscribe to webhooks, and integrate KinCo into your stack.

Quick start

1

Get an API key

Generate a key from your account settings. Keys are prefixed kinco_ and shown once — store them securely.

2

Authenticate

Pass your key as a bearer token in every request: Authorization: Bearer kinco_…

3

Query your data

All endpoints live under https://api.kinco.io/api/v1. Responses follow a consistent JSON envelope.

Example request curl
curl https://api.kinco.io/api/v1/groups \
  -H "Authorization: Bearer kinco_your_key_here" \
  -H "Accept: application/json"
200 Response application/json
{
  "items": [
    {
      "id": "grp_01hx...",
      "name": "Dubai Villa Partnership",
      "base_currency": "AED",
      "created_at": "2024-09-01T10:00:00Z"
    }
  ],
  "total": 1,
  "limit": 50,
  "offset": 0
}

Endpoints

Base URL: https://api.kinco.io/api/v1

Groups

GET /api/v1/groups
POST /api/v1/groups
GET /api/v1/groups/{id}
PATCH /api/v1/groups/{id}
DELETE /api/v1/groups/{id}

Assets

GET /api/v1/groups/{id}/assets
POST /api/v1/groups/{id}/assets
GET /api/v1/groups/{id}/assets/{assetId}
PATCH /api/v1/groups/{id}/assets/{assetId}
DELETE /api/v1/groups/{id}/assets/{assetId}
GET /api/v1/groups/{id}/assets/{assetId}/detail

Valuations

GET /api/v1/groups/{id}/assets/{assetId}/valuations
POST /api/v1/groups/{id}/assets/{assetId}/valuations
PATCH /api/v1/groups/{id}/assets/{assetId}/valuations/{valId}
DELETE /api/v1/groups/{id}/assets/{assetId}/valuations/{valId}

Asset Transactions

GET /api/v1/groups/{id}/assets/{assetId}/transactions
POST /api/v1/groups/{id}/assets/{assetId}/transactions
PATCH /api/v1/groups/{id}/assets/{assetId}/transactions/{txId}
DELETE /api/v1/groups/{id}/assets/{assetId}/transactions/{txId}

Asset Exits

GET /api/v1/groups/{id}/exits
GET /api/v1/groups/{id}/assets/{assetId}/exit
POST /api/v1/groups/{id}/assets/{assetId}/exit
DELETE /api/v1/groups/{id}/assets/{assetId}/exit

Ledger

GET /api/v1/groups/{id}/ledger
GET /api/v1/groups/{id}/contributions
POST /api/v1/groups/{id}/contributions
PATCH /api/v1/groups/{id}/contributions/{contribId}
DELETE /api/v1/groups/{id}/contributions/{contribId}
GET /api/v1/groups/{id}/distributions
POST /api/v1/groups/{id}/distributions
PATCH /api/v1/groups/{id}/distributions/{distId}
DELETE /api/v1/groups/{id}/distributions/{distId}

Liabilities

GET /api/v1/groups/{id}/liabilities
POST /api/v1/groups/{id}/liabilities
GET /api/v1/groups/{id}/liabilities/{liabId}
PATCH /api/v1/groups/{id}/liabilities/{liabId}
DELETE /api/v1/groups/{id}/liabilities/{liabId}
POST /api/v1/groups/{id}/liabilities/{liabId}/payments
DELETE /api/v1/groups/{id}/liabilities/{liabId}/payments/{payId}

Metrics & Sheets

GET /api/v1/groups/{id}/metrics
GET /api/v1/groups/{id}/metrics/assets/{assetId}
GET /api/v1/groups/{id}/metrics/monthly

Ownership

GET /api/v1/groups/{id}/assets/{assetId}/ownership
PATCH /api/v1/groups/{id}/assets/{assetId}/ownership

Members & Invitations

GET /api/v1/groups/{id}/members
PATCH /api/v1/groups/{id}/members/{memberId}
DELETE /api/v1/groups/{id}/members/{memberId}
GET /api/v1/groups/{id}/invitations
POST /api/v1/groups/{id}/invitations
DELETE /api/v1/groups/{id}/invitations/{inviteId}
GET /api/v1/invitations/{token}
POST /api/v1/invitations/accept

Activity

GET /api/v1/groups/{id}/activity

Documents

GET /api/v1/groups/{id}/documents
POST /api/v1/groups/{id}/documents
DELETE /api/v1/groups/{id}/documents/{docId}

Webhooks

GET /api/v1/webhooks
POST /api/v1/webhooks
PATCH /api/v1/webhooks/{id}
DELETE /api/v1/webhooks/{id}
POST /api/v1/webhooks/{id}/test

API Keys

GET /api/v1/api-keys
POST /api/v1/api-keys
DELETE /api/v1/api-keys/{id}

User

GET /api/v1/users/me
PATCH /api/v1/users/me
GET /api/v1/users/me/invitations

Authentication

API Key

Best for server-to-server integrations. Generate keys in your account settings — each key has configurable scopes and rate limits.

Authorization: Bearer kinco_…

User JWT

Best for client-side apps acting on behalf of a signed-in user. Pass the Supabase session token in the same header.

Authorization: Bearer eyJ…

Role-based access

admin

Full write access — manage members, invitations, roles, and group settings.

editor

Create and update assets, valuations, contributions, distributions, and documents.

viewer

Read-only access to all group data.

Webhooks

Register HTTPS endpoints to receive real-time event notifications. Every delivery includes an X-KinCo-Signature header (HMAC-SHA256) so you can verify authenticity.

Available events

group.createdgroup.updatedgroup.deletedasset.createdasset.updatedasset.deletedvaluation.createdvaluation.updatedvaluation.deletedcontribution.createdcontribution.deleteddistribution.createddistribution.deletedmember.addedmember.removedmember.role_updateddocument.uploadeddocument.deleted

Pagination

All list endpoints return a consistent envelope. Use limit and offset query params to paginate.

{
  "items":  [...],
  "total":  142,
  "limit":  50,
  "offset": 0,
  "has_more": true
}

Rate limits

Developer
60 req / min
Growth
500 req / min
Scale
2,000 req / min
Enterprise
Custom

When a rate limit is exceeded the API returns 429 Too Many Requests with a Retry-After header.

Ready to integrate?

KinCo is in private beta. Join the waitlist to be among the first developers with API access.

Get Early API Access