---
title: "Walk one saved Hive automation through a made-up conversation and return what each step would do. Nothing is sent, nobody is messaged and no contact is changed. It tests the DRAFT as saved; going live is still a separate step a person approves in Hive."
method: POST
path: "/api/v1/tools/test_flow"
---

# Walk one saved Hive automation through a made-up conversation and return what each step would do. Nothing is sent, nobody is messaged and no contact is changed. It tests the DRAFT as saved; going live is still a separate step a person approves in Hive.

`POST /api/v1/tools/test_flow`

## Request

- Base URL: `https://hivepublish.com`
- URL: `https://hivepublish.com/api/v1/tools/test_flow`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `flowId` string, required: The Hive automation to test.
  - `fixture` object: The made-up person and event to walk through: contact, event, workspace, channel and flow values.
  - `options` object
    - `seed` string: Makes a split or a random choice repeatable.
    - `now` string: The moment to pretend it is, so waits are repeatable.
    - `selectedMessageNodeId` string: Start the walk at one exact message step.
    - `branchSelections` object: Which branch to take at each step that asks, as stepId to output id.

## Response `200`

Tool result

- ToolResult
  - `data` unknown, required
  - `meta` object, required
    - `tool` string
    - `workspaceId` string, uuid

## Other responses

- `400`: Invalid input
- `401`: Missing or invalid credential
- `403`: Missing workspace scope, role permission, or plan entitlement
- `409`: Idempotency conflict, replay, or request still in progress
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/hivepublish/apis/hive-developer-api.md) · [All operations](https://skmtc.dev/hivepublish/apis/hive-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hivepublish/apis/hive-developer-api/revisions/b440c763583e?raw)
