---
title: "Enable or update an automated message"
method: PUT
path: "/chats/automated-messages/{trigger}"
---

# Enable or update an automated message

`PUT /chats/automated-messages/{trigger}`

## Request

- Base URL: `https://api.fanvue.com`
- URL: `https://api.fanvue.com/chats/automated-messages/{trigger}`
- Auth: OAuth 2
  - Authorization code: `https://auth.fanvue.com/oauth2/auth`
  - Token URL: `https://auth.fanvue.com/oauth2/token` scopes: `write:creator`

Creates or replaces the automated message sent when the trigger fires. The message must have text or media; a non-zero price requires media.

## Path parameters

- `trigger` 'new_subscriber' | 'new_follower' | 'subscription_canceled' | 're_subscribed' | 'renewed' | 'new_purchase' | 'first_message_reply', required: Event that sends the automated message: new_subscriber, new_follower, subscription_canceled (subscriber cancels auto-renew), re_subscribed, renewed (subscription renews), new_purchase, or first_message_reply (fan messages the creator for the first time)

## Headers

- `X-Fanvue-API-Version` string, required

## Request body

- object
  - `text` string: Message text content
  - `price` union: Pay-to-view price in cents: 0 (free) or between 300 and 250000. A non-zero price requires attached media.
    - 0
    - integer
  - `mediaUuids` string[]: Array of media UUIDs to attach to the message
  - `mediaPreviewUuid` string, uuid: UUID of a single media item shown for free as a preview of a pay-to-view message. Requires a price and attached media.

## Response `200`

Automated message enabled or updated

- object
  - `trigger` 'new_subscriber' | 'new_follower' | 'subscription_canceled' | 're_subscribed' | 'renewed' | 'new_purchase' | 'first_message_reply', required: Event that sends the automated message: new_subscriber, new_follower, subscription_canceled (subscriber cancels auto-renew), re_subscribed, renewed (subscription renews), new_purchase, or first_message_reply (fan messages the creator for the first time)
  - `enabled` boolean, required: Whether an automated message is active for this trigger
  - `text` string, nullable, required: Message text content (null when disabled or media-only)
  - `price` number, nullable, required: Pay-to-view price in cents (null when disabled or unpriced)
  - `mediaUuids` string[], required: Ordered list of media UUIDs attached to the message (empty when disabled)
  - `mediaPreviewUuid` string, uuid, nullable, required: UUID of the free preview media, or null when none is set
  - `updatedAt` string, date-time, nullable, required: When the automated message was last configured (null when disabled)

## Other responses

- `400`: Bad Request - API version not supported OR validation failed
- `401`: Unauthorized Response
- `403`: Unauthorized Response
- `410`: API version no longer supported (sunset)
- `429`: Too many requests - rate limit exceeded

---

[API](https://skmtc.dev/fanvue/apis/fanvue-api.md) - [All operations](https://skmtc.dev/fanvue/apis/fanvue-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fanvue/apis/fanvue-api/revisions/966260af2770?raw)
