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

# Overview

> Explore the Oviond REST API. Authenticate with a Bearer token, manage reports, integrations, automations, and access public shared report data.

The Oviond REST API lets you programmatically manage your agency's reports, clients, integrations, and automations. All requests are made over HTTPS to `https://api.oviond.com`.

## Base URL

```
https://api.oviond.com
```

## Authentication

All API requests (except public endpoints) require a Bearer token in the `Authorization` header:

```bash theme={null}
Authorization: Bearer YOUR_API_KEY
```

Generate an API key from **Settings → API Keys** in the Oviond app. See [Authentication](/authentication) for full details.

## Request format

* Send JSON bodies with `Content-Type: application/json`
* All responses are JSON
* Timestamps use ISO 8601 format

## HTTP status codes

| Code  | Meaning                                       |
| ----- | --------------------------------------------- |
| `200` | Success                                       |
| `201` | Created                                       |
| `204` | No content (successful delete)                |
| `400` | Bad request — check your request body         |
| `401` | Unauthorized — missing or invalid API key     |
| `403` | Forbidden — insufficient permissions          |
| `404` | Not found                                     |
| `422` | Validation error                              |
| `429` | Too many requests — you've hit the rate limit |
| `500` | Server error                                  |

Every response uses one consistent JSON envelope. See [Errors & request IDs](/api/concepts/errors) for the full shape.

## Rate limiting

Programmatic API and MCP traffic is rate-limited **per account** — the web app is never limited. By default that's 300 requests per minute per surface; a `429 Too Many Requests` response includes a `Retry-After` header. See [Rate limits & retries](/api/concepts/rate-limits) for the headers and safe-retry guidance.

## Concepts

<CardGroup cols={2}>
  <Card title="Querying data" icon="chart-line" href="/api/concepts/querying-data">
    Pull live metric values from connected data sources.
  </Card>

  <Card title="Authentication" icon="key" href="/authentication">
    Bearer tokens, API keys, and auth errors.
  </Card>

  <Card title="Errors & request IDs" icon="triangle-exclamation" href="/api/concepts/errors">
    The response envelope, status codes, and request IDs.
  </Card>

  <Card title="Pagination, filtering & sorting" icon="list" href="/api/concepts/pagination">
    Page through, search, filter, and sort list results.
  </Card>

  <Card title="Rate limits & retries" icon="gauge-high" href="/api/concepts/rate-limits">
    Limits, headers, and how to retry safely.
  </Card>

  <Card title="Versioning & stability" icon="code-branch" href="/api/concepts/versioning">
    What changes are additive vs breaking.
  </Card>

  <Card title="Security & data access" icon="shield-halved" href="/security">
    Auth model, tenant isolation, and key handling.
  </Card>
</CardGroup>
