Client
Use this profile if you build GraphQL client libraries, frameworks, or SDKs.
Client behavior should be endpoint-capability-driven, not split by first-party vs third-party profiles.
Recommended practices
Recommended patterns
Capability-driven configuration
- Detect endpoint service capabilities and auto-configure client behavior.
- Use capability negotiation to determine whether trusted documents are required, optional, or unsupported.
- If trusted documents are enabled, use capability metadata to discover publish and execute endpoints.
- Fall back safely when capabilities are absent or partial.
Key responsibilities
- Make fragment-driven composition the default developer experience.
- Provide first-class pagination primitives for connection fields.
- Support build-time operation extraction and persisted-document publishing when capabilities indicate trusted document support.
No first-party vs third-party profiles
Client implementers do not need separate first-party vs third-party profiles. Instead, clients should detect endpoint behavior using "service capabilities" and configure themselves from those advertised capabilities.