Pennsylvania State University Buildings API

University buildings and their facility attributes.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

pennsylvania-state-university-buildings-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: LionSpaceFIS REST Buildings 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: Buildings
  description: University buildings and their facility attributes.
paths:
  /buildings:
    get:
      tags:
      - Buildings
      summary: List buildings
      description: Returns buildings with their facility attributes. Supports filtering on properties using comparison operators such as :eq, :ne, :ge, :le, :gt, :lt, :like, and :ilike (e.g. name:ilike=lab).
      operationId: listBuildings
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - name: name
        in: query
        description: Filter by building name, optionally with an operator suffix.
        required: false
        schema:
          type: string
      - name: status
        in: query
        description: Filter by building status (e.g. ACTV).
        required: false
        schema:
          type: string
      responses:
        '200':
          description: A list of buildings.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Building'
components:
  parameters:
    offset:
      name: offset
      in: query
      description: Number of records to skip for pagination.
      required: false
      schema:
        type: integer
        minimum: 0
    limit:
      name: limit
      in: query
      description: Maximum number of records to return.
      required: false
      schema:
        type: integer
        minimum: 1
  schemas:
    Campus:
      type: object
      properties:
        id:
          type: string
          example: UP
        maximoCampusCode:
          type: string
          example: UP
        lionPathCampusCode:
          type: string
          example: UP
        maximoCode:
          type: string
          example: UP
        lionPathCode:
          type: string
          example: AE
        name:
          type: string
          example: University Park
    Building:
      type: object
      properties:
        id:
          type: string
          example: '0402000'
        name:
          type: string
          example: Wartik Laboratory (Dr Thomas)
        abbreviation:
          type: string
          example: Wartik Lab
        maximoName:
          type: string
          example: WARTIK LAB
        function:
          type: string
          example: '30500'
        buildingFunctionCat:
          type: string
          example: EG
        status:
          type: string
          example: ACTV
        county:
          type: string
          example: Centre
        address:
          type: string
          example: 360 SCIENCE DR
        city:
          type: string
          example: UNIVERSITY PARK
        state:
          type: string
          example: PA
        zipCode:
          type: string
          example: '16802'
        businessAreaKey:
          type: string
          example: '6390'
        isWorkspace:
          type: boolean
          example: true
        facilityCoordinators:
          type: string
          nullable: true
        capacity:
          type: integer
          example: 178
        occupancy:
          type: integer
          example: 69
        campus:
          $ref: '#/components/schemas/Campus'
        lastUpdateDate:
          type: string
          format: date
          example: '2026-04-29'
        dateInactivated:
          type: string
          format: date
          nullable: true
        latLong:
          $ref: '#/components/schemas/LatLong'
    LatLong:
      type: object
      properties:
        latitude:
          type: number
          format: double
          example: 40.79974
        longitude:
          type: number
          format: double
          example: -77.86252