Using the JSON interface
Section |
---|
Column |
---|
| Panel |
---|
borderColor | #BF9900 |
---|
bgColor | #FFFFFF |
---|
titleBGColor | #E5D699 |
---|
title | In this Section |
---|
borderStyle | solid |
---|
| |
|
Column |
---|
OverviewAPI Requirements Include Page |
---|
| API Requirements |
---|
| API Requirements |
---|
|
Getting StartedThe 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 Attach this curl command to the beginning of any of the below sample requests:
| 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
-test.ucdavis.edu/api/iam/people/ |
| displayname{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 |
|
AffiliationsAPI
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 |
|
...
above request is shown below: |
|
lang | xml |
---|
| Request and accompanying Response
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
| {
"responseData" : {
"results" : [
{
|
| "IAMId" "mothraId" "PPSId" : ""studentId" "",
"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 |
---|
|
URL Base AddressesThe following URL patterns are supported by the IAM Identity Store Core People API: Code Block |
---|
title | Supported URL Patterns |
---|
lang | xml |
---|
| 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 |
---|
title | Search for anyone with last name of 'Bray' |
---|
|
/api/directory/search?sn=Bray&key=myKeyv&v=1.0 |
Code Block |
---|
title | Search 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 |
---|
title | Search 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 |
---|
|
{
"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 |
---|
|
Include Page |
---|
| Response Format for IET-WS APIs |
---|
| Response Format for IET-WS APIs |
---|
|
Supported Return Type (retType) ValuesNote: For /people/prihsadacct/search ONLY Results Array: Guaranteed FieldsThe 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 |
---|
|
|
|