WunderGraph · Schema

WunderGraph Cosmo Schema Contract

A Schema Contract provides a filtered version of a composed federated graph to different consumers based on tag exclusions.

FederationGraphQLManagementSchema Registry

Properties

Name Type Description
id string Unique identifier for the contract.
name string The name of the contract.
namespace string The namespace the contract belongs to.
sourceGraphName string The source federated graph.
routingUrl string The routing URL for the contract graph.
excludeTags array Tags excluded from the contract schema.
compositionStatus string The current composition status of the contract.
createdAt string When the contract was created.
updatedAt string When the contract was last updated.
View JSON Schema on GitHub

JSON Schema

schema-contract.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/wundergraph/blob/main/json-schema/schema-contract.json",
  "title": "WunderGraph Cosmo Schema Contract",
  "description": "A Schema Contract provides a filtered version of a composed federated graph to different consumers based on tag exclusions.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the contract."
    },
    "name": {
      "type": "string",
      "description": "The name of the contract."
    },
    "namespace": {
      "type": "string",
      "description": "The namespace the contract belongs to."
    },
    "sourceGraphName": {
      "type": "string",
      "description": "The source federated graph."
    },
    "routingUrl": {
      "type": "string",
      "format": "uri",
      "description": "The routing URL for the contract graph."
    },
    "excludeTags": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Tags excluded from the contract schema."
    },
    "compositionStatus": {
      "type": "string",
      "enum": ["SUCCESS", "FAILURE", "PENDING"],
      "description": "The current composition status of the contract."
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the contract was created."
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "When the contract was last updated."
    }
  }
}