{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/confluent/main/json-schema/confluent-kafka-quotas-v1-client-quota-list-schema.json", "title": "kafka-quotas.v1.ClientQuotaList", "description": "`ClientQuota` objects represent Client Quotas you can set at the service account level.\n\nThe API allows you to list, create, read, update, and delete your client quotas.\n\n\nRelated guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html).\n\n## The Client Quotas Model\n", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/confluent-client-quotas-kafka-quotas-v1-api-openapi.yml#/components/schemas/kafka-quotas.v1.ClientQuotaList", "type": "object", "required": [ "api_version", "kind", "metadata", "data" ], "properties": { "api_version": { "type": "string", "enum": [ "kafka-quotas/v1" ], "description": "APIVersion defines the schema version of this representation of a resource.", "readOnly": true }, "kind": { "type": "string", "description": "Kind defines the object this REST resource represents.", "readOnly": true, "enum": [ "ClientQuotaList" ] }, "metadata": { "allOf": [ { "$ref": "#/$defs/ListMeta" }, { "properties": { "first": {}, "last": {}, "prev": {}, "next": {} } } ] }, "data": { "type": "array", "description": "A data property that contains an array of resource items. Each entry in the array is a separate resource.", "items": { "allOf": [ { "$ref": "#/$defs/kafka-quotas.v1.ClientQuota" }, { "type": "object", "required": [ "id", "metadata", "spec" ], "properties": { "spec": { "type": "object", "required": [ "display_name", "throughput", "cluster", "principals", "environment" ] } } } ] }, "uniqueItems": true } }, "$defs": { "EnvScopedObjectReference": { "type": "object", "description": "ObjectReference provides information for you to locate the referred object", "required": [ "id", "related", "resource_name" ], "properties": { "id": { "type": "string", "description": "ID of the referred resource", "minLength": 1, "maxLength": 255 }, "environment": { "type": "string", "description": "Environment of the referred resource, if env-scoped", "minLength": 1, "maxLength": 255 }, "related": { "type": "string", "format": "uri", "description": "API URL for accessing or modifying the referred object", "minLength": 1, "readOnly": true }, "resource_name": { "type": "string", "format": "uri", "description": "CRN reference to the referred resource", "minLength": 1, "readOnly": true } } }, "GlobalObjectReference": { "type": "object", "description": "ObjectReference provides information for you to locate the referred object", "required": [ "id", "related", "resource_name" ], "properties": { "id": { "type": "string", "description": "ID of the referred resource", "minLength": 1, "maxLength": 255 }, "related": { "type": "string", "format": "uri", "description": "API URL for accessing or modifying the referred object", "minLength": 1, "readOnly": true }, "resource_name": { "type": "string", "format": "uri", "description": "CRN reference to the referred resource", "minLength": 1, "readOnly": true } } }, "ListMeta": { "type": "object", "description": "ListMeta describes metadata that resource collections may have", "properties": { "first": { "description": "A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.", "type": [ "string", "null" ], "format": "uri" }, "last": { "description": "A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.", "type": [ "string", "null" ], "format": "uri" }, "prev": { "description": "A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.", "type": [ "string", "null" ], "format": "uri" }, "next": { "description": "A link to the next page of results. If a response does not contain a next link, then there is no more data available.", "type": [ "string", "null" ], "format": "uri" }, "total_size": { "description": "Number of records in the full result set. This response may be paginated and have a smaller number of records.", "type": "integer", "format": "int32", "minimum": 0 } } }, "ObjectMeta": { "description": "ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.", "required": [ "self" ], "properties": { "self": { "description": "Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time", "type": "string", "format": "uri", "readOnly": true }, "resource_name": { "description": "Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name", "type": "string", "format": "uri", "readOnly": true }, "created_at": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date and time at which this object was created. It is represented in RFC3339 format and is in UTC." }, "updated_at": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC." }, "deleted_at": { "type": "string", "format": "date-time", "readOnly": true, "description": "The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC." } }, "readOnly": true }, "kafka-quotas.v1.ClientQuota": { "type": "object", "description": "`ClientQuota` objects represent Client Quotas you can set at the service account level.\n\nThe API allows you to list, create, read, update, and delete your client quotas.\n\n\nRelated guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html).\n\n## The Client Quotas Model\n", "properties": { "api_version": { "type": "string", "enum": [ "kafka-quotas/v1" ], "description": "APIVersion defines the schema version of this representation of a resource.", "readOnly": true }, "kind": { "type": "string", "description": "Kind defines the object this REST resource represents.", "readOnly": true, "enum": [ "ClientQuota" ] }, "id": { "description": "ID is the \"natural identifier\" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted (\"time\"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace (\"space\").", "type": "string", "maxLength": 255, "readOnly": true }, "metadata": { "allOf": [ { "$ref": "#/$defs/ObjectMeta" }, { "properties": { "self": {}, "resource_name": {} } } ] }, "spec": { "$ref": "#/$defs/kafka-quotas.v1.ClientQuotaSpec" } } }, "kafka-quotas.v1.ClientQuotaSpec": { "type": "object", "description": "The desired state of the Client Quota", "properties": { "display_name": { "type": "string", "description": "The name of the client quota." }, "description": { "type": "string", "description": "A human readable description for the client quota." }, "throughput": { "type": "object", "description": "Throughput for the client quota.", "allOf": [ { "$ref": "#/$defs/kafka-quotas.v1.Throughput" } ] }, "cluster": { "allOf": [ { "$ref": "#/$defs/EnvScopedObjectReference" } ], "description": "The ID of the Dedicated Kafka cluster where the client quota is applied.\n", "x-immutable": true }, "principals": { "type": "array", "items": { "$ref": "#/$defs/GlobalObjectReference" }, "description": "A list of principals to apply a client quota to.\nUse `\"\"` to apply a client quota to all service accounts\n(see [Control application usage with Client Quotas](https://docs.confluent.io/cloud/current/clusters/client-quotas.html#control-application-usage-with-client-quotas) for more details).\n", "minItems": 1 }, "environment": { "allOf": [ { "$ref": "#/$defs/GlobalObjectReference" } ], "description": "The environment to which this belongs.", "x-immutable": true } }, "x-enable-id": true, "x-enable-listmeta": true, "x-enable-objectmeta": true }, "kafka-quotas.v1.Throughput": { "description": "Quotas on maximum throughput", "required": [ "ingress_byte_rate", "egress_byte_rate" ], "properties": { "ingress_byte_rate": { "type": "string", "format": "int64", "description": "Ingress throughput limit for principals specified in bytes per second." }, "egress_byte_rate": { "type": "string", "format": "int64", "description": "Egress throughput limit for principals specified in bytes per second." } } } } }