{"ref":"capability:metadata-publishing","page":"/capabilities/metadata-publishing","json":"/capabilities/metadata-publishing.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"metadata-publishing","name":"Metadata publishing","domain":"protocols-and-apis","ecosystems":["cap"],"universal":true,"description":"Describing a service to something other than a human — service metadata for clients, and machine-readable descriptions for registries and discovery.","short":"Describing a service for clients, registries and discovery","core_coverage":{"state":"core-and-community","assessed_at":"2026-09-27","what_core_does":"EDMX and CSN emitted from the model for every exposed service. Events declared in the model are published as AsyncAPI documents by [@cap-js/asyncapi](artifact:cap-js-asyncapi) through `cds compile --to asyncapi`.","where_it_stops":"It stops at protocol metadata. Broader ecosystem description — Open Resource Discovery, API registries — is a plugin.","sources":[{"url":"https://cap.cloud.sap/docs/guides/protocols/odata","title":"Serving OData APIs — EDMX and metadata","checked":"2026-08-31"},{"url":"https://cap.cloud.sap/docs/guides/protocols/asyncapi","title":"Publishing to AsyncAPI — capire","checked":"2026-09-27","quote":"You can convert events in CDS models to the AsyncAPI specification, a widely adopted standard used to describe and document message-driven asynchronous APIs."}],"relationship":"narrow-by-design"},"history":[{"date":"2026-08-31","field":"core_coverage.state","from":"left-open-on-purpose","to":"core-and-community","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."},{"date":"2026-09-27","field":"core_coverage","from":"without the page","to":"cites the page","reason":"capire audit 2026-09-27: a page this capability owns was cited nowhere."}],"drafted_with_ai":true},"sap_delivery":{"door":"cap","all":{"built_in":[{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json"}],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:cap-js-asyncapi","name":"@cap-js/asyncapi","json":"/artifacts/cap-js-asyncapi.json"},{"ref":"artifact:cap-js-ord","name":"@cap-js/ord","json":"/artifacts/cap-js-ord.json"},{"ref":"artifact:cap-java-cds-feature-ord","name":"com.sap.cds:cds-feature-ord","json":"/artifacts/cap-java-cds-feature-ord.json"}]},"by_flavor":{"node":{"built_in":[{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json"}],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:cap-js-asyncapi","name":"@cap-js/asyncapi","json":"/artifacts/cap-js-asyncapi.json"},{"ref":"artifact:cap-js-ord","name":"@cap-js/ord","json":"/artifacts/cap-js-ord.json"}]},"java":{"built_in":[],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:cap-java-cds-feature-ord","name":"com.sap.cds:cds-feature-ord","json":"/artifacts/cap-java-cds-feature-ord.json"}]}}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:cap-js-community-common","name":"@cap-js-community/common","json":"/artifacts/cap-js-community-common.json","ecosystem":"cap","origin_ring":"community-org"},{"ref":"artifact:cap-js-asyncapi","name":"@cap-js/asyncapi","json":"/artifacts/cap-js-asyncapi.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:cap-js-ord","name":"@cap-js/ord","json":"/artifacts/cap-js-ord.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:cap-java-cds-feature-ord","name":"com.sap.cds:cds-feature-ord","json":"/artifacts/cap-java-cds-feature-ord.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:how-to-rename-an-odata-v4-service","name":"How to rename an OData V4 service?","json":"/content/how-to-rename-an-odata-v4-service.json"},{"ref":"content:sap-ord-made-simple-what-it-does-and-why-it-s-crucial-in-your-sap-landscape-purp","name":"SAP ORD Made Simple: What It Does and Why It’s Crucial in your SAP Landscape + Purpose and Value","json":"/content/sap-ord-made-simple-what-it-does-and-why-it-s-crucial-in-your-sap-landscape-purp.json"},{"ref":"content:where-ord-is-used-in-sap-datasphere-sap-business-data-cloud-sap-databricks","name":"Where ORD Is Used in SAP Datasphere, SAP Business Data Cloud & SAP Databricks","json":"/content/where-ord-is-used-in-sap-datasphere-sap-business-data-cloud-sap-databricks.json"},{"ref":"content:how-to-use-reserved-words-as-property-names-in-your-odata-service","name":"How to use reserved words as property names in your OData service?","json":"/content/how-to-use-reserved-words-as-property-names-in-your-odata-service.json"},{"ref":"content:cap-cds-cdl-csn-and-jq-finding-associations","name":"CAP, CDS, CDL, CSN and jq - finding associations","json":"/content/cap-cds-cdl-csn-and-jq-finding-associations.json"},{"ref":"content:importing-an-external-data-model-using-cds-graphical-modeler-for-visual-studio-c","name":"Importing an external data model using CDS Graphical Modeler for Visual Studio Code","json":"/content/importing-an-external-data-model-using-cds-graphical-modeler-for-visual-studio-c.json"},{"ref":"content:importing-external-edmx-files-using-the-cds-graphical-modeler","name":"Importing external edmx files to your CAP project using the CDS Graphical Modeler","json":"/content/importing-external-edmx-files-using-the-cds-graphical-modeler.json"},{"ref":"content:sap-cloud-platform-backend-service-tutorial-12-cds-local-build","name":"SAP Cloud Platform Backend service: Tutorial [12]: CDS : local: build","json":"/content/sap-cloud-platform-backend-service-tutorial-12-cds-local-build.json"},{"ref":"content:develop-a-full-stack-business-application-with-sap-cloud-application-programming","name":"Develop a full stack Business application with SAP Cloud Application Programming Model","json":"/content/develop-a-full-stack-business-application-with-sap-cloud-application-programming.json"},{"ref":"content:introducing-the-cloud-application-programming-model-cap","name":"Introducing the Cloud Application Programming Model (CAP)","json":"/content/introducing-the-cloud-application-programming-model-cap.json"}],"normative_context":[]}}