---
title: "Single News"
method: POST
path: "/clubs/{club_id}/news"
tags: ["News"]
---

# Single News

`POST /clubs/{club_id}/news`

## Request

- Base URL: `https://api.clubplatform.de/api`
- URL: `https://api.clubplatform.de/api/clubs/{club_id}/news`
- Auth: API key in query parameter `auth_token`

News are being processed asynchronously. When the request contains valid data the server responds with a status code `202`. However, the news is not being exposed by the API until all images have been processed. So there might be some delay (depending on the size and total amount of the images) between the delivery and the publication via the api.

The first time a news entry is delivered with a new category, that category is put on a blacklist and has to be whitelisted in order to make it available through the API. To whitelist a category you must edit your app inside your organization.

The news body can contain any HTML elements. It is possible to include image elements and links to external sources like youtube. However you should make use of sending the images together with the components because it has some advantages:

* The images are hosted by us, so if the original image source changes, the images used in the news entry are still available.
* The images will be processed and available in different scaled sizes which are optimized for different use cases e.g. mobile devices.

## Path parameters

- `club_id` integer, required

## Request body

- object
  - `news` object: A news is divided into a teaser element and several components. Each component represents one element of the news body that can have its own headline, sub headline and images. A component does not necessarily have a text or images. An example for a news component would be some image-gallery-like element of the news that only contains a headline and some images. To display the whole news, all components have to be displayed.
    - `id` integer: ID of the news.
    - `locale` string: Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!
    - `keywords` string[]: Array of keywords that describe the news.
    - `author` string: Author of the news.
    - `url` string, required: URL of the original news.
    - `highlight` boolean: Special type of news.
    - `prio` boolean
    - `category` string, required: Category of the news.
    - `category_id` integer: Category ID of the news.
    - `additional_categories` object[]: List of categories (maximum 10)
      - `category` string: Category Name.
      - `category_id` integer: Category ID.
    - `state` 'in_progress' | 'processed': * in_progress - Currently processing by the server. * processed - Processing is finished.
    - `created_at` string, date-time, required: The UTC date/time at which the current object was created.
    - `published_at` string, date-time: The UTC date/time at which the news item was published.
    - `teaser` object, required: Contains the headline and a short summary.
      - `title` string, required: Main title of the news.
      - `text` string, required: Text of the news component.
      - `text_original` string: Original/untouched text of the news component
      - `images` object[], required: List of images.
        - `url` string, required: URL of the image.
        - `width` integer: Width of the image.
        - `height` integer: Height of the image.
        - `orientation` string: Orientation of the image. "landscape", "square" or "portrait"
        - `size` object: Different sizes of the teaser image.
          - `small` string: URL to the small sized image.
          - `medium` string: URL to the medium sized image.
          - `large` string: URL to the large sized image.
        - `description` string, required: Descriptive text for the image.
        - `copyright` string: Copyright holder of the image.
    - `components` object[], required: List of components to display the news.
      - `title` string, required: Headline of the component.
      - `subhead` string: Sub headline for the component.
      - `text` string, required: Text of the news component.
      - `text_original` string: Original/untouched text of the news component
      - `images` object[], required: List of images.
        - `url` string, required: URL of the image.
        - `width` integer: Width of the image.
        - `height` integer: Height of the image.
        - `orientation` string: Orientation of the image. "landscape", "square" or "portrait"
        - `size` object: Different sizes of the teaser image.
          - `small` string: URL to the small sized image.
          - `medium` string: URL to the medium sized image.
          - `large` string: URL to the large sized image.
        - `description` string, required: Descriptive text for the image.
        - `copyright` string: Copyright holder of the image.
    - `ranking` integer: The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null
    - `send_as_notification` boolean: Push news to Webhooks.
    - `external_id` integer, required: Unique ID for news. This value will become the `id` of the news.

## Response `202`

Created

- object: A news is divided into a teaser element and several components. Each component represents one element of the news body that can have its own headline, sub headline and images. A component does not necessarily have a text or images. An example for a news component would be some image-gallery-like element of the news that only contains a headline and some images. To display the whole news, all components have to be displayed.
  - `id` integer: ID of the news.
  - `locale` string: Locale of the object. 'de-DE', 'en-GB' or 'nl-NL'. This locale must be whitelisted for your club!
  - `keywords` string[]: Array of keywords that describe the news.
  - `author` string: Author of the news.
  - `url` string, required: URL of the original news.
  - `highlight` boolean: Special type of news.
  - `prio` boolean
  - `category` string, required: Category of the news.
  - `category_id` integer: Category ID of the news.
  - `additional_categories` object[]: List of categories (maximum 10)
    - `category` string: Category Name.
    - `category_id` integer: Category ID.
  - `state` 'in_progress' | 'processed': * in_progress - Currently processing by the server. * processed - Processing is finished.
  - `created_at` string, date-time, required: The UTC date/time at which the current object was created.
  - `published_at` string, date-time: The UTC date/time at which the news item was published.
  - `teaser` object, required: Contains the headline and a short summary.
    - `title` string, required: Main title of the news.
    - `text` string, required: Teaser text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \n).
    - `text_original` string: Original/untouched text of the news component
    - `images` object[], required: List of images.
      - `url` string, required: URL of the image.
      - `width` integer: Width of the image.
      - `height` integer: Height of the image.
      - `orientation` string: Orientation of the image. "landscape", "square" or "portrait"
      - `size` object: Different sizes of the teaser image.
        - `small` string: URL to the small sized image.
        - `medium` string: URL to the medium sized image.
        - `large` string: URL to the large sized image.
      - `description` string, required: Descriptive text for the image.
      - `copyright` string: Copyright holder of the image.
  - `components` object[], required: List of components to display the news.
    - `title` string, required: Headline of the component.
    - `subhead` string: Sub headline for the component.
    - `text` string, required: Text with HTML entities and duplicate newlines removed as well as HTML tags, where appropriate, replaced with plain text alternatives (such as br -> \n).
    - `text_original` string: Original/untouched text of the news component
    - `images` object[], required: List of images.
      - `url` string, required: URL of the image.
      - `width` integer: Width of the image.
      - `height` integer: Height of the image.
      - `orientation` string: Orientation of the image. "landscape", "square" or "portrait"
      - `size` object: Different sizes of the teaser image.
        - `small` string: URL to the small sized image.
        - `medium` string: URL to the medium sized image.
        - `large` string: URL to the large sized image.
      - `description` string, required: Descriptive text for the image.
      - `copyright` string: Copyright holder of the image.
  - `ranking` integer: The value of ranking can be between 1 to 100 or null. If ranking_feature of this club is disabled it will always be null
  - `send_as_notification` boolean

## Other responses

- `400`: Parameter missing

---

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