<!-- Generated from the canonical Teloring documentation source. Do not edit this file. -->

Canonical page: https://docs.teloring.com/api/guide-postman
Last modified: 2026-08-20T20:49:57.000Z

# Postman collection

Every endpoint in this API, in one importable collection — with the token dance
already wired up.

<a
  className="button button--primary button--lg"
  href="/teloring-api.postman_collection.json"
  download="teloring-api.postman_collection.json">
  Download the collection
</a>

Direct link, if you prefer to import by URL:

```
https://docs.teloring.com/teloring-api.postman_collection.json
```

## Setting it up

**1. Import.** In Postman: **Import → File** (or **Link**, pasting the URL
above). You get a collection called *Teloring API v1.0.0* with one folder per
feature area.

**2. Fill in two variables.** Open the collection, go to the **Variables** tab,
and paste the `client_id` and `client_secret` from **Settings → API** into the
*Current value* column.

| Variable | Set it to |
| --- | --- |
| `base_url` | Already set to `https://api.teloring.com/v1` |
| `client_id` | Your client id, `tlc_…` |
| `client_secret` | Your client secret, `tls_…` |
| `access_token` | Leave empty — step 3 fills it in |

:::tip Use *Current value*, not *Initial value*
Postman shares *Initial value* when you share a collection. Secrets belong in
*Current value*, which stays on your machine.
:::

**3. Get a token.** Run **Authentication → Get an access token** and press
**Send**. Its test script writes the token into the `access_token` variable, and
the collection console logs the scopes it came back with.

**4. Send anything.** Every other request inherits bearer auth from the
collection, so it just works. Tokens last an hour — when requests start
answering `401`, run step 3 again.

## Finding your way around

The folders match the sidebar of this reference, so an endpoint you read about
here is where you would expect it in Postman.

- **Path parameters** are Postman variables: a request to
  `/conversations/:conversation_id` shows a *Path Variables* table under the URL.
  Fill in the value there.
- **Query parameters** are pre-listed and **disabled**. Tick the ones you want —
  a fresh request sends none of them, which is the sensible default.
- **Request bodies** are pre-filled from this reference's examples, so nothing is
  an empty box. Edit them in place.
- **Descriptions** come from the same source as these pages, so the documentation
  travels with the request.

## A first run, end to end

Try these five in order. It is the shortest path from "imported" to "sent a
message".

1. **Authentication → Get an access token** — the token lands in the variable.
2. **Authentication → Inspect the current token** — confirms the account and the
   scopes you actually hold.
3. **Conversations → List inboxes** — note an `id` from the response.
4. **Conversations → Create a conversation** — put that inbox id in `inbox_id`
   and a real phone number in `contact.phone`.
5. **Messages → Send a message** — put the new conversation's id in the
   `conversation_id` path variable.

## Keeping it current

The collection is **generated from the OpenAPI specification behind this
reference**, on every docs build. It cannot describe an endpoint differently
from these pages, and it cannot fall behind when endpoints are added.

Re-download it after a Teloring release to pick up new endpoints. Postman's
**Import → Link** keeps the URL, so a re-import is one click.

## Using the raw specification instead

Prefer to generate a client, or import into Insomnia, Bruno, or an API gateway?
The OpenAPI 3.1 document is the same source:

```
https://docs.teloring.com/api/openapi.yaml
```

It works with the usual generators — for example:

```bash
openapi-generator-cli generate \
  -i https://docs.teloring.com/api/openapi.yaml \
  -g python \
  -o ./teloring-client
```
