KSQ Therapeutics Media API

WordPress media library — 235 attachments on 2026-08-23, including leadership and board headshots, pipeline and platform graphics, poster PDFs and the homepage background video.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ksq-therapeutics-media-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ksq-therapeutics-media-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: KSQ Therapeutics Media 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: media
  description: Media API operations on the ksqtx.com WordPress deployment.
paths:
  /wp/v2/media:
    get:
      tags:
      - media
      operationId: listMedia
      summary: List media attachments
      description: Lists the media library. 235 attachments returned anonymously on 2026-08-23 (X-WP-Total) — the site imagery,
        leadership and board headshots, pipeline graphics, poster PDFs and the homepage background video.
      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: after
        in: query
        description: Limit response to posts published after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: modified_after
        in: query
        description: Limit response to posts modified after a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: author
        in: query
        description: Limit result set to posts assigned to specific authors.
        schema:
          type: array
          items:
            type: integer
          default: []
      - name: author_exclude
        in: query
        description: Ensure result set excludes posts assigned to specific authors.
        schema:
          type: array
          items:
            type: integer
          default: []
      - name: before
        in: query
        description: Limit response to posts published before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - name: modified_before
        in: query
        description: Limit response to posts modified before a given ISO8601 compliant date.
        schema:
          type: string
          format: date-time
      - 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: search_semantics
        in: query
        description: How to interpret the search input.
        schema:
          type: string
          enum:
          - exact
      - 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: desc
      - name: orderby
        in: query
        description: Sort collection by post attribute.
        schema:
          type: string
          enum:
          - author
          - date
          - id
          - include
          - modified
          - parent
          - relevance
          - slug
          - include_slugs
          - title
          default: date
      - name: parent
        in: query
        description: Limit result set to items with particular parent IDs.
        schema:
          type: array
          items:
            type: integer
          default: []
      - name: parent_exclude
        in: query
        description: Limit result set to all items except those of a particular parent ID.
        schema:
          type: array
          items:
            type: integer
          default: []
      - name: search_columns
        in: query
        description: Array of column names to be searched.
        schema:
          type: array
          items:
            type: string
            enum:
            - post_title
            - post_content
            - post_excerpt
          default: []
      - name: slug
        in: query
        description: Limit result set to posts with one or more specific slugs.
        schema:
          type: array
          items:
            type: string
      - name: status
        in: query
        description: Limit result set to posts assigned one or more statuses.
        schema:
          type: array
          items:
            type: string
            enum:
            - inherit
            - private
            - trash
          default: inherit
      - name: media_type
        in: query
        description: Limit result set to attachments of a particular media type or media types.
        schema:
          type: array
          items:
            type: string
            enum:
            - image
            - video
            - text
            - application
            - audio
      - name: mime_type
        in: query
        description: Limit result set to attachments of a particular MIME type or MIME types.
        schema:
          type: array
          items:
            type: string
  /wp/v2/media/{id}:
    get:
      tags:
      - media
      operationId: getMediaItem
      summary: Get a media attachment by id
      description: Returns a single attachment including source_url, mime_type and the generated size variants under media_details.sizes.
      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 post.
        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