Back to Kurrentdb

HTTP API Reference

docs/server/http-api/api.md

26.1.089.2 KB
Original Source
<!-- Generator: Widdershins v4.0.1 -->

HTTP API Reference

The Base URL used in this documentation is <a href="https://kurrent.io">https://kurrent.io</a>, you should replace it with the same url you use to view the administration UI.

Authentication

  • HTTP Authentication, scheme: basic

Streams

Endpoints for Stream operations

Read a stream

<a id="opIdRead a stream"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/streams/{stream}

GET /streams/{stream} Read a stream

Read a stream, receiving a standard AtomFeed document as a response.

<h3 id="read-a-stream-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream ID
embedquerystringfalsenone

Enumerated Values

ParameterValue
embedNone
embedContent
embedRich
embedBody
embedPrettyBody
embedTryHarder
<h3 id="read-a-stream-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Append to a stream

<a id="opIdWrite to a stream"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/streams/{stream} \
  -H 'Content-Type: application/json' \
  -H 'Kurrent-ExpectedVersion: 0' \
  -H 'Kurrent-EventType: string' \
  -H 'Kurrent-EventId: 0' \
  -H 'Kurrent-RequireLeader: true'

POST /streams/{stream} Append to a stream

Append to a stream.

Body parameter

json
{
  "body": {}
}
<h3 id="append-to-a-stream-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe name of the stream
Kurrent-ExpectedVersionheaderintegerfalseExpected stream version
Kurrent-EventTypeheaderstringfalseThe event type associated to a posted body
Kurrent-EventIdheaderGUIDfalseEvent ID associated to a posted body
Kurrent-RequireLeaderheaderbooleanfalseWether to run on a leader node
bodybodystreamDatatrueStream events to create
<h3 id="append-to-a-stream-responses">Responses</h3>
StatusMeaningDescriptionSchema
201CreatedNew stream createdNone
307Temporary RedirectTemporary RedirectNone
400Bad RequestAppend request body invalidNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Delete a stream

<a id="opIdDelete a stream"></a>

Code samples

shell
# You can also use wget
curl -X DELETE https://kurrent.io/streams/{stream}

DELETE /streams/{stream} Deletes a stream

Delete specified stream

<h3 id="delete-a-stream-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream ID to delete
<h3 id="delete-a-stream-responses">Responses</h3>
StatusMeaningDescriptionSchema
204No ContentStream deletedNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Alternative stream URL

<a id="opIdAlternative stream URL"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/streams/{stream}/incoming/{guid}

POST /streams/{stream}/incoming/{guid} An alternative URL to post events to

A URL generated by KurrentDB if you don't supply an ID when creating a stream. You then post events to this URL.

<h3 id="alternative-stream-url-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe name of the stream
guidpathstringtrueAutogenerated UUID
<h3 id="alternative-stream-url-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKNew event createdNone
400Bad RequestBad requestNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Read stream event

<a id="opIdRead stream event"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/streams/{stream}/{event}

GET /streams/{stream}/{event} Read a stream event

Reads a single event from a stream.

<h3 id="read-stream-event-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream ID
eventpathstringtrueThe event ID
embedquerystringfalsenone

Enumerated Values

ParameterValue
embedNone
embedContent
embedRich
embedBody
embedPrettyBody
embedTryHarder
<h3 id="read-stream-event-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get {n} events

<a id="opIdGet {n} events"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/streams/{stream}/{event}/{count}

GET /streams/{stream}/{event}/{count} Paginate backwards through stream events

Paginate backwards though stream events by a specified amount.

<h3 id="get-{n}-events-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream ID
eventpathstringtrueThe event ID
countpathinteger(int64)trueHow many events to skip backwards from in the request.
embedquerystringfalsenone

Enumerated Values

ParameterValue
embedNone
embedContent
embedRich
embedBody
embedPrettyBody
embedTryHarder
<h3 id="get-{n}-events-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Page back through events

<a id="opIdPage back through events"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/streams/{stream}/{event}/backward/{count}

GET /streams/{stream}/{event}/backward/{count} Paginate backwards through stream events

Paginate backwards though stream events by a specified amount.

<h3 id="page-back-through-events-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream ID
eventpathstringtrueThe event ID
countpathinteger(int64)trueHow many events to skip backwards from in the request.
embedquerystringfalsenone

Enumerated Values

ParameterValue
embedNone
embedContent
embedRich
embedBody
embedPrettyBody
embedTryHarder
<h3 id="page-back-through-events-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Page forward through events

<a id="opIdPage forward through events"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/streams/{stream}/{event}/forward/{count}

GET /streams/{stream}/{event}/forward/{count} Paginate forwards through stream events

Paginate forwards though stream events by a specified amount.

<h3 id="page-forward-through-events-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream ID
eventpathstringtrueThe event ID
countpathinteger(int64)trueHow many events to skip forwards in the request.
embedquerystringfalsenone

Enumerated Values

ParameterValue
embedNone
embedContent
embedRich
embedBody
embedPrettyBody
embedTryHarder
<h3 id="page-forward-through-events-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Read stream metadata

<a id="opIdRead stream metadata"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/streams/{stream}/metadata

GET /streams/{stream}/metadata Reads the metadata of a stream

Returns metadata of a stream, typically information associated with an event that is not part of the event.

<h3 id="read-stream-metadata-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream ID
embedquerystringfalsenone

Enumerated Values

ParameterValue
embedNone
embedContent
embedRich
embedBody
embedPrettyBody
embedTryHarder
<h3 id="read-stream-metadata-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Update stream metadata

<a id="opIdUpdate stream metadata"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/streams/{stream}/metadata \
  -H 'Content-Type: application/json'

POST /streams/{stream}/metadata Update stream metadata

Update the metadata of a stream.

Body parameter

json
{
  "eventId": "string",
  "eventType": "string",
  "data": {
    "maxAge": 0,
    "maxCount": 0,
    "truncateBefore": 0,
    "cacheControl": "string",
    "acl": {
      "r": "string",
      "w": "string",
      "d": "string",
      "mr": "string",
      "mw": "string"
    }
  }
}
<h3 id="update-stream-metadata-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe name of the stream
bodybodyStreamMetadataItemfalseMetadata object
<h3 id="update-stream-metadata-responses">Responses</h3>
StatusMeaningDescriptionSchema
201CreatedNew stream createdNone
400Bad RequestBad requestNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get all events

<a id="opIdGet all events"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/streams/$all

GET /streams/$all Returns all events from all streams

Returns all events from all streams, you must provide user details.

<h3 id="get-all-events-parameters">Parameters</h3>
NameInTypeRequiredDescription
embedquerystringfalsenone

Enumerated Values

ParameterValue
embedNone
embedContent
embedRich
embedBody
embedPrettyBody
embedTryHarder
<h3 id="get-all-events-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Subscriptions

Endpoints for Subscription operations

Get all subscriptions

<a id="opIdGet all subscriptions"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/subscriptions

GET /subscriptions Get information for all subscriptions

Returns all subscriptions from all streams.

<h3 id="get-all-subscriptions-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKNew persistant subscriptionNone
400Bad Requestbad input parameterNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get subscription stream information

<a id="opIdGet subscription stream information"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/subscriptions/{stream}

GET /subscriptions/{stream} Returns information about the subscriptions for a stream

Needed

<h3 id="get-subscription-stream-information-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream name
<h3 id="get-subscription-stream-information-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get subscription information

<a id="opIdGet subscription information"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/subscriptions/{stream}/{subscription}/info

GET /subscriptions/{stream}/{subscription}/info Reads stream information via a persistent subscription

Needed

<h3 id="get-subscription-information-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream the persistent subscription is on
subscriptionpathstringtrueThe name of the subscription group
<h3 id="get-subscription-information-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get a stream

<a id="opIdGet a stream"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/subscriptions/{stream}/{subscription}

GET /subscriptions/{stream}/{subscription} Read a stream

Read a specified stream by a persistent subscription.

<h3 id="get-a-stream-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream the persistent subscription is on
subscriptionpathstringtrueThe name of the subscription group
embedquerystringfalseNeeded

Enumerated Values

ParameterValue
embedNone
embedContent
embedRich
embedBody
embedPrettyBody
embedTryHarder
<h3 id="get-a-stream-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Update subscription

<a id="opIdUpdate subscription"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/subscriptions/{stream}/{subscription} \
  -H 'Content-Type: application/json'

POST /subscriptions/{stream}/{subscription} Update a persistant subscription

You can edit the settings of an existing subscription while it is running. This will drop the current subscribers and will reset the subscription internally.

Body parameter

json
{
  "minCheckPointCount": 2,
  "startFrom": 0,
  "ResolveLinkTos": true,
  "readBatchSize": 5,
  "namedConsumerStrategy": "RoundRobin",
  "extraStatistics": true,
  "maxRetryCount": 7,
  "liveBufferSize": 1,
  "messageTimeoutMilliseconds": 3,
  "maxCheckPointCount": 2,
  "maxSubscriberCount": 9,
  "checkPointAfterMilliseconds": 6,
  "bufferSize": 5
}
<h3 id="update-subscription-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream the persistent subscription is on
subscriptionpathstringtrueThe name of the subscription group
bodybodySubscriptionItemfalseSubscription to create
<h3 id="update-subscription-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKSubscription updatedNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Create subscription

<a id="opIdCreate subscription"></a>

Code samples

shell
# You can also use wget
curl -X PUT https://kurrent.io/subscriptions/{stream}/{subscription} \
  -H 'Content-Type: application/json'

PUT /subscriptions/{stream}/{subscription} Create a persistent subscription

Before interacting with a subscription group, you need to create one. You will receive an error if you attempt to create a subscription group more than once. This requires admin permissions.

Body parameter

json
{
  "minCheckPointCount": 2,
  "startFrom": 0,
  "ResolveLinkTos": true,
  "readBatchSize": 5,
  "namedConsumerStrategy": "RoundRobin",
  "extraStatistics": true,
  "maxRetryCount": 7,
  "liveBufferSize": 1,
  "messageTimeoutMilliseconds": 3,
  "maxCheckPointCount": 2,
  "maxSubscriberCount": 9,
  "checkPointAfterMilliseconds": 6,
  "bufferSize": 5
}
<h3 id="create-subscription-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream the persistent subscription is on
subscriptionpathstringtrueThe name of the subscription group
bodybodySubscriptionItemfalseSubscription to create
<h3 id="create-subscription-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKSubscription createdNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Delete subscription

<a id="opIdDelete subscription"></a>

Code samples

shell
# You can also use wget
curl -X DELETE https://kurrent.io/subscriptions/{stream}/{subscription}

DELETE /subscriptions/{stream}/{subscription} Deletes a subscription

Deletes a subscription

<h3 id="delete-subscription-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream the persistent subscription is on
subscriptionpathstringtrueThe name of the subscription group
<h3 id="delete-subscription-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get {n} subscription events

<a id="opIdGet {n} subscription events"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/subscriptions/{stream}/{subscription}/{count}

GET /subscriptions/{stream}/{subscription}/{count} Reads a stream via a persistent subscription and return a specific number of events

Reads a stream via a persistent subscription and return a specific number of events

<h3 id="get-{n}-subscription-events-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream the persistent subscription is on
subscriptionpathstringtrueThe name of the subscription group
countpathinteger(int64)trueHow many events to return for the request.
embedquerystringfalsenone

Enumerated Values

ParameterValue
embedNone
embedContent
embedRich
embedBody
embedPrettyBody
embedTryHarder
<h3 id="get-{n}-subscription-events-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Acknowledge a single message

<a id="opIdAcknowledge a single message"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/subscriptions/{stream}/{subscription}/ack/{messageid}

POST /subscriptions/{stream}/{subscription}/ack/{messageid} Acknowledge a single message

Clients must acknowledge (or not acknowledge) messages in the competing consumer model. If the client fails to respond in the given timeout period, the message will be retried. You should use the rel links in the feed for acknowledgements not bookmark URIs as they are subject to change in future versions.

<h3 id="acknowledge-a-single-message-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream the persistent subscription is on
subscriptionpathstringtrueThe name of the subscription group
messageidpathstringtrueThe id of the message that needs to be acked
<h3 id="acknowledge-a-single-message-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKNew persistant subscriptionNone
400Bad Requestbad input parameterNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Acknowledge multiple messages

<a id="opIdAcknowledge multiple messages"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/subscriptions/{stream}/{subscription}/ack

POST /subscriptions/{stream}/{subscription}/ack Acknowledge multiple messages

Clients must acknowledge (or not acknowledge) messages in the competing consumer model. If the client fails to respond in the given timeout period, the message will be retried. You should use the rel links in the feed for acknowledgements not bookmark URIs as they are subject to change in future versions.

<h3 id="acknowledge-multiple-messages-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream the persistent subscription is on
subscriptionpathstringtrueThe name of the subscription group
idsquerystringfalseThe ids of the messages that need to be acked separated by commas
<h3 id="acknowledge-multiple-messages-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKNew persistant subscriptionNone
400Bad Requestbad input parameterNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Don't acknowledge a single message

<a id="opIdDon't acknowledge a single message"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/subscriptions/{stream}/{subscription}/nack/{messageid}

POST /subscriptions/{stream}/{subscription}/nack/{messageid} Negative acknowledge a single message

Clients must acknowledge (or not acknowledge) messages in the competing consumer model. If the client fails to respond in the given timeout period, the message will be retried. You should use the rel links in the feed for acknowledgements not bookmark URIs as they are subject to change in future versions.

<h3 id="don't-acknowledge-a-single-message-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream the persistent subscription is on
subscriptionpathstringtrueThe name of the subscription group
messageidpathstringtrueThe id of the message that needs to be nacked
actionquerystringfalse<ul><li>Park - Don't retry the message, park it until a request is sent to reply the parked messages</li><li>Retry - Retry the message</li><li>Skip - Discard the message</li><li>Stop - Stop the subscription</li></ul>

Enumerated Values

ParameterValue
actionPark
actionRetyr
actionSkip
actionStop
<h3 id="don't-acknowledge-a-single-message-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKNew persistant subscriptionNone
400Bad Requestbad input parameterNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Don't acknowledge multiple messages

<a id="opIdDon't acknowledge multiple messages"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/subscriptions/{stream}/{subscription}/nack

POST /subscriptions/{stream}/{subscription}/nack Negative acknowledge multiple messages

Clients must acknowledge (or not acknowledge) messages in the competing consumer model. If the client fails to respond in the given timeout period, the message will be retried. You should use the rel links in the feed for acknowledgements not bookmark URIs as they are subject to change in future versions.

<h3 id="don't-acknowledge-multiple-messages-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream the persistent subscription is on
subscriptionpathstringtrueThe name of the subscription group
idsquerystringfalseThe ids of the messages that need to be nacked separated by commas
actionquerystringfalse<ul><li>Park - Don't retry the message, park it until a request is sent to reply the parked messages</li><li>Retry - Retry the message</li><li>Skip - Discard the message</li><li>Stop - Stop the subscription</li></ul>

Enumerated Values

ParameterValue
actionPark
actionRetry
actionSkip
actionStop
<h3 id="don't-acknowledge-multiple-messages-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKNew persistant subscriptionNone
400Bad Requestbad input parameterNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Replay previously parked messages

<a id="opIdReplay previously parked messages"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/subscriptions/{stream}/{subscription}/replayParked

POST /subscriptions/{stream}/{subscription}/replayParked Replay any previously parked messages in a stream

Replay any previously parked messages in a stream that were parked by a negative acknowledgement action.

<h3 id="replay-previously-parked-messages-parameters">Parameters</h3>
NameInTypeRequiredDescription
streampathstringtrueThe stream the persistent subscription is on
subscriptionpathstringtrueThe name of the subscription group
<h3 id="replay-previously-parked-messages-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Projections

Endpoints for Projection operations

Get all projections

<a id="opIdGet all projections"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/projections/any

GET /projections/any Get all projections

Returns all projections defined in KurrentDB.

<h3 id="get-all-projections-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get all non-transient projections

<a id="opIdGet all non-transient projections"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/projections/all-non-transient

GET /projections/all-non-transient Get all non-transient projections

Returns all known projections except ad-hoc projections.

<h3 id="get-all-non-transient-projections-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get all queries

<a id="opIdGet all queries"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/projections/onetime

GET /projections/onetime Get all queries

Returns all queries defined in KurrentDB.

<h3 id="get-all-queries-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Create a onetime projection

<a id="opIdCreate a onetime projection"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/projections/onetime

POST /projections/onetime Create a onetime projection

Create a new onetime projection.

<h3 id="create-a-onetime-projection-parameters">Parameters</h3>
NameInTypeRequiredDescription
namequerystringfalseName of the projection
typequerystringfalseThe projection type
enabledquerybooleanfalseIs the projection enabled
checkpointsquerybooleanfalseAre checkpoints enabled
emitquerybooleanfalseIs emit enabled
trackemittedstreamsquerybooleanfalseShould your projection create a separate stream and write any streams it emits to that stream.

Enumerated Values

ParameterValue
typeJS
<h3 id="create-a-onetime-projection-responses">Responses</h3>
StatusMeaningDescriptionSchema
201CreatedNew projection createdNone
400Bad RequestBad requestNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get all continious projections

<a id="opIdGet all continious projections"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/projections/continuous

GET /projections/continuous Get all continious projections

Returns all continually running projections defined in KurrentDB.

<h3 id="get-all-continious-projections-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Create a continuous projection

<a id="opIdCreate a continious projection"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/projections/continuous

POST /projections/continuous Create a continious projection

Create a new continious projection.

<h3 id="create-a-continious-projection-parameters">Parameters</h3>
NameInTypeRequiredDescription
namequerystringfalseName of the projection
enabledquerybooleanfalseIs the projection enabled
checkpointsquerybooleanfalseAre checkpoints enabled
emitquerybooleanfalseIs emit enabled
typequerystringfalseThe projection type
trackemittedstreamsquerybooleanfalseShould your projection create a separate stream and write any streams it emits to that stream.

Enumerated Values

ParameterValue
typeJS
<h3 id="create-a-continious-projection-responses">Responses</h3>
StatusMeaningDescriptionSchema
201CreatedNew projection createdNone
400Bad RequestBad requestNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Read projection events based on a query

<a id="opIdRead projection events based on a query"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/projections/read-events

POST /projections/read-events Read events from projection based on a query definition

Read events from projection based on a query definition, i.e. fromAll, fromStream, fromStreams

<h3 id="read-projection-events-based-on-a-query-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get all transient projections

<a id="opIdGet all transient projections"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/projections/transient

GET /projections/transient Get all transient projections

Returns all transient projections defined in KurrentDB.

<h3 id="get-all-transient-projections-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Create a transient projection

<a id="opIdCreate a transient projection"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/projections/transient

POST /projections/transient Create a transient projection

Create a new transient projection.

<h3 id="create-a-transient-projection-parameters">Parameters</h3>
NameInTypeRequiredDescription
namequerystringfalseName of the projection
typequerystringfalseThe projection type
enabledquerybooleanfalseIs the projection enabled

Enumerated Values

ParameterValue
typeJS
<h3 id="create-a-transient-projection-responses">Responses</h3>
StatusMeaningDescriptionSchema
201CreatedNew user createdNone
400Bad RequestBad requestNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get projection definition

<a id="opIdGet projection definition"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/projection/{name}/query

GET /projection/{name}/query Get projection definition

Returns definition of the specified projection.

<h3 id="get-projection-definition-parameters">Parameters</h3>
NameInTypeRequiredDescription
namepathstringtrueThe name of the projection
configquerybooleanfalseWether to return the projection definition config.
<h3 id="get-projection-definition-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Update projection definition

<a id="opIdUpdate projection definition"></a>

Code samples

shell
# You can also use wget
curl -X PUT https://kurrent.io/projection/{name}/query

PUT /projection/{name}/query Update projection definition

Update the specified projection definition.

<h3 id="update-projection-definition-parameters">Parameters</h3>
NameInTypeRequiredDescription
namepathstringtrueThe name of the projection
typequerystringfalseThe projection type
emitquerybooleanfalseIs emit enabled

Enumerated Values

ParameterValue
typeJS
<h3 id="update-projection-definition-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get the projection state

<a id="opIdGet the projection state"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/projection/{name}/state

GET /projection/{name}/state Get the projection state

Return the current state of the specified projection.

<h3 id="get-the-projection-state-parameters">Parameters</h3>
NameInTypeRequiredDescription
namepathstringtrueThe name of the projection
partitionquerystringfalseThe partition name in state
<h3 id="get-the-projection-state-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get result of projection

<a id="opIdGet result of projection"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/projection/{name}/result

GET /projection/{name}/result Get result of projection

Get the final result of a projection.

<h3 id="get-result-of-projection-parameters">Parameters</h3>
NameInTypeRequiredDescription
namepathstringtrueThe name of the projection
partitionquerystringfalseThe partition name in state
<h3 id="get-result-of-projection-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get projection statistics

<a id="opIdGet projection statistics"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/projection/{name}/statistics

GET /projection/{name}/statistics Get projection statistics

Returns the statistics for a projection, such as how many events, the status etc.

<h3 id="get-projection-statistics-parameters">Parameters</h3>
NameInTypeRequiredDescription
namepathstringtrueThe name of the projection
<h3 id="get-projection-statistics-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Disable projection

<a id="opIdDisable projection"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/projection/{name}/command/disable

POST /projection/{name}/command/disable Disable projection

Disable the specified projection.

<h3 id="disable-projection-parameters">Parameters</h3>
NameInTypeRequiredDescription
namepathstringtrueThe name of the projection
enableRunAsquerybooleanfalseRun as the user issuing the command.
<h3 id="disable-projection-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Enable projection

<a id="opIdEnable projection"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/projection/{name}/command/enable

POST /projection/{name}/command/enable Enable projection

Enable the specified projection.

<h3 id="enable-projection-parameters">Parameters</h3>
NameInTypeRequiredDescription
namepathstringtrueThe name of the projection
enableRunAsquerybooleanfalseRun as the user issuing the command.
<h3 id="enable-projection-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Reset projection

<a id="opIdReset projection"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/projection/{name}/command/reset

POST /projection/{name}/command/reset Reset projection

Reset the specified projection.

<h3 id="reset-projection-parameters">Parameters</h3>
NameInTypeRequiredDescription
namepathstringtrueThe name of the projection
enableRunAsquerybooleanfalseRun as the user issuing the command.
<h3 id="reset-projection-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Abort projection

<a id="opIdAbort projection"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/projection/{name}/command/abort

POST /projection/{name}/command/abort Abort projection

Abort the specified projection.

<h3 id="abort-projection-parameters">Parameters</h3>
NameInTypeRequiredDescription
namepathstringtrueThe name of the projection
enableRunAsquerybooleanfalseRun as the user issuing the command.
<h3 id="abort-projection-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get projection config

<a id="opIdGet projection config"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/projection/{name}/config

GET /projection/{name}/config Get the config of a projection

Returns the performance configuration of the specified projection.

<h3 id="get-projection-config-parameters">Parameters</h3>
NameInTypeRequiredDescription
namepathstringtrueThe name of the projection
<h3 id="get-projection-config-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Update projection config

<a id="opIdUpdate projection config"></a>

Code samples

shell
# You can also use wget
curl -X PUT https://kurrent.io/projection/{name}/config

PUT /projection/{name}/config Update the config of a projection

Update the performance configuration of the specified projection.

<h3 id="update-projection-config-parameters">Parameters</h3>
NameInTypeRequiredDescription
namepathstringtrueThe name of the projection
<h3 id="update-projection-config-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get a projection

<a id="opIdGet a projection"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/projection/{name}

GET /projection/{name} Get a projection

Returns a specific projection.

<h3 id="get-a-projection-parameters">Parameters</h3>
NameInTypeRequiredDescription
namepathstringtrueThe name of the projection
<h3 id="get-a-projection-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Delete a projection

<a id="opIdDelete a projection"></a>

Code samples

shell
# You can also use wget
curl -X DELETE https://kurrent.io/projection/{name}

DELETE /projection/{name} Deletes a projection

Deletes a projection

<h3 id="delete-a-projection-parameters">Parameters</h3>
NameInTypeRequiredDescription
namepathstringtrueThe projection to delete
deleteStateStreamquerybooleanfalseTBD
deleteCheckpointStreamquerybooleanfalseTBD
deleteEmittedStreamsquerybooleanfalseTBD
<h3 id="delete-a-projection-responses">Responses</h3>
StatusMeaningDescriptionSchema
204No ContentProjection deletedNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Admin

Endpoints for Admin operations

Shutdown a node

<a id="opIdShutdown a node"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/admin/shutdown

POST /admin/shutdown Shutdown a node

Issues a shut down command to a node.

<h3 id="shutdown-a-node-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Resigning a leader

Issue a resign command to the Leader node which will explicitly start a round of elections:

bash:no-line-numbers
curl -X POST -d {} https://{leader_address}:2113/admin/node/resign -u admin:changeit

Note: The resigned leader node automatically has reduced priority in the elections, but it is still possible that the same node will be elected leader again.

Scavenge a node

<a id="opIdScavenge a node"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/admin/scavenge

POST /admin/scavenge Scavenge a node

Scavenge reclaims disk space by rewriting database chunks, minus the events to delete, and then deleting the old chunks.

<h3 id="scavenge-a-node-parameters">Parameters</h3>
NameInTypeRequiredDescription
startFromChunkqueryintegerfalseThe chunk ID to start the scavenge operation from.
threadsqueryintegerfalseThe number of threads to run the scavenge operation on (max 4).
<h3 id="scavenge-a-node-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Stop a scavenge

<a id="opIdStop a scavenge"></a>

Code samples

shell
# You can also use wget
curl -X DELETE https://kurrent.io/admin/scavenge/{scavengeId}

DELETE /admin/scavenge/{scavengeId} Stop a scavenge operation

Stop a running scavenge operation.

<h3 id="stop-a-scavenge-parameters">Parameters</h3>
NameInTypeRequiredDescription
scavengeIdpathintegertrueThe scavenge ID
<h3 id="stop-a-scavenge-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Merge Indexes

<a id="opIdMerge Indexes"></a>

Code samples

shell
# You can also use wget
curl -X POST -d{} https://kurrent.io/admin/mergeindexes

POST /admin/mergeindexes Merge indexes

Manually merge indexes after a scavenge operation

<h3 id="merge-indexes-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside> <h1 id="http-api-info">Info</h1>

Endpoints for Info operations

Get info for node

<a id="opIdGet info for node"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/info

GET /info Get info for node

Returns information about node.

<h3 id="get-info-for-node-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get configuration for node

<a id="opIdGet configuration for node"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/info/options

GET /info/options Get configuration for node

Returns configuration details about node.

<h3 id="get-configuration-for-node-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Users

Endpoints for User operations

Get all users

<a id="opIdGet all users"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/users/

GET /users/ Get all users

Returns all users defined in KurrentDB.

<h3 id="get-all-users-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Create a user

<a id="opIdCreate a user"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/users/ \
  -H 'Content-Type: application/json'

POST /users/ Create a User

Create a new user.

Body parameter

json
{
  "LoginName": "admin",
  "FullName": "KurrentDB Admin",
  "Groups": [
    "Admin",
    "DataScience"
  ],
  "Password": "aVerySecurePassword"
}
<h3 id="create-a-user-parameters">Parameters</h3>
NameInTypeRequiredDescription
bodybodyUserItemfalseUser to create
<h3 id="create-a-user-responses">Responses</h3>
StatusMeaningDescriptionSchema
201CreatedNew user createdNone
400Bad RequestBad requestNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get a user

<a id="opIdGet a user"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/users/{login}

GET /users/{login} Get user

Returns the user currently authenticated with the API, or the user specified.

<h3 id="get-a-user-parameters">Parameters</h3>
NameInTypeRequiredDescription
loginpathstringtrueThe user passed to the API call.
<h3 id="get-a-user-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Update a user

<a id="opIdUpdate a user"></a>

Code samples

shell
# You can also use wget
curl -X PUT https://kurrent.io/users/{login} \
  -H 'Content-Type: application/json'

PUT /users/{login} Update specified user

Update the FullName of Groups of the specified user.

Body parameter

json
{
  "FullName": "KurrentDB Admin",
  "Groups": [
    "Admin",
    "DataScience"
  ]
}
<h3 id="update-a-user-parameters">Parameters</h3>
NameInTypeRequiredDescription
loginpathstringtrueThe user's name
bodybodyUserUpdateItemfalseUser to update
<h3 id="update-a-user-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Delete a user

<a id="opIdDelete a user"></a>

Code samples

shell
# You can also use wget
curl -X DELETE https://kurrent.io/users/{login}

DELETE /users/{login} Deletes a user

Delete specified user.

<h3 id="delete-a-user-parameters">Parameters</h3>
NameInTypeRequiredDescription
loginpathstringtrueThe user's name
<h3 id="delete-a-user-responses">Responses</h3>
StatusMeaningDescriptionSchema
204No ContentUser deletedNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Enable a user

<a id="opIdEnable a user"></a>

Code samples

shell
# You can also use wget
curl -X PUT https://kurrent.io/users/{login}/command/enable

PUT /users/{login}/command/enable Enable the specified user

Enable the acount of the specified user.

<h3 id="enable-a-user-parameters">Parameters</h3>
NameInTypeRequiredDescription
loginpathstringtrueThe user's name
<h3 id="enable-a-user-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Disable a user

<a id="opIdDisable a user"></a>

Code samples

shell
# You can also use wget
curl -X PUT https://kurrent.io/users/{login}/command/disable

PUT /users/{login}/command/disable Disable the specified user

Disable the acount of the specified user.

<h3 id="disable-a-user-parameters">Parameters</h3>
NameInTypeRequiredDescription
loginpathstringtrueThe user's name
<h3 id="disable-a-user-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Reset password

<a id="opIdReset password"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/users/{login}/command/reset-password \
  -H 'Content-Type: application/json'

POST /users/{login}/command/reset-password Reset user password

Reset the password of the specified user.

Body parameter

json
{
  "NewPassword": "aNewSecurePassword"
}
<h3 id="reset-password-parameters">Parameters</h3>
NameInTypeRequiredDescription
loginpathstringtrueThe user's name
bodybodyPasswordResetItemtrueThe new password for the user
<h3 id="reset-password-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
400Bad RequestBad requestNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Change password

<a id="opIdChange password"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/users/{login}/command/change-password \
  -H 'Content-Type: application/json'

POST /users/{login}/command/change-password Change user password

Change the password of the specified user.

Body parameter

json
{
  "CurrentPassword": "anOldSecurePassword",
  "NewPassword": "aNewSecurePassword"
}
<h3 id="change-password-parameters">Parameters</h3>
NameInTypeRequiredDescription
loginpathstringtrueThe user's name
bodybodyPasswordChangeItemtrueThe new password for the user
<h3 id="change-password-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
400Bad RequestBad requestNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Stats

Endpoints for Statistics operations.

Get all stats

<a id="opIdGet all stats"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/stats \
  -H 'Accept: application/json'

GET /stats Get all stats

Returns all stats enabled for KurrentDB.

Example responses

200 Response

json
{
  "proc": {
    "startTime": "string",
    "id": 0,
    "mem": 0,
    "cpu": 0,
    "cpuScaled": 0,
    "threadsCount": 0,
    "contentionsRate": 0,
    "thrownExceptionsRate": 0,
    "gc": {
      "allocationSpeed": 0,
      "gen0ItemsCount": 0,
      "gen0Size": 0,
      "gen1ItemsCount": 0,
      "gen1Size": 0,
      "gen2ItemsCount": 0,
      "gen2Size": 0,
      "largeHeapSize": 0,
      "timeInGc": 0,
      "totalBytesInHeaps": 0
    },
    "diskIo": {
      "readBytes": 0,
      "writtenBytes": 0,
      "readOps": 0,
      "writeOps": 0
    },
    "tcp": {
      "connections": 0,
      "receivingSpeed": "string",
      "sendingSpeed": 0,
      "inSend": 0,
      "measureTime": 0,
      "pendingReceived": 0,
      "pendingSend": 0,
      "receivedBytesSinceLastRun": 0,
      "receivedBytesTotal": 0,
      "sentBytesSinceLastRun": 0,
      "sentBytesTotal": 0
    }
  },
  "sys": {
    "cpu": 0,
    "freeMem": 0,
    "drive": {
      "driveName": {
        "availableBytes": 0,
        "totalBytes": 0,
        "usage": 0,
        "usedBytes": 0
      }
    }
  },
  "es": {
    "checksum": 0,
    "checksumNonFlushed": 0,
    "queue": {
      "queueName": "string",
      "groupName": "string",
      "avgItemsPerSecond": 0,
      "avgProcessingTime": 0,
      "currentIdleTime": "string",
      "currentItemProcessingTime": "string",
      "idleTimePercent": 0,
      "length": 0,
      "lengthCurrentTryPeak": 0,
      "lengthLifetimePeak": 0,
      "totalItemsProcessed": 0,
      "inProgressMessage": "string",
      "lastProcessedMessage": "string"
    },
    "writer": {
      "lastFlushSize": 0,
      "lastFlushDelayMs": 0,
      "meanFlushSize": 0,
      "meanFlushDelayMs": 0,
      "maxFlushSize": 0,
      "maxFlushDelayMs": 0,
      "queuedFlushMessages": 0
    },
    "readIndex": {
      "cachedRecord": 0,
      "notCachedRecord": 0,
      "cachedStreamInfo": 0,
      "notCachedStreamInfo": 0,
      "cachedTransInfo": 0,
      "notCachedTransInfo": 0,
      "hashCollisions": 0
    }
  }
}
xml
<?xml version="1.0" encoding="UTF-8" ?>
<Stats>
  <proc>
    <startTime>string</startTime>
    <id>0</id>
    <mem>0</mem>
    <cpu>0</cpu>
    <cpuScaled>0</cpuScaled>
    <threadsCount>0</threadsCount>
    <contentionsRate>0</contentionsRate>
    <thrownExceptionsRate>0</thrownExceptionsRate>
    <gc>
      <allocationSpeed>0</allocationSpeed>
      <gen0ItemsCount>0</gen0ItemsCount>
      <gen0Size>0</gen0Size>
      <gen1ItemsCount>0</gen1ItemsCount>
      <gen1Size>0</gen1Size>
      <gen2ItemsCount>0</gen2ItemsCount>
      <gen2Size>0</gen2Size>
      <largeHeapSize>0</largeHeapSize>
      <timeInGc>0</timeInGc>
      <totalBytesInHeaps>0</totalBytesInHeaps>
    </gc>
    <diskIo>
      <readBytes>0</readBytes>
      <writtenBytes>0</writtenBytes>
      <readOps>0</readOps>
      <writeOps>0</writeOps>
    </diskIo>
    <tcp>
      <connections>0</connections>
      <receivingSpeed>string</receivingSpeed>
      <sendingSpeed>0</sendingSpeed>
      <inSend>0</inSend>
      <measureTime>0</measureTime>
      <pendingReceived>0</pendingReceived>
      <pendingSend>0</pendingSend>
      <receivedBytesSinceLastRun>0</receivedBytesSinceLastRun>
      <receivedBytesTotal>0</receivedBytesTotal>
      <sentBytesSinceLastRun>0</sentBytesSinceLastRun>
      <sentBytesTotal>0</sentBytesTotal>
    </tcp>
  </proc>
  <sys>
    <cpu>0</cpu>
    <freeMem>0</freeMem>
    <drive>
      <driveName>
        <availableBytes>0</availableBytes>
        <totalBytes>0</totalBytes>
        <usage>0</usage>
        <usedBytes>0</usedBytes>
      </driveName>
    </drive>
  </sys>
  <es>
    <checksum>0</checksum>
    <checksumNonFlushed>0</checksumNonFlushed>
    <queue>
      <queueName>string</queueName>
      <groupName>string</groupName>
      <avgItemsPerSecond>0</avgItemsPerSecond>
      <avgProcessingTime>0</avgProcessingTime>
      <currentIdleTime>string</currentIdleTime>
      <currentItemProcessingTime>string</currentItemProcessingTime>
      <idleTimePercent>0</idleTimePercent>
      <length>0</length>
      <lengthCurrentTryPeak>0</lengthCurrentTryPeak>
      <lengthLifetimePeak>0</lengthLifetimePeak>
      <totalItemsProcessed>0</totalItemsProcessed>
      <inProgressMessage>string</inProgressMessage>
      <lastProcessedMessage>string</lastProcessedMessage>
    </queue>
    <writer>
      <lastFlushSize>0</lastFlushSize>
      <lastFlushDelayMs>0</lastFlushDelayMs>
      <meanFlushSize>0</meanFlushSize>
      <meanFlushDelayMs>0</meanFlushDelayMs>
      <maxFlushSize>0</maxFlushSize>
      <maxFlushDelayMs>0</maxFlushDelayMs>
      <queuedFlushMessages>0</queuedFlushMessages>
    </writer>
    <readIndex>
      <cachedRecord>0</cachedRecord>
      <notCachedRecord>0</notCachedRecord>
      <cachedStreamInfo>0</cachedStreamInfo>
      <notCachedStreamInfo>0</notCachedStreamInfo>
      <cachedTransInfo>0</cachedTransInfo>
      <notCachedTransInfo>0</notCachedTransInfo>
      <hashCollisions>0</hashCollisions>
    </readIndex>
  </es>
</Stats>
<h3 id="get-all-stats-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKA list of statsStats
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Get specified stat

<a id="opIdGet specified stat"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/stats/{statPath}

GET /stats/{statPath} Get stats sub path

Returns the sub path of the KurrentDB statistics available.

<h3 id="get-specified-stat-parameters">Parameters</h3>
NameInTypeRequiredDescription
statPathpathstringtrueThe stats sub path
<h3 id="get-specified-stat-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
401UnauthorizedUnauthorizedNone
<aside class="warning"> To perform this operation, you must be authenticated by means of one of the following methods: basicAuth </aside>

Gossip

Return Gossip details

<a id="opIdReturn Gossip details"></a>

Code samples

shell
# You can also use wget
curl -X GET https://kurrent.io/gossip

GET /gossip Return Gossip details for cluster

Return Gossip details for nodes in cluster.

<h3 id="return-gossip-details-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
<aside class="success"> This operation does not require authentication </aside>

Update Gossip details

<a id="opIdUpdate Gossip details"></a>

Code samples

shell
# You can also use wget
curl -X POST https://kurrent.io/gossip

POST /gossip Update Gossip details for cluster

Update Gossip details for nodes in a cluster.

<h3 id="update-gossip-details-responses">Responses</h3>
StatusMeaningDescriptionSchema
200OKOKNone
404Not FoundNot foundNone
<aside class="success"> This operation does not require authentication </aside>

Schemas

UserItem

<!-- backwards compatibility -->

<a id="schemauseritem"></a> <a id="schema_UserItem"></a> <a id="tocSuseritem"></a> <a id="tocsuseritem"></a>

json
{
  "LoginName": "admin",
  "FullName": "KurrentDB Admin",
  "Groups": [
    "Admin",
    "DataScience"
  ],
  "Password": "aVerySecurePassword"
}

Properties

NameTypeRequiredRestrictionsDescription
LoginNamestringfalsenoneThe new users login name.
FullNamestringfalsenoneThe full name for the new user.
Groups[string]falsenoneThe groups the new user is a member of.
PasswordstringfalsenoneThe password for the new user.

UserUpdateItem

<!-- backwards compatibility -->

<a id="schemauserupdateitem"></a> <a id="schema_UserUpdateItem"></a> <a id="tocSuserupdateitem"></a> <a id="tocsuserupdateitem"></a>

json
{
  "FullName": "KurrentDB Admin",
  "Groups": [
    "Admin",
    "DataScience"
  ]
}

Properties

NameTypeRequiredRestrictionsDescription
FullNamestringfalsenoneThe full name of the new user.
Groups[string]falsenoneThe groups the new user should become a member of.

PasswordResetItem

<!-- backwards compatibility -->

<a id="schemapasswordresetitem"></a> <a id="schema_PasswordResetItem"></a> <a id="tocSpasswordresetitem"></a> <a id="tocspasswordresetitem"></a>

json
{
  "NewPassword": "aNewSecurePassword"
}

Properties

NameTypeRequiredRestrictionsDescription
NewPasswordstringfalsenoneThe new password for the user

PasswordChangeItem

<!-- backwards compatibility -->

<a id="schemapasswordchangeitem"></a> <a id="schema_PasswordChangeItem"></a> <a id="tocSpasswordchangeitem"></a> <a id="tocspasswordchangeitem"></a>

json
{
  "CurrentPassword": "anOldSecurePassword",
  "NewPassword": "aNewSecurePassword"
}

Properties

NameTypeRequiredRestrictionsDescription
CurrentPasswordstringfalsenoneThe current password for the user
NewPasswordstringfalsenoneThe new password for the user

streamData

<!-- backwards compatibility -->

<a id="schemastreamdata"></a> <a id="schema_streamData"></a> <a id="tocSstreamdata"></a> <a id="tocsstreamdata"></a>

json
{
  "body": {}
}

Properties

NameTypeRequiredRestrictionsDescription
bodyobjecttruenoneEvent data

StreamItem

<!-- backwards compatibility -->

<a id="schemastreamitem"></a> <a id="schema_StreamItem"></a> <a id="tocSstreamitem"></a> <a id="tocsstreamitem"></a>

json
{
  "minCheckPointCount": 2,
  "startFrom": 0,
  "ResolveLinkTos": true,
  "readBatchSize": 5,
  "namedConsumerStrategy": "RoundRobin",
  "extraStatistics": true,
  "maxRetryCount": 7,
  "liveBufferSize": 1,
  "messageTimeoutMilliseconds": 3,
  "maxCheckPointCount": 2,
  "maxSubscriberCount": 9,
  "checkPointAfterMilliseconds": 6,
  "bufferSize": 5
}

Properties

NameTypeRequiredRestrictionsDescription
ResolveLinkTosbooleanfalsenoneWhether to resolve link events
startFrominteger(int64)falsenoneWhich event position in the stream the subscription should start from
extraStatisticsbooleanfalsenoneWhether to track latency statistics on this subscription
checkPointAfterMillisecondsinteger(int64)falsenoneThe amount of time to try to checkpoint after
liveBufferSizeinteger(int64)falsenoneThe size of the buffer (in-memory) listening to live messages as they happen before paging occurs
readBatchSizeinteger(int64)falsenoneThe number of events to read per batch when reading the history
bufferSizeinteger(int64)falsenoneThe number of events to cache when paging through history
maxCheckPointCountinteger(int64)falsenoneThe maximum number of messages not checkpointed before forcing a checkpoint
maxRetryCountinteger(int64)falsenoneThe maximum number of retries (due to timeout) before a message is considered to be parked
maxSubscriberCountinteger(int64)falsenoneThe maximum number of TCP subscribers allowed
messageTimeoutMillisecondsinteger(int64)falsenoneThe amount of time after which to consider a message as timedout and retried
minCheckPointCountinteger(int64)falsenoneThe minimum number of messages to write to a checkpoint
namedConsumerStrategystringfalsenoneThe strategy to use for distributing events to client consumers

Enumerated Values

PropertyValue
namedConsumerStrategyRoundRobin
namedConsumerStrategyDispatchToSingle
namedConsumerStrategyPinned

StreamMetadataItem

<!-- backwards compatibility -->

<a id="schemastreammetadataitem"></a> <a id="schema_StreamMetadataItem"></a> <a id="tocSstreammetadataitem"></a> <a id="tocsstreammetadataitem"></a>

json
{
  "eventId": "string",
  "eventType": "string",
  "data": {
    "maxAge": 0,
    "maxCount": 0,
    "truncateBefore": 0,
    "cacheControl": "string",
    "acl": {
      "r": "string",
      "w": "string",
      "d": "string",
      "mr": "string",
      "mw": "string"
    }
  }
}

Properties

NameTypeRequiredRestrictionsDescription
eventIdstringfalsenoneAlphanumeric ID
eventTypestringfalsenoneThe type of event
dataStreamMetadataItem_datafalsenonenone

SubscriptionItem

<!-- backwards compatibility -->

<a id="schemasubscriptionitem"></a> <a id="schema_SubscriptionItem"></a> <a id="tocSsubscriptionitem"></a> <a id="tocssubscriptionitem"></a>

json
{
  "minCheckPointCount": 2,
  "startFrom": 0,
  "ResolveLinkTos": true,
  "readBatchSize": 5,
  "namedConsumerStrategy": "RoundRobin",
  "extraStatistics": true,
  "maxRetryCount": 7,
  "liveBufferSize": 1,
  "messageTimeoutMilliseconds": 3,
  "maxCheckPointCount": 2,
  "maxSubscriberCount": 9,
  "checkPointAfterMilliseconds": 6,
  "bufferSize": 5
}

Properties

NameTypeRequiredRestrictionsDescription
ResolveLinkTosbooleanfalsenoneWhether to resolve link events
startFrominteger(int64)falsenoneWhich event position in the stream the subscription should start from
extraStatisticsbooleanfalsenoneWhether to track latency statistics on this subscription
checkPointAfterMillisecondsinteger(int64)falsenoneThe amount of time to try to checkpoint after
liveBufferSizeinteger(int64)falsenoneThe size of the buffer (in-memory) listening to live messages as they happen before paging occurs
readBatchSizeinteger(int64)falsenoneThe number of events to read per batch when reading the history
bufferSizeinteger(int64)falsenoneThe number of events to cache when paging through history
maxCheckPointCountinteger(int64)falsenoneThe maximum number of messages not checkpointed before forcing a checkpoint
maxRetryCountinteger(int64)falsenoneThe maximum number of retries (due to timeout) before a message is considered to be parked
maxSubscriberCountinteger(int64)falsenoneThe maximum number of TCP subscribers allowed
messageTimeoutMillisecondsinteger(int64)falsenoneThe amount of time after which to consider a message as timedout and retried
minCheckPointCountinteger(int64)falsenoneThe minimum number of messages to write to a checkpoint
namedConsumerStrategystringfalsenoneThe strategy to use for distributing events to client consumers

Enumerated Values

PropertyValue
namedConsumerStrategyRoundRobin
namedConsumerStrategyDispatchToSingle
namedConsumerStrategyPinned

StreamMetadataItem_data

<!-- backwards compatibility -->

<a id="schemastreammetadataitem_data"></a> <a id="schema_StreamMetadataItem_data"></a> <a id="tocSstreammetadataitem_data"></a> <a id="tocsstreammetadataitem_data"></a>

json
{
  "maxAge": 0,
  "maxCount": 0,
  "truncateBefore": 0,
  "cacheControl": "string",
  "acl": {
    "r": "string",
    "w": "string",
    "d": "string",
    "mr": "string",
    "mw": "string"
  }
}

Properties

NameTypeRequiredRestrictionsDescription
maxAgeintegerfalsenoneThe maximum age of events in the stream
maxCountintegerfalsenoneThe maximum count of events in the stream
truncateBeforeintegerfalsenoneEvents prior to this event are truncated and removed
cacheControlstringfalsenonePeriod of time to make feed head cacheable
aclobjectfalsenoneAccess control list for this stream
» rstringfalsenoneRead roles
» wstringfalsenoneWrite roles
» dstringfalsenoneDelete roles
» mrstringfalsenoneMetadata read roles
» mwstringfalsenoneMetadata write roles

Stats

<!-- backwards compatibility -->

<a id="schemastats"></a> <a id="schema_Stats"></a> <a id="tocSstats"></a> <a id="tocsstats"></a>

json
{
  "proc": {
    "startTime": "string",
    "id": 0,
    "mem": 0,
    "cpu": 0,
    "cpuScaled": 0,
    "threadsCount": 0,
    "contentionsRate": 0,
    "thrownExceptionsRate": 0,
    "gc": {
      "allocationSpeed": 0,
      "gen0ItemsCount": 0,
      "gen0Size": 0,
      "gen1ItemsCount": 0,
      "gen1Size": 0,
      "gen2ItemsCount": 0,
      "gen2Size": 0,
      "largeHeapSize": 0,
      "timeInGc": 0,
      "totalBytesInHeaps": 0
    },
    "diskIo": {
      "readBytes": 0,
      "writtenBytes": 0,
      "readOps": 0,
      "writeOps": 0
    },
    "tcp": {
      "connections": 0,
      "receivingSpeed": "string",
      "sendingSpeed": 0,
      "inSend": 0,
      "measureTime": 0,
      "pendingReceived": 0,
      "pendingSend": 0,
      "receivedBytesSinceLastRun": 0,
      "receivedBytesTotal": 0,
      "sentBytesSinceLastRun": 0,
      "sentBytesTotal": 0
    }
  },
  "sys": {
    "cpu": 0,
    "freeMem": 0,
    "drive": {
      "driveName": {
        "availableBytes": 0,
        "totalBytes": 0,
        "usage": 0,
        "usedBytes": 0
      }
    }
  },
  "es": {
    "checksum": 0,
    "checksumNonFlushed": 0,
    "queue": {
      "queueName": "string",
      "groupName": "string",
      "avgItemsPerSecond": 0,
      "avgProcessingTime": 0,
      "currentIdleTime": "string",
      "currentItemProcessingTime": "string",
      "idleTimePercent": 0,
      "length": 0,
      "lengthCurrentTryPeak": 0,
      "lengthLifetimePeak": 0,
      "totalItemsProcessed": 0,
      "inProgressMessage": "string",
      "lastProcessedMessage": "string"
    },
    "writer": {
      "lastFlushSize": 0,
      "lastFlushDelayMs": 0,
      "meanFlushSize": 0,
      "meanFlushDelayMs": 0,
      "maxFlushSize": 0,
      "maxFlushDelayMs": 0,
      "queuedFlushMessages": 0
    },
    "readIndex": {
      "cachedRecord": 0,
      "notCachedRecord": 0,
      "cachedStreamInfo": 0,
      "notCachedStreamInfo": 0,
      "cachedTransInfo": 0,
      "notCachedTransInfo": 0,
      "hashCollisions": 0
    }
  }
}

Properties

NameTypeRequiredRestrictionsDescription
procobjectfalsenoneStats on the currently active process
» startTimestringfalsenoneTime the associated process started
» idintegerfalsenoneId of the associated process
» memintegerfalsenoneVirtual memory used by the associated process
» cpunumberfalsenoneCPU usage of the process
» cpuScalednumberfalsenoneCPU usage of the process scaled by logical processor count
» threadsCountintegerfalsenoneNumber of threads used by process
» contentionsRatenumberfalsenoneThe rate at which threads in the process attempt to acquire a managed lock unsuccessfully
» thrownExceptionsRatenumberfalsenoneNumber of exceptions thrown per second
» gcobjectfalsenoneStats on garbage collection
»» allocationSpeednumberfalsenoneMemory allocation speed
»» gen0ItemsCountnumberfalsenoneNumber of generation 0 garbage collections
»» gen0SizenumberfalsenoneGeneration 0 heap size
»» gen1ItemsCountnumberfalsenoneNumber of generation 1 garbage collections
»» gen1SizenumberfalsenoneGeneration 1 heap size
»» gen2ItemsCountnumberfalsenoneNumber of generation 2 garbage collections
»» gen2SizenumberfalsenoneGeneration 2 heap size
»» largeHeapSizenumberfalsenoneLarge object heap size
»» timeInGcnumberfalsenonePercentage of time in garbage collection
»» totalBytesInHeapsnumberfalsenoneTotal bytes in all heaps
» diskIoobjectfalsenoneDisk input and output stats
»» readBytesnumberfalsenoneThe number of bytes read by KurrentDB since server start
»» writtenBytesnumberfalsenoneThe number of bytes written by KurrentDB since server start
»» readOpsnumberfalsenoneThe number of read operations by KurrentDB since server start
»» writeOpsnumberfalsenoneThe number of write operations by KurrentDB since server start
» tcpobjectfalsenoneTCP connection stats
»» connectionsintegerfalsenoneNumber of TCP connections to KurrentDB
»» receivingSpeedstringfalsenoneReceiving speed in bytes per second
»» sendingSpeednumberfalsenoneSending speed in bytes per second
»» inSendnumberfalsenoneNumber of bytes sent to connections but not yet acknowledged by the receiving party
»» measureTimenumberfalsenoneTime elapsed since last stats read
»» pendingReceivednumberfalsenoneNumber of bytes waiting to be received by connections
»» pendingSendnumberfalsenoneNumber of bytes waiting to be sent to connections
»» receivedBytesSinceLastRunnumberfalsenoneTotal bytes received by TCP connections since last run
»» receivedBytesTotalnumberfalsenoneTotal bytes received by TCP connections
»» sentBytesSinceLastRunnumberfalsenoneTotal bytes sent to TCP connections since last run
»» sentBytesTotalnumberfalsenoneTotal bytes sent from TCP connections
sysobjectfalsenoneSystem usage stats
» cpunumberfalsenoneTotal CPU usage in percentage
» freeMemnumberfalsenoneFree memory in bytes
» driveobjectfalsenoneDrive usage stats
»» driveNameobjectfalsenoneDrive path
»»» availableBytesnumberfalsenoneRemaining bytes of space available to KurrentDB
»»» totalBytesnumberfalsenoneTotal bytes of space available to KurrentDB
»»» usagenumberfalsenonePercentage usage of space used by KurrentDB
»»» usedBytesnumberfalsenoneTotal bytes of space used by KurrentDB
esobjectfalsenonenone
» checksumnumberfalsenonenone
» checksumNonFlushednumberfalsenonenone
» queueobjectfalsenoneMultiple queue instance stats
»» queueNamestringfalsenoneQueue name
»» groupNamestringfalsenoneGroup queue is a member of
»» avgItemsPerSecondintegerfalsenoneThe average number of items processed per second by the queue
»» avgProcessingTimenumberfalsenoneAverage number of items processed per second
»» currentIdleTimestringfalsenoneTime elapsed since queue went idle
»» currentItemProcessingTimestringfalsenoneTime elapsed processing the current item
»» idleTimePercentnumberfalsenonePercentage of time queue spent idle
»» lengthintegerfalsenoneNumber of items in the queue
»» lengthCurrentTryPeaknumberfalsenoneThe highest number of items in the queue within the past 100ms
»» lengthLifetimePeaknumberfalsenoneThe highest number of items in the queue
»» totalItemsProcessednumberfalsenoneThe total number of items processed by the queue
»» inProgressMessagestringfalsenoneCurrent message type queue is processing
»» lastProcessedMessagestringfalsenoneLast message type processed
» writerobjectfalsenoneStorage writing stats
»» lastFlushSizenumberfalsenoneLast flush size
»» lastFlushDelayMsnumberfalsenoneLast flush delay in ms
»» meanFlushSizenumberfalsenoneAverage flush size
»» meanFlushDelayMsnumberfalsenoneAverage flush delay in ms
»» maxFlushSizenumberfalsenoneMax flush size
»» maxFlushDelayMsnumberfalsenoneMax flush delay in ms
»» queuedFlushMessagesintegerfalsenoneQueued flush messages
» readIndexobjectfalsenonenone
»» cachedRecordnumberfalsenoneNumber of cached record reads
»» notCachedRecordnumberfalsenoneNumber of uncached record reads
»» cachedStreamInfonumberfalsenonenone
»» notCachedStreamInfonumberfalsenonenone
»» cachedTransInfonumberfalsenonenone
»» notCachedTransInfonumberfalsenonenone
»» hashCollisionsnumberfalsenonenone