> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# 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.

[Installeer de tools en ontvang de code](https://supastack.dev/nl/docs/web/before-you-start.md)

[Leer opdrachten, bestanden en configuratie](https://supastack.dev/nl/docs/web/terminal-basics.md)

[Voltooi de eerste webtutorial](https://supastack.dev/nl/docs/web/ship-in-5-minutes.md)

```
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.


## Volgende

[Frequentiebeperking](https://supastack.dev/nl/docs/modules/rate-limiting.md)
