openapi: 3.2.0
info:
title: Accelsius Resources Content API
version: wp/v2
summary: Public read surface of the Accelsius resource library — blog posts, white papers, case studies, infographics, podcasts, videos and press releases.
description: 'The `post` type behind https://accelsius.com/resources/. Accelsius files every resource into one of eight categories — blog, white-paper, press-release, news-article, video, podcast, infographic and case-study — and tags them across five topic tags (2pd2c-education, neucool-products, accelsius-news, scientific-research, featured). At time of capture the collection held 154 published items (observed in the X-WP-Total response header).
Accelsius publishes accelsius.com on WordPress (WP Engine origin, Cloudflare edge, MalCare firewall) with the WordPress core REST API enabled and anonymously readable. This is NOT a product API that Accelsius offers to customers — Accelsius manufactures two-phase direct-to-chip liquid-cooling hardware and ships no developer program, SDK or product API. It is the content API behind the company marketing site, captured for discovery purposes. Anonymous access is read-only: the `Allow` response header on every collection is `GET`, and write operations require WordPress cookie authentication with an X-WP-Nonce header or an Application Password, returning HTTP 401 to anonymous callers.'
contact:
name: Accelsius
url: https://accelsius.com/contact/
email: info@accelsius.com
license:
name: Site content - all rights reserved
url: https://accelsius.com/privacy-policy/
x-apis-io-provenance:
method: derived
source: https://accelsius.com/wp-json/
derived_on: '2026-08-06'
note: Parameters are transcribed verbatim from the `args` the site publishes for each route in its live WordPress route-discovery document at https://accelsius.com/wp-json/ (387 routes across 16 namespaces). Response schemas are derived from the field names and JSON types observed in live anonymous GET responses on 2026-08-06. Every collection operation documented here was probed anonymously and returned HTTP 200; routes that returned 401 without credentials (settings, menus, menu-items, templates, template-parts, themes, plugins, widgets, block-types, users/me) are deliberately omitted. No operation, parameter or field was invented, and no live response value is reproduced here as an example.
x-provider-published: false
servers:
- url: https://accelsius.com/wp-json
description: Production
tags:
- name: Content
description: 'Accelsius resource-library articles: blog posts, white papers, case studies, infographics, podcasts, videos and press releases.'
paths:
/wp/v2/posts:
get:
tags:
- Content
operationId: listContent
summary: List resource-library items
description: Returns a paginated collection of published resource-library items. Filter by `categories` to isolate a content class (26 blog, 27 white-paper, 1 press-release, 31 news-article, 37 video, 38 podcast, 28 infographic, 29 case-study) or by `tags` to isolate a topic. Total item and page counts are returned in the X-WP-Total and X-WP-TotalPages response headers, and RFC 8288 Link headers carry next/prev relations.
security: []
responses:
'200':
description: A page of results.
headers:
X-WP-Total:
$ref: '#/components/headers/XWPTotal'
X-WP-TotalPages:
$ref: '#/components/headers/XWPTotalPages'
Link:
$ref: '#/components/headers/LinkPagination'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Post'
'400':
description: Invalid parameter (rest_invalid_param), e.g. per_page outside 1-100.
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
parameters:
- name: context
in: query
description: Scope under which the request is made; determines fields present in response.
schema:
type: string
enum:
- view
- embed
- edit
default: view
- name: page
in: query
description: Current page of the collection.
schema:
type: integer
minimum: 1
default: 1
- name: per_page
in: query
description: Maximum number of items to be returned in result set.
schema:
type: integer
minimum: 1
maximum: 100
default: 10
- name: search
in: query
description: Limit results to those matching a string.
schema:
type: string
- name: after
in: query
description: Limit response to posts published after a given ISO8601 compliant date.
schema:
type: string
format: date-time
- name: modified_after
in: query
description: Limit response to posts modified after a given ISO8601 compliant date.
schema:
type: string
format: date-time
- name: author
in: query
description: Limit result set to posts assigned to specific authors.
schema:
type: array
items:
type: integer
- name: author_exclude
in: query
description: Ensure result set excludes posts assigned to specific authors.
schema:
type: array
items:
type: integer
- name: before
in: query
description: Limit response to posts published before a given ISO8601 compliant date.
schema:
type: string
format: date-time
- name: modified_before
in: query
description: Limit response to posts modified before a given ISO8601 compliant date.
schema:
type: string
format: date-time
- name: exclude
in: query
description: Ensure result set excludes specific IDs.
schema:
type: array
items:
type: integer
- name: include
in: query
description: Limit result set to specific IDs.
schema:
type: array
items:
type: integer
- name: search_semantics
in: query
description: How to interpret the search input.
schema:
type: string
enum:
- exact
- name: offset
in: query
description: Offset the result set by a specific number of items.
schema:
type: integer
- name: order
in: query
description: Order sort attribute ascending or descending.
schema:
type: string
enum:
- asc
- desc
default: desc
- name: orderby
in: query
description: Sort collection by post attribute.
schema:
type: string
enum:
- author
- date
- id
- include
- modified
- parent
- relevance
- slug
- include_slugs
- title
default: date
- name: search_columns
in: query
description: Array of column names to be searched.
schema:
type: array
items:
type: string
enum:
- post_title
- post_content
- post_excerpt
- name: slug
in: query
description: Limit result set to posts with one or more specific slugs.
schema:
type: array
items:
type: string
- name: status
in: query
description: Limit result set to posts assigned one or more statuses.
schema:
type: array
default: publish
items:
type: string
enum:
- publish
- future
- draft
- pending
- private
- trash
- auto-draft
- inherit
- request-pending
- request-confirmed
- request-failed
- request-completed
- acf-disabled
- dp-rewrite-republish
- any
- name: tax_relation
in: query
description: Limit result set based on relationship between multiple taxonomies.
schema:
type: string
enum:
- AND
- OR
- name: categories
in: query
description: Limit result set to items with specific terms assigned in the categories taxonomy.
schema:
type: object
- name: categories_exclude
in: query
description: Limit result set to items except those with specific terms assigned in the categories taxonomy.
schema:
type: object
- name: tags
in: query
description: Limit result set to items with specific terms assigned in the tags taxonomy.
schema:
type: object
- name: tags_exclude
in: query
description: Limit result set to items except those with specific terms assigned in the tags taxonomy.
schema:
type: object
- name: sticky
in: query
description: Limit result set to items that are sticky.
schema:
type: boolean
- name: ignore_sticky
in: query
description: Whether to ignore sticky posts or not.
schema:
type: boolean
default: true
- name: format
in: query
description: Limit result set to items assigned one or more given formats.
schema:
type: array
items:
type: string
enum:
- standard
- aside
- chat
- gallery
- link
- image
- quote
- status
- video
- audio
x-observed-total: '154'
/wp/v2/posts/{id}:
get:
tags:
- Content
operationId: getContentItem
summary: Get one resource-library item
description: Returns a single published resource-library item by its numeric ID, including the rendered HTML body, the Advanced Custom Fields payload the site attaches to the type, and the Yoast SEO head metadata.
security: []
parameters:
- name: id
in: path
description: Unique identifier for the post.
required: true
schema:
type: integer
- name: context
in: query
description: Scope under which the request is made; determines fields present in response.
schema:
type: string
enum:
- view
- embed
- edit
default: view
- name: excerpt_length
in: query
description: Override the default excerpt length.
schema:
type: integer
- name: password
in: query
description: The password for the post if it is password protected.
schema:
type: string
responses:
'200':
description: The requested object.
content:
application/json:
schema:
$ref: '#/components/schemas/Post'
'400':
description: Invalid parameter (rest_invalid_param).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
'404':
description: No object exists with that identifier (rest_post_invalid_id / rest_term_invalid).
content:
application/json:
schema:
$ref: '#/components/schemas/WPError'
components:
headers:
LinkPagination:
description: RFC 8288 Link header carrying rel="next" and rel="prev" for the collection.
schema:
type: string
XWPTotalPages:
description: Total number of pages at the requested per_page size.
schema:
type: integer
XWPTotal:
description: Total number of items in the unpaginated collection.
schema:
type: integer
schemas:
WPError:
type: object
title: WPError
description: The WordPress REST error envelope. It is NOT RFC 9457 problem+json — the media type is application/json and the shape is a flat object carrying a machine-readable `code` slug, a human `message`, and a `data` object repeating the HTTP status.
properties:
code:
type: string
description: Machine-readable error slug, e.g. rest_post_invalid_id.
message:
type: string
description: Human-readable error message.
data:
type: object
properties:
status:
type: integer
description: HTTP status repeated in the body.
required:
- code
- message
Post:
type: object
title: Post
description: A published item in the Accelsius resource library.
properties:
id:
type: integer
description: Unique numeric identifier for the object.
date:
type: string
format: date-time
description: Publication date in the site timezone (America/Chicago, GMT-5).
date_gmt:
type: string
format: date-time
description: Publication date as GMT.
guid:
type: object
properties:
rendered:
type: string
format: uri
description: The globally unique identifier WordPress assigns the object.
modified:
type: string
format: date-time
description: Date the object was last modified, in the site timezone.
modified_gmt:
type: string
format: date-time
description: Date the object was last modified, as GMT.
slug:
type: string
description: Alphanumeric identifier for the object, unique within its type.
status:
type: string
description: Named publication status. Anonymous reads only ever return "publish".
type:
type: string
description: Post type of the object.
link:
type: string
format: uri
description: Canonical URL of the object on accelsius.com.
title:
type: object
properties:
rendered:
type: string
description: Title of the object, rendered to HTML.
content:
type: object
properties:
rendered:
type: string
protected:
type: boolean
description: Body of the object, rendered to HTML.
excerpt:
type: object
properties:
rendered:
type: string
protected:
type: boolean
description: Excerpt for the object, rendered to HTML.
author:
type: integer
description: ID of the author of the object. Resolve against /wp/v2/users/{id}.
featured_media:
type: integer
description: ID of the featured attachment. Resolve against /wp/v2/media/{id}.
comment_status:
type: string
description: Whether comments are open on the object.
ping_status:
type: string
description: Whether the object accepts pingbacks.
sticky:
type: boolean
description: Whether the post is pinned to the top of its collection.
template:
type: string
description: Theme file used to display the object.
format:
type: string
description: Post format for the object.
meta:
type: object
properties:
_acf_changed:
type: boolean
content-type:
type: string
footnotes:
type: string
description: Registered meta fields exposed for the object.
categories:
type: array
items:
type: integer
description: IDs of the terms assigned to the object in the category taxonomy.
tags:
type: array
items:
type: integer
description: IDs of the terms assigned to the object in the post_tag taxonomy.
class_list:
type: array
items:
type: string
description: CSS class names WordPress generates for the object.
acf:
type: array
items: {}
description: Advanced Custom Fields values registered on this post type by the site.
yoast_head:
type: string
description: Yoast SEO head markup for the object, as an HTML string.
yoast_head_json:
type: object
properties:
title:
type: string
description:
type: string
robots:
type: object
properties:
index:
type: string
follow:
type: string
max-snippet:
type: string
max-image-preview:
type: string
max-video-preview:
type: string
canonical:
type: string
format: uri
og_locale:
type: string
og_type:
type: string
og_title:
type: string
og_description:
type: string
og_url:
type: string
format: uri
og_site_name:
type: string
article_published_time:
type: string
format: date-time
author:
type: string
twitter_card:
type: string
twitter_misc:
type: object
properties:
Written by:
type: string
Est. reading time:
type: string
schema:
type: object
properties:
'@context':
type: string
format: uri
'@graph':
type: array
items:
type: object
properties:
'@type': {}
'@id': {}
isPartOf: {}
author: {}
headline: {}
datePublished: {}
mainEntityOfPage: {}
wordCount: {}
keywords: {}
articleSection: {}
inLanguage: {}
description: Yoast SEO head metadata for the object, as structured JSON.
_links:
type: object
properties:
self:
type: array
items:
type: object
properties:
href:
type: string
format: uri
targetHints:
type: object
properties:
allow: {}
collection:
type: array
items:
type: object
properties:
href:
type: string
format: uri
about:
type: array
items:
type: object
properties:
href:
type: string
format: uri
author:
type: array
items:
type: object
properties:
embeddable:
type: boolean
href:
type: string
format: uri
replies:
type: array
items:
type: object
properties:
embeddable:
type: boolean
href:
type: string
format: uri
version-history:
type: array
items:
type: object
properties:
count:
type: integer
href:
type: string
format: uri
predecessor-version:
type: array
items:
type: object
properties:
id:
type: integer
href:
type: string
format: uri
wp:attachment:
type: array
items:
type: object
properties:
href:
type: string
format: uri
wp:term:
type: array
items:
type: object
properties:
taxonomy:
type: string
embeddable:
type: boolean
href:
type: string
format: uri
curies:
type: array
items:
type: object
properties:
name:
type: string
href:
type: string
format: uri
templated:
type: boolean
description: HAL-style link relations (self, collection, author, wp:term, wp:featuredmedia).
required:
- id
- link
- slug
securitySchemes:
applicationPassword:
type: http
scheme: basic
description: WordPress Application Passwords over HTTP Basic. Advertised by the site at https://accelsius.com/wp-json/ under `authentication.application-passwords`. Every operation documented in this file is anonymous and takes no credential; this scheme is declared because it is the only credential the host accepts, and it governs the write and edit-context operations that are deliberately NOT documented here.