Naar inhoud gaan
supastack
Blader door de docs
WebTanStack Start

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /nl/docs/modules/api.md (or send Accept: text/markdown).

API-module

Het geversioneerde publieke contract, sleutelplumbing en het OpenAPI-oppervlak.

Voordat je begint

Open uw gedownloade supastack-project in Visual Studio Code met behulp van Bestand → Map openen en kies vervolgens Terminal → Nieuwe terminal. De root van de repository is de map met package.json, apps en pakketten. Voer daar de onderstaande opdracht uit en laat de terminal open. Als een opdracht niet wordt herkend, voltooi dan de installatiehandleiding van het hulpprogramma voordat u verdergaat.

Lees eerst de platformtutorial. Een server is het app-proces dat browser- of telefoonverzoeken beantwoordt. Web leest apps/web/.env.local, Expo leest apps/mobile/.env.local en opdrachten voor databasemigratie lezen root .env. De demonstratie zonder database/dashboard staat los van echte/auth-accounts, waarvoor Postgres moet worden gemigreerd. Voor een telefoon- of desktop-afrekening is een afzonderlijk draaiende web-backend nodig.

corepack pnpm --filter @supastack/web dev

Setup en configuratie

packages/api is de bron van waarheid voor het publieke REST-oppervlak: zod-schemas voor requests, responses en de error-envelope, plus het OpenAPI-document (openApiDocument) geserveerd op /api/v1/openapi. Route-handlers componeren deze schemas in plaats van vormen te herdefiniëren.

API-sleutels worden per workspace uitgegeven met prefix sk_<env>_, opgeslagen gehasht met constant-time-vergelijking, en dragen scopes — standaard read. api-keys.ts bezit creatie, lookup en revocation.

apiV1 = "/api/v1"

schemas: currentWorkspace, entitlement,
  modelRequirements, createAiTaskRequest,
  aiTask, aiTaskResult, apiError

openApiDocument → GET /api/v1/openapi

Implementatieworkflow

Voeg endpoints toe binnen de bestaande versie: breid de schemas uit, behoud de error-envelope en regenereer het OpenAPI-oppervlak zodat /api/docs accuraat blijft. Breaking changes krijgen een nieuwe versie, geen stille vormwijziging.

Resolv de workspace van de aanroeper vanuit de gepresenteerde sleutel, pas dezelfde entitlement- en validatieregels toe als de webapp en rate-limit per sleutel.

Verificatie en probleemoplossing

Contract-test elke route-vorm tegen de package-schemas. Verifieer dat onbekende, ingetrokken en onvoldoende-gescopede requests allemaal falen met de gedocumenteerde error-envelope, en dat het OpenAPI-document geldige JSON blijft.