Skip to content
Collect API

API reference

A REST API to create and read your clients and invoices programmatically — for imports, integrations, and your own tooling. Predictable resource URLs, JSON request and response bodies, and standard HTTP status codes.

Base URL#

All requests go to your Collect domain under the versioned API prefix:

https://kurepay.com/api/v1

Every endpoint is authenticated with an API key and scoped to the workspace that key belongs to — there is no workspace id in the URL.

API access is enabled per workspace. If your calls return 403 forbidden, ask an owner to turn it on, then create a key under Settings → API keys.

Quickstart#

Create a key in Settings → API keys, then create your first client:

Create a client
curl https://kurepay.com/api/v1/clients \
  -H "Authorization: Bearer ak_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Co",
    "email": "ar@acme.com",
    "emailConsent": true
  }'

A successful create returns the new resource with a generated id:

{
  "object": "client",
  "id": "66f1a2b3c4d5e6f7a8b9c0d1",
  "name": "Acme Co",
  "email": "ar@acme.com",
  "usageType": "consumer",
  "status": "active",
  "emailConsent": true,
  "createdAt": "2026-06-09T17:04:21.000Z"
}

Conventions#

  • Requests and responses are JSON. Send Content-Type: application/json on writes.
  • Field names are camelCase. Ids are opaque strings — don't parse them.
  • Money is always an integer number of cents (e.g. 1250 = $12.50). There are no floats.
  • Timestamps are ISO-8601 UTC strings (e.g. 2026-06-09T17:04:21.000Z).
  • Unknown request fields are ignored, so adding fields later won't break you. See versioning.

Lists & pagination#

List endpoints are cursor-paginated, newest first. Pass limit (1–100, default 25) and startingAfter (the id of the last item from the previous page) to walk older results. Each response is a list envelope:

{
  "object": "list",
  "data": [ /* … */ ],
  "hasMore": true
}

When hasMore is true, request the next page with startingAfterset to the last item's id.

Next#