License: Apache 2.0
List all groups within the namespace. If namespace is not specified, All groups in default namespace are listed.
Name
Located in
Description
Required
Schema
namespace
query
Namespace in which to look up groups
No
string
continuationToken
query
Continuation token
No
string
limit
query
The numbers of items to return
No
integer
Code
Description
Schema
200
List of all groups
ListGroupsResponse
500
Internal server error while fetching the list of Groups
Create a new Group
Name
Located in
Description
Required
Schema
namespace
query
Namespace in which to create group
No
string
CreateGroupRequest
body
The Group configuration
Yes
object
Code
Description
201
Successfully added group
409
Group with given name already exists
500
Internal server error while creating a Group
Fetch the properties of an existing Group
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
Code
Description
Schema
200
Found Group properties
GroupProperties
404
Group with given name not found
500
Internal server error while fetching Group details
Delete a Group
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
Code
Description
204
Successfully deleted the Group
500
Internal server error while deleting the Group
/groups/{groupName}/history
Fetch the history of schema evolution of a Group
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
Code
Description
Schema
200
Found Group history
GroupHistory
404
Group with given name not found
500
Internal server error while fetching Group history
/groups/{groupName}/compatibility
update schema compatibility of an existing Group
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
UpdateCompatibilityRequest
body
update group policy
Yes
object
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
Code
Description
200
Updated schema compatibility policy
404
Group with given name not found
409
Write conflict
500
Internal server error while updating Group's schema compatibility
/groups/{groupName}/schemas
Fetch latest schema versions for all objects identified by SchemaInfo#type under a Group. If query param type is specified then latest schema for the type is returned.
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
type
query
Type of object
No
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
Code
Description
Schema
200
Latest schemas for all objects identified by SchemaInfo#type under the group
SchemaVersionsList
404
Group with given name not found
500
Internal server error while fetching Group's latest schemas
Adds a new schema to the group
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
type
query
Type of object
No
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
schemaInfo
body
Add new schema to group
Yes
SchemaInfo
Code
Description
Schema
201
Successfully added schema to the group
VersionInfo
404
Group not found
409
Incompatible schema
417
Invalid serialization format
500
Internal server error while adding schema to group
/groups/{groupName}/schemas/versions
Get all schema versions for the group
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
type
query
Type of object the schema describes.
No
string
Code
Description
Schema
200
Versioned history of schemas registered under the group
SchemaVersionsList
404
Group with given name not found
500
Internal server error while fetching Group schema versions
/groups/{groupName}/schemas/versions/find
Get the version for the schema if it is registered. It does not automatically register the schema. To add new schema use addSchema
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
schemaInfo
body
Get schema corresponding to the version
Yes
SchemaInfo
Code
Description
Schema
200
Schema version
VersionInfo
404
Group with given name not found
500
Internal server error fetching version for schema
/groups/{groupName}/schemas/schema/{schemaId}
Get schema from the schema id that uniquely identifies the schema in the group.
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
schemaId
path
Schema Id
Yes
integer
Code
Description
Schema
200
Schema corresponding to the version
SchemaInfo
404
Group with given name not found
500
Internal server error while fetching schema from version
Delete schema identified by version from the group.
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
schemaId
path
Schema Id
Yes
integer
Code
Description
204
Schema corresponding to the version
404
Group with given name not found
500
Internal server error while deleting schema from group
/groups/{groupName}/schemas/{type}/versions/{version}
Get schema from the version number that uniquely identifies the schema in the group.
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
type
path
Schema type from SchemaInfo#type or VersionInfo#type
Yes
string
version
path
Version number
Yes
integer
Code
Description
Schema
200
Schema corresponding to the version
SchemaInfo
404
Group with given name not found
500
Internal server error while fetching schema from version
Delete schema version from the group.
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
type
path
Schema type from SchemaInfo#type or VersionInfo#type
Yes
string
version
path
Version number
Yes
integer
Code
Description
204
Schema corresponding to the version
404
Group with given name not found
500
Internal server error while deleting schema from group
/groups/{groupName}/schemas/versions/validate
Checks if given schema is compatible with schemas in the registry for current policy setting.
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
ValidateRequest
body
Checks if schema is valid with respect to supplied compatibility
Yes
object
Code
Description
Schema
200
Schema validation response
Valid
404
Group with given name not found
500
Internal server error while trying to validate schema
/groups/{groupName}/schemas/versions/canRead
Checks if given schema can be used for reads subject to compatibility policy in the schema compatibility.
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
schemaInfo
body
Checks if schema can be used to read the data in the stream based on compatibility policy.
Yes
SchemaInfo
Code
Description
Schema
200
Response to tell whether schema can be used to read existing schemas
CanRead
404
Group with given name not found
500
Internal server error while checking schema for readability
/groups/{groupName}/encodings
Get an encoding id that uniquely identifies a schema version and codec type pair.
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
GetEncodingIdRequest
body
Get schema corresponding to the version
Yes
object
Code
Description
Schema
200
Found Encoding
EncodingId
404
Group with given name or version not found
412
Codec type not registered
500
Internal server error while getting encoding id
/groups/{groupName}/encodings/{encodingId}
Get the encoding information corresponding to the encoding id.
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
encodingId
path
Encoding id that identifies a unique combination of schema and codec type
Yes
integer
Code
Description
Schema
200
Found Encoding
EncodingInfo
404
Group or encoding id with given name not found
500
Internal server error while getting encoding info corresponding to encoding id
/groups/{groupName}/codecTypes
Get codecTypes for the group.
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
Code
Description
Schema
200
Found CodecTypes
CodecTypesList
404
Group or encoding id with given name not found
500
Internal server error while fetching codecTypes registered
Adds a new codecType to the group.
Name
Located in
Description
Required
Schema
groupName
path
Group name
Yes
string
namespace
query
Namespace in which to lookup group. If no namespace is specified, default namespace is used.
No
string
codecType
body
The codecType
Yes
string
Code
Description
201
Successfully added codecType to group
404
Group not found
500
Internal server error while registering codectype to a Group
Gets a map of groups to version info where the schema if it is registered. SchemaInfo#properties is ignored while comparing the schema.
Name
Located in
Description
Required
Schema
namespace
query
Namespace in which to lookup schemas used in groups. If no namespace is specified, default namespace is used.
No
string
schemaInfo
body
Get schema references for the supplied schema
Yes
SchemaInfo
Code
Description
Schema
200
Schema version
AddedTo
404
Schema not found
500
Internal server error while fetching Schema references
Map of Group names to group properties. For partially created groups, the group properties may be null.
Name
Type
Description
Required
groups
object
No
continuationToken
string
Continuation token to identify the position of last group in the response.
Yes
Metadata for a group.
Name
Type
Description
Required
serializationFormat
SerializationFormat
serialization format for the group.
Yes
compatibility
Compatibility
Compatibility to apply while registering new schema.
Yes
allowMultipleTypes
boolean
Flag to indicate whether to allow multiple schemas representing distinct objects to be registered in the group.
Yes
properties
object
User defined Key value strings.
No
Serialization format enum that lists different serialization formats supported by the service. To use additional formats, use serializationFormat.Custom and supply fullTypeName.
Name
Type
Description
Required
serializationFormat
string
Yes
fullTypeName
string
No
Schema information object that encapsulates various properties of a schema.
Name
Type
Description
Required
type
string
Name of the schema. This identifies the type of object the schema payload represents.
Yes
serializationFormat
SerializationFormat
Type of schema.
Yes
schemaData
binary
Base64 encoded string for binary data for schema.
Yes
properties
object
User defined key value strings.
No
Version information object.
Name
Type
Description
Required
type
string
Type of schema for this version. This is same value used in SchemaInfo#Type for the schema this version identifies.
Yes
version
integer
Version number that uniquely identifies the schema version among all schemas in the group that share the same Type.
Yes
id
integer
schema id that uniquely identifies schema version and describes the absolute order in which the schema was added to the group.
Yes
Object that encapsulates SchemaInfo and its corresponding VersionInfo objects.
Name
Type
Description
Required
schemaInfo
SchemaInfo
Schema information.
Yes
versionInfo
VersionInfo
Version information.
Yes
List of schemas with their versions.
Name
Type
Description
Required
schemas
[ SchemaWithVersion ]
List of schemas with their versions.
No
Encoding id that uniquely identifies a schema version and codec type pair.
Name
Type
Description
Required
encodingId
integer
encoding id generated by service.
Yes
Encoding information object that resolves the schema version and codec type used for corresponding encoding id.
Name
Type
Description
Required
schemaInfo
SchemaInfo
Schema information object.
Yes
versionInfo
VersionInfo
Version information object.
Yes
codecType
string
Codec type.
Yes
Compatibility policy.
Name
Type
Description
Required
policy
string
Compatibility policy enum.
Yes
advanced
BackwardAndForward
Backward and forward policy details.
No
BackwardPolicy and forwardPolicy policy.
Name
Type
Description
Required
backwardPolicy
BackwardPolicy
BackwardAndForward policy type that describes different types of BackwardPolicy policies like Backward, BackwardTransitive and BackwardTill.
No
forwardPolicy
ForwardPolicy
BackwardAndForward policy type that describes different types of ForwardPolicy policies like Forward, ForwardTransitive and ForwardTill.
No
BackwardPolicy policy.
Name
Type
Description
Required
backwardPolicy
BackwardAndForward type backwardPolicy. Can be one of Backward, backwardTill and backwardTransitive.
Yes
ForwardPolicy policy.
Name
Type
Description
Required
forwardPolicy
BackwardAndForward type forwardPolicy. Can be one of forward, forwardTill and forwardTransitive.
Yes
BackwardPolicy compatibility type which tells the service to check for backwardPolicy compatibility with latest schema.
Name
Type
Description
Required
name
string
Yes
ForwardPolicy compatibility type which tells the service to check for forwardPolicy compatibilty with latest schema.
Name
Type
Description
Required
name
string
Yes
BackwardPolicy compatibility type which tells the service to check for backwardPolicy compatibility with all previous schemas.
Name
Type
Description
Required
name
string
Yes
ForwardPolicy compatibility type which tells the service to check for forwardPolicy compatibility with all previous schemas.
Name
Type
Description
Required
name
string
Yes
BackwardPolicy compatibility which tells the service to check for backwardPolicy compatibility with all previous schemas till specific version.
Name
Type
Description
Required
name
string
Yes
versionInfo
VersionInfo
Whether given schema is valid with respect to existing group schemas against the configured compatibility.
Yes
ForwardPolicy compatibility which tells the service to check for forwardPolicy compatibility with all previous schemas till specific version.
Name
Type
Description
Required
name
string
Yes
versionInfo
VersionInfo
Whether given schema is valid with respect to existing group schemas against the configured compatibility.
Yes
Response object for listCodecTypes.
Name
Type
Description
Required
codecTypes
[ string ]
List of codecTypes.
No
Response object for validateSchema api.
Name
Type
Description
Required
valid
boolean
Whether given schema is valid with respect to existing group schemas against the configured compatibility.
Yes
Response object for canRead api.
Name
Type
Description
Required
compatible
boolean
Whether given schema is compatible and can be used for reads. BackwardAndForward is checked against existing group schemas subject to group's configured compatibility policy.
Yes
Group History Record that describes each schema evolution - schema information, version generated for the schema, time and compatibility policy used for schema validation.
Name
Type
Description
Required
schemaInfo
SchemaInfo
Schema information object.
Yes
versionInfo
VersionInfo
Schema version information object.
Yes
compatibility
Compatibility
Schema compatibility applied.
Yes
timestamp
long
Timestamp when the schema was added.
Yes
schemaString
string
Schema as json string for serialization formats that registry service understands.
No
Name
Type
Description
Required
history
[ GroupHistoryRecord ]
Chronological list of Group History records.
No
Map of Group names to versionInfos in the group. This is for all the groups where the schema is registered.
Name
Type
Description
Required
groups
object
Version for the schema in the group.
Yes