Resources

API Documentation

Documentation

API Documentation

Complete reference for integrating Karsilo data into your own applications. The API is available on Growth and Pro plans.

Authentication

All API requests require a Bearer token in the Authorization header. You can generate API keys from your Karsilo dashboard under Settings → API Keys. Keep your keys secure and never expose them in client-side code.

curl -H "Authorization: Bearer sk_live_your_api_key_here" \
  https://api.karsilo.com/v1/customers

Rate Limits

The API enforces rate limits to ensure fair usage. You are allowed 60 requests per minute and 1,000 requests per hour. When rate limited, the API returns a 429 status code with a Retry-After header indicating how many seconds to wait.

HTTP/1.1 429 Too Many Requests
Retry-After: 42
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0

Response Format

All endpoints return a consistent JSON envelope. Data is keyed by connection ID so you can easily identify which Stripe account each record belongs to. The hasMore object indicates whether additional pages are available for each connection.

{
  "data": {
    "conn_abc123": [ ...items ]
  },
  "hasMore": {
    "conn_abc123": true
  },
  "meta": {
    "connections": [
      { "id": "conn_abc123", "stripeAccountId": "acct_..." }
    ]
  }
}

Pagination

Use the starting_after query parameter to paginate through results. Pass the ID of the last item from the previous page. Each page returns up to 100 items. Continue fetching until hasMore is false for all connections.

GET /v1/customers?starting_after=cus_last_id_from_previous_page

Filtering

Use the accountId parameter to fetch data from a specific Stripe connection. Use from and to parameters (Unix timestamps in seconds) to filter by date range on supported endpoints like payments, revenue, and refunds.

GET /v1/payments?accountId=conn_abc123&from=1704067200&to=1706745600

Endpoints Reference

GET

/v1/accounts

List all connected Stripe accounts for your organisation.

GET

/v1/customers

Retrieve customers across all connected Stripe accounts.

accountId

starting_after

GET

/v1/payments

Fetch payment charges with optional date filtering.

accountId

starting_after

from

to

GET

/v1/products

List products and their associated prices.

accountId

starting_after

GET

/v1/subscriptions

Retrieve active and past subscriptions.

accountId

starting_after

GET

/v1/invoices

List invoices across your connected accounts.

accountId

starting_after

GET

/v1/revenue

Get balance and balance transaction data.

accountId

starting_after

from

to

GET

/v1/refunds

List refunds with optional date range filtering.

accountId

starting_after

from

to

GET

/v1/reports

Retrieve generated Stripe report runs.

accountId

starting_after

Related Resources

Need help with the API?

Our engineering team is happy to help with integration questions. Reach out anytime.