// dokumentácia · rest api

REST API referencia.

Malé, predvídateľné JSON API nad vašimi stretnutiami. Vypíšte ich, načítajte jedno s jeho prepisom a výstupmi, hľadajte naprieč všetkými hovormi a položte otázku k jednému stretnutiu. Autentifikácia cez bearer token, JSON na vstupe aj výstupe.

Základná URL

https://api.notabium.com/v1

Každá cesta nižšie je relatívna k tejto základnej URL. Všetky odpovede sú application/json.

Autentifikácia

Autentifikujte sa pomocou Notabium API kľúča, vytvoreného v aplikácii na stránke API keys. Pošlite ho ako bearer token pri každej požiadavke:

Authorization: Bearer ntb_live_...

Požiadavka bez kľúča alebo s neplatným či zrušeným kľúčom vráti 401. Kľúče sú určené len na čítanie a pýtanie sa (pozri rozsah nižšie).

Rozsah a limity

API kľúče môžu používať endpointy na čítanie a pýtanie sa uvedené na tejto stránke. Nemôžu vytvárať ani mazať stretnutia, meniť zdieľanie, spravovať fakturáciu ani spravovať iné API kľúče. To vyžaduje prihlásenú reláciu v aplikácii a pri pokuse s kľúčom vráti 403 {"error":"session_required"}. Spravujte a rušte svoje kľúče na stránke API keys. Buďte rozumní s objemom požiadaviek; trvalé intenzívne používanie môže byť obmedzené.

Endpointy

MetódaCestaČo robí
GET/v1/meetingsVypíše vaše nedávne stretnutia.
GET/v1/meetings/:idJedno stretnutie s jeho prepisom a výstupmi.
GET/v1/meetings/search?q=Hľadá podľa názvu alebo textu prepisu.
POST/v1/meetings/:id/chatPoloží otázku k jednému stretnutiu.

Výpis stretnutí

GET /v1/meetings?limit=&offset=

Vráti vaše najnovšie stretnutia, od najnovšieho. limit je predvolene 50 (max 200).

Požiadavka

curl https://api.notabium.com/v1/meetings \
  -H "Authorization: Bearer ntb_live_..."

Odpoveď 200

{
  "meetings": [
    {
      "id": "6f1c2e8a-2b4d-4a1e-9c3f-7a0b1d2e3f44",
      "source": "extension_meet",
      "title": "Pricing sync with Acme",
      "platform": "google_meet",
      "status": "complete",
      "duration_s": 1840,
      "created_at": "2026-06-08T15:02:11.000Z",
      "completed_at": "2026-06-08T15:34:02.000Z"
    }
  ]
}

Získanie stretnutia

GET /v1/meetings/:id

Vráti záznam stretnutia, jeho transcript (alebo null, ak ešte nie je prepísané) a jeho pole outputs. Výstupy sú artefakty vygenerované AI; každý má kind typu summary, next_steps alebo email_draft. Vráti 404, ak stretnutie neexistuje alebo nie je vaše.

Požiadavka

curl https://api.notabium.com/v1/meetings/6f1c2e8a-2b4d-4a1e-9c3f-7a0b1d2e3f44 \
  -H "Authorization: Bearer ntb_live_..."

Odpoveď 200

{
  "meeting": {
    "id": "6f1c2e8a-2b4d-4a1e-9c3f-7a0b1d2e3f44",
    "title": "Pricing sync with Acme",
    "source": "extension_meet",
    "platform": "google_meet",
    "status": "complete",
    "duration_s": 1840,
    "lang": "en",
    "created_at": "2026-06-08T15:02:11.000Z",
    "completed_at": "2026-06-08T15:34:02.000Z"
  },
  "transcript": {
    "meeting_id": "6f1c2e8a-2b4d-4a1e-9c3f-7a0b1d2e3f44",
    "full_text": "Alex: Let's lock the pricing tiers before launch. Sam: Agreed, I think 19.99 holds...",
    "lang": "en"
  },
  "outputs": [
    {
      "kind": "summary",
      "content": "The team agreed to keep Pro at 19.99/mo and ship a 7-day trial..."
    },
    {
      "kind": "next_steps",
      "content": "1. Sam updates the pricing page. 2. Alex drafts the launch email..."
    },
    {
      "kind": "email_draft",
      "content": "Hi team, quick recap of today's pricing sync..."
    }
  ],
  "is_owner": true
}

Hľadanie stretnutí

GET /v1/meetings/search?q=...&limit=

Hľadanie bez rozlišovania veľkosti písmen v názvoch vašich stretnutí a texte prepisu. limit je predvolene 20 (max 50). Každý výsledok obsahuje krátky snippet okolo prvej zhody (text prepisu, ak je k dispozícii, inak názov).

Požiadavka

curl "https://api.notabium.com/v1/meetings/search?q=pricing" \
  -H "Authorization: Bearer ntb_live_..."

Odpoveď 200

{
  "meetings": [
    {
      "id": "6f1c2e8a-2b4d-4a1e-9c3f-7a0b1d2e3f44",
      "title": "Pricing sync with Acme",
      "platform": "google_meet",
      "created_at": "2026-06-08T15:02:11.000Z",
      "duration_s": 1840,
      "snippet": "...lock the pricing tiers before launch. Sam: Agreed, I think 19.99 holds for Pro..."
    }
  ]
}

Otázka k stretnutiu

POST /v1/meetings/:id/chat

Položte otázku v prirodzenom jazyku; odpovie na ňu AI nad prepisom daného stretnutia. Pošlite JSON telo s message. Otázka aj odpoveď sa uložia do chatového vlákna stretnutia a odpoveď sa vráti. Vráti 409 {"error":"no_transcript"}, ak stretnutie ešte nebolo prepísané.

Požiadavka

curl https://api.notabium.com/v1/meetings/6f1c2e8a-2b4d-4a1e-9c3f-7a0b1d2e3f44/chat \
  -H "Authorization: Bearer ntb_live_..." \
  -H "Content-Type: application/json" \
  -d '{"message":"What did we decide about pricing?"}'

Odpoveď 200

{
  "message": {
    "id": "b2d4f6a8-1c3e-5a7b-9d0f-2e4a6c8b0d1f",
    "role": "assistant",
    "content": "You agreed to keep Pro at 19.99 per month and ship a 7-day free trial. Sam owns the pricing page update.",
    "created_at": "2026-06-09T09:14:30.000Z"
  }
}

Chyby

Chyby vracajú stavový kód mimo 2xx a JSON telo v tvare {"error":"..."}. Bežné prípady:

StatusTeloVýznam
401{"error":"unauthorized"}Chýbajúci, neplatný alebo zrušený kľúč.
403{"error":"forbidden"}Stretnutie nie je vaše.
403{"error":"session_required"}Endpoint vyžaduje prihlásenú reláciu, nie kľúč.
404{"error":"not_found"}Také stretnutie neexistuje.
409{"error":"no_transcript"}Stretnutie ešte nie je prepísané (pri otázke).
Radšej necháte pýtať sa asistenta? Použite MCP server.
MCP príručka Tutoriály