Cresilon oEmbed API

Public oEmbed 1.0 provider endpoint for cresilon.com URLs, returning embeddable rich metadata for Cresilon news posts and site pages in JSON or XML.

OpenAPI Specification

cresilon-oembed-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cresilon O Embed API
  version: wp/v2
  summary: oEmbed 1.0 provider endpoint for cresilon.com URLs.
  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 oEmbed discovery route WordPress registers, which returns embeddable rich metadata (title, author, thumbnail, iframe HTML) for any cresilon.com news post or page. Note the sibling `/oembed/1.0/proxy` route exists but is NOT anonymously readable — it returns HTTP 401 — and is therefore not documented here.
  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: oEmbed
  description: oEmbed 1.0 rich metadata for Cresilon URLs.
paths:
  /oembed/1.0/embed:
    get:
      tags:
      - oEmbed
      operationId: getOEmbed
      summary: Get oEmbed data for a Cresilon URL
      description: oEmbed 1.0 provider endpoint for cresilon.com URLs. Returns embeddable rich metadata for news posts and site pages. Verified live 2026-08-04 in both JSON and XML.
      parameters:
      - name: url
        in: query
        required: true
        description: The cresilon.com URL to retrieve embed information for.
        schema:
          type: string
          format: uri
      - name: format
        in: query
        description: Response format.
        schema:
          type: string
          enum:
          - json
          - xml
          default: json
      - name: maxwidth
        in: query
        description: Maximum width of the embed frame in pixels.
        schema:
          type: integer
          default: 600
      - name: maxheight
        in: query
        description: Maximum height of the embed frame in pixels.
        schema:
          type: integer
      responses:
        '200':
          description: oEmbed data for the requested URL.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OEmbedResponse'
              examples:
                home:
                  summary: oEmbed for the Cresilon home page
                  externalValue: https://cresilon.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fcresilon.com%2F
            text/xml:
              schema:
                type: string
                description: oEmbed XML serialization.
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    NotFound:
      description: The requested object does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: rest_post_invalid_id
            message: Invalid post ID.
            data:
              status: 404
  schemas:
    OEmbedResponse:
      type: object
      description: An oEmbed 1.0 `rich` response for a cresilon.com URL. Field set observed live on 2026-08-04.
      properties:
        version:
          type: string
          const: '1.0'
        provider_name:
          type: string
          example: Cresilon
        provider_url:
          type: string
          format: uri
          example: https://cresilon.com
        author_name:
          type: string
        author_url:
          type: string
          format: uri
        title:
          type: string
        type:
          type: string
          example: rich
        width:
          type: integer
        height:
          type:
          - integer
          - 'null'
        html:
          type: string
          description: Embeddable iframe markup for the WordPress post embed.
        thumbnail_url:
          type: string
          format: uri
        thumbnail_width:
          type: integer
        thumbnail_height:
          type: integer
      required:
      - version
      - provider_name
      - provider_url
      - type
    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