{"swagger":"2.0","info":{"title":"Redpanda Schema Registry API","version":"1.2.0","description":"Manage schemas within a Redpanda cluster.\n\nSee also:\n\n- [Use Redpanda Cloud with the Schema Registry API](https://docs.redpanda.com/redpanda-cloud/manage/schema-reg/schema-reg-api/)\n- [Use Redpanda Self-Managed with the Schema Registry API](https://docs.redpanda.com/current/manage/schema-reg/schema-reg-api/)\n\nSchema Registry contexts (available in Redpanda version 26.1 or later) provide an isolated namespace for schemas, subjects, and configuration. You can use a context-qualified subject anywhere the API accepts a subject. In Redpanda Cloud, contexts are configurable only in BYOC and Dedicated clusters. See the [Redpanda Cloud](https://docs.redpanda.com/redpanda-cloud/manage/schema-reg/schema-reg-contexts/) or [Redpanda Self-Managed](https://docs.redpanda.com/current/manage/schema-reg/schema-reg-contexts/) documentation for details.\n","x-feedbackLink":{"label":"Share feedback","url":"https://github.com/redpanda-data/docs/issues/new?template=01_doc_request.yml"}},"host":"localhost:8081","basePath":"/","schemes":["http"],"paths":{"/config/{subject}":{"get":{"summary":"Get the compatibility level for a subject.","operationId":"get_config_subject","parameters":[{"name":"subject","description":"The subject to get the config for. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context. Use :.<context>: for context-level config.","in":"path","required":true,"type":"string"},{"name":"defaultToGlobal","description":"If true, return the global compatibility level if the subject doesn't have a level set.","in":"query","required":false,"type":"boolean"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/get_compatibility"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}},"put":{"summary":"Set the compatibility level for a subject.","operationId":"put_config_subject","consumes":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"parameters":[{"name":"subject","description":"The subject to set the config for. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context. Use :.<context>: for context-level config.","in":"path","required":true,"type":"string"},{"name":"config","in":"body","schema":{"$ref":"#/definitions/put_compatibility"}}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/put_compatibility"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}},"delete":{"summary":"Delete the compatibility level for a subject.","operationId":"delete_config_subject","parameters":[{"name":"subject","description":"The subject to delete the config for. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context. Use :.<context>: for context-level config.","in":"path","required":true,"type":"string"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/get_compatibility"}},"404":{"description":"Not Found: Subject not found","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/config":{"get":{"summary":"Get the global compatibility level.","operationId":"get_config","parameters":[],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/get_compatibility"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}},"put":{"summary":"Set the global compatibility level.","operationId":"put_config","consumes":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"parameters":[{"name":"config","in":"body","schema":{"$ref":"#/definitions/put_compatibility"}}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/put_compatibility"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/mode":{"get":{"summary":"Get the global mode.","operationId":"get_mode","parameters":[],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/mode"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}},"put":{"summary":"Set the global mode.","operationId":"put_mode","consumes":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"parameters":[{"name":"mode","in":"body","schema":{"$ref":"#/definitions/mode"}},{"name":"force","description":"If true, override the emptiness check when setting the global mode to IMPORT","in":"query","required":false,"type":"boolean"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/mode"}},"422":{"description":"Unprocessable Entity","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/mode/{subject}":{"get":{"summary":"Get the mode for a subject.","operationId":"get_mode_subject","parameters":[{"name":"subject","description":"The subject to get the mode for. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context. Use :.<context>: for context-level mode.","in":"path","required":true,"type":"string"},{"name":"defaultToGlobal","description":"If true, return the global mode if the subject doesn't have a mode set.","in":"query","required":false,"type":"boolean"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/mode"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}},"put":{"summary":"Set the mode for a subject.","operationId":"put_mode_subject","consumes":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"parameters":[{"name":"subject","description":"The subject to set the mode for. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context. Use :.<context>: for context-level mode.","in":"path","required":true,"type":"string"},{"name":"mode","in":"body","schema":{"$ref":"#/definitions/mode"}},{"name":"force","description":"If true, override the emptiness check when setting a subject's mode to IMPORT","in":"query","required":false,"type":"boolean"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/mode"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/error_body"}},"422":{"description":"Unprocessable Entity","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}},"delete":{"summary":"Delete the mode for a subject.","operationId":"delete_mode_subject","parameters":[{"name":"subject","description":"The subject to delete the mode for. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context. Use :.<context>: for context-level mode.","in":"path","required":true,"type":"string"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/mode"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/schemas/types":{"get":{"summary":"Get the supported schema types.","operationId":"get_schemas_types","parameters":[],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"string"}}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/schemas/ids/{id}":{"get":{"summary":"Get a schema by ID.","operationId":"get_schemas_ids_id","parameters":[{"name":"id","in":"path","required":true,"type":"integer"},{"name":"format","in":"query","required":false,"type":"string","description":"Redpanda version 25.2 or later. For Avro and Protobuf schemas only. Supported values: an empty string `''` returns the schema in its current format (default), and `serialized` (Protobuf only) returns the schema in its Base64-encoded wire binary format. Unsupported values return a 501 error."},{"name":"subject","in":"query","required":false,"type":"string","description":"Qualified subject to scope the lookup. Use :.<context>: for context-only lookup, or :.<context>:<subject> to also verify the schema is associated with that subject. Defaults to searching the default context if unspecified."},{"name":"referenceFormat","in":"query","required":false,"type":"string","description":"If set to 'qualified', schema references are returned in context-qualified form. Otherwise, unqualified references are returned."}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/schema_def_response"}},"404":{"description":"Not Found: Schema not found","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}},"501":{"description":"Not Implemented: The specified format parameter value is not supported","schema":{"$ref":"#/definitions/error_body"}}}}},"/schemas/ids/{id}/schema":{"get":{"summary":"Get the raw schema by ID.","operationId":"get_schemas_ids_id_schema","description":"Retrieves only the schema identified by the input ID, without additional metadata.","parameters":[{"name":"id","in":"path","required":true,"type":"integer"},{"name":"subject","in":"query","required":false,"type":"string","description":"Qualified subject to scope the lookup. Use :.<context>: for context-only lookup, or :.<context>:<subject> to also verify the schema is associated with that subject. Defaults to searching the default context if unspecified."},{"name":"format","in":"query","required":false,"type":"string","description":"Desired output format, dependent on schema type."}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"Raw schema string","schema":{"type":"string"}},"404":{"description":"Not Found: Schema not found","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/schemas/ids/{id}/versions":{"get":{"summary":"Get a list of subject-version pairs for the schema ID.","operationId":"get_schemas_ids_id_versions","parameters":[{"name":"id","in":"path","required":true,"type":"integer"},{"name":"subject","in":"query","required":false,"type":"string","description":"Qualified subject to scope the lookup. Use :.<context>: for context-only lookup, or :.<context>:<subject> to also verify the schema is associated with that subject. Defaults to searching the default context if unspecified."}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"object","properties":{"subject":{"type":"string"},"version":{"type":"integer"}}}}},"404":{"description":"Not Found: Schema not found","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/schemas/ids/{id}/subjects":{"get":{"summary":"Retrieve a list of subjects associated with some schema ID.","operationId":"get_schemas_ids_id_subjects","parameters":[{"name":"id","in":"path","required":true,"type":"integer"},{"name":"deleted","in":"query","required":false,"type":"boolean"},{"name":"subject","in":"query","required":false,"type":"string","description":"Qualified subject to scope the lookup. Use :.<context>: for context-only lookup, or :.<context>:<subject> to also verify the schema is associated with that subject. Defaults to searching the default context if unspecified."}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"string"}}},"404":{"description":"Not Found: Schema not found","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/subjects":{"get":{"summary":"Retrieve a list of subjects.","operationId":"get_subjects","parameters":[{"name":"deleted","in":"query","required":false,"type":"boolean"},{"name":"subjectPrefix","description":"If specified, only return subjects that start with the given prefix. A plain prefix (e.g. \"my-\") matches subjects in the default context. A context-qualified prefix \":.<context>:<prefix>\" (e.g. \":.my-context:my-\") matches within a specific context. The wildcard context \":*:<prefix>\" (e.g. \":*:my-\") matches across all contexts. Use just the context qualifier (e.g. \":.my-context:\" or \":*:\") to list all subjects in a context.","in":"query","required":false,"type":"string"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"string"}}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/subjects/{subject}":{"post":{"summary":"Check if a schema is already registered for the subject.","operationId":"post_subject","consumes":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"parameters":[{"name":"subject","description":"The subject name. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context.","in":"path","required":true,"type":"string"},{"name":"normalize","in":"query","required":false,"type":"boolean"},{"name":"deleted","in":"query","required":false,"type":"boolean"},{"name":"format","in":"query","required":false,"type":"string","description":"Redpanda version 25.2 or later. For Avro and Protobuf schemas only. Supported values: an empty string `''` returns the schema in its current format (default), and `serialized` (Protobuf only) returns the schema in its Base64-encoded wire binary format. Unsupported values return a 501 error."},{"name":"schema_def","in":"body","schema":{"$ref":"#/definitions/schema_def_request"}}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/stored_schema_response"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/error_body"}},"409":{"description":"Incompatible schema","schema":{"$ref":"#/definitions/error_body"}},"422":{"description":"Invalid schema","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}},"501":{"description":"Not Implemented: The specified format parameter value is not supported","schema":{"$ref":"#/definitions/error_body"}}}},"delete":{"summary":"Delete all schemas for the subject.","operationId":"delete_subject","parameters":[{"name":"subject","description":"The subject name. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context.","in":"path","required":true,"type":"string"},{"name":"permanent","in":"query","required":false,"type":"boolean"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"integer"}}},"404":{"description":"Not Found: Subject not found","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/subjects/{subject}/versions":{"get":{"summary":"Retrieve a list of versions for a subject.","operationId":"get_subject_versions","parameters":[{"name":"subject","description":"The subject name. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context.","in":"path","required":true,"type":"string"},{"name":"deleted","in":"query","required":false,"type":"boolean"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"integer"}}},"404":{"description":"Not Found: Subject not found","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}},"post":{"summary":"Create a new schema for the subject.","operationId":"post_subject_versions","consumes":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"parameters":[{"name":"subject","description":"The subject name. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context.","in":"path","required":true,"type":"string"},{"name":"normalize","in":"query","required":false,"type":"boolean"},{"name":"request","in":"body","schema":{"$ref":"#/definitions/stored_schema_request"}}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/post_subject_versions_response"}},"409":{"description":"Incompatible schema","schema":{"$ref":"#/definitions/error_body"}},"422":{"description":"Invalid schema","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/subjects/{subject}/versions/{version}":{"get":{"summary":"Retrieve a schema for the subject and version.","operationId":"get_subject_versions_version","parameters":[{"name":"subject","description":"The subject name. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context.","in":"path","required":true,"type":"string"},{"name":"version","in":"path","description":"The schema version to retrieve. Use an integer for a specific version or 'latest' for the most recent version.","required":true,"type":"string"},{"name":"deleted","in":"query","required":false,"type":"boolean"},{"name":"format","in":"query","required":false,"type":"string","description":"Redpanda version 25.2 or later. For Avro and Protobuf schemas only. Supported values: an empty string `''` returns the schema in its current format (default), and `serialized` (Protobuf only) returns the schema in its Base64-encoded wire binary format. Unsupported values return a 501 error."}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/get_subject_versions_version_response"}},"404":{"description":"Not Found: Schema not found","schema":{"$ref":"#/definitions/error_body"}},"422":{"description":"Invalid version","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}},"501":{"description":"Not Implemented: The specified format parameter value is not supported","schema":{"$ref":"#/definitions/error_body"}}}},"delete":{"summary":"Delete a schema for the subject and version.","operationId":"delete_subject_version","parameters":[{"name":"subject","description":"The subject name. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context.","in":"path","required":true,"type":"string"},{"name":"version","in":"path","description":"The schema version to delete. Use an integer for a specific version or 'latest' for the most recent version.","required":true,"type":"string"},{"name":"permanent","in":"query","required":false,"type":"boolean"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"type":"integer"}},"404":{"description":"Not Found: Schema not found","schema":{"$ref":"#/definitions/error_body"}},"422":{"description":"Invalid version","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/subjects/{subject}/versions/{version}/schema":{"get":{"summary":"Retrieve the raw schema for the subject.","operationId":"get_subject_versions_version_schema","description":"Returns the specified version of the schema in its original format, without backslashes.","parameters":[{"name":"subject","description":"The subject name. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context.","in":"path","required":true,"type":"string"},{"name":"version","in":"path","description":"The schema version to retrieve. Use an integer for a specific version or 'latest' for the most recent version.","required":true,"type":"string"},{"name":"deleted","in":"query","required":false,"type":"boolean"},{"name":"format","in":"query","required":false,"type":"string","description":"Redpanda version 25.2 or later. For Avro and Protobuf schemas only. Supported values: an empty string `''` returns the schema in its current format (default), and `serialized` (Protobuf only) returns the schema in its Base64-encoded wire binary format. Unsupported values return a 501 error."}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"type":"string"}},"404":{"description":"Not Found: Schema not found","schema":{"$ref":"#/definitions/error_body"}},"422":{"description":"Invalid version","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}},"501":{"description":"Not Implemented: The specified format parameter value is not supported","schema":{"$ref":"#/definitions/error_body"}}}}},"/subjects/{subject}/versions/{version}/referencedby":{"get":{"summary":"Retrieve a list of schema IDs that reference the subject and version.","operationId":"get_subject_versions_version_referenced_by","parameters":[{"name":"subject","description":"The subject name. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context.","in":"path","required":true,"type":"string"},{"name":"version","in":"path","description":"The schema version to check. Use an integer for a specific version or 'latest' for the most recent version.","required":true,"type":"string"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"integer"}}},"404":{"description":"Not Found: Schema not found","schema":{"$ref":"#/definitions/error_body"}},"422":{"description":"Invalid version","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/subjects/{subject}/versions/{version}/referencedBy":{"get":{"summary":"Retrieve a list of schema ids that reference the subject and version.","deprecated":true,"operationId":"get_subject_versions_version_referenced_by_deprecated","parameters":[{"name":"subject","description":"The subject name. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context.","in":"path","required":true,"type":"string"},{"name":"version","in":"path","description":"The schema version to check. Use an integer for a specific version or 'latest' for the most recent version.","required":true,"type":"string"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"integer"}}},"404":{"description":"Not Found: Schema not found","schema":{"$ref":"#/definitions/error_body"}},"422":{"description":"Invalid version","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/compatibility/subjects/{subject}/versions/{version}":{"post":{"summary":"Test compatibility of a schema for the subject and version.","operationId":"compatibility_subject_version","consumes":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"parameters":[{"name":"subject","description":"The subject name. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context.","in":"path","required":true,"type":"string"},{"name":"version","in":"path","description":"The schema version to check compatibility against. Use an integer for a specific version or 'latest' for the most recent version.","required":true,"type":"string"},{"name":"schema_def","in":"body","schema":{"$ref":"#/definitions/schema_def_request"}},{"name":"verbose","in":"query","description":"If true, includes more verbose information about the compatibility check, for example the reason the check failed.","required":false,"type":"boolean"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/is_compatibile"}},"409":{"description":"Incompatible schema","schema":{"$ref":"#/definitions/error_body"}},"422":{"description":"Invalid schema","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/status/ready":{"get":{"summary":"Health check","operationId":"schema_registry_status_ready","responses":{"200":{"description":"Success"},"503":{"description":"Service Unavailable"}}}},"/contexts":{"get":{"summary":"List all contexts.","operationId":"get_contexts","parameters":[],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"type":"string"}}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/contexts/{context}":{"delete":{"summary":"Delete a context.","description":"Deletes the specified context if it is empty. Subjects must be permanently deleted before the context can be deleted.","operationId":"delete_context","parameters":[{"name":"context","description":"The context to delete (e.g., .staging). Cannot delete the default context.","in":"path","required":true,"type":"string"}],"produces":["application/vnd.schemaregistry.v1+json","application/vnd.schemaregistry+json","application/json"],"responses":{"204":{"description":"No Content"},"404":{"description":"Not Found: Context not found","schema":{"$ref":"#/definitions/error_body"}},"422":{"description":"Unprocessable Entity: Context not empty","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}},"/security/acls":{"get":{"summary":"List ACLs","description":"Returns a list of ACL rules that match the specified filters.","operationId":"get_security_acls","produces":["application/json"],"parameters":[{"name":"principal","in":"query","type":"string","description":"The name of the principal, for example, User:alice or RedpandaRole:admin. Use \"*\" to represent a wildcard."},{"name":"resource","in":"query","type":"string","description":"The name of the resource. Use \"*\" to represent a wildcard."},{"name":"resource_type","in":"query","type":"string","enum":["REGISTRY","SUBJECT"],"description":"The type of resource being secured. The REGISTRY type maps to top-level operations such as `GET /mode` and `GET /config`. The SUBJECT type maps to operations on the subject level, such as `GET /subjects` and `GET /config/{subject}`."},{"name":"pattern_type","in":"query","type":"string","enum":["LITERAL","PREFIXED"],"description":"Pattern match type for the resource. Only applies when `resource_type` is SUBJECT."},{"name":"host","in":"query","type":"string","description":"Originating host for which this rule applies. Use \"*\" to represent a wildcard."},{"name":"operation","in":"query","type":"string","enum":["ALL","READ","WRITE","DELETE","DESCRIBE","DESCRIBE_CONFIGS","ALTER_CONFIGS"],"description":"The operation to allow or deny."},{"name":"permission","in":"query","type":"string","enum":["ALLOW","DENY"],"description":"Specifies whether the operation is allowed or denied."}],"responses":{"200":{"description":"List ACLs","schema":{"type":"array","items":{"$ref":"#/definitions/security_acl"}},"examples":{"application/json":[{"principal":"User:alice","resource":"model-","resource_type":"SUBJECT","pattern_type":"PREFIXED","operation":"READ","permission":"ALLOW","host":"*"}]}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/error_body"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}},"post":{"summary":"Create ACLs","description":"Create one or more ACL rules. The request body is an array of ACL definitions.","operationId":"post_security_acls","parameters":[{"name":"acls","in":"body","required":true,"schema":{"type":"array","items":{"$ref":"#/definitions/security_acl"}}}],"consumes":["application/json"],"produces":["application/json"],"responses":{"201":{"description":"ACLs created"},"400":{"description":"Bad request","schema":{"$ref":"#/definitions/error_body"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/error_body"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}},"delete":{"summary":"Delete ACLs","description":"Delete ACL rules that match the specified definitions exactly.","operationId":"delete_security_acls","consumes":["application/json"],"parameters":[{"name":"acls","in":"body","required":true,"schema":{"type":"array","items":{"$ref":"#/definitions/security_acl"}}}],"responses":{"200":{"description":"ACLs deleted","schema":{"type":"array","items":{"$ref":"#/definitions/security_acl"}}},"400":{"description":"Bad request","schema":{"$ref":"#/definitions/error_body"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/error_body"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/error_body"}},"500":{"description":"Internal Server Error","schema":{"$ref":"#/definitions/error_body"}}}}}},"definitions":{"error_body":{"type":"object","properties":{"error_code":{"type":"integer"},"message":{"type":"string"}}},"schema_reference":{"type":"object","properties":{"name":{"type":"string","description":"The name used to reference this schema in the dependent schema definition."},"subject":{"type":"string","description":"The subject name of the referenced schema. Use [:.<context>:]<subject> for context-qualified subjects, or just <subject> for the default context."},"version":{"type":"integer","description":"The version of the referenced schema."}}},"schema_metadata_request":{"type":"object","description":"A map of user-defined properties associated with this schema","properties":{"properties":{"type":"object","description":"Accepted values may be string, number, or boolean. All values are converted to strings.","additionalProperties":{"type":"string"}}}},"schema_metadata_response":{"type":"object","properties":{"properties":{"type":"object","additionalProperties":{"type":"string"}}}},"schema_def_request":{"type":"object","properties":{"schema":{"type":"string"},"schemaType":{"type":"string"},"references":{"type":"array","items":{"$ref":"#/definitions/schema_reference"}},"metadata":{"$ref":"#/definitions/schema_metadata_request"}}},"schema_def_response":{"type":"object","properties":{"schema":{"type":"string"},"schemaType":{"type":"string"},"references":{"type":"array","items":{"$ref":"#/definitions/schema_reference"}},"metadata":{"$ref":"#/definitions/schema_metadata_response"}}},"stored_schema_request":{"type":"object","properties":{"subject":{"type":"string"},"version":{"type":"integer"},"id":{"type":"integer"},"schemaType":{"type":"string"},"references":{"type":"array","items":{"$ref":"#/definitions/schema_reference"}},"metadata":{"$ref":"#/definitions/schema_metadata_request"},"schema":{"type":"string"}}},"stored_schema_response":{"type":"object","properties":{"subject":{"type":"string"},"version":{"type":"integer"},"id":{"type":"integer"},"schemaType":{"type":"string"},"references":{"type":"array","items":{"$ref":"#/definitions/schema_reference"}},"metadata":{"$ref":"#/definitions/schema_metadata_response"},"schema":{"type":"string"}}},"get_subject_versions_version_response":{"type":"object","properties":{"subject":{"type":"string"},"version":{"type":"integer"},"id":{"type":"integer"},"schemaType":{"type":"string"},"references":{"type":"array","items":{"$ref":"#/definitions/schema_reference"}},"metadata":{"$ref":"#/definitions/schema_metadata_response"},"schema":{"type":"string"},"deleted":{"type":"boolean"}}},"post_subject_versions_response":{"type":"object","properties":{"id":{"type":"integer"},"version":{"type":"integer"},"schemaType":{"type":"string"},"references":{"type":"array","items":{"$ref":"#/definitions/schema_reference"}},"metadata":{"$ref":"#/definitions/schema_metadata_response"},"schema":{"type":"string"}}},"get_compatibility":{"type":"object","properties":{"compatibilityLevel":{"type":"string","description":"Compatibility level","example":"FULL_TRANSITIVE","enum":["BACKWARD","BACKWARD_TRANSITIVE","FORWARD","FORWARD_TRANSITIVE","FULL","FULL_TRANSITIVE","NONE"]}}},"put_compatibility":{"type":"object","properties":{"compatibility":{"type":"string","description":"Compatibility level","example":"FULL_TRANSITIVE","enum":["BACKWARD","BACKWARD_TRANSITIVE","FORWARD","FORWARD_TRANSITIVE","FULL","FULL_TRANSITIVE","NONE"]}}},"mode":{"type":"object","properties":{"mode":{"type":"string","enum":["READWRITE","READONLY","IMPORT"]}}},"is_compatibile":{"type":"object","properties":{"is_compatible":{"type":"boolean"},"messages":{"type":"array","items":{"type":"string"}}}},"security_acl":{"type":"object","required":["principal","resource","resource_type","pattern_type","host","operation","permission"],"properties":{"principal":{"type":"string","description":"The name of the principal, for example, User:alice or RedpandaRole:admin. Use \"*\" to represent a wildcard."},"resource":{"type":"string","description":"The name of the resource. Use \"*\" to represent a wildcard."},"resource_type":{"type":"string","enum":["REGISTRY","SUBJECT"],"description":"The type of resource being secured."},"pattern_type":{"type":"string","enum":["LITERAL","PREFIXED"],"description":"Pattern match type for the resource. Only applies when `resource_type` is SUBJECT."},"host":{"type":"string","description":"Originating host for which this rule applies. Use \"*\" to represent a wildcard."},"operation":{"type":"string","enum":["ALL","READ","WRITE","DELETE","DESCRIBE","DESCRIBE_CONFIGS","ALTER_CONFIGS"],"description":"The operation to allow or deny."},"permission":{"type":"string","enum":["ALLOW","DENY"],"description":"Specifies whether the operation is allowed or denied."}}}}}