# quota_exceeded

> A plan limit has been reached. The request goes beyond a limit of your plan, such as the number of services on a trial or the size of a service on Hobby.

**A plan limit has been reached.** The request goes beyond a limit of your plan, such as the number of services on a trial or the size of a service on Hobby.

- **HTTP status:** `403 Forbidden`
- **CLI exit code:** `5` (quota or spend cap)
- **Retry:** not as it is; the same request will fail the same way until the cause is fixed

## How to fix it

Your {plan} plan allows {limit}; upgrade the plan or remove unused {resource_type}s.

Words in `{braces}` are filled in from the error response, which names the exact resource.

## What the response looks like

```json
{
  "type": "https://guv.dev/errors/quota_exceeded",
  "title": "A plan limit has been reached",
  "status": 403,
  "code": "quota_exceeded",
  "detail": "The request goes beyond a limit of your plan, such as the number of services on a trial or the size of a service on Hobby.",
  "fix": "Your {plan} plan allows {limit}; upgrade the plan or remove unused {resource_type}s.",
  "docs_url": "https://guv.dev/errors/quota_exceeded",
  "request_id": "req_01jbx2m9k7q4r8t5v6w3y0z1rq"
}
```

The `code` field is stable: match on it, not on `title` or `detail`, which may be reworded.
