Orionis Biosciences Media API

The Media API from Orionis Biosciences — 4 operation(s) for media.

OpenAPI Specification

orionis-biosciences-media-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Orionis Biosciences Website Content API (WordPress REST) Media API
  version: wp/v2
  summary: Anonymous read API over the Orionis Biosciences corporate site content.
  description: 'Orionis Biosciences (orionisbio.com) runs on WordPress and exposes the WordPress REST API publicly and anonymously at https://orionisbio.com/wp-json/. This document was DERIVED mechanically from that host''s own self-describing route index — no path, parameter, type, default, enum or description here was authored by API Evangelist. Component schema properties were derived from live observed responses, because HTTP OPTIONS (the usual WordPress schema channel) is blocked by the site firewall on this host and returns 403.


    This is a site-content API, not a drug-discovery or scientific product API. Orionis Biosciences publishes no developer program and no product API. The surface serves news posts (`posts`, 22 published), corporate and platform pages (`pages`, 16 published), the media library (208 items), the leadership and scientific-team custom post type (`orionis_team`, 15 published), the `category` taxonomy (5 terms) and a site-wide search endpoint. Read operations require no credentials; write operations require WordPress authentication (application password or cookie+nonce) and are not available to the public.


    Scope note: the live host also registers third-party plugin and hosting ADMIN namespaces (yoast/v1, wpaas/v1, akismet/v1, objectcache/v1, ai1wm/v1, two-factor, wp-site-designer/v1, gdl/v1, wp-site-health/v1, wp-block-editor/v1). Those are real but are vendor control planes rather than Orionis Biosciences'' content surface, so they are excluded here and recorded in conventions/orionis-biosciences-conventions.yml. The `wp-abilities/v1` namespace — the WordPress Abilities API, the registry MCP adapters expose as tools — is registered on this host but returns HTTP 401 `rest_forbidden` anonymously, so its ability set could not be enumerated. The complete verbatim route index is preserved at openapi/_original/orionis-biosciences-wp-json-index.json.'
  contact:
    name: Orionis Biosciences
    url: https://orionisbio.com/contact/
  x-derived-from: https://orionisbio.com/wp-json/
  x-derived-on: '2026-08-04'
  x-derived-by: API Evangelist enrichment pipeline (0-working/pipeline-enrich.md)
  x-not-a-provider-published-spec: true
servers:
- url: https://orionisbio.com/wp-json
  description: Production
security: []
tags:
- name: Media
paths:
  /wp/v2/media:
    get:
      operationId: getWpV2Media
      summary: GET /wp/v2/media
      tags:
      - Media
      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
          minimum: 1
          default: 1
        description: Current page of the collection.
      - name: per_page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 10
        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: parent
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Limit result set to items with particular parent IDs.
      - name: parent_exclude
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            type: integer
        description: Limit result set to all items except those of a particular parent ID.
      - name: search_columns
        in: query
        required: false
        schema:
          type: array
          default: []
          items:
            enum:
            - post_title
            - post_content
            - post_excerpt
            type: string
        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: inherit
          items:
            enum:
            - inherit
            - private
            - trash
            type: string
        description: Limit result set to posts assigned one or more statuses.
      - name: media_type
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
            enum:
            - image
            - video
            - text
            - application
            - audio
        description: Limit result set to attachments of a particular media type or media types.
      - name: mime_type
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
        description: Limit result set to attachments of a particular MIME type or MIME types.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MediaItem'
        '400':
          description: Invalid parameter (`rest_invalid_param`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated / not permitted (`rest_forbidden`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: Blocked by the site firewall or capability check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found (`rest_no_route`, `rest_post_invalid_id`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    post:
      operationId: createWpV2Media
      summary: POST /wp/v2/media
      tags:
      - Media
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                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.
                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.
                title:
                  type: object
                  description: The title for the post.
                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.
                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.
                meta:
                  type: object
                  description: Meta fields.
                template:
                  type: string
                  description: The theme file to use to display the post.
                alt_text:
                  type: string
                  description: Alternative text to display when attachment is not displayed.
                caption:
                  type: object
                  description: The attachment caption.
                description:
                  type: object
                  description: The attachment description.
                post:
                  type: integer
                  description: The ID for the associated post of the attachment.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MediaItem'
        '400':
          description: Invalid parameter (`rest_invalid_param`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated / not permitted (`rest_forbidden`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: Blocked by the site firewall or capability check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found (`rest_no_route`, `rest_post_invalid_id`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      security:
      - applicationPassword: []
      - cookieNonce: []
  /wp/v2/media/{id}:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
      description: Path segment `id` from the WordPress route pattern `/wp/v2/media/(?P<id>[\d]+)`.
    get:
      operationId: getWpV2MediaById
      summary: GET /wp/v2/media/{id}
      tags:
      - Media
      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.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediaItem'
        '400':
          description: Invalid parameter (`rest_invalid_param`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated / not permitted (`rest_forbidden`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: Blocked by the site firewall or capability check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found (`rest_no_route`, `rest_post_invalid_id`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
    post:
      operationId: createWpV2MediaById
      summary: POST /wp/v2/media/{id}
      tags:
      - Media
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                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.
                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.
                title:
                  type: object
                  description: The title for the post.
                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.
                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.
                meta:
                  type: object
                  description: Meta fields.
                template:
                  type: string
                  description: The theme file to use to display the post.
                alt_text:
                  type: string
                  description: Alternative text to display when attachment is not displayed.
                caption:
                  type: object
                  description: The attachment caption.
                description:
                  type: object
                  description: The attachment description.
                post:
                  type: integer
                  description: The ID for the associated post of the attachment.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediaItem'
        '400':
          description: Invalid parameter (`rest_invalid_param`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated / not permitted (`rest_forbidden`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: Blocked by the site firewall or capability check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found (`rest_no_route`, `rest_post_invalid_id`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      security:
      - applicationPassword: []
      - cookieNonce: []
    put:
      operationId: updateWpV2MediaById
      summary: PUT /wp/v2/media/{id}
      tags:
      - Media
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                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.
                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.
                title:
                  type: object
                  description: The title for the post.
                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.
                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.
                meta:
                  type: object
                  description: Meta fields.
                template:
                  type: string
                  description: The theme file to use to display the post.
                alt_text:
                  type: string
                  description: Alternative text to display when attachment is not displayed.
                caption:
                  type: object
                  description: The attachment caption.
                description:
                  type: object
                  description: The attachment description.
                post:
                  type: integer
                  description: The ID for the associated post of the attachment.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediaItem'
        '400':
          description: Invalid parameter (`rest_invalid_param`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated / not permitted (`rest_forbidden`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: Blocked by the site firewall or capability check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found (`rest_no_route`, `rest_post_invalid_id`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      security:
      - applicationPassword: []
      - cookieNonce: []
    patch:
      operationId: patchWpV2MediaById
      summary: PATCH /wp/v2/media/{id}
      tags:
      - Media
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                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.
                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.
                title:
                  type: object
                  description: The title for the post.
                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.
                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.
                meta:
                  type: object
                  description: Meta fields.
                template:
                  type: string
                  description: The theme file to use to display the post.
                alt_text:
                  type: string
                  description: Alternative text to display when attachment is not displayed.
                caption:
                  type: object
                  description: The attachment caption.
                description:
                  type: object
                  description: The attachment description.
                post:
                  type: integer
                  description: The ID for the associated post of the attachment.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediaItem'
        '400':
          description: Invalid parameter (`rest_invalid_param`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated / not permitted (`rest_forbidden`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: Blocked by the site firewall or capability check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found (`rest_no_route`, `rest_post_invalid_id`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      security:
      - applicationPassword: []
      - cookieNonce: []
    delete:
      operationId: deleteWpV2MediaById
      summary: DELETE /wp/v2/media/{id}
      tags:
      - Media
      parameters:
      - name: force
        in: query
        required: false
        schema:
          type: boolean
          default: false
        description: Whether to bypass Trash and force deletion.
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediaItem'
        '400':
          description: Invalid parameter (`rest_invalid_param`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated / not permitted (`rest_forbidden`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: Blocked by the site firewall or capability check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found (`rest_no_route`, `rest_post_invalid_id`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      security:
      - applicationPassword: []
      - cookieNonce: []
  /wp/v2/media/{id}/post-process:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
      description: Path segment `id` from the WordPress route pattern `/wp/v2/media/(?P<id>[\d]+)/post-process`.
    post:
      operationId: createWpV2MediaByIdPostProcess
      summary: POST /wp/v2/media/{id}/post-process
      tags:
      - Media
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                action:
                  type: string
                  enum:
                  - create-image-subsizes
              required:
              - action
      responses:
        '200':
          description: Successful response.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid parameter (`rest_invalid_param`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '401':
          description: Not authenticated / not permitted (`rest_forbidden`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '403':
          description: Blocked by the site firewall or capability check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
        '404':
          description: No route or resource found (`rest_no_route`, `rest_post_invalid_id`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WPError'
      security:
      - applicationPassword: []
      - cookieNonce: []
  /wp/v2/media/{id}/edit:
    parameters:
    - name: id
      in: path
      required: true
      schema:
        type: string
      description: Path segment `id` from the WordPress route pattern `/wp/v2/media/(?P<id>[\d]+)/edit`.
    post:
      operationId: createWpV2MediaByIdEdit
      summary: POST /wp/v2/media/{id}/edit
      tags:
      - Media
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                src:
                  type: string
                  format: uri
                  description: URL to the edited image file.
                modifiers:
                  type: array
                  items:
                    description: Image edit.
                    type: object
                    required:
                    - type
                    - args
                    oneOf:
                    - title: Flip
                      properties:
                        type:
                          description: Flip type.
                          type: string
                          enum:
                          - flip
                        args:
                          description: Flip arguments.
                          type: object
                          required:
                          - flip
                          properties:
                            flip:
                              description: Flip direction.
                              type: object
                              required:
                              - horizontal
                              - vertical
                              properties:
                                horizontal:
                                  description: Whether to flip in the horizontal direction.
                                  type: boolean
                                vertical:
                                  description: Whether to flip in the vertical direction.
                                  type: boolean
                    - title: Rotation
                      properties:
                        type:
                          description: Rotation type.
                          type: string
                          enum:
                          - rotate
                        args:
                          description: Rotation arguments.
                          type: object
                          required:
                          - angle
                          properties:
                            angle:
                              description: Angle to rotate clockwise in degrees.
                              type: number
                    - title: Crop
                      properties:
                        type:
                          description: Crop type.
                          type: string
                          enum:
                          - crop
                        args:
                          description: Crop arguments.
                          type: object
                          required:
                          - left
                          - top
                   

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/orionis-biosciences/refs/heads/main/openapi/orionis-biosciences-media-api-openapi.yml