---
title: "Get available source flows for subscription."
method: GET
path: "/api/sources"
tags: ["flows"]
---

# Get available source flows for subscription.

`GET /api/sources`

Returns all flows that have InterOutput blocks, along with information
about whether each output is currently active (flow is running).
This scans all flow definitions, not just running flows.

## Response `200`

List of available source flows

- AvailableSourcesResponse — Response containing available source flows for subscription.
  - `sources` SourceFlowInfo[], required — List of flows that have published outputs
    - `flow_id` string, uuid, required — The flow ID
    - `flow_name` string, required — The flow name
    - `outputs` AvailableOutput[], required — Available outputs from this flow
      - `channel_name` string, required — Channel name for inter-pipeline communication (what InterInput blocks use)
      - `description` string, nullable — Description of the output
      - `flow_name` string, required — Name of the flow that publishes this output
      - `is_active` boolean, required — Whether the source flow is currently running (output is active)
      - `media_type` 'Generic' | 'Audio' | 'Video', required — Media type classification for pads.
      - `name` string, required — Name of the published output (block ID)

---

[API](https://skmtc.dev/eyevinn/apis/strom-api.md) · [All operations](https://skmtc.dev/eyevinn/apis/strom-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/eyevinn/strom-api/revisions/0df7ca64263f/schema)
