Allotex Discovery API

Route index, cross-content search and the oEmbed provider endpoint.

OpenAPI Specification

allotex-discovery-api-openapi.yml Raw ↑
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/