Update Edit SoR Role Flow

Overview

This document describes some sample flows for updating/editing a role for a person in the registry and a general explanation of the process.

A System of Record (SoR) may wish to update/edit a role assigned to a person in the Registry. The following is an example request for SoR 123 to update/edit role 1 for a person known to the SoR as 124:

https://test-registry.rutgers.edu/api/v1/sor/123/people/124/role/1

PUT /api/v1/sor/123/people/124/role/1 HTTP/1.1
Host: test-registry.rutgers.edu
Content-Type: application/xml
Authorization: Basic cmF0czpSQVQxMjM0

<?xml version="1.0"?>
<open-registry-role title="Associate Professor" affiliation="Faculty" start-date="2009-01-02" end-date="2011-05-22" percentage="100" sponsor-id="DCEO" sponsor-type="ORG_UNIT" organizational-unit="10110" system-of-record="TEST">
	<addresses>
		<address type="HOME">
			<line1>225 Main st.</line1>
			<line2>distr.</line2>
			<city>Main City</city>
			<postal-code>70097</postal-code>
			<country-code>US</country-code>
			<region-code>NJ</region-code>
		</address>
		<address type="CAMPUS">
			<line1>5 Main ave</line1>
			<city>New Brunswick</city>
			<postal-code>08887</postal-code>
			<country-code>US</country-code>
			<region-code>NJ</region-code>
		</address>
	</addresses>

	<emails>
		<email type="HOME" address="johnson@gmail.com"/>
		<email type="CAMPUS" address="johnson@example.com"/>
	</emails>
	<phones>
		<phone type="LANDLINE" address-type="HOME" phone_line_order='1'>
			<country-code>1</country-code>
			<area-code>908</area-code>
			<number>787-7654</number>
		</phone>
		<phone type="CELL" address-type="CAMPUS" phone_line_order='1'>
			<country-code>1</country-code>
			<area-code>908</area-code>
			<number>123-4567</number>
			<extension>556</extension>
		</phone>
	</phones>
</open-registry-role>

Sample Response:

HTTP/1.x 204 No Content

Update/Edit does a full replace of the role data with the data provided in the request.

Please see http://www.ja-sig.org/wiki/display/ORUM/SoR+Role+Resource for a detailed explanation of all possible return codes.