Sitefinity CMS News Items API
CRUD operations for news content items
CRUD operations for news content items
openapi: 3.1.0
info:
title: Sitefinity CMS Content Blog Posts News Items API
description: The Sitefinity CMS Content API provides RESTful access to all content types defined in a Sitefinity instance. It exposes endpoints for creating, reading, updating, deleting, publishing, and unpublishing content items across all dynamic content types (news items, blog posts, events, etc.) and custom types defined through the CMS content model. The API follows OData conventions for filtering, sorting, and pagination. Authentication is handled via forms-based authentication or token-based auth depending on the Sitefinity configuration.
version: v1
contact:
name: Progress Sitefinity Support
url: https://www.progress.com/support
termsOfService: https://www.progress.com/legal/privacy-policy
servers:
- url: https://{site}.sitefinity.com/api/default
description: Sitefinity Instance Server
variables:
site:
description: The Sitefinity instance hostname
default: your-site
security:
- cookieAuth: []
tags:
- name: News Items
description: CRUD operations for news content items
paths:
/newsitems:
get:
operationId: listNewsItems
summary: List News Items
description: Retrieves a paginated list of news items from Sitefinity CMS. Supports OData query options for filtering, sorting, and selecting specific fields. Returns news items that are visible to the authenticated user.
tags:
- News Items
parameters:
- $ref: '#/components/parameters/top'
- $ref: '#/components/parameters/skip'
- $ref: '#/components/parameters/filter'
- $ref: '#/components/parameters/orderby'
- $ref: '#/components/parameters/select'
responses:
'200':
description: A list of news items
content:
application/json:
schema:
$ref: '#/components/schemas/ContentItemListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createNewsItem
summary: Create News Item
description: Creates a new news item in Sitefinity CMS. The request body must contain the required fields for the news content type including title and content. The item is created in draft state by default.
tags:
- News Items
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateContentItemRequest'
responses:
'201':
description: News item created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ContentItem'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/newsitems({id}):
get:
operationId: getNewsItem
summary: Get News Item
description: Retrieves a specific news item by its unique identifier. Returns full item data including all fields, metadata, and related content references.
tags:
- News Items
parameters:
- $ref: '#/components/parameters/contentId'
responses:
'200':
description: News item details
content:
application/json:
schema:
$ref: '#/components/schemas/ContentItem'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateNewsItem
summary: Update News Item
description: Updates an existing news item. All fields in the request body replace the current values. Use PATCH for partial updates.
tags:
- News Items
parameters:
- $ref: '#/components/parameters/contentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateContentItemRequest'
responses:
'200':
description: News item updated
content:
application/json:
schema:
$ref: '#/components/schemas/ContentItem'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteNewsItem
summary: Delete News Item
description: Permanently deletes a news item from Sitefinity CMS. Published items must be unpublished before deletion in some configurations.
tags:
- News Items
parameters:
- $ref: '#/components/parameters/contentId'
responses:
'204':
description: News item deleted
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/newsitems({id})/operation:
post:
operationId: publishNewsItem
summary: Publish or Unpublish News Item
description: Performs a lifecycle operation on a news item, such as publishing or unpublishing. The operation type is specified in the request body.
tags:
- News Items
parameters:
- $ref: '#/components/parameters/contentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ContentOperationRequest'
responses:
'200':
description: Operation performed successfully
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
ContentOperationRequest:
type: object
description: Request body for content lifecycle operations
required:
- operation
properties:
operation:
type: string
enum:
- Publish
- Unpublish
description: The lifecycle operation to perform
CreateContentItemRequest:
type: object
description: Request body for creating or updating a content item
required:
- Title
properties:
Title:
type: string
description: Title of the content item
Content:
type: string
description: Main content body in HTML
Summary:
type: string
description: Short summary or excerpt
UrlName:
type: string
description: URL-friendly name for routing
PublicationDate:
type: string
format: date-time
description: Scheduled publication date
ContentItem:
type: object
description: A Sitefinity CMS content item
properties:
Id:
type: string
format: uuid
description: Unique identifier of the content item
Title:
type: string
description: Title of the content item
Content:
type: string
description: Main content body (HTML)
Summary:
type: string
description: Short summary or lead paragraph
Status:
type: string
description: Publication status of the item
enum:
- Draft
- Published
- Unpublished
PublicationDate:
type: string
format: date-time
description: When the item was or should be published
LastModified:
type: string
format: date-time
description: When the item was last modified
Author:
type: string
description: Author of the content item
UrlName:
type: string
description: URL-friendly name used in page routing
Tags:
type: array
items:
type: string
description: Tags associated with the content item
Category:
type: array
items:
type: string
description: Categories assigned to the content item
ErrorResponse:
type: object
description: Error response
properties:
error:
type: object
properties:
code:
type: string
description: Error code
message:
type: string
description: Human-readable error message
ContentItemListResponse:
type: object
description: A paginated list of content items
properties:
value:
type: array
items:
$ref: '#/components/schemas/ContentItem'
description: Array of content items
'@odata.count':
type: integer
description: Total count of items matching the query
responses:
NotFound:
description: The requested content item was not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Authentication is required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: The request body or parameters are invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
parameters:
skip:
name: $skip
in: query
description: Number of items to skip for pagination (OData $skip)
required: false
schema:
type: integer
minimum: 0
default: 0
filter:
name: $filter
in: query
description: OData filter expression (e.g., Status eq 'Published')
required: false
schema:
type: string
orderby:
name: $orderby
in: query
description: OData orderby clause (e.g., PublicationDate desc)
required: false
schema:
type: string
select:
name: $select
in: query
description: Comma-separated list of fields to return
required: false
schema:
type: string
top:
name: $top
in: query
description: Maximum number of items to return (OData $top)
required: false
schema:
type: integer
minimum: 1
maximum: 1000
default: 50
contentId:
name: id
in: path
description: The unique GUID identifier of the content item
required: true
schema:
type: string
format: uuid
securitySchemes:
cookieAuth:
type: apiKey
in: cookie
name: .ASPXAUTH
description: Sitefinity CMS uses ASP.NET forms authentication. Authenticate via the /Sitefinity/Authenticate/SWT endpoint to obtain a token, or use the /api/default/Authenticate endpoint for REST token-based auth.
externalDocs:
description: Sitefinity CMS REST API Documentation
url: https://www.progress.com/documentation/sitefinity-cms/for-developers-rest-api