# Vercel > -------------------------------------------------------------------------------- ## Pages - [Vercel Documentation](vercel-documentation.md): -------------------------------------------------------------------------------- - [Account Management](account-management.md): When you first sign up for Vercel, you'll create an account. This account is used to manage your Vercel resources. Ve... - [Using the Activity Log](using-the-activity-log.md): The [Activity Log](/dashboard/activity) provides a list of all events on a [team](/docs/accounts#teams), chronologica... - [Vercel Agent Investigation](vercel-agent-investigation.md): When you get an error alert, Vercel Agent can investigate what's happening in your logs and metrics to help you figur... - [Vercel Agent](vercel-agent.md): Vercel Agent is a suite of AI-powered development tools built to speed up your workflow. Instead of spending hours de... - [Vercel Agent Code Review](vercel-agent-code-review.md): AI Code Review is part of [Vercel Agent](/docs/agent), a suite of AI-powered development tools. When you open a pull ... - [Managing Code Reviews](managing-code-reviews.md): Once you've [set up Code Review](/docs/agent/pr-review#how-to-set-up-code-review), you can customize settings and mon... - [Vercel Agent Pricing](vercel-agent-pricing.md): Vercel Agent uses a credit-based system and all agent features and tools will use the same credit pool. - [Build with AI agents on Vercel](build-with-ai-agents-on-vercel.md): Integrating AI agents in your application often means working with separate dashboards, billing systems, and authenti... - [Adding a Model](adding-a-model.md): If you have integrations installed, scroll to the bottom to access the models explorer. - [Adding a Provider](adding-a-provider.md): When you navigate to the **AI** tab, you'll see a list of installed AI integrations. If you don't have installed inte... - [Vercel Deep Infra Integration](vercel-deep-infra-integration.md): provides scalable and - [Vercel ElevenLabs Integration](vercel-elevenlabs-integration.md): specializes in advanced voice - [Vercel fal Integration](vercel-fal-integration.md): enables the - [Vercel Groq Integration](vercel-groq-integration.md): is a high-performance AI inference - [Vercel LMNT Integration](vercel-lmnt-integration.md): provides data processing and - [Vercel & OpenAI Integration](vercel-openai-integration.md): Vercel integrates with [OpenAI](https://platform.openai.com/overview) to enable developers to build fast, scalable, a... - [Build with AI on Vercel](build-with-ai-on-vercel.md): AI services and models help enhance and automate the building and deployment of applications for various use cases: - [Vercel Perplexity Integration](vercel-perplexity-integration.md): specializes in providing - [Vercel Pinecone Integration](vercel-pinecone-integration.md): is a [vector - [Vercel Replicate Integration](vercel-replicate-integration.md): provides a platform for - [Vercel Together AI Integration](vercel-together-ai-integration.md): offers models for interactive - [Vercel xAI Integration](vercel-xai-integration.md): provides language, - [Authentication](authentication.md): To use the AI Gateway, you need to authenticate your requests. There are two authentication methods available: - [Bring Your Own Key (BYOK)](bring-your-own-key-byok.md): Using your own credentials with an external AI provider allows AI Gateway to authenticate requests on your behalf wit... - [Authentication & BYOK](authentication-byok.md): Every request to AI Gateway requires authentication. Vercel provides two methods: API keys and OIDC tokens. You can a... - [Image Generation with AI SDK](image-generation-with-ai-sdk.md): AI Gateway supports image generation using the [AI SDK](https://ai-sdk.dev/docs/ai-sdk-core/image-generation) for the... - [Image Generation with OpenAI-Compatible API](image-generation-with-openai-compatible-api.md): AI Gateway supports image generation using the OpenAI-compatible API for the models listed under the **Image Gen** fi... - [Image Generation](image-generation.md): The Vercel [AI Gateway](/docs/ai-gateway) supports image generation and editing capabilities. You can generate new im... - [Observability](observability.md): The AI Gateway logs observability metrics related to your requests, which you can use to monitor and debug. - [Capabilities](capabilities.md): In addition to text generation, you can use AI Gateway to generate images, search the web, track requests with observ... - [Usage & Billing](usage-billing.md): AI Gateway provides endpoints to monitor your credit balance, track usage, and retrieve detailed information about sp... - [Web Search](web-search.md): AI Gateway provides built-in web search capabilities that allow AI models to access current information from the web.... - [Zero Data Retention](zero-data-retention.md): Zero data retention (ZDR) is available for Vercel AI Gateway. There is an option to enforce zero data retention on a ... - [Clawd Bot](clawd-bot.md): [Clawd Bot](https://clawd.bot) is a personal AI assistant that runs on your computer and connects to messaging platfo... - [LibreChat](librechat.md): [LibreChat](https://librechat.ai) is an open-source AI chat platform that you can self-host. You can configure it to ... - [Chat Platforms](chat-platforms.md): AI chat platforms provide conversational interfaces for interacting with AI models. Route these platforms through AI ... - [Select "Vercel AI Gateway" as your provider and enter your API key](select-vercel-ai-gateway-as-your-provider-and-enter-your-api-key.md): See the [Clawd Bot documentation](/docs/ai-gateway/chat-platforms/clawd-bot) for installation and capabilities. - [Blackbox AI](blackbox-ai.md): You can use the [Blackbox AI](https://blackbox.ai) CLI for AI-powered code generation, debugging, and project automat... - [Claude Code](claude-code.md): AI Gateway provides [Anthropic-compatible API endpoints](/docs/ai-gateway/sdks-and-apis/anthropic-compat) so you can ... - [Cline](cline.md): [Cline](https://cline.bot) is a VS Code extension that provides autonomous coding assistance. You can configure it to... - [OpenAI Codex](openai-codex.md): [OpenAI Codex](https://developers.openai.com/codex) is OpenAI's agentic coding tool. You can configure it to use Verc... - [Crush](crush.md): [Crush](https://github.com/charmbracelet/crush) is a terminal-based AI coding assistant by Charmbracelet. It supports... - [OpenCode](opencode.md): [OpenCode](https://opencode.ai) is a terminal-based AI coding assistant that runs in your development environment. He... - [Coding Agents](coding-agents.md): AI coding agents are transforming how developers write, debug, and refactor code. Route these agents through AI Gatew... - [Select "Vercel AI Gateway" and enter your API key](select-vercel-ai-gateway-and-enter-your-api-key.md): OpenCode automatically discovers available models and lets you switch between them on the fly. - [Select "Configure Providers", choose "Vercel AI Gateway", and enter your API key](select-configure-providers-choose-vercel-ai-gateway-and-enter-your-api-key.md): See the [Blackbox AI documentation](/docs/ai-gateway/coding-agents/blackbox) for installation and setup. - [Select "Vercel AI Gateway", choose a model, and enter your API Key](select-vercel-ai-gateway-choose-a-model-and-enter-your-api-key.md): See the [Crush documentation](/docs/ai-gateway/coding-agents/crush) for installation options. - [Roo Code](roo-code.md): [Roo Code](https://roocode.com) is a VS Code extension that brings AI coding assistance directly into your editor. Yo... - [App Attribution](app-attribution.md): App attribution allows Vercel to identify the application making a request - [LangChain](langchain.md): [LangChain](https://js.langchain.com) gives you tools - [LangFuse](langfuse.md): [LangFuse](https://langfuse.com/) is an LLM engineering platform - [LiteLLM](litellm.md): [LiteLLM](https://www.litellm.ai/) is an open-source library that provides a unified interface to call LLMs. - [LlamaIndex](llamaindex.md): [LlamaIndex](https://www.llamaindex.ai/) makes it simple to - [Mastra](mastra.md): [Mastra](https://mastra.ai) is a framework for building and deploying AI-powered features - [Framework Integrations](framework-integrations.md): The Vercel [AI Gateway](/docs/ai-gateway) integrates with popular community AI frameworks and tools, - [Pydantic AI](pydantic-ai.md): [Pydantic AI](https://ai.pydantic.dev/) is a Python agent framework - [Ecosystem](ecosystem.md): AI Gateway integrates with the AI development ecosystem you use. Whether you're building with LangChain, LlamaIndex, ... - [Getting Started](getting-started.md): This quickstart will walk you through making an AI - [Model Fallbacks](model-fallbacks.md): You can configure model failover to specify backups that are tried in order if the primary model fails or is unavaila... - [Model Variants](model-variants.md): Some AI inference providers offer special variants of models. These models can - [Models & Providers](models-providers.md): The AI Gateway's unified API provides flexibility, allowing you to switch between [different AI models](https://verce... - [Provider Options](provider-options.md): AI Gateway can route your AI model requests across multiple AI providers. Each provider offers different models, pric... - [AI Gateway](ai-gateway.md): The [AI Gateway](https://vercel.com/ai-gateway) provides a unified API to access [hundreds of models](https://vercel.... - [Pricing](pricing.md): AI Gateway uses a pay-as-you-go model with no markups. Purchase AI Gateway Credits... - [Advanced Features](advanced-features.md): Configure extended thinking for models that support chain-of-thought reasoning. The`thinking`parameter allows you t... - [File Attachments](file-attachments.md): Send images and PDF documents as part of your message request. - [Read files as base64](read-files-as-base64.md): with open('./document.pdf', 'rb') as f: - [Messages](messages.md): Create messages using the Anthropic Messages API format. - [Anthropic-Compatible API](anthropic-compatible-api.md): AI Gateway provides Anthropic-compatible API endpoints, so you can use the Anthropic SDK and tools like [Claude Code]... - [Tool Calls](tool-calls.md): The AI Gateway supports Anthropic-compatible function calling, allowing models to call tools and functions. - [Advanced Configuration](advanced-configuration.md): Configure reasoning behavior for models that support extended thinking or chain-of-thought reasoning. The`reasoning`... - [Check which model was actually used](check-which-model-was-actually-used.md): print('Model used:', completion.model) - [Chat Completions](chat-completions.md): Create chat completions using various AI models available through the AI Gateway. - [Read the image file as base64](read-the-image-file-as-base64.md): with open('./path/to/image.png', 'rb') as image_file: - [Read the PDF file as base64](read-the-pdf-file-as-base64.md): with open('./path/to/document.pdf', 'rb') as pdf_file: - [Embeddings](embeddings.md): Generate vector embeddings from input text for semantic search, similarity matching, and retrieval-augmented generati... - [Image Generation](image-generation-2.md): Generate images using AI models that support multimodal output through the OpenAI-compatible API. This feature allows... - [Text content is always a string](text-content-is-always-a-string.md): print(f"Text: {message.content}") - [Images are in a separate array](images-are-in-a-separate-array.md): if hasattr(message, 'images') and message.images: - [OpenAI-Compatible API](openai-compatible-api.md): AI Gateway provides OpenAI-compatible API endpoints, letting you use multiple AI providers through a familiar interfa... - [Direct REST API Usage](direct-rest-api-usage.md): If you prefer to use the AI Gateway API directly without the OpenAI client libraries, you can make HTTP requests usin... - [First, convert your image to base64](first-convert-your-image-to-base64.md): IMAGE_BASE64=$(base64 -i ./path/to/image.png) - [Structured Outputs](structured-outputs.md): Generate structured JSON responses that conform to a specific schema, ensuring predictable and reliable data formats ... - [Parse the structured response](parse-the-structured-response.md): structured_data = json.loads(completion.choices[0].message.content) - [Parse the structured response](parse-the-structured-response-2.md): structured_data = json.loads(completion.choices[0].message.content) - [Parse the complete structured response](parse-the-complete-structured-response.md): structured_data = json.loads(complete_response) - [Tool Calls](tool-calls-2.md): The AI Gateway supports OpenAI-compatible function calling, allowing models to call tools and functions. This follows... - [Image Input](image-input.md): The [OpenResponses API](/docs/ai-gateway/sdks-and-apis/openresponses) supports sending images alongside text for visi... - [OpenResponses API](openresponses-api.md): AI Gateway supports the [OpenResponses API](https://openresponses.org) specification, an open standard for AI model i... - [Provider Options](provider-options-2.md): The [OpenResponses API](/docs/ai-gateway/sdks-and-apis/openresponses) lets you configure AI Gateway behavior using`p... - [Streaming](streaming.md): The [OpenResponses API](/docs/ai-gateway/sdks-and-apis/openresponses) supports streaming to receive tokens as they're... - [Text Generation](text-generation.md): Use the [OpenResponses API](/docs/ai-gateway/sdks-and-apis/openresponses) to generate text responses from AI models. ... - [Tool Calling](tool-calling.md): The [OpenResponses API](/docs/ai-gateway/sdks-and-apis/openresponses) supports tool calling to give models access to ... - [SDKs & APIs](sdks-apis.md): AI Gateway provides drop-in compatible APIs that let you switch by changing a base URL. No code rewrites required. Us... - [Python](python.md): To get started with Python and AI Gateway, you can either call the - [Option 1: API key (recommended for local development)](option-1-api-key-recommended-for-local-development.md): api_key = os.getenv('AI_GATEWAY_API_KEY') - [Option 2: OIDC token (automatic on Vercel deployments)](option-2-oidc-token-automatic-on-vercel-deployments.md): api_key = os.getenv('VERCEL_OIDC_TOKEN') - [Fallback pattern for code that runs both locally and on Vercel](fallback-pattern-for-code-that-runs-both-locally-and-on-vercel.md): api_key = os.getenv('AI_GATEWAY_API_KEY') or os.getenv('VERCEL_OIDC_TOKEN') - [Check if the model wants to call a tool](check-if-the-model-wants-to-call-a-tool.md): if response.choices[0].message.tool_calls: - [Check if the model wants to call a tool](check-if-the-model-wants-to-call-a-tool-2.md): for block in message.content: - [Markdown access](markdown-access.md): Every page in Vercel's documentation is available as markdown. This makes it straightforward to feed specific documen... - [Fetch documentation content with curl](fetch-documentation-content-with-curl.md): curl - [Pipe directly to an AI tool](pipe-directly-to-an-ai-tool.md): curl | pbcopy - [AI Resources](ai-resources.md): Vercel provides resources to help you build AI-powered applications and work more effectively with AI coding assistan... - [Use Vercel](use-vercel.md): Connect your AI tools to Vercel using the [Model Context Protocol (MCP)](https://modelcontextprotocol.io), - [Install Claude Code](install-claude-code.md): npm install -g @anthropic-ai/claude-code - [Navigate to your project](navigate-to-your-project.md): cd your-awesome-project - [Add Vercel MCP (general access)](add-vercel-mcp-general-access.md): claude mcp add --transport http vercel - [Add Vercel MCP (project-specific access)](add-vercel-mcp-project-specific-access.md): claude mcp add --transport http vercel-awesome-ai - [Authenticate the MCP tools by typing /mcp](authenticate-the-mcp-tools-by-typing-mcp.md): /mcp - [Add Vercel MCP](add-vercel-mcp.md): codex mcp add vercel --url - [Start Codex](start-codex.md): codex - [Tools](tools.md): The Vercel MCP server provides [MCP tools](https://modelcontextprotocol.io/specification/2025-06-18/server/tools) tha... - [AI SDK](ai-sdk.md): The [AI SDK](https://sdk.vercel.ai) is the TypeScript toolkit designed to help developers build AI-powered applicatio... - [Alerts](alerts.md): Alerts let you know when something's wrong with your Vercel projects, like a spike in failed function invocations or ... - [Tracking custom events](tracking-custom-events.md): Vercel Web Analytics allows you to track custom events in your application using the`track()`function. - [Filtering Analytics](filtering-analytics.md): Web Analytics provides you with a way to filter your data in order to gain a deeper understanding of your website - [Pricing for Web Analytics](pricing-for-web-analytics.md): The Web Analytics pricing model is based on the number of [collected events](#what-is-an-event-in-vercel-web-analytic... - [Advanced Web Analytics Config with @vercel/analytics](advanced-web-analytics-config-with-vercelanalytics.md): To get started with analytics, follow our [Quickstart](/docs/analytics/quickstart) guide which will walk you through ... - [Vercel Web Analytics](vercel-web-analytics.md): Web Analytics provides comprehensive insights into your website's visitors, allowing you to track the top visited pag... - [Privacy and Compliance](privacy-and-compliance.md): Vercel takes a privacy-focused approach to our products and strive to enable our customers to use Vercel with confide... - [Getting started with Vercel Web Analytics](getting-started-with-vercel-web-analytics.md): This guide will help you get started with using Vercel Web Analytics on your project, showing you how to enable it, a... - [Redacting Sensitive Data from Web Analytics Events](redacting-sensitive-data-from-web-analytics-events.md): Sometimes, URLs and query parameters may contain sensitive data. This could be a user ID, a token, an order ID, or an... - [Vercel Web Analytics Troubleshooting](vercel-web-analytics-troubleshooting.md): **Issue**: If you are experiencing a situation where data is not visible in the analytics dashboard or a 404 error oc... - [Using Web Analytics](using-web-analytics.md): To access Web Analytics: - [Audit Logs](audit-logs.md): Audit logs help you track and analyze your [team members'](/docs/rbac/managing-team-members) activity. They can be ac... - [Bot Management](bot-management.md): Bots generate nearly half of all internet traffic. While many bots serve legitimate purposes like search engine crawl... - [Advanced BotID Configuration](advanced-botid-configuration.md): When you need fine-grained control over BotID's detection levels, you can specify`advancedOptions`to choose between... - [Form Submissions](form-submissions.md): BotID does **not** support traditional HTML forms that use the`action`and`method`attributes, such as: - [Get Started with BotID](get-started-with-botid.md): This guide shows you how to add BotID protection to your Vercel project. BotID blocks automated bots while allowing r... - [Local Development Behavior](local-development-behavior.md): During local development, BotID behaves differently than in production to facilitate testing and development workflow... - [BotID](botid.md): [Vercel BotID](/botid) is an invisible CAPTCHA that protects against sophisticated bots without showing visible chall... - [Handling Verified Bots](handling-verified-bots.md): **💡 Note:** Handling verified bots is available in botid@1.5.0 and above. - [Build Output Configuration](build-output-configuration.md): Schema (as TypeScript): - [Features](features.md): This section describes how to implement common Vercel platform features through the - [Build Output API](build-output-api.md): The Build Output API is a file-system-based specification for a directory structure that can produce a Vercel deploym... - [Vercel Primitives](vercel-primitives.md): The following directories, code files, and configuration files represent all Vercel platform primitives. - [Build Features for Customizing Deployments](build-features-for-customizing-deployments.md): Vercel provides the following features to customize your deployments: - [Build image overview](build-image-overview.md): When you initiate a deployment, Vercel will [build your project](/docs/builds) within a container using the build image. - [Build Queues](build-queues.md): Build queueing is when a build must wait for resources to become available before starting. This creates more time be... - [Configuring a Build](configuring-a-build.md): When you make a [deployment](/docs/deployments), Vercel **builds** your project. During this time, Vercel performs a ... - [Managing Builds](managing-builds.md): When you build your application code, Vercel runs compute to install dependencies, run your build script, and upload ... - [Builds](builds.md): Vercel automatically performs a **build** every time you deploy your code, whether you're pushing to a Git repository... - [Vercel CDN overview](vercel-cdn-overview.md): Vercel's CDN is a globally distributed platform that stores content near your customers and runs compute in [regions]... - [Vercel CDN Cache](vercel-cdn-cache.md): Vercel's CDN caches your content (including pages, API responses, and static assets) in data centers around the world... - [Purging Vercel CDN Cache](purging-vercel-cdn-cache.md): Learn how to invalidate and delete cached content on Vercel's CDN, includin... - [Checks API Reference](checks-api-reference.md): API endpoints allow integrations to interact with the Vercel platform. Integrations can run checks every time you cre... - [Anatomy of the Checks API](anatomy-of-the-checks-api.md): Checks API extends the build and deploy process once your deployment is ready. Each check behaves like a webhook that... - [Working with Checks](working-with-checks.md): Checks are tests and assertions created and run after every successful deployment. **Checks API** defines your applic... - [Telemetry](telemetry.md): **💡 Note:** Participation in this program is optional, and you may - [vercel alias](vercel-alias.md): The`vercel alias`command allows you to apply [custom domains](/docs/projects/custom-domains) to your deployments. - [vercel bisect](vercel-bisect.md): The`vercel bisect`command can be used to perform a [binary search](https://wikipedia.org/wiki/Binary_search_algorit... - [vercel blob](vercel-blob.md): The`vercel blob`command is used to interact with [Vercel Blob](/docs/storage/vercel-blob) storage, providing functi... - [vercel build](vercel-build.md): The`vercel build`command can be used to build a Vercel Project locally or in your own CI environment. - [vercel cache](vercel-cache.md): The`vercel cache`command is used to manage the cache for your project, such as [CDN cache](/docs/cdn-cache) and [Da... - [vercel certs](vercel-certs.md): The`vercel certs`command is used to manage certificates for domains, providing functionality to list, issue, and re... - [vercel curl](vercel-curl.md): **⚠️ Warning:** The`vercel curl`command is currently in beta. Features and behavior may change. - [Windows (using Chocolatey)](windows-using-chocolatey.md): choco install curl - [Deploy your project](deploy-your-project.md): vercel deploy - [vercel deploy](vercel-deploy.md): The`vercel deploy`command deploys Vercel projects, executable from the project's root directory or by specifying a ... - [save stdout and stderr to files](save-stdout-and-stderr-to-files.md): vercel deploy >deployment-url.txt 2>error.txt - [check the exit code](check-the-exit-code.md): code=$? - [save stdout and stderr to files](save-stdout-and-stderr-to-files-2.md): vercel deploy >deployment-url.txt 2>error.txt - [check the exit code](check-the-exit-code-2.md): code=$? - [Deploy the pre-built project, archiving it as a .tgz file](deploy-the-pre-built-project-archiving-it-as-a-tgz-file.md): vercel deploy --prebuilt --archive=tgz - [Deploying Projects from Vercel CLI](deploying-projects-from-vercel-cli.md): The`vercel`command is used to [deploy](/docs/cli/deploy) Vercel Projects and can be used from either the root of th... - [vercel dev](vercel-dev.md): The`vercel dev`command is used to replicate the Vercel deployment environment locally, allowing you to test your [V... - [vercel dns](vercel-dns.md): The`vercel dns`command is used to manage DNS record for domains, providing functionality to list, add, remove, and ... - [vercel domains](vercel-domains.md): The`vercel domains`command is used to manage domains under the current scope, providing functionality to list, insp... - [vercel env](vercel-env.md): The`vercel env`command is used to manage [Environment Variables](/docs/environment-variables) of a Project, providi... - [vercel git](vercel-git.md): The`vercel git`command is used to manage a Git provider repository for a Vercel Project, - [Vercel CLI Global Options](vercel-cli-global-options.md): Global options are commonly available to use with multiple Vercel CLI commands. - [vercel guidance](vercel-guidance.md): The`vercel guidance`command allows you to enable or disable guidance messages. Guidance messages are helpful sugges... - [vercel help](vercel-help.md): The`vercel help`command generates a list of all available Vercel CLI commands and [options](/docs/cli/global-option... - [vercel httpstat](vercel-httpstat.md): **⚠️ Warning:** The`vercel httpstat`command is currently in beta. Features and behavior may change. - [Or install with Homebrew (macOS)](or-install-with-homebrew-macos.md): brew install httpstat - [Deploy your project](deploy-your-project-2.md): vercel deploy - [vercel init](vercel-init.md): The`vercel init`command is used to initialize [Vercel supported framework](/docs/frameworks) examples locally from ... - [vercel inspect](vercel-inspect.md): The`vercel inspect`command is used to retrieve information about a deployment referenced either by its deployment U... - [vercel install](vercel-install.md): The`vercel install`command is used to install a [native integration](/docs/integrations/create-integration#native-i... - [vercel integration](vercel-integration.md): The`vercel integration`command needs to be used with one of the following actions: - [List all resources for the current project](list-all-resources-for-the-current-project.md): vercel integration list - [Filter resources to a specific integration](filter-resources-to-a-specific-integration.md): vercel integration list --integration neon - [List all resources across all projects in the team](list-all-resources-across-all-projects-in-the-team.md): vercel integration list --all - [vercel integration-resource](vercel-integration-resource.md): The`vercel integration-resource`command (alias:`vercel ir`) needs to be used with one of the following actions: - [Remove a resource](remove-a-resource.md): vercel integration-resource remove my-database - [Disconnect all projects and remove](disconnect-all-projects-and-remove.md): vercel ir remove my-database --disconnect-all - [Remove without confirmation](remove-without-confirmation.md): vercel ir rm my-cache -a -y - [Disconnect from linked project](disconnect-from-linked-project.md): vercel integration-resource disconnect my-database - [Disconnect from a specific project](disconnect-from-a-specific-project.md): vercel ir disconnect my-database my-project - [Disconnect all projects from the resource](disconnect-all-projects-from-the-resource.md): vercel ir disconnect my-database --all - [Disconnect all without confirmation](disconnect-all-without-confirmation.md): vercel ir disconnect my-database -a -y - [vercel link](vercel-link.md): The`vercel link`command links your local directory to a [Vercel Project](/docs/projects/overview). - [vercel list](vercel-list.md): The`vercel list`command, which can be shortened to`vercel ls`, provides a list of recent deployments for the curre... - [vercel login](vercel-login.md): The`vercel login`command allows you to login to your Vercel account through Vercel CLI. - [vercel logout](vercel-logout.md): The`vercel logout`command allows you to logout of your Vercel account through Vercel CLI. - [vercel logs](vercel-logs.md): The`vercel logs`command displays and follows runtime logs data for a specific deployment. - [vercel mcp](vercel-mcp.md): The`vercel mcp`command helps you set up an MCP client to talk to MCP servers you deploy on Vercel. It links your lo... - [vercel microfrontends](vercel-microfrontends.md): The`vercel microfrontends`command (alias: ) provides utilities for working with Vercel Microfrontends from the CLI. - [vercel open](vercel-open.md): The`vercel open`command opens your current project in the Vercel Dashboard. It automatically opens your default bro... - [Then open it](then-open-it.md): vercel open - [Vercel CLI Overview](vercel-cli-overview.md): Vercel gives you multiple ways to interact with and configure your Vercel Projects. With the command-line interface (... - [vercel project](vercel-project.md): The`vercel project`command is used to manage your Vercel Projects, providing functionality to list, add, inspect, a... - [Output as JSON](output-as-json.md): vercel project ls --json - [Output as JSON](output-as-json-2.md): vercel project ls --update-required --json - [Linking Projects with Vercel CLI](linking-projects-with-vercel-cli.md): When running`vercel`in a directory for the first time, Vercel CLI needs to know which [scope](/docs/dashboard-featu... - [vercel promote](vercel-promote.md): The`vercel promote`command is used to promote an existing deployment to be the current deployment. - [Check status for the linked project](check-status-for-the-linked-project.md): vercel promote status - [Check status for a specific project](check-status-for-a-specific-project.md): vercel promote status my-project - [Check status with a custom timeout](check-status-with-a-custom-timeout.md): vercel promote status --timeout 30s - [vercel pull](vercel-pull.md): The`vercel pull`command is used to store [Environment Variables](/docs/environment-variables) and Project Settings ... - [vercel redeploy](vercel-redeploy.md): The`vercel redeploy`command is used to rebuild and [redeploy an existing deployment](/docs/deployments/managing-dep... - [save stdout and stderr to files](save-stdout-and-stderr-to-files-3.md): vercel redeploy >deployment-url.txt 2>error.txt - [check the exit code](check-the-exit-code-3.md): code=$? - [vercel redirects](vercel-redirects.md): The`vercel redirects`command lets you manage redirects for a project. Redirects managed at the project level apply ... - [Search for redirects](search-for-redirects.md): vercel redirects list --search "/old-path" - [List redirects on page 2](list-redirects-on-page-2.md): vercel redirects list --page 2 - [List redirects with custom page size](list-redirects-with-custom-page-size.md): vercel redirects list --per-page 25 - [List redirects from staging version](list-redirects-from-staging-version.md): vercel redirects list --staged - [List redirects from a specific version](list-redirects-from-a-specific-version.md): vercel redirects list --version ver_abc123 - [Add a new redirect interactively](add-a-new-redirect-interactively.md): vercel redirects add - [Add a new redirect with arguments](add-a-new-redirect-with-arguments.md): vercel redirects add /old-path /new-path - [Add a redirect with all options](add-a-redirect-with-all-options.md): vercel redirects add /old-path /new-path --status 301 --case-sensitive --preserve-query-params --name "My redirect" - [Add a redirect non-interactively](add-a-redirect-non-interactively.md): vercel redirects add /old-path /new-path --yes - [Upload redirects from CSV file](upload-redirects-from-csv-file.md): vercel redirects upload redirects.csv - [Upload redirects from JSON file](upload-redirects-from-json-file.md): vercel redirects upload redirects.json - [Upload and overwrite existing redirects](upload-and-overwrite-existing-redirects.md): vercel redirects upload redirects.csv --overwrite - [Upload without confirmation](upload-without-confirmation.md): vercel redirects upload redirects.csv --yes - [Remove a redirect](remove-a-redirect.md): vercel redirects remove /old-path - [Promote a redirect version](promote-a-redirect-version.md): vercel redirects promote - [Restore a redirects version](restore-a-redirects-version.md): vercel redirects restore - [vercel remove](vercel-remove.md): The`vercel remove`command, which can be shortened to`vercel rm`, is used to remove deployments either by ID or for... - [vercel rollback](vercel-rollback.md): The`vercel rollback`command is used to [roll back production deployments](/docs/instant-rollback) to previous deplo... - [Check status for the linked project](check-status-for-the-linked-project-2.md): vercel rollback status - [Check status for a specific project](check-status-for-a-specific-project-2.md): vercel rollback status my-project - [Check status with a custom timeout](check-status-with-a-custom-timeout-2.md): vercel rollback status --timeout 30s - [vercel rolling-release](vercel-rolling-release.md): The`vercel rolling-release`command (also available as`vercel rr`) is used to manage your project's rolling release... - [vercel switch](vercel-switch.md): The`vercel switch`command is used to switch to a different team scope when logged in with Vercel CLI. You can choos... - [vercel target](vercel-target.md): The`vercel target`command (alias:`vercel targets`) manages your Vercel project's targets (custom environments). Ta... - [Deploy to a custom environment named "staging"](deploy-to-a-custom-environment-named-staging.md): vercel deploy --target=staging - [vercel teams](vercel-teams.md): The`vercel teams`command is used to manage [Teams](/docs/accounts/create-a-team), providing functionality to list, ... - [vercel telemetry](vercel-telemetry.md): The`vercel telemetry`command allows you to enable or disable telemetry collection. - [vercel whoami](vercel-whoami.md): The`vercel whoami`command is used to show the username of the user currently logged into [Vercel CLI](/cli). - [Code Owners changelog](code-owners-changelog.md): pnpm i @vercel-private/code-owners - [vercel-code-owners](vercel-code-owners.md): The`vercel-code-owners`command provides functionality to initialize and validate - [Code Approvers](code-approvers.md): Code Approvers are a list of [GitHub usernames or teams](https://docs.github.com/en/organizations/organizing-members-... - [Approver with optional modifier](approver-with-optional-modifier.md): @owner2:optional - [This person will never be requested to review code but can still approve for owners coverage.](this-person-will-never-be-requested-to-review-code-but-can-still-approve-for-own.md): @owner:silent - [my-team is always notified even if leerob is selected as the reviewer.](my-team-is-always-notified-even-if-leerob-is-selected-as-the-reviewer.md): @vercel/my-team:notify - [An individual from the @acme/eng-team will be requested as a reviewer.](an-individual-from-the-acmeeng-team-will-be-requested-as-a-reviewer.md): @acme/eng-team:members - [An individual from the @acme/eng-team, except for leerob will be requested as a reviewer.](an-individual-from-the-acmeeng-team-except-for-leerob-will-be-requested-as-a-rev.md): @acme/eng-team:members:not(leerob) - [Both leerob and mknichel will not be requested for review.](both-leerob-and-mknichel-will-not-be-requested-for-review.md): @acme/eng-team:members:not(leerob):not(mknichel) - [The @acme/eng-team will be requested as a reviewer.](the-acmeeng-team-will-be-requested-as-a-reviewer.md): @acme/eng-team:team - [The check won't pass until both `owner1` and `owner2` approve.](the-check-wont-pass-until-both-owner1-and-owner2-approve.md): @owner1:required - [The check won't pass until one member of the team approves.](the-check-wont-pass-until-one-member-of-the-team-approves.md): @vercel/my-team:required - [Matches all files in the current directory and all subdirectories.](matches-all-files-in-the-current-directory-and-all-subdirectories.md): @owner - [Matches the single `package.json` file in the current directory only.](matches-the-single-packagejson-file-in-the-current-directory-only.md): package.json @package-owner - [Matches all javascript files in the current directory only.](matches-all-javascript-files-in-the-current-directory-only.md): *.js @js-owner - [Matches all `package.json` files in the current directory and its subdirectories.](matches-all-packagejson-files-in-the-current-directory-and-its-subdirectories.md): **/package.json @package-owner - [Matches all javascript files in the current directory and its subdirectories.](matches-all-javascript-files-in-the-current-directory-and-its-subdirectories.md): **/*.js @js-owner - [Instead add a `.vercel.approvers` file in the `src` directory.](instead-add-a-vercelapprovers-file-in-the-src-directory.md): src/**/*.js @js-owner - [Instead add a `.vercel.approvers` file in the `src/pages` directory.](instead-add-a-vercelapprovers-file-in-the-srcpages-directory.md): src/pages/index.js @js-owner - [Both @package-owner and @org/team will be able to approve changes to the](both-package-owner-and-orgteam-will-be-able-to-approve-changes-to-the.md) - [package.json file.](packagejson-file.md): package.json @package-owner - [Changes to the `pnpm-lock.yaml` file in the current directory can be approved by anyone.](changes-to-the-pnpm-lockyaml-file-in-the-current-directory-can-be-approved-by-an.md): pnpm-lock.yaml * - [Changes to any README in the current directory or its subdirectories can be approved by anyone.](changes-to-any-readme-in-the-current-directory-or-its-subdirectories-can-be-appr.md): **/readme.md * - [Getting Started with Code Owners](getting-started-with-code-owners.md): To set up Code Owners in your repository, you'll need to do the following: - [Code Owners](code-owners.md): As a company grows, it can become difficult for any one person to be familiar with the entire codebase. As growing te... - [Enabling and Disabling Comments](enabling-and-disabling-comments.md): Comments are enabled by default for all preview deployments on all new projects. **By default, only members of [your ... - [Integrations for Comments](integrations-for-comments.md): Comments are available for projects using **any** Git provider. Github, BitBucket and GitLab [are supported automatic... - [Managing Comments on Preview Deployments](managing-comments-on-preview-deployments.md): You can resolve comments by selecting the **☐ Resolve** checkbox that appears under each thread or comment. You can a... - [Comments Overview](comments-overview.md): Comments allow teams [and invited participants](/docs/comments/how-comments-work#sharing) to give direct feedback on ... - [Using Comments with Preview Deployments](using-comments-with-preview-deployments.md): You must be logged in to create a comment. You can press`c`to enable the comment placement cursor. - [Vercel CDN Compression](vercel-cdn-compression.md): Vercel helps reduce data transfer and improve performance by supporting both Gzip and Brotli compression. These algor... - [Conformance Allowlists](conformance-allowlists.md): Conformance allowlists enable developers to integrate code into the codebase, bypassing specific Conformance rules wh... - [Conformance changelog](conformance-changelog.md): pnpm i @vercel-private/conformance - [vercel-conformance](vercel-conformance.md): The`vercel-conformance`command is used to run - [forbidden-code](forbidden-code.md): The`forbidden-code`rule type enables you to disallow code and code patterns through string and regular expression m... - [forbidden-dependencies](forbidden-dependencies.md): The`forbidden-dependencies`rule type enables you to disallow one or more files from depending on one or more predef... - [forbidden-imports](forbidden-imports.md): The`forbidden-imports`rule type enables you to disallow one or more files from importing one or more predefined mod... - [forbidden-packages](forbidden-packages.md): The`forbidden-packages`rule type enables you to disallow packages from being listed as dependencies in`package.json`. - [forbidden-properties](forbidden-properties.md): The`forbidden-properties`rule type enables you to disallow reading from, - [Conformance Custom Rules](conformance-custom-rules.md): Vercel's built-in Conformance rules are crafted from extensive experience in developing large-scale codebases and hig... - [Customizing Conformance](customizing-conformance.md): The Conformance framework may be customized so that you can manage - [Getting Started with Conformance](getting-started-with-conformance.md): To set up Conformance in your repository, you must: - [Introduction to Conformance](introduction-to-conformance.md): Conformance provides tools that run automated checks on your code for product critical issues, such as performance, s... - [BFCACHE_INTEGRITY_NO_UNLOAD_LISTENERS](bfcache-integrity-no-unload-listeners.md): This rule disallows the use of the`unload`and`beforeunload`events to improve the integrity of the Back-Forward Ca... - [BFCACHE_INTEGRITY_REQUIRE_NOOPENER_ATTRIBUTE](bfcache-integrity-require-noopener-attribute.md): The Back-Forward Cache (bfcache) is a browser feature that allows pages to be cached in memory when the user navigates - [ESLINT_CONFIGURATION](eslint-configuration.md): [ESLint](https://eslint.org/) is a tool to statically analyze code to find and - [ESLINT_NEXT_RULES_REQUIRED](eslint-next-rules-required.md): This Conformance check requires that ESLint plugins for Next.js are configured - [ESLINT_REACT_RULES_REQUIRED](eslint-react-rules-required.md): This Conformance check requires that ESLint plugins for React are configured - [ESLINT_RULES_REQUIRED](eslint-rules-required.md): This Conformance check requires that ESLint plugins are configured correctly - [NEXTJS_MISSING_MODULARIZE_IMPORTS](nextjs-missing-modularize-imports.md): `modularizeImports`is a feature of Next 13 that can reduce dev compilation times - [NEXTJS_MISSING_NEXT13_TYPESCRIPT_PLUGIN](nextjs-missing-next13-typescript-plugin.md): Next 13 introduced a TypeScript plugin to provide richer information for - [NEXTJS_MISSING_OPTIMIZE_PACKAGE_IMPORTS](nextjs-missing-optimize-package-imports.md): is a feature added in Next 13.5 that improves compilation speed when importing packages that use barrel - [NEXTJS_MISSING_REACT_STRICT_MODE](nextjs-missing-react-strict-mode.md): We strongly suggest you enable Strict Mode in your Next.js application - [NEXTJS_MISSING_SECURITY_HEADERS](nextjs-missing-security-headers.md): Security headers are important to set to improve the security of your application. - [NEXTJS_NO_ASYNC_LAYOUT](nextjs-no-async-layout.md): This rule examines all Next.js app router layout files and their transitive dependencies to ensure - [NEXTJS_NO_ASYNC_PAGE](nextjs-no-async-page.md): This rule examines all Next.js app router page files and their transitive dependencies to ensure - [NEXTJS_NO_BEFORE_INTERACTIVE](nextjs-no-before-interactive.md): The default [loading strategy](https://nextjs.org/docs/basic-features/script#strategy) - [NEXTJS_NO_CLIENT_DEPS_IN_MIDDLEWARE](nextjs-no-client-deps-in-middleware.md): This check disallows dependencies on client libraries, such as`react`and - [NEXTJS_NO_DYNAMIC_AUTO](nextjs-no-dynamic-auto.md): Changing the dynamic behavior of a layout or page using "force-dynamic" is - [NEXTJS_NO_FETCH_IN_SERVER_PROPS](nextjs-no-fetch-in-server-props.md): Since both`getServerSideProps`and API routes run on the server, calling`fetch`on a non-relative - [NEXTJS_NO_GET_INITIAL_PROPS](nextjs-no-get-initial-props.md): `getInitialProps`is an older Next.js API for server-side rendering that can usually be replaced with - [NEXTJS_NO_PRODUCTION_SOURCE_MAPS](nextjs-no-production-source-maps.md): Enabling production source maps in your Next.js application will publicly share your - [NEXTJS_NO_SELF_HOSTED_VIDEOS](nextjs-no-self-hosted-videos.md): Video files, which are typically large, can consume a lot of bandwidth for - [NEXTJS_NO_TURBO_CACHE](nextjs-no-turbo-cache.md): This rule prevents the`.next/cache`folder from being added to the Turborepo cache. - [NEXTJS_REQUIRE_EXPLICIT_DYNAMIC](nextjs-require-explicit-dynamic.md): **⚠️ Warning:** This rule conflicts with the experimental Next.js feature [Partial - [NEXTJS_SAFE_NEXT_PUBLIC_ENV_USAGE](nextjs-safe-next-public-env-usage.md): The use of`process.env.NEXT_PUBLIC_*`environment variables may warrant a review from other developers to ensure the... - [NEXTJS_SAFE_SVG_IMAGES](nextjs-safe-svg-images.md): SVG can do many of the same things that HTML/JS/CSS can, meaning that it can be dangerous to execute SVG - [NEXTJS_SAFE_URL_IMPORTS](nextjs-safe-url-imports.md): URL imports are an experimental feature that allows you to import modules directly - [NEXTJS_UNNEEDED_GET_SERVER_SIDE_PROPS](nextjs-unneeded-get-server-side-props.md): This rule will analyze each Next.js page's`getServerSideProps`to see if the context parameter is being used and if not - [NEXTJS_USE_NATIVE_FETCH](nextjs-use-native-fetch.md): Next.js extends the native [Web`fetch`API](https://nextjs.org/docs/app/api-reference/functions/fetch) - [NEXTJS_USE_NEXT_FONT](nextjs-use-next-font.md): automatically optimizes fonts and removes external network requests for - [NEXTJS_USE_NEXT_IMAGE](nextjs-use-next-image.md): The Next.js Image component ([`next/image`](https://nextjs.org/docs/pages/api-reference/components/image)) - [NEXTJS_USE_NEXT_SCRIPT](nextjs-use-next-script.md): automatically optimizes scripts for improved performance through customizable - [NO_ASSIGN_WINDOW_LOCATION](no-assign-window-location.md): Direct assignments to "window.location.href" or "window.location" should be avoided due to possible XSS attacks that ... - [NO_CORS_HEADERS](no-cors-headers.md): Misconfiguring CORS ([Cross Origin Resource Sharing](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)) - [NO_DANGEROUS_HTML](no-dangerous-html.md): Unsafe creation of DOM can be done a variety of ways: - [NO_DOCUMENT_WRITE](no-document-write.md): Calls to`document.write()`or`document.writeln()`manipulate DOM directly without any sanitization and should be av... - [NO_EVAL](no-eval.md): JavaScript's`eval()`function is potentially dangerous, is often misused, and - [NO_EXTERNAL_CSS_AT_IMPORTS](no-external-css-at-imports.md): Importing CSS through ([`@import`](https://developer.mozilla.org/en-US/docs/Web/CSS/@import)) - [NO_FETCH_FROM_MIDDLEWARE](no-fetch-from-middleware.md): [Next.js middleware](https://nextjs.org/docs/advanced-features/middleware) runs - [NO_INLINE_SVG](no-inline-svg.md): Preventing the use of``inline improves the health of your codebase at the page level. - [NO_INSTANCEOF_ERROR](no-instanceof-error.md): A common pattern for checking if an object is an error is to use - [NO_MIXED_ASYNC_MODULES](no-mixed-async-modules.md): Top-level await expressions in modules that are imported by other modules in sync - [NO_POSTINSTALL_SCRIPT](no-postinstall-script.md): Modifying, adding, or updating any dependencies in your application triggers the execution of the`"postinstall"`scr... - [NO_SERIAL_ASYNC_CALLS](no-serial-async-calls.md): Sequential execution of async/await calls can significantly impact performance because - [NO_UNNECESSARY_PROP_SPREADING](no-unnecessary-prop-spreading.md): This rule detects the usage of the spread operator when spreading an object as a prop within a JSX component. - [NO_VARIABLE_IMPORT_REFERENCES](no-variable-import-references.md): `import`and`require`statements load code from another file. When the - [PACKAGE_JSON_DESCRIPTION_REQUIRED](package-json-description-required.md): This check ensures that every`package.json`has a`description`field. - [PACKAGE_JSON_DUPLICATE_DEPENDENCIES](package-json-duplicate-dependencies.md): Packages that are listed in the`dependencies`section of`package.json`should - [PACKAGE_JSON_NAME_REQUIRED](package-json-name-required.md): This check ensures that every`package.json`has a`name`field. This field is important because - [PACKAGE_JSON_PRIVATE_REQUIRED](package-json-private-required.md): This check ensures that every`package.json`has the`private`field set to true or false. - [PACKAGE_JSON_PRIVATE_REQUIREDPACKAGE_JSON_SIDE_EFFECTS_REQUIRED](package-json-private-requiredpackage-json-side-effects-required.md): This check ensures that every`package.json`has a`sideEffects`field. - [PACKAGE_JSON_TYPE_REQUIRED](package-json-type-required.md): This check ensures that every`package.json`has a`type`field. This field determines - [PACKAGE_MANAGEMENT_NO_CIRCULAR_IMPORTS](package-management-no-circular-imports.md): This check ensures that there is no path through import statements back to the - [PACKAGE_MANAGEMENT_NO_UNRESOLVED_IMPORTS](package-management-no-unresolved-imports.md): All imports must be able to be resolved to a file local to the workspace or a - [PACKAGE_MANAGEMENT_REQUIRED_README](package-management-required-readme.md): A`README.md`file helps orient readers to the purpose of a workspace and - [REACT_NO_STATIC_IMPORTS_IN_EVENT_HANDLERS](react-no-static-imports-in-event-handlers.md): React event handlers are async, and as such, this means we can defer loading the - [REACT_STABLE_CONTEXT_PROVIDER_VALUE](react-stable-context-provider-value.md): When non-stable values (i.e. object identities) are used as the`value`prop for`Context.Provider`, - [REQUIRE_CARET_DEPENDENCIES](require-caret-dependencies.md): Using a caret ("^") as a prefix in the version of your dependencies is recommended. [Caret Ranges](https://github.com... - [REQUIRE_DOCS_ON_EXPORTED_FUNCTIONS](require-docs-on-exported-functions.md): Adding JSDoc to exported functions helps engineers to quickly understand the - [REQUIRE_NODE_VERSION_FILE](require-node-version-file.md): Using a Node.js version file (`.node-version`or`.nvmrc`) ensures that all - [REQUIRE_ONE_VERSION_POLICY](require-one-version-policy.md): Dependency mismatch is a common and easily preventable problem. When there - [SET_COOKIE_VALIDATION](set-cookie-validation.md): It's a good practice to enforce a cookie policy across a workspace to ensure only - [TESTS_NO_CONDITIONAL_ASSERTIONS](tests-no-conditional-assertions.md): When possible, conditional test assertions should be avoided as they can lead - [TESTS_NO_ONLY](tests-no-only.md): Focusing tests can help to write and debug test suites, but focused tests - [TYPESCRIPT_CONFIGURATION](typescript-configuration.md): Using TypeScript in a workspace requires a few items to be set up correctly: - [TYPESCRIPT_ONLY](typescript-only.md): [TypeScript](https://typescriptlang.org) is a superset of JavaScript that adds optional static typing. Using TypeScri... - [WORKSPACE_MISSING_CONFORMANCE_SCRIPT](workspace-missing-conformance-script.md): Conformance requires a script to exist in every workspace in the - [WORKSPACE_MISSING_PACKAGE_JSON](workspace-missing-package-json.md): All directories that match a glob used to configure package manager workspaces - [Conformance Rules](conformance-rules.md): This page lists all the built-in rules that Conformance will check for by - [Connectivity](connectivity.md): Connect your projects to backend services that require IP allowlisting or private network access. - [Secure Compute](secure-compute.md): Secure Compute creates private connections between your [Vercel Functions](/docs/functions) and your backend infrastr... - [Getting Started with Static IPs](getting-started-with-static-ips.md): This guide walks you through setting up Static IPs so you can access backend services that require IP allowlisting. - [Static IPs](static-ips.md): With Static IPs (shared pool), you can access backend services that require IP allowlisting through static egress IPs... - [Vercel Enterprise Managed Infrastructure](vercel-enterprise-managed-infrastructure.md): Vercel prices its [CDN](/docs/cdn) resources by region to help optimize costs and performance for your projects. This... - [Managing Cron Jobs](managing-cron-jobs.md): To view your active cron jobs: - [Cron Jobs](cron-jobs.md): Cron jobs are time-based scheduling tools used to automate repetitive tasks. By using a specific syntax called a [cro... - [Getting started with cron jobs](getting-started-with-cron-jobs.md): This guide will help you get started with using cron jobs on Vercel. Cron jobs are scheduled tasks that run at specif... - [Usage & Pricing for Cron Jobs](usage-pricing-for-cron-jobs.md): Cron jobs invoke [Vercel Functions](/docs/functions). This means the same [usage](/docs/limits) and [pricing](/pricin... - [Custom error pages](custom-error-pages.md): Custom error pages let you replace Vercel's platform error pages with your own branded experience. These include erro... - [Using the Command Menu](using-the-command-menu.md): Vercel provides a menu with shortcuts, called the **Command Menu**, to navigate through the dashboard and perform com... - [Navigating the Dashboard](navigating-the-dashboard.md): When you sign in to Vercel through your browser, you'll be presented with the dashboard. Any subsequent visits to [ve... - [Dashboard Overview](dashboard-overview.md): You can use the [Vercel dashboard](/dashboard) to view and manage all aspects of the Vercel platform, including your ... - [Support Center](support-center.md): The Vercel Support Center provides a secure and streamlined way for you to submit support cases. The Support Center a... - [Data Cache for Next.js](data-cache-for-nextjs.md): The Vercel Data Cache is a specialized, granular cache that was introduced with Next.js 13 for storing [segment-level... - [Build Settings](build-settings.md): | Parameter | Type | Description ... - [Using Callbacks with the Deploy Button](using-callbacks-with-the-deploy-button.md): | Parameter | Type | Value | - [Deploy Button Demo](deploy-button-demo.md): | Parameter | Type | Value | Required | - [Using Environment Variables with the Deploy Button](using-environment-variables-with-the-deploy-button.md): | Parameter | Type | Value | - [Using Integrations with the Deploy Button](using-integrations-with-the-deploy-button.md): | Parameter | Type | Value ... - [Working with the Deploy Button](working-with-the-deploy-button.md): The Deploy Button allows users to deploy a new project through the Vercel Project creation flow, while cloning the so... - [Deploy Button Source](deploy-button-source.md): | Parameter | Type | Value | - [Creating & Triggering Deploy Hooks](creating-triggering-deploy-hooks.md): Deploy Hooks allow you to create URLs that accept HTTP`POST`requests in order to trigger deployments and re-run the... - [Deployment Checks](deployment-checks.md): Deployment Checks are conditions that must be met before promoting a production build to your production environment. - [Deployment Protection Exception](deployment-protection-exception.md): You can use [Deployment Protection Exceptions](/docs/security/deployment-protection/methods-to-bypass-deployment-prot... - [OPTIONS Allowlist](options-allowlist.md): You can use OPTIONS Allowlist to disable Deployment Protection (including [Vercel Authentication](/docs/security/depl... - [Methods to bypass Deployment Protection](methods-to-bypass-deployment-protection.md): To test, share, or exclude specific domains from Deployment Protection, you can use the following methods to allow sp... - [Protection Bypass for Automation](protection-bypass-for-automation.md): The Protection Bypass for Automation feature lets you bypass Vercel Deployment Protection ([Password Protection](/doc... - [Stripe webhook URL](stripe-webhook-url.md) - [GitHub webhook URL](github-webhook-url.md) - [Sharable Links](sharable-links.md): Shareable links allow external users to securely access your deployments through a query string parameter. - [Methods to Protect Deployments](methods-to-protect-deployments.md): Vercel offers three methods for protecting your deployments. Depending on your use case, you can choose to protect a ... - [Password Protection](password-protection.md): With Password Protection enabled, visitors to your deployment must enter the pre-def... - [Trusted IPs](trusted-ips.md): With Trusted IPs [enabled](/docs/security/deployment-protection/methods-to-protect-deployments/trusted-ips#managing-t... - [Vercel Authentication](vercel-authentication.md): Vercel Authentication lets you restrict access to your public and non-public deployments. It is the **recommended** a... - [Deployment Protection on Vercel](deployment-protection-on-vercel.md): Deployment Protection safeguards both your preview and production URLs across various environments. Configured at the... - [Deployment Retention](deployment-retention.md): Deployment retention refers to the configured policies that determine how long different types of deployments are kep... - [Claim Deployments](claim-deployments.md): The Claim Deployments feature enables users to take control of deployments by transferring them to their Vercel accou... - [Environments](environments.md): Vercel provides three default environments—**Local**, **Preview**, and **Production**: - [Deploy to a custom environment named "staging":](deploy-to-a-custom-environment-named-staging-2.md): vercel deploy --target=staging - [Pull environment variables from "staging":](pull-environment-variables-from-staging.md): vercel pull --environment=staging - [Add environment variables to "staging":](add-environment-variables-to-staging.md): vercel env add MY_KEY staging - [Accessing Deployments through Generated URLs](accessing-deployments-through-generated-urls.md): When you create a new [deployment](/docs/deployments) in either a preview or production [environment](/docs/deploymen... - [Accessing Build Logs](accessing-build-logs.md): When you deploy your website to Vercel, the platform generates build logs that show the deployment progress. The buil... - [Managing Deployments](managing-deployments.md): You can manage all current and previous deployments regardless of environment, status, or branch from the [dashboard]... - [Inspecting your Open Graph metadata](inspecting-your-open-graph-metadata.md): You can use the **Open Graph** tab on every deployment on Vercel to validate and view your [Open Graph (OG)](https://... - [Deploying to Vercel](deploying-to-vercel.md): A **deployment** on Vercel is the result of a successful build of your project. Each time you deploy, Vercel generate... - [Preview Deployment Suffix](preview-deployment-suffix.md): Preview Deployment Suffixes allow you to customize the URL of a [preview deployment](/docs/deployments/environments#p... - [Promoting Deployments](promoting-deployments.md): By default, when you merge to or make commits to your production branch (often`main`), Vercel will automatically pro... - [Sharing a Preview Deployment](sharing-a-preview-deployment.md): By default, members of your [Vercel team](/docs/accounts/create-a-team) that have [access to your project](/docs/rbac... - [Troubleshooting Build Errors](troubleshooting-build-errors.md): You can troubleshoot build errors that occur during the Build step of your deployment to Vercel. This guide will help... - [Troubleshoot project collaboration](troubleshoot-project-collaboration.md): This guide will help you understand how to troubleshoot deployment failures related to project collaboration. - [Exclude Files from Deployments with .vercelignore](exclude-files-from-deployments-with-vercelignore.md): The`.vercelignore`file can be used to specify files and directories that should be excluded from the deployment pro... - [Ignore everything (folders and files) on root only](ignore-everything-folders-and-files-on-root-only.md): /* - [Using the Directory Listing](using-the-directory-listing.md): The Directory Listing setting enables you to display the contents of a directory when a user visits its path. For exa... - [Directory Sync](directory-sync.md): Directory Sync helps teams manage their organization membership from a third-party identity provider like Google Dire... - [Uploading Custom SSL Certificates](uploading-custom-ssl-certificates.md): By default, Vercel provides all domains with custom SSL certificates. However, Enterprise teams can upload a custom S... - [Managing DNS Records](managing-dns-records.md): Once you've added a domain and it's using Vercel's nameservers, you can view its DNS records from your team's [**Doma... - [Managing Nameservers](managing-nameservers.md): [Nameservers](/docs/domains/working-with-nameservers) are used to resolve domain names to IP addresses. For domains w... - [Domains Overview](domains-overview.md): A **domain** is a user-friendly way of referring to the address access a website on the internet. For example, the do... - [Pre-Generate SSL Certificates](pre-generate-ssl-certificates.md): **💡 Note:** This page is part the domains transfer experience. See [this - [Programmatic Domain Management](programmatic-domain-management.md): The domains registrar API enables you to programmatically manage your domain lifecycle from search to renewal. - [Supported domains](supported-domains.md): Vercel supports the following top-level domains (TLDs) for [purchase](/docs/domains/working-with-domains#buying-a-dom... - [Troubleshooting domains](troubleshooting-domains.md): There are many common reasons why your domain configuration may not be working. Check the following: - [Working with DNS](working-with-dns.md): DNS is the system used to connect domain names to IP addresses. When you make a request for a website, the browser pe... - [Adding & Configuring a Custom Domain](adding-configuring-a-custom-domain.md): Vercel provides all deployments with a`vercel.app`URL, which enables you to share Deployments with your Team for co... - [Assigning a custom domain to an environment](assigning-a-custom-domain-to-an-environment.md): 1. From the [dashboard](/dashboard), pick the project to which you would like to assign your domain and select the **... - [Assigning a domain to a Git branch](assigning-a-domain-to-a-git-branch.md): Every commit pushed to the [Production Branch](/docs/git#production-branch) of your [connected Git repository](/docs/... - [Claiming Domain Ownership](claiming-domain-ownership.md): If a domain is registered with another Vercel account and you need to take ownership of it, Vercel will automatically... - [Deploying & Redirecting Domains](deploying-redirecting-domains.md): Once the domain has been added to your project and configured, it is **automatically applied to your latest productio... - [Working with domains](working-with-domains.md): You can buy a domain through Vercel by going to the [Vercel.com domains page](http... - [Removing a Domain from a Project](removing-a-domain-from-a-project.md): When you add a domain to any project, it will be connected to your account until you choose to delete it. This guide ... - [Managing Domain Renewals and Redemptions](managing-domain-renewals-and-redemptions.md): Custom domains purchased through or registered with Vercel are automatically renewed by default with... - [Transferring Domains to Another Team or Project](transferring-domains-to-another-team-or-project.md): - ### Select the Domains tab - [Viewing & Searching Domains](viewing-searching-domains.md): To view all your registered domains, go to the **Domains** tab in your Vercel dashboard. - [Working with nameservers](working-with-nameservers.md): **⚠️ Warning:** Before moving your domain to use Vercel's nameservers, you should ensure that - [Working with SSL Certificates](working-with-ssl-certificates.md): An SSL certificate enables encrypted communication between user's browser and your web server to be encrypted. The ce... - [Draft Mode](draft-mode.md): Draft Mode lets you view your unpublished headless CMS content on your website rendered with all the normal styling a... - [Working with Drains](working-with-drains.md): Drains let you forward observability data from your applications to external services for debugging, performance opti... - [Web Analytics Drains Reference](web-analytics-drains-reference.md): If a Web Analytics Drains has been configured, Vercel will send page views and custom events from your applications t... - [Log Drains Reference](log-drains-reference.md): Log Drains forward logs from your deployments to external endpoints for storage and analysis. You can configure Log D... - [Speed Insights Drains Reference](speed-insights-drains-reference.md): Speed Insights Drains send performance metrics and web vitals from your applications to external endpoints for storag... - [Trace Drains Reference](trace-drains-reference.md): Trace Drains forward distributed tracing data from your deployments to external endpoints for storage and analysis. Y... - [Drains Security](drains-security.md): All Drains support transport-level encryption using HTTPS protocol. - [Using Drains](using-drains.md): You can add drains to your project by following the configuration steps below. When you configure the destination, ch... - [Managing Edge Configs with the Dashboard](managing-edge-configs-with-the-dashboard.md): You can create, view and update your [Edge Configs](/edge-config), and the data inside them, in your Vercel Dashboard... - [Using Edge Config with DevCycle](using-edge-config-with-devcycle.md): This guide will help you get started with using Vercel's DevCycle integration with Edge Config. This integration allo... - [Using Edge Config with Hypertune](using-edge-config-with-hypertune.md): Hypertune is a feature flag, A/B testing and app configuration platform with full type-safety and Git version control. - [Using Edge Config with LaunchDarkly](using-edge-config-with-launchdarkly.md): This guide will help you get started with using Vercel's LaunchDarkly integration with Edge Config. This integration ... - [Using Edge Config with an integration](using-edge-config-with-an-integration.md): Vercel has partnered with A/B testing and feature flag services such as LaunchDarkly and Statsig to make it easier to... - [Using Edge Config with Split](using-edge-config-with-split.md): This guide will help you get started with using Vercel's Split integration with Edge Config. This integration allows ... - [Using Edge Config with Statsig](using-edge-config-with-statsig.md): This guide will help you get started with using Vercel's Statsig integration with Edge Config. This integration allow... - [Edge Config Limits and pricing](edge-config-limits-and-pricing.md): An [Edge Config](/edge-config) is a global data store that [enables experimentation with feature flags, A/B testing, ... - [@vercel/edge-config](verceledge-config.md): The [Edge Config](/edge-config) client SDK is the most ergonomic way to read data from Edge Configs. It provides seve... - [Getting started with Edge Config](getting-started-with-edge-config.md): Edge Config is a distributed key-value store that allows you to store and retrieve data on Vercel's global network, c... - [Vercel Edge Config](vercel-edge-config.md): An [Edge Config](/edge-config) is a global data store that [enables experimentation with feature flags, A/B testing, ... - [Using Edge Config](using-edge-config.md): [Edge Config](/docs/edge-config) is a global data store that offers ultra-low latency read speeds from anywhere in th... - [Managing Edge Configs with Vercel REST API](managing-edge-configs-with-vercel-rest-api.md): We recommend you use the Vercel REST API only for creating and updating an [Edge Config](/edge-config). For reading d... - [Edge Middleware](edge-middleware.md): Edge Middleware is **code that executes *before* a request is processed on a site**. Based on the request, you can mo... - [Edit Mode](edit-mode.md): Content editing in CMSs usually occurs separately from the website's layout and design. This separation makes it hard... - [Encryption](encryption.md): Out of the box, every **deployment** on Vercel is served over an HTTPS connection. The [SSL](https://en.wikipedia.org... - [Framework environment variables](framework-environment-variables.md): Frameworks typically use a prefix in order to expose environment variables to the browser. - [Managing environment variables](managing-environment-variables.md): Environment variables are key-value pairs configured outside your source code so that each value can change depending... - [Environment variables](environment-variables.md): Environment variables are key-value pairs configured outside your source code so that each value can change depending... - [Reserved environment variables](reserved-environment-variables.md): The following [environment variable](/docs/environment-variables) names are [reserved](https://docs.aws.amazon.com/la... - [Rotating environment variables](rotating-environment-variables.md): **💡 Note:** Find guides for rotating secrets for our Marketplace providers in [Vercel's Knowledge Base](https://verce... - [Sensitive environment variables](sensitive-environment-variables.md): Sensitive environment variables are [environment variables](/docs/environment-variables "Environment variables") whos... - [Shared environment variables](shared-environment-variables.md): **Shared Environment Variables** are [environment variables](/docs/environment-variables "Environment variables") tha... - [System environment variables](system-environment-variables.md): Vercel provides a set of environment variables that are automatically populated by the system, such as the URL of the... - [BODY_NOT_A_STRING_FROM_FUNCTION](body-not-a-string-from-function.md): The`BODY_NOT_A_STRING_FROM_FUNCTION`error occurs when a function returns a body that is not a string. It's essentia... - [DEPLOYMENT_BLOCKED](deployment-blocked.md): The`DEPLOYMENT_BLOCKED`error occurs when a deployment is blocked due to certain conditions that prevent it from pro... - [DEPLOYMENT_DELETED](deployment-deleted.md): The`DEPLOYMENT_DELETED`error occurs when a request is made for a deployment that has been removed based on the proj... - [DEPLOYMENT_DISABLED](deployment-disabled.md): The`DEPLOYMENT_DISABLED`error occurs when a deployment is disabled due to certain conditions or configurations. Thi... - [DEPLOYMENT_NOT_FOUND](deployment-not-found.md): The`DEPLOYMENT_NOT_FOUND`error occurs when a request is made for a deployment that doesn't exist. This could happen... - [DEPLOYMENT_NOT_READY_REDIRECTING](deployment-not-ready-redirecting.md): The`DEPLOYMENT_NOT_READY_REDIRECTING`error occurs when the requested deployment is not yet ready, and the request i... - [DEPLOYMENT_PAUSED](deployment-paused.md): The`DEPLOYMENT_PAUSED`error occurs when a deployment is paused due to certain conditions or configurations. This mi... - [DNS_HOSTNAME_EMPTY](dns-hostname-empty.md): The`DNS_HOSTNAME_EMPTY`error occurs when an empty DNS record is received as part of the DNS response while attempti... - [DNS_HOSTNAME_NOT_FOUND](dns-hostname-not-found.md): The`DNS_HOSTNAME_NOT_FOUND`error occurs when there's an`NXDOMAIN`error during the DNS resolution while attempting... - [DNS_HOSTNAME_RESOLVED_PRIVATE](dns-hostname-resolved-private.md): The`DNS_HOSTNAME_RESOLVED_PRIVATE`error occurs when attempting to connect to a private IP from an external rewrite,... - [DNS_HOSTNAME_RESOLVE_FAILED](dns-hostname-resolve-failed.md): The`DNS_HOSTNAME_RESOLVE_FAILED`error occurs when attempting to connect to a private IP from an external rewrite. A... - [DNS_HOSTNAME_SERVER_ERROR](dns-hostname-server-error.md): The`DNS_HOSTNAME_SERVER_ERROR`error occurs when attempting to connect to a private IP from an external rewrite. Thi... - [EDGE_FUNCTION_INVOCATION_FAILED](edge-function-invocation-failed.md): The`EDGE_FUNCTION_INVOCATION_FAILED`error occurs when there is an issue with the Edge Function being invoked on the... - [EDGE_FUNCTION_INVOCATION_TIMEOUT](edge-function-invocation-timeout.md): The`EDGE_FUNCTION_INVOCATION_TIMEOUT`error occurs when an Edge Function takes longer than the allowed execution tim... - [FALLBACK_BODY_TOO_LARGE](fallback-body-too-large.md): The`FALLBACK_BODY_TOO_LARGE`error indicates that the size of the fallback body exceeds the maximum cache limit. Thi... - [FUNCTION_INVOCATION_FAILED](function-invocation-failed.md): The`FUNCTION_INVOCATION_FAILED`error occurs when a function invocation fails. This could be due to an error within ... - [FUNCTION_INVOCATION_TIMEOUT](function-invocation-timeout.md): The`FUNCTION_INVOCATION_TIMEOUT`error occurs when a function invocation takes longer than the [allowed execution ti... - [FUNCTION_PAYLOAD_TOO_LARGE](function-payload-too-large.md): The`FUNCTION_PAYLOAD_TOO_LARGE`error occurs when the payload sent to a function exceeds the maximum allowed size. T... - [FUNCTION_RESPONSE_PAYLOAD_TOO_LARGE](function-response-payload-too-large.md): The`FUNCTION_RESPONSE_PAYLOAD_TOO_LARGE`error occurs when the function returned a response that exceeds the maximum... - [FUNCTION_THROTTLED](function-throttled.md): The`FUNCTION_THROTTLED`error occurs when your Vercel Functions exceed the concurrent execution limit, often due to ... - [INFINITE_LOOP_DETECTED](infinite-loop-detected.md): The`INFINITE_LOOP_DETECTED`error occurs when an infinite loop is detected within the application. This error can oc... - [INTERNAL_CACHE_ERROR](internal-cache-error.md): The`INTERNAL_CACHE_ERROR`error occurs during an unexpected issue in the CDN while retrieving data from the Vercel C... - [INTERNAL_CACHE_KEY_TOO_LONG](internal-cache-key-too-long.md): The`INTERNAL_CACHE_KEY_TOO_LONG`error occurs when the CDN is unable to fetch from the internal cache due to a cache... - [INTERNAL_CACHE_LOCK_FULL](internal-cache-lock-full.md): The`INTERNAL_CACHE_LOCK_FULL`error occurs when CDN is accessing internal cache. This error is usually caused by a t... - [INTERNAL_CACHE_LOCK_TIMEOUT](internal-cache-lock-timeout.md): The`INTERNAL_CACHE_LOCK_TIMEOUT`error occurs when CDN is accessing internal cache. - [INTERNAL_DEPLOYMENT_FETCH_FAILED](internal-deployment-fetch-failed.md): The`INTERNAL_DEPLOYMENT_FETCH_FAILED`error occurs when the system is unable to fetch the deployment. This could hap... - [INTERNAL_EDGE_FUNCTION_INVOCATION_FAILED](internal-edge-function-invocation-failed.md): The`INTERNAL_EDGE_FUNCTION_INVOCATION_FAILED`error occurs when there is an issue with the Edge Function being invok... - [INTERNAL_EDGE_FUNCTION_INVOCATION_TIMEOUT](internal-edge-function-invocation-timeout.md): The`INTERNAL_EDGE_FUNCTION_INVOCATION_TIMEOUT`error occurs when an Edge Function takes longer than the allowed exec... - [INTERNAL_FUNCTION_INVOCATION_FAILED](internal-function-invocation-failed.md): The`INTERNAL_FUNCTION_INVOCATION_FAILED`error occurs when a function invocation fails. This could be due to an erro... - [INTERNAL_FUNCTION_INVOCATION_TIMEOUT](internal-function-invocation-timeout.md): The`INTERNAL_FUNCTION_INVOCATION_TIMEOUT`error occurs when a function invocation takes longer than the allowed exec... - [INTERNAL_FUNCTION_NOT_FOUND](internal-function-not-found.md): The`INTERNAL_FUNCTION_NOT_FOUND`error occurs when an attempt to invoke a function fails because the function could ... - [INTERNAL_FUNCTION_NOT_READY](internal-function-not-ready.md): The`INTERNAL_FUNCTION_NOT_READY`error occurs when an attempt is made to invoke a function before it is ready to acc... - [INTERNAL_MICROFRONTENDS_BUILD_ERROR](internal-microfrontends-build-error.md): The`INTERNAL_MICROFRONTENDS_BUILD_ERROR`error occurs when the deployment is missing data that should have been incl... - [INTERNAL_MICROFRONTENDS_INVALID_CONFIGURATION_ERROR](internal-microfrontends-invalid-configuration-error.md): The`INTERNAL_MICROFRONTENDS_INVALID_CONFIGURATION_ERROR`error occurs when the configuration file for the deployment... - [INTERNAL_MICROFRONTENDS_UNEXPECTED_ERROR](internal-microfrontends-unexpected-error.md): The`INTERNAL_MICROFRONTENDS_UNEXPECTED_ERROR`occurs due to unspecified internal issues, such as system faults or un... - [INTERNAL_MISSING_RESPONSE_FROM_CACHE](internal-missing-response-from-cache.md): The`INTERNAL_MISSING_RESPONSE_FROM_CACHE`error occurs when an unexpected error happened during the CDN accessing th... - [INTERNAL_OPTIMIZED_IMAGE_REQUEST_FAILED](internal-optimized-image-request-failed.md): The`INTERNAL_OPTIMIZED_IMAGE_REQUEST_FAILED`error occurs when the request for an internally optimized image fails. - [INTERNAL_ROUTER_CANNOT_PARSE_PATH](internal-router-cannot-parse-path.md): The`INTERNAL_ROUTER_CANNOT_PARSE_PATH`error occurs when the CDN has failed to parse application-specified URL, such... - [INTERNAL_STATIC_REQUEST_FAILED](internal-static-request-failed.md): The`INTERNAL_STATIC_REQUEST_FAILED`error is encountered when a request for a static file within the project cannot ... - [INTERNAL_UNARCHIVE_FAILED](internal-unarchive-failed.md): The`INTERNAL_UNARCHIVE_FAILED`error typically occurs when the platform encounters a problem trying to extract your ... - [INTERNAL_UNEXPECTED_ERROR](internal-unexpected-error.md): The`INTERNAL_UNEXPECTED_ERROR`error occurs when an unexpected and unspecified internal error happens within the sys... - [INVALID_IMAGE_OPTIMIZE_REQUEST](invalid-image-optimize-request.md): The`INVALID_IMAGE_OPTIMIZE_REQUEST`error occurs when the query string is using an invalid value for`q`(quality) o... - [INVALID_REQUEST_METHOD](invalid-request-method.md): The`INVALID_REQUEST_METHOD`error occurs when a request is made with a method that is either invalid or not supporte... - [MALFORMED_REQUEST_HEADER](malformed-request-header.md): The`MALFORMED_REQUEST_HEADER`error signifies that a request made to the server includes a header that is incorrectl... - [MICROFRONTENDS_MIDDLEWARE_ERROR](microfrontends-middleware-error.md): The`MICROFRONTENDS_MIDDLEWARE_ERROR`error occurs when the middleware returned a header`x-vercel-mfe-zone`with an ... - [MICROFRONTENDS_MISSING_FALLBACK_ERROR](microfrontends-missing-fallback-error.md): The`MICROFRONTENDS_MISSING_FALLBACK_ERROR`error occurs when a microfrontends request did not match any other deploy... - [MIDDLEWARE_INVOCATION_FAILED](middleware-invocation-failed.md): The`MIDDLEWARE_INVOCATION_FAILED`error occurs when there is an issue with the Routing Middleware being invoked on t... - [MIDDLEWARE_INVOCATION_TIMEOUT](middleware-invocation-timeout.md): The`MIDDLEWARE_INVOCATION_TIMEOUT`error occurs when an Routing Middleware takes [longer than the allowed execution ... - [MIDDLEWARE_RUNTIME_DEPRECATED](middleware-runtime-deprecated.md): The`MIDDLEWARE_RUNTIME_DEPRECATED`error occurs when a middleware is using a deprecated runtime. This error can occu... - [NOT_FOUND](not-found.md): The`NOT_FOUND`error occurs when a requested resource could not be found. This might happen if the resource has been... - [NO_RESPONSE_FROM_FUNCTION](no-response-from-function.md): The`NO_RESPONSE_FROM_FUNCTION`error occurs when a function invocation completes without returning a response. This ... - [OPTIMIZED_EXTERNAL_IMAGE_REQUEST_FAILED](optimized-external-image-request-failed.md): The`OPTIMIZED_EXTERNAL_IMAGE_REQUEST_FAILED`error occurs when the request for an optimized external image fails. - [OPTIMIZED_EXTERNAL_IMAGE_REQUEST_INVALID](optimized-external-image-request-invalid.md): The`OPTIMIZED_EXTERNAL_IMAGE_REQUEST_INVALID`error occurs when the external image request is invalid. - [OPTIMIZED_EXTERNAL_IMAGE_REQUEST_UNAUTHORIZED](optimized-external-image-request-unauthorized.md): The`OPTIMIZED_EXTERNAL_IMAGE_REQUEST_UNAUTHORIZED`error occurs when the external image request is unauthorized. - [OPTIMIZED_EXTERNAL_IMAGE_TOO_MANY_REDIRECTS](optimized-external-image-too-many-redirects.md): The`OPTIMIZED_EXTERNAL_IMAGE_TOO_MANY_REDIRECTS`error occurs when the external image request encounters too many re... - [RANGE_END_NOT_VALID](range-end-not-valid.md): The`RANGE_END_NOT_VALID`error occurs when the end value of the`Range`header in a request is invalid. This header ... - [RANGE_GROUP_NOT_VALID](range-group-not-valid.md): The`RANGE_GROUP_NOT_VALID`error occurs when the group value of the`Range`header in a request is invalid. This hea... - [RANGE_MISSING_UNIT](range-missing-unit.md): The`RANGE_MISSING_UNIT`error occurs when the unit identifier of the`Range`header in a request is missing. The`Ra... - [RANGE_START_NOT_VALID](range-start-not-valid.md): The`RANGE_START_NOT_VALID`error occurs when the start value of the`Range`header in a request is invalid. The`Ran... - [RANGE_UNIT_NOT_SUPPORTED](range-unit-not-supported.md): The`RANGE_UNIT_NOT_SUPPORTED`error occurs when the unit identifier of the`Range`header in a request is not suppor... - [REQUEST_HEADER_TOO_LARGE](request-header-too-large.md): The`REQUEST_HEADER_TOO_LARGE`error occurs when the size of the request headers in your function and [Routing Middle... - [RESOURCE_NOT_FOUND](resource-not-found.md): The`RESOURCE_NOT_FOUND`error indicates that a requested resource is not available or cannot be found. This error ty... - [ROUTER_CANNOT_MATCH](router-cannot-match.md): The`ROUTER_CANNOT_MATCH`error occurs when the router is unable to match the requested route to any of the known pat... - [ROUTER_EXTERNAL_TARGET_CONNECTION_ERROR](router-external-target-connection-error.md): The`ROUTER_EXTERNAL_TARGET_CONNECTION_ERROR`error occurs when there is a connection error while routing to an exter... - [ROUTER_EXTERNAL_TARGET_ERROR](router-external-target-error.md): The`ROUTER_EXTERNAL_TARGET_ERROR`error occurs when there is an error while routing to an external target. This coul... - [ROUTER_EXTERNAL_TARGET_HANDSHAKE_ERROR](router-external-target-handshake-error.md): The`ROUTER_EXTERNAL_TARGET_HANDSHAKE_ERROR`error occurs when a connection cannot be successfully established with a... - [ROUTER_TOO_MANY_HAS_SELECTIONS](router-too-many-has-selections.md): The`ROUTER_TOO_MANY_HAS_SELECTIONS`error occurs when the router encounters too many selections while processing the... - [SANBDOX_NOT_FOUND](sanbdox-not-found.md): The`SANDBOX_NOT_FOUND`error occurs when you are trying to access a Sandbox that does not exist. This could happen i... - [SANBDOX_NOT_LISTENING](sanbdox-not-listening.md): The`SANDBOX_NOT_LISTENING`error occurs when you are trying to access a Sandbox that is not listening on the request... - [SANBDOX_STOPPED](sanbdox-stopped.md): The`SANDBOX_STOPPED`error occurs when you are trying to access a Sandbox that has been stopped. This could happen i... - [TOO_MANY_FILESYSTEM_CHECKS](too-many-filesystem-checks.md): The`TOO_MANY_FILESYSTEM_CHECKS`error occurs when there are excessive filesystem checks while processing a request. ... - [TOO_MANY_FORKS](too-many-forks.md): The`TOO_MANY_FORKS`error occurs when too many forks are generated while processing the request. This usually happen... - [TOO_MANY_RANGES](too-many-ranges.md): The`TOO_MANY_RANGES`error occurs when too many ranges have been specified in the`Range`header of a request. The`... - [URL_TOO_LONG](url-too-long.md): The`URL_TOO_LONG`error occurs when the URL of the request exceeds the maximum length allowed by the CDN (**14 KB**)... - [Error List](error-list.md): The [build step](/docs/deployments/configure-a-build) will result in an error if the output directory is missing, emp... - [Error Codes](error-codes.md): When developing your application with Vercel, you may encounter a variety of errors. They can reflect issues that hap... - [Flags SDK](flags-sdk.md): - Works with any [flag provider](https://flags-sdk.dev/docs/adapters/supported-providers), [custom setups](https://fl... - [Getting started with Flags Explorer](getting-started-with-flags-explorer.md): This guide walks you through connecting your application to the Flags Explorer, so you can use it to view and overrid... - [Pricing for Flags Explorer](pricing-for-flags-explorer.md): The following table outlines the price for each resource according to the plan you are on: - [Flags Explorer](flags-explorer.md): The Flags Explorer is a feature of the [Vercel Toolbar](/docs/vercel-toolbar) that allows you to view and override yo... - [Reference](reference.md): The Flags Explorer has five main concepts: the [API Endpoint](/docs/feature-flags/flags-explorer/reference#api-endpoi... - [Integrating with the Vercel Platform](integrating-with-the-vercel-platform.md): Feature flags play a crucial role in the software development lifecycle, enabling safe feature rollouts, experimentat... - [Integrate flags with Runtime Logs](integrate-flags-with-runtime-logs.md): On your dashboard, the **[Logs](/docs/runtime-logs)** tab displays your [runtime logs](/docs/runtime-logs#what-are-ru... - [Integrate flags with Vercel Web Analytics](integrate-flags-with-vercel-web-analytics.md): Vercel Web Analytics can look up the values of evaluated feature flags in the DOM. It can then enrich page views and ... - [Feature Flags](feature-flags.md): Feature flags are a powerful tool that allows you to control the visibility of features in your application, enabling... - [Fluid compute](fluid-compute.md): Fluid compute offers a blend of serverless flexibility and server-like capabilities. Unlike traditional [serverless a... - [Elysia on Vercel](elysia-on-vercel.md): Elysia is an ergonomic web framework for building backend servers with Bun. Designed with simplicity and type-safety ... - [Express on Vercel](express-on-vercel.md): Express is a fast, unopinionated, minimalist web framework for Node.js. You can deploy an Express app to Vercel with ... - [FastAPI on Vercel](fastapi-on-vercel.md): FastAPI is a modern, high-performance, web framework for building APIs with Python based on standard Python type hint... - [Fastify on Vercel](fastify-on-vercel.md): Fastify is a web framework highly focused on providing the best developer experience with the least overhead and a po... - [Flask on Vercel](flask-on-vercel.md): Flask is a lightweight WSGI web application framework for Python. It's designed with simplicity and flexibility in mi... - [Hono on Vercel](hono-on-vercel.md): Hono is a fast and lightweight web application framework built on Web Standards. You can deploy a Hono app to Vercel ... - [Koa on Vercel](koa-on-vercel.md): Koa is an expressive HTTP middleware framework for building web applications and APIs with zero configuration.​​​​ Yo... - [NestJS on Vercel](nestjs-on-vercel.md): NestJS is a progressive Node.js framework for building efficient, reliable and scalable server-side applications. You... - [Nitro on Vercel](nitro-on-vercel.md): Nitro is a full-stack framework with TypeScript-first support. It includes filesystem routing, code-splitting for fas... - [Backends on Vercel](backends-on-vercel.md): Backends deployed to Vercel receive the benefits of Vercel's infrastructure, including: - [xmcp on Vercel](xmcp-on-vercel.md): `xmcp`is a TypeScript-first framework for building MCP-compatible backends. It provides an opinionated project struc... - [Astro on Vercel](astro-on-vercel.md): Astro is an all-in-one web framework that enables you to build performant static websites. People choose Astro when t... - [Create React App on Vercel](create-react-app-on-vercel.md): Create React App (CRA) is a development environment for building single-page applications with the React framework. I... - [Gatsby on Vercel](gatsby-on-vercel.md): Gatsby is an open-source static-site generator. It enables developers to build fast and secure websites that integrat... - [Frontends on Vercel](frontends-on-vercel.md): The following frontend frameworks are supported with zero-configuration. - [React Router on Vercel](react-router-on-vercel.md): React Router is a multi-strategy router for React. When used [as a framework](https://reactrouter.com/home#react-rout... - [Vite on Vercel](vite-on-vercel.md): Vite is an opinionated build tool that aims to provide a faster and leaner development experience for modern web proj... - [Next.js on Vercel](nextjs-on-vercel.md): [Next.js](https://nextjs.org/) is a fullstack React framework for the web, maintained by Vercel. - [Nuxt on Vercel](nuxt-on-vercel.md): Nuxt is an open-source framework that streamlines the process of creating modern Vue apps. It offers server-side rend... - [Full-stack frameworks on Vercel](full-stack-frameworks-on-vercel.md): The following full-stack frameworks are supported with zero-configuration. - [Remix on Vercel](remix-on-vercel.md): Remix is a fullstack, server-rendered React framework. Its built-in features for nested... - [SvelteKit on Vercel](sveltekit-on-vercel.md): SvelteKit is a frontend framework that enables you to build Svelte applications with modern techniques, such as Serve... - [TanStack Start on Vercel](tanstack-start-on-vercel.md): TanStack Start is a fullstack framework powered by TanStack Router for React and Solid. It has support for full-docum... - [Supported Frameworks on Vercel](supported-frameworks-on-vercel.md): The following table shows which features are supported by each framework on Vercel. The framework list is not exhaust... - [Frameworks on Vercel](frameworks-on-vercel.md): Vercel has first-class support for [a wide range of the most popular frameworks](/docs/frameworks/more-frameworks). Y... - [Concurrency scaling](concurrency-scaling.md): Vercel automatically scales your functions to handle traffic surges, ensuring optimal performance during increased lo... - [Advanced Configuration](advanced-configuration-2.md): For an advanced configuration, you can create a`vercel.json`file to use [Runtimes](/docs/functions/runtimes) and ot... - [Configuring In-function Concurrency](configuring-in-function-concurrency.md): In-function concurrency allows multiple requests to share a single function instance and is available when using the ... - [Configuring Maximum Duration for Vercel Functions](configuring-maximum-duration-for-vercel-functions.md): The maximum duration configuration determines the longest time that a function can run. This guide will walk you thro... - [Configuring Memory and CPU for Vercel Functions](configuring-memory-and-cpu-for-vercel-functions.md): The memory configuration of a function determines how much memory and CPU a function can use while executing. By defa... - [Configuring Functions](configuring-functions.md): You can configure Vercel functions in many ways, including the runtime, region, maximum duration, and memory. - [Configuring regions for Vercel Functions](configuring-regions-for-vercel-functions.md): The Vercel platform caches all static content in [the CDN](/docs/cdn-cache) by default. This means your users will al... - [Configuring the Runtime for Vercel Functions](configuring-the-runtime-for-vercel-functions.md): The runtime of your function determines the environment in which your function will execute. Vercel supports various ... - [Functions API Reference](functions-api-reference.md): For \["nextjs-app"]: - [@vercel/functions API Reference (Node.js)](vercelfunctions-api-reference-nodejs.md): 1. Install the`@vercel/functions`package: - [vercel.functions API Reference (Python)](vercelfunctions-api-reference-python.md): 1. Install the`vercel`package: - [Vercel Functions Limits](vercel-functions-limits.md): The table below outlines the limits and restrictions of using Vercel Functions with the Node.js runtime: - [Vercel Function Logs](vercel-function-logs.md): Vercel Functions allow you to debug and monitor your functions using runtime logs. Users on the Pro and Enterprise pl... - [Vercel Functions](vercel-functions.md): Vercel Functions lets you run server-side code without managing servers. They adapt automatically to user demand, han... - [Getting started with Vercel Functions](getting-started-with-vercel-functions.md): In this guide, you'll learn how to get started with Vercel Functions using your favorite [frontend framework](/docs/f... - [Using the Bun Runtime with Vercel Functions](using-the-bun-runtime-with-vercel-functions.md): Bun is a fast, all-in-one JavaScript runtime that serves as an alternative to Node.js. - [Edge Functions](edge-functions.md): Edge Functions are Vercel Functions that run on the Edge Runtime, a minimal JavaScript runtime that exposes a set of ... - [Edge Runtime](edge-runtime.md): **⚠️ Warning:** We recommend migrating from edge to Node.js for improved performance and - [Using the Go Runtime with Vercel functions](using-the-go-runtime-with-vercel-functions.md): The Go runtime is used by Vercel to compile Go Vercel functions that expose a single HTTP handler, from a`.go`file ... - [Advanced Node.js Usage](advanced-nodejs-usage.md): To use Node.js, create a file inside your project's`api`directory. No additional configuration is needed. - [Supported Node.js versions](supported-nodejs-versions.md): By default, a new project uses the latest Node.js LTS version available on Vercel. - [Using the Node.js Runtime with Vercel Functions](using-the-nodejs-runtime-with-vercel-functions.md): You can create Vercel Function in JavaScript or TypeScript by using the Node.js runtime. By default, the runtime buil... - [Runtimes](runtimes.md): Vercel supports multiple runtimes for your functions. Each runtime has its own set of libraries, APIs, and functional... - [Using the Python Runtime with Vercel Functions](using-the-python-runtime-with-vercel-functions.md): The Python runtime enables you to write Python code, including using [FastAPI](https://vercel.com/new/git/external?re... - [Using the Ruby Runtime with Vercel Functions](using-the-ruby-runtime-with-vercel-functions.md): The Ruby runtime is used by Vercel to compile Ruby Vercel functions that define a singular HTTP handler from`.rb`fi... - [Using the Rust Runtime with Vercel functions](using-the-rust-runtime-with-vercel-functions.md): Use Rust to build high-performance, memory-safe serverless functions. The Rust runtime runs on [Fluid compute](/docs/... - [Note that you need to provide unique names for each binary](note-that-you-need-to-provide-unique-names-for-each-binary.md): [[bin]] - [This section configures settings for the release profile, which optimizes the build for performance.](this-section-configures-settings-for-the-release-profile-which-optimizes-the-bui.md): [profile.release] - [Ignore everything in the target directory except for release binaries](ignore-everything-in-the-target-directory-except-for-release-binaries.md): target/** - [Using WebAssembly (Wasm)](using-webassembly-wasm.md): [WebAssembly](https://webassembly.org), or Wasm, is a portable, low-level, assembly-like language that can be used as... - [Streaming](streaming-2.md): AI providers can be slow when producing responses, but many make their responses available in chunks as they're proce... - [Legacy Usage & Pricing for Functions](legacy-usage-pricing-for-functions.md): **⚠️ Warning:** **Legacy Billing Model**: This page describes the legacy billing model and - [Fluid compute pricing](fluid-compute-pricing.md): Vercel Functions on fluid compute are priced based on your plan and resource usage. Each plan includes a set amount o... - [Buy a domain](buy-a-domain.md): Use Vercel to find and buy a domain that resonates with your brand, establishes credibility, and captures your visito... - [Collaborate on Vercel](collaborate-on-vercel.md): Collaboration is key in successful development projects, and Vercel offers robust features to enhance collaboration a... - [Add a domain](add-a-domain.md): Assigning a custom domain to your project guarantees that visitors to your application will have a tailored experienc... - [How Vercel builds your application](how-vercel-builds-your-application.md): When you push code to Vercel, your source files need to be transformed into something that can actually run on the in... - [How requests flow through Vercel](how-requests-flow-through-vercel.md): When you deploy to Vercel, your code runs on a global network of servers. This network puts your application close to... - [Vercel fundamental concepts](vercel-fundamental-concepts.md): The articles below explain core concepts that shape how Vercel works: - [What is Compute?](what-is-compute.md): Traditionally with web applications, we talk about two main locations: - [Import an existing project](import-an-existing-project.md): Your existing project can be any web project that outputs static HTML content (such as a website that contains HTML, ... - [Next Steps](next-steps.md): Congratulations on getting started with Vercel! - [Getting started with Vercel](getting-started-with-vercel.md): Vercel is a platform for developers that provides the tools, workflows, and infrastructure you need to build and depl... - [Projects and deployments](projects-and-deployments.md): To get started with Vercel, it's helpful to understand **projects** and **deployments**: - [Use a template](use-a-template.md): Accelerate your development on Vercel with [Templates](/templates). This guide will show you how to use templates to ... - [Use an existing domain](use-an-existing-domain.md): Already have a domain you love? Seamlessly integrate it with Vercel to leverage the platform's powerful features and ... - [Deploying Git Repositories with Vercel](deploying-git-repositories-with-vercel.md): Vercel allows for **automatic deployments on every branch push** and merges onto the [production branch](#production-... - [Deploying from Azure DevOps with Vercel](deploying-from-azure-devops-with-vercel.md): The [Vercel Deployment Extension](https://marketplace.visualstudio.com/items?itemName=Vercel.vercel-deployment-extens... - [Deploying Bitbucket Projects with Vercel](deploying-bitbucket-projects-with-vercel.md): Vercel for Bitbucket automatically deploys your Bitbucket projects with [Vercel](/), providing [Preview Deployment UR... - [Deploying GitHub Projects with Vercel](deploying-github-projects-with-vercel.md): Vercel for GitHub automatically deploys your GitHub projects with [Vercel](/), providing [Preview Deployment URLs](/d... - [Deploying GitLab Projects with Vercel](deploying-gitlab-projects-with-vercel.md): Vercel for GitLab automatically deploys your GitLab projects with [Vercel](/), providing [Preview Deployment URLs](/d... - [Glossary](glossary.md): A full glossary of terms used in Vercel's products and documentation. - [Cache-Control headers](cache-control-headers.md): You can control how Vercel's CDN caches your Function responses by setting a [Cache-Control headers](https://develope... - [Headers](headers.md): Headers are small pieces of information that are sent between the client (usually a web browser) and the server. They... - [Request headers](request-headers.md): The following headers are sent to each Vercel deployment and can be used to process the request before sending back a... - [Response headers](response-headers.md): The following headers are included in Vercel deployment responses and indicate certain factors of the environment. Th... - [Content Security Policy](content-security-policy.md): Content Security Policy is a browser feature designed to prevent cross-site scripting (XSS) and related code-injectio... - [Legacy Pricing for Image Optimization](legacy-pricing-for-image-optimization.md): **💡 Note:** This legacy pricing option is only available to Enterprise teams - [Limits and Pricing for Image Optimization](limits-and-pricing-for-image-optimization.md): **💡 Note:** This is the default pricing option. For Enterprise teams created - [Managing Usage & Costs](managing-usage-costs.md): **💡 Note:** This document describes usage for the default pricing option. - [Image Optimization with Vercel](image-optimization-with-vercel.md): Vercel supports dynamically transforming unoptimized images to reduce the file size while maintaining high quality. T... - [Getting started with Image Optimization](getting-started-with-image-optimization.md): This guide will help you get started with using Vercel Image Optimization in your project, showing you how to import ... - [Incremental Migration to Vercel](incremental-migration-to-vercel.md): When migrating to Vercel you should use an incremental migration strategy. This allows your current site and your new... - [Incremental Static Regeneration usage and pricing](incremental-static-regeneration-usage-and-pricing.md): Vercel offers several methods for caching data within Vercel’s managed infrastructure. [Incremental Static Regenerati... - [Incremental Static Regeneration (ISR)](incremental-static-regeneration-isr.md): Incremental Static Regeneration (ISR) allows you to create or update content on your site without redeploying. ISR's ... - [Getting started with ISR](getting-started-with-isr.md): This guide will help you get started with using Incremental Static Regeneration (ISR) on your project, showing you ho... - [Performing an Instant Rollback on a Deployment](performing-an-instant-rollback-on-a-deployment.md): Vercel provides Instant Rollback as a way to quickly revert to a previous production deployment. This can be useful i... - [Vercel Agility CMS Integration](vercel-agility-cms-integration.md): Agility CMS is a headless content management system designed for flexibility and scalability. It allows developers to... - [Vercel ButterCMS Integration](vercel-buttercms-integration.md): ButterCMS is a headless content management system that enables developers to manage and deliver content through an API. - [Vercel and Contentful Integration](vercel-and-contentful-integration.md): [Contentful](https://contentful.com/) is a headless CMS that allows you to separate the content management and presen... - [Vercel DatoCMS Integration](vercel-datocms-integration.md): DatoCMS is a headless content management system designed for creating and managing digital content with flexibility. ... - [Vercel Formspree Integration](vercel-formspree-integration.md): Formspree is a form backend platform that handles form submissions on static websites. It allows developers to collec... - [Vercel Makeswift Integration](vercel-makeswift-integration.md): Makeswift is a no-code website builder designed for creating and managing React websites. It offers a drag-and-drop i... - [Vercel CMS Integrations](vercel-cms-integrations.md): Vercel Content Management System (CMS) Integrations allow you to connect your projects with CMS platforms, including ... - [Vercel Sanity Integration](vercel-sanity-integration.md): Sanity is a headless content management system that provides real-time collaboration and structured content managemen... - [Vercel and Sitecore XM Cloud Integration](vercel-and-sitecore-xm-cloud-integration.md): [Sitecore XM Cloud](https://www.sitecore.com/products/xm-cloud) is a CMS platform designed for both developers and ma... - [Integration Approval Checklist](integration-approval-checklist.md): Use this checklist to ensure all necessary steps have been taken for a great integration experience to get listed on ... - [Manage Billing and Refunds for Integrations](manage-billing-and-refunds-for-integrations.md): When a Vercel user installs your native integration, you manage billing through the [Vercel API billing endpoints](/d... - [Deployment integration actions](deployment-integration-actions.md): With deployment integration actions, integration providers can enable [integration resource](/docs/integrations/creat... - [Integration Image Guidelines](integration-image-guidelines.md): These guidelines help ensure consistent, high-quality previews for integrations across the Vercel platform. - [Using the Integrations REST API](using-the-integrations-rest-api.md): Learn how to authenticate and use the Integrations REST API to build your native integration with Vercel. - [Native Integration Flows](native-integration-flows.md): As a Vercel integration provider, when you [create a native product integration](/docs/integrations/marketplace-produ... - [Create a Native Integration](create-a-native-integration.md): With a , you allow a Vercel customer who has your integration to use specific features of your integration **without... - [Native integration concepts](native-integration-concepts.md): Native integrations allow a two-way connection between Vercel and third-party providers. This enables providers to em... - [Integrate with Vercel](integrate-with-vercel.md): Learn the process of creating and managing integrations on Vercel, helping you extend the capabilities of Vercel proj... - [Implementing secrets rotation](implementing-secrets-rotation.md): When your integration provisions resources with credentials (like API keys, database passwords, or access tokens), yo... - [Requirements for listing an Integration](requirements-for-listing-an-integration.md): Defining the content specs helps you create the main cover page of your integration. On the marketplace listing, the ... - [Upgrade an Integration](upgrade-an-integration.md): You should upgrade your integration if you are using any of the following scenarios. - [Vercel and BigCommerce Integration](vercel-and-bigcommerce-integration.md): [BigCommerce](https://www.bigcommerce.com/) is an ecommerce platform for building and managing online storefronts. Th... - [Vercel Ecommerce Integrations](vercel-ecommerce-integrations.md): Vercel Ecommerce Integrations allow you to connect your projects with ecommerce platforms, including [BigCommerce](/d... - [Vercel and Shopify Integration](vercel-and-shopify-integration.md): [Shopify](https://www.shopify.com/) is an ecommerce platform that allows you to build and manage online storefronts. ... - [Integrating Vercel and Kubernetes](integrating-vercel-and-kubernetes.md): Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applica... - [Add a Connectable Account](add-a-connectable-account.md): 1. From the [Vercel dashboard](/dashboard), select the **Integrations** tab and then the **Browse Marketplace** butto... - [Interact with Integrations using Agent Tools](interact-with-integrations-using-agent-tools.md): With Agent Tools, you can interact with your installed integrations through a chat interface in the Vercel Dashboard.... - [Permissions and Access](permissions-and-access.md): To view an integration's permissions: - [Extend your Vercel Workflow](extend-your-vercel-workflow.md): Using Vercel doesn't stop at the products and features that we provide. Through integrations, you can use third-party... - [Add a Native Integration](add-a-native-integration.md): 1. From the [Vercel dashboard](/dashboard), select the **Integrations** tab and then the **Browse Marketplace** butto... - [Vercel Integrations](vercel-integrations.md): Integrations allow you to extend the capabilities of Vercel by connecting with third-party platforms or services to d... - [Building Integrations with Vercel REST API](building-integrations-with-vercel-rest-api.md): See the following API reference documentation for how to use Vercel REST API to create integrations: - [Fair use Guidelines](fair-use-guidelines.md): All subscription plans include usage that is subject to these fair use guidelines. Below is a rule-of-thumb for deter... - [Limits](limits.md): To prevent abuse of our platform, we apply the following limits to all accounts. - [Logs](logs.md): When you deploy your website to Vercel, the platform generates build logs that show the deployment progress. The buil... - [Runtime Logs](runtime-logs.md): The **Logs** tab allows you to view, search, inspect, and share your runtime logs without any third-p... - [Manage and optimize usage for Observability](manage-and-optimize-usage-for-observability.md): The Observability section covers usage for Observability, Monitoring, Web Analytics, and Speed insights. - [Manage and optimize CDN usage](manage-and-optimize-cdn-usage.md): The **Networking** section shows the following metrics: - [Storage on Vercel Marketplace](storage-on-vercel-marketplace.md): The [Vercel Marketplace](https://vercel.com/marketplace?category=storage) provides integrations with different storag... - [Deploy MCP servers to Vercel](deploy-mcp-servers-to-vercel.md): Deploy your Model Context Protocol (MCP) servers on Vercel to [take advantage of features](/docs/mcp/deploy-mcp-serve... - [Model Context Protocol](model-context-protocol.md): [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) is a standard interface that lets large language mod... - [Microfrontends Configuration](microfrontends-configuration.md): The`microfrontends.json`file is used to configure your microfrontends. If this file is not deployed with your [defa... - [Microfrontends local development](microfrontends-local-development.md): To provide a seamless local development experience,`@vercel/microfrontends`provides a microfrontends aware local de... - [Managing microfrontends](managing-microfrontends.md): With a project's **Microfrontends** settings of the Vercel dashboard, you can: - [Managing microfrontends security](managing-microfrontends-security.md): Understand how and where you manage [Deployment Protection](/docs/deployment-protection) and [Vercel Firewall](/docs/... - [Managing with the Vercel Toolbar](managing-with-the-vercel-toolbar.md): Using the [Vercel Toolbar](/docs/vercel-toolbar), you can visualize and independently test your microfrontends so you... - [Microfrontends](microfrontends.md): Microfrontends allow you to split a single application into smaller, independently deployable units that render as on... - [Microfrontends path routing](microfrontends-path-routing.md): Vercel handles routing to microfrontends directly in Vercel's network infrastructure, simplifying the setup and impro... - [Getting started with microfrontends](getting-started-with-microfrontends.md): This quickstart guide will help you set up microfrontends on Vercel. Microfrontends can be used with different framew... - [Testing & troubleshooting microfrontends](testing-troubleshooting-microfrontends.md): The`@vercel/microfrontends`package includes test utilities to help avoid common misconfigurations. - [Monorepos FAQ](monorepos-faq.md): Whether or not your deployments are queued depends on the amount of - [Deploying Nx to Vercel](deploying-nx-to-vercel.md): Nx is an extensible build system with support for monorepos, integrations, and Remote Caching on Vercel. - [Using Monorepos](using-monorepos.md): Monorepos allow you to manage multiple projects in a single directory. They are a great way to organize your projects... - [Remote Caching](remote-caching.md): Remote Caching saves you time by ensuring you never repeat the same task twice, by automatically sharing a cache acro... - [Deploying Turborepo to Vercel](deploying-turborepo-to-vercel.md): Turborepo is a high-performance build system for JavaScript and TypeScript codebases with: - [Domain management for multi-tenant](domain-management-for-multi-tenant.md): Learn how to programmatically manage domains for your multi-tenant application using Vercel for Platforms. - [Multi-tenant Limits](multi-tenant-limits.md): This page provides an overview of the limits and feature availability for Vercel for Platforms across different plan ... - [Vercel for Platforms](vercel-for-platforms.md): A **multi-tenant application** serves multiple customers (tenants) from a single codebase. - [On-Demand Usage Pricing](on-demand-usage-pricing.md): Vercel prices its [CDN](/docs/cdn) resources by region to help optimize costs and performance for your projects. This... - [Notebooks](notebooks.md): **Notebooks** allow you to collect and manage multiple queries related to your application's metrics and performance ... - [Notifications](notifications.md): Vercel sends configurable notifications to you through the [dashboard](/dashboard) and email. These notifications ena... - [Observability Insights](observability-insights.md): Vercel organizes Observability through sections that correspond to different features and traffic sources that you ca... - [Observability Plus](observability-plus.md): **Observability Plus** is an optional upgrade that enables Pro and Enterprise teams to explore data at a more granula... - [Observability](observability-2.md): Observability provides a way for you to monitor and analyze the performance and traffic of your projects on Vercel th... - [OG Image Generation Examples](og-image-generation-examples.md): -------------------------------------------------------------------------------- - [@vercel/og Reference](vercelog-reference.md): The package exposes an`ImageResponse`constructor, with the following parameters: - [Open Graph (OG) Image Generation](open-graph-og-image-generation.md): To assist with generating dynamic [Open Graph (OG)](https://ogp.me/ "Open Graph (OG)") images, you can use the Vercel... - [Connect to your own API](connect-to-your-own-api.md): To configure your own API to accept Vercel's OIDC tokens, you need to validate the tokens using Vercel's JSON Web Key... - [Connect to Amazon Web Services (AWS)](connect-to-amazon-web-services-aws.md): To understand how AWS supports OIDC, and for a detailed user guide on creating an OIDC identity provider with AWS, co... - [Connect to Microsoft Azure](connect-to-microsoft-azure.md): To understand how Azure supports OIDC through Workload Identity Federation, consult the [Azure documentation](https:/... - [Connect to Google Cloud Platform (GCP)](connect-to-google-cloud-platform-gcp.md): To understand how GCP supports OIDC through Workload Identity Federation, consult the [GCP documentation](https://clo... - [OpenID Connect (OIDC) Federation](openid-connect-oidc-federation.md): When you create long-lived, persistent credentials in your backend to allow access from your web applications, you in... - [OIDC Federation Reference](oidc-federation-reference.md): Vercel provides helper libraries to make it easier to exchange the OIDC token for short-lived credentials with your c... - [Open Source Program](open-source-program.md): Applications are now closed for the Spring 2025 cohort. **Summer cohort applications will open in July.** - [Package Managers](package-managers.md): Vercel will automatically detect the package manager used in your project and install the dependencies when you [crea... - [Vercel Documentation](vercel-documentation-2.md): Vercel is the AI Cloud, a unified platform for building, deploying, and scaling AI-powered applications. Ship web app... - [Billing FAQ for Enterprise Plan](billing-faq-for-enterprise-plan.md): The Vercel Enterprise plan is perfect for [teams](/docs/accounts/create-a-team) with increased performance, collabora... - [Using MIUs for AI Gateway and Vercel Agent](using-mius-for-ai-gateway-and-vercel-agent.md): For projects under the Enterprise plan, you can now use your existing [MIUs](/docs/pricing/understanding-my-invoice#m... - [Vercel Enterprise Plan](vercel-enterprise-plan.md): Vercel offers an Enterprise plan for organizations and enterprises that need high [performance](#performance-and-reli... - [Vercel Hobby Plan](vercel-hobby-plan.md): The Hobby plan is **free** and aimed at developers with personal projects, and small-scale applications. It offers a ... - [Account Plans on Vercel](account-plans-on-vercel.md): Vercel offers multiple account plans: Hobby, Pro, and Enterprise. - [Billing FAQ for Pro Plan](billing-faq-for-pro-plan.md): The Vercel Pro plan is designed for professional developers, freelancers, and businesses who need enhanced features a... - [Vercel Pro Plan](vercel-pro-plan.md): The Vercel Pro plan is designed for professional developers, freelancers, and businesses who need enhanced features a... - [Understanding Vercel](understanding-vercel.md): Vercel offers three plan tiers: **Hobby**, **Pro**, and **Enterprise**. - [Postgres on Vercel](postgres-on-vercel.md): Vercel lets you connect external Postgres databases through the [Marketplace](/marketplace), allowing you to connect ... - [Calculating usage of resources](calculating-usage-of-resources.md): It's important to understand how usage and accrual happen on Vercel, in order to make the best choices for your proje... - [Legacy Metrics](legacy-metrics.md): Bandwidth is the amount of data your deployments have sent or received. - [Manage and optimize usage](manage-and-optimize-usage.md): There are three plans on Vercel: Hobby, Pro, and Enterprise. To see which plan you are on, select your team from the ... - [Pricing on Vercel](pricing-on-vercel.md): This page provides an overview of Vercel's pricing model and outlines all billable metrics and their pricing models. - [Stockholm, Sweden (arn1) pricing](stockholm-sweden-arn1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Mumbai, India (bom1) pricing](mumbai-india-bom1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Paris, France (cdg1) pricing](paris-france-cdg1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Cleveland, USA (cle1) pricing](cleveland-usa-cle1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Cape Town, South Africa (cpt1) pricing](cape-town-south-africa-cpt1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Dublin, Ireland (dub1) pricing](dublin-ireland-dub1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Dubai, United Arab Emirates (dxb1) pricing](dubai-united-arab-emirates-dxb1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Frankfurt, Germany (fra1) pricing](frankfurt-germany-fra1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [São Paulo, Brazil (gru1) pricing](são-paulo-brazil-gru1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Hong Kong (hkg1) pricing](hong-kong-hkg1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Tokyo, Japan (hnd1) pricing](tokyo-japan-hnd1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Washington, D.C., USA (iad1) pricing](washington-dc-usa-iad1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Seoul, South Korea (icn1) pricing](seoul-south-korea-icn1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Osaka, Japan (kix1) pricing](osaka-japan-kix1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [London, UK (lhr1) pricing](london-uk-lhr1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Regional pricing](regional-pricing.md): When using Managed Infrastructure resources on Vercel, some, but not all, are priced based on region. The following t... - [Portland, USA (pdx1) pricing](portland-usa-pdx1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [San Francisco, USA (sfo1) pricing](san-francisco-usa-sfo1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Singapore (sin1) pricing](singapore-sin1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Sydney, Australia (syd1) pricing](sydney-australia-syd1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Montréal, Canada (yul1) pricing](montréal-canada-yul1-pricing.md): The table below shows Managed Infrastructure products with pricing specific to the region. This pricing is available... - [Sales Tax](sales-tax.md): Yes. Beginning November 1, 2025, we will start collecting sales tax for US-based customers on all Vercel products and... - [Billing & Invoices](billing-invoices.md): You can view your current invoice from the **Settings** tab of your [dashboard](/dashboard) in two ways: - [Working with Vercel](working-with-vercel.md): Vercel distributes packages with the`@vercel-private`scope through our - [Production checklist for launch](production-checklist-for-launch.md): When launching your application on Vercel, it is important to ensure that it's ready for production. This checklist i... - [General settings](general-settings.md): Project names can be up to 100 characters long and must be lowercase. They can include letters, digits, and the follo... - [Git Configuration](git-configuration.md): The following configuration options can be used through a`vercel.json`file via [Static Configuration](/docs/project... - [Git settings](git-settings.md): Once you have [connected a Git repository](/docs/git#deploying-a-git-repository), select the **Git** menu item from y... - [Global Vercel CLI Configuration](global-vercel-cli-configuration.md): Using the following files and configuration options, you can configure [Vercel CLI](/cli) under your system user. - [Project Configuration](project-configuration.md): Vercel automatically detects your framework and sets sensible defaults for builds, deployments, and routing. Project ... - [Project settings](project-settings.md): From the Vercel [dashboard](/dashboard), there are two areas where you can configure settings: - [Security settings](security-settings.md): To adjust your project's security settings: - [Static Configuration with vercel.json](static-configuration-with-verceljson.md): The`vercel.json`file lets you configure, and override the default behavior of Vercel from within your project. - [Programmatic Configuration with vercel.ts](programmatic-configuration-with-vercelts.md): The`vercel.ts`file lets you configure and override the default behavior of Vercel from within your project. Unlike ... - [Managing projects](managing-projects.md): You can manage your project on Vercel in your project's dashboard. See [our project dashboard docs](/docs/projects/pr... - [Projects overview](projects-overview.md): Projects on Vercel represent applications that you have deployed to the platform from a [single Git repository](/docs... - [Project Dashboard](project-dashboard.md): Each Vercel project has a separate dashboard to configure settings, view deployments, and more. - [Transferring a project](transferring-a-project.md): You can transfer projects between your Vercel teams with **zero downtime** and **no workflow interruptions**. - [Restricting Git Connections to a single Vercel team](restricting-git-connections-to-a-single-vercel-team.md): Teams often need control over who can deploy their repositories to which teams or accounts. For example, a user on yo... - [Limits and Pricing for Monitoring](limits-and-pricing-for-monitoring.md): Monitoring has become part of Observability, and is therefore included with Observability Plus at no additional cost.... - [Monitoring Reference](monitoring-reference.md): The`Visualize`clause selects what query data is displayed. You can select one of the following fields at a time, [a... - [Monitoring](monitoring.md): **Monitoring** allows you to visualize and quantify the performance and traffic of your projects on Vercel. You can u... - [Monitoring Quickstart](monitoring-quickstart.md): - Make sure you upgrade to [Pro](/docs/plans/pro-plan) or [Enterprise](/docs/plans/enterprise) plan. - [Query](query.md): You can use Query to get deeper visibility into your application when debugging issues, monitoring usage, or optimizi... - [Query Reference](query-reference.md): The metric selects what query data is displayed. You can choose one field at a time, and the same metric can be appli... - [Access Groups](access-groups.md): Access Groups provide a way to manage groups of Vercel users across projects on your team. They are a set of project ... - [Extended permissions](extended-permissions.md): Vercel's Role-Based Access Control (RBAC) system consists of three main components: - [Access Roles](access-roles.md): Vercel distinguishes between different roles to help manage team members' access levels and permissions. These roles ... - [Project Level Roles](project-level-roles.md): Project level roles are assigned to a team member on a project level. This means that the role is only valid for the ... - [Team Level Roles](team-level-roles.md): Team level roles are designed to provide a comprehensive level of control and access to the team as a whole. These ro... - [Managing Team Members](managing-team-members.md): As the team owner, you have the ability to manage your team's composition and the roles of its members, controlling t... - [Role-based access control (RBAC)](role-based-access-control-rbac.md): Teams consist of members, and each member of a team can get assigned a role. These roles define what you can and cann... - [Getting Started](getting-started-2.md): Bulk redirects can be specified either as part of a Vercel deployment or updated immediately through the UI, API, or ... - [List all redirects versions](list-all-redirects-versions.md): vercel redirects ls-versions - [Add a redirect](add-a-redirect.md): vercel redirects add /old-path /new-path --permanent - [Bulk upload CSV files](bulk-upload-csv-files.md): vercel redirects upload my-redirects.csv - [Promote staging redirects](promote-staging-redirects.md): vercel redirects promote 596558a5-24cd-4b94-b91a-d1f4171b7c3f - [Bulk redirects](bulk-redirects.md): With bulk redirects, you can handle thousands of simple path-to-path or path-to-URL redirects efficiently. You can co... - [Configuration Redirects](configuration-redirects.md): Configuration redirects define routing rules that Vercel evaluates at build time. Use them for permanent redirects (`... - [Redirects](redirects.md): Redirects are rules that instruct Vercel to send users to a different URL than the one they requested. For example, i... - [Redis on Vercel](redis-on-vercel.md): Vercel lets you connect external Redis databases through the [Marketplace](/marketplace), allowing you to integrate h... - [Vercel Regions](vercel-regions.md): **Vercel's CDN** is a globally distributed platform that stores content and runs compute close to your users and data... - [Release Phases for Vercel](release-phases-for-vercel.md): This page outlines the different phases of the Vercel product release cycle. Each phase has a different set of requir... - [Public Beta Agreement](public-beta-agreement.md): This Public Beta Agreement (“Agreement”) is made and entered into effective as of the date You first agree to this Ag... - [Request Collapsing](request-collapsing.md): Vercel uses **request collapsing** to protect uncached routes during high traffic. It reduces duplicate work by combi... - [Rewrites on Vercel](rewrites-on-vercel.md): A rewrite routes a request to a different destination without changing the URL in the browser. Unlike redirects, the ... - [Rolling Releases](rolling-releases.md): Rolling Releases allow you to roll out new deployments to a small fraction of your users before promoting them to eve... - [Routing Middleware API](routing-middleware-api.md): The Routing Middleware file should be named and placed at the root of your project, at the same level as your`packa... - [Getting Started with Routing Middleware](getting-started-with-routing-middleware.md): Routing Middleware lets you to run code before your pages load, giving you control over incoming requests. It runs cl... - [Routing Middleware](routing-middleware.md): Routing Middleware **executes code *before* a request is processed on a site**, and are built on top of [fluid comput... - [SAML Single Sign-On](saml-single-sign-on.md): To manage the [members](/docs/rbac/managing-team-members) of your team through a third-party identity provider like [... - [Access Control](access-control.md): Deployments can be protected with [Password protection](/docs/security/deployment-protection/methods-to-protect-deplo... - [Security & Compliance Measures](security-compliance-measures.md): This page covers the protection and compliance measures Vercel takes to ensure the security of your data, including [... - [Content Warning Interstitial FAQ](content-warning-interstitial-faq.md): When you see a **Content Warning** page while visiting a site hosted on Vercel, it means our systems detected signs t... - [Vercel security overview](vercel-security-overview.md): Cloud-deployed web applications face constant security threats, with attackers launching millions of malicious attack... - [PCI DSS iframe Integration](pci-dss-iframe-integration.md): When you use an [\iframe\](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe ... - [Reverse Proxy Servers and Vercel](reverse-proxy-servers-and-vercel.md): **We do not recommend** placing a reverse proxy server in front of your Vercel project as it affects the Vercel's fir... - [Shared Responsibility Model](shared-responsibility-model.md): A shared responsibility model is a framework designed to split tasks and obligations between two groups in cloud comp... - [Authorization Server API](authorization-server-api.md): The Authorization Server API exposes a set of endpoints which are used by your application for obtaining, refreshing,... - [Consent Page](consent-page.md): When users sign in to your application for the first time, Vercel shows them a consent page that displays: - [Getting started with Sign in with Vercel](getting-started-with-sign-in-with-vercel.md): This guide uses Next.js App Router. You'll create a Sign in with Vercel button that redirects to the authorization en... - [Manage Sign in with Vercel from the Dashboard](manage-sign-in-with-vercel-from-the-dashboard.md): To manage any third-party apps, or create a new one yourself, you need to create an App. An App acts as an intermedia... - [Sign in with Vercel](sign-in-with-vercel.md): Sign in with Vercel lets people use their Vercel account to log in to your application. Your application doesn't need... - [Scopes and Permissions](scopes-and-permissions.md): Scopes define what data is included in the [ID Token](/docs/sign-in-with-vercel/tokens#id-token) and whether to issue... - [Tokens](tokens.md): There are three tokens your application will work with when using Sign in with Vercel: - [Troubleshooting Sign in with Vercel](troubleshooting-sign-in-with-vercel.md): When users try to authorize your app, several errors can occur. Common troubleshooting steps include: - [Vercel Enterprise Managed Infrastructure](vercel-enterprise-managed-infrastructure-2.md): Vercel prices its [CDN](/docs/cdn) resources by region to help optimize costs and performance for your projects. This... - [Skew Protection](skew-protection.md): [Version skew](https://www.industrialempathy.com/posts/version-skew/) occurs when different versions of your applicat... - [Speed Insights Intake API](speed-insights-intake-api.md): Vercel Speed Insights supports Next.js, Nuxt, and Gatsby with zero configuration through build plugins. You can use S... - [Limits and Pricing for Speed Insights](limits-and-pricing-for-speed-insights.md): Speed Insights is available on the Hobby, Pro, and Enterprise plans. - [Managing Usage & Costs](managing-usage-costs-2.md): This guide covers how to measure and reduce your Speed Insights usage using the [`@vercel/speed-insights`](https://ww... - [Speed Insights Metrics](speed-insights-metrics.md): While many performance measurement tools, like [Lighthouse](https://web.dev/measure/), estimate user experience based... - [Migrating to the latest Speed Insights package](migrating-to-the-latest-speed-insights-package.md): The new Speed Insights brings a few changes to the UI and the ingestion mechanism. You find a list of changes below a... - [Speed Insights Configuration with @vercel/speed-insights](speed-insights-configuration-with-vercelspeed-insights.md): With the`@vercel/speed-insights`npm package, you're able to configure your application to capture and send web perf... - [Speed Insights Overview](speed-insights-overview.md): Vercel **Speed Insights** provides you with a detailed view of your website's performance [metrics](/docs/speed-insig... - [Vercel Speed Insights Privacy & Compliance](vercel-speed-insights-privacy-compliance.md): To ensure that the Speed Insights feature can be used despite many different regulatory limitations around the world,... - [Getting started with Speed Insights](getting-started-with-speed-insights.md): This guide will help you get started with using Vercel Speed Insights on your project, showing you how to enable it, ... - [Troubleshooting Vercel Speed Insights](troubleshooting-vercel-speed-insights.md): If you are experiencing a situation where data is not visible in the Speed Insights dashboard, it could be due to a c... - [Using Speed Insights](using-speed-insights.md): To access Speed Insights: - [Spend Management](spend-management.md): Spend management is a way for you to notify or to automatically take action on your account when your team hits a [se... - [Vercel Storage overview](vercel-storage-overview.md): Vercel offers a suite of managed, serverless storage products that integrate with your frontend framework. - [Instrumentation](instrumentation.md): Observability is crucial for understanding and optimizing the behavior and performance of your app. Vercel supports O... - [Tracing](tracing.md): In observability, tracing is the process of collecting and analyzing how a request or operation flows through your ap... - [Session tracing](session-tracing.md): With session tracing, you can use the Vercel toolbar to trace **your** sessions and view the corresponding spans in t... - [Two-factor Authentication](two-factor-authentication.md): To add an additional layer of security to your Vercel account, you can enable two-factor authentication (2FA). - [Two-factor enforcement](two-factor-enforcement.md): To enhance the security of your Vercel team, you can enforce two-factor authentication (2FA) for all team members. Wh... - [Blocked Blob Store](blocked-blob-store.md): This can happen for one of these reasons: - [Client Uploads with Vercel Blob](client-uploads-with-vercel-blob.md): In this guide, you'll learn how to do the following: - [Vercel Blob examples](vercel-blob-examples.md): Vercel Blob supports [range requests](https://developer.mozilla.org/docs/Web/HTTP/Range_requests) for partial downloa... - [First 4 bytes](first-4-bytes.md): curl -r 0-3 - [Last 5 bytes](last-5-bytes.md): curl -r -5 - [Bytes 3-6](bytes-3-6.md): curl -r 3-6 - [4159](4159.md): You can track the upload progress when uploading blobs with the`onUploadProgress`callback: - [Vercel Blob](vercel-blob-2.md): [Vercel Blob](/storage/blob) is a great solution for storing [blobs](https://developer.mozilla.org/docs/Web/API/Blob ... - [Security](security.md): Vercel Blob URLs, although publicly accessible, are unique and hard to guess when you use the`addRandomSuffix: true`... - [Server Uploads with Vercel Blob](server-uploads-with-vercel-blob.md): In this guide, you'll learn how to do the following: - [Vercel Blob Pricing](vercel-blob-pricing.md): Vercel Blob usage is measured based on the following: - [@vercel/blob](vercelblob.md): To start using [Vercel Blob](/storage/blob) SDK, follow the steps below: - [Attack Challenge Mode](attack-challenge-mode.md): Attack Challenge Mode is a security feature that protects your site during DDoS attacks. When enabled, visitors must ... - [DDoS Mitigation](ddos-mitigation.md): Vercel provides automatic DDoS mitigation for all deployments, regardless of your plan. We block incoming traffic if ... - [Using the REST API with the Firewall](using-the-rest-api-with-the-firewall.md): The security section of the [Vercel REST API](/docs/rest-api) allows you to programmatically interact with some of th... - [Firewall concepts](firewall-concepts.md): To safeguard your application against malicious activity, Vercel's platform-wide firewall is the first line of defens... - [Firewall Observability](firewall-observability.md): The project **Firewall** page of your Vercel dashboard provides a consolidated view of traffic and event analysis acr... - [Vercel Firewall](vercel-firewall.md): The Vercel Firewall is a robust, multi-layered security system designed to protect your applications from a wide rang... - [WAF Custom Rules](waf-custom-rules.md): You can configure specific rules to log, deny, challenge, bypass, or [rate limit](/docs... - [WAF Examples](waf-examples.md): | Example | Ca... - [WAF IP Blocking](waf-ip-blocking.md): You can create custom rules to block a specific IP address or multiple IP addresses by CIDR, eff... - [WAF Managed Rulesets](waf-managed-rulesets.md): Managed rulesets are collections of predefined WAF rules based on standards such as [Open Worldwide Application Secur... - [Vercel WAF](vercel-waf.md): The Vercel WAF, part of the [Firewall](/docs/vercel-firewall), provides security controls to [monitor](/docs/vercel-f... - [WAF Rate Limiting](waf-rate-limiting.md): Rate limiting allows you to control the number of times that a request from the same source can hit your application ... - [Rate Limiting SDK](rate-limiting-sdk.md): You can configure a custom rule with rate limit in your code by using the [`@vercel/firewall`](https://github.com/ver... - [Rule Configuration Reference](rule-configuration-reference.md): For each custom rule that you create, you can configure one or more conditions with **parameters** fro... - [WAF System Bypass Rules](waf-system-bypass-rules.md): While Vercel's system-level mitigations (such as [DDoS protection](/docs/security/ddos-mitigation)) safeguard your we... - [Usage & Pricing for Vercel WAF](usage-pricing-for-vercel-waf.md): Vercel Firewall features that are available under all plans, are free to use. This includes [DDoS mitigation](/docs/s... - [Sandbox CLI Reference](sandbox-cli-reference.md): The Sandbox CLI, based on the Docker CLI, allows you to manage sandboxes, execute commands, copy files, and more from... - [List all sandboxes (including stopped ones)](list-all-sandboxes-including-stopped-ones.md): sandbox list --all - [List sandboxes for a specific project](list-sandboxes-for-a-specific-project.md): sandbox list --project my-nextjs-app - [Create a Python sandbox with custom timeout](create-a-python-sandbox-with-custom-timeout.md): sandbox create --runtime python3.13 --timeout 1h - [Create sandbox with port forwarding](create-sandbox-with-port-forwarding.md): sandbox create --publish-port 8080 --project my-app - [Create sandbox silently (no output)](create-sandbox-silently-no-output.md): sandbox create --silent - [Create sandbox from a snapshot](create-sandbox-from-a-snapshot.md): sandbox create --snapshot snap_abc123 - [Copy file from local to sandbox](copy-file-from-local-to-sandbox.md): sandbox copy ./local-file.txt sb_1234567890:/app/remote-file.txt - [Copy file from sandbox to local](copy-file-from-sandbox-to-local.md): sandbox copy sb_1234567890:/app/output.log ./output.log - [Copy directory from sandbox to local](copy-directory-from-sandbox-to-local.md): sandbox copy sb_1234567890:/app/dist/ ./build/ - [Execute a simple command in a sandbox](execute-a-simple-command-in-a-sandbox.md): sandbox exec sb_1234567890 ls -la - [Run with environment variables](run-with-environment-variables.md): sandbox exec --env DEBUG=true sb_1234567890 npm test - [Execute interactively with sudo](execute-interactively-with-sudo.md): sandbox exec --interactive --sudo sb_1234567890 sh - [Run command in specific working directory](run-command-in-specific-working-directory.md): sandbox exec --workdir /app sb_1234567890 python script.py - [Connect to an existing sandbox](connect-to-an-existing-sandbox.md): sandbox connect sb_1234567890 - [Connect with a specific working directory](connect-with-a-specific-working-directory.md): sandbox connect --workdir /app sb_1234567890 - [Connect with environment variables and sudo](connect-with-environment-variables-and-sudo.md): sandbox connect --env DEBUG=true --sudo sb_1234567890 - [Stop a single sandbox](stop-a-single-sandbox.md): sandbox stop sb_1234567890 - [Stop multiple sandboxes](stop-multiple-sandboxes.md): sandbox stop sb_1234567890 sb_0987654321 - [Stop sandbox for a specific project](stop-sandbox-for-a-specific-project.md): sandbox stop --project my-app sb_1234567890 - [Run a simple Node.js script](run-a-simple-nodejs-script.md): sandbox run -- node --version - [Run with custom environment and timeout](run-with-custom-environment-and-timeout.md): sandbox run --env NODE_ENV=production --timeout 10m -- npm start - [Run interactively with port forwarding](run-interactively-with-port-forwarding.md): sandbox run --interactive --publish-port 3000 --tty npm run dev - [Run with auto-cleanup](run-with-auto-cleanup.md): sandbox run --rm -- python3 script.py - [Create a snapshot of a running sandbox](create-a-snapshot-of-a-running-sandbox.md): sandbox snapshot sb_1234567890 --stop - [List snapshots for the current project](list-snapshots-for-the-current-project.md): sandbox snapshots list - [List snapshots for a specific project](list-snapshots-for-a-specific-project.md): sandbox snapshots list --project my-app - [Delete a single snapshot](delete-a-single-snapshot.md): sandbox snapshots delete snap_1234567890 - [Delete multiple snapshots for a specific project](delete-multiple-snapshots-for-a-specific-project.md): sandbox snapshots delete --project my-app snap_1234567890 snap_0987654321 - [Log in to the Sandbox CLI](log-in-to-the-sandbox-cli.md): sandbox login - [Log out of the Sandbox CLI](log-out-of-the-sandbox-cli.md): sandbox logout - [Check the environment](check-the-environment.md): sandbox exec sb_abc123xyz node --version - [Install packages](install-packages.md): sandbox exec sb_abc123xyz npm init -y - [Create files](create-files.md): sandbox exec sb_abc123xyz touch server.js - [Copy your code to the sandbox](copy-your-code-to-the-sandbox.md): sandbox copy ./my-app.js sb_abc123xyz:/home/sandbox/ - [Run it](run-it.md): sandbox exec sb_abc123xyz node /home/sandbox/my-app.js - [Copy results back](copy-results-back.md): sandbox copy sb_abc123xyz:/home/sandbox/output.json ./results.json - [Create sandbox](create-sandbox.md): SANDBOX_ID=$(sandbox create --timeout 15m --silent) - [Copy AI-generated code](copy-ai-generated-code.md): sandbox copy ./ai-generated.js $SANDBOX_ID:/app/ - [Test it interactively](test-it-interactively.md): sandbox exec --interactive --tty $SANDBOX_ID bash - [Clean up](clean-up.md): sandbox stop $SANDBOX_ID - [Create sandbox with more time](create-sandbox-with-more-time.md): sandbox create --timeout 1h - [Copy your project](copy-your-project.md): sandbox copy ./my-project/ sb_abc123xyz:/app/ - [Try building](try-building.md): sandbox exec sb_abc123xyz --workdir /app npm run build - [If it fails, debug interactively](if-it-fails-debug-interactively.md): sandbox exec -it sb_abc123xyz bash - [Create with port exposure](create-with-port-exposure.md): sandbox create --timeout 30m --publish-port 3000 - [Start your dev server](start-your-dev-server.md): sandbox exec --workdir /app sb_abc123xyz npm run dev - [Visit: https://sb-abc123xyz.vercel.app](visit-httpssb-abc123xyzvercelapp.md): -------------------------------------------------------------------------------- - [Sandbox Authentication](sandbox-authentication.md): The Sandbox SDK supports two authentication methods: Vercel OIDC tokens (recommended) and access tokens. - [Understanding Sandboxes](understanding-sandboxes.md): Vercel Sandboxes provide on-demand, isolated compute environments for running untrusted code, testing applications, e... - [Snapshots](snapshots.md): Snapshots capture the state of a running sandbox, including the filesystem and installed packages. Use snapshots to s... - [Vercel Sandbox](vercel-sandbox.md): Vercel Sandbox is an ephemeral compute primitive designed to safely run untrusted or user-generated code on Vercel. I... - [Vercel Sandbox pricing and limits](vercel-sandbox-pricing-and-limits.md): Vercel Sandbox usage is metered across several dimensions. This page explains how billing works for each plan, what l... - [Quickstart](quickstart.md): This guide shows you how to run your first code in a Vercel Sandbox. - [Sandbox SDK Reference](sandbox-sdk-reference.md): The Vercel Sandbox Software Development Kit (SDK) lets you create ephemeral Linux microVMs on demand. Use it to evalu... - [System Specifications](system-specifications.md): Vercel Sandbox provides a secure, isolated environment for running your code. This page details the runtime environme... - [Working with Sandbox](working-with-sandbox.md): This page covers common tasks when working with Vercel Sandbox. - [Accessibility Audit Tool](accessibility-audit-tool.md): The accessibility audit tool automatically checks the [Web Content Accessibility Guidelines 2.0](https://www.w3.org/T... - [Toolbar Browser Extensions](toolbar-browser-extensions.md): The browser extension is supported in Chrome, Firefox, Opera, Microsoft Edge, in addition to other Chromium-based bro... - [Add the Vercel Toolbar to your local environment](add-the-vercel-toolbar-to-your-local-environment.md): To enable the toolbar in your local environment, add it to your project using the [`@vercel/toolbar`](https://www.npm... - [Add the Vercel Toolbar to your production environment](add-the-vercel-toolbar-to-your-production-environment.md): As a [team owner](/docs/rbac/access-roles#owner-role) or [member](/docs/rbac/access-roles#member-role), you can enabl... - [Add the Vercel Toolbar to local and production environments](add-the-vercel-toolbar-to-local-and-production-environments.md): The Vercel Toolbar is available by default on all [preview environments](/docs/deployments/environments#preview-envir... - [Interaction Timing Tool](interaction-timing-tool.md): As you navigate your site, the interaction timing tool allows you to inspect in detail each interaction's latency and... - [Layout Shift Tool](layout-shift-tool.md): The layout shift tool gives you insight into any elements that may cause layout shifts on the page. The cause for a l... - [Managing the visibility of the Vercel Toolbar](managing-the-visibility-of-the-vercel-toolbar.md): When the toolbar is enabled, you'll be able to view it on any preview or enabled environment. By default, the toolbar... - [Vercel Toolbar](vercel-toolbar.md): The Vercel Toolbar is a tool that assists in the iteration and development process. Through the toolbar, you can: - [Setting Up Webhooks](setting-up-webhooks.md): A webhook is a trigger-based HTTP endpoint configured to receive HTTP POST requests through events. When an event hap... - [Webhooks API Reference](webhooks-api-reference.md): Vercel Integrations allow you to subscribe to certain trigger-based events through webhooks. An example use-cases for... - [Vercel Workflow](vercel-workflow.md): Vercel Workflow is a fully managed platform built on top of the - [Vercel Marketplace REST API](vercel-marketplace-rest-api.md): Learn how to authenticate and use the Marketplace API to set up your integration server for the base URL. - [Partner API Reference](partner-api-reference.md): The API Vercel Marketplace Partner's must implement to become a Marketplace Integration. See [our documentation](http... - [Vercel API Reference](vercel-api-reference.md): Vercel combines the best developer experience with an obsessive focus on end-user performance. Our platform enables f... - [Supported domains](supported-domains-2.md): Vercel supports the following top-level domains (TLDs) for [purchase](/docs/domains/working-with-domains#buying-a-dom... - [Vercel Documentation Sitemap](vercel-documentation-sitemap.md): This file is a high-level semantic index of the documentation. - [Get Installation](get-installation.md): GET /v1/installations/{installationId} - [Upsert Installation](upsert-installation.md): PUT /v1/installations/{installationId} - [Update Installation](update-installation.md): PATCH /v1/installations/{installationId} - [Delete Installation](delete-installation.md): DELETE /v1/installations/{installationId} - [Provision Resource](provision-resource.md): POST /v1/installations/{installationId}/resources - [Get Resource](get-resource.md): GET /v1/installations/{installationId}/resources/{resourceId} - [Update Resource](update-resource.md): PATCH /v1/installations/{installationId}/resources/{resourceId} - [Delete Resource](delete-resource.md): DELETE /v1/installations/{installationId}/resources/{resourceId} - [Request Secrets Rotation](request-secrets-rotation.md): POST /v1/installations/{installationId}/resources/{resourceId}/secrets/rotate - [List Billing Plans For Product](list-billing-plans-for-product.md): GET /v1/products/{productSlug}/plans - [List Billing Plans For Resource](list-billing-plans-for-resource.md): GET /v1/installations/{installationId}/resources/{resourceId}/plans - [List Billing Plans For Installation](list-billing-plans-for-installation.md): GET /v1/installations/{installationId}/plans - [Provision Purchase](provision-purchase.md): POST /v1/installations/{installationId}/billing/provision - [Resource REPL](resource-repl.md): POST /v1/installations/{installationId}/resources/{resourceId}/repl - [Create Resources Transfer Request](create-resources-transfer-request.md): POST /v1/installations/{installationId}/resource-transfer-requests - [Validate Resources Transfer Request](validate-resources-transfer-request.md): GET /v1/installations/{installationId}/resource-transfer-requests/{providerClaimId}/verify - [Accept Resources Transfer Request](accept-resources-transfer-request.md): POST /v1/installations/{installationId}/resource-transfer-requests/{providerClaimId}/accept - [Update Installation](update-installation-2.md): PATCH /v1/installations/{integrationConfigurationId} - [Get Account Information](get-account-information.md): GET /v1/installations/{integrationConfigurationId}/account - [Get Member Information](get-member-information.md): GET /v1/installations/{integrationConfigurationId}/member/{memberId} - [Create Event](create-event.md): POST /v1/installations/{integrationConfigurationId}/events - [Get Integration Resources](get-integration-resources.md): GET /v1/installations/{integrationConfigurationId}/resources - [Get Integration Resource](get-integration-resource.md): GET /v1/installations/{integrationConfigurationId}/resources/{resourceId} - [Import Resource](import-resource.md): PUT /v1/installations/{integrationConfigurationId}/resources/{resourceId} - [Update Resource](update-resource-2.md): PATCH /v1/installations/{integrationConfigurationId}/resources/{resourceId} - [Delete Integration Resource](delete-integration-resource.md): DELETE /v1/installations/{integrationConfigurationId}/resources/{resourceId} - [Submit Billing Data](submit-billing-data.md): POST /v1/installations/{integrationConfigurationId}/billing - [Submit Invoice](submit-invoice.md): POST /v1/installations/{integrationConfigurationId}/billing/invoices - [Get Invoice](get-invoice.md): GET /v1/installations/{integrationConfigurationId}/billing/invoices/{invoiceId} - [Invoice Actions](invoice-actions.md): POST /v1/installations/{integrationConfigurationId}/billing/invoices/{invoiceId}/actions - [Submit Prepayment Balances](submit-prepayment-balances.md): POST /v1/installations/{integrationConfigurationId}/billing/balance - [Update Resource Secrets](update-resource-secrets.md): PUT /v1/installations/{integrationConfigurationId}/resources/{resourceId}/secrets - [SSO Token Exchange](sso-token-exchange.md): POST /v1/integrations/sso/token - [Create one or multiple experimentation items](create-one-or-multiple-experimentation-items.md): POST /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items - [Patch an existing experimentation item](patch-an-existing-experimentation-item.md): PATCH /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items/{itemId} - [Delete an existing experimentation item](delete-an-existing-experimentation-item.md): DELETE /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/items/{itemId} - [Get the data of a user-provided Edge Config](get-the-data-of-a-user-provided-edge-config.md): GET /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config - [Push data into a user-provided Edge Config](push-data-into-a-user-provided-edge-config.md): PUT /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config - [Get the data of a user-provided Edge Config](get-the-data-of-a-user-provided-edge-config-2.md): HEAD /v1/installations/{integrationConfigurationId}/resources/{resourceId}/experimentation/edge-config