# Bibliotekos importų sąrašas

> Jūsų importai per pastarąsias 90 dienų, naujausi pirmi.

Šaltinis: https://diko.app/api-docs/zinynas/list-library-imports

Importai · `GET /library/imports`

- **Bazinis URL:** https://api.diko.app/api/v1
- **Reikalingas leidimas:** `library:read`
- **Ribų politika:** `read`, `account`
- **Autentifikacija:** `Authorization: Bearer dk_live_...`

Filtruokite kartojamu parametru `status` (`status=queued&status=processing`). Puslapiuokite pagal `has_more` ir `next_cursor`.

## Parametrai

| Pavadinimas | Vieta | Tipas | Privalomas | Numatytoji reikšmė | Apribojimai | Aprašas |
|---|---|---|---|---|---|---|
| `status` | query | `array<string>` (kartojamas) | ne | – | – | Tik importai šiomis būsenomis: `queued`, `processing`, `canceling`, `succeeded`, `failed` arba `canceled`. Kartokite parametrą, kad atitiktų kelios. Galimos reikšmės: `queued`, `processing`, `canceling`, `succeeded`, `failed`, `canceled`. |
| `limit` | query | `integer` | ne | – | 1–100; format: int32 | Puslapio dydis nuo 1 iki 100. Numatytasis 20. Remkitės `has_more`, o ne puslapio dydžiu. |
| `cursor` | query | `string` | ne | – | ≤ 1024 simbolių | Neskaidrus žymeklis iš ankstesnio puslapio `next_cursor`. Žymekliai pririšti prie naudotojo, maršruto, rūšiavimo ir filtrų. |

## Atsakymas

### 200

Importų puslapis.

- `RateLimit`: Labiausiai ribojanti taikyta politika: `"pavadinimas";r=<liko užklausų>;t=<sekundės>`. `t` – sekundės iki kitos leidžiamos užklausos (0, kai talpa pilna). Nesiunčiama, kai užklausai ribotuvas netaikytas.
- `RateLimit-Policy`: Užklausai taikytos ribų politikos, po vieną elementą `"pavadinimas";q=<pradinė talpa>;w=<sekundės>` kiekvienai, pavyzdžiui, `"read";q=10;w=2, "account";q=20;w=2`: `q` – pradinė talpa, `w` – sekundės, per kurias tuščia talpa vėl prisipildo. Siunčiama su kiekvienu autentifikuotu atsakymu; nesiunčiama, kai užklausai ribotuvas netaikytas, pavyzdžiui, kai ji atmesta dar nepatikrinus rakto.
- `Request-Id`: Šios užklausos ID (priešdėlis `req_`), toks pat kaip `request_id` klaidos atsakyme. Siunčiamas ir kaip `X-Request-ID`. Kreipdamiesi pagalbos nurodykite jį.
- `X-Client-Request-Id`: Jūsų siųsta užklausos antraštė `X-Client-Request-Id`, grąžinta atgal. Grąžinama tik tada, kai jūsų reikšmė turi 1–128 simbolius iš A-Z a-z 0-9 . _ : -.
- `X-RateLimit-Limit`: Labiausiai ribojančios politikos pradinė talpa (`q` antraštėje `RateLimit-Policy`). Nesiunčiama, kai užklausai ribotuvas netaikytas.
- `X-RateLimit-Remaining`: Labiausiai ribojančioje politikoje likusios užklausos (`r` antraštėje `RateLimit`). Nesiunčiama, kai užklausai ribotuvas netaikytas.
- `X-RateLimit-Reset`: Sekundės iki kitos leidžiamos užklausos labiausiai ribojančioje politikoje (`t` antraštėje `RateLimit`; 0, kai talpa pilna). Tai sekundžių skaičius, o ne laiko žyma. Nesiunčiama, kai užklausai ribotuvas netaikytas.

Turinio tipas: `application/json`

- `object` (string, privalomas): Visada `list`.
- `data` (array<object>, privalomas): Šio puslapio elementai.
  - `id` (string, privalomas, 26–26 simbolių, pattern: ^imp_[0-9A-Za-z]{22}$): Viešas importo ID (priešdėlis `imp_`).
  - `object` (string, privalomas): Visada `library_import`.
  - `status` (string, privalomas): Importo būsena. Galimos reikšmės: `queued`, `processing`, `canceling`, `succeeded`, `failed`, `canceled`.
  - `stage` (string | null, privalomas): Dabartinis etapas; tik kai `processing`. Galimos reikšmės: `captions`, `waiting`, `downloading`, `transcribing`, `summarizing`.
  - `queue_position` (integer | null, privalomas, 1–2147483647, format: int32): Vieta tarp jūsų eilėje esančių importų (1 = kitas); `null`, kai importas nėra `queued`.
  - `url` (string, privalomas, format: uri): Kanoninis YouTube URL.
  - `youtube_video_id` (string, privalomas): YouTube vaizdo įrašo ID.
  - `language` (string | null, privalomas): Išsiųsta kalbos užuomina arba `null`. Galimos reikšmės: `lt`, `en`.
  - `reused` (boolean, privalomas): `true`, kai vaizdo įrašas jau buvo jūsų bibliotekoje arba bendroje Diko talpykloje, todėl kreditai nenaudoti.
  - `transcript_id` (string | null, privalomas, 6–64 simbolių, pattern: ^trn_[A-Za-z0-9_-]+$): Bibliotekos transkripcijos ID (priešdėlis `trn_`), kai importas `succeeded`; kitaip `null`.
  - `error` (object | null, privalomas): Klaidos duomenys, kai importas `failed`; kitaip `null`.
    - `code` (string, privalomas): Stabilus klaidos kodas. Nežinomi vidiniai kodai pateikiami kaip `internal_error`. Galimos reikšmės: `video_unavailable`, `video_private`, `age_restricted`, `video_too_long`, `video_duration_unknown`, `captions_unavailable`, `download_failed`, `transcription_failed`, `transcription_timeout`, `provider_limit`, `insufficient_credits`, `internal_error`.
    - `message` (string, privalomas): Paaiškinimas `Accept-Language` kalba.
  - `created_at` (string, privalomas, ≤ 24 simbolių, format: date-time): Kada importas sukurtas.
  - `updated_at` (string, privalomas, ≤ 24 simbolių, format: date-time): Kada importas paskutinį kartą pasikeitė.
  - `completed_at` (string | null, privalomas, ≤ 24 simbolių, format: date-time): Kada importas pasiekė galutinę būseną; kitaip `null`.
- `has_more` (boolean, privalomas): Ar yra daugiau elementų. Puslapiuokite, kol reikšmė yra `true`.
- `next_cursor` (string | null, privalomas, ≤ 1024 simbolių): Kito puslapio žymeklis arba `null`, kai `has_more` yra `false`.

```json
{
  "object": "list",
  "data": [
    {
      "id": "imp_6Mfj7Oxm4MfxGGmZRhiUQf",
      "object": "library_import",
      "status": "succeeded",
      "stage": null,
      "queue_position": null,
      "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
      "youtube_video_id": "dQw4w9WgXcQ",
      "language": null,
      "reused": true,
      "transcript_id": "trn_ZFF3NHc5V2dYY1E",
      "error": null,
      "created_at": "2026-10-11T09:30:00.000Z",
      "updated_at": "2026-10-11T09:30:00.400Z",
      "completed_at": "2026-10-11T09:30:00.400Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}
```

## Pavyzdžiai

**cURL**

```bash
curl "https://api.diko.app/api/v1/library/imports?status=queued&status=processing" \
  -H "Authorization: Bearer $DIKO_API_KEY"
```

**Python**

```python
import os

import requests

response = requests.get(
    "https://api.diko.app/api/v1/library/imports",
    headers={"Authorization": f"Bearer {os.environ['DIKO_API_KEY']}"},
    params={"status": ["queued", "processing"]},
    timeout=30,
)
response.raise_for_status()
print(response.json())
```

**TypeScript**

```typescript
const response = await fetch("https://api.diko.app/api/v1/library/imports?status=queued&status=processing", {
  headers: {
    Authorization: `Bearer ${process.env.DIKO_API_KEY}`,
  },
})
if (!response.ok) throw new Error(`${response.status} ${await response.text()}`)
console.log(await response.json())
```

## Klaidos

Šis endpointas gali grąžinti šias klaidas. Visų kodų aprašai yra klaidų kataloge.

| HTTP | Kodas | Reikšmė | Kartoti? |
|---|---|---|---|
| 400 | [`invalid_parameter`](https://diko.app/api-docs/klaidos.md#invalid_parameter) | Kelio, užklausos ar turinio parametro reikšmė netinkama, privalomo lauko trūksta arba laukas nežinomas (nežinomi laukai atmetami). Lauke `error.param` nurodytas parametras. | ne |
| 400 | [`invalid_cursor`](https://diko.app/api-docs/klaidos.md#invalid_cursor) | `cursor` sugadintas arba išduotas kitam naudotojui, maršrutui, rūšiavimui ar filtrams. | ne |
| 401 | [`missing_api_key`](https://diko.app/api-docs/klaidos.md#missing_api_key) | Užklausoje nėra antraštės `Authorization`. | ne |
| 401 | [`invalid_api_key`](https://diko.app/api-docs/klaidos.md#invalid_api_key) | Antraštė netinkama (ne `Bearer` schema, tuščias raktas arba kelios antraštės `Authorization`) arba raktas nežinomas ar blogo formato (neatitinka struktūros ar kontrolinės sumos). Atsakymas visais šiais atvejais vienodas. | ne |
| 401 | [`api_key_expired`](https://diko.app/api-docs/klaidos.md#api_key_expired) | Rakto galiojimas pasibaigė. | ne |
| 401 | [`api_key_revoked`](https://diko.app/api-docs/klaidos.md#api_key_revoked) | Raktas atšauktas: rankiniu būdu, pasibaigus rotacijos persidengimui, dėl nutekėjimo arba išjungus paskyrą. | ne |
| 401 | [`api_key_disabled`](https://diko.app/api-docs/klaidos.md#api_key_disabled) | Raktas laikinai išjungtas. | ne |
| 402 | [`subscription_required`](https://diko.app/api-docs/klaidos.md#subscription_required) | Paskyra neturi aktyvios apmokėtos prieigos. | ne |
| 403 | [`ip_not_allowed`](https://diko.app/api-docs/klaidos.md#ip_not_allowed) | Raktas turi IP apribojimą, o užklausos IP nėra sąraše arba jo nepavyksta nustatyti patikimai. | ne |
| 403 | [`account_disabled`](https://diko.app/api-docs/klaidos.md#account_disabled) | Paskyra išjungta. | ne |
| 403 | [`email_not_verified`](https://diko.app/api-docs/klaidos.md#email_not_verified) | Paskyros el. paštas nepatvirtintas. | ne |
| 403 | [`api_access_suspended`](https://diko.app/api-docs/klaidos.md#api_access_suspended) | Diko administratorius sustabdė šios paskyros API prieigą. | ne |
| 403 | [`plan_required`](https://diko.app/api-docs/klaidos.md#plan_required) | Planas neapima API. `error.details.required_plans` yra `verslas`. | ne |
| 403 | [`insufficient_scope`](https://diko.app/api-docs/klaidos.md#insufficient_scope) | Raktas neturi endpointui reikalingo leidimo. `error.details` turi `required_scopes` ir `granted_scopes`. | ne |
| 429 | [`rate_limit_exceeded`](https://diko.app/api-docs/klaidos.md#rate_limit_exceeded) | Viršyta ribų politika. `error.details.policy` nurodo, kuri. | taip, po Retry-After |
| 500 | [`internal_error`](https://diko.app/api-docs/klaidos.md#internal_error) | Vidinė serverio klaida. | sąlygiškai |
| 503 | [`service_unavailable`](https://diko.app/api-docs/klaidos.md#service_unavailable) | Paslauga laikinai užimta, pavyzdžiui, dėl duomenų bazės apkrovos. | taip, po Retry-After |
