# Flow Versions

Manage versions of automation flows. Every flow has one or more versions; each version is an immutable snapshot of the node tree and contact sources. Activating a flow version replaces the running configuration.

 - [GET /flows/api/flows/{flowUuid}/flow-versions](https://api.grinfi.io/openapi/flow-versions/listflowversions.md): List all versions saved for a flow. Each version is an immutable snapshot.
 - [POST /flows/api/flows/{flowUuid}/flow-versions](https://api.grinfi.io/openapi/flow-versions/createflowversion.md): Save a new version (snapshot) of the flow's node tree and contact sources. Versions are immutable; activating a different version replaces the running config.
 - [GET /flows/api/flow-versions/{uuid}](https://api.grinfi.io/openapi/flow-versions/getflowversion.md): Retrieve a specific flow version by UUID.
 - [DELETE /flows/api/flow-versions/{uuid}](https://api.grinfi.io/openapi/flow-versions/deleteflowversion.md): Permanently delete a flow version. Active versions cannot be deleted.
 - [POST /flows/api/flow-versions/validate-node](https://api.grinfi.io/openapi/flow-versions/validateflownode.md): Validate a single node configuration without saving it. Useful for pre-flight checks when building a flow programmatically. Send the **same node object shape** you would put inside a flow version (see
 - [POST /flows/api/flow-versions/validate-contact-source](https://api.grinfi.io/openapi/flow-versions/validatecontactsource.md): Validate a contact source configuration without saving it.
