> ## 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="/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 published = "https://docs.reply.io/api-reference/bundled.yaml";
const paths = ["/api-reference/bundled.yaml", "/api-reference/bundled.txt"];
for (const path of paths) {
let res = null;
try {
  res = await fetch(path);
} catch (err) {
  res = null;
}
if (!res || !res.ok) {
  continue;
}
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);
return;
}
window.open(published, "_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 into Postman to explore and test it.

### What's included

Importing the OpenAPI spec gives you:

* Every Reply API endpoint, grouped by tag — Sequences, Contacts, Email Accounts, Templates, and more
* Request and response schemas for each operation
* A `baseUrl` collection variable, taken from the spec
* Collection-level Bearer authentication, ready for your API key

## 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**, then select **Link**.
    3. Paste the OpenAPI spec URL below, then click **Continue** and **Import**.

    ```text theme={null}
    https://docs.reply.io/api-reference/bundled.yaml
    ```

    Postman builds a collection from the spec.
  </Step>

  <Step title="Configure your environment">
    The import sets `baseUrl` from the spec. Add your API key as an environment variable:

    | Variable | Description           | Example        |
    | -------- | --------------------- | -------------- |
    | `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.
