OpenAPI Specification
openapi: 3.2.0
info:
title: Strata Oncology Website Content Search 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: Search
description: Cross-content-type search.
paths:
/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'
components:
schemas:
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
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
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