Overview
Use the API to pull the same numbers you see in the app into your own dashboards, spreadsheets, or finance tooling — for example, to read the recommended order for a SKU, fetch your projected cash position, or run a candidate scenario. All requests and responses are JSON, and all traffic is over HTTPS.
Base URL & versioning
/v1). Breaking changes ship under a new version.
Time & moneyTimestamps are ISO 8601 (UTC). Monetary values are integer cents with a currency code.
Authentication
The API authenticates with a secret API key, issued from Settings → Developers in your dashboard. Send it as a Bearer token on every request. Keep keys server-side; never embed them in client code. Keys can be scoped (read-only or read-write) and rotated or revoked at any time.
Rate limits
X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset
Over limitReturns 429 Too Many Requests — retry after the reset window
Core endpoints
List the SKUs in your workspace with their current cover, lead time, and next order date.
Return the demand projection and recommended order quantity for a SKU, with expected cash impact at 30 / 60 / 90 / 180 days.
Return your projected cash position over a date range, with subscriber revenue and inventory commitments as components.
Evaluate a candidate order without committing it — pass an order size and get back the resulting cash curve, lowest point, and cover.
Webhooks
Subscribe to events to keep your systems in sync. We send a signed POST to your endpoint; verify the Cashlin-Signature header against your signing secret.
| Event | When it fires |
|---|---|
| decision.due | A SKU is approaching its next order date |
| forecast.updated | A SKU’s forecast or recommendation changes materially |
| cash.alert | Projected cash is set to fall below your configured floor |
Errors
The API uses conventional HTTP status codes and returns a JSON error body with a machine-readable code and human-readable message.
| Status | Meaning |
|---|---|
| 200 / 201 | Success |
| 400 | Invalid request — check parameters |
| 401 | Missing or invalid API key |
| 403 | Key lacks scope for this resource |
| 404 | Resource not found |
| 429 | Rate limit exceeded |
| 5xx | Something went wrong on our end |
Support
API keys, the full endpoint reference, and webhook settings live in your dashboard. For access or questions, email support@cashlin.io.