---
title: "Create a new news item."
method: POST
path: "/api/v1/admin/news"
---

# Create a new news item.

`POST /api/v1/admin/news`

**Authentication**: JWT token required
**Access**: ADMIN and SUPERADMIN only

**Request Body**:
```json
{
  "title": "New Feature Released",
  "message": "We're excited to announce...",
  "link_url": "https://docs.trends.earth/feature",
  "link_text": "Read more",
  "publish_at": "2025-01-15T10:00:00Z",
  "expires_at": "2025-02-15T10:00:00Z",
  "target_platforms": "app,webapp",
  "target_roles": "USER,ADMIN",
  "min_version": "2.0.0",
  "max_version": null,
  "is_active": true,
  "priority": 10,
  "news_type": "info"
}
```

**Required Fields**: title, message
**Optional Fields**: All others (see schema above)
**target_roles**: Comma-separated list of roles (USER, ADMIN, SUPERADMIN).
                  Empty or null means visible to all users.

**Response**: Created news item object

**Error Responses**:
- `400 Bad Request`: Missing required fields
- `401 Unauthorized`: JWT token required
- `403 Forbidden`: Not authorized (ADMIN+ required)

## Request body

- object

## Response `200`

Success

- object

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error

---

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