---
title: "Publish Both"
method: POST
path: "/v1/admin/marketing/publish/both"
tags: ["marketing-publish"]
---

# Publish Both

`POST /v1/admin/marketing/publish/both`

## Request

- Base URL: `https://api.storyflo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.storyflo.com/v1/admin/marketing/publish/both`
- Auth: none declared

Fan out to X + YouTube. Atomic-ish: one failure does not
short-circuit the other. The response surfaces each side's
outcome independently so the operator can replay just the
failed half.

## Headers

- `x-storyflo-email-token` string, nullable

## Request body

- PublishBothBody
  - `video_url` string, required
  - `x_caption` string, required
  - `yt_title` string, required
  - `yt_description` string
  - `yt_tags` string[]
  - `yt_category_id` string
  - `yt_privacy_status` string
  - `yt_is_short` boolean
  - `yt_vertical` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/storyflo/apis/storyflo-inference-router.md) · [All operations](https://skmtc.dev/storyflo/apis/storyflo-inference-router/llms.txt) · [OpenAPI document](https://skmtc.dev/storyflo/apis/storyflo-inference-router/revisions/c3a1a735ac7a?raw)
