# Gauti dabartinį raktą ir paskyrą

> Grąžina užklausai naudotą raktą, už jo esančią paskyrą, ar paskyra gali naudoti API, kreditų likutį, ribas ir tai, kaip užklausa buvo matoma.

Šaltinis: https://diko.app/api-docs/zinynas/get-me

Paskyra · `GET /me`

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

Veikia su bet kuriuo galiojančiu raktu, net jei planas neapima API, todėl tai tinkamiausia užklausa prieigos problemoms diagnozuoti. Paskyros el. paštas visada paslepiamas, o kreditų likutis grąžinamas tik tada, kai raktas turi leidimą `library:write` (kitu atveju jis yra `null`). Turi savo ribą: viena užklausa per sekundę (pradinė talpa, angl. burst, – penkios užklausos).

## Atsakymas

### 200

Raktas, paskyra ir jos ribos.

- `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 `me`.
- `api_key` (object, privalomas): Šiai užklausai naudotas raktas.
  - `id` (string, privalomas, 26–26 simbolių, pattern: ^key_[0-9A-Za-z]{22}$): Viešas rakto ID (priešdėlis `key_`).
  - `object` (string, privalomas): Visada `api_key`.
  - `name` (string, privalomas): Raktui suteiktas pavadinimas.
  - `description` (string, privalomas): Neprivalomas aprašas; tuščia eilutė, kai nenustatytas.
  - `hint` (string, privalomas): Neslapta užuomina: priešdėlis ir pirmi bei paskutiniai keturi atsitiktinės dalies simboliai.
  - `scopes` (array<string>, privalomas): Raktui suteikti leidimai. Galimos reikšmės: `meetings:read`, `library:read`, `library:write`.
  - `status` (string, privalomas): Gyvavimo ciklo būsena. `expired` išvedama iš `expires_at`. Galimos reikšmės: `active`, `disabled`, `revoked`, `expired`.
  - `allowed_cidrs` (array<string>, privalomas): IP sąrašas CIDR forma. Tuščias sąrašas leidžia bet kurį adresą.
  - `created_at` (string, privalomas, ≤ 24 simbolių, format: date-time): Kada raktas sukurtas.
  - `expires_at` (string, privalomas, ≤ 24 simbolių, format: date-time): Kada raktas nustoja veikti. Kiekvienas raktas turi galiojimą; daugiausia 365 dienos.
  - `last_used_at` (string | null, privalomas, ≤ 24 simbolių, format: date-time): Paskutinis panaudojimas, rašomas ne dažniau kaip kas 5 min. `null`, jei niekada nenaudotas.
  - `last_used_ip` (string | null, privalomas): Paskutinio panaudojimo IP. Saugomas tik tada, kai adresą pavyko nustatyti patikimai.
  - `first_used_at` (string | null, privalomas, ≤ 24 simbolių, format: date-time): Pirmas panaudojimas. `null`, jei niekada nenaudotas.
  - `disabled_at` (string | null, privalomas, ≤ 24 simbolių, format: date-time): Kada raktas išjungtas, jei jis išjungtas.
  - `revoked_at` (string | null, privalomas, ≤ 24 simbolių, format: date-time): Kada raktas atšauktas, jei jis atšauktas.
  - `revoked_reason` (string | null, privalomas): Kodėl raktas atšauktas: `user` (atšaukėte jūs), `rotated` (pasibaigė rotacijos persidengimas), `admin` (atšaukė komandos administratorius), `owner` (atšaukė komandos savininkas), `user_disabled` (paskyra išjungta), `leaked` (aptiktas nutekėjimas), `dormant` (nenaudotas metus), `revoke_all` (veiksmas „Atšaukti visus“). Galimos reikšmės: `user`, `rotated`, `admin`, `owner`, `user_disabled`, `leaked`, `dormant`, `revoke_all`.
  - `rotated_from` (string | null, privalomas, 26–26 simbolių, pattern: ^key_[0-9A-Za-z]{22}$): Rakto, kurį šis raktas pakeitė rotacijos metu, ID.
  - `grace_until` (string | null, privalomas, ≤ 24 simbolių, format: date-time): Iki kada ankstesnis raktas veikia po rotacijos.
- `user` (object, privalomas): Raktą valdanti paskyra.
  - `id` (string, privalomas, 26–26 simbolių, pattern: ^usr_[0-9A-Za-z]{22}$): Viešas naudotojo ID (priešdėlis `usr_`).
  - `object` (string, privalomas): Visada `user`.
  - `email` (string, privalomas): Paskyros el. pašto adresas, paslėptas (pavyzdžiui, `j***@example.com`). Pilnas adresas API raktui niekada negrąžinamas.
  - `display_name` (string | null, privalomas): Rodomas vardas, jei nustatytas.
- `access` (object, privalomas): Ar paskyra gali naudoti API.
  - `allowed` (boolean, privalomas): `true`, kai API užklausos leidžiamos. `GET /me` veikia ir tada, kai reikšmė `false`.
  - `reason` (string, privalomas): Kodėl prieiga suteikta arba nesuteikta. Galimos reikšmės: `subscription`, `team`, `owner`, `exempt`, `paywall_off`, `subscription_required`, `plan_required`.
  - `plan` (string | null, privalomas): Paskyros plano tipas arba `null`. Galimos reikšmės: `asmeninis`, `pro`, `verslas`.
- `credits` (object | null, privalomas): Kreditų likutis. `null`, nebent raktas turi leidimą `library:write` – vienintelį, kuris naudoja kreditus.
  - `scope` (string | null, privalomas): Kieno tai likutis: asmeninis ar bendras komandos kreditų fondas. `null`, kai nepavyko nuskaityti. Galimos reikšmės: `user`, `organization`.
  - `available` (string | null, privalomas): Turimi kreditai dešimtaine eilute, pavyzdžiui, `"123.5000"`. `null`, kai nepavyko nuskaityti.
  - `as_of` (string | null, privalomas, ≤ 24 simbolių, format: date-time): Kada likutis nuskaitytas. Jis talpinamas 30 s kiekvienam naudotojui. `null`, kai nepavyko nuskaityti.
- `limits` (object, privalomas): Taikomos ribos.
  - `rate` (object, privalomas): Ribų politikos.
    - `read` (object, privalomas): Politika `read`, vienam API raktui.
      - `burst` (integer, privalomas, 0–2147483647, format: int32): Pradinė talpa (burst): kiek užklausų galima išsiųsti iš karto.
      - `per_second` (integer | null, neprivalomas, 0–2147483647, format: int32): Papildymas žetonais per sekundę, kai politika pildoma per sekundę.
      - `per_minute` (integer | null, neprivalomas, 0–2147483647, format: int32): Papildymas žetonais per minutę, kai politika pildoma per minutę.
    - `write` (object, privalomas): Politika `write`, vienam API raktui.
      - `burst` (integer, privalomas, 0–2147483647, format: int32): Pradinė talpa (burst): kiek užklausų galima išsiųsti iš karto.
      - `per_second` (integer | null, neprivalomas, 0–2147483647, format: int32): Papildymas žetonais per sekundę, kai politika pildoma per sekundę.
      - `per_minute` (integer | null, neprivalomas, 0–2147483647, format: int32): Papildymas žetonais per minutę, kai politika pildoma per minutę.
    - `imports` (object, privalomas): Politika `imports`, vienam API raktui.
      - `burst` (integer, privalomas, 0–2147483647, format: int32): Pradinė talpa (burst): kiek užklausų galima išsiųsti iš karto.
      - `per_second` (integer | null, neprivalomas, 0–2147483647, format: int32): Papildymas žetonais per sekundę, kai politika pildoma per sekundę.
      - `per_minute` (integer | null, neprivalomas, 0–2147483647, format: int32): Papildymas žetonais per minutę, kai politika pildoma per minutę.
    - `account` (object, privalomas): Politika `account`, bendra visiems mokėtojo raktams ir nariams: komandos plane – mokančiai komandai, kitu atveju – naudotojui.
      - `burst` (integer, privalomas, 0–2147483647, format: int32): Pradinė talpa (burst): kiek užklausų galima išsiųsti iš karto.
      - `per_second` (integer | null, neprivalomas, 0–2147483647, format: int32): Papildymas žetonais per sekundę, kai politika pildoma per sekundę.
      - `per_minute` (integer | null, neprivalomas, 0–2147483647, format: int32): Papildymas žetonais per minutę, kai politika pildoma per minutę.
    - `me` (object, privalomas): Politika `me`, vienam API raktui; taikoma tik `GET /me`.
      - `burst` (integer, privalomas, 0–2147483647, format: int32): Pradinė talpa (burst): kiek užklausų galima išsiųsti iš karto.
      - `per_second` (integer | null, neprivalomas, 0–2147483647, format: int32): Papildymas žetonais per sekundę, kai politika pildoma per sekundę.
      - `per_minute` (integer | null, neprivalomas, 0–2147483647, format: int32): Papildymas žetonais per minutę, kai politika pildoma per minutę.
    - `export` (object, privalomas): Politika `export`, bendra visiems mokėtojo raktams ir nariams (komandos plane – mokančiai komandai, kitu atveju – naudotojui); taikoma transkriptams su `format=text`, `srt` ar `vtt`.
      - `burst` (integer, privalomas, 0–2147483647, format: int32): Pradinė talpa (burst): kiek užklausų galima išsiųsti iš karto.
      - `per_second` (integer | null, neprivalomas, 0–2147483647, format: int32): Papildymas žetonais per sekundę, kai politika pildoma per sekundę.
      - `per_minute` (integer | null, neprivalomas, 0–2147483647, format: int32): Papildymas žetonais per minutę, kai politika pildoma per minutę.
  - `max_active_imports` (integer, privalomas, 0–2147483647, format: int32): Daugiausia vienu metu aktyvių naudotojo importų.
  - `max_daily_imports` (integer, privalomas, 0–2147483647, format: int32): Daugiausia importų, kuriuos naudotojas gali sukurti per parą.
- `request` (object, privalomas): Kaip ši užklausa buvo matoma.
  - `ip` (string | null, privalomas): Kliento IP, kaip jį mato Diko, arba `null`, kai patikimai nustatyti nepavyksta.
  - `ip_trusted` (boolean, privalomas): Ar IP gautas iš patikimos tarpinių serverių grandinės. IP sąrašams reikia patikimo IP.

```json
{
  "object": "me",
  "api_key": {
    "id": "key_4Vf9771zpS8JcQdtUcR0u8",
    "object": "api_key",
    "name": "CRM sync",
    "description": "",
    "hint": "dk_live_Ab12…9xYz",
    "scopes": [
      "meetings:read",
      "library:write"
    ],
    "status": "active",
    "allowed_cidrs": [],
    "created_at": "2026-10-11T09:00:00.000Z",
    "expires_at": "2027-01-09T09:00:00.000Z",
    "last_used_at": null,
    "last_used_ip": null,
    "first_used_at": null,
    "disabled_at": null,
    "revoked_at": null,
    "revoked_reason": null,
    "rotated_from": null,
    "grace_until": null
  },
  "user": {
    "id": "usr_4iAD1dYhdAEJIkMN5GPczR",
    "object": "user",
    "email": "j***@example.com",
    "display_name": "Jonas"
  },
  "access": {
    "allowed": true,
    "reason": "subscription",
    "plan": "pro"
  },
  "credits": {
    "scope": "user",
    "available": "123.5000",
    "as_of": "2026-10-11T09:30:00.000Z"
  },
  "limits": {
    "rate": {
      "read": {
        "burst": 10,
        "per_second": 5
      },
      "write": {
        "burst": 5,
        "per_second": 1
      },
      "imports": {
        "burst": 5,
        "per_minute": 30
      },
      "account": {
        "burst": 20,
        "per_second": 10
      },
      "me": {
        "burst": 5,
        "per_second": 1
      },
      "export": {
        "burst": 10,
        "per_second": 1
      }
    },
    "max_active_imports": 10,
    "max_daily_imports": 500
  },
  "request": {
    "ip": null,
    "ip_trusted": false
  }
}
```

## Pavyzdžiai

**cURL**

```bash
curl "https://api.diko.app/api/v1/me" \
  -H "Authorization: Bearer $DIKO_API_KEY"
```

**Python**

```python
import os

import requests

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

**TypeScript**

```typescript
const response = await fetch("https://api.diko.app/api/v1/me", {
  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? |
|---|---|---|---|
| 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 |
| 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 |
| 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 |
