UCLA myUCLA menu data — schemas in use

Schemas reachable from the operations of the UCLA contract of the same name. Extracted from the contract UCLA publishes on its own developer portal; the source document carries a large shared SIS definition library of which only these are referenced by any path.

UniversityHigher EducationEducationUnited StatesCaliforniaUC SystemPublic Research UniversityCourse CatalogStudent InformationIdentity FederationResearch RepositoryLibraryIIIFCampus Life
View JSON Schema on GitHub

JSON Schema

ucla-myucla-menu-data-schemas.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/ucla/main/json-schema/ucla-myucla-menu-data-schemas.json",
  "title": "UCLA myUCLA menu data \u2014 schemas in use",
  "description": "Schemas reachable from the operations of the UCLA contract of the same name. Extracted from the contract UCLA publishes on its own developer portal; the source document carries a large shared SIS definition library of which only these are referenced by any path.",
  "x-generated": "2026-08-19",
  "x-method": "derived",
  "x-source": "https://developer.api.ucla.edu/sites/default/files/apidoc_specs/_myucla_menudata_v1.json",
  "x-operator": "institution",
  "$defs": {
    "Feature": {
      "description": "A feature is one of the links that a user can click on. This metadata is populated from\r\n            the database.",
      "type": "object",
      "properties": {
        "featureIDNumber": {
          "format": "int32",
          "description": "Feature ID number in database",
          "type": "integer"
        },
        "featureName": {
          "description": "Feature name",
          "type": "string"
        },
        "featureToolTip": {
          "description": "Tooltip to show with the feature",
          "type": "string"
        },
        "featureDescription": {
          "description": "Long description of the feature",
          "type": "string"
        },
        "isFeatureExternal": {
          "description": "Determines whether or not the feature is an external facing feature",
          "type": "boolean"
        },
        "isHomeWindow": {
          "description": "Determines whether this feature is a home feature",
          "type": "boolean"
        },
        "tempIcon": {
          "description": "Location of the feature's icon",
          "type": "string"
        },
        "featureURL": {
          "description": "URL feature is hosted at",
          "type": "string"
        },
        "isLegacy": {
          "description": "Determines whether feature is a legacy feature",
          "type": "boolean"
        },
        "isAvailable": {
          "description": "Determines if feature is available.",
          "type": "boolean"
        },
        "message": {
          "description": "Optional database message accompanying feature",
          "type": "string"
        },
        "isImportant": {
          "description": "Determines if the feature is marked as important",
          "type": "boolean"
        },
        "siteID": {
          "format": "int32",
          "description": "Site ID number that the feature belongs to",
          "type": "integer"
        },
        "siteName": {
          "description": "Name of site that the feature belongs to",
          "type": "string"
        }
      }
    },
    "FeatureGroup": {
      "description": "A feature group is a group of features that logically should be grouped together.",
      "type": "object",
      "properties": {
        "featureGroupID": {
          "format": "int32",
          "description": "Feature Group ID in database",
          "type": "integer"
        },
        "featureGroupSequenceNumber": {
          "format": "int32",
          "description": "Feature Group sequence numbering order to render",
          "type": "integer"
        },
        "featureGroupName": {
          "description": "Name of the Feature Group",
          "type": "string"
        },
        "features": {
          "description": "Set of features that belong to this feature group",
          "type": "array",
          "items": {
            "$ref": "#/definitions/Feature"
          }
        }
      }
    },
    "MegaMenuModel": {
      "description": "The mega menu model contains all the data necessary to render\r\n            the full Mega Menu for IWE.",
      "type": "object",
      "properties": {
        "superGroups": {
          "description": "Set of super groups sorted in the order that they should\r\n            be rendered.",
          "type": "array",
          "items": {
            "$ref": "#/definitions/SuperGroup"
          }
        },
        "_homeURL": {
          "type": "string"
        }
      }
    },
    "MenuDataInput": {
      "type": "object",
      "properties": {
        "ppId": {
          "type": "string"
        },
        "sessionId": {
          "type": "string"
        },
        "shibUclaLogonId": {
          "type": "string"
        },
        "uid": {
          "type": "string"
        },
        "uclaPersonRole": {
          "type": "string"
        },
        "firstName": {
          "type": "string"
        },
        "nickName": {
          "type": "string"
        },
        "logoutURL": {
          "type": "string"
        },
        "favoriteFeatureCookieTS": {
          "type": "string"
        },
        "favoriteFeatureCookieValue": {
          "type": "string"
        },
        "hiddenRoleCookieTS": {
          "type": "string"
        },
        "hiddenRoleCookieValue": {
          "type": "string"
        },
        "homeUrlCookieTS": {
          "type": "string"
        },
        "homeUrlCookieValue": {
          "type": "string"
        },
        "noticeCountCookieValue": {
          "type": "string"
        },
        "roleChangedCookieTS": {
          "type": "string"
        }
      }
    },
    "SuperGroup": {
      "description": "Class that represents a SuperGroup. A super group is comprised of several\r\n            feature groups.",
      "type": "object",
      "properties": {
        "superGroupID": {
          "format": "int32",
          "description": "Super Group ID in database",
          "type": "integer"
        },
        "sequenceNumber": {
          "format": "int32",
          "description": "Super Group sequence number that determines ordering on the menu",
          "type": "integer"
        },
        "superGroupName": {
          "description": "Name of the super group",
          "type": "string"
        },
        "myFeaturesUrl": {
          "description": "Url of the page used to customize MyFeatures\r\n            Only used by the MyFeatures Super Group",
          "type": "string"
        },
        "featureGroups": {
          "description": "Set of feature groups that belong to this super group. This \r\n            is sorted by the FeatureGroup ID",
          "type": "array",
          "items": {
            "$ref": "#/definitions/FeatureGroup"
          }
        },
        "featureGroupColumns": {
          "description": "Provides individual column sorting for feature groups. \r\n            Indexes into the first list are the actual columns that should\r\n            be rendered. The list of feature groups are the feature groups\r\n            to render for that column.",
          "type": "array",
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/definitions/FeatureGroup"
            }
          }
        }
      }
    },
    "UserInfo": {
      "type": "object",
      "properties": {
        "homeURL": {
          "type": "string"
        },
        "logoutURL": {
          "type": "string"
        },
        "noticesURL": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "menuData": {
          "$ref": "#/definitions/MegaMenuModel"
        },
        "notices": {
          "format": "int32",
          "type": "integer"
        },
        "redirectToNotices": {
          "type": "boolean"
        },
        "jsonMenuData": {
          "type": "string"
        },
        "lastUpdatedTS": {
          "format": "date-time",
          "type": "string"
        }
      }
    }
  }
}