BioAegis Therapeutics · OpenAPI Overlay 1.0.0
API Evangelist enhancements for the BioAegis Therapeutics Content API
16 actions
16 updates
update
extends
./../openapi/bioaegis-therapeutics-content-openapi.yml
Derived by API Evangelist
Built from the contracts BioAegis Therapeutics publishes. BioAegis Therapeutics did not publish this file.
What the actions change
x-empty-collectionx-empty-reasonx-collection-sizex-response-size-warningx-notex-unresolvablex-unresolvable-reasonx-provider-publishes-spec
Targets 16
$.info
$
$.paths['/wp/v2/posts'].get
$.paths['/wp/v2/pages'].get
$.paths['/wp/v2/tags'].get
$.paths['/wp/v2/comments'].get
$.paths['/wp/v2/blocks'].get
$.paths['/wp/v2/navigation'].get
$.paths['/wp/v2/search'].get
$.paths['/yoast/v1/get_head'].get
$.paths['/oembed/1.0/embed'].get
$.components.schemas.Post.properties.author
$.components.schemas.Page.properties.author
$.components.schemas.Post.properties.tags
$.components.schemas.Post.properties.meta
$.components.schemas.RestError
OpenAPI Overlay
# authorship: generated by API Evangelist tooling. Stamped 2026-08-18
# on the file's own generator header (roadmap#64). An unmarked file is
# NOT assumed to be ours -- absence of evidence was never stamped.
x-method: generated
overlay: 1.0.0
info:
title: API Evangelist enhancements for the BioAegis Therapeutics Content API
version: '1.0.0'
x-generated: '2026-08-07'
x-method: generated
x-source: >-
Generated by the API Evangelist enrichment pipeline from live anonymous probes of
https://www.bioaegistherapeutics.com/wp-json/ on 2026-08-07, plus the artifacts in this repo.
x-summary: >-
This overlay records the enhancements API Evangelist applies on top of the derived OpenAPI in
openapi/bioaegis-therapeutics-content-openapi.yml. BioAegis Therapeutics publishes no OpenAPI,
so the base document is itself a derivation; this overlay is kept separate so the base stays a
faithful projection of the route index while the operational knowledge — WAF behaviour, empty
collections, response-size traps, the broken author arc — lives here and can be re-applied
after any re-harvest.
extends: ./../openapi/bioaegis-therapeutics-content-openapi.yml
actions:
- target: $.info
update:
x-provider-publishes-spec: false
x-derivation: >-
Derived from the WordPress REST route index at
https://www.bioaegistherapeutics.com/wp-json/ (308 routes, 17 namespaces), restricted to
the 23 operations verified to answer anonymously on 2026-08-07.
x-edge: >-
Fronted by a Sucuri CloudProxy WAF (Server: Sucuri/Cloudproxy). The WAF, not WordPress,
answers /wp/v2/users with a 403 HTML interstitial, and marks every REST response
X-Sucuri-Cache: BYPASS.
x-artifacts:
authentication: ../authentication/bioaegis-therapeutics-authentication.yml
conventions: ../conventions/bioaegis-therapeutics-conventions.yml
errors: ../errors/bioaegis-therapeutics-problem-types.yml
lifecycle: ../lifecycle/bioaegis-therapeutics-lifecycle.yml
conformance: ../conformance/bioaegis-therapeutics-conformance.yml
data_model: ../data-model/bioaegis-therapeutics-data-model.yml
json_ld: ../json-ld/bioaegis-therapeutics-json-ld.yml
well_known: ../well-known/bioaegis-therapeutics-well-known.yml
skills: ../skills/_index.yml
- target: $
update:
x-rate-limits:
published: false
note: >-
No RateLimit or Retry-After headers observed. The Sucuri WAF may throttle or challenge
aggressive callers without advertising a budget. Crawl politely; there is no published
allowance to plan against.
x-caching:
etag: false
last_modified: false
cache_control: none-observed
note: >-
Conditional requests are impossible. Use each object's `modified` field for change
detection, or poll /sitemap_index.xml lastmod for a cheaper coarse signal.
- target: $.paths['/wp/v2/posts'].get
update:
x-collection-size: 153
x-category-breakdown:
news: 94
publication: 34
event: 9
clinical: 6
leadership: 5
board: 4
feature: 2
covid19: 1
uncategorized: 1
x-response-size-warning: >-
`content.rendered` is populated on every post. An unfiltered per_page=100 request returns
several megabytes. Always send `_fields`.
x-recommended-projection: 'id,slug,title,link,date,modified,categories,featured_media'
- target: $.paths['/wp/v2/pages'].get
update:
x-collection-size: 14
x-response-size-warning: >-
Page bodies are rendered Elementor markup. Page 5753 (Our Platform) returns ~100KB and page
5277 (Our Science) ~45KB in `content.rendered` alone. Always send `_fields` unless you
genuinely want the markup.
x-hierarchy: flat
x-hierarchy-note: '`parent` is 0 on all 14 pages — there is no page tree to walk.'
- target: $.paths['/wp/v2/tags'].get
update:
x-empty-collection: true
x-empty-reason: >-
The `post_tag` taxonomy is registered but holds 0 terms. All classification on this site is
carried by the hierarchical `category` taxonomy. Do not build a tag-based integration.
- target: $.paths['/wp/v2/comments'].get
update:
x-empty-collection: true
x-empty-reason: Comments are not used on this site (X-WP-Total 0).
- target: $.paths['/wp/v2/blocks'].get
update:
x-empty-collection: true
x-empty-reason: The site is authored in Elementor, not the block editor.
- target: $.paths['/wp/v2/navigation'].get
update:
x-empty-collection: true
x-empty-reason: >-
Block-editor navigation is unused. The real site navigation lives in classic menus at
/wp/v2/menus and /wp/v2/menu-locations, both of which return 401 anonymously.
- target: $.paths['/wp/v2/search'].get
update:
x-observed-result-counts:
gelsolin: 137
ards: not-recorded
x-note: >-
The only full-text entry point on the surface. Returns lightweight records — resolve
`id` + `subtype` against /wp/v2/posts/{id} or /wp/v2/pages/{id} for the body.
- target: $.paths['/yoast/v1/get_head'].get
update:
x-plugin-dependency: Yoast SEO
x-fragility: >-
This operation exists only because the Yoast SEO plugin is installed. It is the single
richest structured-data source on the surface — it carries the schema.org JSON-LD @graph —
and it would disappear without notice if the plugin were removed. Treat as unstable.
x-graph-nodes: [WebPage, ImageObject, BreadcrumbList, WebSite, Organization]
- target: $.paths['/oembed/1.0/embed'].get
update:
x-sibling-gated: >-
/oembed/1.0/proxy, which would fetch third-party URLs, returns 401 rest_forbidden. Only the
provider endpoint for bioaegistherapeutics.com URLs is anonymous.
- target: $.components.schemas.Post.properties.author
update:
x-unresolvable: true
x-unresolvable-reason: >-
/wp/v2/users returns 403 from the Sucuri WAF (HTML, not JSON), so this foreign key cannot be
dereferenced and `_embed` on the author link relation returns an error stub. Observed value
on every sampled record: 2. The author-sitemap.xml does publish three author slugs
(admin, serrao6, sserrao), so the two surfaces disagree about whether authorship is public.
- target: $.components.schemas.Page.properties.author
update:
x-unresolvable: true
x-unresolvable-reason: Same WAF block as Post.author.
- target: $.components.schemas.Post.properties.tags
update:
x-always-empty: true
- target: $.components.schemas.Post.properties.meta
update:
x-effectively-empty: true
x-note: >-
The Elementor page-builder payload lives in unregistered post meta that WordPress does not
project into REST, so `meta` yields nothing useful. The rendered result is in
`content.rendered` instead.
- target: $.components.schemas.RestError
update:
x-not-uniform: >-
This envelope covers every error EXCEPT /wp/v2/users, which the Sucuri WAF answers in HTML.
A generic client must branch on Content-Type before parsing an error body.
x-status-semantics: >-
WordPress returns 401 (not 403) for capability refusals to anonymous callers for whom no
credential exists. Clients implementing retry-with-credentials will loop.
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/bioaegis-therapeutics-content-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.