Ověřování

TeamDay API používá pro ověřování osobní přístupové tokeny (PAT). Všechny požadavky API musí zahrnovat platný token v hlavičce Authorization.


Získání přístupového tokenu

Krok 1: Vygenerovat token

  1. Přihlaste se ke svému účtu TeamDay na cc.teamday.ai
  2. Přejděte na Settings → API Access
  3. Klikněte na Generate New Token
  4. Volitelně nastavte vlastní vypršení (7-365 dnů, výchozí: 90 dnů)
  5. Zkopírujte token ihned - už ho neuvidíte!

Krok 2: Bezpečné uložení

Váš token bude vypadat takto:

td_AbCdEfGhIjKlMnOpQrStUvWxYz0123456789AbCdE

Formát tokenu:

  • Prefix: td_ (identifikuje TeamDay tokeny)
  • Délka: 43 alfanumerických znaků po prefixu
  • Kódování: Base64url (bezpečné URL)

Uložte do proměnných prostředí:

# Unix/Linux/macOS
export TEAMDAY_TOKEN="td_your-actual-token-here"

# Windows (PowerShell)
$env:TEAMDAY_TOKEN="td_your-actual-token-here"

# Nebo do .env souboru (pro místní vývoj)
TEAMDAY_TOKEN=td_your-actual-token-here

Použití vašeho tokenu

Zahrňte token v hlavičce Authorization se schématem Bearer:

Authorization: Bearer td_your-actual-token-here

Příklady požadavků

Vypsat agenty:

curl https://cc.teamday.ai/api/v1/agents \
  -H "Authorization: Bearer $TEAMDAY_TOKEN"

Vytvořit agenta:

curl -X POST https://cc.teamday.ai/api/v1/agents \
  -H "Authorization: Bearer $TEAMDAY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Výzkumný asistent",
    "role": "Výzkum a analýza",
    "systemPrompt": "Jste užitečný výzkumný asistent.",
    "visibility": "private"
  }'

Získat detaily spuštění:

curl https://cc.teamday.ai/api/v1/executions/exec_123 \
  -H "Authorization: Bearer $TEAMDAY_TOKEN"

Bezpečnostní funkce tokenů

Šifrování v klidovém stavu

Tokeny jsou chráněny zabezpečením na úrovni podniku:

  • Hashování: SHA-256 hash uložen v databázi (nevratné)
  • Šifrování: AES-256-GCM šifrování pro metadata tokenů
  • Žádné uložení v prostém textu: Původní token se po vytvoření nikdy neuloží

Automatické ověřování

Každý požadavek API ověřuje:

  1. Formát tokenu - Správný prefix a délka
  2. Vyhledání hashe - Token existuje v databázi
  3. Vypršení - Token není vypršelý
  4. Rozsah organizace - Uživatel patří do organizace
  5. Sledování poslední používání - Aktualizováno při každém požadavku

Rozsah

Každý token je vymezen na:

  • Uživatel: Token patří konkrétnímu uživateli (tvůrci)
  • Organizace: Dědí členství uživatele v organizaci
  • Oprávnění: Používá oprávnění role uživatele

Důležité: Tokeny dědí oprávnění uživatele, který je vytvořil. Pokud je přístup uživatele odvolán, jeho tokeny přestanou pracovat okamžitě.


Správa tokenů

Zobrazení aktivních tokenů

Zobrazit všechny vaše aktivní tokeny v Settings → API Access:

  • Název tokenu (volitelný štítek)
  • Datum vytvoření
  • Časová značka poslední použití
  • Datum vypršení
  • Rozsah oprávnění

Odvolání tokenů

Okamžité odvolání tokenu:

  1. Přejděte na Settings → API Access
  2. Najděte token v seznamu
  3. Klikněte na Revoke
  4. Potvrďte smazání

Kdy odvolat:

  • Token byl kompromitován nebo odhalen
  • Člen týmu opustil organizaci
  • Token již není potřeba
  • Rotace přihlašovacích údajů (bezpečnostní osvědčený postup)

Vypršení tokenu

Výchozí vypršení: 90 dnů

Vlastní vypršení:

  • Minimum: 7 dnů
  • Maximum: 365 dnů

Co se stane po vypršení:

  • Požadavky API vrátí 401 Unauthorized
  • Chybová zpráva: "Token expired"
  • Token se automaticky vyčistí (měkké smazání)

Automatické obnovení: Není podporováno. Vygenerujte nový token před vypršením.


Chybové odpovědi

Chybějící token

Požadavek:

curl https://cc.teamday.ai/api/v1/agents

Odpověď:

{
  "error": true,
  "statusCode": 401,
  "statusMessage": "Unauthorized",
  "message": "Authorization header required"
}

Neplatný token

Požadavek:

curl https://cc.teamday.ai/api/v1/agents \
  -H "Authorization: Bearer invalid_token"

Odpověď:

{
  "error": true,
  "statusCode": 401,
  "statusMessage": "Unauthorized",
  "message": "Invalid or expired token"
}

Vypršelý token

Požadavek:

curl https://cc.teamday.ai/api/v1/agents \
  -H "Authorization: Bearer td_expired_token"

Odpověď:

{
  "error": true,
  "statusCode": 401,
  "statusMessage": "Unauthorized",
  "message": "Token expired"
}

Nejlepší bezpečnostní praktiky

Ano ✅

  • Uložit tokeny do proměnných prostředí - Nikdy je nekódujte do zdroje
  • Používat samostatné tokeny na integraci - Snadnější sledování a odvolání
  • Nastavit vhodné doby vypršení - Kratší pro vysoce rizikové prostředí
  • Pravidelně rotovat tokeny - Zejména pro produkční systémy
  • Okamžitě odvolat v případě kompromitace - Lépe být bezpečný
  • Používat pouze HTTPS - Nikdy neodesílat tokeny přes prosté HTTP
  • Sledovat používání tokenu - Pravidelně kontrolovat časové značky poslední používání

Ne ❌

  • Nikdy nezavazovat tokeny do Git - Použijte .gitignore pro .env soubory
  • Nikdy nesdílejte tokeny - Každá integrace by měla mít vlastní
  • Nikdy nezaznamenávejte tokeny - Vynechat z protokolů aplikace
  • Nikdy neodesílat v parametrech URL - Použít pouze záhlaví
  • Nikdy nepoužívat v různých prostředích - Dev/staging/prod by měly mít samostatné tokeny
  • Nikdy nsculptovat na straně klienta - Tokeny jsou určeny pouze pro serverovou stranu

Příklad proměnných prostředí

# .env (přidat do .gitignore!)
TEAMDAY_TOKEN=td_your-actual-token-here

# Použití v kódu
const token = process.env.TEAMDAY_TOKEN

const response = await fetch('https://cc.teamday.ai/api/v1/agents', {
  headers: {
    'Authorization': `Bearer ${token}`,
    'Content-Type': 'application/json'
  }
})

Strategie rotace tokenů

Doporučený plán rotace:

  • Vývoj: 90 dnů (výchozí)
  • Staging: 60 dnů
  • Produkce: 30 dnů
  • Vysoká bezpečnost: 7 dnů

Jak rotovat bez výpadků:

  1. Vygenerovat nový token (starý ještě neodvolávejte)
  2. Aktualizovat aplikace aby používaly nový token
  3. Nasadit a ověřit že nový token funguje
  4. Sledovat 24-48 hodin (zkontrolovat používání starého tokenu)
  5. Odvolat starý token když je potvrzen nepoužívaný

Omezení sazby

Aktuální status: Žádná omezení sazby nejsou vynucena

Nejlepší praktiky:

  • Implementovat exponenciální zpětné zpoždění pro opakované pokusy
  • Ukládat do mezipaměti odpovědi, je-li vhodné
  • Používat rozumné sazby požadavků (< 100 req/min doporučeno)

Budoucnost: Omezení sazby mohou být zavedena. Poskytneme předem oznámení a dokumentaci.


OAuth (Již brzy)

Plánované funkce:

  • Podpora OAuth 2.0 pro třetí stranu
  • Limitovaná oprávnění (pouze čtení, zápis, správce)
  • API klíče na úrovni organizace

Sledovat pokrok OAuth →


Testování vašeho tokenu

Rychlý test:

# Měl by vrátit seznam agentů (nebo prázdné pole)
curl https://cc.teamday.ai/api/v1/agents \
  -H "Authorization: Bearer $TEAMDAY_TOKEN"

# Příklad úspěšné odpovědi
[
  {
    "id": "agent_123",
    "name": "Můj agent",
    "role": "Asistent",
    "createdAt": "2025-12-09T12:00:00Z"
  }
]

Pokud vidíte 401 Unauthorized:

  1. Ověřte, že je token zkopírován správně (bez extra mezer)
  2. Zkontrolujte, že token nevypršel v Settings → API Access
  3. Potvrďte, že uživatel má stále přístup do organizace
  4. Zkuste vygenerovat nový token

Potřebujete pomoc?

Token nefunguje?

  • Zkontrolujte reference chyb pro odstraňování problémů
  • Ověřte formát: td_ + 43 znaků
  • Potvrďte, že není vypršelý v dashboardu

Otázky?


Poslední aktualizace: 9. prosince 2025