# Overview

> What you can do with the public Diko API and where to start.

Source: https://diko.app/en/api-docs/overview

## What the Diko API is

The Diko API lets your systems read meetings and the transcript library (YouTube videos and uploaded files), import YouTube videos and learn about changes without anyone clicking in the app. It is a REST API: JSON responses, standard HTTP statuses and authentication with a `Bearer` key.

- **Base URL:** `https://api.diko.app/api/v1`
- **Access:** the Verslas plan. You create a key yourself in the Diko app, under **Nustatymai → API** (Settings → API, `/settings/api`).
- **Version:** `v1`. The compatibility promises are on [Versioning and compatibility](https://diko.app/en/api-docs/versioning.md).

> **Note:**
> An API key cannot create keys. You create, change and revoke keys and webhooks only while signed in in the browser. That way a leaked key cannot set up a permanent data-leak channel for itself.

> **Tip:**
> The Diko app is in Lithuanian. Where these docs name a button or a setting, the label you will see in the app comes first, with its English meaning in brackets, for example **Sukurti raktą** (Create key).

## What you can do

| Area | What you get | Scope |
|---|---|---|
| Meetings | Metadata, transcript (JSON, text, SRT, VTT), minutes, action items | `meetings:read` |
| Library | Transcripts of YouTube videos and uploaded files (`source_type`: `youtube` or `upload`), segments, summaries, chapters | `library:read` |
| Imports | Import YouTube videos into the library (asynchronous, with idempotency) | `library:write` |
| Events | Webhooks and the event stream `GET /events`, so you never have to poll for status | the scopes you hold |

The full endpoint list is in the [API reference](https://diko.app/en/api-docs/reference.md).

## Core principles

- **A key belongs to a user** and sees only what that user sees: their own meetings and their own library (YouTube videos and uploaded files). Teams do not share data, so v1 has no team-level keys.
- **Another account's or a non-existent resource always returns 404**, never 403, so existence is never revealed.
- **JSON, `snake_case`.** Times are RFC 3339 UTC with milliseconds (`2026-10-11T09:30:00.000Z`). Durations are integers in fields ending in `*_ms`. Credits are decimal strings (`"123.5000"`).
- **Every resource has an `object` field.** Null fields are always present. Clients must ignore unknown fields, enum values and event types.
- **Every response has a `Request-Id`** (`req_...`). Quote it when you contact support.

### Public ID prefixes

IDs are opaque and at most 64 characters long. Do not try to parse or build them.

| Prefix | Resource |
|---|---|
| `usr_` | user |
| `key_` | API key |
| `mtg_` | meeting |
| `prt_` | participant |
| `spk_` | speaker |
| `act_` | action item |
| `trn_` | library transcript |
| `imp_` | import |
| `evt_` | event |
| `whe_` | webhook endpoint |
| `whd_` | webhook delivery |

## Where to start

1. [Quickstart](https://diko.app/en/api-docs/quickstart.md): a key, a first read of your own data, an import of a YouTube video and reading its transcript in a few minutes.
2. [Authentication and keys](https://diko.app/en/api-docs/authentication.md): how keys work and their lifecycle.
3. [Scopes](https://diko.app/en/api-docs/scopes.md): which scope to choose.
4. [Errors](https://diko.app/en/api-docs/errors.md), [Rate limits](https://diko.app/en/api-docs/rate-limits.md), [Pagination](https://diko.app/en/api-docs/pagination.md) and [Idempotency](https://diko.app/en/api-docs/idempotency.md): how to write a reliable client.
5. [Events and webhooks](https://diko.app/en/api-docs/webhooks.md): how to get notified about changes.

## What v1 does not do

- It does not write to meetings: no comment or action-item creation, and minutes cannot be regenerated.
- It does not change shared transcript state or use the platform LLM budget, so there are no translations.
- It has no `dk_test_` sandbox: a key always works against real data.
- Webhooks and keys are managed only in the Diko app, not through the API.

## For machines and agents

The documentation is written for people and programs:

- every page has a clean Markdown version, for example `/en/api-docs/errors.md`;
- the content index is [`/en/api-docs/llms.txt`](https://diko.app/en/api-docs/llms.txt);
- the whole API description (OpenAPI 3.1) is [`/en/api-docs/openapi.json`](https://diko.app/en/api-docs/openapi.json).
