Skip to content

Add media to a campaign​

POST
/fundraisers/{id}/media

Adds one item, by kind:

  • image — a URL from POST /storage/upload (other hosts are
    rejected). The first image becomes the cover unless isCover says
    otherwise. At most 10 images per campaign.
  • video_link — a YouTube, Vimeo, Wistia, Loom, Instagram, Facebook
    or TikTok URL. At most 3 videos per campaign.
  • video_upload — reserves a direct upload to the video host and
    returns its one-time uploadURL. Counts toward the 3 videos.

Campaign owner only. Behind features.fundraiser_video and the media-upload rate limit (30 per 15 minutes). Audit-logged.

Authorizations​

BearerAuth

In the browser, authentication rides on the httpOnly session cookies set by /cognito/signin or the Google / Apple sign-in at /cognito/oauth/{provider}. For scripts and for Swagger UI testing, paste an API key (fh_live_…, created with POST /api-keys); a Cognito JWT is accepted too. Sign-in does not return a token in its body.

Type
HTTP (bearer)

Parameters​

Path Parameters

id*
Type
string
Required
Format
"uuid"

Request Body​

application/json
JSON
{
"kind": "string",
"url": "string",
"position": 0,
"isCover": true,
"title": "string"
}

Responses​

Item created

application/json
JSON
{
"media": "string",
"uploadURL": "string"
}

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​

Powered by VitePress OpenAPI

Built with VitePress