---
title: "Attach Video"
method: POST
path: "/api/campaigns/{campaign_id}/placements/{placement_id}/videos"
tags: ["Campaigns"]
---

# Attach Video

`POST /api/campaigns/{campaign_id}/placements/{placement_id}/videos`

## Request

- Base URL: `https://api.kolens.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kolens.ai/api/campaigns/{campaign_id}/placements/{placement_id}/videos`
- Auth: HTTP bearer

Attach one of the caller's tracked videos to this placement.

This is where two visibility rules meet. A tracked video is shared
with a workspace only when its owner opts in; a campaign is the
team's by construction. Attaching therefore stamps the video with
the campaign's workspace — otherwise a teammate would see the spend
but not the video it bought, and the page would be arithmetic they
could not check.

``shared_with_workspace`` in the response reports whether that just
happened, so the client can warn BEFORE the click rather than
apologise after.

## Path parameters

- `campaign_id` string, required
- `placement_id` string, required

## Headers

- `x-kolens-user-id` string, nullable
- `x-kolens-workspace-id` string, nullable

## Request body

- AttachVideoIn
  - `video_id` string, required

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

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