Pennsylvania State University Files API

The Files API from Pennsylvania State University — 1 operation(s) for files.

Operations 1

PUT /files Updates a file's metadata #

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/pennsylvania-state-university-files-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

pennsylvania-state-university-files-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ScholarSphere Files API
  description: API specification for ScholarSphere
  termsOfService: https://scholarsphere.psu.edu/about
  contact:
    name: ScholarSphere Support
    email: https://scholarsphere.psu.edu/help
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: '1.0'
servers:
- url: https://scholarsphere.psu.edu/api/{version}
  description: API endpoint
  variables:
    version:
      description: Version of the API
      enum:
      - v1
      default: v1
tags:
- name: Files
paths:
  /files:
    put:
      summary: Updates a file's metadata
      description: The client can update a file's metadata, such as the results of a virus scan or other async process.
      security:
      - APIKey: []
      requestBody:
        description: Posting updating information for a file after checking for viruses
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/fileMetadata'
            examples:
              novirus:
                summary: No virus was found in the file
                description: Client posts a json object containing the results of the virus check and when it was performed.
                value:
                  id: '1'
                  metadata:
                    virus:
                      status: 'false'
                      scanned_at: '2021-01-25'
              yesvirus:
                summary: A virus was found in the file
                description: Client posts a json object containing a positive virus check and when it was performed.
                value:
                  id: '1'
                  metadata:
                    virus:
                      status: 'true'
                      scanned_at: '2021-01-25'
      responses:
        200:
          description: The file's metadata was successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/successResponse'
              examples:
                summary: The client is not authorized to perform the requested action
                value:
                  message: File was successfully updated
        default:
          $ref: '#/components/responses/defaultPostError'
      tags:
      - Files
      operationId: putFiles
      x-operation-id-source: derived
components:
  schemas:
    successResponse:
      required:
      - message
      properties:
        message:
          type: string
    errorResponse:
      required:
      - code
      - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
        errors:
          type: array
          items:
            type: string
    fileMetadata:
      required:
      - id
      properties:
        id:
          $ref: '#/components/schemas/id'
        metadata:
          allOf:
          - $ref: '#/components/schemas/virusCheck'
    id:
      type: object
      properties:
        id:
          type: integer
          example: '1'
    virusCheck:
      properties:
        status:
          type: string
          format: boolean
          enum:
          - true
          - false
        scanned_at:
          type: string
          format: date
  examples:
    unprocessableEntity:
      summary: The request has missing or incorrect information
      value:
        code: 411
        message: Unable to complete the request
        errors:
        - Sample error from server
    notFound:
      summary: The requested resource does not exist
      value:
        code: 404
        message: Record not found
    unauthorized:
      summary: The client is not authorized to perform the requested action
      value:
        code: 401
        message: '401: Request not authorized. Please provide a valid API key for access.'
    serverError:
      summary: The server threw some kind of error or exception
      value:
        code: 500
        message: We're sorry, but something went wrong
        errors:
        - NoMethodError
        - undefined method `application' for nil:NilClass
  responses:
    defaultPostError:
      description: If the resource can't be created, then there is some kind of error. The client can interpret the responses.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
          examples:
            unauthorized:
              $ref: '#/components/examples/unauthorized'
            notFound:
              $ref: '#/components/examples/notFound'
            unprocessableEntity:
              $ref: '#/components/examples/unprocessableEntity'
            serverError:
              $ref: '#/components/examples/serverError'
  securitySchemes:
    APIKey:
      type: apiKey
      description: Key-based authorization mechanism to the API. A key is obtained fron the ScholarSphere team and is included in the header of all requests.
      name: X_API_KEY
      in: header