The Ply API uses API key authentication. Every request must include your API key in the API_KEY header.
API keys grant access to your business data. Treat them like passwords — never commit them to source control or expose them in client-side code.
API keys are scoped to limit what they can access. When creating a key, select only the scopes your integration needs. A key without the required scope for an endpoint will receive a 403 Insufficient Scope error.
Write scopes implicitly include read access for the same resource. A key with materials:write can also read materials.
API requests are rate-limited per business to ensure fair usage across all integrations.
All API keys belonging to the same business share a single rate limit pool. Creating multiple keys does not increase your limits.
Every response includes headers showing your current usage:
429 Too Many RequestsWhen you exceed the rate limit, the API returns:
The Retry-After header tells you how many seconds to wait before retrying:
Implement exponential backoff in your integration. Start with the Retry-After value, then double the wait time on consecutive 429s.
Use separate API keys for each environment. Sandbox keys do not work in production and vice versa.