Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

titleDRAFT * DRAFT * DRAFT

...

 

 

Section
Column
width20%
Panel
borderColor#BF9900
bgColor#FFFFFF
titleBGColor#E5D699
titleIn this Section
borderStylesolid
Table of Contents
indent15px
stylenone
Column

Overview

These APIs provide search capability for organizational information about UC Davis and UC Davis Health System that is published from the IAM Identity Store.  These APIs will return general information about departments, divisions, cost centers, titles, colleges and majors.

...

The information provided is about these organizational structures and associations themselves, such as department or division codes, major codes, title codes, etc. Information about the people

...

in departments, colleges, etc. and information about people's titles, majors, etc. are NOT provided by these APIs.   This information can be found in the Associations API <INSERT LINK>.

Audience

Excerpt

This documentation is intended for developers who wish to perform a basic search on the public data within the IAM system from within their application via the REST with JSON interface.


This is currently the only interface available for this API. If you would like to see an XML interface please email middleware-api@ucdavis.edu.

Summary of Organization Info APIs

...

The following list of APIs are available to provide access to

...

information about organizational structures and associations (e.g. employee titles and title codes, student majors).

  • PPS Departments
  • PPS Business Organizational Units (Divisions)
  • PPS Titles
  • Health System Cost Centers
  • Health System Titles
  • SIS Colleges
  • SIS Majors

Accessing this data is as easy as passing your search parameters as query parameters in the url. For example, the following curl command would return information about the department with department code, 12345.

Code Block
titleSample JSON Requests

...

curl -i -H "Accept: application/json" https://iet-ws

...

.ucdavis.edu/api/iam/orginfo/pps/

...

depts/

...

12345

...

?key=

...

myKey&v=1.0

If you need assistance with this APIs, please email

...

Application requirements

Each request must provide a valid application key. You may sign up for your own application key here <INSERT LINK>.

Using the JSON interface

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.

NOTE: Details about each API and the available commands are available in separate documents for each individual API

Code Block
titleSample JSON Requests
 Attach this curl command to the beginning of any of the below sample requests:

	curl -i -H "Accept: application/json"


 PPS Departments API

		https://iet-ws-test.ucdavis.edu/api/iam/orginfo/ppsdepts/{deptcode}?key=myKeyv&v=1.0

 PPS Titles API


		https://iet-ws-test.ucdavis.edu/api/iam/orginfo/ppstitles/{titlecode}?key=myKeyv&v=1.0
		https://iet-ws-test.ucdavis.edu/api/iam/orginfo/ppstitles/search?deptDisplayName=Information*&key=myKeyv&v=1.0


The response to all of the above requests have a Content-Type of text/javascript.  An example response for the the following request is shown below:

curl -i -H "Accept: application/json"   <INSERT URL HERE>

Code Block
langxml
titleSample JSON Response

{
  "responseData" : {
    "results" : [
{
"": "",
"": "",
"" : "",
"": "",
"": "",
"": "",
"" : "",
"": "",
"": ""

},
{ ...<More results>.... }
 ],
  "responseDetails" : null,
  "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 address

The base URL for the IAM Identity Store People APIs all start with http://iet-ws.ucdavis.edu/api/people.  The details of each API are provided in documentation about each individual API.  (See links above)

URL arguments

This section provides examples of the kinds of arguments that can be used with the People APIs

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 can sign up for an API key <INSERT LINK HERE>.
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.

Search URL arguments

The following table lists the possible search query URL arguments. 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.

Wildcard Searches: Any argument may use a wildcard within the query value. You may use multiple wildcards in any position in the search criteria. See examples below.*

Example search arguments:

Code Block
titleSearch for anyone with last name of 'Bray'
/api/directory/search?sn=Bray&key=myKeyv&v=1.0
Code Block
titleSearch for anyone with first name of 'Curtis' and last name starting with 'B'
/api/directory/search?givenName=Curtis&sn=B*&key=myKeyv&v=1.0
Code Block
titleSearch for anyone with a displayName that starts with 'J' and ends with 'Jones'
/api/directory/search?displayName=J*Jones&key=myKey&v=1.0
Response format

Each response follow this general format:

Code Block
langxml

{
  "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.

Trouble shooting

If you encounter problems with your code:

...

middleware-api@ucdavis.edu

...

.