MindMaze Therapeutics Content API

The public, anonymous WordPress REST API behind mindmazetherapeutics.com. It is not a MindMaze product, clinical or device API - none exists - but it is a real machine-readable surface, and because MindMaze Therapeutics Holding SA is listed on the SIX Swiss Exchange (MMTX) it carries the company's regulatory disclosure stream: 309 EQS posts, 162 EQS ad-hoc announcements, 147 other investor-relations items, 27 press releases, 92 in-the-media entries, 17 events, 7 testimonials and 2 product announcements, alongside 49 marketing, platform, product and research pages and 1,070 media records including investor-presentation and financial-report PDFs. Every operation captured here was verified to return HTTP 200 anonymously on 2026-08-01; write and administrative routes exist on the host but return 401 rest_forbidden and are deliberately excluded, as is /wp/v2/users, which exposes author personal data anonymously.

OpenAPI Specification

mindmaze-content-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: MindMaze Therapeutics Content API
  version: wp/v2
  summary: The public, read-only WordPress REST API behind mindmazetherapeutics.com.
  description: 'MindMaze Therapeutics publishes no developer portal and no product API for its
    neurotherapeutics platform, but its corporate site at mindmazetherapeutics.com runs on WordPress
    and serves the standard WordPress REST API anonymously at https://mindmazetherapeutics.com/wp-json/.
    That surface is a real, machine-readable, unauthenticated read API over MindMaze content: 450
    posts, 49 pages, 1,070 media items, 11 categories and cross-content search. Because MindMaze
    Therapeutics Holding SA is listed on the SIX Swiss Exchange (MMTX), the post corpus is dominated
    by regulatory disclosure: 309 posts in the "EQS" category, 162 in "Ad hoc news" (EQS ad-hoc
    announcements), 147 in "Other IR news", 27 in "Press releases", 92 "In the media", 17 "Events",
    7 "Testimonials" and 2 "Products". This document is DERIVED from the live route discovery
    document at https://mindmazetherapeutics.com/wp-json/ (saved verbatim as
    mindmaze-content-wp-routes-original.json); every path and method here comes from that document,
    and every operation listed was verified to return HTTP 200 anonymously on 2026-08-01. Write
    methods (POST/PUT/PATCH/DELETE) and the administrative namespaces (settings, themes, plugins,
    menus, block-types, widgets, users/me, jetpack, yoast, redirection, ai1wm) are deliberately
    excluded: they exist on the host but return 401 rest_forbidden and are not a public API. This
    is a corporate content and investor-relations API - it is NOT a clinical, device or patient-data
    API. MindMaze products (Companion, MindMotion GO, MindPod, Izar, Physilog, TOAP Run) are
    regulated medical devices; no public API, SDK or contract for them exists.'
  contact:
    name: MindMaze Therapeutics
    url: https://mindmazetherapeutics.com/about/contact/
  termsOfService: https://mindmazetherapeutics.com/terms-and-conditions/
  x-provenance:
    method: derived
    source: https://mindmazetherapeutics.com/wp-json/
    derived: '2026-08-01'
    note: Derived by API Evangelist from the live WordPress route discovery document; not
      published by MindMaze Therapeutics.
servers:
- url: https://mindmazetherapeutics.com/wp-json
  description: Production
tags:
- name: Posts
  description: 'MindMaze Therapeutics news: EQS regulatory and ad-hoc announcements, investor-relations
    news, press releases, in-the-media coverage, events, testimonials and product announcements.'
- name: Pages
  description: Marketing, product, platform, research and investor-relations pages on
    mindmazetherapeutics.com.
- name: Media
  description: Images, documents and files in the MindMaze media library.
- name: Taxonomy
  description: The categories and tags used to classify MindMaze posts, including the EQS,
    ad-hoc-news and other-ir-news disclosure categories.
- name: Discovery
  description: 'Self-describing metadata: the API index, registered content types, taxonomies and
    post statuses.'
- name: Search
  description: Cross-content-type search over published mindmazetherapeutics.com content.
- name: oEmbed
  description: oEmbed representation of a mindmazetherapeutics.com URL.
security:
- {}
paths:
  /:
    get:
      operationId: getApiIndex
      summary: Get the API index
      description: The WordPress REST API discovery document - site name, description, URL, the
        registered namespaces and every registered route with its methods, arguments and argument
        schemas. This is the self-describing root this OpenAPI was derived from.
      tags:
      - Discovery
      security:
      - {}
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiIndex'
  /wp/v2:
    get:
      operationId: getNamespaceIndex
      summary: Get the wp/v2 namespace index
      description: The route index scoped to the wp/v2 namespace.
      tags:
      - Discovery
      security:
      - {}
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiIndex'
  /wp/v2/posts:
    get:
      operationId: listPosts
      summary: List posts
      description: 'MindMaze Therapeutics news items. 450 published records on 2026-08-01. Filter
        by category to isolate a disclosure stream: 24 = EQS ad-hoc news, 23 = EQS, 25 = Other IR
        news, 8 = Press releases, 9 = In the media, 10 = Events, 11 = Testimonials, 16 = Products.'
      tags:
      - Posts
      security:
      - {}
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/perPage'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/order'
      - $ref: '#/components/parameters/orderby'
      - $ref: '#/components/parameters/slug'
      - $ref: '#/components/parameters/fields'
      - name: categories
        in: query
        description: Limit result set to items assigned to the given category term ids.
        schema:
          type: array
          items:
            type: integer
        style: form
        explode: false
      - name: tags
        in: query
        description: Limit result set to items assigned to the given tag term ids.
        schema:
          type: array
          items:
            type: integer
        style: form
        explode: false
      responses:
        '200':
          description: Successful response.
          headers:
            X-WP-Total:
              $ref: '#/components/headers/XWPTotal'
            X-WP-TotalPages:
              $ref: '#/components/headers/XWPTotalPages'
            Link:
              $ref: '#/components/headers/LinkPagination'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Post'
              examples:
                pressReleases:
                  summary: Three MindMaze press releases (category 8)
                  externalValue: ../examples/mindmaze-press-releases.json
                eqsAdHoc:
                  summary: Three EQS ad-hoc regulatory announcements (category 24)
                  externalValue: ../examples/mindmaze-eqs-ad-hoc-news.json
        '400':
          $ref: '#/components/responses/InvalidParam'
  /wp/v2/posts/{id}:
    get:
      operationId: getPost
      summary: Get a post
      description: Retrieve a single MindMaze news item, press release or regulatory announcement
        by its numeric id.
      tags:
      - Posts
      security:
      - {}
      parameters:
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Post'
        '404':
          $ref: '#/components/responses/NotFound'
  /wp/v2/pages:
    get:
      operationId: listPages
      summary: List pages
      description: Marketing, platform, product, research and investor-relations pages. 49 published
        records on 2026-08-01.
      tags:
      - Pages
      security:
      - {}
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/perPage'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/order'
      - $ref: '#/components/parameters/orderby'
      - $ref: '#/components/parameters/slug'
      - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response.
          headers:
            X-WP-Total:
              $ref: '#/components/headers/XWPTotal'
            X-WP-TotalPages:
              $ref: '#/components/headers/XWPTotalPages'
            Link:
              $ref: '#/components/headers/LinkPagination'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Page'
        '400':
          $ref: '#/components/responses/InvalidParam'
  /wp/v2/pages/{id}:
    get:
      operationId: getPage
      summary: Get a page
      description: Retrieve a single mindmazetherapeutics.com page by its numeric id.
      tags:
      - Pages
      security:
      - {}
      parameters:
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Page'
        '404':
          $ref: '#/components/responses/NotFound'
  /wp/v2/media:
    get:
      operationId: listMedia
      summary: List media
      description: Images, PDFs and other files in the MindMaze media library, including investor
        presentations and financial report attachments. 1,070 records on 2026-08-01.
      tags:
      - Media
      security:
      - {}
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/perPage'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/before'
      - $ref: '#/components/parameters/order'
      - $ref: '#/components/parameters/orderby'
      - $ref: '#/components/parameters/fields'
      - name: media_type
        in: query
        description: Limit result set to attachments of a particular media type.
        schema:
          type: string
          enum: [image, video, text, application, audio]
      - name: mime_type
        in: query
        description: Limit result set to attachments of a particular MIME type.
        schema:
          type: string
      responses:
        '200':
          description: Successful response.
          headers:
            X-WP-Total:
              $ref: '#/components/headers/XWPTotal'
            X-WP-TotalPages:
              $ref: '#/components/headers/XWPTotalPages'
            Link:
              $ref: '#/components/headers/LinkPagination'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MediaItem'
        '400':
          $ref: '#/components/responses/InvalidParam'
  /wp/v2/media/{id}:
    get:
      operationId: getMediaItem
      summary: Get a media item
      description: Retrieve a single media library record by its numeric id.
      tags:
      - Media
      security:
      - {}
      parameters:
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediaItem'
        '404':
          $ref: '#/components/responses/NotFound'
  /wp/v2/categories:
    get:
      operationId: listCategories
      summary: List categories
      description: 'The 11 category terms used to classify MindMaze posts. The disclosure-bearing
        terms are: eqs (309), eqs-ad-hoc (162), eqs-other-ir (147), in-the-media (92), press-releases
        (27), events (17), testimonials (7), products (2).'
      tags:
      - Taxonomy
      security:
      - {}
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/perPage'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/slug'
      - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response.
          headers:
            X-WP-Total:
              $ref: '#/components/headers/XWPTotal'
            X-WP-TotalPages:
              $ref: '#/components/headers/XWPTotalPages'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Term'
              examples:
                categories:
                  summary: The 11 MindMaze post categories
                  externalValue: ../examples/mindmaze-categories.json
        '400':
          $ref: '#/components/responses/InvalidParam'
  /wp/v2/categories/{id}:
    get:
      operationId: getCategory
      summary: Get a category
      description: Retrieve a single category term by its numeric id.
      tags:
      - Taxonomy
      security:
      - {}
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Term'
        '404':
          $ref: '#/components/responses/NotFound'
  /wp/v2/tags:
    get:
      operationId: listTags
      summary: List tags
      description: Post tag terms. One term is registered on 2026-08-01.
      tags:
      - Taxonomy
      security:
      - {}
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/perPage'
      - $ref: '#/components/parameters/search'
      - $ref: '#/components/parameters/slug'
      - $ref: '#/components/parameters/fields'
      responses:
        '200':
          description: Successful response.
          headers:
            X-WP-Total:
              $ref: '#/components/headers/XWPTotal'
            X-WP-TotalPages:
              $ref: '#/components/headers/XWPTotalPages'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Term'
        '400':
          $ref: '#/components/responses/InvalidParam'
  /wp/v2/tags/{id}:
    get:
      operationId: getTag
      summary: Get a tag
      description: Retrieve a single tag term by its numeric id.
      tags:
      - Taxonomy
      security:
      - {}
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Term'
        '404':
          $ref: '#/components/responses/NotFound'
  /wp/v2/taxonomies:
    get:
      operationId: listTaxonomies
      summary: List taxonomies
      description: The registered taxonomies and the content types each applies to.
      tags:
      - Discovery
      security:
      - {}
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/Taxonomy'
              examples:
                taxonomies:
                  summary: Registered taxonomies
                  externalValue: ../examples/mindmaze-taxonomies.json
  /wp/v2/types:
    get:
      operationId: listContentTypes
      summary: List content types
      description: The registered content types and their REST base paths. MindMaze registers no
        custom public post type - the corpus is core posts, pages and media.
      tags:
      - Discovery
      security:
      - {}
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  $ref: '#/components/schemas/ContentType'
              examples:
                types:
                  summary: Registered content types
                  externalValue: ../examples/mindmaze-content-types.json
  /wp/v2/statuses:
    get:
      operationId: listStatuses
      summary: List post statuses
      description: The publicly queryable post statuses.
      tags:
      - Discovery
      security:
      - {}
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: object
  /wp/v2/search:
    get:
      operationId: searchContent
      summary: Search site content
      description: Cross-content-type search over published mindmazetherapeutics.com content,
        returning id, title, url, type and subtype for each hit.
      tags:
      - Search
      security:
      - {}
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/perPage'
      - name: search
        in: query
        required: true
        description: The search term.
        schema:
          type: string
      - name: type
        in: query
        description: Limit results to items of an object type.
        schema:
          type: string
          enum: [post, term, post-format]
      - name: subtype
        in: query
        description: Limit results to items of one or more object subtypes.
        schema:
          type: string
      responses:
        '200':
          description: Successful response.
          headers:
            X-WP-Total:
              $ref: '#/components/headers/XWPTotal'
            X-WP-TotalPages:
              $ref: '#/components/headers/XWPTotalPages'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SearchResult'
              examples:
                search:
                  summary: Search results for "stroke"
                  externalValue: ../examples/mindmaze-search.json
        '400':
          $ref: '#/components/responses/InvalidParam'
  /oembed/1.0/embed:
    get:
      operationId: getOEmbed
      summary: Get an oEmbed response
      description: Returns the oEmbed representation of a mindmazetherapeutics.com URL.
      tags:
      - oEmbed
      security:
      - {}
      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
        description: The oEmbed format to use.
        schema:
          type: string
          enum: [json, xml]
          default: json
      - name: maxwidth
        in: query
        description: The maximum width of the embed frame in pixels.
        schema:
          type: integer
          default: 600
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
        '404':
          $ref: '#/components/responses/NotFound'
components:
  headers:
    XWPTotal:
      description: Total number of matching records.
      schema:
        type: integer
    XWPTotalPages:
      description: Total number of pages available.
      schema:
        type: integer
    LinkPagination:
      description: RFC 8288 Link header carrying rel="next" and rel="prev" page URLs.
      schema:
        type: string
  parameters:
    id:
      name: id
      in: path
      required: true
      description: Unique numeric identifier for the object.
      schema:
        type: integer
    page:
      name: page
      in: query
      description: Current page of the collection.
      schema:
        type: integer
        default: 1
        minimum: 1
    perPage:
      name: per_page
      in: query
      description: Maximum number of items to be returned in the result set.
      schema:
        type: integer
        default: 10
        minimum: 1
        maximum: 100
    search:
      name: search
      in: query
      description: Limit results to those matching a string.
      schema:
        type: string
    after:
      name: after
      in: query
      description: Limit response to posts published after a given ISO 8601 compliant date.
      schema:
        type: string
        format: date-time
    before:
      name: before
      in: query
      description: Limit response to posts published before a given ISO 8601 compliant date.
      schema:
        type: string
        format: date-time
    order:
      name: order
      in: query
      description: Order sort attribute ascending or descending.
      schema:
        type: string
        enum: [asc, desc]
        default: desc
    orderby:
      name: orderby
      in: query
      description: Sort collection by object attribute.
      schema:
        type: string
        enum: [author, date, id, include, modified, parent, relevance, slug, title]
        default: date
    slug:
      name: slug
      in: query
      description: Limit result set to items with one or more specific slugs.
      schema:
        type: array
        items:
          type: string
      style: form
      explode: false
    fields:
      name: _fields
      in: query
      description: Limit the fields returned in the response, as a comma-separated list.
      schema:
        type: string
      example: id,date,slug,link,title,categories
  responses:
    InvalidParam:
      description: One or more query parameters failed validation.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: rest_invalid_param
            message: 'Invalid parameter(s): per_page'
            data:
              status: 400
              params:
                per_page: per_page must be between 1 (inclusive) and 100 (inclusive)
    NotFound:
      description: The requested object does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: rest_post_invalid_id
            message: Invalid post ID.
            data:
              status: 404
  schemas:
    Error:
      type: object
      description: The WordPress REST API error envelope. Not RFC 9457 problem+json.
      properties:
        code:
          type: string
          description: Machine-readable error code.
        message:
          type: string
          description: Human-readable error message.
        data:
          type: object
          properties:
            status:
              type: integer
              description: HTTP status code.
            params:
              type: object
              description: Per-parameter validation messages, on rest_invalid_param.
            details:
              type: object
              description: Per-parameter structured error detail, on rest_invalid_param.
      required: [code, message, data]
    Rendered:
      type: object
      description: A rendered content field.
      properties:
        rendered:
          type: string
        protected:
          type: boolean
    Post:
      type: object
      description: A MindMaze Therapeutics news item, press release or regulatory announcement.
      properties:
        id:
          type: integer
        date:
          type: string
          format: date-time
        date_gmt:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        slug:
          type: string
        status:
          type: string
        type:
          type: string
        link:
          type: string
          format: uri
        title:
          $ref: '#/components/schemas/Rendered'
        content:
          $ref: '#/components/schemas/Rendered'
        excerpt:
          $ref: '#/components/schemas/Rendered'
        author:
          type: integer
        featured_media:
          type: integer
        categories:
          type: array
          items:
            type: integer
        tags:
          type: array
          items:
            type: integer
    Page:
      type: object
      description: A mindmazetherapeutics.com page.
      properties:
        id:
          type: integer
        date:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        slug:
          type: string
        status:
          type: string
        type:
          type: string
        link:
          type: string
          format: uri
        title:
          $ref: '#/components/schemas/Rendered'
        content:
          $ref: '#/components/schemas/Rendered'
        parent:
          type: integer
        menu_order:
          type: integer
    MediaItem:
      type: object
      description: A file in the MindMaze media library.
      properties:
        id:
          type: integer
        date:
          type: string
          format: date-time
        slug:
          type: string
        link:
          type: string
          format: uri
        title:
          $ref: '#/components/schemas/Rendered'
        media_type:
          type: string
        mime_type:
          type: string
        source_url:
          type: string
          format: uri
        alt_text:
          type: string
        media_details:
          type: object
        post:
          type: integer
          description: The id of the post this media item is attached to.
    Term:
      type: object
      description: A category or tag term.
      properties:
        id:
          type: integer
        count:
          type: integer
        description:
          type: string
        link:
          type: string
          format: uri
        name:
          type: string
        slug:
          type: string
        taxonomy:
          type: string
        parent:
          type: integer
    Taxonomy:
      type: object
      properties:
        name:
          type: string
        slug:
          type: string
        rest_base:
          type: string
        hierarchical:
          type: boolean
        types:
          type: array
          items:
            type: string
    ContentType:
      type: object
      properties:
        name:
          type: string
        slug:
          type: string
        rest_base:
          type: string
        rest_namespace:
          type: string
        taxonomies:
          type: array
          items:
            type: string
    SearchResult:
      type: object
      properties:
        id:
          type: integer
        title:
          type: string
        url:
          type: string
          format: uri
        type:
          type: string
        subtype:
          type: string
    ApiIndex:
      type: object
      description: The WordPress REST API discovery document.
      properties:
        name:
          type: string
        description:
          type: string
        url:
          type: string
          format: uri
        home:
          type: string
          format: uri
        namespaces:
          type: array
          items:
            type: string
        authentication:
          type: object
        routes:
          type: object