Versions Compared

Key

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

Using the JSON interface 

 

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

 

Column

Overview

API Requirements

Include Page
API Requirements
API Requirements

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.

...

Requests

Code Block
titleSample JSON
Attach this curl command to the beginning of any of the below sample requests:
Request
	curl -i -H "Accept: application/json"
People API https://iet-ws-test.ucdavis.edu/api/iam/people/search?firstName=Gary&lastName=Sharpe&key=myKeyv&v=1.0
 
DisplayName API
https://iet-ws
-test
.ucdavis.edu/api/iam/people/
displayname
prihsadacct/
{iamid}?key=myKeyv&v=1.0 SystemIds API https://iet-ws-test.ucdavis.edu/api/iam/people/systemids/{iamid}?key=myKeyv&v=1.0 https://iet-ws-test.ucdavis.edu/api/iam/people/systemids/search?mothraId=1111111&key=myKeyv&
1000000009?key=myKey&v=1.0
Affiliations

API https://iet-ws-test.ucdavis.edu/api/iam/people/affiliations/{iamid}?key=myKeyv&v=1.0 https://iet-ws-test.ucdavis.edu/api/iam/people/affiliations/isfaculty?key=myKeyv&v=1.0 PriKerberosAccount https://iet-ws-test.ucdavis.edu/api/iam/people/prikerbacct/{iamid}&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

...

Request and accompanying Response

above request is shown below:

Code Block
langxml
titleSample JSON
curl -i -H "Accept: application/json" https://iet-ws-test.ucdavis.edu/api/iam/people/search?firstName=Gary&lastName=Sharpe&key=myKeyv&v=1.0
Response
langxml
{
  "responseData" : {
    "results" : [
{
"IAMId"
iamId:
 "1000000001",
"mothraId"
userId:
 "johndoe",
"PPSId" : "
uuId: "341234",
"studentId"
createDate:
"", "bannerPIdM": "", "externalId": "", "offFirstName" : "", "offMiddleName": "", "offLastName": "", "offSuffix" : "", "offFullName": "", "disFirstName" : "", "disMiddleName": "", "disLastName": "", "disSuffix" : "", "disFullName": "", "isFaculty": "", "isStudent": "", "isStaff": "" "privacyCode": "", "modifyDate": "",
 "2010-08-09 23:25:17",
claimDate: null,
expireDate: null
},
{ ...<More results>.... }
 ],
  "responseDetails" : null,
  "responseStatus" : 0
}

JSON

...

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

...

Reference

Include Page
JSON Reference
JSON Reference

Request Format

URL Base Addresses

The following URL patterns are supported by the IAM Identity Store Core People API:

Code Block
titleSupported URL Patterns
langxml
https://iet-ws.ucdavis.edu/api/iam/people

...

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:

...

/prihsadacct/{iamid}

https://iet-ws.ucdavis.edu/api/iam/people/prihsadacct/search

URL Arguments

Include Page
URL Arguments
URL Arguments
Required URL Arguments
Include Page
Required URL Arguments
Required URL Arguments
Other Supported URL arguments

Include Page
Supported URL Arguments
Supported URL Arguments

URL

Supported Arguments

https://iet-ws.ucdavis.edu/api/iam/people/prihsadacct/search

iamId
userId
uuId
retType

Response Format

Include Page
Response Format for IET-WS APIs
Response Format for IET-WS APIs

Supported Return Type (retType) Values

Note: For /people/prihsadacct/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

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.

userId

samAccountName

uuId

null

createDate

Date this account was created

claimDate

Date this account was claimed by the end user

expireDate

Date the account expired or was disabled

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.

Response Codes and Messages

Include Page
Response Codes and Messages
Response Codes and Messages

Troubleshooting

Include Page
Troubleshooting IET-WS APIs
Troubleshooting IET-WS APIs
Column
 
Section