> ## Documentation Index
> Fetch the complete documentation index at: https://docs.holydocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ErrorSet

Structured container for documented API errors with meaning, common causes, and retry guidance.

**Interactive playground** For isolated previews, theme switching, and sandbox editing, open [the ErrorSet playground on holydocs.com](https://holydocs.com/components/error-set).

## When to use

Use this component when endpoint documentation needs explicit request, response, schema, or lifecycle metadata.

## Live Examples

Every example below renders the real component directly inside HolyDocs, followed by the exact MDX you can paste into a page.

### Authentication Errors

Grouped 401 and 429 responses.

**Common authentication failures**

**Unauthorized**

The request could not be authenticated, so no resource-specific validation was attempted.
  **Rate limit exceeded**

Your client sent more authenticated requests than the current bucket allows in the active time window.

~~~mdx
<ErrorSet title="Common authentication failures">
  <StatusCode
    code="401"
    title="Unauthorized"
    causes="Missing bearer token | Expired access token | Token signed for another project"
    retry="Refresh the token or generate a new project-scoped key before retrying."
    retryable={false}
  >
    The request could not be authenticated, so no resource-specific validation was attempted.
  </StatusCode>
  <StatusCode
    code="429"
    title="Rate limit exceeded"
    causes="Burst of parallel requests | Replayed webhook deliveries"
    retry="Back off using the Retry-After header and replay the request once capacity is available."
    retryable
  >
    Your client sent more authenticated requests than the current bucket allows in the active time window.
  </StatusCode>
</ErrorSet>
~~~

## Props

| Prop | Type | Default | Description |
| --- | --- | --- | --- |
| `title` | `string` | `--` | Optional section title for the grouped errors. |

## Usage

Start from this baseline shape and then tailor the copy, data, or nesting to the page you are writing.

~~~mdx
<ErrorSet title="Common authentication failures">
  <StatusCode
    code="401"
    title="Unauthorized"
    causes="Missing bearer token | Expired access token | Token signed for another project"
    retry="Refresh the token or generate a new project-scoped key before retrying."
    retryable={false}
  >
    The request could not be authenticated, so no resource-specific validation was attempted.
  </StatusCode>
  <StatusCode
    code="429"
    title="Rate limit exceeded"
    causes="Burst of parallel requests | Replayed webhook deliveries"
    retry="Back off using the Retry-After header and replay the request once capacity is available."
    retryable
  >
    Your client sent more authenticated requests than the current bucket allows in the active time window.
  </StatusCode>
</ErrorSet>
~~~

## Tips

- Keep naming and ordering consistent across fields, examples, and lifecycle notes so readers do not have to re-parse the endpoint surface on every page.
- Document the happy path and the sharp edges together. Request shape alone is not enough without auth, errors, and retry guidance.
- If a component renders into the right panel, verify the page on desktop width so you can confirm the supporting example is visible where readers expect it.

## Related Components

**[ParamField](/components/param-field)**

Documents a request parameter — path, query, or body — with type, requirement status, and description.
**[ResponseField](/components/response-field)**

Documents a field in an API response body with its name, type, and description.
**[Expandable](/components/expandable)**

Collapsible section for nested API fields, keeping complex response shapes readable.

## More

- Interactive playground: [ErrorSet on holydocs.com](https://holydocs.com/components/error-set)
- Component library index: [/components](/components)