MOMA Therapeutics Discovery API

Self-describing metadata — the 219-route index across 12 namespaces, plus registered post types, taxonomies and statuses. This is the only machine-readable contract the company serves.

Operations 7

GET / Get the REST route index #
GET /wp/v2/types List registered post types #
GET /wp/v2/types/{type} Get a post type #
GET /wp/v2/taxonomies List registered taxonomies #
GET /wp/v2/taxonomies/{taxonomy} Get a taxonomy #
GET /wp/v2/statuses List registered post statuses #
GET /wp/v2/statuses/{status} Get a post status #

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/moma-therapeutics-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

moma-therapeutics-discovery-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: MOMA Therapeutics Discovery API
  version: wp/v2
  summary: Anonymously readable WordPress REST content API behind momatx.com.
  description: The self-describing metadata surface of the momatx.com content API. MOMA Therapeutics is a Cambridge, Massachusetts drug-discovery company building precision medicines against molecular machines — highly dynamic proteins that convert chemical energy into regulatory work such as protein transport and degradation — using its proprietary KNOMATIC platform. It runs no developer program and markets no product API. This document is an API Evangelist derivation of the WordPress REST route index MOMA Therapeutics publishes at https://momatx.com/wp-json/, restricted to the operations verified to return data anonymously on 2026-08-26.
  contact:
    name: MOMA Therapeutics
    url: https://momatx.com/
    email: info@momatx.com
  x-api-evangelist-provenance: Derived by the API Evangelist enrichment pipeline from the live WordPress REST route index published at https://momatx.com/wp-json/ (219 routes across 12 namespaces) and verified against live anonymous responses on 2026-08-26. Every parameter below appears verbatim in that index's `args` for the endpoint, every schema property name was read from a real response body, and every collection count in a description was read from the `X-WP-Total` response header on that date. MOMA Therapeutics 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. The deployment is WP Engine (nginx), with Wordfence, Yoast SEO and Advanced Custom Fields registering additional namespaces. Routes that returned 401 anonymously (/wp/v2/users, /wp/v2/settings, /wp/v2/menu-items, /wp/v2/plugins, /wp/v2/themes and the entire wp-abilities/v1 namespace) are deliberately excluded, as are all write operations. Nothing here was obtained with credentials.
servers:
- url: https://momatx.com/wp-json
  description: Production WordPress REST content API
tags:
- name: discovery
  description: 'Self-describing metadata: the route index, registered post types, taxonomies and statuses.'
paths:
  /:
    get:
      tags:
      - discovery
      operationId: getRouteIndex
      summary: Get the REST route index
      description: Returns the WordPress REST API root discovery document — site name, home URL, GMT offset, the 12 registered namespaces (`wp/v2`, `oembed/1.0`, `acf/v3`, `yoast/v1`, `wordfence/v1`, `wordfence-login-security/v1`, `wpe/cache-plugin/v1`, `wpe_sign_on_plugin/v1`, `struck/v1`, `wp-site-health/v1`, `wp-block-editor/v1`, `wp-abilities/v1`) and the full 219-route table with per-endpoint methods and args. This is the only machine-readable contract MOMA Therapeutics serves, and it is the document every artifact in this repository was derived from. `authentication` is an empty array — the deployment advertises no auth scheme.
      responses:
        '200':
          description: The route index.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RouteIndex'
  /wp/v2/types:
    get:
      tags:
      - discovery
      operationId: listTypes
      summary: List registered post types
      description: 'Lists registered post types. On this deployment: `post`, `page`, `attachment`, `nav_menu_item`, `wp_block`, `wp_template`, `wp_template_part`, `wp_navigation`, `wp_font_family`, `wp_font_face` and the MOMA-specific `team`.'
      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: A map of post-type slug to descriptor.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/PostType'
  /wp/v2/types/{type}:
    get:
      tags:
      - discovery
      operationId: getType
      summary: Get a post type
      description: Retrieves a single post-type descriptor by slug.
      parameters:
      - name: type
        in: path
        required: true
        description: Post type slug, e.g. `team`.
        schema:
          type: string
      - 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: The requested object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostType'
        '404':
          $ref: '#/components/responses/NotFound'
  /wp/v2/taxonomies:
    get:
      tags:
      - discovery
      operationId: listTaxonomies
      summary: List registered taxonomies
      description: 'Lists registered taxonomies: `category`, `post_tag` and the MOMA-specific `team_types`.'
      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: A map of taxonomy slug to descriptor.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/Taxonomy'
  /wp/v2/taxonomies/{taxonomy}:
    get:
      tags:
      - discovery
      operationId: getTaxonomy
      summary: Get a taxonomy
      description: Retrieves a single taxonomy descriptor by slug.
      parameters:
      - name: taxonomy
        in: path
        required: true
        description: Taxonomy slug, e.g. `team_types`.
        schema:
          type: string
      - 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: The requested object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Taxonomy'
        '404':
          $ref: '#/components/responses/NotFound'
  /wp/v2/statuses:
    get:
      tags:
      - discovery
      operationId: listStatuses
      summary: List registered post statuses
      description: Lists post statuses visible to the caller. Anonymously this is `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: A map of status slug to descriptor.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/Status'
  /wp/v2/statuses/{status}:
    get:
      tags:
      - discovery
      operationId: getStatus
      summary: Get a post status
      description: Retrieves a single post-status descriptor by slug.
      parameters:
      - name: status
        in: path
        required: true
        description: Status slug, e.g. `publish`.
        schema:
          type: string
      - 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: The requested object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Status'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    RouteIndex:
      type: object
      description: The WordPress REST API root discovery document — site identity, registered namespaces, and the full route table with per-endpoint methods and args.
      properties:
        name:
          type: string
        description:
          type: string
        url:
          type: string
          format: uri
        home:
          type: string
          format: uri
        gmt_offset:
          type:
          - number
          - string
        namespaces:
          type: array
          items:
            type: string
        authentication:
          type:
          - array
          - object
          description: Advertised authentication schemes. Empty on this deployment.
        routes:
          type: object
          additionalProperties: true
        _links:
          type: object
          description: HAL-style `_links` relations WordPress emits for the object.
          additionalProperties: true
    Status:
      type: object
      description: A registered post-status descriptor.
      properties:
        name:
          type: string
        slug:
          type: string
        public:
          type: boolean
        queryable:
          type: boolean
        date_floating:
          type: boolean
        _links:
          type: object
          description: HAL-style `_links` relations WordPress emits for the object.
          additionalProperties: true
    Error:
      type: object
      description: The WordPress REST error envelope. It is NOT RFC 9457 `application/problem+json`; it is a bespoke JSON object served as `application/json`.
      required:
      - code
      - message
      - data
      properties:
        code:
          type: string
          description: Machine-readable error slug, e.g. `rest_post_invalid_id`.
          examples:
          - rest_no_route
        message:
          type: string
          description: Human-readable message.
        data:
          type: object
          properties:
            status:
              type: integer
              description: HTTP status code, repeated in the body.
            params:
              type: array
              items:
                type: string
    PostType:
      type: object
      description: A registered post type descriptor.
      properties:
        name:
          type: string
        slug:
          type: string
        description:
          type: string
        hierarchical:
          type: boolean
        has_archive:
          type:
          - boolean
          - string
        taxonomies:
          type: array
          items:
            type: string
        rest_base:
          type: string
        rest_namespace:
          type: string
        icon:
          type:
          - string
          - 'null'
        _links:
          type: object
          description: HAL-style `_links` relations WordPress emits for the object.
          additionalProperties: true
    Taxonomy:
      type: object
      description: A registered taxonomy descriptor.
      properties:
        name:
          type: string
        slug:
          type: string
        description:
          type: string
        types:
          type: array
          items:
            type: string
        hierarchical:
          type: boolean
        rest_base:
          type: string
        rest_namespace:
          type: string
        _links:
          type: object
          description: HAL-style `_links` relations WordPress emits for the object.
          additionalProperties: true
  responses:
    NotFound:
      description: No such object or no matching route (`rest_post_invalid_id`, `rest_no_route`).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'