Event Store logo

Menu

Documentation

Show Table of Contents

API

URI Description HTTP Verb
/projections/any Returns all known projections. GET
/projections/all-non-transient Returns all known non ad-hoc projections. GET
/projections/transient Returns all known ad-hoc projections. GET
/projections/onetime Returns all known one-time projections. GET
/projections/continuous Returns all known continuous projections. GET
/projections/transient?name={name}&type={type}&enabled={enabled} Create an ad-hoc projection.
This type of projection is run until completion and automatically deleted afterwards.
POST

Parameters

  • name: Name of the projection
  • type: JS or Native. (js/native. At this time, only js is supported)
  • enabled: Enable the projection (true/false)
/projections/onetime?name={name}&type={type}&enabled={enabled}&checkpoints={checkpoints}&emit={emit}&trackemittedstreams={trackemittedstreams} Create a one-time projection.
This type of projection is run until completion and then stops.
POST

Parameters

  • name: Name of the projection
  • type: JS or Native. (js/native. At this time, only js is supported)
  • enabled: Enable the projection (true/false)
  • checkpoints: Enable checkpoints (true/false)
  • emit: Enable the ability for the projection to write to streams (true/false)
  • trackemittedstreams: Write the name of the streams the projection is managing to a separate stream. $projections-{projection-name}-emittedstreams (true/false)
/projections/continuous?name={name}&type={type}&enabled={enabled}&emit={emit}&trackemittedstreams={trackemittedstreams} Create a continuous projection.
This type of projection will, if enabled will contiously run unless disabled or an unrecoverable error has been encountered.
POST

Parameters

  • name: Name of the projection
  • type: JS or Native. (js/native. At this time, only js is supported)
  • enabled: Enable the projection (true/false)
  • emit: Allow the projection to write to streams (true/false)
  • trackemittedstreams: Write the name of the streams the projection is managing to a separate stream. $projections-{projection-name}-emittedstreams (true/false)
/projection/{name}/query?config={config} Returns the definition query and if config is set to true, will return the configuration. GET

Parameters

  • name: Name of the projection
  • config: Return the definition of the projection (true/false)
/projection/{name}/query?type={type}&emit={emit} Update a projection's query. PUT

Parameters

  • name: Name of the projection
  • type: JS or Native. (js/native. At this time, only js is supported)
  • emit: Allow the projection to write to streams (true/false)
  • trackemittedstreams: Write the name of the streams the projection is managing to a separate stream. $projections-{projection-name}-emittedstreams (true/false)
/projection/{name} Returns information for a projection. GET
/projection/{name}?deleteStateStream={deleteStateStream}&deleteCheckpointStream={deleteCheckpointStream}&deleteEmittedStreams={deleteEmittedStreams} Delete a projection, optionally delete the streams that were created as part of the projection. DELETE

Parameters

  • name: Name of the projection
  • deleteStateStream: Delete the state stream (true/false)
  • deleteCheckpointStream: Delete the checkpoint stream (true/false)
  • deleteEmittedStreams: Delete the emitted streams stream (true/false)
/projection/{name}/statistics Returns detailed information for a projection. GET

Parameters

  • name: Name of the projection
/projection/{name}/state?partition={partition} Query for the state of a projection. GET

Parameters

  • name: Name of the projection
  • partition: The partition
/projection/{name}/result?partition={partition} Query for the result of a projection. GET

Parameters

  • name: Name of the projection
  • partition: The partition
/projection/{name}/command/disable?enableRunAs={enableRunAs} Disable a projection. POST

Parameters

  • name: Name of the projection
  • enableRunAs: Enables the projection to run as the user who issued the request.
/projection/{name}/command/enable?enableRunAs={enableRunAs} Enable a projection. POST

Parameters

  • name: Name of the projection
  • enableRunAs: Enables the projection to run as the user who issued the request.
/projection/{name}/command/reset?enableRunAs={enableRunAs} Reset a projection. (This will re-emit events, streams that are written to from the projection will also be soft deleted). POST

Parameters

  • name: Name of the projection
  • enableRunAs: Enables the projection to run as the user who issued the request.
/projection/{name}/command/abort?enableRunAs={enableRunAs} Abort a projection. POST

Parameters

  • name: Name of the projection
  • enableRunAs: Enables the projection to run as the user who issued the request.

Event Store docs are hosted on GitHub. The repository is public and it’s open to issues and pull requests. Contributions, corrections and feedback are all welcome.