Cresilon Comments API
Site comments — anonymously readable, empty at capture.
Site comments — anonymously readable, empty at capture.
openapi: 3.2.0
info:
title: Cresilon News & Press Releases Comments API
version: wp/v2
summary: Public read surface of the Cresilon corporate news and press-release content API.
description: Cresilon publishes its corporate website (cresilon.com) on WordPress (WordPress.com Atomic hosting, nginx) with the core WordPress REST API enabled and anonymously readable. This specification was DERIVED by discovering the live route index at https://cresilon.com/wp-json/ and probing each route for anonymous access; only routes verified to return HTTP 200 without credentials are documented here as public operations. Write operations exist on the same routes but require authentication (WordPress cookie + X-WP-Nonce, or Application Passwords) and are not documented here; anonymous requests to them return HTTP 401. This is NOT a product API offered by Cresilon to customers — Cresilon is a biotechnology and medical-device manufacturer, not a software vendor. This is the content API of their marketing site, captured for discovery purposes. This document covers the `post` type, which backs Cresilon's news and press-release stream — FDA clearance announcements, TRAUMAGEL and VETIGEL launch news, clinical study results, conference presentations and executive interviews. At time of capture the collection held 36 published posts (observed in the X-WP-Total response header), spanning 2018 to July 2026.
contact:
name: Cresilon
url: https://cresilon.com/contact-us/
email: info@cresilon.com
license:
name: Site content — all rights reserved, see Terms of Use
url: https://cresilon.com/terms-of-use/
x-apis-io-provenance:
method: derived
source: https://cresilon.com/wp-json/
derived_on: '2026-08-04'
note: Routes enumerated from the live wp-json discovery document (1,021 routes across 45 namespaces); every operation below was probed anonymously and returned HTTP 200. Schemas reflect the field set observed in live responses on 2026-08-04, including the `acf` (Advanced Custom Fields), Jetpack and `yoast_head_json` extensions this site adds. No fabricated operations or parameters.
servers:
- url: https://cresilon.com/wp-json
description: Production
tags:
- name: Comments
description: Site comments — anonymously readable, empty at capture.
paths:
/wp/v2/comments:
get:
tags:
- Comments
operationId: listComments
summary: List comments
description: 'Returns approved comments across the site. Verified live 2026-08-04: the route is anonymously readable and the collection is empty (X-WP-Total: 0).'
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/perPage'
- $ref: '#/components/parameters/context'
- name: post
in: query
description: Limit results to comments assigned to specific post IDs.
schema:
type: array
items:
type: integer
responses:
'200':
description: A page of comments (empty at time of capture).
headers:
X-WP-Total:
$ref: '#/components/headers/XWPTotal'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Comment'
'400':
$ref: '#/components/responses/InvalidParam'
components:
parameters:
perPage:
name: per_page
in: query
description: 'Maximum number of items to be returned in the result set. Verified live: values outside 1-100 return HTTP 400 `rest_invalid_param`.'
schema:
type: integer
minimum: 1
maximum: 100
default: 10
page:
name: page
in: query
description: Current page of the collection. Defaults to 1.
schema:
type: integer
minimum: 1
default: 1
context:
name: context
in: query
description: Scope under which the request is made; determines fields present in the response. Only `view` and `embed` are available anonymously — `edit` returns HTTP 401.
schema:
type: string
enum:
- view
- embed
default: view
schemas:
RenderedText:
type: object
description: WordPress rendered-text object.
properties:
rendered:
type: string
description: HTML-rendered value.
required:
- rendered
Comment:
type: object
description: 'A WordPress comment. Verified live: the collection is anonymously readable and returned X-WP-Total: 0 on 2026-08-04 — Cresilon publishes no comments.'
properties:
id:
type: integer
post:
type: integer
parent:
type: integer
author:
type: integer
author_name:
type: string
date:
type: string
format: date-time
content:
$ref: '#/components/schemas/RenderedText'
link:
type: string
format: uri
status:
type: string
type:
type: string
_links:
type: object
additionalProperties: true
Error:
type: object
description: The WordPress REST error envelope, verified live against cresilon.com. Note this is NOT RFC 9457 application/problem+json — it is served as application/json with a WordPress-specific shape.
properties:
code:
type: string
description: Machine-readable WordPress error code, e.g. `rest_post_invalid_id`.
message:
type: string
description: Human-readable message.
data:
type: object
properties:
status:
type: integer
description: HTTP status code, repeated in the body.
params:
type: object
additionalProperties:
type: string
details:
type: object
additionalProperties: true
required:
- status
required:
- code
- message
- data
headers:
XWPTotal:
description: Total number of items in the collection.
schema:
type: integer
example: 36
responses:
InvalidParam:
description: One or more query parameters failed validation.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: rest_invalid_param
message: 'Invalid parameter(s): per_page'
data:
status: 400
params:
per_page: per_page must be between 1 (inclusive) and 100 (inclusive)