openapi: 3.2.0 info: title: Jnana Therapeutics Content Taxonomy API version: wp/v2 summary: Anonymously readable WordPress REST content API behind www.jnanatx.com. description: The read-only content surface Jnana Therapeutics exposes at https://www.jnanatx.com/wp-json. Jnana Therapeutics is a Boston-based biotechnology company that built the RAPID (Reactive Affinity Probe Interaction Discovery) next-generation chemoproteomics platform for small-molecule drug discovery, and has been a direct subsidiary of Otsuka America, Inc. since Otsuka Pharmaceutical completed its acquisition of the company on 23 September 2024. It runs no developer program and markets no product API. This document is an API Evangelist derivation of the WordPress `wp/v2`, `oembed/1.0`, `genesis/v1` and `yoast/v1` route index the site publishes at /wp-json/, restricted to the operations that were verified to return data anonymously on 2026-08-23. Write operations and the administrative surface — `/wp/v2/settings`, `/wp/v2/menu-items`, `/wp/v2/block-types`, `/wp/v2/templates`, `/wp/v2/navigation`, the `wp-abilities/v1`, `wp-site-health/v1`, `wp-block-editor/v1`, `contact-form-7/v1`, `wpe/cache-plugin/v1` and `wpe_sign_on_plugin/v1` namespaces, and `/oembed/1.0/proxy` — all answered 401/403/404 anonymously and are deliberately excluded. See x-api-evangelist-provenance. contact: name: Jnana Therapeutics url: https://www.jnanatx.com/contact-us/ email: info@jnanatx.com x-api-evangelist-provenance: 'Derived by the API Evangelist enrichment pipeline from the live WordPress REST route index at https://www.jnanatx.com/wp-json/ (202 routes across 11 namespaces) and verified against live anonymous responses on 2026-08-23. Every query parameter below appears verbatim in that route index `args` block for the endpoint it is attached to, and every collection count in a description was read from the `X-WP-Total` response header on that date. Jnana Therapeutics publishes no OpenAPI, no developer documentation 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 served by WP Engine behind Cloudflare, responses carry `x-robots-tag: noindex` and `cache-control: max-age=600, must-revalidate`, and an OPTIONS preflight on /wp/v2/posts returns `allow: GET` — confirming the surface is read-only to an anonymous caller. Nothing here was obtained with credentials.' servers: - url: https://www.jnanatx.com/wp-json description: Production content API tags: - name: taxonomy description: Post categories (7 registered — press-releases 43, in-the-news 16, presentations 3, insights 2, publications 0, blogs 0, videos 0) and team departments (4 registered). The core `post_tag` taxonomy is not exposed — /wp/v2/tags returns rest_no_route. paths: /wp/v2/categories: get: tags: - taxonomy operationId: listCategories summary: List post categories description: 7 categories registered at harvest time. parameters: - $ref: '#/components/parameters/Context' - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Order' - $ref: '#/components/parameters/Slug' - name: hide_empty in: query required: false schema: type: boolean default: false - name: parent in: query required: false schema: type: integer - name: post in: query required: false schema: type: integer responses: '200': description: A page of categories. 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/categories/{id}: get: tags: - taxonomy operationId: getCategory summary: Get a single category parameters: - $ref: '#/components/parameters/IdPath' - $ref: '#/components/parameters/Context' responses: '200': description: The category term. content: application/json: schema: $ref: '#/components/schemas/Term' '404': $ref: '#/components/responses/NotFound' /wp/v2/team-department: get: tags: - taxonomy operationId: listTeamDepartments summary: List team departments description: 4 department terms registered at harvest time, including Leadership (5 members). parameters: - $ref: '#/components/parameters/Context' - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/Slug' - name: hide_empty in: query required: false schema: type: boolean default: false - name: post in: query required: false schema: type: integer responses: '200': description: A page of department terms. 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/team-department/{id}: get: tags: - taxonomy operationId: getTeamDepartment summary: Get a single team department parameters: - $ref: '#/components/parameters/IdPath' - $ref: '#/components/parameters/Context' responses: '200': description: The department term. content: application/json: schema: $ref: '#/components/schemas/Term' '404': $ref: '#/components/responses/NotFound' components: schemas: Error: type: object description: The WordPress REST error envelope. Not RFC 9457 — see errors/jnana-therapeutics-problem-types.yml. required: - code - message - data properties: code: type: string description: Machine-readable error slug. message: type: string description: Human-readable message. data: type: object properties: status: type: integer params: type: object details: type: object Term: type: object 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 meta: type: array items: type: object _links: type: object parameters: IdPath: name: id in: path required: true description: Unique identifier for the object. schema: type: integer PerPage: name: per_page in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 10 Page: name: page in: query required: false schema: type: integer minimum: 1 default: 1 Search: name: search in: query required: false schema: type: string Slug: name: slug in: query required: false schema: type: array items: type: string Order: name: order in: query required: false schema: type: string enum: - asc - desc default: desc Context: name: context in: query required: false description: Scope under which the request is made; determines fields present in the response. `edit` requires authentication. schema: type: string enum: - view - embed - edit default: view headers: XWPTotalPages: description: Total number of pages available at the current per_page. schema: type: integer XWPTotal: description: Total number of items in the collection. schema: type: integer responses: NotFound: description: No route matched, or the object does not exist. content: application/json: schema: $ref: '#/components/schemas/Error' examples: noRoute: value: code: rest_no_route message: No route was found matching the URL and request method. data: status: 404 InvalidParam: description: A supplied parameter failed validation. content: application/json: schema: $ref: '#/components/schemas/Error' examples: invalidParam: value: code: rest_invalid_param message: 'Invalid parameter(s): per_page' data: status: 400