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

# OpenAPI & Postman

> OpenAPI specs and Postman collections for the Reply API.

## OpenAPI

The complete Reply API specification is available in OpenAPI 3.1 format.

Use it to:

* Generate client libraries
* Explore the API structure
* Import the API into tools such as Postman

## OpenAPI Spec

<Card title="View OpenAPI Spec" icon="file-code" href="typeof window !== 'undefined' && window.location.hostname !== 'docs.reply.io' ? '/api-reference/bundled.txt' : '/api-reference/bundled.yaml'" target="_blank">
  Open the complete OpenAPI specification (YAML)
</Card>

<button
  type="button"
  onClick={async () => {
const isProd = window.location.hostname === "docs.reply.io";
const apiBase = isProd ? "https://api.reply.io" : "https://api.dev.reply.io";
const specUrl = isProd ? "/api-reference/bundled.yaml" : "/api-reference/bundled.txt";
try {
const res = await fetch(specUrl);
if (!res.ok) throw new Error();
let text = await res.text();
text = text.replace(
  /url: https:\/\/api\.reply\.io/,
  `url: ${apiBase}`
);
const blob = new Blob([text], { type: "application/x-yaml" });
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = "reply-api-v3-openapi.yaml";
document.body.appendChild(a);
a.click();
a.remove();
URL.revokeObjectURL(url);
} catch {
window.open(specUrl, "_blank");
}
}}
  style={{
display: "inline-flex",
alignItems: "center",
gap: "0.5rem",
border: "1px solid var(--border, rgba(255,255,255,0.16))",
borderRadius: "0.5rem",
padding: "0.625rem 0.875rem",
background: "var(--background, transparent)",
color: "var(--foreground, inherit)",
cursor: "pointer",
fontWeight: 600,
}}
>
  Download OpenAPI Spec (YAML)
</button>

## Postman

Import the Reply API collection into Postman to explore and test the API.

### What's included

The collection includes:

* All Reply API endpoints, including Sequences, Contacts, Email Accounts, Templates, and more
* An environment template with preconfigured variables
* Bearer token authentication already set up

## Setup

<Steps>
  <Step title="Get your API key">
    1. Sign in to [Reply.io account](https://run.reply.io)
    2. Go to **Settings → API Key**.
    3. Create a new API key or copy an existing one.
  </Step>

  <Step title="Import the collection">
    1. Open Postman.
    2. Click **Import**.
    3. Select **Link** and paste the collection URL.
    4. Click **Import**.
  </Step>

  <Step title="Configure your environment">
    Create a Postman environment with the following variables:

    | Variable  | Description           | Example                                      |
    | --------- | --------------------- | -------------------------------------------- |
    | `baseUrl` | API base URL          | [https://api.reply.io](https://api.reply.io) |
    | `apiKey`  | Your Reply.io API key | `************`                               |
  </Step>

  <Step title="Set authentication">
    Include your API key as a Bearer token:

    ```text theme={null}
    Authorization: Bearer {{apiKey}}
    ```
  </Step>
</Steps>

## Test your setup

Send a request to:

```bash theme={null}
GET https://api.reply.io/v3/whoami
Authorization: Bearer your_api_key_here
```

If authentication succeeds, the API returns information about the authenticated user.
