Person API Release Notes

The release notes cover past changes that have been made to the Person API.

For future changes, roadmap information, and attending sprint reviews, please see the website for the API Team .

February 3rd, 2026

  • Bug fixed where query parameters were validated even if they were not supported for a specific endpoint. Now, query parameters are only validated if they are supported for the specific endpoint.
  • Added several new functions to advanced filtering:
  • not : This function allows you to negate other functions in advanced filters.
  • startsWith , contains , and endsWith : These functions allow you to filter string attributes based on whether they start with, contain, or end with a specified substring.
  • greaterThan , greaterThanOrEqual , lessThan , and lessThanOrEqual : These functions allow you to filter date and number attributes based on specified ranges.
  • Added a new attribute, relationships , to the webhook resource to enable customizing what relationship resources are included with webhook events. Check out the documentation for the relationships attribute: Person API Webhooks.

January 20th, 2026

  • Bug fixed where jobs would have a relationship to a non-existent supervisor since the supervisor was deleted. Now, if a supervisor is deleted, all the jobs they supervise will be update to remove that supervisor relationship.
  • Added a new function, memberOf , to advanced filtering. This function allows you to check for values in list attributes.
  • Added support for advanced filters in exports.

January 6th, 2026

  • Added salary and compensation basis data for $0 positions.
  • Bug fixed where webhook events in ITE (test environment) were being sent with the incorrect url (Production url).
  • Added advanced filtering query parameter, advancedFilter , to support complex filtering needs.

December 9th, 2025

  • Added a new attribute, jobProfileName , to the jobs resource.

November 25th, 2025

  • Added a new attribute, locationName , to the jobs resource.
  • Added support for the filterIncluded query parameter. Check out the documentation for the filterIncluded parameter: Person API Filter Query Paramater

November 11th, 2025

  • Bug fixed where some jobs were incorrectly marked as current=false on the same day as the endDate . The expected behavior is that jobs are set to current=false the day after the endDate . This bug fix addresses an edge case to make sure all jobs follow this expectation.
  • Added a new identifier for UW Medical Foundation. This identifier has the name personNumber and the source UW Medical Foundation .
  • Added new "Inactive Population". The Inactive population are people who activated a NetID but are no longer part of the UW-Madison population. A special permission is required to access the Inactive population.
  • Increased export time limit to 120 minutes to allow larger exports to complete rather than time out.

October 28th, 2025

  • Added new attributes to the webhooks resource providing statistics on webhook subscriptions. These can be viewed via the GET /people/webhooks and GET /people/webhooks/{webhookId} endpoints.

October 14th, 2025

  • Removed all data sourced from HRS , except for emplId identifiers, from the Person API

September 23rd, 2025

  • Added a new attribute level to costAllocations resource.
  • Added an additional type of costAllocation , "Position Restrictions", indicated in the new level attribute.
  • Added additional contingent worker affiliations to the affiliations resources at /people/{id}/affiliations .
  • Updated ferpaAttributes in the meta section of the people resource to include emailAddress .

September 16th, 2025

September 2nd, 2025

  • Added new degrees resource to the API at /people/{personId}/degrees
  • Added new attributes to the academicAppointments resource: academicUnitId , academicUnitName , startDate , and endDate .

August 19th, 2025

  • Added former Workday contingent positions to the jobs resource.

August 5th, 2025

  • Added payRateType and compensationBasis to the jobs resource. payRateType will contain the same value as the existing payBasis field. Consumers are encouraged to use payRateType instead of payBasis .
  • Webhook events now include a changedRelationships attribute listing the relationships affected.

July 22nd, 2025

  • Added a new attribute, workerType , to the jobs resource. This data is only populated for Workday jobs.
  • Added new endpoint /people/{id}/academicAppointments . This endpoint will return a list of academic appointments associated directly with the person.

July 8th, 2025

  • Added new costAllocations resource to the API at /people/{personId}/jobs/{jobId}/costAllocations
  • Added new worktags resource to the API at /people/{personId}/jobs/{jobId}/costAllocations/{costAllocationId}/worktags
  • Added support for deeply nested filters, such as GET /people?filter[jobs.costAllocations.worktags.id]=123
  • Added support for nested inclusions, such as GET /people?include=jobs.costAllocations.worktags
  • Added a limit of 10 of total inclusions, accounting for intermediate inclusions. Previously, there were only 10 possible inclusions, so all previous requests will still be valid.

June 10th, 2025

  • Added new student and employee affiliations to the affiliations resource.
  • Added new range operators for attributes of type Date and Number - Supported operations are [ GREATER_THAN , GREATER_THAN_OR_EQUAL , LESS_THAN , LESS_THAN_OR_EQUAL ].

May 27th, 2025

  • Added a new attribute, proximityId , to the wiscard resource. This attribute is only available for applications with the new Sensitive Identifiers permission.
  • Added annualized salary data for the jobs resource. This data is only populated for Workday jobs.
  • Switched the source of the root person emailAddress and officePhoneNumber attributes to Workday in the Integrated Test Environment (ITE) of the Person API ( https://test.api.wisc.edu/ ) for non-Madison institutions. Previously, these were sourced from HRS.

May 13th, 2025

  • Added new names with the source SIS and type primary to the names resource. These are currently only available for Madison applications with special permissions.

April 29th, 2025

  • Added new endpoint /people/{id}/organizationStructures . This endpoint will return a list of UW Organization Structures associated directly with the person.

April 15th, 2025

  • Added new endpoint for jobs resource at /people/{id}/jobs/{jobId} . This endpoint returns the specific job with jobId . This endpoint was added to support the new organizationStructure relationship.
  • Added new relationship organizationStructure to the jobs resource. This relationship provides the organization structure of a job sourced from Workday and is available at /people/{id}/jobs/{jobId}/organizationStructure .

April 1st, 2025

  • Finished a milestone towards migrating our underlying database which results in a few changes that will be noticeable to API consumers:
  • Person IDs are now UUIDs: While person IDs were always strings, previously they could be cast to integers. For example, an ID might have been "123". Now, person IDs will be UUIDs, and they cannot be cast to integers. For example, an ID might now "2a2b7c38-caaa-4cf0-8177-d75f1de27841".
  • Sub-resource IDs will change when there are updates to a person: “ID” in this context refers to the “id” string field on sub-resources (e.g. jobs, names, addresses) that is next to the “attributes” object. Although IDs on sub-resources are ephemeral, we have previously tried to preserve the IDs when making updates to a person. For example, if there was an update to a person’s job, the ID of the job would be preserved while the other attributes of the job would be updated. Going forward, when there are any changes about a person or their sub-resources, new IDs will be generated for all their sub-resources. This change does not affect the ID of the person resource. Although Person IDs are also considered ephemeral in the Person API, we will continue to preserve those IDs when possible when there are updates to data.
  • Supervisor ID visibility in a job: When a job has a supervisor in a different institution that the API consumer does not have access to, we previously would show that ID in the “relationships” section of the job, but the consumer would not have access to that supervisor. As a result, following the link to that supervisor would result in a 404/”not found” error. Going forward, if an API consumer does not have access to the supervisor of someone’s job, the ID will not be displayed in the job resource for that person.
  • Mock data: To better improve the realism of our mock data, we will be switching to dynamically created mock people in the Mock Person API. Previously, we had been maintaining a handful of mock people manually. Going forward, the Mock Person API will contain over 1,000 mock people with more variety of mock data, better simulating the kind of data people can expect in the real API. Existing mock people and their IDs will be replaced with the new dynamically generated mock data. Additionally, the new mock data will be completely regenerated when we make updates to the Person API. We recommend using the Mock Person API to get a feel for the kind of data the real API has, but not to rely on the presence of specific data or mock people for integrations/testing.

February 18th, 2025

  • Added new property continuousServiceDate to the people resource.

January 21st, 2025

  • Expanded documentation in the API specification for the /emailAddresses , /addresses , and /phoneNumbers endpoints to clarify the types available for each source.

January 7th, 2025

  • Added supervisor relationships for Workday jobs.

November 12, 2024

  • Added a new identifier, workerId, to the identifiers resource. This is the unique identifier for a person from Workday.
  • Removed character validation for Name In Use and extended character length. Name In Use can now contain any UTF-8 character and be a maximum of 255 characters long for each name field.
  • Added the deceased population to the API. This data is only available to applications with the 'Sensitive Person Demographics' permission.

October 29, 2024

  • Added new socialSecurityNumbers resource at /people/{id}/socialSecurityNumbers . This resource returns the social security numbers for a person.

October 15, 2024

  • Added new names with the source Workday and type preferred to the names resource. These are currently only available in the test environment.

October 01, 2024

  • Added a new product that provides access to new /certificates endpoints. This allows clients to manage upto 30 self-signed certificates.

September 03, 2024

  • Improved performance on sub-resource endpoints, such as GET /people/{id}/jobs , for applications without FERPA access.
  • names , addresses , phoneNumbers , and emailAddresses resources now contain data from Workday. These resources are currently only available in the Integrated Test Environment (ITE) of the Person API https://test.api.wisc.edu/ .

August 20, 2024

  • Added new properties action and actionReason to the jobs resource. These values are only populated for Workday jobs.
  • Added former Workday jobs to the jobs resource for a person - /people/{id}/jobs . Previously, former jobs were only supplied from HRS.
  • Added new property deceased to the people resource. This property will only be available to applications with the Sensitive Demographics permission. The API does not currently contain any people who are deceased, and this property will be false for all people.

August 06, 2024

  • Added new affiliations resource at /people/{id}/affiliations . This resource returns institutional affiliations for a Person, which is currently limited to Retiree and Emeritus status.
  • Added new properties locationId and workspaceId to the jobs resource. These values are only populated for Workday jobs.

July 23, 2024

  • Added new properties prefix and suffix to the names resource. These values are only populated for primary HRS names.
  • Added new properties dateOfBirth and legalSex to the people resource. These properties will only be available to applications with the new 'Sensitive Person Demographics' permission.

July 09, 2024

  • Added new properties supervisoryOrganizationName and supervisoryOrganizationCode to the jobs resource. These properties provide the name and code of the supervisory organization for a job sourced from Workday.
  • Added new property costCenterName to the jobs resource. This property provides the name of the cost center for a job sourced from Workday.

June 25, 2024

  • Added technical control to handle FERPA privacy. This control will allow applications to access people who have elected FERPA only if they have been granted the proper permission.
  • Added home email addresses and preferred email addresses to the email address endpoint.
  • Added new attribute primary to job resources.

June 11, 2024

  • Added new emailAddresses resource at /people/{id}/emailAddresses . This resource returns all business and office email addresses for a person.

May 28, 2024

  • Removed fullTimeEquivalent conversion for Workday jobs resources from percentage to decimal. The fullTimeEquivalent attribute now returns the FTE as a percentage.

May 14, 2024

  • Increased webhook subscription limit from 1 per app to 5 per app.
  • Added new phone types denoted by the phoneNumberType of mobile and home . Added SIS as a new source for phone numbers. Mobile and home phones require additional approval for access.

April 30, 2024

  • Added a new identifier, EPPN, to the identifiers resource.
  • Added home addresses to the API. Home addresses are only available to application that are granted the new 'Sensitive Person Data' permission.

April 02, 2024

  • Added a new test environment which sources data from the Integrated Test Environment (ITE).

March 19, 2024

  • Fixed an issue where the GET /people/{id}/jobs would result in a 500 error if the person had a job whose supervisor is in an institution that the client app cannot access.
  • Added instititution attribute to resources and support for applications that access all institutions.

March 05, 2024

  • Allow clients to send a request body with a DELETE request to /people/{id}/names/{nameId} . This allows clients to provide a reason for deleting a name.
  • Currently, the only reason supported is inappropriate . Example: {"inappropriate": true} .
  • Increased exports per hour limit from 5 to 100 in the Mock Person API.
  • Add static Workday jobs to support planning for the Workday transition.
  • Expired exports will no longer show up in the GET /people/exports and GET /people/exports/{exportId} endpoints.

February 06, 2024

  • Added new attributes to the jobs resource to support transition to Workday.
  • supervisoryOrganizationId
  • costCenterId
  • source
  • Added new phoneNumbers endpoint. This endpoint returns all office phone numbers for a person.

January 23, 2024

  • Added new exports endpoint to allow bulk exporting of data from the Person API. For more information, see the documentation: Person API Exports
  • Added new addresses endpoint to the Person API. This endpoint returns all office addresses for a person.

December 12, 2023

  • Added new identifiers to the identifiers resource.
  • Library Patron ID
  • Predicted Photo ID
  • Campus ID from Student Information System

November 28, 2023

  • Added support for offset based pagination. Feature is disabled by default due to performance concerns.
  • Fixed issue where the API was not returning wiscard resources for people.

November 14, 2023

  • Universities of Wisconsin data has been added to the Person API. Consumers only see data for their own institutions.

October 31, 2023

  • UW-Whitewater data has been added to the Person API. Consumers only see UW-Whitewater data if they have a relationship with the institution.

September 28, 2023

  • Updated webhooks documentation to reflect token verification practices.

September 19, 2023

  • Fixed a bug where multiple webhook filters were being matched across all resources on a person (e.g. all jobs ) instead of each resource. For example, if a webhook had two filters, jobs.current=true and jobs.divisionCode=A067130 , this would send a webhook if a person's jobs matched on both those filters, regardless if it was the same job or across multiple jobs. With this bug fix, filters will match across each resource. With the previous example, the webhook will only trigger for a person who has at least one job where jobs.current=true and jobs.divisionCode=A067130 .

September 05, 2023

  • Updated our response time SLOs to have separate targets for GET and PATCH/POST/DELETE requests.
  • Fixed issue that prevented webhook filters from being created for boolean and date fields. Webhook filters can now be created for these fields, but similar to the filtering on the /people , no operators other than EQUALS can be used on booleans and dates.
  • The OpenAPI specification published to the Developer Portal is now dereferenced, which removes the usage of $ref that normally helps re-use definitions and schemas in the specification. The new dereferenced specification now works better with Informatica Intelligent Cloud Services.
  • Fixed issue which caused some changes to person data to be applied out of order during a full synchronization from source systems.
  • Fixed issue which was not populating the position property of the jobs resource for some people.

August 22, 2023

  • Added property position to the jobs resource, which is a concatenation of Peoplesoft HRS position number and job record . These fields were combined to allow an easier transition to Workday, where job record will no longer exist.
  • Added property current to the jobs resource. This property indicates whether the job is current or not. This allows for filtering on current jobs both on requests and webhooks.
  • Fixed bug that prevented results in the jobs resource from being filtered by attributes of a job's supervisor. Now that this is fixed, requests such as /people/123/jobs?filter[supervisor.firstName]=foo will work as expected.

July 25, 2023

  • Added property businessTitle to the jobs resource and remapped official title to existing title property in the jobs resource. title property was previously mapped to the business title.
  • Added new type of webhook filter, webhookRelationshipFilter . This limits your webhook events to only those events where a specific relationship has changed.

July 11, 2023

  • Added former jobs to the jobs resource for a person - /people/{id}/jobs . Former jobs are jobs that have an end date in the past.
  • Added a new relationship supervisor to the jobs resource jobs for a person - /people/{id}/jobs . Added the ability to include the supervisor(s) in a request to the jobs endpoint using the include query parameter.

May 31, 2023

  • Added additional properties in the jobs resource for a person - /people/{id}/jobs . jobs resource now contain the following properties:
  • beginDate
  • endDate
  • effectiveDate
  • fullTimeEquivalent
  • payBasis
  • employeeCategoryCode
  • employeeCategory
  • jobCode

  • PATCH requests for webhooks not accepting partial updates. This bug has been repaired. Expired webhooks can be successfully un-expired directly through the API.

May 17, 2023

  • Filter webhooks by university. Webhook events are only sent to subscribers if they have a relation with the university. Note that existing applications have been back-populated with their university affiliation. The application has been modified adding a step to specify university affiliation.

April 18, 2023

  • Added webhooks endpoint to the Person API. This endpoint allows users to manage their webhooks in a self-service manner.
  • Check out documentation for webhooks: Person API Webhooks
  • Added functionality for users to enable/disable their registered webhook.
  • Added functionality for users to replay events for their registered webhook via /people/webhooks/{id}/replay endpoint.
  • Added functionality for users to filter webhook events based on their required criteria /people/webhooks/{id}/filters endpoint.

January 10, 2023

  • Added names endpoint to the Person API. This endpoint returns all names for a person.
  • The names endpoint also includes UW Madison Name in Use for the UW Madison Profile app.
  • Added ability to update Name in Use for UW Madison Profile app.

November 29, 2022

  • Added support for change events to be sent to applications via webhooks. Check out documentation for webhooks: Person API Webhooks
  • Support was added to allow users of various applications to have a seamless experience when their data changes.

November 01, 2022

  • Added functionality for partial searches via the filter query parameter.
  • Added support for STARTS_WITH, CONTAINS, ENDS_WITH operators in the filter query parameter.
  • Check out documentation for the filter query parameter: Person API Filter Query Paramater

October 18, 2022

  • Enabled ability to onboard new applications to the Person API.
  • Added Terms of use to the Person API documentation.

September 06, 2022

  • Added functionality to provide history of PVIs so that developers are aware of PVI changes.

August 23, 2022

  • Made the Person API available to the UW Madison College of Engineering.
  • Added wiscard endpoint to the Person API. This endpoint returns details for a Wiscard for a person.
  • Added functionality to handle special characters in query parameters especially for addresses that contain commas.
  • Escape special characters in query parameters with \ example: 123 Main St\, Madison.
  • Added developer guidelines to the Person API documentation: Person API Guidelines
  • Document contains guidelines for developers to follow such as quotas, versioning, patterns, etc.
  • Added spike arrests and quotas.
  • Updated error handling to return informative error messages.

June 28, 2022

  • Created a Mock Person API for developers to test features.
  • Created Person API for UW Madison Web and Mobile Solutions team to use for their applications.
  • Person API contains the following endpoints:
    • people - returns a person's demographic information
    • jobs - returns a person's jobs and related information
    • identifiers - returns a person's identifiers and related information
  • Person API contains details about FERPA protected data in the meta section of the response document.
  • Person API contains details about PRIVACY protected data in the meta section of the response document.
  • Added support for ISO/IEC 8859 character set.


Keywords:
person-api 
Doc ID:
158477
Owned by:
Jared K. in DoIT Enterprise Integration - API Team
Created:
2026-02-10
Updated:
2026-02-10
Sites:
DoIT Enterprise Integration - API Team