Ionetix Media API

The ionetix.com media library as JSON — 291 attachments including product photography, leadership portraits and the IONETIX ION-12SC Cyclotron System data sheet PDFs, with rendered source URLs and generated image sizes.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ionetix-media-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ionetix-media-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ionetix Content API (WordPress REST wp/v2) Media API
  version: wp/v2
  summary: The ionetix.com media library — images, PDFs and cyclotron data sheets.
  description: 'Ionetix publishes ionetix.com on WordPress, which exposes the WordPress REST API at https://ionetix.com/wp-json/.
    The wp/v2 namespace is anonymously readable and returns the company''s news and careers posts, cardiac-PET /
    N-13 Ammonia / alpha-therapy product pages, leadership profiles, media library (including the ION-12SC cyclotron
    data sheet PDFs), taxonomies and a site-wide search endpoint as JSON.


    This document was DERIVED mechanically by API Evangelist from the route-discovery document served at https://ionetix.com/wp-json/
    on 2026-08-23, and from the per-route JSON Schema each collection returns to an HTTP OPTIONS request — every
    path, method, parameter and schema below is taken verbatim from those descriptors. Ionetix does not publish
    an OpenAPI definition of its own, and this is not a product API: it is the content API the CMS exposes. Write
    operations exist on these routes but require authentication (WordPress Application Passwords over HTTP Basic).'
  contact:
    name: Ionetix
    url: https://ionetix.com/contact/
  x-derived-by: API Evangelist enrichment pipeline
  x-derived-from: https://ionetix.com/wp-json/
  x-derived-on: '2026-08-23'
  x-provider-published: false
servers:
- url: https://ionetix.com/wp-json
  description: Production
tags:
- name: Media
  description: The ionetix.com media library — images, PDFs and cyclotron data sheets.
paths:
  /wp/v2/media:
    get:
      operationId: getWpV2Media
      summary: GET /wp/v2/media
      description: Declared by the ionetix.com WordPress REST route index at https://ionetix.com/wp-json/.
      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
          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: 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: Success.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/media'
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or insufficient capability (rest_forbidden).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No route or resource found (rest_no_route / rest_post_invalid_id).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      operationId: postWpV2Media
      summary: POST /wp/v2/media
      description: Declared by the ionetix.com WordPress REST route index at https://ionetix.com/wp-json/.
      tags:
      - Media
      requestBody:
        required: true
        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
                  description: A named status for the post.
                title:
                  type: object
                  properties:
                    raw:
                      description: Title for the post, as it exists in the database.
                      type: string
                      context:
                      - edit
                    rendered:
                      description: HTML title for the post, transformed for display.
                      type: string
                      context:
                      - view
                      - edit
                      - embed
                      readonly: true
                  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
                  properties:
                    inline_featured_image:
                      type: boolean
                      title: ''
                      description: ''
                      default: false
                  description: Meta fields.
                template:
                  type: string
                  description: The theme file to use to display the post.
                publishpress_future_workflow_manual_trigger:
                  type: object
                  description: Workflow Manual Trigger
                alt_text:
                  type: string
                  description: Alternative text to display when attachment is not displayed.
                caption:
                  type: object
                  properties:
                    raw:
                      description: Caption for the attachment, as it exists in the database.
                      type: string
                      context:
                      - edit
                    rendered:
                      description: HTML caption for the attachment, transformed for display.
                      type: string
                      context:
                      - view
                      - edit
                      - embed
                      readonly: true
                  description: The attachment caption.
                description:
                  type: object
                  properties:
                    raw:
                      description: Description for the attachment, as it exists in the database.
                      type: string
                      context:
                      - edit
                    rendered:
                      description: HTML description for the attachment, transformed for display.
                      type: string
                      context:
                      - view
                      - edit
                      readonly: true
                  description: The attachment description.
                post:
                  type: integer
                  description: The ID for the associated post of the attachment.
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or insufficient capability (rest_forbidden).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No route or resource found (rest_no_route / rest_post_invalid_id).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - applicationPassword: []
  /wp/v2/media/{id}:
    get:
      operationId: getWpV2MediaById
      summary: GET /wp/v2/media/{id}
      description: Declared by the ionetix.com WordPress REST route index at https://ionetix.com/wp-json/.
      tags:
      - Media
      parameters:
      - &id001
        name: id
        in: path
        required: true
        schema:
          type: integer
        description: WordPress id identifier.
      - 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: Success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/media'
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or insufficient capability (rest_forbidden).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No route or resource found (rest_no_route / rest_post_invalid_id).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      operationId: postWpV2MediaById
      summary: POST /wp/v2/media/{id}
      description: Declared by the ionetix.com WordPress REST route index at https://ionetix.com/wp-json/.
      tags:
      - Media
      parameters:
      - *id001
      requestBody:
        required: true
        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
                  description: A named status for the post.
                title:
                  type: object
                  properties:
                    raw:
                      description: Title for the post, as it exists in the database.
                      type: string
                      context:
                      - edit
                    rendered:
                      description: HTML title for the post, transformed for display.
                      type: string
                      context:
                      - view
                      - edit
                      - embed
                      readonly: true
                  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
                  properties:
                    inline_featured_image:
                      type: boolean
                      title: ''
                      description: ''
                      default: false
                  description: Meta fields.
                template:
                  type: string
                  description: The theme file to use to display the post.
                publishpress_future_workflow_manual_trigger:
                  type: object
                  description: Workflow Manual Trigger
                alt_text:
                  type: string
                  description: Alternative text to display when attachment is not displayed.
                caption:
                  type: object
                  properties:
                    raw:
                      description: Caption for the attachment, as it exists in the database.
                      type: string
                      context:
                      - edit
                    rendered:
                      description: HTML caption for the attachment, transformed for display.
                      type: string
                      context:
                      - view
                      - edit
                      - embed
                      readonly: true
                  description: The attachment caption.
                description:
                  type: object
                  properties:
                    raw:
                      description: Description for the attachment, as it exists in the database.
                      type: string
                      context:
                      - edit
                    rendered:
                      description: HTML description for the attachment, transformed for display.
                      type: string
                      context:
                      - view
                      - edit
                      readonly: true
                  description: The attachment description.
                post:
                  type: integer
                  description: The ID for the associated post of the attachment.
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or insufficient capability (rest_forbidden).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No route or resource found (rest_no_route / rest_post_invalid_id).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - applicationPassword: []
    delete:
      operationId: deleteWpV2MediaById
      summary: DELETE /wp/v2/media/{id}
      description: Declared by the ionetix.com WordPress REST route index at https://ionetix.com/wp-json/.
      tags:
      - Media
      parameters:
      - *id001
      - name: force
        in: query
        required: false
        schema:
          type: boolean
          default: false
        description: Whether to bypass Trash and force deletion.
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid parameter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication required or insufficient capability (rest_forbidden).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: No route or resource found (rest_no_route / rest_post_invalid_id).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
      - applicationPassword: []
components:
  schemas:
    Error:
      type: object
      description: WordPress REST API error envelope (WP_Error serialization).
      properties:
        code:
          type: string
          description: Machine-readable error code, e.g. rest_forbidden.
        message:
          type: string
          description: Human-readable message.
        data:
          type: object
          properties:
            status:
              type: integer
      required:
      - code
      - message
    media:
      $schema: http://json-schema.org/draft-04/schema#
      title: attachment
      type: object
      properties:
        date:
          description: The date the post was published, in the site's timezone.
          type:
          - string
          - 'null'
          format: date-time
        date_gmt:
          description: The date the post was published, as GMT.
          type:
          - string
          - 'null'
          format: date-time
        guid:
          description: The globally unique identifier for the post.
          type: object
          properties:
            raw:
              description: GUID for the post, as it exists in the database.
              type: string
            rendered:
              description: GUID for the post, transformed for display.
              type: string
        id:
          description: Unique identifier for the post.
          type: integer
        link:
          description: URL to the post.
          type: string
          format: uri
        modified:
          description: The date the post was last modified, in the site's timezone.
          type: string
          format: date-time
        modified_gmt:
          description: The date the post was last modified, as GMT.
          type: string
          format: date-time
        slug:
          description: An alphanumeric identifier for the post unique to its type.
          type: string
        status:
          description: A named status for the post.
          type: string
          enum:
          - publish
          - future
          - draft
          - pending
          - private
        type:
          description: Type of post.
          type: string
        permalink_template:
          description: Permalink template for the post.
          type: string
        generated_slug:
          description: Slug automatically generated from the post title.
          type: string
        class_list:
          description: An array of the class names for the post container element.
          type: array
          items:
            type: string
        title:
          description: The title for the post.
          type: object
          properties:
            raw:
              description: Title for the post, as it exists in the database.
              type: string
            rendered:
              description: HTML title for the post, transformed for display.
              type: string
        author:
          description: The ID for the author of the post.
          type: integer
        featured_media:
          description: The ID of the featured media for the post.
          type: integer
        comment_status:
          description: Whether or not comments are open on the post.
          type: string
          enum:
          - open
          - closed
        ping_status:
          description: Whether or not the post can be pinged.
          type: string
          enum:
          - open
          - closed
        meta:
          description: Meta fields.
          type: object
          properties:
            inline_featured_image:
              type: boolean
              title: ''
              description: ''
              default: false
        template:
          description: The theme file to use to display the post.
          type: string
        publishpress_future_workflow_manual_trigger:
          description: Workflow Manual Trigger
          type: object
        alt_text:
          description: Alternative text to display when attachment is not displayed.
          type: string
        caption:
          description: The attachment caption.
          type: object
          properties:
            raw:
              description: Caption for the attachment, as it exists in the database.
              type: string
            rendered:
              description: HTML caption for the attachment, transformed for display.
              type: string
        description:
          description: The attachment description.
          type: object
          properties:
            raw:
              description: Description for the attachment, as it exists in the database.
              type: string
            rendered:
              description: HTML description for the attachment, transformed for display.
              type: string
        media_type:
          description: Attachment type.
          type: string
          enum:
          - image
          - file
        mime_type:
          description: The attachment MIME type.
          type: string
        media_details:
          description: Details about the media file, specific to its type.
          type: object
        post:
          description: The ID for the associated post of the attachment.
          type: integer
        source_url:
          description: URL to the original attachment file.
          type: string
          format: uri
        missing_image_sizes:
          description: List of the missing image sizes of the attachment.
          type: array
          items:
            type: string
        filename:
          description: Original attachment file name.
          type: string
        filesize:
          description: Attachment file size in bytes.
          type: integer
        exif_orientation:
          description: EXIF orientation value. Values 1-8 follow the EXIF specification, where 1 means no rotation
            needed.
          type: integer
      links:
      - rel: https://api.w.org/action-unfiltered-html
        title: The current user can post unfiltered HTML markup and JavaScript.
        href: https://ionetix.com/wp-json/wp/v2/media/{id}
        targetSchema:
          type: object
          properties:
            content:
              raw:
                type: string
      - rel: https://api.w.org/action-assign-author
        title: The current user can change the author on this post.
        href: https://ionetix.com/wp-json/wp/v2/media/{id}
        targetSchema:
          type: object
          properties:
            author:
              type: integer
  securitySchemes:
    applicationPassword:
      type: http
      scheme: basic
      description: WordPress Application Passwords over HTTP Basic. The route index at https://ionetix.com/wp-json/
        advertises the authorization endpoint https://ionetix.com/wp-admin/authorize-application.php. Read operations
        on this namespace are anonymous; write operations are not.