Stream Record
An envelope describing a single record on a stream — the unit of data that producers append and consumers read. Generalizes Kafka ProducerRecord/ConsumerRecord, Pulsar Message, Kinesis Record, and Pub/Sub PubsubMessage.
StreamingReal-TimeEvent StreamingChange Data CaptureStream ProcessingServer-Sent EventsWebSocketgRPCGraphQL SubscriptionsKafkaPulsarKinesisFlink
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/api-evangelist/streaming/main/json-schema/streaming-stream-record-schema.json",
"title": "Stream Record",
"description": "An envelope describing a single record on a stream — the unit of data that producers append and consumers read. Generalizes Kafka ProducerRecord/ConsumerRecord, Pulsar Message, Kinesis Record, and Pub/Sub PubsubMessage.",
"type": "object",
"required": ["stream", "partition", "offset", "value"],
"properties": {
"stream": {
"type": "string",
"description": "Identifier of the stream / topic this record belongs to."
},
"partition": {
"type": ["integer", "string"],
"description": "Partition / shard identifier the record was written to."
},
"offset": {
"type": ["integer", "string"],
"description": "Position of the record within the partition (integer offset, Pulsar MessageId, Kinesis sequence number, Pub/Sub message id)."
},
"key": {
"type": ["string", "null"],
"description": "Optional record key used for partition assignment and log-compaction identity. Null indicates an unkeyed record."
},
"value": {
"description": "Record payload. May be a JSON object, a base64-encoded binary blob, or a string, depending on encoding.",
"oneOf": [
{ "type": "object" },
{ "type": "string" },
{ "type": "array" },
{ "type": "null" }
]
},
"value_encoding": {
"type": "string",
"enum": ["json", "avro", "protobuf", "text", "base64"],
"description": "How the value field is encoded."
},
"headers": {
"type": "object",
"description": "User-supplied metadata key/value pairs attached to the record.",
"additionalProperties": { "type": "string" }
},
"event_time": {
"type": "string",
"format": "date-time",
"description": "When the event actually occurred, per the producer."
},
"ingestion_time": {
"type": "string",
"format": "date-time",
"description": "When the streaming platform appended the record."
},
"schema_id": {
"type": ["string", "integer"],
"description": "Schema Registry id used to deserialize the value."
},
"transaction_id": {
"type": "string",
"description": "Producer transaction id for transactional writes (exactly-once)."
},
"trace_context": {
"type": "object",
"description": "OpenTelemetry / W3C Trace Context propagated via headers.",
"properties": {
"traceparent": { "type": "string" },
"tracestate": { "type": "string" }
}
}
}
}
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/streaming-stream-record"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.