Home
Updating profile extension data
To update the data defined for custom fields added to a profile, send an updated extension data document to the Profiles extension resource link returned by the Profiles user feed. A Profiles extension can be represented as follows:
- A single plain text value. Identified as type="text/plain."
- Multiple values defined by an XML schema. Identified as type="text/xml."
The links for working with custom extensions are found in the <feed> element of the Profiles user feed. The <link rel="http://www.ibm.com/xmlns/prod/sn/ext-attr" > element appears once in the feed for each custom extension defined for a profile.
No custom extensions links are available from the links in the <entry> element of the feed that contains the user's profile.
You can only update the extensions for the profile of the user whose credentials you used to authenticate with the server. See Authenticating requests for information about how to authenticate the request.
When you update an extension, all existing information will be replaced with the new data. To avoid deleting existing data, retrieve any data you want to retain first, and send it back with this request. See the topic Retrieving profile extension data for more details. To update the data defined for custom fields added to a profile...
- Get the person's user feed. See Searching for a user's profile.
- Get the URI of the extension resource which is specified in the href attribute of the <link> element in the user's user feed that has a rel="http://www.ibm.com/xmlns/prod/sn/ext-attr" attribute and a snx:extensionId attribute that matches the extension you want to update.
- Send a PUT request to the Web address specified in the href attribute.
Atom API request details
Method Resource URI Input representation PUT profile extension Value of the href attribute of the <link> element in the user's user feed that has a rel="http://www.ibm.com/xmlns/prod/sn/ext-attr" attribute and a snx:extensionId attribute that matches the extension you want to update. XML schema defined by each extension or plain text
Input
To specify the content type of a simple extension, set the type equal to "text/plain" and provide the updated extension data as the content of the request. To specify the content type of a complex extension, set type equal to "text/xml" and, in the content of the request, provide the updated extension data specified as an XML document formatted according to the schema defined for the profiles custom extension that you are updating.
Output
None. Returned HTTP Headers
- HTTP/1.1 200 OK
- Indicates that the profile was successfully updated. If an error is encountered, the header contains one of the error codes listed below.
Error codes
- HTTP/1.1 400 Bad Request
- HTTP/1.1 401 Unauthorized
- HTTP/1.1 404 Not Found
Input header:
PUT /profiles/atom/profileExtension.do?email=jdoe@acme.com&extensionId=profileLinks HTTP/1.1 Host: profiles.enterprise.acme.com Content-type: text/xml Content-Length: 475Input content:
<?xml version="1.0" encoding="UTF-8"?> <linkroll xmlns="http://www.ibm.com/xmlns/prod/sn/profiles/ext/profile-links" xmlns:snx="http://www.ibm.com/xmlns/prod/sn/profiles/ext/profile-links"> <link name="atom spec" url="http://www.ietf.org/rfc/rfc4287" /> </linkroll>Response:
HTTP/1.1 200 OK
Working with profile extensions
Related reference
Retrieving profile extension data
Searching for a user's profile