# WAPPI > WAPPI is a TypeScript microservice API framework for building functional, versioned APIs that run serverless or as a monolith, with testing, logging, Prisma support and frontend type syncing (wappi-fe) built in. npm package: `wappi` (https://www.npmjs.com/package/wappi). Source: https://gitlab.com/wappi-repo/wappi. Docs site: https://www.wappi.dev/. Every page is available as markdown by adding `.md` to its URL. The complete documentation in one file: https://www.wappi.dev/llms-full.txt. Start with the AI quick reference: https://www.wappi.dev/ai.md ## Getting started - [Getting Started](https://www.wappi.dev/getting-started.md): Get started with WAPPI: create a project with npx wappi init, run the dev server, scaffold your first endpoint and test it in about two minutes. - [CLI Commands](https://www.wappi.dev/cli-commands.md): Reference for the WAPPI CLI: init, create, build, delete, test, help and more, with shorthand commands and examples for each one. - [About WAPPI](https://www.wappi.dev/about.md): What WAPPI is: a TypeScript framework for building functional APIs that run serverless or as a monolith, with testing, docs and local dev built in. - [AI Quick Reference](https://www.wappi.dev/ai.md): Compact WAPPI reference for AI coding agents: endpoint naming, folder layout, requests, Body data, versioning, CLI, testing and logging, plus rules-file snippets. ## Configuration - [Configuration](https://www.wappi.dev/configuration.md): Configure a WAPPI project with wappi.json: API key, auth key rotation timing and other project settings, and when you need to rebuild. - [Environment Variables](https://www.wappi.dev/environment-variables.md): Set up the WAPPI .env file from .env.example: environment (localhost, dev, stage, prod), frontend type paths and other required variables. ## Structure - [Namespaces](https://www.wappi.dev/namespaces.md): How WAPPI's strict folder structure works: namespaces act like microservices, with endpoint names such as User_UpdateDetails_2_3_4. - [API Versioning](https://www.wappi.dev/versioning.md): API versioning in WAPPI: every endpoint has its own semantic version folder, so you can deploy fixes without breaking your frontend or existing clients. - [Body Data](https://www.wappi.dev/body-data.md): The Body parameter in WAPPI endpoints: the request data and built-in fields WAPPI passes to every endpoint function for observability and middleware. - [Webhooks](https://www.wappi.dev/webhooks.md): Receive third-party webhooks such as Stripe in WAPPI: Webhook_ endpoints, registering in API/index.ts, raw body signature checks and status codes. - [Query Language](https://www.wappi.dev/query-language.md): WAPPI Query Language: include or exclude response fields on the server, like GraphQL field selection, to cut payload size and latency. ## Testing, deployment and operations - [Testing](https://www.wappi.dev/testing.md): Test WAPPI endpoints with the built-in TDD setup: every endpoint template ships an index.spec.ts, and wappi test runs it from the CLI. - [API Documentation (OpenAPI and Postman)](https://www.wappi.dev/api-documentation.md): WAPPI generates Internal and Public OpenAPI specs on wappi run, from each endpoint's README and types, ready to import into Postman or host. - [Deployment](https://www.wappi.dev/deployment.md): Deploy a WAPPI API as serverless functions or on traditional servers, including example vercel.json and Dockerfile configurations. - [Logging and Observability](https://www.wappi.dev/logging.md): Built-in observability in WAPPI: automatic request and error logging, with every endpoint wrapped in try/catch, so you can find issues in minutes. - [Health Checks](https://www.wappi.dev/health-checks.md): WAPPI ships a built-in health check endpoint that needs no configuration and returns 200 for all HTTP methods, ready for uptime monitoring. ## Security - [Security](https://www.wappi.dev/security.md): Security in WAPPI: layered protection for your API, including request validation against your types and secure frontend to backend communication. - [Auth Keys](https://www.wappi.dev/security/auth-keys.md): WAPPI auth keys: session tokens generated by the Core_Login endpoint that WAPPI rotates and manages automatically to secure user sessions. - [API Keys](https://www.wappi.dev/security/api-keys.md): Use API keys in WAPPI to authenticate and authorise access to your endpoints, configured in wappi.json and your environment variables. - [JWT Authentication](https://www.wappi.dev/security/jwt-authentication.md): JWT authentication in WAPPI: issue JSON Web Tokens from a login endpoint for stateless, scalable user authentication and session management. ## Frontend integration (wappi-fe) - [Frontend Integration](https://www.wappi.dev/frontend-integration.md): Connect your frontend to a WAPPI API with wappi-fe, the companion client that keeps backend types in sync and handles requests and auth. - [Frontend Getting Started](https://www.wappi.dev/frontend-integration/getting-started.md): Get up and running with wappi-fe in minutes: install and configure the client, then make your first typed call to your WAPPI API. - [Frontend Installation](https://www.wappi.dev/frontend-integration/installation.md): Install wappi-fe with your package manager and set up automatic syncing of compiled WAPPI API types into your frontend project. - [Frontend Configuration](https://www.wappi.dev/frontend-integration/configuration.md): Configure wappi-fe and FRONTEND_PROJECT_PATHS so every wappi run copies your compiled API types into the frontend, keeping them in sync. - [Frontend Requests](https://www.wappi.dev/frontend-integration/request.md): Make typed API requests from your frontend with wappi-fe: request options, parameters and responses when calling WAPPI endpoints. - [Frontend Authentication](https://www.wappi.dev/frontend-integration/authentication.md): Handle authentication in wappi-fe: Core_Login sets a wappiAuthToken in localStorage, which secures calls between your frontend and WAPPI backend. ## Optional - [AWS EC2 Autoscaling](https://www.wappi.dev/deployment/aws-ec2-autoscaling.md): Deploying a WAPPI API to AWS EC2 with autoscaling. This guide and its template code are coming soon; see the main deployment page meanwhile. - [AWS Lambda Serverless](https://www.wappi.dev/deployment/aws-lambda-serverless.md): Deploying a WAPPI API serverless on AWS Lambda. This guide is coming soon; see the main WAPPI deployment page for current serverless options. - [Frontend Examples](https://www.wappi.dev/frontend-integration/examples.md): Real-world wappi-fe examples, including building a reusable /API folder of typed calls to your WAPPI backend from different frontend frameworks. - [Examples](https://www.wappi.dev/examples.md): WAPPI endpoint examples for the TypeScript microservice API framework. This page is a work in progress; see the Security and Frontend pages for code.