WunderGraph Federated Graphs API

Manage federated graphs composed from multiple subgraphs using label matchers.

Operations 8

GET /v1/federated-graphs WunderGraph List federated graphs #
POST /v1/federated-graphs WunderGraph Create a federated graph #
GET /v1/federated-graphs/{name} WunderGraph Get a federated graph #
PUT /v1/federated-graphs/{name} WunderGraph Update a federated graph #
DELETE /v1/federated-graphs/{name} WunderGraph Delete a federated graph #
GET /v1/federated-graphs/{name}/fetch WunderGraph Fetch federated graph SDL #
GET /v1/federated-graphs/{name}/changelog WunderGraph Get federated graph changelog #
POST /v1/federated-graphs/{name}/move WunderGraph Move a federated graph to another namespace #

Documentation

Specifications

Schemas & Data

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/wundergraph-federated-graphs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

wundergraph-federated-graphs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: WunderGraph Cosmo Platform Federated Graphs API
  description: The WunderGraph Cosmo Platform API provides programmatic access to manage federated GraphQL architectures at scale.
  version: 1.0.0
  contact:
    name: WunderGraph
    url: https://wundergraph.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://cosmo-cp.wundergraph.com
  description: WunderGraph Cosmo Cloud Control Plane
tags:
- name: Federated Graphs
  description: Manage federated graphs composed from multiple subgraphs using label matchers.
paths:
  /v1/federated-graphs:
    get:
      operationId: listFederatedGraphs
      summary: WunderGraph List federated graphs
      description: Lists all federated graphs in the organization, optionally filtered by namespace. Federated graphs represent the composed supergraph made up of multiple subgraphs.
      tags:
      - Federated Graphs
      security:
      - apiKey: []
      parameters:
      - name: namespace
        in: query
        schema:
          type: string
        description: Filter by namespace name.
      - name: limit
        in: query
        schema:
          type: integer
        description: Maximum number of results to return.
      - name: offset
        in: query
        schema:
          type: integer
        description: Number of results to skip.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  graphs:
                    type: array
                    items:
                      $ref: '#/components/schemas/FederatedGraph'
    post:
      operationId: createFederatedGraph
      summary: WunderGraph Create a federated graph
      description: Creates a new federated graph. A federated graph is composed from one or more subgraphs selected by label matchers.
      tags:
      - Federated Graphs
      security:
      - apiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              - routingUrl
              properties:
                name:
                  type: string
                  description: The name of the federated graph.
                namespace:
                  type: string
                  description: The namespace for the graph. Defaults to "default".
                routingUrl:
                  type: string
                  format: uri
                  description: The URL where the router is hosted.
                labelMatchers:
                  type: array
                  items:
                    type: string
                  description: Label matchers to select subgraphs for composition (e.g., "team=backend").
                admissionWebhookUrl:
                  type: string
                  format: uri
                  description: URL of the admission webhook for schema validation.
                readme:
                  type: string
                  description: A readme description for the federated graph.
      responses:
        '200':
          description: Federated graph created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResponse'
  /v1/federated-graphs/{name}:
    get:
      operationId: getFederatedGraph
      summary: WunderGraph Get a federated graph
      description: Retrieves details of a specific federated graph by name.
      tags:
      - Federated Graphs
      security:
      - apiKey: []
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
        description: The name of the federated graph.
      - name: namespace
        in: query
        schema:
          type: string
        description: The namespace of the graph.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FederatedGraph'
    put:
      operationId: updateFederatedGraph
      summary: WunderGraph Update a federated graph
      description: Updates the configuration of an existing federated graph, including its routing URL, label matchers, or admission webhook.
      tags:
      - Federated Graphs
      security:
      - apiKey: []
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
        description: The name of the federated graph to update.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                namespace:
                  type: string
                  description: The namespace of the graph.
                routingUrl:
                  type: string
                  format: uri
                  description: The new routing URL.
                labelMatchers:
                  type: array
                  items:
                    type: string
                  description: Updated label matchers for subgraph selection.
                admissionWebhookUrl:
                  type: string
                  format: uri
                  description: Updated admission webhook URL.
                readme:
                  type: string
                  description: Updated readme content.
      responses:
        '200':
          description: Federated graph updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResponse'
    delete:
      operationId: deleteFederatedGraph
      summary: WunderGraph Delete a federated graph
      description: Deletes a federated graph and its associated configuration from the control plane.
      tags:
      - Federated Graphs
      security:
      - apiKey: []
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
        description: The name of the federated graph to delete.
      - name: namespace
        in: query
        schema:
          type: string
        description: The namespace of the graph.
      responses:
        '200':
          description: Federated graph deleted successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResponse'
  /v1/federated-graphs/{name}/fetch:
    get:
      operationId: fetchFederatedGraphSDL
      summary: WunderGraph Fetch federated graph SDL
      description: Downloads the latest valid Schema Definition Language (SDL) of a federated graph and all its subgraphs from the control plane.
      tags:
      - Federated Graphs
      security:
      - apiKey: []
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
        description: The name of the federated graph.
      - name: namespace
        in: query
        schema:
          type: string
        description: The namespace of the graph.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  sdl:
                    type: string
                    description: The composed GraphQL SDL of the federated graph.
                  subgraphs:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                        sdl:
                          type: string
  /v1/federated-graphs/{name}/changelog:
    get:
      operationId: getFederatedGraphChangelog
      summary: WunderGraph Get federated graph changelog
      description: Retrieves the composition changelog for a federated graph showing schema changes over time.
      tags:
      - Federated Graphs
      security:
      - apiKey: []
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
        description: The name of the federated graph.
      - name: namespace
        in: query
        schema:
          type: string
        description: The namespace of the graph.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  changelog:
                    type: array
                    items:
                      $ref: '#/components/schemas/ChangelogEntry'
  /v1/federated-graphs/{name}/move:
    post:
      operationId: moveFederatedGraph
      summary: WunderGraph Move a federated graph to another namespace
      description: Moves a federated graph from one namespace to another.
      tags:
      - Federated Graphs
      security:
      - apiKey: []
      parameters:
      - name: name
        in: path
        required: true
        schema:
          type: string
        description: The name of the federated graph to move.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - newNamespace
              properties:
                namespace:
                  type: string
                  description: The current namespace of the graph.
                newNamespace:
                  type: string
                  description: The target namespace to move the graph to.
      responses:
        '200':
          description: Federated graph moved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperationResponse'
components:
  schemas:
    FederatedGraph:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the federated graph.
        name:
          type: string
          description: The name of the federated graph.
        namespace:
          type: string
          description: The namespace the graph belongs to.
        routingUrl:
          type: string
          format: uri
          description: The URL where the router is hosted.
        labelMatchers:
          type: array
          items:
            type: string
          description: Label matchers used to select subgraphs.
        compositionStatus:
          type: string
          enum:
          - SUCCESS
          - FAILURE
          - PENDING
          description: The current composition status of the graph.
        lastComposedAt:
          type: string
          format: date-time
          description: When the graph was last successfully composed.
        subgraphsCount:
          type: integer
          description: Number of subgraphs composing the federated graph.
        readme:
          type: string
          description: Readme description of the graph.
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    OperationResponse:
      type: object
      properties:
        success:
          type: boolean
          description: Whether the operation was successful.
        message:
          type: string
          description: A human-readable response message.
    ChangelogEntry:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the changelog entry.
        schemaVersionId:
          type: string
          description: The schema version associated with this change.
        createdAt:
          type: string
          format: date-time
          description: When the change occurred.
        changeType:
          type: string
          description: The type of schema change.
        path:
          type: string
          description: The schema path that changed.
        changeMessage:
          type: string
          description: Description of the change.
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: Authorization
      description: API key for authenticating with the Cosmo Platform API. Obtain via Cosmo Studio or wgc CLI. Set as COSMO_API_KEY environment variable.
x-authored-by: API Evangelist
x-modeled-from: documentation
x-provenance:
  method: modeled
  authored_by: API Evangelist
  modeled_from: https://cosmo-docs.wundergraph.com/
  provider_published: false
  note: Modeled by API Evangelist from WunderGraph's public Cosmo documentation. The provider does not publish a REST OpenAPI. The real control-plane interface is Connect-RPC, defined in WunderGraph's own platform.proto — see grpc/ for the verbatim first-party contract, which is authoritative where this document and the proto disagree.
  verified: '2026-08-03'
  evidence:
  - url: https://cosmo-cp.wundergraph.com/openapi.json
    status: 404
    note: no provider-published OpenAPI at the control-plane host
  - url: https://cosmo-cp.wundergraph.com/v1/analytics
    status: 404
    note: REST path modeled in this document does not resolve
  - url: https://cosmo-cp.wundergraph.com/wg.cosmo.platform.v1.PlatformService/GetFederatedGraphs
    status: 200
    method: POST
    note: the surface that does exist — Connect-RPC, not REST