openapi: 3.2.0
info:
title: Kriya Therapeutics Content Discovery API
version: wp/v2
summary: Anonymously readable WordPress REST content API behind kriyatherapeutics.com.
description: The read-only content surface Kriya Therapeutics exposes at https://kriyatherapeutics.com/wp-json. Kriya Therapeutics is a clinical-stage biopharmaceutical company developing one-time AAV gene therapies for chronic diseases across ophthalmology, metabolic disease and neurology; it runs no developer program and markets no product API. This document is an API Evangelist derivation of the WordPress `wp/v2` route index the site publishes at /wp-json/, restricted to the operations that were verified to return data anonymously on 2026-08-04. Write operations, /wp/v2/settings, /wp/v2/users, /wp/v2/themes, /wp/v2/plugins, /wp/v2/menus, /wp/v2/block-types, and the wp-abilities/v1, gutena-forms/v1, yoast/v1, wordfence/v1, wpe/cache-plugin/v1, wpe_sign_on_plugin/v1 and wp-site-health/v1 namespaces all require authentication and are deliberately excluded — see x-api-evangelist-provenance.
contact:
name: Kriya Therapeutics
url: https://kriyatherapeutics.com/connect/
x-api-evangelist-provenance: 'Derived by the API Evangelist enrichment pipeline from the live WordPress REST route index at https://kriyatherapeutics.com/wp-json/ (227 routes across the namespaces oembed/1.0, wpe/cache-plugin/v1, wpe_sign_on_plugin/v1, cookie-notice/v1, gutena-forms/v1, wordfence/v1, yoast/v1, wp/v2, wp-site-health/v1, wp-block-editor/v1, wp-abilities/v1) and verified against live anonymous responses on 2026-08-04. Every parameter below appears verbatim in the route index `args` for that endpoint, read from an OPTIONS request against the collection. Observed collection sizes on the harvest date: posts 33, pages 18, news 28, media 304, categories 7, teamkeywords 4, gutena_forms 1, search 58; team 0, newscategories 0, tags 0, comments 0. Kriya 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://kriyatherapeutics.com/wp-json
description: Production content API
tags:
- name: discovery
description: Route, type, taxonomy and status discovery documents.
paths:
/:
get:
tags:
- discovery
operationId: getApiIndex
summary: Get the REST API index
description: Returns the site index — name, description, URL, home, GMT offset, timezone, the registered namespaces, the site logo attachment id, the authentication methods, and the full route table (227 routes on this deployment).
parameters:
- $ref: '#/components/parameters/Context'
- name: namespace
in: query
description: Restrict the response to a single namespace.
schema:
type: string
examples:
- wp/v2
responses:
'200':
description: Site index
content:
application/json:
schema:
$ref: '#/components/schemas/ApiIndex'
/wp/v2/comments:
get:
tags:
- discovery
operationId: listComments
summary: List comments
description: Lists approved comments. Reachable anonymously and returns an empty array on this deployment — the site publishes no comment surface.
parameters:
- $ref: '#/components/parameters/Context'
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/PerPage'
- $ref: '#/components/parameters/Search'
responses:
'200':
description: A page of comments (empty on this deployment).
content:
application/json:
schema:
type: array
items:
type: object
/wp/v2/types:
get:
tags:
- discovery
operationId: listTypes
summary: List registered post types
description: Returns every registered post type keyed by slug, including the two custom types that carry this company's content — `news` (rest_base `news`, taxonomy `newscategories`) and `team` (rest_base `team`, taxonomy `teamkeywords`).
parameters:
- $ref: '#/components/parameters/Context'
responses:
'200':
description: Registered post types.
content:
application/json:
schema:
type: object
additionalProperties:
$ref: '#/components/schemas/PostType'
/wp/v2/types/{type}:
get:
tags:
- discovery
operationId: getType
summary: Get a registered post type
parameters:
- name: type
in: path
required: true
schema:
type: string
examples:
news:
value: news
- $ref: '#/components/parameters/Context'
responses:
'200':
description: A single post type.
content:
application/json:
schema:
$ref: '#/components/schemas/PostType'
/wp/v2/taxonomies:
get:
tags:
- discovery
operationId: listTaxonomies
summary: List registered taxonomies
parameters:
- $ref: '#/components/parameters/Context'
- name: type
in: query
description: Limit results to taxonomies associated with a specific post type.
schema:
type: string
responses:
'200':
description: Registered taxonomies.
content:
application/json:
schema:
type: object
additionalProperties:
$ref: '#/components/schemas/Taxonomy'
/wp/v2/taxonomies/{taxonomy}:
get:
tags:
- discovery
operationId: getTaxonomy
summary: Get a registered taxonomy
parameters:
- name: taxonomy
in: path
required: true
schema:
type: string
examples:
newscategories:
value: newscategories
- $ref: '#/components/parameters/Context'
responses:
'200':
description: A single taxonomy.
content:
application/json:
schema:
$ref: '#/components/schemas/Taxonomy'
/wp/v2/statuses:
get:
tags:
- discovery
operationId: listStatuses
summary: List post statuses
parameters:
- $ref: '#/components/parameters/Context'
responses:
'200':
description: Registered statuses visible to the caller.
content:
application/json:
schema:
type: object
additionalProperties: true
components:
parameters:
PerPage:
name: per_page
in: query
description: Maximum number of items to be returned per page. Values above 100 are rejected with rest_invalid_param.
schema:
type: integer
default: 10
minimum: 1
maximum: 100
Context:
name: context
in: query
description: Scope under which the request is made; determines fields present in the response.
schema:
type: string
enum:
- view
- embed
- edit
default: view
Page:
name: page
in: query
description: Current page of the collection.
schema:
type: integer
default: 1
minimum: 1
Search:
name: search
in: query
description: Limit results to those matching a string.
schema:
type: string
schemas:
Links:
type: object
description: HAL-style link relations WordPress attaches to every resource; `_embed=1` inlines them.
additionalProperties: true
Taxonomy:
type: object
properties:
name:
type: string
slug:
type: string
description:
type: string
hierarchical:
type: boolean
rest_base:
type: string
rest_namespace:
type: string
types:
type: array
items:
type: string
_links:
$ref: '#/components/schemas/Links'
PostType:
type: object
properties:
description:
type: string
hierarchical:
type: boolean
has_archive:
type:
- boolean
- string
name:
type: string
slug:
type: string
icon:
type:
- string
- 'null'
rest_base:
type: string
rest_namespace:
type: string
taxonomies:
type: array
items:
type: string
_links:
$ref: '#/components/schemas/Links'
ApiIndex:
type: object
properties:
name:
type: string
description:
type: string
url:
type: string
format: uri
home:
type: string
format: uri
gmt_offset:
type:
- number
- string
timezone_string:
type: string
site_logo:
type: integer
namespaces:
type: array
items:
type: string
authentication:
type:
- object
- array
routes:
type: object
additionalProperties: true
_links:
$ref: '#/components/schemas/Links'