openapi: 3.2.0 info: title: Pathalys Pharma Content API (WordPress REST API) Posts API version: wp/v2 description: Anonymously readable content API for pathalys.com, derived from the WordPress REST route index the site publishes at https://pathalys.com/wp-json/. Pathalys Pharma runs no developer program and publishes no hand-authored API specification; this document is a faithful derivation of the routes, parameters and defaults the site itself advertises, restricted to the read operations verified to return HTTP 200 without credentials on 2026-08-26. Write operations are registered on the same routes but are authenticated administrative endpoints (WordPress cookie/nonce or application passwords), not a public API offering, and are deliberately not modelled here. contact: name: Pathalys Pharma, Inc. url: https://pathalys.com/contact/ x-derived-from: https://pathalys.com/wp-json/ x-derived-on: '2026-08-26' x-api-evangelist-note: Derived by the API Evangelist enrichment pipeline from the provider-published WordPress REST route index; not authored or endorsed by Pathalys Pharma, Inc. servers: - url: https://pathalys.com/wp-json description: Production security: - {} tags: - name: Posts description: Pathalys Pharma news, press releases and scientific updates paths: /wp/v2/posts: get: operationId: listPosts tags: - Posts summary: List posts (news and scientific updates) description: Lists the Pathalys Pharma news stream — 14 published items at the time of derivation, spanning company launch, financings, executive appointments, conference participation and upacicalcet scientific updates. Returns X-WP-Total / X-WP-TotalPages and an RFC 8288 Link header. security: - {} parameters: - $ref: '#/components/parameters/context' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/per_page' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/after' - $ref: '#/components/parameters/before' - $ref: '#/components/parameters/modified_after' - $ref: '#/components/parameters/modified_before' - $ref: '#/components/parameters/exclude' - $ref: '#/components/parameters/include' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/order' - $ref: '#/components/parameters/slug' - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/embed' - name: orderby in: query description: Sort collection by post attribute. schema: type: string default: date enum: - author - date - id - include - modified - parent - relevance - slug - include_slugs - title - name: categories in: query description: Limit result set to items assigned to specific category IDs (1 = News, 11 = Scientific Updates). schema: type: array items: type: integer - name: categories_exclude in: query description: Limit result set to items except those assigned to specific category IDs. schema: type: array items: type: integer responses: '200': description: A page of posts. headers: X-WP-Total: description: Total number of items in the collection. schema: type: integer X-WP-TotalPages: description: Total number of pages in the collection. 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': description: One or more query parameters failed validation. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: rest_invalid_param message: One or more query parameters failed validation. data: status: 400 '404': description: The requested page number is larger than the number of pages available. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: rest_post_invalid_page_number message: The requested page number is larger than the number of pages available. data: status: 404 /wp/v2/posts/{id}: get: operationId: getPost tags: - Posts summary: Retrieve a single post description: Retrieves one news item or scientific update by its numeric WordPress ID. security: - {} parameters: - $ref: '#/components/parameters/id_path' - $ref: '#/components/parameters/context' - $ref: '#/components/parameters/fields' - $ref: '#/components/parameters/embed' - name: password in: query description: The password for the post if it is password protected. schema: type: string responses: '200': description: The post. content: application/json: schema: $ref: '#/components/schemas/Post' '401': description: Incorrect post password. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: rest_post_incorrect_password message: Incorrect post password. data: status: 401 '404': description: Invalid post ID. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: rest_post_invalid_id message: Invalid post ID. data: status: 404 components: parameters: 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. schema: type: string default: view enum: - view - embed page: name: page in: query description: Current page of the collection. schema: type: integer default: 1 minimum: 1 per_page: 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 search: name: search in: query description: Limit results to those matching a string. schema: type: string after: name: after in: query description: Limit response to posts published after a given ISO8601 compliant date. schema: type: string format: date-time before: name: before in: query description: Limit response to posts published before a given ISO8601 compliant date. schema: type: string format: date-time modified_after: name: modified_after in: query description: Limit response to posts modified after a given ISO8601 compliant date. schema: type: string format: date-time modified_before: name: modified_before in: query description: Limit response to posts modified before a given ISO8601 compliant date. schema: type: string format: date-time exclude: name: exclude in: query description: Ensure result set excludes specific IDs. schema: type: array items: type: integer include: name: include in: query description: Limit result set to specific IDs. schema: type: array items: type: integer offset: name: offset in: query description: Offset the result set by a specific number of items. schema: type: integer order: name: order in: query description: Order sort attribute ascending or descending. schema: type: string default: desc enum: - asc - desc slug: name: slug in: query description: Limit result set to items with one or more specific slugs. schema: type: array items: type: string fields: name: _fields in: query description: Sparse fieldset — comma-separated list of fields to return. schema: type: string example: id,slug,title,link,date embed: name: _embed in: query description: Embed linked resources (featured media, terms, author) into the `_embedded` member. schema: type: string id_path: name: id in: path required: true description: Unique identifier for the resource. schema: type: integer schemas: Post: type: object description: A Pathalys Pharma news item / press release. properties: id: type: integer description: Unique identifier for the post. date: type: string format: date-time description: The date the post was published, in the site's timezone. date_gmt: type: string format: date-time description: The date the post was published, as GMT. guid: &id001 type: object description: A WordPress rendered-content object. properties: rendered: type: string description: HTML for the object, transformed for display. protected: type: boolean description: Whether the content is password protected. modified: type: string format: date-time description: The date the post was last modified, in the site's timezone. modified_gmt: type: string format: date-time slug: type: string description: An alphanumeric identifier for the post unique to its type. example: pathalys-pharma-secures-105-million-series-b-financing status: type: string description: A named status for the post. enum: - publish - future - draft - pending - private type: type: string description: Type of post. example: post link: type: string format: uri description: URL to the post. title: *id001 content: *id001 excerpt: *id001 author: type: integer description: The ID for the author of the post. featured_media: type: integer description: The ID of the featured media for the post. categories: type: array items: type: integer description: 'The terms assigned to the post in the category taxonomy. Pathalys uses two: News (1) and Scientific Updates (11).' tags: type: array items: type: integer description: The terms assigned to the post in the post_tag taxonomy. The post_tag taxonomy is empty on this site. _links: type: object description: HAL-style link relations to author, replies, categories, wp:featuredmedia and the collection. Error: type: object description: WordPress REST API error envelope (WP_Error serialization). Not RFC 9457 problem+json; the HTTP status is repeated inside `data.status`. properties: code: type: string description: Machine-readable error code. example: rest_post_invalid_id message: type: string description: Human-readable error message. example: Invalid post ID. data: type: object properties: status: type: integer description: HTTP status code, repeated in the body. example: 404 required: - code - message