# Pipelines

## Overview

Streams are the backbone of all processing. Joule Management API provides the ability to register, list, detail and undeploy stream pipelines.&#x20;

For further information on the structure of the content payload refer to this [documentation](https://docs.fractalworks.io/joule/components/pipelines).&#x20;

## Example stream content

```json
{
  "stream": {
    "name": "basic_tumbling_window_pipeline",
    "enabled": true,
    "eventTimeType": "EVENT_TIME",
    "sources": [
      "nasdaq_quotes_stream"
    ],
    "processing unit": {
      "pipeline": [
        {
          "time window": {
            "emitting type": "tumblingQuoteAnalytics",
            "aggregate functions": {
              "FIRST": [
                "ask"
              ],
              "LAST": [
                "ask"
              ]
            },
            "policy": {
              "type": "tumblingTime",
              "window size": 1000
            }
          }
        }
      ]
    },
    "emit": {
      "select": "symbol, ask_FIRST, ask_LAST"
    },
    "group by": [
      "symbol"
    ]
  }
}
```

{% openapi src="<https://3062398388-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUU6FZlV07ZD90OzbzGww%2Fuploads%2FwsbKvpoD11cLGV2xB6Dl%2Fswagger-docs.json?alt=media&token=7d415513-0de4-40a2-9b02-d35b6d39c86f>" path="/joule/management/stream/register" method="post" %}
[swagger-docs.json](https://3062398388-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUU6FZlV07ZD90OzbzGww%2Fuploads%2FwsbKvpoD11cLGV2xB6Dl%2Fswagger-docs.json?alt=media\&token=7d415513-0de4-40a2-9b02-d35b6d39c86f)
{% endopenapi %}

{% openapi src="<https://3062398388-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUU6FZlV07ZD90OzbzGww%2Fuploads%2FwsbKvpoD11cLGV2xB6Dl%2Fswagger-docs.json?alt=media&token=7d415513-0de4-40a2-9b02-d35b6d39c86f>" path="/joule/management/stream/list" method="get" %}
[swagger-docs.json](https://3062398388-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUU6FZlV07ZD90OzbzGww%2Fuploads%2FwsbKvpoD11cLGV2xB6Dl%2Fswagger-docs.json?alt=media\&token=7d415513-0de4-40a2-9b02-d35b6d39c86f)
{% endopenapi %}

{% openapi src="<https://3062398388-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUU6FZlV07ZD90OzbzGww%2Fuploads%2FwsbKvpoD11cLGV2xB6Dl%2Fswagger-docs.json?alt=media&token=7d415513-0de4-40a2-9b02-d35b6d39c86f>" path="/joule/management/stream/detail" method="get" %}
[swagger-docs.json](https://3062398388-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUU6FZlV07ZD90OzbzGww%2Fuploads%2FwsbKvpoD11cLGV2xB6Dl%2Fswagger-docs.json?alt=media\&token=7d415513-0de4-40a2-9b02-d35b6d39c86f)
{% endopenapi %}

{% openapi src="<https://3062398388-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUU6FZlV07ZD90OzbzGww%2Fuploads%2FwsbKvpoD11cLGV2xB6Dl%2Fswagger-docs.json?alt=media&token=7d415513-0de4-40a2-9b02-d35b6d39c86f>" path="/joule/management/stream/unregister" method="delete" %}
[swagger-docs.json](https://3062398388-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUU6FZlV07ZD90OzbzGww%2Fuploads%2FwsbKvpoD11cLGV2xB6Dl%2Fswagger-docs.json?alt=media\&token=7d415513-0de4-40a2-9b02-d35b6d39c86f)
{% endopenapi %}
