---
title: "Create an RSS automation"
method: POST
path: "/api/v1/workspaces/{workspace_id}/automations/rss"
tags: ["🔁 RSS Automations"]
---

# Create an RSS automation

`POST /api/v1/workspaces/{workspace_id}/automations/rss`

## Request

- Base URL: `https://api.contentstudio.io`
- URL: `https://api.contentstudio.io/api/v1/workspaces/{workspace_id}/automations/rss`
- Auth: API key in header `X-API-Key`

Creates an RSS feed automation that posts new feed items to the selected accounts. The feed URL is fetched and validated before the automation is saved, so an unreachable feed fails the request. Counts against the workspace's automation plan limit.

## Path parameters

- `workspace_id` string, required

## Request body

- object
  - `name` string, required
  - `account_selection` object, required: Platform => account ids the automation posts to. Ids are the `id` GET /accounts returns (the platform identifier); any other value is refused with 422 INVALID_ACCOUNT_ID.
  - `feed_url` string, uri, required
  - `posting_type` 'Immediately' | 'Queue' | 'content_category', required: What happens to each new feed item: `Immediately` publishes it, `Queue` adds it to each account's queue (see `queue_slot_option`), `content_category` files it under `content_category_id` (required then). Case-sensitive.
  - `max_post` integer, required: Maximum items published per pull
  - `review_content` boolean, required: Queue items for review instead of publishing straight away
  - `content_category_id` string, nullable
  - `add_link_first_comment` boolean, nullable
  - `add_source_in_description` boolean, nullable: Append the feed item's source to the post
  - `post_variations` 'body_content' | 'post_title' | 'meta_description', nullable: Which part of the feed item becomes the post body: `body_content` (AI-generated caption when credits allow), `post_title` (title + URL) or `meta_description`
  - `queue_slot_option` 'top' | 'bottom', nullable: Where in the account queue new items land
  - `pull_frequency` '5m' | '15m' | '30m' | '1h' | '3h' | '6h' | '12h' | '24h': How often the feed is checked. Defaults to 30m.
  - `replug` object, nullable: Replug link shortening. `brand` and `campaign` are required when `status` is true.
    - `status` boolean
    - `brand` string
    - `campaign` string
  - `hashtag` object, nullable: Hashtag set to append. `id` is required when `status` is true.
    - `status` boolean
    - `id` string

## Response `201`

Automation created

- object
  - `status` boolean
  - `message` string
  - `data` object: The created RSS automation. `lock` is 1 while the first feed pull runs (a few seconds); status changes and updates answer 409 AUTOMATION_LOCKED until it clears.

## Other responses

- `401`: Unauthorized - API key missing or invalid
- `403`: Forbidden - No access to workspace. Workspace access refusals return `error_code` `WORKSPACE_ACCESS_DENIED`, `WORKSPACE_INVITATION_PENDING`, `WORKSPACE_LOCKED`, `PERMISSION_DENIED`, `ACCOUNT_ACCESS_DENIED`, `FEATURE_NOT_IN_PLAN`.
- `422`: Validation error (VALIDATION_ERROR), unknown account id (INVALID_ACCOUNT_ID, names the id and platform; nothing is written), unreachable feed (INVALID_FEED_URL), or plan limit reached (AUTOMATION_LIMIT_REACHED, with limit_details)
- `429`: Too many requests

## Changes

- **2026-09-22** `ad0b687289a3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/contentstudio/apis/contentstudio-api-v1/changes/api/v1/workspaces/:workspace_id/automations/rss/post.md)

---

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