Purdue University Media API

The Media API from Purdue University — 11 operation(s) for media.

Operations 13

GET /media/folder Get media folder #
POST /media/folder Create media folder #
PUT /media/folder Replace media folder #
DELETE /media/folder/delete Delete media folder delete #
GET /media Get media #
GET /media/tree Get media tree #
GET /media/layout Get media layout #
POST /media/upload Create media upload #
PUT /media/move Replace media move #
DELETE /media/delete Delete media delete #
GET /media/download Get media download #
GET /media/url Get media url #
GET /file/{fileId} Fetch a location logo or photo #

Documentation

Specifications

Schemas & Data

Other Resources

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/purdue-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

purdue-media-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Purdue Media API
  x-refined-note:
  - x-refined-note differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged Media across 2 of this provider''s published API definitions: purdue-rcac-api.json, purdue-media-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://www.rcac.purdue.edu/api
  description: Production server
- url: https://api.hfs.purdue.edu/menus/v2
  description: Production - observed live, keyless, 2026-08-30
tags:
- name: Media
paths:
  /media/folder:
    get:
      description: Display a listing of files
      parameters:
      - in: query
        name: path
        description: Path
        required: true
        schema:
          type: string
      tags:
      - Media
      summary: Get media folder
      x-summary-source: derived
      operationId: getMediaFolder
      x-operation-id-source: derived
    post:
      description: Create a directory
      parameters: []
      requestBody:
        content:
          '*/*':
            schema:
              type: object
              properties:
                disk:
                  description: Storage disk
                  type: string
                  default: public
                path:
                  description: Path to create new directory in
                  type: string
                  default: null
                name:
                  description: Folder name
                  type: string
                  default: null
              required:
              - name
      tags:
      - Media
      summary: Create media folder
      x-summary-source: derived
      operationId: postMediaFolder
      x-operation-id-source: derived
    put:
      description: Update a directory
      parameters: []
      requestBody:
        content:
          '*/*':
            schema:
              type: object
              properties:
                disk:
                  description: Storage disk
                  type: string
                  default: public
                before:
                  description: Original folder path
                  type: string
                  default: null
                after:
                  description: Renamed folder path
                  type: string
                  default: null
              required:
              - before
              - after
      tags:
      - Media
      summary: Replace media folder
      x-summary-source: derived
      operationId: putMediaFolder
      x-operation-id-source: derived
    servers:
    - url: https://www.rcac.purdue.edu/api
      description: Production server
  /media/folder/delete:
    delete:
      description: Delete a folder
      parameters:
      - in: query
        name: disk
        description: Storage disk
        required: false
        schema:
          type: string
          default: public
      - in: query
        name: path
        description: Folder path
        required: true
        schema:
          type: string
      tags:
      - Media
      summary: Delete media folder delete
      x-summary-source: derived
      operationId: deleteMediaFolderDelete
      x-operation-id-source: derived
    servers:
    - url: https://www.rcac.purdue.edu/api
      description: Production server
  /media:
    get:
      description: Display a listing of files
      parameters:
      - in: query
        name: disk
        description: Storage disk
        required: false
        schema:
          type: string
          default: public
      - in: query
        name: path
        description: Which folder to get tree of
        required: false
        schema:
          type: string
          default: /
      tags:
      - Media
      summary: Get media
      x-summary-source: derived
      operationId: getMedia
      x-operation-id-source: derived
    servers:
    - url: https://www.rcac.purdue.edu/api
      description: Production server
  /media/tree:
    get:
      description: Get directory tree
      parameters:
      - in: query
        name: folder
        description: Which folder to get tree of
        required: true
        schema:
          type: string
      tags:
      - Media
      summary: Get media tree
      x-summary-source: derived
      operationId: getMediaTree
      x-operation-id-source: derived
    servers:
    - url: https://www.rcac.purdue.edu/api
      description: Production server
  /media/layout:
    get:
      description: Get directory tree
      parameters:
      - in: query
        name: layout
        description: Which view layout to return
        required: true
        schema:
          type: string
      tags:
      - Media
      summary: Get media layout
      x-summary-source: derived
      operationId: getMediaLayout
      x-operation-id-source: derived
    servers:
    - url: https://www.rcac.purdue.edu/api
      description: Production server
  /media/upload:
    post:
      description: Upload
      parameters: []
      responses:
        '201':
          description: Successful entry creation
        '401':
          description: Unauthorized
        '415':
          description: Invalid data
      requestBody:
        content:
          '*/*':
            schema:
              type: object
              properties:
                disk:
                  description: Filesystem disk
                  type: string
                  default: null
                path:
                  description: File path to upload the file to
                  type: string
                  default: null
                file:
                  description: File to be uploaded
                  type: array
                  default: null
                overwrite:
                  description: Overwrite existing file of the same name
                  type: bool
                  default: null
              required:
              - file
      tags:
      - Media
      summary: Create media upload
      x-summary-source: derived
      operationId: postMediaUpload
      x-operation-id-source: derived
    servers:
    - url: https://www.rcac.purdue.edu/api
      description: Production server
  /media/move:
    put:
      description: Rename/move a file
      parameters: []
      responses:
        '202':
          description: Successful entry modification
        '404':
          description: Record not found
        '422':
          description: Invalid data
      requestBody:
        content:
          '*/*':
            schema:
              type: object
              properties:
                disk:
                  description: Filesystem disk
                  type: string
                  default: null
                before:
                  description: Source file path
                  type: string
                  default: null
                after:
                  description: Destination file path
                  type: string
                  default: null
              required:
              - before
              - after
      tags:
      - Media
      summary: Replace media move
      x-summary-source: derived
      operationId: putMediaMove
      x-operation-id-source: derived
    servers:
    - url: https://www.rcac.purdue.edu/api
      description: Production server
  /media/delete:
    delete:
      description: Delete a file
      parameters: []
      responses:
        '204':
          description: Successful deletion
      requestBody:
        content:
          '*/*':
            schema:
              type: object
              properties:
                disk:
                  description: Filesystem disk
                  type: string
                  default: null
                items:
                  description: A list of file paths
                  type: array
                  default: null
              required:
              - items
      tags:
      - Media
      summary: Delete media delete
      x-summary-source: derived
      operationId: deleteMediaDelete
      x-operation-id-source: derived
    servers:
    - url: https://www.rcac.purdue.edu/api
      description: Production server
  /media/download:
    get:
      description: Download a file
      parameters: []
      responses:
        '200':
          description: Successful entry download
        '404':
          description: File not found
      requestBody:
        content:
          '*/*':
            schema:
              type: object
              properties:
                disk:
                  description: Filesystem disk
                  type: string
                  default: null
                path:
                  description: File path
                  type: string
                  default: null
              required:
              - path
      tags:
      - Media
      summary: Get media download
      x-summary-source: derived
      operationId: getMediaDownload
      x-operation-id-source: derived
    servers:
    - url: https://www.rcac.purdue.edu/api
      description: Production server
  /media/url:
    get:
      description: Get file URL
      parameters: []
      responses:
        '200':
          description: Successful entry download
      requestBody:
        content:
          '*/*':
            schema:
              type: object
              properties:
                disk:
                  description: Filesystem disk
                  type: string
                  default: null
                path:
                  description: File path
                  type: string
                  default: null
              required:
              - path
      tags:
      - Media
      summary: Get media url
      x-summary-source: derived
      operationId: getMediaUrl
      x-operation-id-source: derived
    servers:
    - url: https://www.rcac.purdue.edu/api
      description: Production server
  /file/{fileId}:
    servers:
    - url: https://api.hfs.purdue.edu/menus/v2
      description: Production - observed live, keyless, 2026-08-30
    get:
      tags:
      - Media
      operationId: getFile
      summary: Fetch a location logo or photo
      parameters:
      - name: fileId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        example: b6c2089d-7737-4953-b1d9-0ad8e7c3cc40
      responses:
        '200':
          description: Image binary.
          content:
            image/*:
              schema:
                type: string
                format: binary
components:
  securitySchemes:
    api_token:
      type: apiKey
      name: api_token
      in: header
x-refined-from:
- purdue-rcac-api.json
- purdue-media-api-openapi.yml