---
title: "GET /flows/instances/{slug}/diagram/"
method: GET
path: "/flows/instances/{slug}/diagram/"
tags: ["flows"]
---

# GET /flows/instances/{slug}/diagram/

`GET /flows/instances/{slug}/diagram/`

Return the graph of flow with slug `slug`, for the client to render

## Path parameters

- `slug` string, required — Visible in the URL.

## Response `200`

- FlowDiagram — Base serializer class which doesn't implement create/update methods
  - `nodes` DiagramNode[], required
    - `identifier` string, required
    - `type` 'flow-start' | 'pre-flow-policies' | 'authentication-requirement' | 'stage' | 'policy' | 'flow-end', required
    - `name` string, required
    - `verbose_name` string, required
    - `model` string, required
    - `pk` string, required
    - `component` string, required
    - `binding_model` string, required
    - `binding_pk` string, required
    - `binding_order` integer, nullable, required
  - `edges` DiagramEdge[], required
    - `origin` string, required
    - `target` string, required
    - `type` 'proceed' | 'binding' | 'policy-passed' | 'policy-denied' | 'requirement-fulfilled' | 'requirement-unfulfilled', required

## Other responses

- `400`
- `403`

## Changes

- **2026-09-09** `4f584858ac99` — 1 breaking, 2 info
  - removed the required property `diagram` from the response with the `200` status
  - added the required property `edges` to the response with the `200` status
  - added the required property `nodes` to the response with the `200` status

[Change history](https://skmtc.dev/goauthentik/apis/authentik/changes/flows/instances/:slug/diagram/get.md)

---

[API](https://skmtc.dev/goauthentik/apis/authentik.md) · [All operations](https://skmtc.dev/goauthentik/apis/authentik/llms.txt) · [OpenAPI document](https://skmtc.dev/goauthentik/apis/authentik/revisions/72050dd9f6ba?raw)
