Skip to content

API Reference — přehled

Base URL

http://localhost:3001/api     # lokální vývoj
https://api.atrea.eu/api      # produkce

Všechny endpointy jsou pod prefixem /api.

Autentizace

JWT Bearer token

http
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...

Interní API klíč (service-to-service)

http
x-internal-api-key: <hodnota z config.internalApiKey>

Bez autentizace

Endpointy /check, /test, /version a /docs nepotřebují žádný token.


Formát odpovědi

Všechny odpovědi mají konzistentní strukturu:

Úspěch

json
{
  "success": true,
  "data": { ... }
}

Chyba

json
{
  "success": false,
  "error": "Popis chyby",
  "code": "PERMISSION_DENIED",
  "details": { ... }
}

Seznam

json
{
  "success": true,
  "data": [ ... ]
}

HTTP stavové kódy

KódPopisKdy
200OKÚspěšný GET, PUT
201CreatedÚspěšný POST (vytvoření)
204No ContentÚspěšný DELETE
400Bad RequestChybná validace body
401UnauthorizedChybí nebo neplatný token/API klíč
403ForbiddenNedostatečná oprávnění
404Not FoundZdroj neexistuje
409ConflictDuplicitní záznam (unique constraint)
422Unprocessable EntityValidační chyba
500Internal Server ErrorNeočekávaná chyba serveru

Přehled endpointů

Ověřování oprávnění (/check)

MetodaEndpointAuthPopis
POST/checkvolitelněOvěření jednoho oprávnění
POST/check/bulkvolitelněOvěření více oprávnění najednou
POST/check/effectivevolitelněVšechna efektivní oprávnění
POST/check/cache/clearVyčistit permission cache

Uživatelé (/users)

MetodaEndpointAuthPopis
GET/usersJWT + AppAdminSeznam uživatelů
POST/usersJWT + AppAdminVytvoření uživatele
GET/users/:emailJWT + AppAdminDetail uživatele
PATCH/users/:email/activeJWT + SuperAdminAktivace/deaktivace
GET/users/:email/apps/:appCode/rolesJWT + AppAdminRole v aplikaci
PUT/users/:email/apps/:appCode/rolesJWT + AppAdminNastavení rolí
GET/users/:email/apps/:appCode/resources/:type/:id/permissionsJWT + AppAdminResource overrides
PUT/users/:email/apps/:appCode/resources/:type/:id/permissionsJWT + AppAdminNastavení overrides
GET/users/admins/apps/:appCodeJWTSeznam app adminů
POST/users/admins/apps/:appCodeJWT + SuperAdminPřidání app admina
DELETE/users/admins/apps/:appCode/:emailJWT + SuperAdminOdebrání app admina
GET/users/superadmins/listJWT + SuperAdminSeznam superadminů
POST/users/superadminsJWT + SuperAdminPřidání superadmina
DELETE/users/superadmins/:emailJWT + SuperAdminOdebrání superadmina

Profil (/profile)

MetodaEndpointAuthPopis
GET/profile/meJWTVlastní profil
PUT/profile/meJWTAktualizace profilu
GET/profile/me/admin-statusJWTAdmin status
GET/profile/me/appsJWTVšechny per-app preference
GET/profile/me/apps/:appCodeJWTPer-app preference
PUT/profile/me/apps/:appCodeJWTAktualizace preference
GET/profile/me/notifications/:appCodeJWTNotifikační preference
PUT/profile/me/notifications/preferences/bulkJWTBulk update notifikací
PUT/profile/me/notifications/preferences/:typeIdJWTUpdate jednoho typu
GET/profile/me/push/vapid-keyJWTVAPID public key
POST/profile/me/push/subscribeJWTRegistrace push subscripce
POST/profile/me/push/unsubscribeJWTOdregistrování subscripce
GET/profile/me/push/subscriptionsJWTSeznam subscripcí
GET/profile/:emailJWT + AppAdminProfil jiného uživatele

Aplikace (/applications)

MetodaEndpointAuthPopis
GET/applicationsJWT + SuperAdminSeznam aplikací
GET/applications/:appCodeJWT + SuperAdminDetail aplikace
POST/applicationsJWT + SuperAdminVytvoření aplikace
PUT/applications/:appCodeJWT + SuperAdminAktualizace aplikace
DELETE/applications/:appCodeJWT + SuperAdminSmazání aplikace

Oprávnění & Role

MetodaEndpointAuthPopis
GET/applications/:appCode/permissionsJWT + AppAdminSeznam oprávnění
POST/applications/:appCode/permissionsJWT + AppAdminVytvoření oprávnění
PUT/applications/:appCode/permissions/:idJWT + AppAdminAktualizace oprávnění
DELETE/applications/:appCode/permissions/:idJWT + AppAdminSmazání oprávnění
GET/applications/:appCode/rolesJWT + AppAdminSeznam rolí
GET/applications/:appCode/roles/:idJWT + AppAdminDetail role
POST/applications/:appCode/rolesJWT + AppAdminVytvoření role
PUT/applications/:appCode/roles/:idJWT + AppAdminAktualizace role
DELETE/applications/:appCode/roles/:idJWT + AppAdminSmazání role
PUT/applications/:appCode/roles/:id/permissionsJWT + AppAdminNastavení oprávnění role

Notifikace (/internal)

MetodaEndpointAuthPopis
POST/internal/notificationsx-internal-api-keyOdeslání notifikace
POST/internal/notifications/bulkx-internal-api-keyHromadné odeslání
GET/internal/notifications/typesx-internal-api-keyTypy notifikací
GET/internal/notifications/log/:emailx-internal-api-keyLog příjemce
GET/internal/notifications/log/app/:appCodex-internal-api-keyLog aplikace
GET/POST/PUT/DELETE/internal/notifications/templates/*x-internal-api-keyŠablony

Admin (/admin)

MetodaEndpointAuthPopis
GET/admin/dashboard/statsJWT + AdminDashboard statistiky
GET/POST/PUT/DELETE/admin/notifications/types/*JWT + SuperAdminTypy notifikací
GET/POST/PUT/DELETE/admin/notifications/templates/*JWT + SuperAdminŠablony
POST/admin/notifications/templates/previewJWT + SuperAdminPreview šablony
GET/admin/notifications/log/:appCodeJWT + SuperAdminLog notifikací
GET/POST/PUT/DELETE/admin/brands/*JWT + SuperAdminSpráva brandů

Zitadel (/zitadel)

MetodaEndpointAuthPopis
POST/zitadel/webhookx-webhook-secretWebhook od Zitadelu
GET/zitadel/healthDostupnost Zitadelu
GET/zitadel/discoveryOIDC discovery
GET/zitadel/loginStart OIDC login
GET/zitadel/callbackOIDC callback
GET/zitadel/admin/orgsJWT + SuperAdminSeznam organizací
POST/zitadel/admin/orgsJWT + SuperAdminVytvoření organizace
PUT/zitadel/admin/orgs/:orgId/brandingJWT + SuperAdminBranding organizace
POST/zitadel/admin/orgs/:orgId/setupJWT + SuperAdminFull brand setup

Interaktivní dokumentace

Pro testování endpointů přímo v prohlížeči použijte Swagger UI.

Swagger UI nabízí:

  • Popis každého parametru a těla requestu
  • Možnost autentizace JWT tokenem
  • Přímé testování API volání
  • JSON schémata request/response

Atrea User API — interní dokumentace