Sitefinity CMS Blog Posts API
CRUD operations for blog post content items
CRUD operations for blog post content items
openapi: 3.1.0
info:
title: Sitefinity CMS Content Blog Posts 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: Blog Posts
description: CRUD operations for blog post content items
paths:
/blogposts:
get:
operationId: listBlogPosts
summary: List Blog Posts
description: Retrieves a paginated list of blog post content items. Supports OData query options for filtering by blog, author, date range, and status.
tags:
- Blog Posts
parameters:
- $ref: '#/components/parameters/top'
- $ref: '#/components/parameters/skip'
- $ref: '#/components/parameters/filter'
- $ref: '#/components/parameters/orderby'
responses:
'200':
description: A list of blog posts
content:
application/json:
schema:
$ref: '#/components/schemas/ContentItemListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createBlogPost
summary: Create Blog Post
description: Creates a new blog post content item in draft state.
tags:
- Blog Posts
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateContentItemRequest'
responses:
'201':
description: Blog post created
content:
application/json:
schema:
$ref: '#/components/schemas/ContentItem'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
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:
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
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
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