Docs
Search Apollo content (Cmd+K or /)
Launch GraphOS Studio
Home Home Schema Design Schema Design Connectors Connectors GraphOS Platform GraphOS Platform Routing Routing Resources Resources
Apollo iOS Apollo iOS
Apollo iOS - v2 (latest)
IntroductionGet Started

Project Configuration

Introduction1. Project Modularization2. Schema Types3. Operation ModelsSDK components

Migration Guides

v2.0

Tutorial

Code Generation

Build a project with Apollo

Introduction1. Configure your project2. Add the GraphQL schema3. Write your first query4. Running code generation5. Execute your first query6. Connect your queries to your UI7. Add more info to the list8. Paginate results9. Complete the details view10. Write your first mutation11. Authenticate your operations12. Define additional mutations
API Reference

Code Generation

IntroductionThe Codegen CLIConfigurationDownloading a SchemaRunning Code Generation in Swift CodeCode Generation Troubleshooting

Fetching

Fetching Data

Operations

QueriesMutationsSubscriptionsFragments
Operation ArgumentsError HandlingType ConditionsCustom ScalarsPersisted Queries@defer support

Caching

IntroductionSetupDirect Cache AccessCustom Cache KeysProgrammatic Cache Keys

Networking

Creating a Client

Pagination

IntroductionUsing Custom Response ModelsDirectional PaginationMulti-query Pagination

Development & Testing

Test MocksIncluding Apollo as an XCFramework

Advanced

File UploadsRequest Chain CustomizationClient Directives
Navigation controls

Schema Design

Overview

Federated Schemas

OverviewSchema TypesSchema CompositionSharing Types (Value Types)

Federation Reference

Federation ChangelogFederation DirectivesComposition Rules

Subgraph Reference

Federation Subgraphs SpecificationSubgraph Specific FieldsCompatible Subgraph Libraries

Development and Tooling

Query PlansComposition HintsErrors

From Federation 1 to 2

Upgrade GuideFederation 2 Backwards Compatibility

Entities

Introduction

Entity Essentials

Entity FieldsAdvanced KeysEntity Interfaces

Entity Guides

Entity Best PracticesMigrate FieldsResolve Another Subgraph's FieldsEnforce OwnershipUse Contexts

Schema Design Guides

Schema Design Principles

Demand Oriented Schema DesignNaming ConventionsNamespacing

Server-Driven UI

BasicsSchema DesignClient Design

Data Handling Techniques

Handling the N+1 ProblemNullabilityInterfacesResponse Type PatternErrors as DataAggregating DataGraph Identities

Schema Development and Evolution

Mocking to Unblock DevelopmentDeprecationsDistributed OrchestrationMigrating from a MonolithMigrating from Schema Stitching

Connectors

OverviewWhy use Connectors?

Getting Started

QuickstartAPI RequirementsVersion Requirements

Connectors Library

Overview

Prebuilt Connectors

AnthropicOpen AIAWS DynamoDBAWS LambdaStrapiStripeOData

Development and Tooling

OverviewIDE ExtensionsUsing RoverCLI ToolsMapping Playground

Making Requests

OverviewRequest URLsRequest HeadersRequest BodiesBatch RequestsgRPC over JSON

Handling Responses

OverviewMapping Response FieldsError Handling

Working with Entities

OverviewCommon PatternsWorking Across Subgraphs

Mapping Language

OverviewHandling ArraysMapping EnumsUsing Literal ValuesVariable ReferenceMethod Reference

Deployment

OverviewConfiguration

Deployment Configurations

Overriding Base URLsOverriding Headers

Security Configurations

OverviewAuthenticationRequest LimitsTLS

Performance Configurations

OverviewTraffic Shaping

Observability

OverviewTelemetry Configurations

Testing

Testing Framework

Connectors Reference

ChangelogDirectivesLimitations
Troubleshooting

GraphOS Platform

OverviewApollo Sandbox

Schema Management

Overview

Schema Delivery

Publishing

OverviewPublish with RoverPublish with the Platform APIGuide: Publish with GitHub Actions
LaunchesGraph Artifacts

Contracts

OverviewCreateUsage PatternsReference

Schema Checks

OverviewRun ChecksCustom ChecksChecks ConfigurationGitHub IntegrationChecks Reference

Schema Linting

OverviewLinter Rules

Schema Proposals

OverviewConfigureCreateReviewImplement

Explorer IDE

OverviewConnect and AuthenticateOperation CollectionsSubscription SupportEmbedScriptingAdditional Features

Graph Security

OverviewPersisted Queries

Metrics and Insights

Overview

Metrics Collection and Forwarding

Sending Metrics to GraphOSOperation SignaturesDatadog Forwarding

Insights and Analysis

Operation MetricsField UsageError DiagnosticsSubgraph MetricsSegmenting by Client

Notifications and Alerts

OverviewDaily ReportsSchema ChangesSchema ProposalsPerformance AlertsBuild Status

Access Management

OrganizationsAPI KeysMembers, Roles, and PermissionsAudit Logs

SSO

OverviewMulti-Organization

SAML

OktaMicrosoft Entra IDGeneric SAML Setup

OIDC

OktaMicrosoft Entra IDGeneric OIDC Setup

SCIM

OverviewOktaMicrosoft Entra ID

Graph Management

Using VariantsAdding SubgraphsManaging SubgraphsUpdating Graph ComponentsTransferring Graphs

Production Readiness

Production Readiness Checklist

Testing and Load Management

Overload ProtectionLoad TestingTesting with Federation

Environment and Deployment

Environment Best PracticesSchema Change ManagementUpdating Client SchemaDeployment Best Practices
Platform LimitsGraphOS Platform APIGraphOS MCP Tools

Routing

Apollo Router - v2 (latest)
OverviewGet StartedRequest Lifecycle

Configuration

OverviewEnvironment Variable ReferenceCLI ReferenceYAML Reference

Features

Security

OverviewPersisted QueriesAuthorization

Authentication

JWT AuthenticationRouter AuthenticationSubgraph Authentication
CORSCSRF PreventionTLSRequest LimitsDemand Control

Observability

Studio Insights

OverviewOperation Metrics ReportingFederated Trace Data

Router Telemetry (OTEL)

Overview

Telemetry Data

Metrics

InstrumentsStandard Instruments
Events

Traces

SpansStandard Attributes
ConditionsSelectors

Usage Guides

Subgraph Observability

Subgraph Error InclusionDebugging Subgraph RequestsInstrumenting Subgraphs

Client Observability

Debugging Client RequestsClient ID Enforcement

Telemetry Exporters

Metrics Exporters

OverviewOTLP

Log Exporters

OverviewStdout

Trace Exporters

OverviewOTLP

APM Guides

Datadog

Overview

Connecting to Datadog

OverviewOpenTelemetry Collector

Datadog Agent

MetricsTraces
Router InstrumentationDashboard Template

New Relic

MetricsTraces

Prometheus

MetricsTrace Metrics

Zipkin

Traces

Jaeger

Traces

Dynatrace

MetricsTraces

Performance and Scaling

Overview

Response Caching

OverviewQuickstartInvalidationCustomizationObservabilityFAQ
Traffic ShapingQuery Batching

Client Features

APQHTTP Header Propagation@defer

GraphQL Subscriptions

OverviewConfigurationCallback ProtocolMultipart ProtocolEnable with API Gateway
File Upload

Query Planning

Native Query PlannerBest PracticesCaching

Customization

Overview

Coprocessors

Coprocessor ConfigurationCoprocessor Reference

Rhai Scripts

Rhai ConfigurationRhai API Reference

Custom Builds

Building a BinaryRust Plugins

Deployment

Overview

Docker

Docker with the Apollo Runtime ContainerDocker with Apollo Router

Kubernetes

QuickstartDeploying with ExtensibilityEnabling MetricsOther Considerations

AWS

AWS ECS

Azure

Azure Container Apps

GCP

Google Cloud Run

Managed Hosting

RailwayRender

Apollo Cloud Routing

OverviewConfigurationSecure SubgraphsSubscriptionsServerless

Dedicated

OverviewQuickstartCustom DomainsThroughput GuideMigrate to Dedicated

AWS Lattice

Lattice ConfigurationLattice ManagementLattice Troubleshooting

Tools

Router Resource EstimatorHealth ChecksResource Management

Releases

ChangelogsWhat's New in Router v2Upgrade from Router v1Migrate from GatewayAPI Gateway Comparison

GraphOS Integration

GraphOS Plan LicenseGraphOS Plan FeaturesApollo Uplink

Reference

Federation Version SupportErrors

Resources

OverviewChangelogsGlossaryExamplesUse Apollo docs with AI

Release Policies

Apollo Feature Launch StagesGraphOS Router Release LifecycleApollo Client Library Release Lifecycle

Architecture

Reference Architecture

Supergraph Architecture Framework

OverviewOperational ExcellenceSecurityReliabilityPerformanceDeveloper Experience

GraphQL Adoption Guides

GraphQL Adoption PatternsUsing GraphQL for AbstractionSupergraph Stewardship

Rover CLI

OverviewInstallConfigureProxy ConfigurationCI/CDConventionsPrivacy and Data CollectionContributingError Codes

Commands

api-keycloudconfigconnectorcontractdevexplaingraphinitlicensepersisted-queriesreadmesubgraphsupergraphtemplate

The Apollo CLI (deprecated)

InstallationValidating Client OperationsMoving to Rover

IDE Support

IDE Support

OverviewVisual Studio CodeJetBrains IDEsVim/NeoVim

Apollo Client (Web)

Apollo Client (Web) - v4 (latest)
IntroductionWhy Apollo Client?Get started

Core concepts

QueriesSuspenseFragmentsMutationsTypeScriptRefetchingSubscriptionsDirectivesError handlingPersisted queriesDocument transformsDeferring response dataBest practices

Caching

OverviewConfigurationReading and writingGarbage collection and evictionCustomizing field behaviorMemory ManagementAdvanced topics

Pagination

OverviewCore APIOffset-basedCursor-basedkeyArgs

Local State

OverviewLocal-only fieldsReactive variablesLocal resolvers

Development & Testing

Developer toolsGraphQL CodegenTesting React componentsSchema-driven testingMocking schema capabilitiesReducing bundle size

Performance

Improving performanceOptimistic mutation resultsServer-side renderingCompiling queries with Babel

Integrations

Using Apollo Client with your view layerIntegrating with React NativeLoading queries with Webpack

Networking

Basic HTTP networkingAdvanced HTTP networkingAuthentication

API Reference

Core

ApolloClientInMemoryCacheObservableQuery

Errors

CombinedGraphQLErrorsCombinedProtocolErrorsLinkErrorLocalStateErrorServerErrorServerParseErrorUnconventionalError

React

ApolloProvideruseQueryuseLazyQueryuseMutationuseSubscriptionuseFragmentuseApolloClientuseReactiveVaruseSuspenseQueryuseBackgroundQueryuseReadQueryuseLoadableQueryuseQueryRefHandlersskipTokencreateQueryPreloaderMockProviderSSR

Apollo Link

OverviewApolloLinkBaseHttpLinkBaseBatchHttpLinkBatchHttpLinkBatchLinkClientAwarenessLinkErrorLinkGraphQLWsLinkHttpLinkPersistedQueryLinkRemoveTypenameFromVariablesLinkRetryLinkSchemaLinkSetContextLinkWebSocketLink (deprecated)Community links
ChangelogMigrating to Apollo Client 4.0Versioning Policy

Apollo iOS

Apollo iOS - v2 (latest)
IntroductionGet Started

Project Configuration

Introduction1. Project Modularization2. Schema Types3. Operation ModelsSDK components

Migration Guides

v2.0

Tutorial

Code Generation

Build a project with Apollo

Introduction1. Configure your project2. Add the GraphQL schema3. Write your first query4. Running code generation5. Execute your first query6. Connect your queries to your UI7. Add more info to the list8. Paginate results9. Complete the details view10. Write your first mutation11. Authenticate your operations12. Define additional mutations
API Reference

Code Generation

IntroductionThe Codegen CLIConfigurationDownloading a SchemaRunning Code Generation in Swift CodeCode Generation Troubleshooting

Fetching

Fetching Data

Operations

QueriesMutationsSubscriptionsFragments
Operation ArgumentsError HandlingType ConditionsCustom ScalarsPersisted Queries@defer support

Caching

IntroductionSetupDirect Cache AccessCustom Cache KeysProgrammatic Cache Keys

Networking

Creating a Client

Pagination

IntroductionUsing Custom Response ModelsDirectional PaginationMulti-query Pagination

Development & Testing

Test MocksIncluding Apollo as an XCFramework

Advanced

File UploadsRequest Chain CustomizationClient Directives

Apollo Kotlin

Apollo Kotlin - v4 (latest)
Get StartedMigrating to v4ModulesEvolution policyTutorialKdocChangelog

Configuration

Gradle plugin configurationGradle plugin recipesMulti ModulesFile typesClient Awareness

Fetching

QueriesMutationsSubscriptionsGraphQL variablesError handlingCustom scalarsFragments@defer supportPersisted queries

Caching

IntroductionNormalized cachesDeclarative cache IDsProgrammatic cache IDsWatching cached dataApolloStoreHTTP cacheTroubleshooting

Networking

InterceptorsCustom HTTP clientsUsing the models without apollo-runtimeAuthenticationWebSocket errorsBatching operations

Development & Testing

Testing overviewMocking HTTP responsesMocking GraphQL responsesData buildersAndroid Studio pluginApollo Debug Server

Advanced

Uploading filesMonitoring the network stateHandling nullabilityExperimental WebSocketsUsing aliasesUsing JavaApollo ASTCompiler pluginsJS InteroperabilityResponse based codegenApollo Kotlin galaxy

Apollo Server

Apollo Server - v4–v5 (latest)
IntroductionGet started

New in v4 and v5

Migrating from Apollo Server 4Migrating from Apollo Server 3Previous versionsChangelog

Defining a Schema

Schema basicsUnions and interfacesCustom scalarsDirectives

Resolving Operations

ResolversSharing contextError handlingSubscriptions

Fetching Data

OverviewREST APIs

Web Frameworks

IntegrationsBuilding integrationsMERN stack tutorial

Development Workflow

Build and run queriesRequest formatGenerating TS typesMockingIntegration testingApollo Studio Explorer

Performance

CachingCache backendsResponse Cache EvictionAutomatic persisted queries

Security

AuthCORSTerminating SSLProxy configuration

Deployment

LambdaHeroku

Monitoring

Metrics and loggingHealth checks

API Reference

ApolloServerstartStandaloneServerexpressMiddleware

Plugins

Overview

Built-in

Usage reportingSchema reportingInline traceDrain HTTP serverCache controlLanding pagesFederated subscriptions

Custom

Creating pluginsEvent reference

Using with Federation

As a subgraph

Setup@apollo/subgraph reference

As a gateway

SetupGateway performance@apollo/gateway reference

Apollo MCP Server

Apollo MCP Server - v1 (latest)
OverviewQuickstartDefine tools

Configuration

YAML Config ReferenceCustom Scalars
Run the MCP ServerDebugging

Deployment

OverviewHealth ChecksCORS
AuthorizationTelemetryBest PracticesLicensingLimitations

Guides

Development to Production WorkflowsAuthorization with Auth0

Apollo Operator

Overview

Getting Started

Install OperatorAdd SubgraphsDeploy Supergraphs

Kubernetes Resources

Supergraph

OverviewAutoscaling your SupergraphsSupergraph podTemplateSupergraph networking

Safe Deployments

Getting StartedAdvanced Topics
SupergraphSchemaSupergraphSetSubgraph

Workflows

OverviewSingle Cluster SetupMulti-Cluster & Hybrid SetupDeploy Only

Configuration

OverviewTelemetryControllersOCIPrivate Registries
Security Best Practices

Apollo iOS

Home
/ Apollo iOS

404

Page not found

Previous
Client Directives

© 2025 Apollo Graph Inc., d/b/a Apollo GraphQL.

Privacy Policy

Company

  • About Apollo
  • Careers
  • Partners

Resources

  • Blog
  • Tutorials
  • Content Library

Get in touch

  • Contact Sales
  • Contact Support