openapi: 3.1.0 info: title: Strata Oncology Website Content API version: wp/v2 summary: Public, anonymous, read-only content API behind strataoncology.com. description: 'The public read surface of the WordPress REST API that powers strataoncology.com, plus the two custom `api` namespace endpoints the site theme calls to render its News & Publications and Resources pages. This is the website''s content API, not a clinical or laboratory API. Strata Oncology''s clinical ordering and results surface is the login-gated Strata Request Portal (https://portal.strataoncology.com/), and its EHR integration ships as the Strata Assistant app in the Epic App Orchard; neither publishes a public machine-readable contract. This document was DERIVED by API Evangelist from the live WordPress REST discovery document at https://strataoncology.com/wp-json/ on 2026-08-02. Every path, parameter name, type, default and enum is read from that document. Only the anonymous-readable GET surface is described here; the discovery document also registers POST/PUT/PATCH/DELETE methods on these collections, but those require WordPress authentication and were not exercised.' contact: name: Strata Oncology url: https://strataoncology.com/contact-us/ x-derived-from: https://strataoncology.com/wp-json/ x-derived-by: API Evangelist enrichment pipeline x-derived-on: '2026-08-02' servers: - url: https://strataoncology.com/wp-json description: Production tags: - name: Publications description: Press releases and published research. - name: Resources description: Patient and provider resource documents. - name: Team description: Leadership and team member profiles. - name: Testimonials description: Published testimonials. - name: Pages description: Website pages. - name: Posts description: Blog posts. - name: Media description: Uploaded media items. - name: Taxonomy description: Categories and tags. - name: Discovery description: Registered types, taxonomies and statuses. - name: Search description: Cross-content-type search. paths: /publications: get: operationId: listPublications summary: List publications description: Press releases and published research listings. Returns a JSON array; total count and page count are returned in the X-WP-Total and X-WP-TotalPages response headers and the next/prev page in Link. tags: - Publications 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: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - 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: 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 default: 1 minimum: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer default: 10 minimum: 1 maximum: 100 description: Maximum number of items to be returned in result set. - name: publication_type in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the publication_type taxonomy. - name: publication_type_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the publication_type taxonomy. - 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 - email_sent - email_failed - email_scheduled - any default: publish description: Limit result set to posts assigned one or more statuses. - 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 publications. headers: X-WP-Total: description: Total number of matching items. schema: type: integer X-WP-TotalPages: description: Total number of pages. schema: type: integer Link: description: RFC 8288 next/prev page links. schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentItem' '400': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /publications/{id}: get: operationId: getPublication summary: Get a single publication description: Retrieve one publication by its numeric identifier. tags: - Publications parameters: - name: id in: path required: true description: Unique identifier for the publication. schema: type: integer responses: '200': description: The requested publication. content: application/json: schema: $ref: '#/components/schemas/ContentItem' '401': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /resources: get: operationId: listResources summary: List resources description: Patient and provider resource documents. Returns a JSON array; total count and page count are returned in the X-WP-Total and X-WP-TotalPages response headers and the next/prev page in Link. tags: - Resources 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: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - 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: 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 default: 1 minimum: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer default: 10 minimum: 1 maximum: 100 description: Maximum number of items to be returned in result set. - name: resource_type in: query required: false schema: type: object description: Limit result set to items with specific terms assigned in the resource_type taxonomy. - name: resource_type_exclude in: query required: false schema: type: object description: Limit result set to items except those with specific terms assigned in the resource_type taxonomy. - 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 - email_sent - email_failed - email_scheduled - any default: publish description: Limit result set to posts assigned one or more statuses. - 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 resources. headers: X-WP-Total: description: Total number of matching items. schema: type: integer X-WP-TotalPages: description: Total number of pages. schema: type: integer Link: description: RFC 8288 next/prev page links. schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentItem' '400': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /resources/{id}: get: operationId: getResource summary: Get a single resource description: Retrieve one resource by its numeric identifier. tags: - Resources parameters: - name: id in: path required: true description: Unique identifier for the resource. schema: type: integer responses: '200': description: The requested resource. content: application/json: schema: $ref: '#/components/schemas/ContentItem' '401': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /team: get: operationId: listTeam summary: List team description: Leadership and team member profiles. Returns a JSON array; total count and page count are returned in the X-WP-Total and X-WP-TotalPages response headers and the next/prev page in Link. tags: - Team 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: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - 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: 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 default: 1 minimum: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer default: 10 minimum: 1 maximum: 100 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 - email_sent - email_failed - email_scheduled - any default: publish description: Limit result set to posts assigned one or more statuses. responses: '200': description: A page of team. headers: X-WP-Total: description: Total number of matching items. schema: type: integer X-WP-TotalPages: description: Total number of pages. schema: type: integer Link: description: RFC 8288 next/prev page links. schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentItem' '400': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /team/{id}: get: operationId: getTeammember summary: Get a single team member description: Retrieve one team member by its numeric identifier. tags: - Team parameters: - name: id in: path required: true description: Unique identifier for the team member. schema: type: integer responses: '200': description: The requested team member. content: application/json: schema: $ref: '#/components/schemas/ContentItem' '401': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /testimonials: get: operationId: listTestimonials summary: List testimonials description: Published testimonials. Returns a JSON array; total count and page count are returned in the X-WP-Total and X-WP-TotalPages response headers and the next/prev page in Link. tags: - Testimonials 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: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - 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: 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 default: 1 minimum: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer default: 10 minimum: 1 maximum: 100 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 - email_sent - email_failed - email_scheduled - any default: publish description: Limit result set to posts assigned one or more statuses. responses: '200': description: A page of testimonials. headers: X-WP-Total: description: Total number of matching items. schema: type: integer X-WP-TotalPages: description: Total number of pages. schema: type: integer Link: description: RFC 8288 next/prev page links. schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentItem' '400': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /testimonials/{id}: get: operationId: getTestimonial summary: Get a single testimonial description: Retrieve one testimonial by its numeric identifier. tags: - Testimonials parameters: - name: id in: path required: true description: Unique identifier for the testimonial. schema: type: integer responses: '200': description: The requested testimonial. content: application/json: schema: $ref: '#/components/schemas/ContentItem' '401': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /pages: get: operationId: listPages summary: List pages description: Website pages. Returns a JSON array; total count and page count are returned in the X-WP-Total and X-WP-TotalPages response headers and the next/prev page in Link. tags: - Pages 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: 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 default: 1 minimum: 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 default: 10 minimum: 1 maximum: 100 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 - email_sent - email_failed - email_scheduled - any default: publish description: Limit result set to posts assigned one or more statuses. responses: '200': description: A page of pages. headers: X-WP-Total: description: Total number of matching items. schema: type: integer X-WP-TotalPages: description: Total number of pages. schema: type: integer Link: description: RFC 8288 next/prev page links. schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentItem' '400': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /pages/{id}: get: operationId: getPage summary: Get a single page description: Retrieve one page by its numeric identifier. tags: - Pages parameters: - name: id in: path required: true description: Unique identifier for the page. schema: type: integer responses: '200': description: The requested page. content: application/json: schema: $ref: '#/components/schemas/ContentItem' '401': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /posts: get: operationId: listPosts summary: List posts description: Blog posts. Returns a JSON array; total count and page count are returned in the X-WP-Total and X-WP-TotalPages response headers and the next/prev page in Link. tags: - Posts 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: 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 default: 1 minimum: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer default: 10 minimum: 1 maximum: 100 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 - email_sent - email_failed - email_scheduled - 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 posts. headers: X-WP-Total: description: Total number of matching items. schema: type: integer X-WP-TotalPages: description: Total number of pages. schema: type: integer Link: description: RFC 8288 next/prev page links. schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentItem' '400': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /posts/{id}: get: operationId: getPost summary: Get a single post description: Retrieve one post by its numeric identifier. tags: - Posts parameters: - name: id in: path required: true description: Unique identifier for the post. schema: type: integer responses: '200': description: The requested post. content: application/json: schema: $ref: '#/components/schemas/ContentItem' '401': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /media: get: operationId: listMedia summary: List media description: Uploaded media items. Returns a JSON array; total count and page count are returned in the X-WP-Total and X-WP-TotalPages response headers and the next/prev page in Link. tags: - Media 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: 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 default: 1 minimum: 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 default: 10 minimum: 1 maximum: 100 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. headers: X-WP-Total: description: Total number of matching items. schema: type: integer X-WP-TotalPages: description: Total number of pages. schema: type: integer Link: description: RFC 8288 next/prev page links. schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentItem' '400': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /media/{id}: get: operationId: getMediaitem summary: Get a single media item description: Retrieve one media item by its numeric identifier. tags: - Media parameters: - name: id in: path required: true description: Unique identifier for the media item. schema: type: integer responses: '200': description: The requested media item. content: application/json: schema: $ref: '#/components/schemas/ContentItem' '401': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /categories: get: operationId: listCategories summary: List categories description: Categories taxonomy terms. Returns a JSON array; total count and page count are returned in the X-WP-Total and X-WP-TotalPages response headers and the next/prev page in Link. tags: - Taxonomy parameters: - 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 default: 1 minimum: 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 default: 10 minimum: 1 maximum: 100 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 categories. headers: X-WP-Total: description: Total number of matching items. schema: type: integer X-WP-TotalPages: description: Total number of pages. schema: type: integer Link: description: RFC 8288 next/prev page links. schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentItem' '400': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /categories/{id}: get: operationId: getCategory summary: Get a single category description: Retrieve one category by its numeric identifier. tags: - Taxonomy parameters: - name: id in: path required: true description: Unique identifier for the category. schema: type: integer responses: '200': description: The requested category. content: application/json: schema: $ref: '#/components/schemas/ContentItem' '401': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /tags: get: operationId: listTags summary: List tags description: Tags taxonomy terms. Returns a JSON array; total count and page count are returned in the X-WP-Total and X-WP-TotalPages response headers and the next/prev page in Link. tags: - Taxonomy parameters: - 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 default: 1 minimum: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer default: 10 minimum: 1 maximum: 100 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 tags. headers: X-WP-Total: description: Total number of matching items. schema: type: integer X-WP-TotalPages: description: Total number of pages. schema: type: integer Link: description: RFC 8288 next/prev page links. schema: type: string content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentItem' '400': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /tags/{id}: get: operationId: getTag summary: Get a single tag description: Retrieve one tag by its numeric identifier. tags: - Taxonomy parameters: - name: id in: path required: true description: Unique identifier for the tag. schema: type: integer responses: '200': description: The requested tag. content: application/json: schema: $ref: '#/components/schemas/ContentItem' '401': $ref: '#/components/responses/Error' '404': $ref: '#/components/responses/Error' /types: get: operationId: listTypes summary: List types description: Registered content types. tags: - Discovery parameters: [] responses: '200': description: The types response. content: application/json: schema: type: object '400': $ref: '#/components/responses/Error' /taxonomies: get: operationId: listTaxonomies summary: List taxonomies description: Registered taxonomies. tags: - Discovery parameters: - name: type in: query required: false schema: type: string description: Limit results to taxonomies associated with a specific post type. responses: '200': description: The taxonomies response. content: application/json: schema: type: object '400': $ref: '#/components/responses/Error' /statuses: get: operationId: listStatuses summary: List statuses description: Registered content statuses. tags: - Discovery parameters: [] responses: '200': description: The statuses response. content: application/json: schema: type: object '400': $ref: '#/components/responses/Error' /search: get: operationId: search summary: Search site content description: Cross-content-type search. tags: - Search parameters: - 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 default: 1 minimum: 1 description: Current page of the collection. - name: per_page in: query required: false schema: type: integer default: 10 minimum: 1 maximum: 100 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 - publications - resources - team - category - post_tag - publication_type - resource_type - 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: The search response. content: application/json: schema: type: array items: $ref: '#/components/schemas/SearchResult' '400': $ref: '#/components/responses/Error' /api/publications: get: operationId: themePublications summary: Theme endpoint powering the News & Publications page description: 'Theme endpoint powering the News & Publications page: paged sections of press releases and publications. Takes no query parameters; paging is expressed inside the response sections.' tags: - Publications parameters: [] responses: '200': description: A sectioned, paged content payload. content: application/json: schema: $ref: '#/components/schemas/ThemeSectionsResponse' '404': $ref: '#/components/responses/Error' /api/resources: get: operationId: themeResources summary: Theme endpoint powering the Resources page description: 'Theme endpoint powering the Resources page: paged sections of product information and patient resources. Takes no query parameters; paging is expressed inside the response sections.' tags: - Resources parameters: [] responses: '200': description: A sectioned, paged content payload. content: application/json: schema: $ref: '#/components/schemas/ThemeSectionsResponse' '404': $ref: '#/components/responses/Error' components: schemas: ContentItem: type: object description: A WordPress REST content object. Fields observed on live anonymous responses. properties: id: type: integer description: Unique identifier. date: type: string description: Publication date in the site's timezone. date_gmt: type: string description: Publication date as GMT. modified: type: string description: Last modification date in the site's timezone. modified_gmt: type: string description: Last modification date as GMT. slug: type: string description: Alphanumeric identifier unique to its type. status: type: string description: Named status. type: type: string description: Content type name. link: type: string format: uri description: Public URL of the item. guid: type: object description: Globally unique identifier. properties: rendered: type: string title: type: object description: Item title. properties: rendered: type: string content: type: object description: Item content. properties: rendered: type: string protected: type: boolean excerpt: type: object description: Item excerpt. properties: rendered: type: string protected: type: boolean featured_media: type: integer description: Featured media item id. _links: type: object description: HAL-style hypermedia links to related resources. required: - id - slug - type - link SearchResult: type: object description: A search hit. properties: id: type: integer title: type: string url: type: string format: uri type: type: string subtype: type: string _links: type: object ThemeSectionsResponse: type: object description: Envelope returned by the custom `api` namespace endpoints. properties: success: type: boolean description: Whether the request succeeded. data: type: object properties: layout: type: string description: Layout key used by the theme. sections: type: array description: Content sections, each independently paged. items: $ref: '#/components/schemas/ThemeSection' ThemeSection: type: object description: One paged content section. properties: name: type: string description: Section display name. btnText: type: string description: Call-to-action label. btnParam: type: string description: Slug the CTA filters on. currentPage: type: integer description: Current page number. totalPosts: type: integer description: Total items in the section. totalPages: type: integer description: Total pages in the section. postsPerPage: type: integer description: Items returned per page. posts: type: array description: Items on this page. items: type: object properties: title: type: string content: type: string permalink: type: string format: uri Error: type: object description: WordPress REST error envelope, as observed live. properties: code: type: string description: Machine-readable error code, e.g. rest_no_route. message: type: string description: Human-readable message. data: type: object description: Error detail. properties: status: type: integer description: HTTP status code. required: - code - message responses: Error: description: Error response using the WordPress REST error envelope. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: rest_no_route message: No route was found matching the URL and request method. data: status: 404