API-Überblick

Owlat stellt authentifizierte API-Endpunkte unter Ihrer Convex-Site-URL bereit.

Owlat stellt authentifizierte API-Endpunkte unter Ihrer Convex-Site-URL bereit.

Basis-URL

Verwenden Sie die URL Ihres Deployments:

https://<your-deployment>.convex.site

Authentifizierte Endpunkte liegen derzeit unter:

/api/v1/*

Authentifizierung

Senden Sie Ihren API-Key im Header Authorization:

Authorization: Bearer lm_live_...

API-Keys werden unter Einstellungen → API erstellt.

SDKs

Verwenden Sie für serverseitige Integrationen ein offizielles SDK statt roher HTTP-Aufrufe:

  • TypeScript-SDK -- @owlat/sdk-js für Node.js, Bun und Deno
  • Java-SDK -- com.owlat:owlat-sdk für JVM-Anwendungen (Java 11+)

Aktuelle Endpunktgruppen

Antwortformat

Die meisten Endpunkte liefern JSON in dieser Form zurück:

{
  "data": {}
}

Fehler verwenden das festgeschriebene Operation-Error-Envelope — eine für Menschen lesbare message, eine geschlossene category und ein optionales Objekt data mit den Details:

{
    "error": {
        "category": "invalid_input",
        "message": "Human readable message",
        "data": { "field": "email" }
    }
}

category ist einer der folgenden Werte: unauthenticated (401), limit_reached (402), forbidden (403), not_found (404), invalid_input (400), already_exists (409), conflict (409), invalid_state (422), rate_limited (429), internal (500).

CORS

Private API-Endpunkte (/api/v1/*) werden über die Umgebungsvariable ALLOWED_ORIGINS eingeschränkt. Setzen Sie sie im Convex-Dashboard auf eine kommaseparierte Liste erlaubter Origins:

npx convex env set ALLOWED_ORIGINS "https://app.example.com,http://localhost:3000"

Öffentliche Endpunkte (Formulare, Abmeldung, Präferenzzentrum) erlauben alle Origins.

Rate Limits

Authentifizierte API-Anfragen sind auf 10 Anfragen pro Sekunde je API-Key begrenzt.

Header:

X-RateLimit-Limit
X-RateLimit-Remaining
X-RateLimit-Reset

Bei Überschreitung antworten die Endpunkte mit 429 und dem Header Retry-After.