Status codes
Every error returns the same JSON envelope: an
error object with a type, a
machine-readable code, a human-readable message, and (on validation errors)
the offending param.
Retries and backoff
Retry429 and 5xx responses with exponential backoff. Do not retry
4xx other than 429 — fix the request instead.
Rate limits
Limits apply per workspace to keep the platform stable. If you exceed them you get a429; slow down and retry with backoff.
For sustained high-volume workloads (large batch pipelines), keep concurrency
bounded and space out your calls. If you expect to run well beyond normal usage,
contact support@phylo.bio so we can make sure your
workspace is provisioned for it.
Key lifecycle errors
401right after creating a key — confirm you copied the full API key (it’s shown only once) and sent it asAuthorization: Bearer <your-api-key>.401on a previously working key — it may have been revoked or expired. Create a new key and update your integration.
