---
title: "Create a billboard"
method: POST
path: "/api/billboards"
tags: ["billboards"]
---

# Create a billboard

`POST /api/billboards`

Create a new billboard.

        ### Parameter Options & Tips:
        - **body_markdown**: The HTML/Markdown advertisement copy.
        - **placement_area**: Target region in layouts (e.g. `post_comments` below comments, `sidebar` in sidebars, `home_feed` between posts).
        - **display_to**: Cohort target rules (e.g. `all` for everyone, `logged_in`, `guests`, or customized segments).
        - **target_geolocations**: Comma-separated ISO codes for country/region targeting.
        - **approved** & **published**: Set to `true` to activate billboard rotation instantly.

## Request body

- object

## Response `201`

A billboard

- object

## Other responses

- `401` — unauthorized
- `422` — unprocessable

## Changes

> 59 revisions in range; 8 could not be searched.

- **2026-07-13** (v1) `189b62b952ea` — 2 breaking
  - removed the media type `application/json` for the response with the status `401`
  - removed the media type `application/json` for the response with the status `422`
- **2026-07-13** (v1) `7db6ba099285` — 2 breaking
  - removed the media type `application/json` for the response with the status `401`
  - removed the media type `application/json` for the response with the status `422`
- **2026-05-28** (v1) `6550ad7be94f` — 2 info
  - added the media type `application/json` for the response with the status `401`
  - added the media type `application/json` for the response with the status `422`
- **2026-03-03** (v1) `c9e7662755c2` — 2 breaking, 9 warning, 9 info
  - removed the media type `application/json` for the response with the status `401`
  - removed the media type `application/json` for the response with the status `422`
  - added the new `digest_first` enum value to the `items/placement_area` response property for the response status `201`
  - added the new `digest_second` enum value to the `items/placement_area` response property for the response status `201`
  - …16 more
- **2025-09-02** (v1) `04861787f4b2` — 2 info
  - added the new optional request property `items/expires_at`
  - added the optional property `items/expires_at` to the response with the `201` status

[Full history](https://skmtc.dev/forem/apis/forem-api-v1/changes/api/billboards/post.md)

---

[API](https://skmtc.dev/forem/apis/forem-api-v1.md) · [All operations](https://skmtc.dev/forem/apis/forem-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/forem/forem-api-v1/revisions/1f64f71fc2a7/schema)
