SankeyKit logo SankeyKit Docs

Errors

Every error status, body and fix.

StatuserrorWhenWhat to do
401invalid_api_keyKey missing, malformed, unknown, or revokedCheck the key — all four cases return the same response by design, so they can't be used to probe which keys exist
403api_not_includedAccount's plan has no API access (Free)Upgrade at the included upgrade_url
429quota_exceededMonthly render quota used upWait until resets_at (or the Retry-After header), or upgrade
500—Unexpected server errorRetry with backoff

#400 — validation error

Thrown when the JSON body doesn't match the request schema

{ "message": "Too small: expected array to have >=1 items" }

#401 — invalid API key

{ "error": "invalid_api_key" }

Returned identically whether the Authorization header is missing, malformed, references a key that was never issued, or references a key that's since been revoked.

#403 — plan doesn't include API access

Returned when a plan (i.e the free plan) does not have API access.

{
	"error": "api_not_included",
	"message": "API access requires a paid plan",
	"upgrade_url": "https://sankeykit.com/account/billing"
}

#429 — quota exceeded

Returned when the API limit has been exceed for that period.

{
	"error": "quota_exceeded",
	"message": "Monthly API token quota exceeded.",
	"used": 1000,
	"quota": 1000,
	"resets_at": "2026-11-01T00:00:00.000Z"
}

Also sent with a Retry-After header (seconds until resets_at) and the usual X-RateLimit-* headers. See Limits.

#500 — server error

No guaranteed body shape — treat any 5xx as transient and retry with backoff.