Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Kurrent Streams API

Append to, read from and manage event streams

Kurrent Streams API is one of 9 APIs that Kurrent publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Streams. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and authentication docs.

This API exposes 11 operations across 8 paths, and defines 7 schemas. It is described by OpenAPI 3.1.0, at version v26.1.

Requests are made against a single base URL, https://{host}:{port}.

11 operations 8 paths 7 schemas 1 DELETE7 GET3 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
v26.1
Base URL
https://docs.kurrent.io/server/v26.1/http-api/api.html
Authentication
HTTP Basic
Contact
Resource Areas
1

Authentication & Security 1

Kurrent Streams API declares 1 security scheme for authenticating requests. It accepts HTTP basic authentication (basicAuth). By default, every request must be authenticated.

  • basicAuth — KurrentDB supports HTTP Basic authentication for the HTTP API, with access control lists (ACLs) applied per stream. See https://docs.kurrent.io/server/v26.1/ht…

Paths & Operations 11

Across 8 paths, the API surfaces 11 operations — 1 DELETE, 7 GET, 3 POST. Each is listed below with its method, path, parameters, and response codes.

Streams 11

Append to, read from and manage event streams

GET
/streams/{stream}
Read events from a stream
readStream 2 params → 200401404
POST
/streams/{stream}
Append one or more events to a stream
appendToStream 5 params body → 201307400401
DELETE
/streams/{stream}
Delete a stream
deleteStream 3 params → 204400401404
POST
/streams/{stream}/incoming/{guid}
Append a single event using a client-supplied event id (idempotent append URL)
appendEventToStreamIdempotent 4 params body → 201400401
GET
/streams/{stream}/metadata
Read the metadata of a stream
readStreamMetadata 1 param → 200401404
POST
/streams/{stream}/metadata
Update the metadata of a stream
updateStreamMetadata 2 params body → 201400401
GET
/streams/{stream}/{event}
Read a single event from a stream
readEvent 2 params → 200401404
GET
/streams/{stream}/{event}/{count}
Read a page of events from a stream starting at an event number
readEvents 3 params → 200401404
GET
/streams/{stream}/{event}/backward/{count}
Page backward through a stream from an event number
readEventsBackward 3 params → 200401404
GET
/streams/{stream}/{event}/forward/{count}
Page forward through a stream from an event number
readEventsForward 3 params → 200401404
GET
/streams/$all
Read events from the $all stream
readAllStream 1 param → 200401

Schemas 7

The contract defines 7 schemas that model the data the API accepts and returns. The most detailed are AtomEntry (15 properties), AtomFeed (8 properties), StreamMetadata (5 properties), StreamAcl (5 properties). Each schema is shown below with its type and property counts.

AtomFeed
object
An AtomPub feed of events from a stream
8 properties
AtomEntry
object
A single event entry in an AtomPub feed
15 properties
StreamAcl
object
Access control list applied to a stream
5 properties
Event
object
A single event written to a KurrentDB stream
4 properties 3 required
EventBatch
array
One or more events to append to a stream
AtomLink
object
A navigation link in an AtomPub feed (first, last, previous, next, metadata)
2 properties
StreamMetadata
object
Metadata controlling the retention and access of a stream
5 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

kurrent-streams-api-openapi.yml Raw ↑

Other APIs Kurrent publishes across the network.

KurrentDB gRPC API
Kurrent Admin API
Kurrent Gossip API
Kurrent Info API
Kurrent Projections API
Kurrent Statistics API
Kurrent Subscriptions API
Kurrent Users API