openapi: 3.2.0 info: title: MBrace Therapeutics Content Search API version: wp/v2 summary: Anonymously readable WordPress REST content API behind mbracetrx.com. description: The read-only content surface MBrace Therapeutics exposes at https://mbracetrx.com/wp-json. MBrace Therapeutics is a privately held, clinical-stage biopharmaceutical company developing antibody-drug conjugates (ADCs) against novel oncology targets, discovered with its SPARTA in vivo antibody selection and target discovery platform. It runs no developer program and markets no product API. This document covers the cross-content search endpoint, which resolves a query string to lightweight {id, title, url, type, subtype} references across every published object. contact: name: MBrace Therapeutics url: https://mbracetrx.com/ license: name: Proprietary — no published API terms url: https://mbracetrx.com/terms-of-use/ x-api-evangelist-provenance: 'Derived by the API Evangelist enrichment pipeline from the live WordPress REST route index at https://mbracetrx.com/wp-json/ (346 routes across 17 namespaces) and verified against live anonymous responses on 2026-08-25. Every query parameter below appears verbatim in that route index''s `args` block for the endpoint it is attached to, every response field was read from a real anonymous response body, and every collection count quoted in a description was read from the `X-WP-Total` response header on that date. MBrace Therapeutics publishes no OpenAPI, no developer portal, no API reference and no developer program for this surface; the humanURL in apis.yml points at the upstream WordPress REST handbook that defines the wp/v2 contract. Write operations and the authenticated administration surface (/wp/v2/settings, /wp/v2/menus, /wp/v2/themes, /wp/v2/plugins, the elementor/*, yoast/v1, redirection/v1, string-locator/v1, wpe/* and wp-abilities/v1 namespaces) are deliberately excluded — they returned 401 anonymously and were not exercised. The deployment is served by WP Engine behind Cloudflare, page HTML is Elementor-rendered, and API responses carry `x-robots-tag: noindex`. Nothing here was obtained with credentials.' servers: - url: https://mbracetrx.com/wp-json description: Production content API tags: - name: search description: Cross-content search across every published object on the deployment (76 searchable objects at harvest time). paths: /wp/v2/search: get: tags: - search operationId: searchContent summary: Search all content description: Searches across published objects. 76 searchable objects at harvest time. Returns references rather than full objects — resolve `id` against the collection named by `subtype` for the full record. This is the cheapest entry point for an agent that does not already know an object identifier. parameters: - name: context in: query description: Scope under which the request is made; determines fields present in response. schema: type: string enum: - view - embed default: view - name: exclude in: query description: Ensure result set excludes specific IDs. schema: type: array items: type: integer - name: include in: query description: Limit result set to specific IDs. schema: type: array items: type: integer - name: page in: query description: Current page of the collection. schema: type: integer minimum: 1 default: 1 - name: per_page in: query description: Maximum number of items to be returned in result set. schema: type: integer minimum: 1 maximum: 100 default: 10 - name: search in: query description: Limit results to those matching a string. schema: type: string - name: subtype in: query description: Limit results to items of one or more object subtypes. schema: type: array items: type: string enum: - post - page - e-floating-buttons - elementor_library - board-member - executive-committee - founders - investor - scientific-board - category - post_tag - any default: any - name: type in: query description: Limit results to items of an object type. schema: type: string enum: - post - term - post-format default: post responses: '200': description: A page of search result references. headers: X-WP-Total: description: Total number of matching items. schema: type: integer X-WP-TotalPages: description: Total number of pages available. schema: type: integer Link: description: RFC 8288 pagination links (rel="next" / rel="prev"). schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/SearchResult' '400': $ref: '#/components/responses/BadRequest' components: schemas: Error: type: object description: The WordPress REST error envelope as returned by this deployment. Not RFC 9457 problem+json. required: - code - message - data properties: code: type: string description: Machine-readable error code. examples: - rest_post_invalid_id message: type: string description: Human-readable error message. examples: - Invalid post ID. data: type: object properties: status: type: integer description: The HTTP status code. examples: - 404 params: type: object description: Per-parameter messages, present on rest_invalid_param. additionalProperties: type: string details: type: object description: Per-parameter structured detail, present on rest_invalid_param. additionalProperties: type: object RenderedText: type: object description: WordPress rendered-text object. properties: rendered: type: string description: HTML for the object, transformed for display. protected: type: boolean description: Whether the content is protected with a password. SearchResult: type: object description: A lightweight search result reference. Field set observed live on this deployment on 2026-08-25. Use `type`/`subtype` to pick which typed collection to dereference the `id` against. properties: _links: type: object description: HAL-style link relations to self, collection, author, and assigned terms. id: type: integer description: Unique identifier for the object. subtype: type: string description: Object subtype. title: allOf: - $ref: '#/components/schemas/RenderedText' description: The title for the object. type: type: string description: Type of post for the object. url: type: string format: uri description: URL of the object. responses: BadRequest: description: Invalid parameter. Returns the WordPress REST error envelope with code rest_invalid_param. content: application/json: schema: $ref: '#/components/schemas/Error'