---
title: Callouts
description: Callout and its nine fixed-intent shorthands.
---

Ten of the catalog's 37 components are callouts: one general component and nine
shorthands that are the same component with `intent` fixed.

## `Callout`

<ParamField name="intent" type='"info" | "warning" | "success" | "error" | "note" | "launch" | "tip" | "check"' required>
  Which callout style to render.
</ParamField>

<ParamField name="title" type="string">
  Optional heading above the body.
</ParamField>

<ParamField name="icon" type="icon">
  Overrides the icon the intent would otherwise select.
</ParamField>

Children: rich content — paragraphs, lists, code, other components.

```mdx
<Callout intent="warning" title="Rate limits">
  This endpoint allows 100 requests per minute per key.
</Callout>
```

## The nine shorthands

`Note`, `Tip`, `Info`, `Check`, `Success`, `Warning`, `Danger`, `Error` and `Launch` each
render a `Callout` with `intent` already set. They take `title` and `icon`, never
`intent` — the name *is* the intent.

```mdx
<Note>Reed never modifies your OpenAPI spec on disk.</Note>

<Warning title="Breaking change">
  `api.openapi` was replaced by `api.specs` and is not dual-accepted.
</Warning>
```

Use the shorthand when the intent is fixed and the general form when it comes from a
variable or you want the intent visible at the call site. They render identically —
picking one is a readability decision, not a functional one.

## Choosing an intent

| Intent | For |
|---|---|
| `note` | Neutral aside the reader can skip |
| `info` | Context that helps but is not required |
| `tip` | A better way to do what they are already doing |
| `check` / `success` | Confirmation that something worked |
| `warning` | Something that will bite later |
| `error` / `danger` | Something that breaks now, or destroys data |
| `launch` | New capability |

Reserve `warning` and above for real consequences. A page where everything is a warning
reads as a page with no warnings.
