AnyAdapter
Built-in adapter supporting String, Int, Double, Boolean, List, and Map for intermediate steps.
ApolloClient instance creation
Create an ApolloClient instance connected to the remote server.
AppSync and graphql-ws websockets
Support for AppSync and graphql-ws websockets.
Auto Persisted Queries
Automatically persist queries to reduce network overhead.
Breaking change policy
Binary breaking changes only in major versions; source breaking changes avoided in non-major versions.
Build-time Registration
Register adapters in build.gradle[.kts] via mapScalar with a third argument.
Class Adapters
Each class requires an adapter with fromJson and optionally toJson functions for network serialization.
Class Mapping
Define a mapping in build.gradle to tell Apollo Kotlin which class to use for each custom scalar.
Custom scalar types
Support for custom scalar types in GraphQL schemas.
Enum type support
Learn about enum types in GraphQL.
Extra Adapters
Additional adapters for dates and big decimals available from apollo-kotlin-adapters repository.
Fake models for tests
Generate fake models for testing.
Documented feature
Fragment Support
Fragments can share result handling between queries and mutations.
Generated Classes
Mutations are represented by generated classes conforming to the Mutation interface.
HTTP cache
Provides HTTP caching capabilities.
Inline Fragments
Access fields of polymorphic types.
Input Objects
Input objects are passed as mutation variables for complex values.
Jetpack Compose integration
Reflect queried data in the app using Jetpack Compose.
Named Fragments
Reusable sets of fields across multiple operations.
OperationBased Codegen
Default codegen that merges all .graphql files before generating models.
Queries, Mutations and Subscriptions
Support for GraphQL queries, mutations, and subscriptions.
Query batching
Combine multiple queries into a single HTTP request.
Reflection-free parsing
Parsing without using reflection, enabling safe optimization and obfuscation.
Runtime Registration
Register adapters on ApolloClient instance using addCustomScalarAdapter.
Schema download
Add the GraphQL schema to the project.
Semantic versioning
Follows semantic versioning with pre-release, alpha, beta, rc, and stable versions.
Symbol lifecycle
Symbols marked @ApolloExperimental are not part of public API; @Deprecated symbols removed after major version and 6 months.