Jump To: API Environments | API Section Criteria | Obtain Bearer Token

What is an API?

API is an acronym for Application Programming Interface.

An API is a software intermediary that allows two applications to transmit data back and forth.

An API is neither a database nor a server; it is the access point for the database or server.

For further details about APIs, please visit the  Mulesoft Website or Wikipedia Page

API Use at WashU for the Workday Implementation

The HCM and FIN modules of WorkDay – a cloud based management application – is going live on July 1, 2021. WorkDay is the system of record for all HCM and FIN data at WashU. Any time an API is called, the data being returned is Workday data.

APIs Integration data can be sent from Workday to an application (Outbound from Workday) or from an application to Workday (Inbound to Workday)

The Integrations team has built 5 APIs for use to manage Workday integration data: Person, Supplier, Finance, Location and Organization.

The APIs in use are all REST (Representational State Transfer) APIs. REST is an architectural style or design pattern for APIs. When a RESTful API is called, the server transfers to the client a representation of the state of the requested resource.

The representation of this state can be in JSON, HTML, or XML. 

JSON (Javascript Object Notification) is commonly used to transfer data as text, making it simple for both humans and machines to read. JSON returns value types such as: strings, numbers, booleans, and null.

XML is an acronym for Extensible Markup Language. Much like JSON, it is readable by both people and machines.

API Environments

The Integrations team has built two distinct environments (Test and Production) Users need separate access for each.

Test URL –  https://test.wuapi.wustl.edu

Prod URL – https://wuapi.wustl.edu

In the screen shot below the API call is hitting the Test environment and the Person/Worker endpoint, which will return demographic data for the employee.

API Section Criteria

WashU APIs have the following section criteria: personal, employment, compensation, organizations, roles, benefit enrollments, benefit eligibility and qualifications.

  • Access to Salary information and SSN is only available via special request. Please see the Mulesoft Support page for details.

To add additional query parameters to an API call, edit the URL directly In the link below note that this API call includes Personal and is requesting data on a unique EMPL ID (600416)

https://test.wuapi.wustl.edu/v1/person/workers?sections=personal&em_id=600416&idtype=workerid

Alternatively, in Postman, click on the “Params” header to pick and choose which sections to include by checking the box for an individual section, some sections, or all sections.

Once your queries are set up, click Send in the upper right side of screen. Results are displayed in the lower window

  • The URL matches the query parameters setup on the Params tab
    • Delta From and Delta To are configured, but are not part of this API call since they are not checked
  • Based on this query there are 34129 total records
  • Each page is returning 100 records
  • Page 25 was selected as the page to be displayed

This is not a real WashU employee and the data is not real

There are numerous data display options: JSON, HTML and XML

On the right hand side of the page are two icons: The circle (Search) and box (copy/paste)

Selecting the search icon allows text entry in the search box to help quickly locate data in the API call.

The copy icon copies the data to allow for copying and pasting to Excel, Word, etc.

Unfortunately, Postman does not paste formatted data, so clean up is likely required.

Here is an excel file with copied data from the sample employee.

Obtain a Bearer Token

Make a POST request to https://is-login.wustl.edu/connect/token with the appropriate values. Here’s a sample curl request showing how to set it up. The JSON response will include an “access_token”, this is the JWT. Note that this JWT is only valid for 1 hour so each time your integration runs you’ll need to request a new JWT.

  • curl –location –request POST https://is-login.wustl.edu/connect/token
  • header ‘Content-Type: application/x-www-form-urlencoded’ \
  • form ‘client_id=[clientid]’ \
  • form ‘client_secret=[client secret]’

Support

For technical assistance with APIs, please see the  Integrations Support page