---
title: "Create a DM automation default reply in Hive from a saved reply. Setting it active is refused for an account that still needs reconnecting or provider approval."
method: POST
path: "/api/v1/tools/create_default_reply"
---

# Create a DM automation default reply in Hive from a saved reply. Setting it active is refused for an account that still needs reconnecting or provider approval.

`POST /api/v1/tools/create_default_reply`

## Request

- Base URL: `https://hivepublish.com`
- URL: `https://hivepublish.com/api/v1/tools/create_default_reply`
- 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
  - `name` string, required: What to call this default reply.
  - `savedReplyId` string, required: The saved reply whose words it sends.
  - `accountIds` string[], required: The connected Hive accounts it answers on.
  - `status` 'paused' | 'active' | 'draft': Active starts answering real people on the next message. Paused stops replies; draft is a legacy alias for paused.
  - `keywordMode` string: How the words are matched, when it watches for words at all.
  - `keywords` string[]: The words it watches for.
  - `firstContactOnly` boolean: Answer only the first message from a person.
  - `businessHoursMode` string: When it is allowed to answer.
  - `timezone` string: The time zone the hours are read in.
  - `businessHours` object
    - `days` integer[]: Weekdays: Sunday is 0 and Saturday is 6.
    - `start` string: Opening time in HH:MM, in the rule timezone.
    - `end` string: Closing time in HH:MM, in the rule timezone.
  - `cooldownMinutes` number: Minutes before the same person can be answered again.
  - `maxSendsPerThread` number: How many times one conversation may be answered.
  - `handoffAfterSend` boolean: Hand the conversation to a person after answering.
  - `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)
