# Postman and Other API Clients

Every published Envoke API is described in an OpenAPI 3.1 file on this site. Postman, Insomnia, Bruno, and most other API clients can import that file by its URL and turn it into a ready-made set of requests. Because the file is generated from this documentation, a fresh import always matches it. There is no separately maintained Postman collection to download.

---

## The OpenAPI Files

| File | Contents |
|---|---|
| `https://developers.envoke.com/openapi.json` | Every published API in one file |
| `https://developers.envoke.com/v1/contacts/openapi.json` | One API only. Each API has its own file at its section's address followed by `openapi.json`, for example `/v2/tags/openapi.json` or `/v1/send/openapi.json` |

Import the merged file to explore everything, or a single API's file for a smaller collection with only the requests you need.

---

## Import into Postman

1. In Postman, choose **Import**.
2. Paste `https://developers.envoke.com/openapi.json`, or a single API's file, into the import box.
3. When Postman asks how to import it, choose to import it as a **Postman Collection**, then confirm.

Postman creates a collection named **Envoke API** holding every endpoint in the file, arranged in folders. Each request carries its method, path, and an example request body taken from the documentation.

---

## Add Your Credentials

Every request uses HTTP Basic Auth with your API ID and API Key (see [Authentication](https://developers.envoke.com/guides/authentication/)). Set them once on the collection, and every request in it uses them:

1. Open the collection and choose its **Authorization** tab.
2. Set **Auth Type** to **Basic Auth**.
3. Enter your API ID as the **Username** and your API Key as the **Password**, then save.

Requests in the collection inherit this setting. If a request has its own Authorization setting, set it to **Inherit auth from parent**.

Your API Key gives full API access to your account. Do not share a collection or workspace that has your key saved in it; Postman can store it as a secret variable or in its vault instead.

---

## The Server Address

All requests go to `https://e1.envoke.com`. Postman takes this from the file and usually stores it in a collection variable (shown in request URLs as `{{baseUrl}}`). If a request's URL starts with a variable that has no value, set it to `https://e1.envoke.com` on the collection's **Variables** tab.

---

## Try a Request

Find the request that lists tags (`GET /v2/tags`) and send it. A `200` response with a JSON array confirms that your credentials work. Requests that create, change, or delete data act on your real account, so try them on test data first.

---

## Keep It Current

An imported collection is a copy: it does not change when the documentation does. To pick up new endpoints or fields, import the file again and delete the old collection. Copy your credentials into the new collection first, or set them again afterwards.

---

## Other Clients and Tools

- **Insomnia, Bruno, Hoppscotch, and similar clients** import the same OpenAPI files; look for an import option that accepts a URL or an OpenAPI file.
- **Code generators and AI coding tools** can read the OpenAPI files directly. For AI tools, `https://developers.envoke.com/llms.txt` indexes every page and `https://developers.envoke.com/llms-full.txt` holds the full documentation as plain text.
- **curl.** Every endpoint page has curl examples you can run as they are after setting `API_ID` and `API_KEY` (see [Make a Request](https://developers.envoke.com/guides/authentication/#make-a-request)).

---
