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

# Build with Brew

> Choose the Brew CLI, TypeScript SDK, REST API, or MCP server, then follow the right quickstart to create an email and test it in your inbox.

Use the interface that fits where you work. All four act on the same Brew brands, email designs, contacts, and sends.

## Choose Your Interface

| Interface | Best for | Start here |
| - | - | - |
| **CLI** | Terminal work, shell scripts, CI, and agents that run commands. | [CLI Quickstart](/api-reference/cli/quickstart) |
| **TypeScript SDK** | Node applications and TypeScript agents. | [TypeScript Quickstart](/sdks/typescript/quickstart) |
| **REST API** | Other languages and direct HTTP requests. | [Send Your First Email from Code](/api-reference/guides/send-your-first-email-from-code) |
| **MCP** | Assistants that connect to remote MCP tools. | [MCP Quickstart](/api-reference/mcp/quickstart) |

Finish [adding your brand](/get-started/add-your-brand) first. Each quickstart generates a design and sends a test to your own inbox.

Generation uses [credits](/api-reference/api/credits). A test with Brew's default sender needs no audience or verified domain.

## Designs, Sends, and Automations

* **Email design:** reusable content. Keep its `emailId` and, to pin a version, `emailVersionId`. Creating it sends nothing.
* **Send:** one production delivery job, identified by `sendId`. Read it for status and engagement statistics.
* **Automation:** a graph that sends designs when a trigger fires or a manual audience run starts.

A test returns its recipient and completed status without creating a production send row.
The [Data Model](/api-reference/api/data-model) maps the remaining entities.

## Authentication and Retries

| Interface | Credential | Brand for an organization credential | Retry key |
| - | - | - | - |
| REST API | Bearer API key | `X-Brand-Id` header | `Idempotency-Key` header |
| TypeScript SDK | Client `apiKey` | Client `brandId` or `withBrand(brandId)` | Request option `idempotencyKey` |
| CLI | `brew-cli login` or `BREW_API_KEY` | `--brand` or `BREW_BRAND_ID` | `--idempotency-key` |
| MCP | OAuth or API key | Tool argument `brand_id` | Tool argument `idempotency_key` |

A brand credential resolves its own brand. An organization credential has no default brand.

Retry keys apply only to writes whose command or schema supports them.
See [API Authentication](/api-reference/api/authentication), [MCP Authentication](/api-reference/mcp/authentication-and-scoping), and [Idempotency](/api-reference/api/idempotency).

HTTP and SDK calls execute authorized writes directly. The CLI gates destructive commands; `--yes` confirms an authorized action.

MCP uses confirmation requests on OAuth and organization connections. Brand API-key connections execute directly.

Production marketing sends need a verified marketing domain and recipients who opted in.
Event-driven delivery, including receipts and password resets, uses a published automation and its trigger.
See [Emails and Automations](/create-emails/emails-vs-automations) and [What You Can Send](/get-started/what-you-can-send).

## References

* [CLI Commands](/api-reference/cli/commands), [SDK Resources](/sdks/typescript/resources), and [MCP Tools](/api-reference/mcp/tools) describe each interface.
* [Public API v1](/api-reference/public-v1/contacts/get-contacts) owns HTTP request and response schemas.
* [API Contracts](/api-reference/api/api-introduction#cross-cutting-rules) owns shared errors, permissions, pagination, and limits.
* [v1 Migration](/api-reference/api/v1-migration) maps older routes and response shapes.

## Need Help?

Our team is ready to support you at every step of your journey with Brew. Choose the option that works best for you:

<Tabs>
  <Tab title="Self-Service Tools">
    <CardGroup cols="2">
      <Card title="Search Documentation" icon="magnifying-glass" color="#c44925">
        Type in the "Ask any question" search bar at the top left to instantly find relevant documentation pages.
      </Card>

      <Card title="ChatGPT/Claude Integration" icon="robot" color="#c44925">
        Click "Open in ChatGPT" at the top right of any page to explore it further with ChatGPT or Claude.
      </Card>
    </CardGroup>
  </Tab>

  <Tab title="Talk to Our Team">
    <CardGroup cols="2">
      <Card title="Schedule a Call" icon="calendar" color="#c44925" href="https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ1iYoRUG1J792XQpbuQLjSRRDupr7MwraFK-HQRCtTYdBmrQi8nZu2qXfzKQigb8gbKJK3KN3-R">
        Book time with our founders for personalized guidance on strategy, best practices, or complex implementation questions.
      </Card>

      <Card title="Call Us Directly" icon="phone" color="#c44925">
        Need immediate assistance? Reach us at **+1-(332)-203-2145** for urgent issues or time-sensitive questions.
      </Card>

      <Card title="Slack Channel" icon="slack" color="#c44925">
        Our preferred support channel. You'll receive an invite after signup for direct founder support and fast responses.
      </Card>

      <Card title="Email Support" icon="envelope" color="#c44925" href="mailto:support@brew.new">
        Contact us at **[support@brew.new](mailto:support@brew.new)** for detailed inquiries or if you prefer not to use Slack.
      </Card>
    </CardGroup>
  </Tab>
</Tabs>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.