# App AI Gateway > A proxy that gives iOS apps and servers access to AI providers without shipping provider keys, with per-user limits and usage in one place. Every page below is also available as markdown by adding `.md` to its path. The agent manual is at https://docs.appaigateway.com/agents.md and the OpenAPI contract at https://docs.appaigateway.com/openapi.json. ## Documentation - [App AI Gateway](https://docs.appaigateway.com/index.md): Give your apps access to AI providers without shipping provider keys, and see every request in one place. - [Quickstart](https://docs.appaigateway.com/quickstart.md): Add a provider key, create an app, and send your first AI request in a few minutes, from a server with curl or from an iOS app. - [Run the demo app on your iPhone](https://docs.appaigateway.com/demo-ios-app.md): Build the open-source demo app and run it on your iPhone through your own gateway app, with chat, images and voice notes from one OpenAI key and no sign-up. - [Apps and providers](https://docs.appaigateway.com/how-it-works/apps-and-providers.md): The two things you configure, what each one owns, and how a request moves between them. - [Identity and entitlement](https://docs.appaigateway.com/how-it-works/identity.md): The three questions the gateway asks about a request, and which combinations an app can be configured for. - [Limits and blocking](https://docs.appaigateway.com/how-it-works/limits.md): The limits you set on your app's users, how they are counted, and how to block a user. - [Add a provider key](https://docs.appaigateway.com/providers/add-a-provider.md): Store a provider key once in the console, test it, and manage it over time. - [Supported providers](https://docs.appaigateway.com/providers/supported-providers.md): The sixteen provider types, the native path each one expects, and which gateways can carry them. - [Custom base URLs](https://docs.appaigateway.com/providers/custom-base-urls.md): Point a provider at an endpoint you control instead of the provider's own API. - [Gateways](https://docs.appaigateway.com/providers/gateways.md): Route providers through your Cloudflare AI Gateway or Vercel AI Gateway instead of holding their keys here. - [Model pricing](https://docs.appaigateway.com/providers/model-pricing.md): How the gateway prices each request, how to add prices for models the catalog does not know, and why unpriced models are refused. - [Create an application](https://docs.appaigateway.com/applications/create.md): Walk through the New app wizard for an iOS app or a server, and what it creates. - [Application identity](https://docs.appaigateway.com/applications/auth-policy/identity.md): How an app proves it is your app, with App Attest for iOS or API keys for a server. - [User authentication](https://docs.appaigateway.com/applications/auth-policy/user-authentication.md): Tie requests to signed-in users from Firebase, Supabase, Auth0, Clerk or your own issuer, or count each install as a user. - [Subscription check](https://docs.appaigateway.com/applications/auth-policy/subscription-check.md): Require that a signed-in user has paid before they can call AI providers through the app. - [Provider access](https://docs.appaigateway.com/applications/provider-access.md): Choose which providers, paths and models an app may use, and cap its output tokens. - [Model rewrites](https://docs.appaigateway.com/applications/model-rewrites.md): Point a model name an app sends at the model the provider should receive. - [Custom endpoints](https://docs.appaigateway.com/applications/custom-endpoints.md): Keep the provider, model, parameters and fallbacks on the gateway behind a stable slug, so you can change them without an app release. - [Limits](https://docs.appaigateway.com/applications/limits.md): Cap how many requests and how much spend each install, each user and the whole app may have. - [Users](https://docs.appaigateway.com/applications/users.md): See who is using the app, what each user has spent, and block a user who is running up your bill. - [Usage and events](https://docs.appaigateway.com/applications/usage.md): Spend, tokens and provider attempts over time, with detailed usage events. - [Auth and errors](https://docs.appaigateway.com/applications/auth-events.md): Token exchange success, failures by cause, and how long paid entitlements take to arrive. - [App settings](https://docs.appaigateway.com/applications/settings.md): Rename an app, turn it off so it refuses every request without losing anything, or delete it, in the console or through the API. - [iOS with the Swift package](https://docs.appaigateway.com/integrate/ios.md): Add the AppAIGateway package, pick an auth mode, and send provider requests from your app with no key on the device. - [Server applications](https://docs.appaigateway.com/integrate/server.md): Call the gateway from a backend with an API key, point standard SDKs at it, and attribute requests to your users. - [Calling the provider proxy](https://docs.appaigateway.com/integrate/proxy.md): The URL shape, the credential headers, what is forwarded to the provider, and how streaming works. - [Calling custom endpoints](https://docs.appaigateway.com/integrate/endpoints.md): Send a request body to a slug and let the gateway choose the provider, model and parameters. - [Errors and limits](https://docs.appaigateway.com/integrate/errors.md): Common client errors, their response format, and how to handle limits and failures. - [Use with AI agents](https://docs.appaigateway.com/automation/agents.md): Connect an agent to your account, let it configure apps, and supply credentials privately. - [CLI](https://docs.appaigateway.com/automation/cli.md): Install the agw CLI to sign in, add providers, create and check apps, and read usage from a terminal or a coding agent. - [MCP server](https://docs.appaigateway.com/automation/mcp.md): Connect an MCP client such as a coding agent to your gateway and let it read and change your apps, providers and usage. - [Agent manual](https://docs.appaigateway.com/automation/agent-manual.md): Everything an AI agent needs to manage providers, applications, users and usage through the API, in one page. - [Deploy to Cloudflare](https://docs.appaigateway.com/self-hosting/deploy-to-cloudflare.md): Run your own gateway on your Cloudflare account. Deploy a GitHub fork from the Cloudflare form, then register with your email. - [Deploy with Wrangler](https://docs.appaigateway.com/self-hosting/deploy-with-wrangler.md): Deploy from a checkout with the deploy script, and keep deployment-specific settings in a profile. - [Configuration](https://docs.appaigateway.com/self-hosting/configuration.md): Configure a self-hosted gateway, including secrets, sign-in, hostnames and maintenance. - [Custom domain and rate limiting](https://docs.appaigateway.com/self-hosting/custom-domain.md): Serve the gateway on your own hostname, give your apps a separate API host, and see the limits that bound abuse. - [Updating](https://docs.appaigateway.com/self-hosting/updating.md): Pick up new releases, understand what a deployment changes, and handle database migrations safely. - [Operations](https://docs.appaigateway.com/self-hosting/operations.md): Health, logs, key rotation, recovery, retention, and what to watch on a gateway you run yourself. - [Local development](https://docs.appaigateway.com/self-hosting/local-development.md): Run the gateway and its console on your machine, with hot reloading and optional Google sign-in. ## Full text - [llms-full.txt](https://docs.appaigateway.com/llms-full.txt): every page in one file