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. |
JSON Schema
{
"$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."
}
}
}