REST API:user Resource

From AgileApps Support Wiki
Revision as of 00:05, 11 February 2012 by imported>Aeric (→‎Fields)

Performs actions on User records via the REST API

Access Permissions

Lock-tiny.gif

Users that have the Access Control/User Management permission can use this Resource. 

Determine if a Valid Session is in Progress

Determine if the current session is valid.

Method
GET
URI
https://{yourDomain}/networking/rest/user/isSessionValid
Response
:
<platform>
    <user>
        <is_session_valid>true</is_session_valid>
    </user>

    <message>
        <code>0</code>
        <description>Success</description>
    </message>
</platform>
See also: REST API:Error Codes

Get Information about the Logged-In User

Gets information about the logged in user.

Method
GET
URI
https://{yourDomain}/networking/rest/user/info
Response
The same information returned by the query to Get a User Record: first name, last name, employee number, and so on.

Get a User Record

Retrieves data for the specified user.

Method
GET
URI
https://{domain}/networking/rest/user/{user_id}
Response
<platform>
    <user>
        <id>16016a880c064ad1ba92115424851462</id>
        <first_name>John</first_name>
        <last_name>Smith</last_name>
        <company>CompanyA</company>
        <title/>
        <time_zone>12</time_zone>
        <date_format>MM/dd/yyyy</date_format>
        <employee_number/>
        <language>en</language>
        <email>userA@gmail.com</email>
        <username>userA@gmail.com</username>
        <active>1</active>
        <team_id type="TEAM" 
           uri="https://qamain.longjump.com/networking/rest/team/1" 
           displayValue="Order Processing">5</team_id>
        <role_id type="ROLE" 
           uri="https://qamain.longjump.com/networking/rest/role/1" 
           displayValue="Shipping Clerk">6</role_id>
        <federation_id/>
        <sso_type>0</sso_type>
        <single_sign_on>false</single_sign_on>
        <phone/>
        <mobile/>
        <fax/>
        <street/>
        <city/>
        <state/>
        <zip/>
        <country/>
        <force_password_change_on_login>false</force_password_change_on_login>
        <date_last_password_change>2011-07-22T12:48:46.000Z</date_last_password_change>
        <last_login>1236041001000</last_login>
        <created_id type="" 
          uri="https://{domain}/networking/rest/user/1524089492" 
          displayValue="Peter Parker">1424089492</created_id>
        <date_created>2010-11-12T13:14:15Z</date_created>
        <modified_id type="" 
          uri="https://{domain}/networking/rest/user/1524089492" 
          displayValue="Peter Parker">1424089492</modified_id>
        <date_modified>2010-11-12T13:14:15Z</date_modified>
        <customer_language>en</customer_language>
        <full_name>John Smith</full_name>
        <community_user_id/>
        <auto_generated_community_user_record>0</auto_generated_community_user_record>
        <user_type>P</user_type>
        <alias/>
        <description/>
        <photo_id/>
        <thumbnail_photo_id/>
        <date_status_updated>2011-07-28T12:41:11.000Z</date_status_updated>
        <status>
           {#package_installation.add_feed^Email Campaign Manager}. 
           <a href='#' class='blueText smallText' 
              style='font-weight:normal; text-decoration:underline;' 
              onclick="javascript:top.loadApplication('1555611998wwy1718621231');">
              {#app.launch_appln}</a>
        </status>
        <tenant_user_id/>
        <tenant_id/>
        <notify_info>1</notify_info>
        <base_currency/>
        <customerId>123223323</customerId>
        <user_id_type>0</user_id_type>
        <object_id>USER</object_id>
        <flag_logged_in>1</flag_logged_in>

        <userTenantCapabilities>
            <isRelayEnabled>true</isRelayEnabled>
        </userTenantCapabilities>
        <emailNotificationOptions>
            <userWallPost>true</userWallPost>
            <recordWallPost>true</recordWallPost>
            <documentWallPost>true</documentWallPost>
            <groupWallPost>true</groupWallPost>
            <commentOnMyPost>true</commentOnMyPost>
            <commentOnComment>true</commentOnComment>
            <like>true</like>
        </emailNotificationOptions>

        <reports_to type="" 
           uri="https://{domain}/rest/user/123qwe456rty"
           displayValue="John Smith">123qwe456rty</reports_to>
    </user>

    <message>
        <code>0</code>
        <description>Success</description>
    </message>
</platform>
See also: REST API:Error Codes

Dynamic Search

Returns the fields requested by a dynamic search based on number of records, offset, sort column, sort order, and specified criteria.

Method
GET
URI
https://{domain}/networking/rest/user?{query_parameters}
Sample Search
?fieldList=name,id & filter=name contains 'smith' & sortby='id'
(Field names are in the Fields section.)
Query Parameters
  • fieldList - A comma-separated list of field names to retrieve
  • The asterisk (*) wildcard specifies all fields
  • {fieldname} specifies an individual field (e.g. name)
(Use the REST API:field Resource to get a complete list of fields.)
  • For a Composite Object, specify {alias}.{fieldname} to select a related-record field, where the alias is defined in the Object Relationships.
  • For a Database View, specify {alias}.{fieldname}, where the object alias is defined in the Database View.
  • alias.* specifies all fields in the aliased object.
  • filter - Filtering criteria to filter the records
  • pageSize - Number of records to retrieve from the result set in order to make a "page".
  • page - Number of the logical page in a database result set. The first page is page "zero" (0).
Page zero is returned by default, so appending &pageSize=1 to your query returns a single record.
  • getTotalRecordCount returns the number of total records.
    Causes the following structure to be returned, where N is the total number of records:
<platform> 
   <status>
   <packageDeploy>
   ...
   </packageDeploy>
   </status>
   <message>
      <code>0</code>
      <description>Success</description>
   </message>

   <!-- added by the query param -->
   <totalRecordCount>N</totalRecordCount> 
</platform>
  • sortBy - Field name for primary sort
    Ex: &sortBy=name
  • sortOrder - Sort order of the primary field, either asc or desc (ascending or descending)
    Ex: &sortOrder=desc
  • sortBy2 - Field name for secondary sort
  • sortOrder2 - Sort order of the second field, either asc or desc (ascending or descending)
For more information, see: Specifying Query Parameters in REST APIs
Response
<platform>
    <record>
        <phone/>
        <street/>
        <state/>
        <date_created>2010-11-12T13:14:15Z</date_created>
        <city/>
        <id>1424089492</id>
        <first_name>Admin</first_name>
        <username>admin@platform.com</username>
        <title/>
        <primary_team>1</primary_team>
        <reports_to type="" uri="" displayValue=""/>
        <zip/>
        <employee_number/>
        <date_modified>2010-11-12T13:14:15Z</date_modified>
        <object_id>USER</object_id>
        <last_login>1267756624000</last_login>
        <country/>
        <created_id type="" 
	    uri="https://{domain}/networking/rest/user/5" 
	    displayValue="Platform Admin">5</created_id>
        <time_zone>12</time_zone>
        <modified_id type=""
  	    uri="https://{domain}/networking/rest/user/16016a880c064ad1ba92115424851462" 
	    displayValue="Sheela Sarva">16016a880c064ad1ba92115424851462</modified_id>
        <email>demo@platform.com</email>
        <last_name>Platform</last_name>
        <active>1</active>
        <role_in_primary_team>1</role_in_primary_team>
    </record>

    <record>
        <phone/>
        <street/>
        <state/>
        <date_created>2010-11-12T13:14:15Z</date_created>
        <city/>
        <id>151b28b700dc45abbb12b65ea451fc97</id>
        <first_name>Me</first_name>
        <username>myusername</username>
        <title/>
        <primary_team>1</primary_team>
        <reports_to type="" uri="" displayValue=""/>
        <zip/>
        <employee_number/>
        <date_modified>2010-11-12T13:14:15Z</date_modified>
        <object_id>USER</object_id>
        <last_login/>
        <country/>
        <created_id type="" 
	    uri="https://{domain}/networking/rest/user/123223323" 
	    displayValue="Platform Admin">123223323</created_id>
        <time_zone>12</time_zone>
        <modified_id type="" 
	    uri="https://{domain}/networking/rest/user/123223323" 
	    displayValue="Platform Admin">123223323</modified_id>
        <email>myusernamecp@gmail.com</email>
        <last_name>Mostly</last_name>
        <active>1</active>
        <role_in_primary_team>1</role_in_primary_team>
    </record>

    <message>
        <code>0</code>
        <description>Success</description>
    </message>
    <recordCount>2</recordCount>
</platform>
See also: REST API:Error Codes

Add a User Record

Adds a user record

Method
POST
URI
https://{domain}/networking/rest/user/
Request
<platform>
    <user>
        <phone/>
        <street/>
        <city/>
        <first_name>John</first_name>
        <username>userA@gmail.com</username>
        <single_sign_on>0</single_sign_on>
        <employee_number/>
        <fax/>
        <country/>
        <time_zone>12</time_zone>
        <email>userA@gmail.com</email>
        <company>CompanyA</company>
        <last_name>Smith</last_name>
        <active>1</active>
        <language>en</language>
        <mobile/>
        <state/>
        <title/>
        <notify_info>1</notify_info>
        <reports_to>151b28b700dc45abbb12b65ea451fc97</reports_to><zip/>
        <alias/>
        <customer_language>en</customer_language>
        <team_id>1</team_id>  // only required on add 
        <role_id>3</role_id>  // only required on add
    </user>
</platform>
Response
<platform>
    <message>
        <code>0</code>
        <description>Success</description>
        <id>1818437421</id>      // id of the user that was added
    </message>
</platform>
See also: REST API:Error Codes

Update a User Record

Updates data for a specified User.

Method
PUT
URI
https://{domain}/networking/rest/user/{recordId}
Request
Field elements are optional. If a field is missing, existing data in that field is unaffected. If a field is specified, but empty, any existing data in that field is deleted.
<platform>
    <user>
        <phone/>
        <street/>
        <city/>
        <first_name>John</first_name>
        <username>userA@gmail.com</username>
        <single_sign_on>0</single_sign_on>
        <employee_number/>
        <fax/>
        <country/>
        <time_zone>12</time_zone>
        <email>userA@gmail.com</email>
        <company>CompanyA</company>
        <last_name>Smith</last_name>
        <active>1</active>
        <language>en</language>
        <mobile/>
        <state/>
        <title/>
        <reports_to>151b28b700dc45abbb12b65ea451fc97</reports_to>
	<zip/>
        <alias/>
        <customer_language>en</customer_language>        
    </user>
</platform>
Response
<platform>
    <message>
        <code>0</code>
        <description>Success</description>
        <id>1818437421</id>      // id of the user that was updated
    </message>
</platform>
See also: REST API:Error Codes

Update (Reset) Password for a User

Change the password to a new or existing user.

Method
POST
Example
URI
https://{domain}/networking/rest/user/operation/updatePassword
Request
<platform>
    <user>
        <id>da80488c7e8d4f5a83c66a3bb2590295</id>
        <password>abc</password>
        <longjump_reset_user>1</longjump_reset_user>
        <skip_email>1</skip_email>
    </user>
</platform>
longjump_reset_user
  • 0 = Password field is required. User is not required to change it at next log in. (default)
  • 1 = Password field does not have to be specified. System automatically generates a new, random password. User is required to change it at next log in.
skip_email
This field is only used for a new user.
Response
<platform>
    <message>
        <code>0</code>
        <description>Success</description>        
    </message>
</platform>
See also: REST API:Error Codes

Change Password for the Current User

Change the password for the current user.

Method
POST
URI
https://{domain}/networking/rest/user/operation/changePassword
Request
<platform>
    <user>
        <old_password>world44</old_password>
        <password>pass123</password>
    </user>
</platform>
Response
<platform>
    <message>
        <code>0</code>
        <description>Success</description>        
    </message>
</platform>
See also: REST API:Error Codes

Delete a User Record

Deletes a User record

Method
DELETE
URI
https://{domain}/networking/rest/user/{recordId}
Response
<platform>
    <message>
	<code>0</code>
	<description>Success</description>		
    </message>
</platform>
See also: REST API:Error Codes


Fields

Note: In this object, Boolean fields accept either 1/0 or TRUE/FALSE
Name Type Attribute Required During Add Description Additional Information
id String Read Only Record Id
first_name String Editable on Add/Update
last_name String Editable on Add/Update Checkmark.gif
company String Editable on Add/Update
title String Editable on Add/Update
time_zone Integer Editable on Add/Update Checkmark.gif See: Time Zone Codes
date_format String Editable on Add/Update Checkmark.gif See: Date/Time Formats
reports_to String Editable on Add/Update
employee_number Editable on Add/Update
language String Editable on Add/Update Checkmark.gif Two letter language code that is available to tenant (ex: 'en', 'es', 'hi')
email String Editable on Add/Update Checkmark.gif
username String Editable on Add/Update Checkmark.gif
password String Editable on Add/Update Password used to login
  • Password is required for Login
  • Password is optional when creating a new user
If not provided, a temporary password is generated and sent to the user/tenant via email
Learn more: Manage Email Templates - Forgot Reset Password Email
  • Password is not used when retrieving or updating user info
active Boolean Editable on Add/Update
single_sign_on Boolean Editable on Add/Update
sso_type Integer Read Only Type of single sign on:

1 - Delegated
  Authentication
2 - SAML

See: Single Sign On
team_id Integer Editable on Add/Update Checkmark.gif
role_id Integer Editable on Add/Update Checkmark.gif
phone String Editable on Add/Update
mobile String Editable on Add/Update
fax String Editable on Add/Update
street String Editable on Add/Update
city String Editable on Add/Update
state String Editable on Add/Update
zip String Editable on Add/Update
country String Editable on Add/Update
notify_info Boolean Editable on Add/Update Send the Welcome email message When enabled, a notification email is sent (containing the username, welcome and login information) when a new user is added.

Default is 1 (email is sent automatically on new user creation)

This value is not stored in the database, and is not returned by a GET.

base_currency String Editable on Add/Update The currency format displayed to the user, and used for data entry
federation_id String Read Only Used in SAML authentication, if SAML is enabled
force_password_change_on_login Boolean Editable on Add/Update Force a password change action on first-time login When enabled, the User is prompted to change the password when logging in for the first time

Default is 1 (new user is forced to change password on first login)

last_login Date Read Only Date and time of last login UTC Format
date_last_password_change date Read Only Date and time of last password change UTC Format
customer_language String Read Only Default Language, specified in My Information
full_name String Read Only Full name of the user
date_created Date Read Only UTC Format
created_id Lookup Read Only
date_modified Date Read Only UTC Format
modified_id Lookup Read Only
role Read Only
community_user_id String Read Only User's ID in the community
auto_generated_community_user_record Boolean Read Only <true> for the initial admin user and any other user IDs automatically generated for the community
user_type String Read Only User type: Platform user (P) or Site User (S)
alias String Editable on Add/Update User's alias in the community
description String Editable on Add/Update User's self-description Relay fields
photo_id image Editable on Add/Update User's picture
thumbnail_photo_id image Editable on Add/Update ID of the thumbnail image. Access it using the REST document Resource.
status String Editable on Add/Update User's status
date_status_updated date Editable on Add/Update Last date and time user's status was changed
tenant_id String Read Only
  • Blank when logged in as normal user in a non-community tenant.
  • The ID of the host tenant, when logged in as a community user.
tenant_user_id String Read Only
customerId String Read Only Customer ID The ID of the tenant where the user is logged in:
  • The host tenant ID, when logged in as a user for a normal (non-community) tenant.
  • The ID of the the community tenant, when logged in as a community user.
user_id_type Number Editable on Add/Update
flag_logged_in Boolean Read only True if the user is logged in
custom field(s) User Fields User can add fields of various type, including text, date, time, etc.
userTenantCapabilities
  • isRelayEnabled
Boolean Read only True if Relay is enabled in this tenancy
emailNotificationOptions
  • userWallPost
Boolean True to send a notification when someone writes on the user's wall.
  • recordWallPost
Boolean True to send a notification when someone writes on the record's wall, if the user is following that record.
  • documentWallPost
Boolean True to send a notification when someone writes on a document wall, if the user is following that document.
  • groupWallPost
Boolean True to send a notification when someone writes on a group wall, if the user is following that group.
  • commentOnMyPost
Boolean True to send a notification when someone comments on one of the user's posts.
  • commentOnComment
Boolean True to send a notification when someone comments on one of the user's comments.
  • like
Boolean True to send a notification when someone votes "like" on one of the user's posts.