openapi: 3.1.0 info: title: KSQ Therapeutics Discovery 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: discovery description: Discovery API operations on the ksqtx.com WordPress deployment. paths: /: get: tags: - discovery operationId: getRouteIndex summary: Get the REST route index description: 'Returns the WordPress REST API discovery document for ksqtx.com: site name, description, home URL, namespaces, authentication methods and the full route table. 349 routes across 9 namespaces on 2026-08-23. This document is the only machine-readable contract KSQ Therapeutics publishes, and it is the source this OpenAPI was derived from.' 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: context in: query schema: type: string default: view /wp/v2: get: tags: - discovery operationId: getNamespaceIndex summary: Get the wp/v2 namespace index description: Returns the route table scoped to the wp/v2 namespace. 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: namespace in: query schema: type: string default: wp/v2 - name: context in: query schema: type: string default: view /wp/v2/types: get: tags: - discovery operationId: listTypes summary: List registered post types description: 'Returns every registered post type with its REST base, taxonomies and supported features. On this deployment: post, page, attachment, press_release, project, pipelines, platforms, leadership, board_of_directors, investors.' 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 /wp/v2/taxonomies: get: tags: - discovery operationId: listTaxonomies summary: List registered taxonomies description: Returns every registered taxonomy with the post types it applies to. 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: type in: query description: Limit results to taxonomies associated with a specific post type. schema: type: string /wp/v2/statuses: get: tags: - discovery operationId: listStatuses summary: List post statuses description: Returns the post statuses visible to the caller. Anonymously this is publish only. 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 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