---
title: "Rotate an audience feed URL"
method: POST
path: "/audiences/{id}/feed/rotate"
tags: ["Audiences"]
---

# Rotate an audience feed URL

`POST /audiences/{id}/feed/rotate`

## Request

- Base URL: `https://shipmail.to/api/v1`
- URL: `https://shipmail.to/api/v1/audiences/{id}/feed/rotate`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://shipmail.to/api/auth/oauth2/authorize`, token URL `https://shipmail.to/api/auth/oauth2/token`)

Generate a replacement URL while keeping the current URL as a temporary redirect. A later rotation permanently breaks the oldest URL.

## Headers

- `X-Shipmail-Organization` string

## Response `200`

Audience feed settings with the replacement URL, or null URL when disabled.

- AudienceFeed
  - `object` 'audience_feed', required
  - `audience_id` string, required
  - `enabled` boolean, required
  - `title` string, nullable, required
  - `subtitle` string, nullable, required
  - `site_url` string, uri, nullable, required
  - `canonical_url` string, uri, nullable, required: Publisher-owned feed URL emitted as the Atom rel="self" link, or null when unset.
  - `author_name` string, nullable, required
  - `icon_url` string, uri, nullable, required
  - `entry_limit` integer, nullable, required: Stored number of recent newsletters carried by the feed, or null when the publisher has not chosen a value and the default of 50 applies.
  - `url` string, uri, nullable, required: Resolved Atom feed URL, or null while the feed is disabled. Anyone with a tokenized URL can read it.
  - `updated_at` string, date-time, required

## Other responses

- `404`: Resource not found.
- `422`: Validation failed.
- `429`: Rate limit exceeded.

---

[API](https://skmtc.dev/shipmail/apis/shipmail-api.md) · [All operations](https://skmtc.dev/shipmail/apis/shipmail-api/llms.txt) · [OpenAPI document](https://skmtc.dev/shipmail/apis/shipmail-api/revisions/2c23e59d7e30?raw)
