API
Version: 0.8.7
/v1beta1/namespaces
GET
Summary
List names of namespaces
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1ListNamespacesResponse | 
| default | An unexpected error response. | rpcStatus | 
POST
Summary
Create namespace entry
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| body | body | Yes | v1beta1CreateNamespaceRequest | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1CreateNamespaceResponse | 
| default | An unexpected error response. | rpcStatus | 
/v1beta1/namespaces/{id}
GET
Summary
Get namespace by id
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| id | path | Yes | string | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1GetNamespaceResponse | 
| default | An unexpected error response. | rpcStatus | 
DELETE
Summary
Delete namespace by id
Description
Ensure all schemas under this namespace is deleted, otherwise it will throw error
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| id | path | Yes | string | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1DeleteNamespaceResponse | 
| default | An unexpected error response. | rpcStatus | 
PUT
Summary
Update namespace entity by id
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| id | path | Yes | string | |
| body | body | Yes | object | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1UpdateNamespaceResponse | 
| default | An unexpected error response. | rpcStatus | 
/v1beta1/namespaces/{id}/schemas
GET
Summary
List schemas under the namespace
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| id | path | Yes | string | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1ListSchemasResponse | 
| default | An unexpected error response. | rpcStatus | 
/v1beta1/namespaces/{namespaceId}/schemas/{schemaId}
GET
Summary
Get latest schema
Description
Returns latest schema in it's own data type. For protobuf response type would be 'application/octet-stream'. Avro, json schema response type would be 'application/json'
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| namespaceId | path | Yes | string | |
| schemaId | path | Yes | string | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful schema response. Based on schema format, response will return different content types. For avro and json schemas response type is application/json. For protobuf response type isapplication/octet-stream. | |
| default | An unexpected error response. | rpcStatus | 
POST
Summary
Create schema under the namespace
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| namespaceId | path | Yes | string | |
| schemaId | path | Yes | string | |
| body | body | Request payload should be equivalent to curl--data-binaryoption | Yes | binary | 
| X-Format | header | No | string | |
| X-Compatibility | header | No | string | |
| X-SourceURL | header | source URL of the project | No | string | 
| X-CommitSHA | header | commit SHA of corresponding to th change | No | string | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1CreateSchemaResponse | 
| default | An unexpected error response. | rpcStatus | 
DELETE
Summary
Delete specified schema
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| namespaceId | path | Yes | string | |
| schemaId | path | Yes | string | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1DeleteSchemaResponse | 
| default | An unexpected error response. | rpcStatus | 
PATCH
Summary
Update only schema metadata
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| namespaceId | path | Yes | string | |
| schemaId | path | Yes | string | |
| body | body | Yes | object | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1UpdateSchemaMetadataResponse | 
| default | An unexpected error response. | rpcStatus | 
/v1beta1/namespaces/{namespaceId}/schemas/{schemaId}/check
POST
Summary
Check schema compatibility
Description
Checks comptibility with existing latest schema
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| namespaceId | path | Yes | string | |
| schemaId | path | Yes | string | |
| body | body | Yes | binary | |
| X-Compatibility | header | No | string | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1CreateSchemaResponse | 
| default | An unexpected error response. | rpcStatus | 
/v1beta1/namespaces/{namespaceId}/schemas/{schemaId}/meta
GET
Summary
Create schema under the namespace. Returns version number, unique ID and location
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| namespaceId | path | Yes | string | |
| schemaId | path | Yes | string | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1GetSchemaMetadataResponse | 
| default | An unexpected error response. | rpcStatus | 
/v1beta1/namespaces/{namespaceId}/schemas/{schemaId}/versions
GET
Summary
List all version numbers for schema
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| namespaceId | path | Yes | string | |
| schemaId | path | Yes | string | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1ListVersionsResponse | 
| default | An unexpected error response. | rpcStatus | 
/v1beta1/namespaces/{namespaceId}/schemas/{schemaId}/versions/{versionId}
DELETE
Summary
Delete specified version of the schema
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| namespaceId | path | Yes | string | |
| schemaId | path | Yes | string | |
| versionId | path | Yes | integer | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1DeleteVersionResponse | 
| default | An unexpected error response. | rpcStatus | 
/v1beta1/search
GET
Summary
Global Search API
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| namespaceId | query | No | string | |
| schemaId | query | No | string | |
| query | query | Yes | string | |
| history | query | No | boolean | |
| versionId | query | No | integer | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1SearchResponse | 
| default | An unexpected error response. | rpcStatus | 
Reconciliation API
/v1beta1/schema/detect-change/{namespaceId}/{schemaName}?from={v1}&to={v2}
GET
Summary
Detect Schema Change for the given version i.e v1 and v2.
Parameters
| Name | Located in | Description | Required | Schema | 
|---|---|---|---|---|
| namespaceId | path | Yes | string | |
| schemaName | path | Yes | string | |
| from | queryParam | version from which change has to be calculated | No | integer | 
| to | queryParam | version to which change has to be calculated | No | integer | 
Different cases and validation of from and to version
| S. No. | From | To | From (In Code) | To (In Code) | Error | 
|---|---|---|---|---|---|
| 1. | “” | “” | latest-1 | latest | N/A | 
| 2. | “” | latest | latest-1 | latest | N/A | 
| 3. | “” | 42 | 41 | 42 | N/A | 
| 4. | 41 | “” | 41 | latest | N/A | 
| 5. | 41 | 42 | 41 | 42 | N/A | 
| 6. | 41 | 45 | 41 | 45 | N/A | 
| 7. | 41 | 40 | - | - | Bad Request: From should be less than To | 
| 8. | 41 | 41 | - | - | Bad Request: From should be less than To | 
Responses
| Code | Description | Schema | 
|---|---|---|
| 200 | A successful response. | v1beta1SchemaChangedEvent | 
| default | An unexpected error response. | rpcStatus | 
Models
SchemaCompatibility
| Name | Type | Description | Required | 
|---|---|---|---|
| SchemaCompatibility | string | 
SchemaFormat
| Name | Type | Description | Required | 
|---|---|---|---|
| SchemaFormat | string | 
protobufAny
| Name | Type | Description | Required | 
|---|---|---|---|
| typeUrl | string | No | |
| value | byte | No | 
rpcStatus
| Name | Type | Description | Required | 
|---|---|---|---|
| code | integer | No | |
| message | string | No | |
| details | [ protobufAny ] | No | 
v1beta1CheckCompatibilityResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| v1beta1CheckCompatibilityResponse | object | 
v1beta1CreateNamespaceRequest
| Name | Type | Description | Required | 
|---|---|---|---|
| id | string | Yes | |
| format | SchemaFormat | No | |
| compatibility | SchemaCompatibility | No | |
| description | string | No | 
v1beta1CreateNamespaceResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| namespace | v1beta1Namespace | No | 
v1beta1CreateSchemaResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| version | integer | No | |
| id | string | No | |
| location | string | No | 
v1beta1DeleteNamespaceResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| message | string | No | 
v1beta1DeleteSchemaResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| message | string | No | 
v1beta1DeleteVersionResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| message | string | No | 
v1beta1GetLatestSchemaResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| data | byte | No | 
v1beta1GetNamespaceResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| namespace | v1beta1Namespace | No | 
v1beta1GetSchemaMetadataResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| format | SchemaFormat | No | |
| compatibility | SchemaCompatibility | No | |
| authority | string | No | 
v1beta1GetSchemaResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| data | byte | No | 
v1beta1ListNamespacesResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| namespaces | [ string ] | No | 
v1beta1ListSchemasResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| schemas | [ string ] | No | 
v1beta1ListVersionsResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| versions | [ integer ] | No | 
v1beta1Namespace
| Name | Type | Description | Required | 
|---|---|---|---|
| id | string | No | |
| format | SchemaFormat | No | |
| Compatibility | SchemaCompatibility | No | |
| description | string | No | |
| createdAt | dateTime | No | |
| updatedAt | dateTime | No | 
v1beta1SearchHits
| Name | Type | Description | Required | 
|---|---|---|---|
| namespaceId | string | No | |
| schemaId | string | No | |
| versionId | integer | No | |
| fields | [ string ] | No | |
| types | [ string ] | No | |
| path | string | No | 
v1beta1SearchMeta
| Name | Type | Description | Required | 
|---|---|---|---|
| total | long | No | 
v1beta1SearchResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| hits | [ v1beta1SearchHits ] | No | |
| meta | v1beta1SearchMeta | No | 
v1beta1UpdateNamespaceResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| namespace | v1beta1Namespace | No | 
v1beta1UpdateSchemaMetadataResponse
| Name | Type | Description | Required | 
|---|---|---|---|
| format | SchemaFormat | No | |
| compatibility | SchemaCompatibility | No | |
| authority | string | No | 
v1beta1SchemaChangedEvent
| Name | Type | Description | Required | 
|---|---|---|---|
| event_id | string | event id of the message | No | 
| event_timestamp | google.protobuf.Timestamp | timestamp for the message | No | 
| namespace_name | string | name of namespace | No | 
| schema_name | string | name of schema | No | 
| updated_schemas | repeated string | directly updated schemas | No | 
| updated_fields | ImpactedFields map<string, ImpactedFields> | impacted fields corresponding to schema | No | 
| impacted_schemas | ImpactedSchemas map<string, ImpactedSchemas> | indirectly impacted schema corresponding to directly impacted schema | No | 
| version | int32 | version | No | 
| metadata | Metadata | Metdata like commit_sha , source_url | No | 
v1beta1ImpactedFields
| Name | Type | Description | Required | 
|---|---|---|---|
| field_names | repeated string | List of impacted field names | No | 
v1beta1ImpactedSchemas
| Name | Type | Description | Required | 
|---|---|---|---|
| schema_names | repeated string | List of impacted schema names | No | 
v1beta1Metadata
| Name | Type | Description | Required | 
|---|---|---|---|
| source_url | string | source URL of the project | No | 
| commit_sha | string | commit SHA of the version | No |