Elixir Medical Website Content API (WordPress REST)

The WordPress core REST API (wp/v2 namespace) served by elixirmedical.com, the Elixir Medical corporate website. It exposes the site's pages, news posts, media library, categories, tags, comments, authors, site custom post types and a search endpoint. Read operations on the content collections were observed to answer anonymously with RFC-5988 pagination links and X-WP-Total / X-WP-TotalPages headers; write operations require WordPress application-password authentication. This is a content-management surface incidental to the marketing site, not a product, device or clinical API — Elixir Medical does not advertise, document or support it, and the OpenAPI in this repository was derived by API Evangelist from the route descriptor the site itself publishes, not by the provider.

OpenAPI Specification

elixir-medical-wordpress-content-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Elixir Medical Website Content API (WordPress REST wp/v2)
  version: wp/v2
  description: 'Read/write REST surface exposed by elixirmedical.com, the corporate website of Elixir Medical Corporation.
    This is the WordPress core REST API (`wp/v2` namespace) served by the marketing site — it carries pages, posts, media,
    taxonomies and the site''s custom post types. It is NOT a product, device, or clinical API, and Elixir Medical does not
    operate a developer program or publish this contract.


    PROVENANCE: this document was DERIVED by API Evangelist from the route-descriptor document the site itself serves at https://elixirmedical.com/wp-json/wp/v2.
    Every path, HTTP method, parameter name, type, default and enum below is a verbatim transcription of that descriptor.
    Nothing was invented. Response schemas are intentionally left open ({}) because the descriptor does not publish them.


    This document models the CONTENT surface of the namespace (posts, pages, media, categories, tags, comments, users, search,
    types, taxonomies, statuses, and the site custom post types). The remaining descriptor routes are WordPress editor/admin
    plumbing and are preserved verbatim in openapi/_original/elixir-medical-wp-v2-routes.json.


    Read operations on content collections were observed to answer anonymously; write operations require WordPress application-password
    authentication.'
  contact:
    name: Elixir Medical
    email: info@elixirmedical.com
    url: https://elixirmedical.com/us/contact-us/
  x-derived-by: API Evangelist enrichment pipeline
  x-derived-from: https://elixirmedical.com/wp-json/wp/v2
  x-not-published-by-provider: true
servers:
- url: https://elixirmedical.com/wp-json
tags:
- name: categories
- name: comments
- name: media
- name: pages
- name: posts
- name: search
- name: statuses
- name: tags
- name: taxonomies
- name: types
- name: users
- name: wpfm_designations
- name: wpfm_locations
paths:
  /wp/v2/posts:
    get:
      operationId: getPosts
      tags:
      - posts
      summary: GET /wp/v2/posts
      description: Derived from the WordPress REST route descriptor published at https://elixirmedical.com/wp-json/wp/v2.
        Parameter names, types, defaults and enums are verbatim from that descriptor.
      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: 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: after
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Limit response to posts published after a given ISO8601 compliant date.
      - 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: author
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Limit result set to posts assigned to specific authors.
      - name: author_exclude
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        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: 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: exclude
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Ensure result set excludes specific IDs.
      - name: include
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Limit result set to specific IDs.
      - name: search_semantics
        in: query
        required: false
        schema:
          type: string
          enum:
          - exact
        description: How to interpret the search input.
      - 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: search_columns
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: string
            enum:
            - post_title
            - post_content
            - post_excerpt
        description: Array of column names to be searched.
      - 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
          default: publish
          items:
            type: string
            enum:
            - publish
            - future
            - draft
            - pending
            - private
            - trash
            - auto-draft
            - inherit
            - request-pending
            - request-confirmed
            - request-failed
            - request-completed
            - acf-disabled
            - any
        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.
      - name: categories
        in: query
        required: false
        schema:
          type:
          - object
          - array
        description: Limit result set to items with specific terms assigned in the categories taxonomy.
      - name: categories_exclude
        in: query
        required: false
        schema:
          type:
          - object
          - array
        description: Limit result set to items except those with specific terms assigned in the categories taxonomy.
      - name: tags
        in: query
        required: false
        schema:
          type:
          - object
          - array
        description: Limit result set to items with specific terms assigned in the tags taxonomy.
      - name: tags_exclude
        in: query
        required: false
        schema:
          type:
          - object
          - array
        description: Limit result set to items except those with specific terms assigned in the tags taxonomy.
      - name: sticky
        in: query
        required: false
        schema:
          type: boolean
        description: Limit result set to items that are sticky.
      - name: ignore_sticky
        in: query
        required: false
        schema:
          type: boolean
          default: true
        description: Whether to ignore sticky posts or not.
      - 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: wpml_language
        in: query
        required: false
        schema:
          type: string
          enum:
          - ar
          - en
          - id
          - vi
        description: WPML's language code
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required (`rest_forbidden`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or invalid id (`rest_no_route` / `rest_*_invalid_id`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    post:
      operationId: createPosts
      tags:
      - posts
      summary: POST /wp/v2/posts
      description: Derived from the WordPress REST route descriptor published at https://elixirmedical.com/wp-json/wp/v2.
        Parameter names, types, defaults and enums are verbatim from that descriptor.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                date:
                  type:
                  - string
                  - 'null'
                  format: date-time
                  description: The date the post was published, in the site's timezone.
                date_gmt:
                  type:
                  - string
                  - 'null'
                  format: date-time
                  description: The date the post was published, as GMT.
                slug:
                  type: string
                  description: An alphanumeric identifier for the post unique to its type.
                status:
                  type: string
                  enum:
                  - publish
                  - future
                  - draft
                  - pending
                  - private
                  - acf-disabled
                  description: A named status for the post.
                password:
                  type: string
                  description: A password to protect access to the content and excerpt.
                title:
                  type: object
                  description: The title for the post.
                content:
                  type: object
                  description: The content for the post.
                author:
                  type: integer
                  description: The ID for the author of the post.
                excerpt:
                  type: object
                  description: The excerpt for the post.
                featured_media:
                  type: integer
                  description: The ID of the featured media for the post.
                comment_status:
                  type: string
                  enum:
                  - open
                  - closed
                  description: Whether or not comments are open on the post.
                ping_status:
                  type: string
                  enum:
                  - open
                  - closed
                  description: Whether or not the post can be pinged.
                format:
                  type: string
                  enum:
                  - standard
                  - aside
                  - chat
                  - gallery
                  - link
                  - image
                  - quote
                  - status
                  - video
                  - audio
                  description: The format for the post.
                meta:
                  type: object
                  description: Meta fields.
                sticky:
                  type: boolean
                  description: Whether or not the post should be treated as sticky.
                template:
                  type: string
                  description: The theme file to use to display the post.
                categories:
                  type: array
                  items:
                    type: integer
                  description: The terms assigned to the post in the category taxonomy.
                tags:
                  type: array
                  items:
                    type: integer
                  description: The terms assigned to the post in the post_tag taxonomy.
                wpml_language:
                  type: string
                  enum:
                  - ar
                  - en
                  - id
                  - vi
                  description: WPML's language code
      security:
      - applicationPassword: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required (`rest_forbidden`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: Not permitted for this identity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or invalid id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp/v2/posts/{id}:
    parameters:
    - name: id
      in: path
      required: true
      description: Path segment matched by the pattern `[\d]+` in the published route descriptor.
      schema:
        type: integer
    get:
      operationId: getPostsId
      tags:
      - posts
      summary: GET /wp/v2/posts/{id}
      description: Derived from the WordPress REST route descriptor published at https://elixirmedical.com/wp-json/wp/v2.
        Parameter names, types, defaults and enums are verbatim from that descriptor.
      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: excerpt_length
        in: query
        required: false
        schema:
          type: integer
        description: Override the default excerpt length.
      - name: password
        in: query
        required: false
        schema:
          type: string
        description: The password for the post if it is password protected.
      - name: wpml_language
        in: query
        required: false
        schema:
          type: string
          enum:
          - ar
          - en
          - id
          - vi
        description: WPML's language code
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required (`rest_forbidden`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or invalid id (`rest_no_route` / `rest_*_invalid_id`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    post:
      operationId: createPostsId
      tags:
      - posts
      summary: POST /wp/v2/posts/{id}
      description: Derived from the WordPress REST route descriptor published at https://elixirmedical.com/wp-json/wp/v2.
        Parameter names, types, defaults and enums are verbatim from that descriptor.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                date:
                  type:
                  - string
                  - 'null'
                  format: date-time
                  description: The date the post was published, in the site's timezone.
                date_gmt:
                  type:
                  - string
                  - 'null'
                  format: date-time
                  description: The date the post was published, as GMT.
                slug:
                  type: string
                  description: An alphanumeric identifier for the post unique to its type.
                status:
                  type: string
                  enum: &id001
                  - publish
                  - future
                  - draft
                  - pending
                  - private
                  - acf-disabled
                  description: A named status for the post.
                password:
                  type: string
                  description: A password to protect access to the content and excerpt.
                title:
                  type: object
                  description: The title for the post.
                content:
                  type: object
                  description: The content for the post.
                author:
                  type: integer
                  description: The ID for the author of the post.
                excerpt:
                  type: object
                  description: The excerpt for the post.
                featured_media:
                  type: integer
                  description: The ID of the featured media for the post.
                comment_status:
                  type: string
                  enum: &id002
                  - open
                  - closed
                  description: Whether or not comments are open on the post.
                ping_status:
                  type: string
                  enum: &id003
                  - open
                  - closed
                  description: Whether or not the post can be pinged.
                format:
                  type: string
                  enum: &id004
                  - standard
                  - aside
                  - chat
                  - gallery
                  - link
                  - image
                  - quote
                  - status
                  - video
                  - audio
                  description: The format for the post.
                meta:
                  type: object
                  description: Meta fields.
                sticky:
                  type: boolean
                  description: Whether or not the post should be treated as sticky.
                template:
                  type: string
                  description: The theme file to use to display the post.
                categories:
                  type: array
                  items:
                    type: integer
                  description: The terms assigned to the post in the category taxonomy.
                tags:
                  type: array
                  items:
                    type: integer
                  description: The terms assigned to the post in the post_tag taxonomy.
                wpml_language:
                  type: string
                  enum: &id005
                  - ar
                  - en
                  - id
                  - vi
                  description: WPML's language code
      security:
      - applicationPassword: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required (`rest_forbidden`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: Not permitted for this identity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or invalid id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    put:
      operationId: replacePostsId
      tags:
      - posts
      summary: PUT /wp/v2/posts/{id}
      description: Derived from the WordPress REST route descriptor published at https://elixirmedical.com/wp-json/wp/v2.
        Parameter names, types, defaults and enums are verbatim from that descriptor.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                date:
                  type:
                  - string
                  - 'null'
                  format: date-time
                  description: The date the post was published, in the site's timezone.
                date_gmt:
                  type:
                  - string
                  - 'null'
                  format: date-time
                  description: The date the post was published, as GMT.
                slug:
                  type: string
                  description: An alphanumeric identifier for the post unique to its type.
                status:
                  type: string
                  enum: *id001
                  description: A named status for the post.
                password:
                  type: string
                  description: A password to protect access to the content and excerpt.
                title:
                  type: object
                  description: The title for the post.
                content:
                  type: object
                  description: The content for the post.
                author:
                  type: integer
                  description: The ID for the author of the post.
                excerpt:
                  type: object
                  description: The excerpt for the post.
                featured_media:
                  type: integer
                  description: The ID of the featured media for the post.
                comment_status:
                  type: string
                  enum: *id002
                  description: Whether or not comments are open on the post.
                ping_status:
                  type: string
                  enum: *id003
                  description: Whether or not the post can be pinged.
                format:
                  type: string
                  enum: *id004
                  description: The format for the post.
                meta:
                  type: object
                  description: Meta fields.
                sticky:
                  type: boolean
                  description: Whether or not the post should be treated as sticky.
                template:
                  type: string
                  description: The theme file to use to display the post.
                categories:
                  type: array
                  items:
                    type: integer
                  description: The terms assigned to the post in the category taxonomy.
                tags:
                  type: array
                  items:
                    type: integer
                  description: The terms assigned to the post in the post_tag taxonomy.
                wpml_language:
                  type: string
                  enum: *id005
                  description: WPML's language code
      security:
      - applicationPassword: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required (`rest_forbidden`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: Not permitted for this identity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or invalid id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    patch:
      operationId: updatePostsId
      tags:
      - posts
      summary: PATCH /wp/v2/posts/{id}
      description: Derived from the WordPress REST route descriptor published at https://elixirmedical.com/wp-json/wp/v2.
        Parameter names, types, defaults and enums are verbatim from that descriptor.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                date:
                  type:
                  - string
                  - 'null'
                  format: date-time
                  description: The date the post was published, in the site's timezone.
                date_gmt:
                  type:
                  - string
                  - 'null'
                  format: date-time
                  description: The date the post was published, as GMT.
                slug:
                  type: string
                  description: An alphanumeric identifier for the post unique to its type.
                status:
                  type: string
                  enum: *id001
                  description: A named status for the post.
                password:
                  type: string
                  description: A password to protect access to the content and excerpt.
                title:
                  type: object
                  description: The title for the post.
                content:
                  type: object
                  description: The content for the post.
                author:
                  type: integer
                  description: The ID for the author of the post.
                excerpt:
                  type: object
                  description: The excerpt for the post.
                featured_media:
                  type: integer
                  description: The ID of the featured media for the post.
                comment_status:
                  type: string
                  enum: *id002
                  description: Whether or not comments are open on the post.
                ping_status:
                  type: string
                  enum: *id003
                  description: Whether or not the post can be pinged.
                format:
                  type: string
                  enum: *id004
                  description: The format for the post.
                meta:
                  type: object
                  description: Meta fields.
                sticky:
                  type: boolean
                  description: Whether or not the post should be treated as sticky.
                template:
                  type: string
                  description: The theme file to use to display the post.
                categories:
                  type: array
                  items:
                    type: integer
                  description: The terms assigned to the post in the category taxonomy.
                tags:
                  type: array
                  items:
                    type: integer
                  description: The terms assigned to the post in the post_tag taxonomy.
                wpml_language:
                  type: string
                  enum: *id005
                  description: WPML's language code
      security:
      - applicationPassword: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required (`rest_forbidden`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: Not permitted for this identity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or invalid id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    delete:
      operationId: deletePostsId
      tags:
      - posts
      summary: DELETE /wp/v2/posts/{id}
      description: Derived from the WordPress REST route descriptor published at https://elixirmedical.com/wp-json/wp/v2.
        Parameter names, types, defaults and enums are verbatim from that descriptor.
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                force:
                  type: boolean
                  default: false
                  description: Whether to bypass Trash and force deletion.
                wpml_language:
                  type: string
                  enum:
                  - ar
                  - en
                  - id
                  - vi
                  description: WPML's language code
      security:
      - applicationPassword: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema: {}
        '401':
          description: Authentication required (`rest_forbidden`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: Not permitted for this identity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or invalid id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
  /wp/v2/posts/{parent}/revisions:
    parameters:
    - name: parent
      in: path
      required: true
      description: Path segment matched by the pattern `[\d]+` in the published route descriptor.
      schema:
        type: integer
    get:
      operationId: getPostsParentRevisions
      tags:
      - posts
      summary: GET /wp/v2/posts/{parent}/revisions
      description: Derived from the WordPress REST route descriptor published at https://elixirmedical.com/wp-json/wp/v2.
        Parameter names, types, defaults and enums are verbatim from that descriptor.
      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: 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
          minimum: 1
          maximum: 100
        description: Maximum number of items to be returned in result set.
      - name: search
        in: query
        required: false
        schema:
          type: string
        d

# --- truncated at 32 KB (266 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/elixir-medical/refs/heads/main/openapi/elixir-medical-wordpress-content-openapi.yml