openapi: 3.2.0 info: title: Flare Therapeutics Content Posts API version: wp/v2 summary: Anonymously readable WordPress REST content API behind www.flaretx.com. description: The read-only content surface Flare Therapeutics exposes at https://www.flaretx.com/wp-json. Flare Therapeutics is a clinical-stage biotechnology company at 400 Technology Square, Cambridge, Massachusetts, developing small-molecule precision medicines against transcription factors — historically "undruggable" targets — using a switch-site discovery platform. Its lead programs are FX-909 in advanced urothelial cancer and FX-111 in prostate cancer, and it runs a discovery collaboration with Roche. It operates no developer program and markets no product API. This document is an API Evangelist derivation of the WordPress `wp/v2` and `oembed/1.0` route index the site publishes at /wp-json/, restricted to the operations verified to return data anonymously on 2026-08-12. Write operations, `/wp/v2/users`, `/wp/v2/settings`, `/wp/v2/menus`, `/wp/v2/themes`, `/wp/v2/plugins`, `/wp/v2/block-types`, `/wp/v2/font-collections`, `/wp/v2/icons`, the `wp-abilities/v1` namespace, the `aiarc/v1`, `wpe_sign_on_plugin/v1`, `google-site-kit/v1`, `yoast/v1`, `wpgmza/v1`, `akismet/v1`, `post-duplicator/v1`, `mtphrSettings/v1` and `gosmtp-smtp` plugin namespaces and the whole plugin-administration surface all require authentication or are administrative and are deliberately excluded — see x-api-evangelist-provenance. contact: name: Flare Therapeutics url: https://www.flaretx.com/ email: contact@flaretx.com x-api-evangelist-provenance: 'Derived by the API Evangelist enrichment pipeline from the live WordPress REST route index at https://www.flaretx.com/wp-json/ (259 routes across 16 namespaces) and verified against live anonymous responses on 2026-08-12. Every parameter below appears verbatim in the route index `args` for that endpoint, and every collection count in a description was read from the `X-WP-Total` response header on that date. Flare 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. The deployment is served by WP Engine (nginx, x-powered-by WP Engine) and API responses carry `x-robots-tag: noindex`. Nothing here was obtained with credentials.' servers: - url: https://www.flaretx.com/wp-json description: Production content API tags: - name: posts description: News archive — press releases, news coverage and scientific presentations, 2021-05-13 (Series A launch) to 2026-06-30 (Series C and CEO appointment). 42 published at harvest time. paths: /wp/v2/posts: get: tags: - posts operationId: listPosts summary: List news posts description: The company news archive — press releases, news coverage and scientific presentations. 42 published items at harvest time (2026-08-12), spanning 2021-05-13 to 2026-06-30. parameters: - $ref: '#/components/parameters/Context' - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/After' - $ref: '#/components/parameters/Before' - $ref: '#/components/parameters/ModifiedAfter' - $ref: '#/components/parameters/ModifiedBefore' - $ref: '#/components/parameters/Exclude' - $ref: '#/components/parameters/Include' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Order' - name: orderby in: query description: Sort collection by object attribute. schema: type: string default: date enum: - author - date - id - include - modified - parent - relevance - slug - include_slugs - title - name: slug in: query description: Limit result set to posts with one or more specific slugs. schema: type: array items: type: string - name: status in: query description: Limit result set to posts assigned one or more statuses. Only `publish` is readable anonymously; any other value returns 400 rest_invalid_param. schema: type: array items: type: string default: - publish - name: categories in: query description: Limit result set to items assigned to specific category term ids. schema: type: array items: type: integer - name: categories_exclude in: query description: Exclude items assigned to specific category term ids. schema: type: array items: type: integer - name: tags in: query description: Limit result set to items assigned to specific post_tag term ids. Always empty on this deployment. schema: type: array items: type: integer - name: sticky in: query description: Limit result set to items that are sticky. schema: type: boolean - $ref: '#/components/parameters/Fields' - $ref: '#/components/parameters/Embed' responses: '200': description: A page of posts. headers: X-WP-Total: $ref: '#/components/headers/XWPTotal' X-WP-TotalPages: $ref: '#/components/headers/XWPTotalPages' Link: $ref: '#/components/headers/LinkPagination' content: application/json: schema: type: array items: $ref: '#/components/schemas/Post' '400': $ref: '#/components/responses/InvalidParam' /wp/v2/posts/{id}: get: tags: - posts operationId: getPost summary: Get one news post parameters: - $ref: '#/components/parameters/PathId' - $ref: '#/components/parameters/Context' - $ref: '#/components/parameters/Fields' - $ref: '#/components/parameters/Embed' responses: '200': description: The post. content: application/json: schema: $ref: '#/components/schemas/Post' '404': $ref: '#/components/responses/InvalidPostId' components: parameters: PerPage: name: per_page in: query description: Maximum number of items to be returned in the result set. schema: type: integer default: 10 minimum: 1 maximum: 100 Exclude: name: exclude in: query description: Ensure result set excludes specific ids. schema: type: array items: type: integer Page: name: page in: query description: Current page of the collection (1-based). schema: type: integer default: 1 minimum: 1 PathId: name: id in: path required: true description: Unique numeric identifier for the object. schema: type: integer Fields: name: _fields in: query description: Comma-separated allow-list of top-level response fields to return. schema: type: string Order: name: order in: query description: Order sort attribute ascending or descending. schema: type: string default: desc enum: - asc - desc After: name: after in: query description: Limit response to posts published after a given ISO 8601 compliant date. schema: type: string format: date-time Before: name: before in: query description: Limit response to posts published before a given ISO 8601 compliant date. schema: type: string format: date-time ModifiedAfter: name: modified_after in: query description: Limit response to posts modified after a given ISO 8601 compliant date. The incremental-sync key. schema: type: string format: date-time ModifiedBefore: name: modified_before in: query description: Limit response to posts modified before a given ISO 8601 compliant date. schema: type: string format: date-time Offset: name: offset in: query description: Offset the result set by a specific number of items. schema: type: integer Context: name: context in: query description: Scope under which the request is made; determines fields present in the response. Only `view` and `embed` are available anonymously — `edit` returns 401. schema: type: string default: view enum: - view - embed - edit Embed: name: _embed in: query description: Inline embeddable resources (author, featured media, terms) under `_embedded`. schema: type: string Include: name: include in: query description: Limit result set to specific ids. schema: type: array items: type: integer Search: name: search in: query description: Limit results to those matching a string. schema: type: string responses: InvalidParam: description: One or more query parameters failed validation. content: application/json: schema: $ref: '#/components/schemas/Error' examples: perPageOutOfBounds: summary: per_page above the maximum of 100 value: code: rest_invalid_param message: 'Invalid parameter(s): per_page' data: status: 400 params: per_page: per_page must be between 1 (inclusive) and 100 (inclusive) InvalidPostId: description: No published object exists with the requested numeric identifier. content: application/json: schema: $ref: '#/components/schemas/Error' examples: invalidPostId: value: code: rest_post_invalid_id message: Invalid post ID. data: status: 404 headers: XWPTotal: description: Total number of matching items across all pages. schema: type: integer XWPTotalPages: description: Total number of pages available. schema: type: integer LinkPagination: description: RFC 8288 Link header carrying rel="next" and rel="prev". schema: type: string schemas: RenderedText: type: object description: A WordPress rendered-text container. properties: rendered: type: string Error: type: object description: The WordPress REST error envelope. NOT RFC 9457 problem details — no `type` URI and no application/problem+json media type. See errors/flare-therapeutics-problem-types.yml. properties: code: type: string description: Machine-readable error code — the stable discriminator. message: type: string description: Human-readable message, localized to the site language. data: type: object properties: status: type: integer params: type: object details: type: object required: - code - message - data Post: type: object description: A news item from the Flare Therapeutics press archive. properties: id: type: integer date: type: string format: date-time date_gmt: type: string format: date-time guid: $ref: '#/components/schemas/RenderedText' modified: type: string format: date-time modified_gmt: type: string format: date-time slug: type: string status: type: string type: type: string const: post link: type: string format: uri title: $ref: '#/components/schemas/RenderedText' content: $ref: '#/components/schemas/RenderedText' excerpt: $ref: '#/components/schemas/RenderedText' author: type: integer description: User id. NOT resolvable anonymously — /wp/v2/users returns 401 on this deployment. featured_media: type: integer description: Attachment id, 0 when unset. 0 on every post observed at harvest time. comment_status: type: string ping_status: type: string sticky: type: boolean template: type: string format: type: string meta: type: object description: Registered meta only. Observed keys on this deployment — _acf_changed, pagelayer_contact_templates, _pagelayer_content, footnotes. categories: type: array items: type: integer tags: type: array items: type: integer description: Always empty on this deployment. acf: type: array description: Advanced Custom Fields payload. Present on every object but empty on this deployment. class_list: type: array items: type: string description: The CSS class list WordPress would render for the object. yoast_head: type: string description: Yoast SEO rendered markup. Plugin extension, not part of the upstream wp/v2 contract. yoast_head_json: type: object description: Yoast SEO structured metadata, including a schema.org graph. _links: type: object