> ## Documentation Index
> Fetch the complete documentation index at: https://openphone-dev.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Make your first request

> Go from a fresh API key to a successful Quo API response in about two minutes.

The fastest way to understand an API is to get a `200` out of it. This page gets you there with the smallest possible request, listing the users in your workspace, and shows you how to read what comes back.

## Before you start

You need a Quo workspace and an API key. If you don't have a key yet, generating one takes a minute. See [Authentication](/2026-03-30/authentication), then come back.

## 1. Call the API

Every Quo API request needs exactly two headers: your API key in `Authorization` and the API version in `Quo-Api-Version`.

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.quo.com/users?limit=1 \
    --header "Authorization: YOUR_API_KEY" \
    --header "Quo-Api-Version: 2026-03-30"
  ```

  ```javascript Node.js theme={null}
  const response = await fetch("https://api.quo.com/users?limit=1", {
    headers: {
      Authorization: process.env.QUO_API_KEY,
      "Quo-Api-Version": "2026-03-30",
    },
  });

  const { data, nextCursor } = await response.json();
  console.log(data);
  ```

  ```python Python theme={null}
  import os
  import requests

  response = requests.get(
      "https://api.quo.com/users",
      params={"limit": 1},
      headers={
          "Authorization": os.environ["QUO_API_KEY"],
          "Quo-Api-Version": "2026-03-30",
      },
  )

  print(response.json()["data"])
  ```
</CodeGroup>

## 2. Read the response

```json theme={null}
{
  "data": [
    {
      "id": "USu3X8sIB9",
      "email": "renee@pinkswindows.com",
      "firstName": "Renee",
      "lastName": "Ortiz",
      "pictureUrl": null,
      "role": "owner",
      "createdAt": "2024-08-02T17:31:08Z",
      "updatedAt": "2026-05-19T09:12:45Z"
    }
  ],
  "nextCursor": null
}
```

Three conventions show up in this response and hold across the whole API:

* **`data` is the envelope.** Lists return an array. Single resources, like `GET /users/{userId}`, return an object. Either way, your payload is inside `data`.
* **`nextCursor` is how you page.** `null` means you've seen everything. A string means there's more; pass it back as `after` to get the next page. See [Making requests](/2026-03-30/requests#pagination).
* **`USu3X8sIB9` is an opaque id.** The `US` prefix tells you it's a user, which helps when reading logs. Treat the whole string as the identifier and never parse it.

## If it didn't work

The two most common first-request failures:

| You see                                        | What it means                                              | Fix                                                                                                       |
| ---------------------------------------------- | ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| `401 Unauthorized`                             | The `Authorization` header is missing or the key is wrong. | Send the header exactly as shown above, and confirm the key still exists in **Workspace Settings → API**. |
| `400 Bad Request` mentioning `quo-api-version` | The version header is missing or misspelled.               | Send `Quo-Api-Version: 2026-03-30` on every request. There is no default version.                         |

When a request fails, the error names the field at fault in `errors[].path`, and may include a `trace` id. If you're stuck and the response has a `trace`, send it to [support+developers@quo.com](mailto:support+developers@quo.com) and we can see your exact request. More in [Errors](/2026-03-30/errors).

## 3. Pick your next step

<CardGroup cols={2}>
  <Card title="Browse the endpoints" icon="square-terminal" href="/2026-03-30/introduction#whats-available-today">
    What's live in this version today, and what's landing next.
  </Card>

  <Card title="Learn the conventions" icon="arrow-right-arrow-left" href="/2026-03-30/requests">
    Envelopes, ids, timestamps, and pagination.
  </Card>

  <Card title="Hand it to an agent" icon="wand-magic-sparkles" href="/2026-03-30/ai-agents">
    Point Claude, ChatGPT, or your own agent at Quo.
  </Card>

  <Card title="Understand versioning" icon="calendar-check" href="/2026-03-30/versioning">
    Why that date header exists and what it guarantees you.
  </Card>
</CardGroup>
