Pennsylvania State University Events API

Change events for buildings and rooms.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

pennsylvania-state-university-events-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: LionSpaceFIS REST Buildings Events API
  description: Public REST API from the Penn State Office of Physical Plant (OPP) exposing the university's facilities and space data, the successor to the legacy FIS Facilities Information System. Exposes buildings, rooms, campuses, buildingEvents, and roomEvents entities with filtering, wildcard, and comparison operators, plus a health endpoint. This OpenAPI description was reconstructed from the public HTML documentation and from live, observed responses of the running service (appVersion 1.14.0); the provider does not publish a machine-readable specification of its own.
  version: 1.14.0
  contact:
    name: Penn State Office of Physical Plant
    url: https://apps.opp.psu.edu/fis-api/
servers:
- url: https://apps.opp.psu.edu/fis-api/v1
  description: Production v1 API
- url: https://apps.opp.psu.edu/fis-api
  description: Service root (health endpoint)
tags:
- name: Events
  description: Change events for buildings and rooms.
paths:
  /buildingEvents:
    get:
      tags:
      - Events
      summary: List building change events
      description: Returns change events for buildings. Events are reported once daily to avoid redundant updates. Event codes include A (add) and U (update).
      operationId: listBuildingEvents
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      responses:
        '200':
          description: A list of building change events.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BuildingEvent'
  /roomEvents:
    get:
      tags:
      - Events
      summary: List room change events
      description: Returns change events for rooms. Events are reported once daily. Event codes include A (add) and U (update), with oldValue/newValue and the changed fieldName for updates.
      operationId: listRoomEvents
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      responses:
        '200':
          description: A list of room change events.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/RoomEvent'
components:
  schemas:
    RoomEvent:
      type: object
      properties:
        event:
          type: string
          description: Event code (A = add, U = update).
          example: U
        oldValue:
          type: string
          nullable: true
          example: '1'
        newValue:
          type: string
          nullable: true
          example: '0'
        changeDate:
          type: string
          format: date
          example: '2021-05-28'
        fieldName:
          type: string
          nullable: true
          example: OCCUPANCY
        roomId:
          type: string
          example: 0965002-G-164
    BuildingEvent:
      type: object
      properties:
        event:
          type: string
          description: Event code (A = add, U = update).
          example: A
        oldValue:
          type: string
          nullable: true
        newValue:
          type: string
          nullable: true
        changeDate:
          type: string
          format: date
          example: '2021-05-28'
        fieldName:
          type: string
          nullable: true
        buildingId:
          type: string
          example: '0002000'
  parameters:
    limit:
      name: limit
      in: query
      description: Maximum number of records to return.
      required: false
      schema:
        type: integer
        minimum: 1
    offset:
      name: offset
      in: query
      description: Number of records to skip for pagination.
      required: false
      schema:
        type: integer
        minimum: 0