---
title: "Set one saved Hive automation live so it starts replying to real people. Your AI asks you before this runs; with Hive approvals on, Hive asks again inside Hive; the approval page shows them the account, what starts it and every message. Pass both the draftVersionId and revision you read; Hive refuses if either changed before publication."
method: POST
path: "/api/v1/tools/set_automation_live"
---

# Set one saved Hive automation live so it starts replying to real people. Your AI asks you before this runs; with Hive approvals on, Hive asks again inside Hive; the approval page shows them the account, what starts it and every message. Pass both the draftVersionId and revision you read; Hive refuses if either changed before publication.

`POST /api/v1/tools/set_automation_live`

## Request

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

This reaches real people, so the person is asked before it runs. Their own AI client asks them. When the connection was made with Hive approvals switched on, the first call returns a single-use Hive approval link instead of acting, and the exact request is repeated with approvalToken and an Idempotency-Key once they approve it inside Hive.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `flowId` string, required: The Hive automation to set live.
  - `expectedVersionId` string, required: The draftVersionId returned by read_automation_flow, create_simple_automation or update_simple_automation. Always send it: the approval is tied to that exact saved version, so if the automation changes after the person reads it, Hive refuses instead of setting something else live.
  - `expectedRevision` integer, required: The revision returned with the draftVersionId you reviewed. Edits to the same saved draft change this revision.
  - `approvalToken` string: Single-use token returned by Hive after the owner approves this exact action.

## Response `200`

Tool result or approval challenge

- union
  - ToolResult
    - `data` unknown, required
    - `meta` object, required
      - `tool` string
      - `workspaceId` string, uuid
  - ApprovalChallengeResponse
    - `data` ApprovalChallenge, required
      - `confirmationRequired` unknown, required
      - `challengeId` string, uuid, required
      - `approvalToken` string, required: Secret, single-use token. Retry only after the human approves approvalUrl.
      - `approvalUrl` string, uri, required
      - `expiresAt` string, date-time, required
      - `warning` string
    - `meta` object, required

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