---
title: "Create a new engagement news article"
url: https://docs.gleap.ai/en/reference/rest-api/create-news-article
method: POST
path: "/engagement/news"
api: "API Reference"
tag: "Engagement News"
operationId: "CreateNewsArticle"
updatedAt: "2026-11-01T18:40:15.677Z"
language: en
---

# Create a new engagement news article

`POST https://api.gleap.io/v3/engagement/news`

Create a news article for a project. `subject` is required, either as `{ localized: { en: "..." } }` or as a bare per-language map `{ en: "..." }` (canonicalized server-side; same for `message` and `markdownMessage`). `sender` defaults to the authenticated user and `trigger` defaults to `sessionStarted`/`firstoccured` when omitted. Instead of `message` you may send `markdownMessage` (localized markdown), which is converted to rich text server-side. `searchContent` is computed server-side and ignored if supplied. Creating a `CHANGELOG` news item with `status: "live"` immediately sends changelog notification emails to subscribers. News items always use a dynamic audience: `frequencyType: "fixed"` and `csvContacts` are ignored. Target people with `targetAudience` and `conditions` instead.

## Authorization

- `Authorization` (header, required): `Bearer <token>`

## Headers

- `project` (string, required)

## Request body (`application/json`, required)

## Example request

```bash
curl --request POST \
  --url https://api.gleap.io/v3/engagement/news \
  --header 'Authorization: Bearer <token>' \
  --header 'project: <project>' \
  --header 'Content-Type: application/json' \
  --data '{}'
```

## Responses

### 200 (`application/json`)

Ok
