{"$schema":"https://open-resource-discovery.org/spec-v1/interfaces/Document.schema.json#","openResourceDiscovery":"1.17","description":"Product catalog of the ORD playground shop (service: products-graphql).","perspective":"system-instance","describedSystemInstance":{"baseUrl":"https://discovery-ord.zazukoians.org"},"describedSystemType":{"systemNamespace":"zazuko.shop"},"packages":[{"ordId":"zazuko.shop:package:Products:v1","title":"Product Catalog","shortDescription":"Product, category and supplier APIs","description":"The product catalog, exposed as a GraphQL API. The product ID is the join key for order items and inventory events.","version":"1.0.0","vendor":"zazuko:vendor:Zazuko:","partOfProducts":["zazuko:product:OrdPlaygroundShop:"],"licenseType":"MIT","tags":["ord-playground"]}],"apiResources":[{"ordId":"zazuko.shop:apiResource:ProductsGraphQL:v1","localId":"ProductsGraphQL","title":"Products GraphQL API","shortDescription":"Query products, categories and suppliers with GraphQL","description":"GraphQL API of the product catalog. `productsByIds(ids:)` resolves the `ProductID`s of order items in one round trip; the `adjustStock` mutation changes stock levels.","partOfPackage":"zazuko.shop:package:Products:v1","partOfGroups":["zazuko.shop:domain:zazuko.shop:catalog"],"partOfConsumptionBundles":[{"ordId":"zazuko.shop:consumptionBundle:OpenAccess:v1"}],"partOfProducts":["zazuko:product:OrdPlaygroundShop:"],"version":"1.0.0","lastUpdate":"2026-10-27T09:00:00+00:00","visibility":"public","releaseStatus":"active","apiProtocol":"graphql","entryPoints":["https://products-ord.zazukoians.org/graphql"],"resourceDefinitions":[{"type":"graphql-sdl","mediaType":"text/plain","url":"https://products-ord.zazukoians.org/schema.graphql","accessStrategies":[{"type":"open"}]}],"apiResourceLinks":[{"type":"console","url":"https://products-ord.zazukoians.org/graphql"}],"exposedEntityTypes":[{"ordId":"zazuko.shop:entityType:Product:v1"},{"ordId":"zazuko.shop:entityType:ProductCategory:v1"},{"ordId":"zazuko.shop:entityType:Supplier:v1"}],"tags":["products","graphql"]}],"entityTypes":[{"ordId":"zazuko.shop:entityType:Product:v1","localId":"Product","title":"Product","shortDescription":"An article that can be ordered","partOfPackage":"zazuko.shop:package:Products:v1","partOfGroups":["zazuko.shop:domain:zazuko.shop:catalog"],"version":"1.0.0","lastUpdate":"2026-10-27T09:00:00+00:00","visibility":"public","releaseStatus":"active","level":"aggregate","description":"Identified by `id` (e.g. `P001`). Referenced by `OrderItem.ProductID` and by inventory events (`data.productId`).","relatedEntityTypes":[{"ordId":"zazuko.shop:entityType:ProductCategory:v1","relationType":"zazuko.shop:belongs-to"},{"ordId":"zazuko.shop:entityType:Supplier:v1","relationType":"zazuko.shop:supplied-by"}]},{"ordId":"zazuko.shop:entityType:ProductCategory:v1","localId":"ProductCategory","title":"Product Category","shortDescription":"A category of the product catalog","partOfPackage":"zazuko.shop:package:Products:v1","partOfGroups":["zazuko.shop:domain:zazuko.shop:catalog"],"version":"1.0.0","lastUpdate":"2026-10-27T09:00:00+00:00","visibility":"public","releaseStatus":"active","level":"root-entity"},{"ordId":"zazuko.shop:entityType:Supplier:v1","localId":"Supplier","title":"Supplier","shortDescription":"A company supplying products to the shop","partOfPackage":"zazuko.shop:package:Products:v1","partOfGroups":["zazuko.shop:domain:zazuko.shop:catalog"],"version":"1.0.0","lastUpdate":"2026-10-27T09:00:00+00:00","visibility":"public","releaseStatus":"active","level":"root-entity"}]}