Identity Store PPS Associations API
Overview
API Requirements
Each request must provide a valid API Key. You may request your own API Key by emailing either iam-data-admin@ucdavis.edu or middleware-api@ucdavis.edu.
Getting Started
The easiest way to start learning about this interface is to try it out. This section shows how to use the curl command line tool to execute sample queries.
curl -i -H "Accept: application/json" https://iet-ws.ucdavis.edu/api/iam/associations/pps/1000014336&key=myKey&v=1.0
The response to all of the above requests have a Content-Type of text/javascript. An example response for the above request is shown below:
{ "reponseData": { "results":[ { "iamId":"1000014336", "deptCode":"061419", "deptOfficialName":"IET APPLICATION DEVELOPMENT", "deptDisplayName":"IET APPLICATION DEVELOPMENT", "deptAbbreviation":"IET APP DEVELOP", "isUCDHS":false, "bouOrgOId":"F80B657C9EFA23A0E0340003BA8A560D", "adminDeptCode":"061419", "adminDeptOfficialName":"IET APPLICATION DEVELOPMENT", "adminDeptDisplayName":"IET APPLICATION DEVELOPMENT", "adminDeptAbbrev":"IET APP DEVELOP", "adminIsUCDHS":false, "adminBouOrgOId":"061419", "apptDeptCode":"061419", "apptDeptOfficialName":"IET APPLICATION DEVELOPMENT", "apptDeptDisplayName":"IET APPLICATION DEVELOPMENT", "apptDeptAbbrev":"IET APP DEVELOP", "apptIsUCDHS":false, "apptBouOrgOId":"061419", "assocRank":"1", "assocStartDate":"2011-02-16 00:00:00", "assocEndDate":"9999-12-31 00:00:00", "titleCode":"7287", "titleOfficialName":"PROGRAMMER V", "titleDisplayName":"PROGRAMMER V", "positionTypeCode":"2", "positionType":"Regular/Career", "percentFullTime":"1", "createDate":"2012-11-19 14:56:26", "modifyDate":"2016-11-17 16:00:39", "emplClass":"2", "emplClassDesc":"Staff: Career" }]}, "responseDetails":"Successfully Processed Request.","responseStatus":0}
JSON Reference
Unlike the core JavaScript interface, the JSON interface is exposed through a uniform URL that contains CGI arguments. Your application can use an HTTP stack of its choosing. In order to use the JSON interface:
- You must construct a properly formatted URL with all necessary CGI arguments.
- You must send an HTTP referer header that accurately identifies your application.
- You must process the JSON-encoded response.
Request Format
URL Base Addresses
The following URL patterns are supported by the IAM Identity Store Core People API:
https://iet-ws.ucdavis.edu/api/iam/associations/pps/{iamid} https://iet-ws.ucdavis.edu/api/iam/associations/pps/search
URL Arguments
This section describes the arguments that can be used for search requests.
The value of a CGI argument must always be properly escaped. This can be done via the functional equivalent of JavaScript's encodeURIComponent() method.
Required URL Arguments
The following table lists the required URL arguments.
Argument |
Example |
Description |
---|---|---|
key |
key=your-key |
This argument supplies the application's key. You may request your own API Key by emailing either [mailto:iam-data-admin@ucdavis.edu] or [mailto:middleware-api@ucdavis.edu].It must be a valid key associated with your application. The key is required for this API to implement quality of service rules for this API. If your application is making too many requests it will be throttled to ensure resources are not overloaded during times of peak usage. Also, by supplying a key we can identify and contact you should something go wrong with your application. |
v |
v=1.0 |
This argument supplies protocol version number. The only valid value at this point in time is 1.0. |
Other Supported URL arguments
The following table lists the supported URL arguments for each supported URL pattern.
At least one argument should be provided to perform a search. If multiple search criteria are provided an 'AND' search will be performed to match on all arguments.
URL | Supported Arguments |
---|---|
iamId |
Response Format
Each response follow this general format:
{ "responseData" : { "results" : [] }, "responseDetails" : null | string-on-error, "responseStatus" : 0 | error-code }
In the JSON fragment above, note that the responseData property contains a results array and an optional cursor.
Supported Return Type (retType) Values
Note: For /associations/pps/search ONLY
retType | Description |
---|---|
default | Returns the data from the default underlying Identity Store view (see below 'Results Array: Guaranteed Fields' for this API) |
people | Returns the data from the CV_PEOPLE view. (See 'Results Array: Guaranteed Fields' for the People API: https://confluence.ucdavis.edu/confluence/display/IETP/Identity+Store+Core+People+API |
iamids | Returns only IAMIds |
Results Array: Guaranteed Fields
The results array always contains the parameters listed in this section, even if the value is empty.
Property | Description |
---|---|
iamId | Unique University ID created by IAM system. Replaces MOTHRAID. |
deptCode | PPS deptcode - refers to PPS work department. (The primary department the employee works for.) |
deptOfficialName | PPS department name |
deptDisplayName | PPS department display name |
deptAbbrev | PPS department abbreviation |
isUCDHS | true/false, is the department an UCDHS department |
bouOrgOId | Unique IAM guid(global unique ID) for the parent BOU (Business Operating Unit) department |
adminDeptCode | PPS admin deptcode - refers to the PPS admin department. (The primary department the employee is paid by and administered by.) |
adminDeptOfficialName | PPS admin department name |
adminDeptDisplayName | PPS admin department display name |
adminDeptAbbrev | PPS admin department abbreviation |
adminIsUCDHS | true/false, is the admin department an UCDHS department |
adminBouOrgOId | Unique IAM guid(global unique ID) for the admin department's parent BOU (Business Operating Unit) department. |
apptDeptCode | PPS appointment deptcode - refers to the PPS appointment department. (Returns the individual appointment departments for employees with multiple PPS appointments.) |
apptDeptOfficialName | PPS appointment department name |
apptDeptDisplayName | PPS appointment department display name |
apptDeptAbbrev | PPS appointment department abbreviation |
apptIsUCDHS | true/false, is the appointment department an UCDHS department |
apptBouOrgOId | Unique IAM guid(global unique ID) for the appointment department's parent BOU (Business Operating Unit) department. |
assocRank | For individuals with multiple associations, this ranks them by titlecode. |
assocStartDate | Reported start date for the association |
assocEndDate | Reported end date for the association |
titleCode | PPS titlecode |
titleOfficialName | PPS title name |
titleDisplayName | PPS title display name |
positionTypeCode | PPS position type code |
positionType | PPS position type description |
percentFullTime | The percent fulltime the individual is required to work for this association. |
createDate | The date this association was created in the IAM system |
modifyDate | The last date this association was modified in the IAM system |
results[] | results[] contains an array of bulk load result objects, one for each result. Each time the API executes, this property is cleared, and each time a API completes, the array is populated. If there are no results to report, the .length property of this array will be set to 0. Therefore, results will never be null, and you can always safely check for results.length == 0. |
emplClass | The employee class code. (Valid values are 1,2,3,4,5,6,7,8,9,10,11,13,14,15,20,21,22,23,24 and C) |
emplClassDesc | The employee class description. |
Response Codes and Messages
The table below contains a breakdown of the possible 'responseStatus' Codes and 'responseDetails' Messages
The responseStatus property contains a value of 0 on success and a custom error status code on failure. If there is a failure, responseDetails contains a diagnostic string.
Code (responseStatus) |
Message (responseDetails |
Description |
---|---|---|
0 |
|
General Success. Request Processed and Results, if any, returned to client. |
1 |
Search returned no results. |
No results were found given the search criteria (NOTE: Not currently used in Identity Store APIs. This is used in the Mothra API.) |
2 |
Invalid API key. |
API key is invalid, or simply does not have the permission to view the requested API. |
3 |
The system encountered an error while processing this request. |
Generic system error. Details will have been captured on Identity Store API server logs. |
4 |
|
Data Error. (NOTE: Not currently used in Identity Store APIs. This is used in the Mothra API.) |
5 |
Missing search parameters (At least one parameter is required). |
|
Troubleshooting
If you encounter problems with your code:
- Make sure your API key is valid.
- Look for typos. Remember that JavaScript is a case-sensitive language.
- Use a JavaScript debugger. In Firefox, you can use the JavaScript console or the Firebug. In IE, you can use the Microsoft Script Debugger.
- If you need to examine the JSON string returned from the server, you can use JSON Lint to make a single, long string human readable.
- Email either iam-data-admin@ucdavis.edu or middleware-api@ucdavis.edu. with a description of your problem and a trace of the request and response.