Sitefinity CMS News Items API

CRUD operations for news content items

OpenAPI Specification

sitefinity-cms-news-items-api-openapi.yml Raw ↑
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