# 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.


## List flow versions

 - [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.

## Create a flow version

 - [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 a flow version

 - [GET /flows/api/flow-versions/{uuid}](https://api.grinfi.io/openapi/flow-versions/getflowversion.md): Retrieve a specific flow version by UUID.

## Delete a flow version

 - [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.

## Validate a flow node

 - [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 the flow-node schema).

Required fields: id, type, before, after. The before and after edge arrays MUST be present even when empty ([]) — omitting them currently causes a server error instead of a validation error.

id must be an integer, not a string. Node config lives in the payload object, with automation set to the string "auto".

A valid node returns 204 No Content (empty body).

## Validate a contact source

 - [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.

