openapi: 3.1.0 info: title: Atsena Therapeutics Content API (WordPress REST API) version: wp/v2 description: 'The anonymously readable content API behind atsenatx.com, derived from the WordPress REST route index Atsena Therapeutics publishes at https://atsenatx.com/wp-json/. It exposes Atsena press releases and company news (posts), the program, technology, clinical-trial, patient and about pages (pages), the media library, post categories and tags, cross-content search, and the type/taxonomy/status discovery endpoints. Atsena Therapeutics is a clinical-stage gene therapy company and runs no developer program: it publishes no developer documentation, no API reference, no support channel for this surface and no specification of its own. This document is a faithful derivation of the routes, parameters, defaults and enums the site itself advertises, restricted to the read operations verified to return HTTP 200 without credentials on 2026-08-02. Deliberately not modelled: write operations (registered on the same routes but gated behind WordPress application passwords and administrative, not a public API offering); endpoints that reject anonymous callers (users, settings, plugins, templates, menus, and the wp-abilities/v1 registry, all HTTP 401); comments (disabled site-wide, HTTP 403); and the plugin namespaces (yoast/v1, redirection/v1, cookieyes/v1, wpe/*, wp-site-health/v1, wp-block-editor/v1), which are site-administration surfaces rather than content.' contact: name: Atsena Therapeutics url: https://atsenatx.com/contact/ x-derived-from: https://atsenatx.com/wp-json/ x-derived-on: '2026-08-02' x-api-evangelist-note: Derived by the API Evangelist enrichment pipeline from the provider-published WordPress REST route index; not authored or endorsed by Atsena Therapeutics. servers: - url: https://atsenatx.com/wp-json description: Production tags: - name: Posts description: Press releases and company news - name: Pages description: 'Static site pages: programs, technology, clinical trials, patients, about' - name: Media description: Media library items - name: Categories description: Post categories - name: Tags description: Post tags - name: Search description: Cross-content search over posts and pages - name: Discovery description: Route index, content types, taxonomies and post statuses - name: oEmbed description: oEmbed representation of site URLs paths: /: get: operationId: getRouteIndex tags: - Discovery summary: Get the REST API route index description: Returns the site name, URL, registered namespaces, the supported authentication schemes and every registered route with its methods and arguments. This is the document this OpenAPI was derived from. security: - {} responses: '200': description: Route index content: application/json: schema: $ref: '#/components/schemas/RouteIndex' /wp/v2: get: operationId: getCoreNamespaceIndex tags: - Discovery summary: Get the wp/v2 namespace index description: Returns the namespace descriptor and every route registered under wp/v2. security: - {} responses: '200': description: Namespace index content: application/json: schema: type: object /wp/v2/posts: get: operationId: listPosts tags: - Posts summary: List post records description: Press releases and company news items. 55 records were published at derivation time. Paginated with `page` and `per_page`; responses carry `X-WP-Total`, `X-WP-TotalPages` and RFC 8288 `Link` headers. security: - {} parameters: - name: after in: query required: false schema: type: string format: date-time description: Limit response to posts published after a given ISO8601 compliant date. - name: author in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to posts assigned to specific authors. - name: author_exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes posts assigned to specific authors. - name: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - name: categories in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the categories taxonomy. - name: categories_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the categories taxonomy. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes specific IDs. - name: format in: query required: false schema: type: array items: type: string enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio description: Limit result set to items assigned one or more given formats. - name: ignore_sticky in: query required: false schema: type: boolean default: true description: Whether to ignore sticky posts or not. - name: include in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to specific IDs. - name: modified_after in: query required: false schema: type: string format: date-time description: Limit response to posts modified after a given ISO8601 compliant date. - name: modified_before in: query required: false schema: type: string format: date-time description: Limit response to posts modified before a given ISO8601 compliant date. - name: offset in: query required: false schema: type: integer description: Offset the result set by a specific number of items. - name: order in: query required: false schema: type: string enum: - asc - desc default: desc description: Order sort attribute ascending or descending. - name: orderby in: query required: false schema: type: string enum: - author - date - id - include - modified - parent - relevance - slug - include_slugs - title default: date description: Sort collection by post attribute. - name: page in: query required: false schema: type: integer minimum: 1 default: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 10 description: Maximum number of items to be returned in result set. - name: search in: query required: false schema: type: string description: Limit results to those matching a string. - name: search_columns in: query required: false schema: type: array items: type: string enum: - post_title - post_content - post_excerpt default: [] description: Array of column names to be searched. - name: search_semantics in: query required: false schema: type: string enum: - exact description: How to interpret the search input. - name: slug in: query required: false schema: type: array items: type: string description: Limit result set to posts with one or more specific slugs. - name: status in: query required: false schema: type: array items: type: string enum: - publish - future - draft - pending - private - trash - auto-draft - inherit - request-pending - request-confirmed - request-failed - request-completed - acf-disabled - dp-rewrite-republish - any default: publish description: Limit result set to posts assigned one or more statuses. - name: sticky in: query required: false schema: type: boolean description: Limit result set to items that are sticky. - name: tags in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the tags taxonomy. - name: tags_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the tags taxonomy. - name: tax_relation in: query required: false schema: type: string enum: - AND - OR description: Limit result set based on relationship between multiple taxonomies. responses: '200': description: A page of post records headers: X-WP-Total: description: Total number of records in the collection. schema: type: integer X-WP-TotalPages: description: Total number of pages available. schema: type: integer Link: description: RFC 8288 pagination links (rel="next" / rel="prev"). schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/Post' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/posts/{id}: get: operationId: getPost tags: - Posts summary: Get a single post record security: - {} parameters: - name: id in: path required: true schema: type: integer description: Unique identifier for the post. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: excerpt_length in: query required: false schema: type: integer description: Override the default excerpt length. - name: id in: query required: false schema: type: integer description: Unique identifier for the post. - name: password in: query required: false schema: type: string description: The password for the post if it is password protected. responses: '200': description: The post record content: application/json: schema: $ref: '#/components/schemas/Post' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/pages: get: operationId: listPages tags: - Pages summary: List page records description: 'Static site pages: programs (XLRS, LCA1, USH1B, STGD), technology, clinical trials, patients, about and careers. 29 records at derivation time. Paginated with `page` and `per_page`; responses carry `X-WP-Total`, `X-WP-TotalPages` and RFC 8288 `Link` headers.' security: - {} parameters: - name: after in: query required: false schema: type: string format: date-time description: Limit response to posts published after a given ISO8601 compliant date. - name: author in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to posts assigned to specific authors. - name: author_exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes posts assigned to specific authors. - name: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes specific IDs. - name: include in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to specific IDs. - name: menu_order in: query required: false schema: type: integer description: Limit result set to posts with a specific menu_order value. - name: modified_after in: query required: false schema: type: string format: date-time description: Limit response to posts modified after a given ISO8601 compliant date. - name: modified_before in: query required: false schema: type: string format: date-time description: Limit response to posts modified before a given ISO8601 compliant date. - name: offset in: query required: false schema: type: integer description: Offset the result set by a specific number of items. - name: order in: query required: false schema: type: string enum: - asc - desc default: desc description: Order sort attribute ascending or descending. - name: orderby in: query required: false schema: type: string enum: - author - date - id - include - modified - parent - relevance - slug - include_slugs - title - menu_order default: date description: Sort collection by post attribute. - name: page in: query required: false schema: type: integer minimum: 1 default: 1 description: Current page of the collection. - name: parent in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to items with particular parent IDs. - name: parent_exclude in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to all items except those of a particular parent ID. - name: per_page in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 10 description: Maximum number of items to be returned in result set. - name: search in: query required: false schema: type: string description: Limit results to those matching a string. - name: search_columns in: query required: false schema: type: array items: type: string enum: - post_title - post_content - post_excerpt default: [] description: Array of column names to be searched. - name: search_semantics in: query required: false schema: type: string enum: - exact description: How to interpret the search input. - name: slug in: query required: false schema: type: array items: type: string description: Limit result set to posts with one or more specific slugs. - name: status in: query required: false schema: type: array items: type: string enum: - publish - future - draft - pending - private - trash - auto-draft - inherit - request-pending - request-confirmed - request-failed - request-completed - acf-disabled - dp-rewrite-republish - any default: publish description: Limit result set to posts assigned one or more statuses. responses: '200': description: A page of page records headers: X-WP-Total: description: Total number of records in the collection. schema: type: integer X-WP-TotalPages: description: Total number of pages available. schema: type: integer Link: description: RFC 8288 pagination links (rel="next" / rel="prev"). schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/Page' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/pages/{id}: get: operationId: getPage tags: - Pages summary: Get a single page record security: - {} parameters: - name: id in: path required: true schema: type: integer description: Unique identifier for the page. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: excerpt_length in: query required: false schema: type: integer description: Override the default excerpt length. - name: id in: query required: false schema: type: integer description: Unique identifier for the post. - name: password in: query required: false schema: type: string description: The password for the post if it is password protected. responses: '200': description: The page record content: application/json: schema: $ref: '#/components/schemas/Page' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/media: get: operationId: listMedia tags: - Media summary: List media item records description: Media library items. 176 records at derivation time. Paginated with `page` and `per_page`; responses carry `X-WP-Total`, `X-WP-TotalPages` and RFC 8288 `Link` headers. security: - {} parameters: - name: after in: query required: false schema: type: string format: date-time description: Limit response to posts published after a given ISO8601 compliant date. - name: author in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to posts assigned to specific authors. - name: author_exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes posts assigned to specific authors. - name: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes specific IDs. - name: include in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to specific IDs. - name: media_type in: query required: false schema: type: array items: type: string enum: - image - video - text - application - audio description: Limit result set to attachments of a particular media type or media types. - name: mime_type in: query required: false schema: type: array items: type: string description: Limit result set to attachments of a particular MIME type or MIME types. - name: modified_after in: query required: false schema: type: string format: date-time description: Limit response to posts modified after a given ISO8601 compliant date. - name: modified_before in: query required: false schema: type: string format: date-time description: Limit response to posts modified before a given ISO8601 compliant date. - name: offset in: query required: false schema: type: integer description: Offset the result set by a specific number of items. - name: order in: query required: false schema: type: string enum: - asc - desc default: desc description: Order sort attribute ascending or descending. - name: orderby in: query required: false schema: type: string enum: - author - date - id - include - modified - parent - relevance - slug - include_slugs - title default: date description: Sort collection by post attribute. - name: page in: query required: false schema: type: integer minimum: 1 default: 1 description: Current page of the collection. - name: parent in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to items with particular parent IDs. - name: parent_exclude in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to all items except those of a particular parent ID. - name: per_page in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 10 description: Maximum number of items to be returned in result set. - name: search in: query required: false schema: type: string description: Limit results to those matching a string. - name: search_columns in: query required: false schema: type: array items: type: string enum: - post_title - post_content - post_excerpt default: [] description: Array of column names to be searched. - name: search_semantics in: query required: false schema: type: string enum: - exact description: How to interpret the search input. - name: slug in: query required: false schema: type: array items: type: string description: Limit result set to posts with one or more specific slugs. - name: status in: query required: false schema: type: array items: type: string enum: - inherit - private - trash default: inherit description: Limit result set to posts assigned one or more statuses. responses: '200': description: A page of media item records headers: X-WP-Total: description: Total number of records in the collection. schema: type: integer X-WP-TotalPages: description: Total number of pages available. schema: type: integer Link: description: RFC 8288 pagination links (rel="next" / rel="prev"). schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/MediaItem' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/media/{id}: get: operationId: getMediaItem tags: - Media summary: Get a single media item record security: - {} parameters: - name: id in: path required: true schema: type: integer description: Unique identifier for the media item. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: id in: query required: false schema: type: integer description: Unique identifier for the post. responses: '200': description: The media item record content: application/json: schema: $ref: '#/components/schemas/MediaItem' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/categories: get: operationId: listCategories tags: - Categories summary: List category records description: Post categories. 2 terms at derivation time (Company News, Publications). Paginated with `page` and `per_page`; responses carry `X-WP-Total`, `X-WP-TotalPages` and RFC 8288 `Link` headers. security: - {} parameters: - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes specific IDs. - name: hide_empty in: query required: false schema: type: boolean default: false description: Whether to hide terms not assigned to any posts. - name: include in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to specific IDs. - name: order in: query required: false schema: type: string enum: - asc - desc default: asc description: Order sort attribute ascending or descending. - name: orderby in: query required: false schema: type: string enum: - id - include - name - slug - include_slugs - term_group - description - count default: name description: Sort collection by term attribute. - name: page in: query required: false schema: type: integer minimum: 1 default: 1 description: Current page of the collection. - name: parent in: query required: false schema: type: integer description: Limit result set to terms assigned to a specific parent. - name: per_page in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 10 description: Maximum number of items to be returned in result set. - name: post in: query required: false schema: type: integer description: Limit result set to terms assigned to a specific post. - name: search in: query required: false schema: type: string description: Limit results to those matching a string. - name: slug in: query required: false schema: type: array items: type: string description: Limit result set to terms with one or more specific slugs. responses: '200': description: A page of category records headers: X-WP-Total: description: Total number of records in the collection. schema: type: integer X-WP-TotalPages: description: Total number of pages available. schema: type: integer Link: description: RFC 8288 pagination links (rel="next" / rel="prev"). schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/Category' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/categories/{id}: get: operationId: getCategory tags: - Categories summary: Get a single category record security: - {} parameters: - name: id in: path required: true schema: type: integer description: Unique identifier for the category. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: id in: query required: false schema: type: integer description: Unique identifier for the term. responses: '200': description: The category record content: application/json: schema: $ref: '#/components/schemas/Category' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/tags: get: operationId: listTags tags: - Tags summary: List tag records description: Post tags. The taxonomy is registered but carried 0 terms at derivation time. Paginated with `page` and `per_page`; responses carry `X-WP-Total`, `X-WP-TotalPages` and RFC 8288 `Link` headers. security: - {} parameters: - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes specific IDs. - name: hide_empty in: query required: false schema: type: boolean default: false description: Whether to hide terms not assigned to any posts. - name: include in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to specific IDs. - name: offset in: query required: false schema: type: integer description: Offset the result set by a specific number of items. - name: order in: query required: false schema: type: string enum: - asc - desc default: asc description: Order sort attribute ascending or descending. - name: orderby in: query required: false schema: type: string enum: - id - include - name - slug - include_slugs - term_group - description - count default: name description: Sort collection by term attribute. - name: page in: query required: false schema: type: integer minimum: 1 default: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 10 description: Maximum number of items to be returned in result set. - name: post in: query required: false schema: type: integer description: Limit result set to terms assigned to a specific post. - name: search in: query required: false schema: type: string description: Limit results to those matching a string. - name: slug in: query required: false schema: type: array items: type: string description: Limit result set to terms with one or more specific slugs. responses: '200': description: A page of tag records headers: X-WP-Total: description: Total number of records in the collection. schema: type: integer X-WP-TotalPages: description: Total number of pages available. schema: type: integer Link: description: RFC 8288 pagination links (rel="next" / rel="prev"). schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/Tag' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/tags/{id}: get: operationId: getTag tags: - Tags summary: Get a single tag record security: - {} parameters: - name: id in: path required: true schema: type: integer description: Unique identifier for the tag. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: id in: query required: false schema: type: integer description: Unique identifier for the term. responses: '200': description: The tag record content: application/json: schema: $ref: '#/components/schemas/Tag' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/search: get: operationId: searchContent tags: - Search summary: Search across posts and pages description: Cross-content search returning lightweight result objects (id, title, url, type, subtype). 72 items were indexed at derivation time. security: - {} parameters: - name: context in: query required: false schema: type: string enum: - view - embed default: view description: Scope under which the request is made; determines fields present in response. - name: exclude in: query required: false schema: type: array items: type: integer default: [] description: Ensure result set excludes specific IDs. - name: include in: query required: false schema: type: array items: type: integer default: [] description: Limit result set to specific IDs. - name: page in: query required: false schema: type: integer minimum: 1 default: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer minimum: 1 maximum: 100 default: 10 description: Maximum number of items to be returned in result set. - name: search in: query required: false schema: type: string description: Limit results to those matching a string. - name: subtype in: query required: false schema: type: array items: type: string enum: - post - page - category - post_tag - any default: any description: Limit results to items of one or more object subtypes. - name: type in: query required: false schema: type: string enum: - post - term - post-format default: post description: Limit results to items of an object type. responses: '200': description: Search results headers: X-WP-Total: description: Total number of records in the collection. schema: type: integer X-WP-TotalPages: description: Total number of pages available. schema: type: integer Link: description: RFC 8288 pagination links (rel="next" / rel="prev"). schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/SearchResult' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/types: get: operationId: listTypes tags: - Discovery summary: List registered content types security: - {} parameters: - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. responses: '200': description: List registered content types content: application/json: schema: type: object additionalProperties: $ref: '#/components/schemas/ContentType' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/taxonomies: get: operationId: listTaxonomies tags: - Discovery summary: List registered taxonomies security: - {} parameters: - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: type in: query required: false schema: type: string description: Limit results to taxonomies associated with a specific post type. responses: '200': description: List registered taxonomies content: application/json: schema: type: object additionalProperties: $ref: '#/components/schemas/Taxonomy' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/statuses: get: operationId: listStatuses tags: - Discovery summary: List registered post statuses security: - {} parameters: - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. responses: '200': description: List registered post statuses content: application/json: schema: type: object additionalProperties: $ref: '#/components/schemas/Status' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/types/{type}: get: operationId: getType tags: - Discovery summary: Get a single registered content type security: - {} parameters: - name: type in: path required: true schema: type: string description: An identifier for the post type. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: type in: query required: false schema: type: string description: An alphanumeric identifier for the post type. responses: '200': description: Get a single registered content type content: application/json: schema: $ref: '#/components/schemas/ContentType' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/taxonomies/{taxonomy}: get: operationId: getTaxonomy tags: - Discovery summary: Get a single registered taxonomy security: - {} parameters: - name: taxonomy in: path required: true schema: type: string description: An alphanumeric identifier for the taxonomy. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: taxonomy in: query required: false schema: type: string description: An alphanumeric identifier for the taxonomy. responses: '200': description: Get a single registered taxonomy content: application/json: schema: $ref: '#/components/schemas/Taxonomy' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /wp/v2/statuses/{status}: get: operationId: getStatus tags: - Discovery summary: Get a single registered post status security: - {} parameters: - name: status in: path required: true schema: type: string description: An alphanumeric identifier for the status. - name: context in: query required: false schema: type: string enum: - view - embed - edit default: view description: Scope under which the request is made; determines fields present in response. - name: status in: query required: false schema: type: string description: An alphanumeric identifier for the status. responses: '200': description: Get a single registered post status content: application/json: schema: $ref: '#/components/schemas/Status' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' /oembed/1.0/embed: get: operationId: getOembed tags: - oEmbed summary: Get the oEmbed representation of a site URL description: Returns the oEmbed 1.0 document for a URL on atsenatx.com. security: - {} parameters: - name: format in: query required: false schema: type: string default: json - name: maxwidth in: query required: false schema: type: string default: 600 - name: url in: query required: true schema: type: string format: uri description: The URL of the resource for which to fetch oEmbed data. responses: '200': description: oEmbed response content: application/json: schema: $ref: '#/components/schemas/Oembed' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' components: schemas: RouteIndex: type: object properties: name: type: string description: type: string url: type: string format: uri home: type: string format: uri gmt_offset: type: number timezone_string: type: string namespaces: type: array items: type: string authentication: type: object description: Supported authentication schemes; this install advertises application-passwords only. routes: type: object site_icon_url: type: string _links: type: object Post: type: object description: A press release or company news item. properties: id: type: integer date: type: string format: date-time date_gmt: type: string format: date-time guid: type: object properties: rendered: type: string modified: type: string format: date-time modified_gmt: type: string format: date-time slug: type: string status: type: string type: type: string link: type: string title: type: object properties: rendered: type: string content: type: object properties: rendered: type: string protected: type: boolean excerpt: type: object properties: rendered: type: string protected: type: boolean author: type: integer description: Author id. The users endpoint is 401 anonymously, so the id cannot be resolved without credentials. featured_media: type: integer description: Media id, resolvable via /wp/v2/media/{id}. categories: type: array items: type: integer tags: type: array items: type: integer acf: type: object description: Advanced Custom Fields payload on the record. yoast_head: type: string description: Rendered Yoast SEO meta block. yoast_head_json: type: object _links: type: object Page: type: object description: A static site page. properties: id: type: integer date: type: string format: date-time modified: type: string format: date-time slug: type: string status: type: string type: type: string link: type: string title: type: object properties: rendered: type: string content: type: object properties: rendered: type: string protected: type: boolean excerpt: type: object properties: rendered: type: string protected: type: boolean author: type: integer parent: type: integer description: Id of the parent page, 0 for top level. menu_order: type: integer featured_media: type: integer acf: type: object yoast_head: type: string yoast_head_json: type: object _links: type: object MediaItem: type: object description: A media library item. properties: id: type: integer date: type: string format: date-time slug: type: string type: type: string link: type: string title: type: object properties: rendered: type: string author: type: integer caption: type: object properties: rendered: type: string alt_text: type: string media_type: type: string mime_type: type: string media_details: type: object description: Width, height, filesize and the generated image sizes. post: type: - integer - 'null' description: Id of the post the media is attached to. source_url: type: string format: uri _links: type: object Category: type: object properties: id: type: integer count: type: integer description: type: string link: type: string name: type: string slug: type: string taxonomy: type: string parent: type: integer description: Id of the parent term, 0 for top level. _links: type: object Tag: type: object properties: id: type: integer count: type: integer description: type: string link: type: string name: type: string slug: type: string taxonomy: type: string _links: type: object SearchResult: type: object properties: id: type: integer description: Id of the matching post or page. title: type: string url: type: string type: type: string subtype: type: string _links: type: object ContentType: type: object properties: description: type: string hierarchical: type: boolean name: type: string slug: type: string taxonomies: type: array items: type: string rest_base: type: string rest_namespace: type: string _links: type: object Taxonomy: type: object properties: name: type: string slug: type: string description: type: string hierarchical: type: boolean types: type: array items: type: string rest_base: type: string rest_namespace: type: string _links: type: object Status: type: object properties: name: type: string slug: type: string public: type: boolean queryable: type: boolean date_floating: type: boolean _links: type: object Oembed: type: object properties: version: type: string provider_name: type: string provider_url: type: string format: uri author_name: type: string author_url: type: string format: uri title: type: string type: type: string width: type: integer height: type: integer html: type: string Error: type: object description: 'The WordPress REST API error envelope. This is NOT RFC 9457 problem+json: it is served as application/json with a string code, a human message and a data object that repeats the HTTP status.' required: - code - message - data properties: code: type: string description: Machine-readable error code, e.g. rest_post_invalid_id, rest_forbidden. message: type: string description: Human-readable error message. data: type: object properties: status: type: integer description: HTTP status, repeated in the body. params: type: object description: Per-parameter validation messages. details: type: object responses: BadRequest: description: Invalid parameter content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: No record found for the given identifier content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Authentication required for this endpoint content: application/json: schema: $ref: '#/components/schemas/Error' Forbidden: description: The action is not permitted (e.g. comments disabled) content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: applicationPassword: type: http scheme: basic description: WordPress application passwords, the only scheme this install advertises in the route index under authentication['application-passwords'], with authorization at https://atsenatx.com/wp-admin/authorize-application.php. Required only for the write and administrative routes, which are out of scope for this document; every operation modelled here is anonymous. security: - {}