openapi: 3.2.0 info: title: Memo Therapeutics Taxonomy API version: wp/v2 summary: Anonymously readable WordPress REST content API behind memo-therapeutics.com. description: The read-only content surface Memo Therapeutics exposes at https://memo-therapeutics.com/wp-json. Memo Therapeutics AG ("MTx") is a late-stage biotech in Schlieren / Zurich, Switzerland, translating human immune responses into antibody medicines for viral infection and cancer; its lead asset potravitug is a first-in-class monoclonal antibody against BK polyomavirus in kidney transplant recipients, and Ipsen completed its acquisition of the company on 22 July 2026. The company runs no developer program and markets no product API. This document is an API Evangelist derivation of the WordPress route index the site itself publishes; it is not a contract Memo Therapeutics authored or endorses. contact: name: Memo Therapeutics AG url: https://memo-therapeutics.com/contact-us/ email: info@memo-therapeutics.com x-api-evangelist-provenance: Derived by the API Evangelist enrichment pipeline from the live WordPress REST route index published at https://memo-therapeutics.com/wp-json/ (390 routes across 14 namespaces), and restricted to the operations that were verified to answer anonymously with a 200 on 2026-08-25. Every parameter below appears verbatim in that route index's `args` for the endpoint it is attached to, and every collection count quoted in a description was read from the `X-WP-Total` response header on that date. Memo Therapeutics publishes no OpenAPI, no developer portal and no API reference; `humanURL` in apis.yml points at the upstream WordPress REST handbook that defines the wp/v2 contract. Write operations and the authenticated surface (/wp/v2/users, /wp/v2/settings, /wp/v2/menus, /wp/v2/themes, /wp/v2/plugins, /wp/v2/block-types, the aioseo/v1, elementor*/v1, wordfence/v1, wp-site-health/v1 and wp-abilities/v1 namespaces) all returned 401 to an anonymous client and are deliberately excluded. Nothing here was obtained with credentials. servers: - url: https://memo-therapeutics.com/wp-json description: Production content API tags: - name: taxonomy description: Categories and tags. Eight categories are registered and populated (blog-posts 36, past-events 24, archived 2, industry-forums 2, nephrology 2, oncology 2, pharmaceutical-companies 2, research-universities 0); the post_tag taxonomy is registered but empty. paths: /wp/v2/categories: get: tags: - taxonomy operationId: listCategories summary: List categories description: Lists category terms. Eight terms on 2026-08-25. 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: page in: query description: Current page of the collection. schema: type: integer default: 1 minimum: 1 - name: per_page in: query description: Maximum number of items to be returned in result set. schema: type: integer default: 10 minimum: 1 maximum: 100 - name: search in: query description: Limit results to those matching a string. schema: type: string - name: exclude in: query description: Ensure result set excludes specific IDs. schema: type: array items: type: integer default: [] - name: include in: query description: Limit result set to specific IDs. schema: type: array items: type: integer default: [] - name: order in: query description: Order sort attribute ascending or descending. schema: type: string enum: - asc - desc default: asc - name: orderby in: query description: Sort collection by term attribute. schema: type: string enum: - id - include - name - slug - include_slugs - term_group - description - count default: name - name: hide_empty in: query description: Whether to hide terms not assigned to any posts. schema: type: boolean default: false - name: parent in: query description: Limit result set to terms assigned to a specific parent. schema: type: integer - name: post in: query description: Limit result set to terms assigned to a specific post. schema: type: integer - name: slug in: query description: Limit result set to terms with one or more specific slugs. schema: type: array items: type: string responses: '200': description: A page of category terms. content: application/json: schema: &id001 type: array items: type: object '400': $ref: '#/components/responses/InvalidParameter' '404': $ref: '#/components/responses/NoRoute' /wp/v2/categories/{id}: get: tags: - taxonomy operationId: getCategory summary: Get a category description: Returns one category term by id. parameters: - name: id in: path description: Unique identifier for the term. required: true schema: type: integer - 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: &id002 type: object '400': $ref: '#/components/responses/InvalidParameter' '404': $ref: '#/components/responses/NoRoute' /wp/v2/tags: get: tags: - taxonomy operationId: listTags summary: List tags description: Lists post_tag terms. The taxonomy is registered but held zero terms on 2026-08-25. 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: page in: query description: Current page of the collection. schema: type: integer default: 1 minimum: 1 - name: per_page in: query description: Maximum number of items to be returned in result set. schema: type: integer default: 10 minimum: 1 maximum: 100 - name: search in: query description: Limit results to those matching a string. schema: type: string - name: exclude in: query description: Ensure result set excludes specific IDs. schema: type: array items: type: integer default: [] - name: include in: query description: Limit result set to specific IDs. schema: type: array items: type: integer default: [] - name: offset in: query description: Offset the result set by a specific number of items. schema: type: integer - name: order in: query description: Order sort attribute ascending or descending. schema: type: string enum: - asc - desc default: asc - name: orderby in: query description: Sort collection by term attribute. schema: type: string enum: - id - include - name - slug - include_slugs - term_group - description - count default: name - name: hide_empty in: query description: Whether to hide terms not assigned to any posts. schema: type: boolean default: false - name: post in: query description: Limit result set to terms assigned to a specific post. schema: type: integer - name: slug in: query description: Limit result set to terms with one or more specific slugs. schema: type: array items: type: string responses: '200': description: A page of tag terms. content: application/json: schema: *id001 '400': $ref: '#/components/responses/InvalidParameter' '404': $ref: '#/components/responses/NoRoute' /wp/v2/tags/{id}: get: tags: - taxonomy operationId: getTag summary: Get a tag description: Returns one tag term by id. parameters: - name: id in: path description: Unique identifier for the term. required: true schema: type: integer - 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: *id002 '400': $ref: '#/components/responses/InvalidParameter' '404': $ref: '#/components/responses/NoRoute' components: schemas: RestError: type: object description: The WordPress REST error envelope, observed verbatim on this deployment. It is NOT RFC 9457 application/problem+json — the media type is application/json. properties: code: type: string description: Machine-readable error slug, e.g. rest_forbidden. message: type: string description: Human-readable message. data: type: object properties: status: type: integer description: HTTP status code, repeated in the body. required: - code - message RenderedText: type: object properties: rendered: type: string description: WordPress renders text fields into a { rendered } wrapper. responses: InvalidParameter: description: Invalid parameter (code rest_invalid_param). content: application/json: schema: $ref: '#/components/schemas/RestError' NoRoute: description: No route matched (code rest_no_route), or the object does not exist. content: application/json: schema: $ref: '#/components/schemas/RestError' Forbidden: description: Anonymous client is not permitted (code rest_forbidden / rest_cannot_view). Observed 401, not 403. content: application/json: schema: $ref: '#/components/schemas/RestError'