openapi: 3.2.0
info:
title: Allotex Content Discovery API
version: wp/v2
summary: The anonymously readable WordPress REST content API behind us.allotex.com.
description: 'Allotex Inc. is an ophthalmic biologics and device company; it runs no developer program and publishes no product API, no developer portal, no API reference and no SDKs. The only machine-readable, credential-free surface it exposes is the WordPress REST API that backs its corporate website at us.allotex.com, catalogued here.
This document is DERIVED by the API Evangelist enrichment pipeline from the route index Allotex publishes at https://us.allotex.com/wp-json/ — 270 routes across 20 namespaces — and every operation below was fetched live and confirmed to return data anonymously on 2026-08-06. Routes that returned 401/403 without credentials (/wp/v2/settings, /wp/v2/menu-items, /wp/v2/themes, /wp/v2/plugins, /wp/v2/block-patterns/patterns, /wp-abilities/v1/*, /mcp/mcp-adapter-default-server, /contact-form-7/v1/contact-forms) are deliberately NOT modelled.
Two things a consumer should know. First, unlike many Elementor-built sites, content.rendered IS populated on this site, so the full prose of all 16 corporate pages — About Us, Science, History, Conditions We Treat, Procedure, Refractive Surgeons, Medical Advisory Board, Our Team, Careers, Press, Conferences and Contact — is retrievable. Second, the posts collection is registered but empty: the Press page directs readers to Allotex''s LinkedIn page for news, so there is no on-site article feed to consume.
This is not a product Allotex markets. It is the site''s own content surface, and it carries no published SLA, versioning policy, deprecation policy, rate limits or support channel. The wp/v2 contract itself is defined upstream by WordPress.'
contact:
name: Allotex Inc.
url: https://us.allotex.com/for-europe/contact/
license:
name: GPL-2.0-or-later
identifier: GPL-2.0-or-later
x-provenance:
method: derived
source: https://us.allotex.com/wp-json/
derived_by: API Evangelist enrichment pipeline
verified: '2026-08-06'
note: Operation set restricted to routes verified to return 200 anonymously. Schemas are modelled from live response bodies and the upstream WordPress REST API handbook; no field is invented.
servers:
- url: https://us.allotex.com/wp-json
description: Allotex US corporate site (16 pages, 218 media items)
- url: https://allotex.com/wp-json
description: Allotex global splash site (1 page; posts are unmodified theme demo content)
security: []
tags:
- name: discovery
description: Route index, cross-content search and the oEmbed provider endpoint.
paths:
/:
get:
operationId: getRouteIndex
summary: Get the API route index
description: 'Returns the site discovery document: name, description, URL, registered namespaces, the full route table (270 routes across 20 namespaces on this site) and the supported authentication methods. This is the WordPress REST API''s own machine-readable index and is the only contract Allotex publishes.'
tags:
- discovery
parameters:
- name: context
in: query
required: false
schema:
type: string
enum:
- view
- embed
- help
default: view
- name: namespace
in: query
required: false
description: Restrict the index to a single namespace, e.g. wp/v2.
schema:
type: string
responses:
'200':
description: The route index.
content:
application/json:
schema:
$ref: '#/components/schemas/RouteIndex'
'404':
$ref: '#/components/responses/NotFound'
/wp/v2/search:
get:
operationId: searchContent
summary: Search across content types
description: Cross-content search returning lightweight {id, title, url, type, subtype} records. Verified 2026-08-06 with search=cornea, which returns the Medical Advisory Board, Science and Conditions We Treat pages. 21 searchable items total.
tags:
- discovery
parameters:
- name: context
in: query
required: false
description: Scope under which the request is made; determines fields present in the response.
schema:
type: string
enum:
- view
- embed
- edit
default: view
- name: page
in: query
required: false
description: Current page of the collection.
schema:
type: integer
default: 1
minimum: 1
- name: per_page
in: query
required: false
description: Maximum number of items to be returned in the result set.
schema:
type: integer
default: 10
minimum: 1
maximum: 100
- name: search
in: query
required: false
description: Limit results to those matching a string.
schema:
type: string
- name: order
in: query
required: false
description: Order sort attribute ascending or descending.
schema:
type: string
enum:
- asc
- desc
- name: _fields
in: query
required: false
description: Comma-separated list of fields to limit the response to.
schema:
type: string
- name: _embed
in: query
required: false
description: Embed linked resources (author, featured media, terms) into the response.
schema:
type: boolean
- name: type
in: query
required: false
schema:
type: string
enum:
- post
- term
- post-format
default: post
- name: subtype
in: query
required: false
schema:
type: array
items:
type: string
responses:
'200':
description: Search results.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/SearchResult'
'400':
$ref: '#/components/responses/Error'
/oembed/1.0/embed:
get:
operationId: getOEmbed
summary: Get an oEmbed response for a site URL
description: oEmbed 1.0 provider endpoint. Returns provider_name 'Allotex US', the author, the title, a thumbnail and an iframe embed for any URL on this site. Verified against https://us.allotex.com/procedure/.
tags:
- discovery
parameters:
- name: url
in: query
required: true
description: The URL of the resource for which to fetch oEmbed data.
schema:
type: string
format: uri
- name: format
in: query
required: false
schema:
type: string
enum:
- json
- xml
default: json
- name: maxwidth
in: query
required: false
schema:
type: integer
default: 600
responses:
'200':
description: An oEmbed rich response.
content:
application/json:
schema:
$ref: '#/components/schemas/OEmbed'
'404':
$ref: '#/components/responses/NotFound'
/mcp:
get:
operationId: getMcpNamespaceIndex
summary: Get the MCP namespace route index
description: 'Returns the routes registered under the ''mcp'' namespace. Verified 2026-08-06: 200, advertising /mcp/mcp-adapter-default-server (GET/POST/DELETE). This is the WordPress MCP Adapter''s default server. It is DISCOVERABLE anonymously but NOT USABLE: a JSON-RPC tools/list POST to the server endpoint returns 401 rest_forbidden. Allotex does not document, market or issue credentials for this endpoint, so no MCP agent surface is claimed for this provider. See mcp/allotex-mcp.yml.'
tags:
- discovery
parameters:
- name: namespace
in: query
required: false
schema:
type: string
default: mcp
responses:
'200':
description: The mcp namespace route index.
content:
application/json:
schema:
$ref: '#/components/schemas/RouteIndex'
components:
responses:
NotFound:
description: The resource or route does not exist (rest_post_invalid_id / rest_no_route).
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
examples:
invalid_id:
value:
code: rest_post_invalid_id
message: Invalid post ID.
data:
status: 404
no_route:
value:
code: rest_no_route
message: No route was found matching the URL and request method.
data:
status: 404
Error:
description: A WordPress REST error.
content:
application/json:
schema:
$ref: '#/components/schemas/RestError'
schemas:
RestError:
type: object
description: The WordPress REST error envelope. NOT RFC 9457 — the media type is application/json, not application/problem+json, and the field names are code/message/data.status rather than type/title/status/detail.
required:
- code
- message
- data
properties:
code:
type: string
example: rest_post_invalid_id
message:
type: string
example: Invalid post ID.
data:
type: object
properties:
status:
type: integer
example: 404
params:
type: object
details:
type: object
OEmbed:
type: object
properties:
version:
type: string
example: '1.0'
provider_name:
type: string
example: Allotex US
provider_url:
type: string
format: uri
author_name:
type: string
author_url:
type: string
format: uri
title:
type: string
type:
type: string
example: rich
width:
type: integer
height:
type: integer
html:
type: string
SearchResult:
type: object
properties:
id:
type: integer
title:
type: string
url:
type: string
format: uri
type:
type: string
subtype:
type: string
_links:
type: object
RouteIndex:
type: object
description: The WordPress REST API discovery document.
properties:
name:
type: string
example: Allotex US
description:
type: string
example: Allograft Inlays & Onlays
url:
type: string
format: uri
example: https://us.allotex.com
home:
type: string
format: uri
gmt_offset:
type: string
namespaces:
type: array
items:
type: string
authentication:
type: object
description: 'Supported authentication methods. On this site: application-passwords only.'
routes:
type: object
additionalProperties:
type: object
site_icon_url:
type: string
format: uri
securitySchemes:
applicationPassword:
type: http
scheme: basic
description: 'WordPress application passwords, the only authentication method the route index advertises (authorization endpoint: https://us.allotex.com/wp-admin/authorize-application.php). Credentials are issued only to WordPress user accounts on the site; Allotex offers no public signup, so this scheme is NOT obtainable by a third party. Every operation in this document is reachable anonymously and none of them requires it.'
externalDocs:
description: The upstream WordPress REST API handbook that defines the wp/v2 contract. Allotex publishes no documentation of its own for this surface.
url: https://developer.wordpress.org/rest-api/