---
title: "Bulk upsert ads for a watchlist item"
method: POST
path: "/api/v1/watchlist/{id}/ads"
tags: ["Watchlist"]
---

# Bulk upsert ads for a watchlist item

`POST /api/v1/watchlist/{id}/ads`

## Request

- Base URL: `https://getscaleforge.com`
- URL: `https://getscaleforge.com/api/v1/watchlist/{id}/ads`
- Auth: HTTP bearer

Upserts ads by `library_id`. Requires scope `watchlist:write`.

## Request body

- object
  - `ads` object[], required
    - `library_id` string, required
    - `page_title` string
    - `ad_text` string
    - `call_to_action` string
    - `link_url` string, uri
    - `link_headline` string
    - `start_date` string, date
    - `days_running` integer
    - `platforms` string[]
    - `image_url` string, uri
    - `video_url` string, uri
    - `video_poster_url` string, uri
    - `is_new` boolean

## Response `201`

Upserted

- object
  - `created` integer
  - `updated` integer
  - `total` integer

## Other responses

- `404`: Watchlist item not found

---

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