{"ref":"capability:graphql","page":"/capabilities/graphql","json":"/capabilities/graphql.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"graphql","name":"GraphQL","domain":"protocols-and-apis","ecosystems":["cap"],"universal":false,"description":"Serving the same model over GraphQL instead of OData — one endpoint, the client naming the fields it wants, for consumers who expect that shape rather than an OData one.","short":"Serving the same model over GraphQL instead of OData","core_coverage":{"state":"core-only","assessed_at":"2026-09-08","what_core_does":"An official adapter generates the GraphQL schema from the application's models and serves an endpoint that queries the same services. Nothing about the model changes; it is another protocol on the same definitions.","where_it_stops":"At generation. Federation across services, persisted queries and depth limiting are not part of it, and there is no second implementation in the corpus to reach for instead.","sources":[{"url":"https://cap.cloud.sap/docs/plugins/","title":"CAP Plugins — GraphQL Adapter","checked":"2026-09-08","quote":"generically generates a GraphQL schema for the models of an application and serves an endpoint that allows you to query your services using the GraphQL query language"}]},"history":[{"date":"2026-08-31","field":"core_coverage.state","from":"core","to":"core-only","reason":"States renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately."}],"drafted_with_ai":true},"sap_delivery":{"door":"cap","all":{"built_in":[],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:cap-js-graphql","name":"@cap-js/graphql","json":"/artifacts/cap-js-graphql.json"}]},"by_flavor":{"node":{"built_in":[],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:cap-js-graphql","name":"@cap-js/graphql","json":"/artifacts/cap-js-graphql.json"}]},"java":null}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:cap-js-graphql","name":"@cap-js/graphql","json":"/artifacts/cap-js-graphql.json","ecosystem":"cap","origin_ring":"sap-official"}],"samples":[],"explained_by":[{"ref":"content:september-15th-what-s-new-on-developers-sap-com","name":"September 15th: What's New on developers.sap.com","json":"/content/september-15th-what-s-new-on-developers-sap-com.json"},{"ref":"content:sap-capv7-node-js-highlights-and-experiences","name":"SAP CAPv7 - Node.js Highlights and Experiences","json":"/content/sap-capv7-node-js-highlights-and-experiences.json"},{"ref":"content:cap-graphql-as-new-protocol","name":"CAP: GraphQL as new protocol","json":"/content/cap-graphql-as-new-protocol.json"},{"ref":"content:sap-cap-function-and-action-with-unstructured-dynamic-type-input-output","name":"SAP CAP function and action with Unstructured/Dynamic Type Input/Output","json":"/content/sap-cap-function-and-action-with-unstructured-dynamic-type-input-output.json"},{"ref":"content:sap-graphql-in-capm-nodejs","name":"SAP GraphQL in CAPm (node.js)","json":"/content/sap-graphql-in-capm-nodejs.json"}],"normative_context":[]}}