openapi: 3.2.0 info: title: Elixir Medical Website Content API (WordPress REST wp/v2) Posts API 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: posts 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: - 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' 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: - 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' 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: - 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' 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 description: Limit results to those matching a string. - 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: 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: - date - id - include - relevance - slug - include_slugs - title default: date description: Sort collection by object attribute. - 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' /wp/v2/posts/{parent}/revisions/{id}: parameters: - name: parent in: path required: true description: Path segment matched by the pattern `[\d]+` in the published route descriptor. schema: type: integer - name: id in: path required: true description: Path segment matched by the pattern `[\d]+` in the published route descriptor. schema: type: integer get: operationId: getPostsParentRevisionsId tags: - posts summary: GET /wp/v2/posts/{parent}/revisions/{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: 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' delete: operationId: deletePostsParentRevisionsId tags: - posts summary: DELETE /wp/v2/posts/{parent}/revisions/{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: Required to be true, as revisions do not support trashing. 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}/autosaves: 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: getPostsIdAutosaves tags: - posts summary: GET /wp/v2/posts/{id}/autosaves 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: parent in: query required: false schema: type: integer description: The ID for the parent of the autosave. - 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: 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: createPostsIdAutosaves tags: - posts summary: POST /wp/v2/posts/{id}/autosaves 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: parent: type: integer description: The ID for the parent of the autosave. 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/{parent}/autosaves/{id}: parameters: - name: parent in: path required: true description: Path segment matched by the pattern `[\d]+` in the published route descriptor. schema: type: integer - name: id in: path required: true description: Path segment matched by the pattern `[\d]+` in the published route descriptor. schema: type: integer get: operationId: getPostsParentAutosavesId tags: - posts summary: GET /wp/v2/posts/{parent}/autosaves/{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: 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' components: schemas: WPError: type: object description: WordPress REST error envelope, observed live on this host. properties: code: type: string examples: - rest_no_route - rest_forbidden - rest_post_invalid_id message: type: string data: type: object properties: status: type: integer securitySchemes: applicationPassword: type: http scheme: basic description: WordPress application passwords. The site's own discovery document declares the authorization endpoint at https://elixirmedical.com/wp-admin/authorize-application.php