---
title: "Examples"
description:
  "Tutorials and templates for building on Zuplo, filterable by category. Each
  example links to a full walkthrough and its source code on GitHub."
canonicalUrl: "https://zuplo.com/examples"
sourceUrl: "https://zuplo.com/examples"
pageType: "other"
generatedAt: "2026-08-28"
---

# Deploy an API in minutes

> Tutorials and templates to get you started fast

This page lists 28 example projects, filterable by category and searchable by
keyword. Each example links to a full walkthrough at `/examples/<slug>` and to
its source code on GitHub at
`https://github.com/zuplo/zuplo/tree/main/examples/<slug>`. This is one of two
tabs on this page — the other is [Videos](/videos).

Categories: Authentication, Backend-for-Frontend (BFF), Caching, Customization,
API Governance, Git Ops, Logging, Model Context Protocol (MCP), Programmability,
Rate Limiting, Routing, Testing, Validation.

## Starter examples

- **[Basic API Gateway](/examples/basic-api-gateway)** (Authentication) —
  Protect your backend API with authentication, rate limiting, and request
  validation.
- **[Remote MCP Server with OAuth](/examples/remote-mcp-server-with-oauth)**
  (Model Context Protocol (MCP)) — Secure your MCP Server with OAuth
  authentication using Auth0.
- **[Dev Portal with API Keys](/examples/dev-portal-with-api-keys)**
  (Authentication) — Let developers sign up and create their own API keys
  through a self-serve portal.

## All examples

| Example                                                                  | Category                     | Description                                                                                                             |
| ------------------------------------------------------------------------ | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| [API Key + JWT Multi-Auth](/examples/api-key-jwt-multi-auth)             | Authentication               | Accept either an API key or a JWT on the same route with a composite inbound policy.                                    |
| [Circuit Breaker](/examples/circuit-breaker)                             | Programmability              | Protect your backend from cascading failures by automatically blocking traffic when error rates exceed a threshold.     |
| [HTTP Deprecation](/examples/http-deprecation)                           | API Governance               | Signal deprecated endpoints and sunset dates to API clients with standards-based Deprecation, Sunset, and Link headers. |
| [Geolocation Routing](/examples/geolocation-routing)                     | Routing                      | Route requests to regional backends based on user location for data residency and latency optimization.                 |
| [Canary Routing](/examples/canary-routing)                               | Routing                      | Gradually roll out new backend versions by routing a percentage of traffic to canary before full deployment.            |
| [Dynamic Rate Limits](/examples/dynamic-rate-limits)                     | Programmability              | Set different rate limits based on user subscription tier or API key metadata.                                          |
| [Environment-Based Routing](/examples/environment-routing)               | Routing                      | Route requests to sandbox or production backends based on API key metadata, like Stripe.                                |
| [Idempotency Keys](/examples/idempotency-keys)                           | Programmability              | Prevent duplicate API requests and ensure safe retries for payments and critical operations.                            |
| [Semantic Caching](/examples/semantic-caching)                           | Caching                      | Reduce AI API costs by caching responses for semantically similar queries.                                              |
| [OpenAI App](/examples/mcp-server-openai-apps-sdk)                       | Model Context Protocol (MCP) | Build a ChatGPT App that connects to your API using MCP.                                                                |
| [GraphQL MCP Server](/examples/mcp-server-graphql)                       | Model Context Protocol (MCP) | Make your GraphQL API available to AI assistants like Claude and ChatGPT.                                               |
| [MCP Custom Tools](/examples/mcp-server-custom-tools)                    | Model Context Protocol (MCP) | Create AI tools that combine multiple API calls into a single action.                                                   |
| [MCP Server Prompts](/examples/mcp-server-prompts)                       | Model Context Protocol (MCP) | Improve AI assistant interactions by adding guided prompts to your MCP Server.                                          |
| [Remote MCP Server](/examples/remote-mcp-server)                         | Model Context Protocol (MCP) | Expose your API to AI assistants like Claude and ChatGPT with built-in security.                                        |
| [Schema Validation with File Refs](/examples/schema-validation-file-ref) | Validation                   | Validate requests against JSON schemas stored in separate files.                                                        |
| [Mocking & Unit Test](/examples/test-mocks)                              | Testing                      | Test your Zuplo handlers and policies with mocked request and context objects.                                          |
| [Custom Base Path](/examples/oas-base-path)                              | Programmability              | Remove or rewrite URL paths when forwarding requests to your backend.                                                   |
| [OpenFGA Authorization](/examples/openfga)                               | Programmability              | Implement fine-grained authorization with relationship-based access control.                                            |
| [Rewrite Request Body](/examples/rewrite-request-body)                   | Programmability              | Transform request bodies before forwarding to your backend API.                                                         |
| [Route Custom Data](/examples/route-custom-data)                         | Programmability              | Add custom metadata to routes and use it in your policies and handlers.                                                 |
| [API Linting](/examples/api-linting)                                     | API Governance               | Enforce API design standards and consistency across your team with automated linting.                                   |
| [Backend for Frontend (BFF) Auth](/examples/bff-auth)                    | Authentication               | Secure your web app by handling authentication server-side without exposing tokens to the browser.                      |
| [Custom Rate Limiting](/examples/custom-429-response)                    | Programmability              | Customize the error response users see when they hit your API rate limits.                                              |
| [Custom Modules](/examples/custom-module)                                | Programmability              | Use npm packages and third-party libraries in your Zuplo handlers and policies.                                         |
| [Log Request & Response](/examples/log-request-response)                 | Programmability              | Debug API issues by capturing full request and response bodies in your logs.                                            |

## Can't find what you're looking for?

Check out all our examples on GitHub or read the docs to build your own custom
solution.

## Next steps

- [View all examples on GitHub](https://github.com/zuplo/zuplo/tree/main/examples)
- [Read the docs](https://zuplo.com/docs)
- Browse [video walkthroughs](/videos)
