---
title: "API overview"
description: "The Lookio REST API at api.lookio.app/v1 lets you add resources, manage assistants and ask questions from your own code, with JSON, scopes and safe retries."
canonical: "https://lookio.app/docs/api/overview"
updated: "2026-11-03"
---

# API overview

The REST API does everything the app does: add resources, build assistants, ask questions and manage the workspace. The CLI and MCP tools are built on the same service layer, so a rule enforced in the app is enforced here too.

## Base URL

```text
https://api.lookio.app/v1
```

> **Note**

Every endpoint lives under `/v1`. Responses are JSON, except a [streamed answer](/docs/api/streaming), which is a server-sent event stream.

## Start with `GET /v1/account`

[`GET /v1/account`](/docs/api/account/get-account) tells you which workspace a credential belongs to and which scopes it holds. Call it first: it verifies the credential and shows what you can do before you try.

```bash
curl https://api.lookio.app/v1/account \
  -H "Authorization: Bearer $LOOKIO_API_KEY"
```

## What the API covers

| Area              | What you do                                                                                                         | Reference                                                                       |
| ----------------- | ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| Account and usage | Read the workspace, the credit balance and the usage over time.                                                     | [Get account](/docs/api/account/get-account)                                    |
| Resources         | Add texts, files, web pages and sites, read their status, re-index and delete them.                                 | [List resources](/docs/api/resources/list-resources)                            |
| Sites             | Preview a site and tune the rules of an imported one.                                                               | [Preview a site](/docs/api/sites/preview-site)                                  |
| Tags              | List, rename and delete tags.                                                                                       | [List tags](/docs/api/tags/list-tags)                                           |
| Assistants        | Create, change and delete assistants, and ask them questions.                                                       | [Ask an assistant](/docs/api/assistants/query-assistant)                        |
| Conversations     | Continue a conversation, list, read, rename and delete yours, and forward your users' thumbs on an answer.          | [List conversations](/docs/api/conversations/list-conversations)                |
| Logs              | Read the workspace's four logs: what people asked, every answer and its cost, every indexing, and who changed what. | [List the workspace's conversation logs](/docs/api/logs/list-log-conversations) |
| Widgets           | Put an assistant on a website, and read what visitors asked.                                                        | [List widgets](/docs/api/widgets/list-widgets)                                  |
| Members           | List members and change their permissions.                                                                          | [List members](/docs/api/members/list-members)                                  |
| Feedback          | Tell Lookio what did not work as expected.                                                                          | [Submit feedback](/docs/api/feedback/submit-feedback)                           |

## The rules in short

- **JSON in, JSON out**, with `snake_case` field names. See [Conventions](/docs/api/conventions).
- **Bearer authentication** with an API key or an OAuth token. See [Authentication](/docs/api/authentication).
- **Only asking a question spends credits.** The `query` scope gates it.
- **Every POST accepts an `Idempotency-Key`**, so a retried request is not run twice.
- **One error format** with stable codes. See [Errors](/docs/api/errors).
- **Rate limits** per credential. See [Rate limits](/docs/api/rate-limits).

## The machine-readable description

The API is described by an OpenAPI 3.1 document. It is the source of every request and response shape in this reference.

- On this site: [`/docs/openapi.json`](/docs/openapi.json).
- Served by the API itself: `https://api.lookio.app/openapi.json`.
- For AI agents: `https://api.lookio.app/llms.txt` and [`/docs/llms.txt`](/docs/llms.txt).

Where a guide and the reference disagree, the reference wins.

## Other ways in

- The [CLI](/docs/cli/overview) wraps this API for terminals and CI.
- The [MCP server](/docs/mcp/overview) lets AI clients call it as tools.
- A TypeScript SDK wraps this API: see [SDK](/docs/sdk/overview).
