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

# Benchmark Email API

> Manage contacts, campaigns, reports, and domains programmatically.

The Benchmark Email API lets you manage contacts, campaigns, reports, and domains programmatically. Use it to build custom integrations, automate workflows with tools like Zapier or n8n, or sync data between Benchmark Email and your other systems.

## Quick start

### 1. Create an API key

1. Log in to Benchmark Email as an account owner.
2. Go to **Settings > API Keys**.
3. Click **Create API Key**.
4. Give it a name (e.g., "My Integration") and select the permissions you need.
5. Copy the key immediately -- it will only be shown once.

### 2. Copy your base URL

Your base URL depends on the region and cluster your account is provisioned in. It looks like this:

`https://api-{region}-{cluster}.benchmarkemail.io`

For example: `https://api-us-west-2-a.benchmarkemail.io`

Find your base URL in **Account Settings > API Keys** and use it wherever you see `<your-api-base-url>` in the examples on this site.

### 3. Make your first request

Copy your API base URL from **Account Settings > API Keys** and use it in place of `<your-api-base-url>`:

```bash theme={null}
curl -H "X-API-Key: bme_your-api-key-here" \
  "<your-api-base-url>/api/contact-structure"
```

You should receive a JSON response with your contact structure, including your custom field definitions. If you get a `401` or `403` error, see the [errors guide](/errors) for troubleshooting.

## API reference

| Document                          | Description                                                     |
| --------------------------------- | --------------------------------------------------------------- |
| [Authentication](/authentication) | How to authenticate requests, scopes, and account requirements  |
| [Rate Limits](/rate-limits)       | Hourly rate limits, monthly quotas, and response headers        |
| [Errors](/errors)                 | Error response format, status codes, and common error scenarios |
| [API Reference](/api-reference)   | Browse the full OpenAPI specification                           |

## Available resources

| Resource  | Scopes                              | What You Can Do                                                                                       |
| --------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------- |
| Contacts  | `contacts:read`, `contacts:write`   | Create, read, update, delete contacts; manage lists; update custom fields; search and export contacts |
| Campaigns | `campaigns:read`, `campaigns:write` | Create, read, update, delete, and duplicate email campaigns; browse templates                         |
| Reports   | `reports:read`                      | View dashboard summaries and email performance reports                                                |
| Domains   | `domains:read`                      | View email sending domains                                                                            |

## Scenario guides

For step-by-step walkthroughs of common workflows, see the [scenario guides](/scenarios/manage-contacts).

## Building with an AI assistant?

If you're using an AI coding assistant, give it these resources before you start:

* [llms.txt](https://developers.benchmarkemail.io/llms.txt): sitemap-style index of every documentation page
* [llms-full.txt](https://developers.benchmarkemail.io/llms-full.txt): full text of every documentation page in one file
* [SKILL.md](https://developers.benchmarkemail.io/.well-known/skills/benchmarkinternetgroup/SKILL.md): agent-specific playbook with endpoints, decision guidance, and common pitfalls

Here's a prompt you can give your AI assistant:

```
You're helping me integrate with the Benchmark Email API. Before writing any code, read https://developers.benchmarkemail.io/.well-known/skills/benchmarkinternetgroup/SKILL.md for the most useful starting context. Then read the relevant scenario guide at https://developers.benchmarkemail.io/scenarios/[scenario-name].
```

## Need more help?

Visit the Benchmark Email [Help Center](https://benchmarkemail.helpscoutdocs.com/) for guides, FAQs, and live chat support.
