Accelsius Registry API

Post types, taxonomies and publication statuses registered on the site.

OpenAPI Specification

accelsius-registry-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Accelsius Taxonomy Registry API
  version: wp/v2
  summary: Public read surface of the taxonomies, terms, post types and statuses registered on accelsius.com.
  description: 'The classification layer behind the content API: the eight `category` terms Accelsius uses to separate content classes (blog, white-paper, press-release, news-article, video, podcast, infographic, case-study), the five `post_tag` topic terms (2pd2c-education, neucool-products, accelsius-news, scientific-research, featured), the 19 HappyFiles media folders, and the registry endpoints that describe the post types, taxonomies and publication statuses themselves.


    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: Registry
  description: Post types, taxonomies and publication statuses registered on the site.
paths:
  /wp/v2/types:
    get:
      tags:
      - Registry
      operationId: listPostTypes
      summary: List post types
      description: Returns every post type registered on the site keyed by type slug, including the `news` custom type Accelsius added. Each entry names its `rest_base`, `rest_namespace`, `hierarchical` flag and attached `taxonomies`.
      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/PostType'
        '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
  /wp/v2/types/{type}:
    get:
      tags:
      - Registry
      operationId: getPostType
      summary: Get one post type
      description: Returns the registration record for one post type, e.g. `post`, `page` or `news`.
      security: []
      parameters:
      - name: type
        in: path
        description: An alphanumeric identifier for the post type.
        required: true
        schema:
          type: string
      - 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
      responses:
        '200':
          description: The requested object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostType'
        '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'
  /wp/v2/taxonomies:
    get:
      tags:
      - Registry
      operationId: listTaxonomies
      summary: List taxonomies
      description: Returns every taxonomy registered on the site keyed by taxonomy slug — category, post_tag, happyfiles_category, recent-news and the WordPress internals.
      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/PostType'
        '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: type
        in: query
        description: Limit results to taxonomies associated with a specific post type.
        schema:
          type: string
  /wp/v2/taxonomies/{taxonomy}:
    get:
      tags:
      - Registry
      operationId: getTaxonomy
      summary: Get one taxonomy
      description: Returns the registration record for one taxonomy.
      security: []
      parameters:
      - name: taxonomy
        in: path
        description: An alphanumeric identifier for the taxonomy.
        required: true
        schema:
          type: string
      - 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
      responses:
        '200':
          description: The requested object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostType'
        '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'
  /wp/v2/statuses:
    get:
      tags:
      - Registry
      operationId: listStatuses
      summary: List publication statuses
      description: 'Returns the publication statuses visible to the caller. Anonymously this is only `publish`, which is why every object returned by the content operations carries `status: publish`.'
      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/PostType'
        '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
  /wp/v2/statuses/{status}:
    get:
      tags:
      - Registry
      operationId: getStatus
      summary: Get one publication status
      description: Returns the registration record for one publication status.
      security: []
      parameters:
      - name: status
        in: path
        description: An alphanumeric identifier for the status.
        required: true
        schema:
          type: string
      - 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
      responses:
        '200':
          description: The requested object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostType'
        '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
    PostType:
      type: object
      title: PostType
      description: A post type registered on accelsius.com.
      properties:
        description:
          type: string
          description: Description of the object, rendered to HTML.
        hierarchical:
          type: boolean
          description: Whether the type or taxonomy supports parent/child relations.
        has_archive:
          type: boolean
        name:
          type: string
          description: Human-readable name of the object.
        slug:
          type: string
          description: Alphanumeric identifier for the object, unique within its type.
        icon:
          type: string
        taxonomies:
          type: array
          items:
            type: string
          description: Taxonomies registered against the post type.
        rest_base:
          type: string
          description: The REST route segment the type is served under.
        rest_namespace:
          type: string
          description: The REST namespace the type is served under.
        template:
          type: array
          items: {}
          description: Theme file used to display the object.
        template_lock:
          type: boolean
        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
            twitter_card:
              type: string
            schema:
              type: object
              properties:
                '@context':
                  type: string
                  format: uri
                '@graph':
                  type: array
                  items:
                    type: object
                    properties:
                      '@type': {}
                      '@id': {}
                      url: {}
                      name: {}
                      isPartOf: {}
                      datePublished: {}
                      dateModified: {}
                      description: {}
                      breadcrumb: {}
                      inLanguage: {}
          description: Yoast SEO head metadata for the object, as structured JSON.
        _links:
          type: object
          properties:
            collection:
              type: array
              items:
                type: object
                properties:
                  href:
                    type: string
                    format: uri
            wp:items:
              type: array
              items:
                type: object
                properties:
                  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:
      - 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.