Neomorph Discovery API

Route, post-type, taxonomy and status discovery documents — the 432-route, 23-namespace index the deployment publishes about itself.

Operations 4

GET / Get the REST API index #
GET /wp/v2/types List post types #
GET /wp/v2/taxonomies List taxonomies #
GET /wp/v2/statuses List post statuses #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/neomorph-discovery-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

neomorph-discovery-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Neomorph Discovery API
  version: wp/v2
  summary: Anonymously readable WordPress REST content API behind neomorph.com.
  description: The read-only content surface Neomorph exposes at https://neomorph.com/wp-json. Neomorph, Inc. is a venture-backed, clinical-stage biotechnology company at 5590 Morehouse Drive in San Diego, California, founded in 2020 to design molecular glue degraders that reshape E3 ubiquitin ligases into neomorphic surfaces and eliminate previously undruggable proteins. It runs no developer program and markets no product API. This document is an API Evangelist derivation of the WordPress `wp/v2` and `oembed/1.0` routes the site publishes, restricted to the operations verified to return data anonymously on 2026-08-26. See x-api-evangelist-provenance.
  contact:
    name: Neomorph, Inc.
    url: https://neomorph.com/contact/
  x-api-evangelist-provenance: Derived by the API Evangelist enrichment pipeline from the live WordPress REST route index at https://neomorph.com/wp-json/ (432 routes across 23 namespaces) and from the per-route OPTIONS descriptors that deployment returns, verified against live anonymous responses on 2026-08-26. Every parameter and every response property below appears verbatim in that deployment's own route/schema descriptors, and every collection count in a description was read from the X-WP-Total response header on that date. Neomorph publishes no OpenAPI, no developer portal and no API reference for this surface; the humanURL in apis.yml points at the upstream WordPress REST handbook that defines the wp/v2 contract. Write operations and every authenticated route (/wp/v2/users, /wp/v2/settings, /wp/v2/menu-items, /wp/v2/block-types, /wp/v2/elementor_library, the wp-abilities/v1 namespace and the whole plugin-administration surface) are deliberately excluded - they were probed anonymously and returned 401/403. Nothing here was obtained with credentials.
servers:
- url: https://neomorph.com/wp-json
  description: Production content API
tags:
- name: Discovery
  description: Route, type, taxonomy and status discovery documents. These are the machine-readable index of the deployment and are anonymously readable in full.
paths:
  /:
    get:
      tags:
      - Discovery
      operationId: getIndex
      summary: Get the REST API index
      description: Returns the deployment's own route index - site name, url, home, gmt_offset, the list of registered namespaces, an `authentication` block, and a `routes` map describing every registered route with its methods, args and endpoints. On 2026-08-26 this document was 649,729 bytes and described 432 routes across 23 namespaces; its `authentication` field advertises WordPress application passwords with an authorization endpoint at https://neomorph.com/wp-admin/authorize-application.php.
      parameters:
      - name: namespace
        in: query
        description: Restrict the index to a single namespace.
        schema:
          type: string
      - name: context
        in: query
        description: Scope under which the request is made.
        schema:
          type: string
          enum:
          - view
          - help
          - embed
          default: view
      responses:
        '200':
          description: The REST API index.
          content:
            application/json:
              schema:
                type: object
  /wp/v2/types:
    get:
      tags:
      - Discovery
      operationId: listTypes
      summary: List post types
      description: Lists every registered post type with its rest_base, taxonomies and labels. 17 types were registered on 2026-08-26, of which `team` (Team) and `resource` (Resources) are the two custom types that carry Neomorph's own content.
      parameters:
      - name: context
        in: query
        description: Scope under which the request is made; determines fields present in response.
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
      responses:
        '200':
          description: List post types.
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/InvalidParam'
  /wp/v2/taxonomies:
    get:
      tags:
      - Discovery
      operationId: listTaxonomies
      summary: List taxonomies
      description: 'Lists every registered taxonomy with its rest_base and the types it applies to. Five were registered on 2026-08-26: category, post_tag, nav_menu, wp_pattern_category and the custom team_category.'
      parameters:
      - name: context
        in: query
        description: Scope under which the request is made; determines fields present in response.
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
      - name: type
        in: query
        description: Limit results to taxonomies associated with a specific post type.
        schema:
          type: string
      responses:
        '200':
          description: List taxonomies.
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/InvalidParam'
  /wp/v2/statuses:
    get:
      tags:
      - Discovery
      operationId: listStatuses
      summary: List post statuses
      description: Lists the post statuses visible in this context. Anonymously this returns `publish` only.
      parameters:
      - name: context
        in: query
        description: Scope under which the request is made; determines fields present in response.
        schema:
          type: string
          enum:
          - view
          - embed
          - edit
          default: view
      responses:
        '200':
          description: List post statuses.
          content:
            application/json:
              schema:
                type: object
        '400':
          $ref: '#/components/responses/InvalidParam'
components:
  schemas:
    Error:
      type: object
      title: WP_Error
      description: The WordPress REST error envelope. It is NOT RFC 9457 application/problem+json; it is served as application/json.
      properties:
        code:
          type: string
          description: Machine-readable error slug, e.g. rest_post_invalid_id.
        message:
          type: string
          description: Human-readable error message.
        data:
          type: object
          description: Error detail.
          properties:
            status:
              type: integer
              description: HTTP status code.
            params:
              type: object
              description: Per-parameter validation messages, on 400.
            details:
              type: object
              description: Per-parameter validation detail, on 400.
      required:
      - code
      - message
  responses:
    InvalidParam:
      description: Invalid parameter. Returns `rest_invalid_param` with a per-parameter breakdown in `data.params`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'