naftiko: 1.0.0-alpha2 info: label: WunderGraph Cosmo Platform API — Federated Graphs description: 'WunderGraph Cosmo Platform API — Federated Graphs. 8 operations. Lead operation: WunderGraph List federated graphs. Self-contained Naftiko capability covering one Wundergraph business surface.' tags: - Wundergraph - Federated Graphs created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WUNDERGRAPH_API_KEY: WUNDERGRAPH_API_KEY capability: consumes: - type: http namespace: cosmo-platform-federated-graphs baseUri: https://cosmo-cp.wundergraph.com description: WunderGraph Cosmo Platform API — Federated Graphs business capability. Self-contained, no shared references. resources: - name: v1-federated-graphs path: /v1/federated-graphs operations: - name: listfederatedgraphs method: GET description: WunderGraph List federated graphs outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: namespace in: query type: string description: Filter by namespace name. - name: limit in: query type: integer description: Maximum number of results to return. - name: offset in: query type: integer description: Number of results to skip. - name: createfederatedgraph method: POST description: WunderGraph Create a federated graph outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-federated-graphs-name path: /v1/federated-graphs/{name} operations: - name: getfederatedgraph method: GET description: WunderGraph Get a federated graph outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the federated graph. required: true - name: namespace in: query type: string description: The namespace of the graph. - name: updatefederatedgraph method: PUT description: WunderGraph Update a federated graph outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the federated graph to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletefederatedgraph method: DELETE description: WunderGraph Delete a federated graph outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the federated graph to delete. required: true - name: namespace in: query type: string description: The namespace of the graph. - name: v1-federated-graphs-name-changelog path: /v1/federated-graphs/{name}/changelog operations: - name: getfederatedgraphchangelog method: GET description: WunderGraph Get federated graph changelog outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the federated graph. required: true - name: namespace in: query type: string description: The namespace of the graph. - name: v1-federated-graphs-name-fetch path: /v1/federated-graphs/{name}/fetch operations: - name: fetchfederatedgraphsdl method: GET description: WunderGraph Fetch federated graph SDL outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the federated graph. required: true - name: namespace in: query type: string description: The namespace of the graph. - name: v1-federated-graphs-name-move path: /v1/federated-graphs/{name}/move operations: - name: movefederatedgraph method: POST description: WunderGraph Move a federated graph to another namespace outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The name of the federated graph to move. required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: Authorization value: '{{env.WUNDERGRAPH_API_KEY}}' placement: header exposes: - type: rest namespace: cosmo-platform-federated-graphs-rest port: 8080 description: REST adapter for WunderGraph Cosmo Platform API — Federated Graphs. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/federated-graphs name: v1-federated-graphs description: REST surface for v1-federated-graphs. operations: - method: GET name: listfederatedgraphs description: WunderGraph List federated graphs call: cosmo-platform-federated-graphs.listfederatedgraphs with: namespace: rest.namespace limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - method: POST name: createfederatedgraph description: WunderGraph Create a federated graph call: cosmo-platform-federated-graphs.createfederatedgraph with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/federated-graphs/{name} name: v1-federated-graphs-name description: REST surface for v1-federated-graphs-name. operations: - method: GET name: getfederatedgraph description: WunderGraph Get a federated graph call: cosmo-platform-federated-graphs.getfederatedgraph with: name: rest.name namespace: rest.namespace outputParameters: - type: object mapping: $. - method: PUT name: updatefederatedgraph description: WunderGraph Update a federated graph call: cosmo-platform-federated-graphs.updatefederatedgraph with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletefederatedgraph description: WunderGraph Delete a federated graph call: cosmo-platform-federated-graphs.deletefederatedgraph with: name: rest.name namespace: rest.namespace outputParameters: - type: object mapping: $. - path: /v1/v1/federated-graphs/{name}/changelog name: v1-federated-graphs-name-changelog description: REST surface for v1-federated-graphs-name-changelog. operations: - method: GET name: getfederatedgraphchangelog description: WunderGraph Get federated graph changelog call: cosmo-platform-federated-graphs.getfederatedgraphchangelog with: name: rest.name namespace: rest.namespace outputParameters: - type: object mapping: $. - path: /v1/v1/federated-graphs/{name}/fetch name: v1-federated-graphs-name-fetch description: REST surface for v1-federated-graphs-name-fetch. operations: - method: GET name: fetchfederatedgraphsdl description: WunderGraph Fetch federated graph SDL call: cosmo-platform-federated-graphs.fetchfederatedgraphsdl with: name: rest.name namespace: rest.namespace outputParameters: - type: object mapping: $. - path: /v1/v1/federated-graphs/{name}/move name: v1-federated-graphs-name-move description: REST surface for v1-federated-graphs-name-move. operations: - method: POST name: movefederatedgraph description: WunderGraph Move a federated graph to another namespace call: cosmo-platform-federated-graphs.movefederatedgraph with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: cosmo-platform-federated-graphs-mcp port: 9090 transport: http description: MCP adapter for WunderGraph Cosmo Platform API — Federated Graphs. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: wundergraph-list-federated-graphs description: WunderGraph List federated graphs hints: readOnly: true destructive: false idempotent: true call: cosmo-platform-federated-graphs.listfederatedgraphs with: namespace: tools.namespace limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: wundergraph-create-federated-graph description: WunderGraph Create a federated graph hints: readOnly: false destructive: false idempotent: false call: cosmo-platform-federated-graphs.createfederatedgraph with: body: tools.body outputParameters: - type: object mapping: $. - name: wundergraph-get-federated-graph description: WunderGraph Get a federated graph hints: readOnly: true destructive: false idempotent: true call: cosmo-platform-federated-graphs.getfederatedgraph with: name: tools.name namespace: tools.namespace outputParameters: - type: object mapping: $. - name: wundergraph-update-federated-graph description: WunderGraph Update a federated graph hints: readOnly: false destructive: false idempotent: true call: cosmo-platform-federated-graphs.updatefederatedgraph with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: wundergraph-delete-federated-graph description: WunderGraph Delete a federated graph hints: readOnly: false destructive: true idempotent: true call: cosmo-platform-federated-graphs.deletefederatedgraph with: name: tools.name namespace: tools.namespace outputParameters: - type: object mapping: $. - name: wundergraph-get-federated-graph-changelog description: WunderGraph Get federated graph changelog hints: readOnly: true destructive: false idempotent: true call: cosmo-platform-federated-graphs.getfederatedgraphchangelog with: name: tools.name namespace: tools.namespace outputParameters: - type: object mapping: $. - name: wundergraph-fetch-federated-graph-sdl description: WunderGraph Fetch federated graph SDL hints: readOnly: true destructive: false idempotent: true call: cosmo-platform-federated-graphs.fetchfederatedgraphsdl with: name: tools.name namespace: tools.namespace outputParameters: - type: object mapping: $. - name: wundergraph-move-federated-graph-another description: WunderGraph Move a federated graph to another namespace hints: readOnly: false destructive: false idempotent: false call: cosmo-platform-federated-graphs.movefederatedgraph with: name: tools.name body: tools.body outputParameters: - type: object mapping: $.