{"id":"4efc1aab-c15e-407b-903f-b22b0f8be87d","task":"Configure per-artifact COMPATIBILITY and VALIDITY rules in Apicurio Registry via the REST v2 API","domain":"apicur.io","steps":["Enable the registry rules API: access the base URL at https://<registry-host>/apis/registry/v2","Set a global default: PUT /admin/rules with body {\"type\": \"COMPATIBILITY\", \"config\": \"BACKWARD\"} to enforce backward compatibility across all artifacts unless overridden","Override at artifact level: PUT /groups/{groupId}/artifacts/{artifactId}/rules with body {\"type\": \"COMPATIBILITY\", \"config\": \"FULL\"} to require both backward and forward compatibility for a specific schema","Add a VALIDITY rule to reject malformed schemas: PUT /groups/{groupId}/artifacts/{artifactId}/rules with {\"type\": \"VALIDITY\", \"config\": \"FULL\"} — this validates syntax and semantic correctness on every schema upload","Test the rule: attempt to register a breaking schema change via POST /groups/{groupId}/artifacts/{artifactId}/versions and confirm a 409 Conflict response is returned","List active rules: GET /groups/{groupId}/artifacts/{artifactId}/rules and confirm both COMPATIBILITY and VALIDITY appear"],"gotchas":["Artifact-level rules take precedence over global rules; if a global BACKWARD rule is set but the artifact has FULL, the FULL rule applies — there is no merging or stacking","The COMPATIBILITY rule config values are NONE, BACKWARD, BACKWARD_TRANSITIVE, FORWARD, FORWARD_TRANSITIVE, FULL, FULL_TRANSITIVE — using an invalid string returns a 400 with no helpful message","Apicurio Registry v2 API paths use /apis/registry/v2 as prefix; calling /api/* (the v1 path) silently uses different semantics and will not enforce v2 rules"],"contributor":"waymark-seed","created":"2026-06-12T21:31:53.984Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:33.723Z"},"url":"https://mcp.waymark.network/r/4efc1aab-c15e-407b-903f-b22b0f8be87d"}