openapi: 3.1.0 info: title: KSQ Therapeutics Taxonomy API version: wp/v2 summary: Anonymously readable WordPress REST content surface behind ksqtx.com. description: The read-only content surface KSQ Therapeutics exposes at https://ksqtx.com/wp-json. KSQ Therapeutics is a clinical-stage biotechnology company in Lexington, Massachusetts that applies genome-scale CRISPR/Cas9 functional genomic screening — its CRISPRomics platform — to identify therapeutic targets, and develops CRISPR/Cas9-engineered tumor-infiltrating lymphocyte (eTIL) therapies and small molecules in oncology. It runs no developer program and markets no product API. This document is an API Evangelist derivation of the WordPress REST route index the site publishes at /wp-json/, restricted to operations verified to return data anonymously on 2026-08-23. Every parameter below appears verbatim in that route index under the endpoint args. Write operations and the whole administrative surface — /wp/v2/settings, /wp/v2/users, /wp/v2/plugins, /wp/v2/themes, and the aioseo/v1, cky/v1, redirection/v1, divi/v1, wp-block-editor/v1, wp-site-health/v1 and wp-abilities/v1 namespaces — return HTTP 401 rest_forbidden anonymously and are deliberately excluded. contact: name: KSQ Therapeutics url: https://ksqtx.com/ email: info@ksqtx.com x-api-evangelist-provenance: 'Derived by the API Evangelist enrichment pipeline on 2026-08-23 from the live WordPress REST route index at https://ksqtx.com/wp-json/ (349 routes across 9 namespaces: oembed/1.0, aioseo/v1, cky/v1, redirection/v1, divi/v1, wp/v2, wp-site-health/v1, wp-block-editor/v1, wp-abilities/v1) and verified against live anonymous responses on that date. Collection counts quoted in descriptions were read from the X-WP-Total response header. KSQ 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. Nothing here was obtained with credentials.' servers: - url: https://ksqtx.com/wp-json description: Production content API tags: - name: taxonomy description: Taxonomy API operations on the ksqtx.com WordPress deployment. paths: /wp/v2/categories: get: tags: - taxonomy operationId: listCategories summary: List categories description: Lists category terms. One term ("Uncategorized", 5 posts) on 2026-08-23. responses: '200': description: Success. content: application/json: schema: type: array items: type: object headers: X-WP-Total: description: Total number of items in the unpaginated collection. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the current per_page. schema: type: integer Link: description: RFC 8288 pagination links (rel="next", rel="prev"). schema: type: string '400': description: Invalid parameter — one or more query arguments failed WordPress REST argument validation. content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: rest_forbidden — the requested scope or route requires authentication. Returned for context=edit and for every administrative namespace on this deployment. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: rest_no_route or rest_post_invalid_id — no route matched, or the requested item does not exist. content: application/json: schema: $ref: '#/components/schemas/Error' 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 /wp/v2/categories/{id}: get: tags: - taxonomy operationId: getCategory summary: Get a category by id description: Returns a single category term. responses: '200': description: Success. content: application/json: schema: type: object '400': description: Invalid parameter — one or more query arguments failed WordPress REST argument validation. content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: rest_forbidden — the requested scope or route requires authentication. Returned for context=edit and for every administrative namespace on this deployment. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: rest_no_route or rest_post_invalid_id — no route matched, or the requested item does not exist. content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: id in: path required: true description: Unique identifier for the resource. schema: type: integer - name: id in: query description: Unique identifier for the term. 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 /wp/v2/tags: get: tags: - taxonomy operationId: listTags summary: List post tags description: Lists post_tag terms. Registered and reachable, empty on this deployment (X-WP-Total 0). responses: '200': description: Success. content: application/json: schema: type: array items: type: object headers: X-WP-Total: description: Total number of items in the unpaginated collection. schema: type: integer X-WP-TotalPages: description: Total number of pages available at the current per_page. schema: type: integer Link: description: RFC 8288 pagination links (rel="next", rel="prev"). schema: type: string '400': description: Invalid parameter — one or more query arguments failed WordPress REST argument validation. content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: rest_forbidden — the requested scope or route requires authentication. Returned for context=edit and for every administrative namespace on this deployment. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: rest_no_route or rest_post_invalid_id — no route matched, or the requested item does not exist. content: application/json: schema: $ref: '#/components/schemas/Error' 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 /wp/v2/tags/{id}: get: tags: - taxonomy operationId: getTag summary: Get a tag by id description: Returns a single post_tag term. responses: '200': description: Success. content: application/json: schema: type: object '400': description: Invalid parameter — one or more query arguments failed WordPress REST argument validation. content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: rest_forbidden — the requested scope or route requires authentication. Returned for context=edit and for every administrative namespace on this deployment. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: rest_no_route or rest_post_invalid_id — no route matched, or the requested item does not exist. content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: id in: path required: true description: Unique identifier for the resource. schema: type: integer - name: id in: query description: Unique identifier for the term. 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 components: schemas: Error: type: object description: The WordPress REST API error envelope. Not RFC 9457 problem+json — served as application/json. required: - code - message - data properties: code: type: string description: Machine-readable error slug, e.g. rest_no_route, rest_forbidden, rest_post_invalid_id. examples: - rest_no_route message: type: string description: Human-readable message. examples: - No route was found matching the URL and request method. data: type: object description: Error payload. Always carries the HTTP status; parameter errors add params and details. properties: status: type: integer examples: - 404