Mock Person API data model

Component schemas extracted verbatim from openapi/university-of-wisconsin-madison-mock-person-api-certificates-openapi.yml, a contract published by the University of Wisconsin-Madison. Refs are rewritten from #/$defs/ to #/$defs/; no schema was authored or altered here.

UniversityHigher EducationEducationPublic Research UniversityUnited StatesWisconsinBig TenAssociation of American UniversitiesIdentityIdentity FederationCourse CatalogResearch RepositoryStudent Information SystemHuman ResourcesFinanceCurriculum
View JSON Schema on GitHub

JSON Schema

university-of-wisconsin-madison-mock-person-api-certificates-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/university-of-wisconsin-madison/main/json-schema/university-of-wisconsin-madison-mock-person-api-certificates-schema.json",
  "title": "Mock Person API data model",
  "description": "Component schemas extracted verbatim from openapi/university-of-wisconsin-madison-mock-person-api-certificates-openapi.yml, a contract published by the University of Wisconsin-Madison. Refs are rewritten from #/$defs/ to #/$defs/; no schema was authored or altered here.",
  "x-provenance": {
    "generated": "2026-08-19",
    "method": "derived",
    "source": "openapi/university-of-wisconsin-madison-mock-person-api-certificates-openapi.yml",
    "x-operator": "institution"
  },
  "$defs": {
    "people": {
      "description": "A person.",
      "type": "object",
      "required": [
        "type",
        "id",
        "attributes",
        "relationships",
        "links",
        "meta"
      ],
      "properties": {
        "type": {
          "type": "string",
          "example": "people"
        },
        "id": {
          "type": "string",
          "description": "An ephemeral identifier used only in the Person API to adhere to the [JSON:API specification](https://jsonapi.org/format/#document-resource-object-identification). This ID may change if a person is split into two people or two people are merged into one person. This ID is used for paginating results or following other links returned in the API response. This ID should not be stored in a consuming system. Concatenating parts of the URL to form a link is discouraged. Instead, use the fully-formed links returned in an API response.",
          "example": "12345"
        },
        "attributes": {
          "type": "object",
          "required": [
            "firstName",
            "lastName",
            "emailAddress",
            "officeAddress",
            "officePhoneNumber",
            "dateOfBirth",
            "legalSex",
            "deceased"
          ],
          "properties": {
            "firstName": {
              "type": "string",
              "example": "John",
              "description": "First name, derived from the person's current UW affiliations."
            },
            "lastName": {
              "type": "string",
              "example": "Smith",
              "description": "Last name, derived from the person's current UW affiliations."
            },
            "emailAddress": {
              "type": "string",
              "example": "john.smith@wisc.edu",
              "description": "The email address this person has designated as their primary, if set.  Otherwise, their Campus Business Email, or other email derived from their current UW affiliations."
            },
            "officeAddress": {
              "type": "string",
              "description": "Primary work-related address derived from the person's current UW affiliations.  May or may not be a fully-formed street address.",
              "example": "1210 W. Dayton Street Madison, WI 53706-1613",
              "nullable": true
            },
            "officePhoneNumber": {
              "type": "string",
              "example": "608-262-1204",
              "description": "Primary work-related phone number derived from the person's current UW affiliations.  May or may not be associated with the officeAddress.",
              "nullable": true
            },
            "dateOfBirth": {
              "type": "string",
              "format": "date",
              "example": "1980-01-01",
              "description": "Date of birth.  This is a sensitive attribute and is only available if the requesting application has the 'Sensitive Person Demographics' permission."
            },
            "legalSex": {
              "type": "string",
              "enum": [
                "Female",
                "Male",
                "Non-binary",
                "Other",
                "Unknown"
              ],
              "example": "Male",
              "description": "Legal sex.  This is a sensitive attribute and is only available if the requesting application has the 'Sensitive Person Demographics' permission."
            },
            "deceased": {
              "type": "boolean",
              "example": false,
              "description": "Indicates whether or not this person is deceased.  This is a sensitive attribute and is only available if the requesting application has the 'Sensitive Person Demographics' permission.",
              "nullable": true
            },
            "continuousServiceDate": {
              "type": "string",
              "format": "date",
              "example": "2000-01-01",
              "description": "Adjusted date of civil service employment with the state of Wisconsin - required for a classified permanent job. The adjusted continuous service date is used, for example, to allocate annual vacation for leave accounting, and to rank employees for layoff provisions, including reinstatements, etc. Please see https://policy.wisc.edu/library/UW-5029 for more details."
            }
          }
        },
        "relationships": {
          "type": "object",
          "required": [
            "identifiers",
            "jobs",
            "names",
            "wiscard",
            "addresses",
            "phoneNumbers",
            "emailAddresses",
            "affiliations"
          ],
          "properties": {
            "identifiers": {
              "description": "A generic relationship object",
              "type": "object",
              "properties": {
                "links": {
                  "type": "object",
                  "properties": {
                    "related": {
                      "type": "string",
                      "example": "https://api.wisc.edu/link/to/related/object"
                    }
                  }
                },
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "example": "sampleType"
                      },
                      "id": {
                        "type": "string",
                        "example": "sampleId"
                      }
                    }
                  }
                }
              }
            },
            "jobs": {
              "description": "A generic relationship object",
              "type": "object",
              "properties": {
                "links": {
                  "type": "object",
                  "properties": {
                    "related": {
                      "type": "string",
                      "example": "https://api.wisc.edu/link/to/related/object"
                    }
                  }
                },
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "example": "sampleType"
                      },
                      "id": {
                        "type": "string",
                        "example": "sampleId"
                      }
                    }
                  }
                }
              }
            },
            "names": {
              "description": "A generic relationship object",
              "type": "object",
              "properties": {
                "links": {
                  "type": "object",
                  "properties": {
                    "related": {
                      "type": "string",
                      "example": "https://api.wisc.edu/link/to/related/object"
                    }
                  }
                },
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "example": "sampleType"
                      },
                      "id": {
                        "type": "string",
                        "example": "sampleId"
                      }
                    }
                  }
                }
              }
            },
            "wiscard": {
              "description": "A generic relationship object",
              "type": "object",
              "properties": {
                "links": {
                  "type": "object",
                  "properties": {
                    "related": {
                      "type": "string",
                      "example": "https://api.wisc.edu/link/to/related/object"
                    }
                  }
                },
                "data": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "example": "sampleType"
                    },
                    "id": {
                      "type": "string",
                      "example": "sampleId"
                    }
                  }
                }
              }
            },
            "addresses": {
              "description": "A generic relationship object",
              "type": "object",
              "properties": {
                "links": {
                  "type": "object",
                  "properties": {
                    "related": {
                      "type": "string",
                      "example": "https://api.wisc.edu/link/to/related/object"
                    }
                  }
                },
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "example": "sampleType"
                      },
                      "id": {
                        "type": "string",
                        "example": "sampleId"
                      }
                    }
                  }
                }
              }
            },
            "phoneNumbers": {
              "description": "A generic relationship object",
              "type": "object",
              "properties": {
                "links": {
                  "type": "object",
                  "properties": {
                    "related": {
                      "type": "string",
                      "example": "https://api.wisc.edu/link/to/related/object"
                    }
                  }
                },
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "example": "sampleType"
                      },
                      "id": {
                        "type": "string",
                        "example": "sampleId"
                      }
                    }
                  }
                }
              }
            },
            "emailAddresses": {
              "description": "A generic relationship object",
              "type": "object",
              "properties": {
                "links": {
                  "type": "object",
                  "properties": {
                    "related": {
                      "type": "string",
                      "example": "https://api.wisc.edu/link/to/related/object"
                    }
                  }
                },
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "example": "sampleType"
                      },
                      "id": {
                        "type": "string",
                        "example": "sampleId"
                      }
                    }
                  }
                }
              }
            },
            "affiliations": {
              "description": "A generic relationship object",
              "type": "object",
              "properties": {
                "links": {
                  "type": "object",
                  "properties": {
                    "related": {
                      "type": "string",
                      "example": "https://api.wisc.edu/link/to/related/object"
                    }
                  }
                },
                "data": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "example": "sampleType"
                      },
                      "id": {
                        "type": "string",
                        "example": "sampleId"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "links": {
          "description": "The link to access a resource itself",
          "type": "object",
          "properties": {
            "self": {
              "type": "string",
              "example": "https://api.wisc.edu/link/to/self"
            }
          }
        },
        "meta": {
          "type": "object",
          "properties": {
            "ferpa": {
              "type": "boolean",
              "example": false,
              "description": "Indicates whether or not a student has elected FERPA coverage on one or more of their attributes. Please see https://registrar.wisc.edu/ferpa/ for more details about how to handle FERPA data."
            },
            "ferpaAttributes": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Not currently used."
            },
            "privateAttributes": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Not currently used."
            }
          }
        }
      }
    },
    "identifier": {
      "description": "Details about an identifier associated with a person.",
      "type": "object",
      "required": [
        "type",
        "id",
        "attributes",
        "relationships"
      ],
      "properties": {
        "type": {
          "type": "string",
          "example": "identifiers"
        },
        "id": {
          "type": "string",
          "example": "12345",
          "description": "Ephemeral ID used to adhere to the JSON:API specification. This ID should not be stored."
        },
        "attributes": {
          "type": "object",
          "required": [
            "name",
            "source",
            "value",
            "current"
          ],
          "properties": {
            "name": {
              "type": "string",
              "example": "pvi",
              "enum": [
                "pvi",
                "netId",
                "emplId",
                "libraryPatronId",
                "campusId",
                "predictedPhotoId",
                "eppn",
                "workerId"
              ],
              "description": "The name of this identifier."
            },
            "source": {
              "type": "string",
              "example": "IAM",
              "enum": [
                "IAM",
                "HRS",
                "SIS",
                "LIBRARY",
                "WISCARD",
                "Workday"
              ],
              "description": "The source of this identifier."
            },
            "value": {
              "type": "string",
              "example": "UW123A456"
            },
            "current": {
              "description": "Property that indicates if this identifier is currently used.",
              "type": "boolean",
              "example": true
            },
            "institution": {
              "description": "The institution associated with the resource.",
              "type": "string",
              "example": "UW-Madison",
              "enum": [
                "Shared",
                "UW-Eau Claire",
                "UW-Green Bay",
                "UW-La Crosse",
                "UW-Madison",
                "UW-Milwaukee",
                "UW Oshkosh",
                "UW-Parkside",
                "UW-Platteville",
                "UW-River Falls",
                "UW-Stevens Point",
                "UW-Stout",
                "UW-Superior",
                "UW-Whitewater",
                "UW-Extension",
                "UW System"
              ]
            }
          }
        },
        "relationships": {
          "type": "object",
          "properties": {
            "person": {
              "description": "A generic relationship object",
              "type": "object",
              "properties": {
                "links": {
                  "type": "object",
                  "properties": {
                    "related": {
                      "type": "string",
                      "example": "https://api.wisc.edu/link/to/related/object"
                    }
                  }
                },
                "data": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "example": "sampleType"
                    },
                    "id": {
                      "type": "string",
                      "example": "sampleId"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "job": {
      "description": "Details about a job associated with a person.",
      "type": "object",
      "required": [
        "type",
        "id",
        "attributes",
        "relationships"
      ],
      "properties": {
        "type": {
          "type": "string",
          "example": "jobs"
        },
        "id": {
          "type": "string",
          "example": "12345",
          "description": "Ephemeral ID used to adhere to the JSON:API specification. This ID should not be stored."
        },
        "attributes": {
          "type": "object",
          "required": [
            "title",
            "division",
            "divisionCode",
            "departmentUnit",
            "beginDate",
            "endDate",
            "effectiveDate",
            "fullTimeEquivalent",
            "payBasis",
            "employeeCategoryCode",
            "employeeCategory",
            "jobCode",
            "businessTitle",
            "position",
            "current",
            "primary",
            "supervisoryOrganizationId",
            "costCenterId",
            "source",
            "institution",
            "locationId",
            "workspaceId",
            "action",
            "actionReason"
          ],
          "properties": {
            "title": {
              "type": "string",
              "example": "Software Eng/Developer I",
              "description": "Title of the person's position at this job."
            },
            "division": {
              "type": "string",
              "example": "INFORMATION TECHNOLOGY",
              "description": "High level organizational unit where the job is located.",
              "nullable": true
            },
            "divisionCode": {
              "type": "string",
              "example": "A067040",
              "description": "Code for the location of the job.",
              "nullable": true
            },
            "departmentUnit": {
              "type": "string",
              "example": "L&S/COMPUTER SCI/COMP SCI",
              "description": "Organization path where the job is located.",
              "nullable": true
            },
            "beginDate": {
              "type": "string",
              "format": "date",
              "example": "2018-01-01",
              "description": "The date the job began."
            },
            "endDate": {
              "type": "string",
              "format": "date",
              "example": "2025-01-01",
              "description": "The date the job ended.",
              "nullable": true
            },
            "effectiveDate": {
              "type": "string",
              "format": "date",
              "example": "2018-01-01",
              "description": "The date the newest action on this job is effective."
            },
            "fullTimeEquivalent": {
              "type": "string",
              "example": "0.5",
              "description": "The full time equivalency of the job. Represented as a decimal for HRS jobs and as a percentage for Workday jobs."
            },
            "payBasis": {
              "type": "string",
              "enum": [
                "Academic",
                "Annual",
                "Hourly",
                "Lump",
                "No Pay Basis",
                "Summer Service",
                "Summer Session",
                "Unknown",
                "Salary",
                "No_Pay",
                "Period_Activity_Pay",
                "One_Time_Payment"
              ],
              "example": "Annual",
              "description": "The pay basis for this position.  HRS jobs have a value of Academic, Annual, Hourly, Lump, No Pay Basis, Summer Service, Summer Session, or Unknown.  Workday jobs have a value of Hourly, Salary, No_Pay, Period_Activity_Pay, or One_Time_Payment."
            },
            "employeeCategoryCode": {
              "type": "string",
              "example": "AS",
              "description": "Unique identifier for an employee category."
            },
            "employeeCategory": {
              "type": "string",
              "example": "Academic Staff",
              "description": "See this document for information on this field: https://kb.wisc.edu/ohr/policies/page.php?id=53496"
            },
            "jobCode": {
              "type": "string",
              "example": "IT002",
              "description": "Unique identifier for the job title."
            },
            "businessTitle": {
              "type": "string",
              "example": "Software Engineer/Developer",
              "description": "Business title of the person's position at this job."
            },
            "position": {
              "type": "string",
              "example": "00123456-1",
              "description": "An identifier to be used to uniquely identify a job for a person. This is a concatenation of the position and job record from Peoplesoft HRS, separated by a hyphen '-' (without quotes). It is not recommended to parse this value, but instead use it as an opaque identifier."
            },
            "current": {
              "type": "boolean",
              "example": true,
              "description": "Property that indicates if this job is current."
            },
            "primary": {
              "type": "boolean",
              "example": true,
              "description": "Property that indicates if this is the primary job."
            },
            "supervisoryOrganizationId": {
              "type": "string",
              "example": "SO00001234",
              "description": "The ID of the supervisory organization for this job.",
              "nullable": true
            },
            "costCenterId": {
              "type": "string",
              "example": "CC001234",
              "description": "The ID of the cost center for this job.",
              "nullable": true
            },
            "costCenterName": {
              "type": "string",
              "example": "UWMSN | DOIT | Application Infrastructure Services",
              "description": "The name of the cost center for this job. Only available for jobs with source Workday.",
              "nullable": true
            },
            "source": {
              "type": "string",
              "example": "HRS",
              "enum": [
                "HRS",
                "Workday"
              ],
              "description": "The source of this job."
            },
            "institution": {
              "description": "The institution associated with the resource.",
              "type": "string",
              "example": "UW-Madison",
              "enum": [
                "Shared",
                "UW-Eau Claire",
                "UW-Green Bay",
                "UW-La Crosse",
                "UW-Madison",
                "UW-Milwaukee",
                "UW Oshkosh",
                "UW-Parkside",
                "UW-Platteville",
                "UW-River Falls",
                "UW-Stevens Point",
                "UW-Stout",
                "UW-Superior",
                "UW-Whitewater",
                "UW-Extension",
                "UW System"
              ]
            },
            "supervisoryOrganizationName": {
              "type": "string",
              "example": "Application Infrastructure Services",
              "description": "The name of the supervisory organization for this job. Only available for jobs with source Workday.",
              "nullable": true
            },
            "supervisoryOrganizationCode": {
              "type": "string",
              "example": "UWMSN | DOIT |",
              "description": "The code of the supervisory organization for this job. Only available for jobs with source Workday.",
              "nullable": true
            },
            "relatedSupervisoryOrganizationIds": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "SO00000000",
                "SO00001234",
                "SO00002345"
              ],
              "description": "The IDs of the supervisory organizations related to this job. This list contains IDs of all parent supervisory organizations and IDs of supervisory organizations that this position manages.",
              "nullable": true
            },
            "managedSupervisoryOrganizationIds": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "example": [
                "SO00002345"
              ],
              "description": "The IDs of the supervisory organizations that this job manages.",
              "nullable": true
            },
            "locationId": {
              "type": "string",
              "example": "LCMSN_0048",
              "description": "The ID of the location for this job.  Only available for jobs with source Workday.",
              "nullable": true
            },
            "workspaceId": {
              "type": "string",
              "example": "LCMSN_0048_03_0323",
              "description": "The ID of the workspace for this job.  Only available for jobs with source Workday.",
              "nullable": true
            },
            "action": {
              "type": "string",
              "example": "Change Job",
              "description": "Workday business process.",
              "nullable": true
            },
            "actionReason": {
              "type": "string",
              "example": "CJ9",
              "description": "Reason for the action. Not all actions have a reason.",
              "nullable": true
            }
          }
        },
        "relationships": {
          "type": "object",
          "required": [
            "person",
            "supervisor"
          ],
          "properties": {
            "person": {
              "description": "A generic relationship object",
              "type": "object",
              "properties": {
                "links": {
                  "type": "object",
                  "properties": {
                    "related": {
                      "type": "string",
                      "example": "https://api.wisc.edu/link/to/related/object"
                    }
                  }
                },
                "data": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "example": "sampleType"
                    },
                    "id": {
                      "type": "string",
                      "example": "sampleId"
                    }
                  }
                }
              }
            },
            "supervisor": {
              "description": "The supervisor for the job. If the job reports to a position that has 0 or greater than 2 people occupying it, this relationship is empty. If the job reports to a position occupied by 2 people, this relationship points to the person with the most recently entered job.",
              "type": "object",
              "properties": {
                "links": {
                  "type": "object",
                  "properties": {
                    "related": {
                      "type": "string",
                      "example": "https://api.wisc.edu/people/123"
                    }
                  }
                },
                "data": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "example": "people"
                    },
                    "id": {
                      "type": "string",
                      "example": "123"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "wiscard": {
      "description": "Details and metadata from someone's Wiscard.",
      "type": "object",
      "required": [
        "type",
        "id",
        "attributes",
        "relationships"
      ],
      "properties": {
        "type": {
          "type": "string",
          "example": "wiscard"
        },
        "id": {
          "type": "string",
          "example": "12345",
          "description": "Ephemeral ID used to adhere to the JSON:API specification. This ID should not be stored."
        },
        "attributes": {
          "type": "object",
          "required": [
            "wiscardId",
            "expirationDate",
            "issueCode",
            "institution"
          ],
          "properties": {
            "wiscardId": {
              "description": "The ID number printed on this Wiscard.",
              "type": "string",
              "example": "123213213"
            },
            "expirationDate": {
              "description": "The date this Wiscard will expire.",
              "type": "string",
              "format": "date",
              "example": "2024-01-01"
            },
            "issueCode": {
              "description": "The number of times a new Wiscard was issued for the holder of this Wiscard, starting with 0.",
              "type": "string",
              "example": "0"
            },
            "institution": {
              "description": "The institution associated with the resource.",
              "type": "string",
              "example": "UW-Madison",
              "enum": [
                "Shared",
                "UW-Eau Claire",
                "UW-Green Bay",
                "UW-La Crosse",
                "UW-Madison",
                "UW-Milwaukee",
                "UW Oshkosh",
                "UW-Parkside",
                "UW-Platteville",
                "UW-River Falls",
                "UW-Stevens Point",
                "UW-Stout",
                "UW-Superior",
                "UW-Whitewater",
                "UW-Extension",
                "UW System"
              ]
            }
          }
        },
        "relationships": {
          "type": "object",
          "properties": {
            "person": {
              "description": "A generic relationship object",
              "type": "object",
              "properties": {
                "links": {
                  "type": "object",
                  "properties": {
                    "related": {
                      "type": "string",
                      "

# --- truncated at 32 KB (86 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/university-of-wisconsin-madison/refs/heads/main/json-schema/university-of-wisconsin-madison-mock-person-api-certificates-schema.json