Cresilon · Authentication Profile

Cresilon Authentication

Authentication

Cresilon secures its APIs with none, cookie, and basic across 3 declared security schemes, as derived from its OpenAPI definitions.

CompanyBiotechnologyMedical DevicesHealthHemostasisWound CareTrauma CareVeterinaryLife SciencesManufacturingContent
Methods: none, cookie, basic Schemes: 3 OAuth flows: API key in:

Security Schemes

public-read none
wordpress-cookie-nonce cookie
· in: cookie ()
application-passwords http
scheme: basic

Source

Authentication Profile

Raw ↑
generated: '2026-08-04'
method: derived
source: live anonymous probes of https://cresilon.com/wp-json/ (2026-08-04)
summary:
  types:
  - none
  - cookie
  - basic
  api_key_in: []
  oauth2_flows: []
  notes: >-
    Cresilon is a biotechnology and medical-device manufacturer. It publishes no developer
    program, no API documentation and no product API. Its only machine-readable surface is the
    platform-provided WordPress REST API at /wp-json/, and the read half of that surface is fully
    public: every operation documented in this repo's openapi/ specs was verified to return HTTP
    200 with JSON to an anonymous request carrying no credentials of any kind. There is no API
    key, no OAuth, no developer signup, and no rate-limit or quota signalling observed. Unlike
    most WordPress deployments in this catalog, the root index DOES advertise an authentication
    method — WordPress Application Passwords, with an authorization endpoint at
    https://cresilon.com/wp-admin/authorize-application.php. That is an administrative credential
    for a site user, not a public developer credential, and the pipeline did not and will not
    attempt to obtain one. Write operations (POST/PUT/PATCH/DELETE) are registered on the same
    routes but reject anonymous callers with HTTP 401; they require a logged-in WordPress session
    cookie plus an X-WP-Nonce header, or an Application Password over HTTP Basic. Those write
    operations are deliberately NOT documented in the openapi/ specs, which describe only the
    anonymously reachable read surface.
schemes:
- name: public-read
  type: none
  description: >-
    Anonymous public read access to the WordPress content API — posts, pages, media, categories,
    tags, comments, authors, search, oEmbed, the Yoast SEO head endpoint, and the
    type/taxonomy/status registries.
  evidence: >-
    GET /wp-json/wp/v2/posts?per_page=1 returned 200 with post JSON and X-WP-Total: 36; the same
    anonymous request pattern returned 200 on pages (53), media (1307), categories (2), tags (4),
    users (1), comments (0), search, types, taxonomies, statuses, oembed/1.0/embed and
    yoast/v1/get_head.
- name: wordpress-cookie-nonce
  type: cookie
  in: cookie
  description: >-
    WordPress core cookie authentication paired with an X-WP-Nonce request header, required for
    the write half of the same routes and for the administrative read routes. Not a public
    developer credential — it belongs to a logged-in site user.
  evidence: >-
    Access-Control-Allow-Headers on /wp-json/wp/v2/posts advertises `Authorization, X-WP-Nonce,
    Content-Disposition, Content-MD5, Content-Type`.
- name: application-passwords
  type: http
  scheme: basic
  description: >-
    WordPress Application Passwords over HTTP Basic. This is the ONLY authentication method the
    site advertises in its REST root index, and it is an administrative credential issued to an
    existing WordPress user — there is no self-service developer signup behind it.
  authorization_endpoint: https://cresilon.com/wp-admin/authorize-application.php
  evidence: >-
    The root index at https://cresilon.com/wp-json/ returns
    `"authentication": {"application-passwords": {"endpoints": {"authorization":
    "https://cresilon.com/wp-admin/authorize-application.php"}}}`.
  public_credential: false
site_member_area:
  description: >-
    Separate from the REST surface, cresilon.com runs a human-facing member area (WordPress
    Download Manager) gating TRAUMAGEL and VETIGEL resource downloads. It is a web login, not an
    API credential, and no REST route exposes it anonymously.
  register: https://cresilon.com/register/
  login: https://cresilon.com/login/
  account: https://cresilon.com/account/
  distributor_portal:
    url: https://cresilon.com/distributor-portal/
    gate: WordPress page password (verified live — the page renders a single password prompt)
  evidence: >-
    GET /register/ returned 200 with a real registration form (10 inputs); GET /login/ returned
    200 with a real login form; GET /distributor-portal/ returned 200 with "This content is
    password-protected."
gated_surface:
  description: >-
    Routes present in the live route table but NOT anonymously readable. Recorded so the
    public/private split of this surface is explicit rather than inferred.
  routes:
  - path: /wp/v2/settings
    status: 401
    code: rest_forbidden
  - path: /wp/v2/themes
    status: 401
    code: rest_cannot_view_themes
  - path: /wp/v2/plugins
    status: 401
    code: rest_cannot_view_plugins
  - path: /wp/v2/menus
    status: 401
    code: rest_cannot_view
  - path: /wp/v2/menu-items
    status: 401
    code: rest_cannot_view
  - path: /wp/v2/block-types
    status: 401
    code: rest_block_type_cannot_view
  - path: /wp/v2/templates
    status: 401
    code: rest_cannot_manage_templates
  - path: /wp/v2/template-parts
    status: 401
    code: rest_cannot_manage_templates
  - path: /wp/v2/pattern-directory/patterns
    status: 401
    code: rest_pattern_directory_cannot_view
  - path: /wp/v2/font-families
    status: 401
    code: rest_cannot_read
  - path: /wp/v2/posts/{id}/revisions
    status: 401
    code: rest_cannot_read
  - path: /oembed/1.0/proxy
    status: 401
    code: rest_forbidden
  - path: /jetpack/v4/site
    status: 401
    code: invalid_user_permission_view_admin
  - path: /wp-abilities/v1/abilities
    status: 401
    code: rest_forbidden
  - path: /wp-site-health/v1/tests/background-updates
    status: 401
notable_difference_from_catalog_norm: >-
  On most WordPress sites in this catalog /wp/v2/users returns 401 (rest_user_cannot_view). On
  cresilon.com it returns 200 with a single author record (id 211412379, slug `cresilon`), so the
  numeric `author` field on every post IS publicly resolvable here.
docs: https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/
x-evidence:
  fetched: '2026-08-04'
  host: https://cresilon.com
  root_index: https://cresilon.com/wp-json/
  namespaces: 45
  routes_advertised: 1021
  authentication_field:
    application-passwords:
      endpoints:
        authorization: https://cresilon.com/wp-admin/authorize-application.php