Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

API support matrix

kaas registers 36 Kafka API keys. This table is generated from the ApiSpec registry (crates/kaas-codec/src/api/registry.rs) — the same table that builds the ApiVersions response — so the version ranges below are the wire truth, not documentation aspiration. "Flexible" is the first version using KIP-482 flexible encoding (see Wire protocol & framing).

KeyAPIVersionsFlexibleKIPsReference
0Producev3–v9v9+KIP-98 · KIP-360 · KIP-32Produce
1Fetchv4–v12v12+KIP-98 · KIP-227Fetch
2ListOffsetsv1–v7v6+KIP-32ListOffsets
3Metadatav1–v10v9+KIP-516Metadata
8OffsetCommitv2–v8v8+OffsetCommit
9OffsetFetchv1–v8v6+KIP-447OffsetFetch
10FindCoordinatorv0–v4v3+FindCoordinator
11JoinGroupv2–v9v6+KIP-345 · KIP-394 · KIP-800JoinGroup
12Heartbeatv0–v4v4+KIP-345Heartbeat
13LeaveGroupv0–v5v4+KIP-345 · KIP-800LeaveGroup
14SyncGroupv0–v5v4+KIP-345SyncGroup
15DescribeGroupsv0–v5v5+DescribeGroups
16ListGroupsv0–v4v3+ListGroups
17SaslHandshakev0–v1SaslHandshake
18ApiVersionsv0–v4v3+KIP-482ApiVersions
19CreateTopicsv0–v7v5+KIP-516CreateTopics
20DeleteTopicsv0–v5v4+DeleteTopics
21DeleteRecordsv0–v2v2+KIP-107DeleteRecords
22InitProducerIdv0–v4v2+KIP-98 · KIP-360InitProducerId
24AddPartitionsToTxnv0–v3v3+KIP-98AddPartitionsToTxn
25AddOffsetsToTxnv0–v3v3+KIP-98 · KIP-447AddOffsetsToTxn
26EndTxnv0–v3v3+KIP-98EndTxn
27WriteTxnMarkersv0–v1v1+KIP-98WriteTxnMarkers
28TxnOffsetCommitv0–v3v3+KIP-447TxnOffsetCommit
29DescribeAclsv0–v3v2+KIP-290DescribeAcls
30CreateAclsv0–v3v2+KIP-290CreateAcls
31DeleteAclsv0–v3v2+KIP-290DeleteAcls
32DescribeConfigsv0–v4v4+DescribeConfigs
35DescribeLogDirsv0–v1DescribeLogDirs
36SaslAuthenticatev0–v2v2+SaslAuthenticate
37CreatePartitionsv0–v3v2+KIP-195CreatePartitions
42DeleteGroupsv0–v2v2+DeleteGroups
44IncrementalAlterConfigsv0–v1v1+KIP-339IncrementalAlterConfigs
47OffsetDeletev0–v0OffsetDelete
48DescribeClientQuotasv0–v1v1+KIP-546DescribeClientQuotas
49AlterClientQuotasv0–v1v1+KIP-546AlterClientQuotas

Apache 3.7 keys kaas does not serve

Clients discover the served surface via ApiVersions, so an absent key is a clean "unsupported", not an error path. Each absence is either a tracked follow-up or a documented non-goal:

KeyAPIStatus
23OffsetForLeaderEpochKIP-101 partial — storage-side lookup returns the (-1,-1) sentinel; key unregistered. Open follow-up.
33AlterConfigs (legacy)Superseded by IncrementalAlterConfigs (key 44) but still served by Apache 3.7. Open follow-up.
50DescribeUserScramCredentialsKIP-554 partial — credential rotation is operator-side only; no codec module, no dispatch. Open follow-up.
51AlterUserScramCredentialsKIP-554 partial — same as key 50. Open follow-up.
60DescribeClusterNot yet registered; AdminClient falls back to Metadata. Open follow-up.

Inter-broker/KRaft keys (LeaderAndIsr, StopReplica, UpdateMetadata, ControlledShutdown, the quorum/Envelope family), delegation-token keys, and tiered-storage-only surfaces are deliberately absent — see Non-goals.