---
title: "Retrieves the configuration for a specified dataflow"
method: GET
path: "/dataflows/{dataflowName}"
tags: ["dataflow"]
---

# Retrieves the configuration for a specified dataflow

`GET /dataflows/{dataflowName}`

A dataflow is a set of services and streams allowing a data flowing from one or more sources, being transformed and reach one or more destinations (sinks).
Logisland will call this endpoint to know which configuration should be run.

 This endpoint also supports HTTP caching (Last-Updated, If-Modified-Since) as per RFC 7232, section 3.3

## Headers

- `If-Modified-Since` string

## Response `200`

Return the dataflow configuration.
On logisland side, the following will happen:
- At dataflow level:

  - Fully reconfigure a dataflow (stop and then start) if nothing is running (initial state) or if lastUpdated is fresher than the one of the already running dataflow.

    In this case be aware that old stream and services will be destroyed and
    new ones will be created.

  - Do nothing otherwise (keep running the active dataflow)

- At pipeline level:

  - The processor chain will be fully reconfigured if and only if the pipeline lastUpdated is fresher than the lastUpdated known by the system.

  In any case the stream is never stopped.

- DataFlow — a versioned component
  - `lastModified` string, date-time, required — the last modified timestamp of this pipeline (used to trigger changes).
  - `modificationReason` string — Can be used to document latest changeset.
  - `services` Service[] — The service controllers.
    - `name` string, required
    - `component` string, required
    - `documentation` string
    - `config` Property[]
      - `key` string, required
      - `type` string
      - `value` string, required
  - `streams` Stream[] — The engine properties.
    - `name` string, required
    - `component` string, required
    - `documentation` string
    - `config` Property[]
      - `key` string, required
      - `type` string
      - `value` string, required
    - `pipeline` Pipeline, required — a versioned component
      - `lastModified` string, date-time, required — the last modified timestamp of this pipeline (used to trigger changes).
      - `modificationReason` string — Can be used to document latest changeset.
      - `processors` Processor[]
        - `name` string, required
        - `component` string, required
        - `documentation` string
        - `config` Property[]
          - `key` string, required
          - `type` string
          - `value` string, required

## Other responses

- `304` — Nothing has been modified since the last call. In this case the body content will be completely ignored (hence the server can answer with an empty body to save network and resources).
- `404` — Not found (the server probably does not handle this dataflow)
- `default` — Unexpected error

---

[API](https://skmtc.dev/hurence/apis/logisland-standard-api.md) · [All operations](https://skmtc.dev/hurence/apis/logisland-standard-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hurence/logisland-standard-api/revisions/6c01c10527d4/schema)
