Check the global default compatibility mode: GET /config returns {"compatibilityLevel": "BACKWARD"} — Confluent Schema Registry defaults to BACKWARD
Override compatibility for a specific subject: PUT /config/my-topic-value with body {"compatibility": "FULL_TRANSITIVE"} to require every new version to be both backward and forward compatible with all prior versions
Test a candidate schema before registering: POST /compatibility/subjects/my-topic-value/versions/latest with the new schema; a 200 response with {"is_compatible": true} confirms it passes
Register the new schema version: POST /subjects/my-topic-value/versions with the schema JSON
For BACKWARD mode: only add fields with defaults and only delete fields without defaults; upgrade all consumers before producers
For FORWARD mode: only add optional fields (fields with defaults) and delete fields that already have defaults; upgrade producers first, then consumers
Known gotchas
BACKWARD and FORWARD are non-transitive by default — they only check the new version against the latest registered version; use BACKWARD_TRANSITIVE or FULL_TRANSITIVE if consumers may read from any historical version
Renaming a field is not compatible under any mode because Schema Registry treats field names as identity; use an alias in Avro and add the new name as a field with a default instead
Deleting a required field (no default) is a breaking change under BACKWARD; always add a default before removing a field across separate deploys
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp