# Requesto > Local API Client A self-hostable API client. No accounts, no cloud, no telemetry. ## Table of Contents ### Introduction - [What is Requesto?](/guide/introduction.md): Requesto is an open-source API client that runs locally or on your own server. No cloud, no accounts, no telemetry. Supports Docker, Electron, and source builds. - [Download & Install](/guide/download.md): Install Requesto via Docker, download the desktop app for Windows, macOS, or Linux, or build it yourself from source. All install methods covered here. - [Getting Started](/guide/getting-started.md): Send your first API request, save it to a collection, set up environment variables, and explore the Requesto interface - everything you need to get productive fast. ### Deployment - [Docker Deployment](/deployment/docker.md): Deploy Requesto with Docker using a single docker run command or Docker Compose. Includes volume mounts, port configuration, and environment variable options. - [Desktop App](/deployment/desktop.md): Download the Requesto desktop app for Windows, macOS, or Linux. An Electron wrapper that bundles the backend locally - no browser or separate server required. - [Building from Source](/deployment/building.md): Build Requesto from source on any platform. Clone the repo, install Node.js 20+ dependencies, and package the desktop app or run the dev server yourself. ### CLI & CI - [CLI Overview](/cli.md): Run your Requesto collections from the terminal or CI pipelines with the Requesto CLI, as an npm package or Docker image. - [CLI Quickstart](/cli/quickstart.md): Get a Requesto collection running in a CI pipeline in five minutes with variables, tests, reports and exit codes. - [CI Authentication](/cli/ci.md): How the Requesto CLI handles OAuth, Entra ID and secrets in pipelines, token substitution, client credentials and env var injection. - [CLI Reference](/cli/reference.md): Complete reference for requesto run: flags, environment variables, reporters, exit codes and workspace behavior. - [Docker Image](/cli/docker.md): The official Requesto CLI Docker image, tags, volume mounts, users and pipeline usage patterns. ### Mock Server - [Mock Server Overview](/mock-server.md): Run a built-in mock server in Requesto. Create static endpoints with hand-written responses or dynamic endpoints with full CRUD backed by a dataset, so your frontend works without a real backend. - [Creating & Managing Endpoints](/mock-server/endpoints.md): Create, edit, duplicate, disable, and delete mock endpoints in Requesto. Learn how paths, names, and modes work and how to manage endpoints from the sidebar. - [Static Endpoints](/mock-server/static.md): Create static mock endpoints in Requesto with hand-written responses. Set status codes, headers, delays, and JSON, XML, HTML, or plain text bodies for each HTTP method. - [Dynamic Endpoints](/mock-server/dynamic.md): Create dynamic mock endpoints in Requesto that behave like a REST API. Get list, get, create, replace, update, and delete routes backed by an editable JSON dataset. - [Calling & Debugging](/mock-server/using.md): Call your Requesto mock server from Requesto requests or your own app, inspect traffic in the request log, and troubleshoot 404 and 405 responses. ### Features - [Workspaces](/features/workspaces.md): Isolate projects with Requesto workspaces. Each workspace has its own collections, environments, and OAuth configs in a separate directory. Switch, create, clone, open, import, and export workspaces. - [Collections & Folders](/features/collections.md): Organize API requests into collections and folders in Requesto. Supports drag-and-drop reordering, nested folders, search filtering, and bulk operations. - [Pre-request Scripts](/features/pre-request-scripts.md): Run JavaScript before each request in Requesto. Use pre-request scripts to set environment variables dynamically, such as tokens, timestamps, or computed values, without polluting git history. - [Tests](/features/tests.md): Write JavaScript test scripts in Requesto to validate API responses. Use test() and expect() to assert status codes, response body content, headers, and timing. - [Collection Runner](/features/collection-runner.md): Run all requests in a collection or folder sequentially in Requesto. View pass/fail test results, response details, and environment variable changes across the entire run. - [Environments](/features/environments.md): Manage API environments in Requesto. Define variable sets for dev, staging, and production, then swap them without editing individual requests. Supports secret masking and variable substitution. - [Git Integration](/features/git.md): Version-control your Requesto workspace with built-in Git support. Init repos, clone from remote, commit, push, pull, manage branches, and sync collections with your team - all from inside the app. - [OpenAPI Import & Sync](/features/openapi.md): Import OpenAPI v2 (Swagger) and v3 specs into Requesto to auto-generate collections. Link specs to collections and sync changes as your API evolves. - [GraphQL](/features/graphql.md): Send GraphQL queries and mutations with variables, schema-aware IntelliSense, reusable schema profiles, and structured error handling in Requesto. - [OAuth 2.0](/features/oauth.md): Built-in OAuth 2.0 support in Requesto. Configure Authorization Code, PKCE, Client Credentials, and more. Tokens refresh automatically. Includes templates for Microsoft, Google, GitHub, Auth0, and Okta. - [Console & Logging](/features/console.md): The Requesto console logs every request and response so you can inspect exactly what was sent and received. View headers, bodies, timing, and script output in one panel. - [Settings](/features/settings.md): Application-wide settings in Requesto. Configure network behaviour like ignoring SSL certificate errors for self-signed certs in local development or internal infrastructure. ### Security - [Security](/security.md): How Requesto handles your data - local-only storage, no telemetry, no outbound requests, Electron security hardening, and vulnerability reporting. ### Other - [Search](/search.md) - [Untitled](/deployment.md) - [Untitled](/features.md) - [Untitled](/guide.md)