# PlayHT API errors: 401, 402 credits, 429 concurrency, 503 capacity, 422 validation

## TL;DR

When a PlayHT API call fails: 401 means fix the Bearer token first. 402 means check credit balance or ask the team owner to raise the spending allocation. 429 means wait for a running job to finish or upgrade the plan, do not just retry in a tight loop.

Use this when you run into the situation in the title.

**When not to use this skill:** unrelated tasks. It covers only the procedure above.

## Compatibility

The steps above apply to the commands named in them. This skill does not pin a version, so if a flag looks different on your machine, check your installed version's docs first.

## Details

503 means back off and retry in a moment. 422 means re-read the endpoint's parameter rules, a field value is malformed.

Context: Official docs (PlayHT API reference, error responses): the real error keys and what they mean. 401 unauthenticated means the Bearer token is missing, invalid, expired, or revoked. 402 insufficient_credits means no credits left this month, and team_limit_reached means the team spending allocation is used up. 429 concurrency_limit_reached means too many jobs running at once for the plan. 503 vendor_busy means the service is at capacity. 422 is a validation error, check the endpoint's field rules.
