Common situations and what they mean, for the support team:
- “My key stopped working” (
401) — the key may be revoked, disabled, suspended (unpaid overage invoice), or mistyped; the company’s API subscription may have lapsed; or the integration is exceeding 100 requests/minute on that key. Check Settings → API Keys for the key’s status badge and the subscription state, then check request volume. 400with a message about snake_case — the caller sentsnake_casefield or query names; the API accepts camelCase only.400“Unsupported parameter” — the caller sent a field or query parameter the endpoint does not recognize; nothing is silently ignored.400“must be a valid UUID” — the ID in the path, query or body is not a well-formed UUID (for example, an internal numeric ID copied from a URL).404on an ID that exists — the resource belongs to a different company than the API key, or it has been soft-deleted (inactive clients and properties are not returned).422on job operations — the job is in a state that forbids the operation (editing or scheduling aDonejob, scheduling outside the job’s date range or without a technician, unscheduling a completed instance, reopening a job that isn’tDone).429— the shared service throttle was hit; retry with exponential back-off.- “Generate New Key is greyed out” — either the company has no active API subscription (purchase the API Access module) or it already holds 3 keys (revoke one first).
- “Can I create invoices / visits / routes via the API?” — not in v1; those resources are read-only. Create them in the web app.
- “Is the API included in my plan?” — no. It is a paid add-on ($295 activation + $99/month including 100,000 calls) on every plan, including Free.
- “Where are the full docs?” — https://developers.poolservice.software.