KEMBAR78
EGRCPlatform 5.3 WebAPI | PDF | World Wide Web | Internet & Web
0% found this document useful (0 votes)
27 views309 pages

EGRCPlatform 5.3 WebAPI

The RSA Archer eGRC Platform 5.3 Web Services API Guide provides a comprehensive reference for using the web services associated with the RSA Archer eGRC Platform. It includes sections on API usage, available classes and methods, sample use cases, and XML formatting guidelines. The document emphasizes the proprietary nature of the software and the importance of adhering to licensing agreements and encryption regulations.

Uploaded by

Anees Shaikh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views309 pages

EGRCPlatform 5.3 WebAPI

The RSA Archer eGRC Platform 5.3 Web Services API Guide provides a comprehensive reference for using the web services associated with the RSA Archer eGRC Platform. It includes sections on API usage, available classes and methods, sample use cases, and XML formatting guidelines. The document emphasizes the proprietary nature of the software and the importance of adhering to licensing agreements and encryption regulations.

Uploaded by

Anees Shaikh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 309

RSA Archer eGRC Platform 5.

3
Web Services API Guide
October 2012
Contact Information
Go to the RSA corporate website for regional Customer Support telephone and fax numbers:
www.emc.com/domains/rsa/index.htm.
Trademarks
RSA, the RSA Logo, RSA Archer, RSA Archer Logo, and EMC are either registered trademarks or trademarks of EMC
Corporation ("EMC") in the United States and/or other countries. All other trademarks used herein are the property of their
respective owners. For a list of RSA trademarks, go to www.emc.com/legal/emc-corporation-trademarks.htm.
License Agreement
This software and the associated documentation are proprietary and confidential to EMC, are furnished under license, and may
be used and copied only in accordance with the terms of such license and with the inclusion of the copyright notice below. This
software and the documentation, and any copies thereof, may not be provided or otherwise made available to any other person.
No title to or ownership of the software or documentation or any intellectual property rights thereto is hereby transferred. Any
unauthorized use or reproduction of this software and the documentation may be subject to civil and/or criminal liability.
This software is subject to change without notice and should not be construed as a commitment by EMC.
Note on Encryption Technologies
This product may contain encryption technology. Many countries prohibit or restrict the use, import, or export of encryption
technologies, and current use, import, and export regulations should be followed when using, importing or exporting this
product.
Distribution
Use, copying, and distribution of any EMC software described in this publication requires an applicable software license.
EMC believes the information in this publication is accurate as of its publication date. The information is subject to change
without notice.
THE INFORMATION IN THIS PUBLICATION IS PROVIDED "AS IS." EMC CORPORATION MAKES NO
REPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS
PUBLICATION, AND SPECIFICALLY DISCLAIMS IMPLIED WARRANTIES OF MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE.

Copyright © 2010-2012 EMC Corporation All Rights Reserved. Published in the USA.
RSA Archer eGRC Platform Web Services API Guide

Contents

Preface 11
About this Guide 11
Product Documentation 11
Support and Service 12
Chapter 1: Using the Web Services API 15
RSA Archer eGRC Suite Web Services API 15
Available Web Services 15
API Access Configuration 16
Access the Web Services API 17
Access the API Integration Manager 18
Determine System IDs 19
Determine Application GUIDs 19
Time-Based Filtering 20
Chapter 2: Classes and Methods 23
Access Control Class 23
AddChildToGroup 25
AddContactInfo 25
AddUserToGroup 27
AddUserToRole 28
AddUsersToGroup 29
ChangePassword 29
CreateDomainUser 30
CreateExtendedSecurityParameter 31
CreateGroup 33
CreateSecurityParameter 34
CreateUser 35
CreateUserEx 36
DeleteContactInfo 37
DeleteGroup 37
DeleteSecurityParameter 38
DeleteUser 39
DoesDomainUserExist 39
DoesUserExist 40
ForcePasswordChange 40
GetContactSubTypes 41
GetContactTypes 42
GetDomainUserList 42
GetDomainUserListCount 43
GetDomainUserListPaginated 43
GetGroup 44
GetGroupInformation 45
GetGroups 45
GetSecurityParameterName 46
GetSecurityParameters 46

3
RSA Archer eGRC Platform Web Services API Guide

GetTimeZones 47
GetUser 47
GetUserContactInfo 47
GetUserDefaultEMail 48
GetUserList 48
GetUserListCount 49
GetUserListPaginated 50
LookupDomainUserByFirstName 50
LookupDomainUserByLastName 51
LookupDomainUserId 52
LookupEveryoneGroup 52
LookupGroup 53
LookupUserByFirstName 53
LookupUserByLastName 54
LookupUserId 55
LookupUserName 55
RemoveChildFromGroup 56
RemoveUserFromGroup 56
RemoveUserFromRole 57
SetUserDefaultEmail 58
UpdateContactInfo 58
UpdateDomainUser 60
UpdateExtendedSecurityParameter 61
UpdateGroup 63
UpdateSecurityParameter 64
UpdateUser 66
UpdateUserAccountStatus 66
UpdateUserEx 66
UpdateUserName 68
UpdateUserNote 69
UseDaylightSavings 69
Access Role Class 69
CreateRole 70
DeleteRole 70
GetRole 71
GetRoleDependencies 71
GetRolePagePermissions 72
GetRolePagePermissionsForModule 73
GetRoles 73
UpdateRole 74
UpdateRolePagePermissions 75
UpdateRolePagePermissions2 75
Field Class 76
CreateChildValuesListItemWithNumericValue 76
CreateValuesListItemWithNumericValue 76
CreateValuesListValue 77
CreateValuesListValueChild 78
DeleteValuesListValue 78
GetFieldIdByGUID 78
GetValueListByParent 79
GetValueListForField 79

4
RSA Archer eGRC Platform Web Services API Guide

GetValuesList 80
GetValuesListIdByGUID 81
GetValuesListItem 81
GetValuesListValue 82
GetValuesListValueIdByGUID 83
LookupListValue 83
UpdateValuesListItemWithNumericValue 84
UpdateValuesListNumericValueToNull 85
UpdateValuesListValue 85
General Class 86
CreateDomainUserSession 86
CreateDomainUserSessionFromInstance 86
CreateUserSession 87
CreateUserSessionFromInstance 87
TerminateSession 88
Module Class 88
GetModuleIdByGUID 88
Record Class 89
BindContentToChildLevelContent 90
BindContentToParentLevelContent 90
CreateCMSTEntry 90
CreateQuestionnaireRecord 91
CreateRecord 91
CreateRecords 92
CreateSubformRecord 93
DeleteAllRecords 94
DeleteRecord 94
GetAccessHistory 95
GetChildRecordIds 95
GetParentRecordIds 96
GetRecordById 96
UnbindContentFromChildLevelContent 97
UnbindContentFromParentLevelContent 97
UpdateRecord 97
UpdateRecords 98
Search Class 98
CheckSearchStatus 99
CheckSearchStatusByPageSize 99
ExecuteQuickSearchWithModuleIds 99
ExecuteQuickSearchWithSolutionId 100
ExecuteSearch 100
ExecuteStatisticSearch 101
ExecuteStatisticSearchByReport 102
GetReports 102
RetrieveSearchResultsPage 103
RetrieveSearchResultsPageByPageSize 104
SearchRecords 104
SearchRecordsByField 104
SearchRecordsByReport 105
Technology Class 105
AssociateToVendor 106

5
RSA Archer eGRC Platform Web Services API Guide

CreateTechnology 106
CreateTechnologyVersion 106
CreateVendor 107
DeleteTechnology 107
DeleteTechnologyVersion 107
DeleteVendor 107
DisassociateFromVendor 107
GetTechnology 107
GetTechnologyVersion 107
LookupTechnology 108
LookupTechnologyVersion 108
LookupVendorByName 108
UpdateTechnology 108
UpdateTechnologyVersion 108
UpdateVendor 108
Deprecated and Disabled Methods 108
Chapter 3: Sample Use Cases 111
Sessions 111
Create a Session 111
Terminate a Session 111
Users 111
Create and Update a Basic User 111
Adding Records 112
Construct Record XML 112
Add a New Record 112
Update a Record 113
Searching 113
Search For a User 114
Search For a Keyword 114
Search For a Filter 114
Search For Statistics 116
Search by Time 118
Appendix A: Method Samples 121
Access Control Samples 121
AddChildToGroup Sample 122
AddContactInfo Sample 123
AddUserToGroup Sample 125
AddUserToRole Sample 126
AddUsersToGroup Sample 127
ChangePassword Sample 128
CreateDomainUser Sample 129
CreateExtendedSecurityParameter Sample 130
CreateGroup Sample 131
CreateSecurityParameter Sample 132
CreateUserEx Sample 133
DeleteContactInfo Sample 135
DeleteGroup Sample 136
DeleteSecurityParameter Sample 137
DeleteUser Sample 138

6
RSA Archer eGRC Platform Web Services API Guide

DoesDomainUserExist Sample 139


DoesUserExist Sample 140
ForcePasswordChange Sample 141
GetContactSubTypes Sample 142
GetContactTypes Sample 143
GetDomainUserList Sample 145
GetDomainUserListCount Sample 146
GetDomainUserListPaginated Sample 147
GetGroup Sample 149
GetGroupInformation Sample 150
GetGroups Sample 152
GetSecurityParameterName Sample 153
GetSecurityParameters Sample 154
GetUser Sample 155
GetUserContactInfo Sample 157
GetUserDefaultEMail Sample 158
GetUserList Sample 159
GetUserListCount Sample 160
GetUserListPaginated Sample 161
LookupDomainUserByFirstName Sample 163
LookupDomainUserByLastName Sample 164
LookupDomainUserId Sample 166
LookupEveryoneGroup Sample 167
LookupGroup Sample 168
LookupUserByFirstName Sample 169
LookupUserByLastName Sample 170
LookupUserId Sample 171
LookupUserName Sample 172
RemoveChildFromGroup Sample 173
RemoveUserFromGroup Sample 174
RemoveUserFromRole Sample 175
SetUserDefaultEmail Sample 176
UpdateContactInfo Sample 177
UpdateDomainUser Sample 178
UpdateExtendedSecurityParameter Sample 180
UpdateGroup Sample 181
UpdateSecurityParameter Sample 182
UpdateUserAccountStatus Sample 183
UpdateUserEx Sample 184
UpdateUserName Sample 185
UpdateUserNote Sample 186
Access Role Samples 187
CreateRole Sample 188
DeleteRole Sample 189
GetRole Sample 190
GetRoleDependencies Sample 191
GetRolePagePermissions Sample 192
GetRolePagePermissionForModule Sample 194
GetRoles Sample 195
UpdateRole Sample 196
UpdateRolePagePermissions2 Sample 197

7
RSA Archer eGRC Platform Web Services API Guide

Field Samples 198


CreateValuesListItemWithNumericValue Sample 199
CreateValuesListValue Sample 200
DeleteValuesListValue Sample 201
GetFieldIdByGUID Sample 202
GetValueListForField Sample 203
GetValuesList Sample 204
GetValuesListIdByGUID Sample 205
GetValuesListItem Sample 206
GetValuesListValue Sample 208
GetValuesListValueIdByGUID Sample 209
LookupListValue Sample 210
UpdateValuesListItemWithNumericValue Sample 211
UpdateValuesListNumericValueToNull Sample 212
UpdateValuesListValue Sample 213
General Samples 214
CreateDomainUserSessionFromInstance Sample 214
CreateUserSessionFromInstance Sample 215
TerminateSession Sample 216
Module Samples 217
GetModuleIdByGUID Sample 217
Record Samples 218
CreateCMSTEntry Sample 218
CreateQuestionnaireRecord Sample 219
CreateRecord Sample 220
CreateRecords Sample 222
CreateSubformRecord Sample 223
DeleteRecord Sample 224
GetAccessHistory Sample 225
GetChildRecordIds Sample 226
GetRecordById Sample 227
UpdateRecord Sample 228
UpdateRecords Sample 229
Search Samples 230
ExecuteQuickSearchWithModuleIds Sample 230
ExecuteQuickSearchWithSolutionId Sample 231
ExecuteSearch Sample 232
ExecuteStatisticSearch Sample 234
ExecuteStatisticSearchByReport Sample 235
GetReports Sample 236
RetrieveSearchResultsPage Sample 238
RetrieveSearchResultsPageByPageSize Sample 239
SearchRecordsByReport Sample 240
Appendix B: XML Formatting Used in Field Results and
Input 243
XML Formatting Guidelines for Field Input 243
XML Formatting Guidelines for Field Results 248
Common Attributes 248
Field-Specific Attributes 249
XML Formatting Guidelines for 5.x Search Input 261

8
RSA Archer eGRC Platform Web Services API Guide

General Settings 262


Result Display 263
Search Criteria 264
Keywords Search 265
Filters 265
Statistics Criteria 288
Module Definition 292
XML Formatting Guidelines for Legacy Input 295
Keyword Search 296
Result Display 296
Special Search Characteristics 298
Filter 299
Appendix C: Supported Locales 301
Appendix D: Supported Time Zones 305

9
RSA Archer eGRC Platform Web Services API Guide

Preface

About this Guide


This reference guide defines the collection of web services that provide a
programmatic interface for interacting with the RSA® Archer™ eGRC Platform.
This guide is divided into the following sections:
Using the Web Services API - Provides reference and task-based material to
assist in using the Web Services API.
Classes and Methods - Defines the API classes with their associated methods.
Sample Use Cases - Includes sample XML and C# use cases for use with the
Web Services API.
Method Samples - Includes sample code for each supported method found
within the Web Services API.
XML Formatting Used in Field Results and Input - Provides guidelines for
the XML formatting used in various methods.
Supported Locales - Provides a list of supported locales for certain methods to
use.
Supported Time Zones - Provides a list of supported time zones for certain
methods to use.

Product Documentation
For information about the RSA Archer eGRC Platform 5.x, see the following
documentation.

Guide Description

Administrator Guide Provides Platform administrators with a system over-


view, guidelines for navigating, and detailed instruc-
tions for key tasks.

Control Panel Guide Provides administrators with instructions for completing


tasks in the release.

Installation Guide Provides administrators with the details of the steps


required to plan for, prepare, install, configure, grant
access to, and test the release.

Preface 11
RSA Archer eGRC Platform Web Services API Guide

Guide Description

Release Notes Provides Platform administrators with detailed listing of


new features, fixed issues, and known issues at the time
of the current release.

User Guide Provides end users with guidelines for navigating,


detailed instructions for key tasks, and information
about using Platform communication tools.

Web Services API Reference Provides IT managers and programmers with a list of
Guide the available web services for programmatically inter-
facing with the release. This guide provides formatting
guidelines for field results, field inputs, and search
inputs, and provides sample code for searching, adding
and updating users, and updating assets.

You can access the Platform 5.x documentation from the Documents page on the
RSA Archer Community at https://community.emc.com/community/connect/grc_
ecosystem/rsa_archer.

Support and Service


Customer www.emc.com/support/rsa/index.htm
Support
Information

Customer archersupport@rsa.com
Support E-mail

RSA Archer https://community.emc.com/community/connect/grc_


Community ecosystem/rsa_archer

RSA Archer https://community.emc.com/community/connect/grc_


Exchange ecosystem/rsa_archer_exchange

RSA Solution https://gallery.emc.com/community/marketplace/


Gallery

The RSA Archer Community enables collaboration among eGRC clients, partners,
and product experts. Members actively share ideas, vote for product enhancements,
and discuss trends that help guide the RSA Archer product roadmap.

12 Preface
RSA Archer eGRC Platform Web Services API Guide

The RSA Archer Exchange is an online marketplace dedicated to supporting eGRC


initiatives. The Exchange brings together on-demand applications along with
service, content, and integration providers to fuel the success of RSA Archer
clients.
The RSA Solution Gallery provides information about third-party hardware and
software products that have been certified to work with RSA products. The gallery
includes Secured by RSA Implementation Guides with step-by-step instructions and
other information about interoperation of RSA products with these third-party
products.

Preface 13
RSA Archer eGRC Platform Web Services API Guide

Chapter 1: Using the Web Services API


l RSA Archer eGRC Suite Web Services API
l Available Web Services
l API Access Configuration
l Access the Web Services API
l Access the API Integration Manager
l Determine ID of Values List
l Determine Application GUIDs
l Time-Based Filtering

RSA Archer eGRC Suite Web Services API


The RSA Archer eGRC Suite Web Services API is a collection of web services
that provide a programmatic interface for interacting with the RSA Archer eGRC
Platform. Each web service is designated by a particular class, and each web
service supports multiple methods. These methods can be used together to automate
the exchange of information between the Platform and an external application.

Available Web Services


The following web services (and corresponding classes) are available with the RSA
Archer eGRC Platform:
Access Control - This class provides programmatic access to the Access
Control feature, such as creating users and managing security parameters.
Access Role - This class provides programmatic access to options relating to
managing access roles.
Field - This class allows you to manage and configure the values lists used in the
applications, questionnaires, and sub-forms.
General - This class allows you to create and terminate Web Services API user
sessions.
Module - This class provides programmatic access to module information.
Record - This class allows you to create and manipulate content records in
content applications.
Search - This class allows programmatic access to the Platform’s search
features.

For more information on each class, see Classes and Methods.

Chapter 1: Using the Web Services API 15


RSA Archer eGRC Platform Web Services API Guide

API Access Configuration


All Web Services API calls require valid user credentials to be submitted before
the calling application gains access. The privileges that you grant different users
depend on the functions that they need to perform. In this guide, each of the web
services includes a list of methods, and for each method, the level of access needed
to execute it is provided.

Important: As of version 5.x, Web Services API privileges and RSA Archer eGRC
Platform privileges are shared. For example, if a Platform user has Read privileges
to a certain application, that user is now able to use Web Services API calls that
require Read permissions for that application.

The following rules offer insight into the required level of access for a method:
l Methods that start with the word “Create” require Create permissions.
l Methods that start with the following words require Read permissions:
o Check
o Does
o Get
o Lookup
o Retrieve
o Search
l Methods that start with the following words require Update permissions:
o Add
o Associate
o Bind
o Change
o Disassociate
o Force
o Set
o Unbind
o Update
o User
l Methods that start with the following words require Delete permissions:
o Delete
o Remove

16 Chapter 1: Using the Web Services API


RSA Archer eGRC Platform Web Services API Guide

o Terminate

For more information on the permissions required for each web services, see the
individual web service methods.

Access the Web Services API


You can access each web service through an .asmx file of the same name, for
example, search.asmx. The files are located in the ws directory off the root
directory of the RSA Archer application (in IIS).
The Web Services API communicates using SOAP, HTTP POSTs, and HTTP
GETs.

Before You Begin


If you are not familiar with web services, consult other resources, for example:
http://www.w3schools.com/webservices/default.asp.

Procedure
1. On your Windows server running the RSA Archer eGRC Platform, open
Internet Information Services (IIS) Manager.
2. Navigate to the ws directory located in the root directory of the RSA Archer
application.
For example, Internet Information Services > Local Computer > Web Sites
> Default Web Site > Archer > ws.
3. Open the web service .asmx file that you want to access.
The following example shows the General web service.

4. Click a method to access a test form, along with sample code requests and

Chapter 1: Using the Web Services API 17


RSA Archer eGRC Platform Web Services API Guide

responses.

Access the API Integration Manager


The API Integration Manager in the RSA Archer eGRC Platform provides links for
downloading Web Services Description Language (WSDL) files and to the API
Code Generator, which helps you format your code to integrate applications with
services.
From this page, you can perform the following tasks:
l Download WSDL files
l Generate API code
l Download documentation
l Discuss API development

Procedure
1. Navigate to the Integration page:
a. Click the Administration workspace.
b. From the Navigation Menu, select Integration.
2. Click Obtain API Resources.
For more information about using the API Integration Manager, see the RSA
Archer eGRC Platform Help Center.

18 Chapter 1: Using the Web Services API


RSA Archer eGRC Platform Web Services API Guide

Determine System IDs


Some methods require a system ID as a parameter. Use the following procedure to
find a Field ID.

Important: Using this procedure, you can also find the values for Application IDs
and Values List IDs.

Procedure
1. Navigate to the Manage Applications page:
a. Click the Administration workspace.
b. From the Navigation Menu, select Application Builder > Manage
Applications.
2. In the Applications section, click the name of the application that contains the
field whose ID you want.
3. Click the Fields tab.
4. In the Fields section, hover over the name of the appropriate field.
The ID of the field displays in the bottom of the Manage Applications window.

Determine Application GUIDs


Some methods require an application Globally Unique Identifier (GUID) as a
parameter. Use the following procedure to find an application's GUID.

Procedure
1. Navigate to the Manage Applications page:
a. Click the Administration workspace.
b. From the Navigation Menu, select Application Builder > Manage
Applications.
2. In the Applications section, click the name of the application that you want the
GUID for.

Chapter 1: Using the Web Services API 19


RSA Archer eGRC Platform Web Services API Guide

3. In the General Information section, the ID field contains the application's


GUID.

Time-Based Filtering
For an advanced search to return search results to a level smaller than a single day,
you can set time filters to your search criteria. Using specific filter operators and
values, you can configure time filters, with or without dates. For more information
on time-based filter searches, see XML Formatting Guidelines for 5.x Search
Input.
Time-based filtering requires several rules and logic to determine the correct search
results. The following general rules apply to the time filter options:
l The time filter options are available only when a Date field is configured to
show time.
l Unless a specific time is selected, the Platform uses the "All Times" option.
l Where available, a specific time zone can be selected, or the local time zone of
the user performing the search can be used when the search is saved and run by
another user.
l A time must be selected before a specific time zone can be selected.
l Daylight savings time is accommodated.

The following table describes the other rules and logic by filter type.

20 Chapter 1: Using the Web Services API


RSA Archer eGRC Platform Web Services API Guide

Filter Type Rules and Logic

Equals If you enter 09/12/2012 1:15 p.m., the search returns records
that meet that exact date and time for an "Equals" search, or
Does Not Equal
records that do not equal that exact date and time for a "Does
Not Equal" search.
If the field is not configured to show time, you can only select a
date.
You must select a date before you can select a time.
You must select a time in order to select a time zone.
If you leave the date and time values empty, the results return
all records that have blank values in the field on which the
filter was configured. If a date is selected, but you do not select
a time value, the filter acts as a date-only filter.

Current If you select the current hour, all records with a time in the
(Minute or Hour) current hour are included in the search results. For example, if
the time value is 10:14, all records in the 10:00 hour are
included.
Time zone options are not available on this filter type. The
local time zone of the user performing the search is used.

Last If you filter "Last" "3" "Hours", the results include the previous
(Minutes or Hours) three hours, but do not include the current hour.
The time zone options are not available on this filter type. The
local time zone of the user performing the search is used.
This filter types does not include the current minute or hour.

Next If you filter "Next" "3" "Days", the results include the next three
(Minutes or Hours) days, but do not include the current day.
The time zone options are not available on this filter type. The
local time zone of the user performing the search is used.
This filter types does not include the current minute or hour.

Greater Than If the field is not configured to show time, you can only select a
date.
Less Than
You must select a date before you can select a time.
If you leave the date and time values empty, the results return as
blank values. If a date is selected, but you do not select a time
value, the filter acts as a date-only filter.

Chapter 1: Using the Web Services API 21


RSA Archer eGRC Platform Web Services API Guide

Filter Type Rules and Logic

Between Search results include selected dates and times.


You must select a date before you can select a time.
You must select a time before you can select a specific time
zone.
You must select a date in each Date field.
If a date is selected, but you do not select a time value, the filter
acts as a date-only filter with selected dates included.

Time Interval Search results include selected dates and times.


You must select a time in both Time fields.
You must select a time before you can select a specific time
zone.
You can configure the filter based on two Time values for all
dates, or filter the search to a specific date range in addition to
the time range.
If you do not select dates, the filter is not restricted to a date
range, and the Platform searches for all records that occur within
the selected times, including the selected times.

22 Chapter 1: Using the Web Services API


RSA Archer eGRC Platform Web Services API Guide

Chapter 2: Classes and Methods


l Access Control Class
l Access Role Class
l Field Class
l General Class
l Module Class
l Record Class
l Search Class
l Technology Class
l Deprecated and Disabled Methods

Access Control Class


The Access Control methods provide programmatic access to the Access Control
feature, such as creating users and managing security parameters.
The Access Control class includes the following methods:
l AddChildToGroup
l AddContactInfo
l AddUserToGroup
l AddUserToRole
l ChangePassword
l CreateDomainUser
l CreateExtendedSecurityParameter
l CreateGroup
l CreateSecurityParameter
l CreateUser
l CreateUserEx
l DeleteContactInfo
l DeleteGroup
l DeleteSecurityParameter
l DeleteUser
l DoesDomainUserExist

Chapter 2: Classes and Methods 23


RSA Archer eGRC Platform Web Services API Guide

l DoesUserExist
l ForcePasswordChange
l GetContactSubTypes
l GetContactTypes
l GetDomainUserList
l GetDomainUserListCount
l GetDomainUserListPaginated
l GetGroup
l GetGroups
l GetGroupInformation
l GetSecurityParameterName
l GetSecurityParameters
l GetTimeZones
l GetUser
l GetUserContactInfo
l GetUserDefaultEMail
l GetUserList
l GetUserListCount
l GetUserListPaginated
l LookupDomainUserByFirstName
l LookupDomainUserByLastName
l LookupDomainUserId
l LookupEveryoneGroup
l LookupGroup
l LookupUserByFirstName
l LookupUserByLastName
l LookupUserId
l LookupUserName
l RemoveChildFromGroup
l RemoveUserFromGroup
l RemoveUserFromRole
l SetUserDefaultEmail
l UpdateContactInfo

24 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

l UpdateDomainUser
l UpdateExtendedSecurityParameter
l UpdateGroup
l UpdateSecurityParameter
l UpdateUser
l UpdateUserAccountStatus
l UpdateUserEx
l UpdateUserName
l UpdateUserNote
l UseDaylightSavings

AddChildToGroup
The AddChildToGroup method creates a parent-child (hierarchical) relationship
between two groups.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the AddChildToGroup method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

childGroupId Integer Internal ID of the child group returned by the acces-


scontrol.LookupGroup method.

parentGroupId Integer Internal ID of the parent group as returned by the acces-


scontrol.LookupGroup method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the AddChildToGroup method, see


AddChildToGroup Sample.

AddContactInfo
The AddContactInfo method adds contact information, such as email addresses and
phone numbers, to a user's account.

Chapter 2: Classes and Methods 25


RSA Archer eGRC Platform Web Services API Guide

Before invoking this method, obtain your system's contact type IDs and contact
subtype IDs using the following methods:
l GetContactTypes
l accesscontrol.GetContactSubTypes

These IDs are required for the contactInfo parameter.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the AddContactInfo method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

userId Integer Internal ID of the user returned by the


accesscontrol.LookupGroup method.

26 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

contactInfo String String that provides the following:


l The contact type ID for the contact type that you want to
add as returned by the accesscontrol.GetContacttypes
method.
l The contact subtype ID for the contact type that you want
to add as returned by the accesscontrol.GetContactSubTypes
method.
l The value to add for the contact type (e-mail address or
phone number).
l A "true" or "false" indicator that determines whether the
contact value should be the default for the user's account.
(This is only applicable if you are adding an e-mail address.)

The following text is a sample string for this parameter.


<ContactInfo>
<ContactTypeId>7</ContactTypeId>
<ContactSubTypeId>3</ContactSubTypeId>
<ContactInfo>jmiller@company-
name.com</ContactInfo>
<ContactDefault>false</ContactDefault>
</ContactInfo>
In the previous example, the contact type ID of 7 indicates that
the value is an e-mail address. The contact subtype ID of 3
indicates that it is a home e-mail address. The contact default
flag of false indicates that the e-mail address is not the default
address for the user account.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the AddContactInfo method, see AddContactInfo
Sample.

AddUserToGroup
The AddUserToGroup method adds a user to a specified group.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the AddUserToGroup method are described in the
following table.

Chapter 2: Classes and Methods 27


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

userId Integer Internal ID of the user returned by the acces-


scontrol.LookupGroup method.

groupId Integer Internal ID of the group as contained in the results of the acces-
scontrol.LookupGroup method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the AddUserToGroup method, see


AddUserToGroup Sample.

AddUserToRole
The AddUserToRole method adds a user to a specific access role.

Note: Users can have multiple access roles. Permissions are aggregated across all
access roles for a given user. For example, if one role gives a user Read
permissions to a page and another role gives Update permissions to the same page,
the user has both Read and Update permissions.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the AddUserToRole method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

userId Integer Internal ID of the user returned by the acces-


scontrol.LookupGroup method.

roleId Integer Internal ID of the access role to which you want to add the user
as contained in the results of the accessrole.GetRoles method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

28 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Note: For sample code relating to the AddUserToRole method, see AddUserToRole
Sample.

AddUsersToGroup
The AddUsersToGroup method adds a user to a specified group.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the AddUserToGroup method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

userIds Integer Internal IDs of the users returned by the acces-


scontrol.LookupGroup method.

groupId Integer Internal ID of the group as contained in the results of the acces-
scontrol.LookupGroup method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the AddUsersToGroup method, see


AddUsersToGroup Sample.

ChangePassword
The ChangePassword method sets the user's password to the specified value.

Note: The provided password must meet the requirements specified in the user's
security parameter.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the ChangePassword method are described in the
following table.

Chapter 2: Classes and Methods 29


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the


general.CreateUserSession method.

userId Integer Internal ID of the user returned by the


accesscontrol.LookupUserId method.

password String Value that you want to assign as the password.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the ChangePassword method, see


ChangePassword Sample.

CreateDomainUser
The CreateDomainUser method returns a user ID from the system.

Note: A user name is automatically generated and associated with the account. It
can be modified with the accesscontrol.UpdateUserName method.

Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateDomainUser method are described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

firstName String User first name.

middleName String User middle name.

lastName String User last name.

companyName String User organization or company.

title String User job title/function.

30 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

securityParameter Integer Internal ID of the corresponding security parameter as con-


tained in the results of the acces-
scontrol.GetSecurityParameters method.

address String User location/mailing address.

timeZone Integer This parameter is deprecated, but an integer must still be


passed in the method. RSA Archer recommends using 0.
The time zone is set to the default time zone for the
instance specified in the Archer Control Panel.

Note: Use the new, version 5 methods,


accesscontrol.CreateUserEx and
accesscontrol.UpdateUserEx, to set the time zone.

usersDomain String Name of the domain to which the users and groups belong.

Output. This method returns an integer. If the method is successful, the value is the
ID of the newly created user. If there is a failure, the API issues an exception.

Note: For sample code relating to the CreateDomainUser method, see


CreateDomainUser Sample.

CreateExtendedSecurityParameter
The CreateExtendedSecurityParameter method allows you to create a new security
parameter in the system. This method differs from the CreateSecurityParameter
method in that it includes the Uppercase Characters Required, Lowercase
Characters Required, and Special Characters Required parameters.

Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateExtendedSecurityParameter method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

name String Name of the security parameter.

Chapter 2: Classes and Methods 31


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

description String Description of the security parameter.

minPasswordLength Integer Minimum number of characters required for user


passwords.

minPasswordCharacters Integer Minimum number of alpha characters required


for user passwords.

passwordLifetime Integer Number of days before a user is required to


change his or her password.

graceLogins Integer Maximum number of grace logons allowed after


a password has expired.

maxRetries Integer Maximum number of times a user can unsuc-


cessfully attempt to log on to the system before
the account is put into a locked state.

lockDuration Integer Duration that a user's account remains in a


locked state after surpassing the maximum
number of logon attempts. The unit of measure
is set in the lockIntervalType parameter.

lockIntervalType Integer Type of lock duration (1=Hours, 2=Minutes,


and 4=Days).

sessionTimeout Integer Idle time-out period for a user’s session. The


unit of measure is set in the time-
outIntervalType parameter.

passwordHistoryCheckDepth Integer Number of previous passwords to track. Users


are not permitted to reuse these tracked pass-
words.

expirationNotice Integer Number of days before a password's expiration


that a warning is displayed.

accountTimeout Integer Number of days after which an account's status


automatically is changed to "inactive" if the
user has not logged on (0 = none or never auto-
matically deactivates).

32 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

timeoutIntervalType Integer Unit of measure for sessionTimeout (1=Hours,


2=Minutes, and 4=Days).

minUppercaseCharacters Integer Number of uppercase characters that must be


contained in a user's password.

minLowercaseCharacters Integer Number of lowercase characters that must be


contained in a user's password.

minSpecialCharacters Integer Number of special characters that must be con-


tained in a user's password. Special characters
can include:

`~!@#$%^&*()_+-={}|:"<>?[]
\;’,./

Output. This method returns an integer. If the method is successful, the value is the
ID of the newly created security parameter. If there is a failure, the API issues an
exception.

Note: For sample code relating to the CreateExtendedSecurityParameter method,


see CreateExtendedSecurityParameter Sample.

CreateGroup
The CreateGroup method adds a group to the system.

Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateGroup method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the


general.CreateUserSession method.

groupName String Name of the group to add.

Output. This method returns an integer. If the method is successful, the value is the
ID of the newly created group. If there is a failure, the API issues an exception.

Chapter 2: Classes and Methods 33


RSA Archer eGRC Platform Web Services API Guide

Note: For sample code relating to the CreateGroup method, see CreateGroup
Sample.

CreateSecurityParameter
The CreateSecurityParameter method allows you to create a new security
parameter.

Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateSecurityParameter method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

name String Name of the security parameter.

description String Description of the security parameter.

minPasswordLength Integer Minimum number of characters required for user


passwords.

minPasswordCharacters Integer Minimum number of alpha characters required


for user passwords.

minPasswordNumerals Integer Minimum number of numeric characters


required for user passwords.

passwordLifetime Integer Number of days before a user is required to


change his or her password.

graceLogins Integer Maximum number of grace logons allowed after


a password has expired.

maxRetries Integer Maximum number of times a user can unsuc-


cessfully attempt to log on to the system before
the account is put into a locked state.

34 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

lockDuration Integer Duration that a user's account remains in a


locked state after surpassing the maximum
number of logon attempts. The unit of measure
is set in the lockIntervalType parameter.

lockIntervalType Integer Type of lock duration (1=Hours, 2=Minutes,


and 4=Days).

sessionTimeout Integer Idle time-out period for a user’s session. The


unit of measure is set in the time-
outIntervalType parameter.

passwordHistoryCheckDepth Integer Number of previous passwords to track. Users


are not permitted to reuse these tracked pass-
words.

expirationNotice Integer Number of days before a password's expiration


that a warning is displayed.

accountTimeout Integer Number of days after which an account's status


automatically is changed to "inactive" if the
user has not logged on (0 = none or never auto-
matically deactivates).

timeoutIntervalType Integer Unit of measure for sessionTimeout (1=Hours,


2=Minutes, and 4=Days).

Output. This method returns an integer. If the method is successful, the value is the
ID of the newly created security parameter. If there is a failure, the API issues an
exception.

Note: For sample code relating to the CreateSecurityParamer method, see


CreateSecurityParameter Sample.

CreateUser
Important: This method is Deprecated and may be removed in a future release.
Starting with version 5.x, use the record.CreateUserEX method instead. Update any
legacy content you may have to ensure continued compatibility.

Chapter 2: Classes and Methods 35


RSA Archer eGRC Platform Web Services API Guide

CreateUserEx
The CreateUserEx method replaces the CreateUser and CreateDomainUser
methods used in version 4.x. CreateUserEx returns a user's ID from the system.
This method also enables you to set the time zone and locale of the user account.

Note: This method generates a user name automatically and associates it with the
account. You can modify it with the accesscontrol.UpdateUserName method.

Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateUserEx method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the


general.CreateUserSession method.

firstName String User’s first name.

middleName String User’s middle name.

lastName String User’s last name.

companyName String User’s organization/company.

title String User’s job title/function.

securityParameter Integer Internal ID of the corresponding security parameter as


contained in the results of the
accesscontrol.GetSecurityParameters method.

address String User’s location/mailing address.

userDomain String User’s domain.

timeZone String User’s time zone. Use the .NET time zone ID property. If
this value is NULL or empty, the system uses the server
default of the instance. For more information on supported
time zones, see Supported Time Zones.

36 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

Locale String User’s locale. Use the .NET CultureInfo name property. For
example, en-US. If this value is NULL or empty, the system
uses the server default of the instance. For more information
on supported locales, see Supported Locales.

Important: All parameters are required.

Output. This method returns an integer. If the method is successful, the value is the
ID of the newly created user. If there is a failure, the API issues an exception.

Note: For sample code relating to the CreateUserEx method, see CreateUserEx
Sample.

DeleteContactInfo
The DeleteContactInfo method removes a specific aspect of a user’s contact
information within the system.

Usage
Privileges. This method requires Delete privileges.
Parameters. The parameters for the DeleteContactInfo method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the


general.CreateUserSession method.

userID String Internal ID of the user as returned by the


accesscontrol.LookupGroup method.

contactRecordID String Internal ID of the contact information field as contained in


the results of the accesscontrol.GetUserContactInfo method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the DeleteContactInfo method, see


DeleteContactInfo Sample.

DeleteGroup
The DeleteGroup method removes the specified group from the system.

Chapter 2: Classes and Methods 37


RSA Archer eGRC Platform Web Services API Guide

Usage
Privileges. This method requires Delete privileges.
Parameters. The parameters for the DeleteGroup method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

groupID Integer Internal ID of the group as contained in the results of the acces-
scontrol.LookupGroup method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the DeleteGroup method, see DeleteGroup
Sample.

DeleteSecurityParameter
The DeleteSecurityParameter method removes a security parameter from the
system.

Usage
Privileges. This method requires Delete privileges.
Parameters. The parameters for the DeleteSecurityParameter method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the


general.CreateUserSession method.

securityParameterId Integer Internal ID of the security parameter as contained in the


results of the accesscontrol.GetSecurityParameters
method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the DeleteSecurityParameter method, see


DeleteSecurityParameter Sample.

38 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

DeleteUser
The DeleteUser method removes a user from the system.

Usage
Privileges. This method requires Delete privileges.
Parameters. The parameters for the DeleteUser method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

userId Integer Internal ID of the user as returned by the acces-


scontrol.LookupUserId method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the DeleteUser method, see DeleteUser Sample.

DoesDomainUserExist
The DoesDomainUserExist method returns a Boolean indicating whether the
specified user exists.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the DoesDomainUserExist method are described
in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

username String User name to search for.

usersDomain String Name of the domain to which the users and groups belong.

Output. This method returns a Boolean value. If the user exists, it is set to true, and
if the user does not exist, it is set to false. If there is a failure, the API issues an
exception.

Chapter 2: Classes and Methods 39


RSA Archer eGRC Platform Web Services API Guide

Note: For sample code relating to the DoesDomainUserExist method, see


DoesDomainUserExist Sample.

DoesUserExist
The DoesUserExist method returns a Boolean value indicating whether the
specified user exists.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the DoesUserExist method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

userName Integer User name to search for.

Output. This method returns a Boolean value. If the user exists, it is set to true, and
if the user does not exist, it is set to false. If there is a failure, the API issues an
exception.

Note: For sample code relating to the DoesUserExist method, see DoesUserExist
Sample.

ForcePasswordChange
The ForcePasswordChange method sets the status of the Force Password Change
property for a specified user.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the ForcePasswordChange method are described
in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

40 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

userID Integer Internal ID of the user as returned by the acces-


scontrol.LookupUserId method.

forcePasswordchange Boolean Setting of the Force Password Change property.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the ForcePasswordChange method, see


ForcePasswordChange Sample.

GetContactSubTypes
The GetContactSubTypes method returns contact subtype IDs for either the email
or the phone contact type, according to the contact type ID that you provide in your
parameters. The following are examples of contact subtypes:
l Business
l Home
l Mobile
l Assistant
l Fax
l Pager

The contact subtype IDs returned by this method can be used to add contact
information to a user's account through the accesscontrol.AddContactInfo method.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetContactSubTypes method are described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

contactTypeId Integer Contact type ID for the e-mail or phone contact type, as
contained in the results of the accesscontrol.GetContactTypes
method.

Chapter 2: Classes and Methods 41


RSA Archer eGRC Platform Web Services API Guide

Output. This method returns a string. If the method is successful, the value is the
contact subtype IDs and descriptions for either the email or the phone contact type.
If there is a failure, the API issues an exception.

Note: For sample code relating to the GetContactSubTypes method, see


GetContactSubTypes Sample.

GetContactTypes
The GetContactTypes method returns contact type IDs for the email and phone
contact types. These contact type IDs can be used to add contact information to a
user's account through the accesscontrol.AddContactInfo method.

Usage
Privileges. This method requires Read privileges.
Parameter. The parameter for the GetContactTypes method is described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

Output. This method returns a string. If the method is successful, the value is the
contact type ID for the email and phone contact types. If there is a failure, the API
issues an exception.

Note: For sample code relating to the GetContactTypes method, see


GetContactTypes Sample.

GetDomainUserList
The GetDomainUserList method returns a listing of all users in the system.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetDomainUserList method are described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

usersDomain String Name of the domain to which the users and groups belong.

42 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Output. This method returns a string. If the method is successful, the value is an
XML string that contains the ID, name, role, status, security parameter, and
"logged on" indicator for every user in the company. If there is a failure, the API
issues an exception.

Note: For sample code relating to the GetDomainUserList method, see


GetDomainUserList Sample.

GetDomainUserListCount
The GetDomainUserListCount method returns the total number of non-deleted users
in the system.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetDomainUserListCount method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

usersDomain String Name of the domain to which the users and groups belong.

Output. This method returns an integer. If the method is successful, the value is the
number of non-deleted users in the system. If there is a failure, the API issues an
exception.

Note: For sample code relating to the GetDomainUserListCount method, see


GetDomainUserListCount Sample.

GetDomainUserListPaginated
The GetDomainUserListPaginated method returns a listing of all users in the
system and allows you to specify the page size and desired page to be returned,
thereby reducing the number of users returned per call.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetDomainUserListPaginated method are
described in the following table.

Chapter 2: Classes and Methods 43


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

pageSize Integer Number of users to return on each page.

page Integer Page of the user list that you want to return.

Note: Page numbering begins with 1.

userDomain String Name of the domain to which the users and groups belong.

Output. This method returns an string. If the method is successful, the value is an
XML string that contains the ID, name, role, status, security parameter, and
"logged on" indicator for the users on the specified page of results. If there is a
failure, the API issues an exception.

Note: For sample code relating to the GetDomainUserListPaginated method, see


GetDomainUserListPaginated Sample.

GetGroup
The GetGroup method returns the textual name of a groupId in the system.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetGroup method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

groupId Integer Internal ID of the group as contained in the results of the


accesscontrol.
LookupGroup method.

Output. This method returns a string. If the method is successful, the value is a text
description of the group that appears in the GUI. If there is a failure, the API issues
an exception.

Note: For sample code relating to the GetGroup method, see GetGroup Sample.

44 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

GetGroupInformation
The GetGroupInformation method returns group information for a specified group
ID.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetGroupInformation method are described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

groupId Integer Internal ID of the group as contained in the results of the


accesscontrol.
LookupGroup method.

Output. This method returns a string. If the method is successful, the value is an
XML string that contains the group ID, name, description, parent information, child
information, and group membership. If there is a failure, the API issues an
exception.

Note: For sample code relating to the GetGroupInformation method, see


GetGroupInformation Sample.

GetGroups
The GetGroups method returns the ID, name, and description of all the groups in
the system.

Usage
Privileges. This method requires Read privileges.
Parameter. The parameter for the GetGroups method is described in the following
table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

Chapter 2: Classes and Methods 45


RSA Archer eGRC Platform Web Services API Guide

Output. This method returns a string. If the method is successful, the value is an
XML string that contains the ID, name, and description of each group. If there is a
failure, the API issues an exception.

Note: For sample code relating to the GetGroups method, see GetGroups Sample.

GetSecurityParameterName
The GetSecurityParameterName method returns the textual name of a security
parameter defined in the system.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetSecurityParameterName method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the


general.CreateUserSession method.

securityParameters Integer Internal ID of the security parameter as contained in the


results of the accesscontrol.GetSecurityParameters method.

Output. This method returns a string. If the method is successful, the value is a text
description of the security parameter's name as it appears in the GUI. If there is a
failure, the API issues an exception.

Note: For sample code relating to the GetSecurityParameterName method, see


GetSecurityParameterName Sample.

GetSecurityParameters
The GetSecurityParameters method returns a list of all of the security parameters
and their corresponding IDs.

Usage
Privileges. This method requires Read privileges.
Parameter. The parameter for the GetSecurityParameters method is described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

46 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Output. This method returns a string. If the method is successful, the value is an
XML string of all of the security parameters in the system. If there is a failure, the
API issues an exception.

Note: For sample code relating to the GetSecurityParameters method, see


GetSecurityParameters Sample.

GetTimeZones
This method is Disabled. No replacement currently exists.

GetUser
The GetUser method returns user information for the specified user ID.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetUser method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

userId Integer Internal ID of the user as returned by the acces-


scontrol.LookupUserId method.

Output. This method returns a string. If the method is successful, the value is an
XML string that contains account information for the specified user. If there is a
failure, the API issues an exception.

Note: For sample code relating to the GetUser method, see GetUser Sample.

GetUserContactInfo
The GetUserContactInfo method returns contact information for a specified user
ID. This contact information includes the user e-mail addresses and phone numbers.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetUserContactInfo method are described in
the following table.

Chapter 2: Classes and Methods 47


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

userId Integer Internal ID of the user as returned by the acces-


scontrol.LookupUserId method.

Output. This method returns a string. If the method is successful, the value is an
XML string that contains contact information for the specified user. If there is a
failure, the API issues an exception.

Note: For sample code relating to the GetUserContactInfo method, see


GetUserContactInfo Sample.

GetUserDefaultEMail
The GetUserDefaultEMail method returns the text value in a user's default email
address field.

Note: The method may return an empty string if no email address is defined.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetUserDefaultEMail method are described
in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

userId Integer Internal ID of the user as returned by the acces-


scontrol.LookupUserId method.

Output. This method returns a string. If the method is successful, the value is the
contents of the default email address. If there is a failure, the API issues an
exception.

Note: For sample code relating to the GetUserDefaultEMail method, see


GetUserDefaultEMail Sample.

GetUserList
The GetUserList method returns a list of all users in the system.

48 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Usage
Privileges. This method requires Read privileges.
Parameter. The parameter for the GetUserList method is described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

Output. This method returns a string. If the method is successful, the value is an
XML string that contains the ID, name, role, status, security parameter, and
"logged on" indicator for every user in the company. If there is a failure, the API
issues an exception.

Note: For sample code relating to the GetUserList method, see GetUserList
Sample.

GetUserListCount
The GetUserListCount method returns the total number of non-deleted users in the
system.

Usage
Privileges. This method requires Read privileges.
Parameter. The parameter for the GetUserListCount method is described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

Output. This method returns an integer. If the method is successful, the value is the
number of non-deleted users in the system. If there is a failure, the API issues an
exception.

Note: For sample code relating to the GetUserListCount method, see


GetUserListCount Sample.

Chapter 2: Classes and Methods 49


RSA Archer eGRC Platform Web Services API Guide

GetUserListPaginated
The GetUserListPaginated method returns a list of all users in the system and
allows you to specify the page size and desired page to be returned, thereby
reducing the number of users returned per call.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetUserListPaginated method are described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

pageSize Integer Number of users to return on each page.

Page Integer Page of the user list that you want to return.

Note: Page numbering begins with 1.

Output. This method returns a string. If the method is successful, the value is an
XML string that contains the ID, name, role, status, security parameter, and
"logged on" indicator for the users on the specified page of results. If there is a
failure, the API issues an exception.

Note: For sample code relating to the GetUserListPaginated method, see


GetUserListPaginated Sample.

LookupDomainUserByFirstName
The LookupDomainUserByFirstName method returns an XML structure containing
users with a specified first name.

Note: This query attaches a wildcard to the end of the keyword, so "Chris" returns
both Christy and Chris.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the LookupDomainUserByFirstName method are
described in the following table.

50 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

keyword String Provides the name or first part of a name to search for.

userDomain String Name of the domain to which the users and groups belong.

Output. This method returns a string. If the method is successful, the value is an
XML string that contains the properties of each user whose first name meets the
search criteria. If there is a failure, the API issues an exception.

Note: For sample code relating to the LookupDomainUserByFirstName method, see


LookupDomainUserByFirstName Sample.

LookupDomainUserByLastName
The LookupDomainUserByLastName method returns a list of users with the
specified last name.

Note: This query attaches a wildcard to the end of the keyword, so "John" returns
both Johnson and Johnston.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the LookupDomainUserByLastName method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

keyword String Provides the name or first part of a name to search for.

userDomain String Name of the domain to which the users and groups belong.

Output. This method returns a string. If the method was successful, the value is an
XML string that contains the properties of each user whose last name meets the
search criteria. If there is a failure, the API issues an exception.

Note: For sample code relating to the LookupDomainUserByLastName method, see


LookupDomainUserByLastName Sample.

Chapter 2: Classes and Methods 51


RSA Archer eGRC Platform Web Services API Guide

LookupDomainUserId
The LookupDomainUserId method returns a user’s ID from the system.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the LookupDomainUserId method are described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

username String Provides the user name of the user as returned by the acces-
scontrol.
LookupUserName method.

userDomain String Name of the domain to which the users and groups belong.

Output. This method returns an integer. If the method is successful, the value is the
corresponding user ID. If there is a failure, the API issues an exception.

Note: For sample code relating to the LookupDomainUserId method, see


LookupDomainUserId Sample.

LookupEveryoneGroup
The LookupEveryoneGroup method returns the groupId of the Everyone group.

Usage
Privileges. This method requires Read privileges.
Parameter. The parameter for the LookupEveryoneGroup method is described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

Output. This method returns an integer. If the method is successful, the value is the
ID of the Everyone group. If there is a failure, the API issues an exception.

52 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Note: For sample code relating to the LookupEveryoneGroup method, see


LookupEveryoneGroup Sample.

LookupGroup
The LookupGroup method returns the XML structure of the specified group in the
system.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the LookupGroup method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

keyword String An exact match of the group name as returned by the


accesscontrol.GetGroup method.

Note: The keyword must be an exact match of the full name,


not just a fragment.

Output. This method returns a string. If the method is successful, the value is an
XML string of the group. If there is a failure, the API issues an exception.

Note: If there is not a group with the name provided in the keyword attribute, an
empty Groups element is returned.

Note: For sample code relating to the LookupGroup method, see LookupGroup
Sample.

LookupUserByFirstName
The LookupUserByFirstName method returns an XML structure containing users
with the specified first name.

Note: This query attaches a wildcard to the end of the keyword, so "Chris" returns
both Christy and Chris.

Usage
Privileges. This method requires Read privileges.

Chapter 2: Classes and Methods 53


RSA Archer eGRC Platform Web Services API Guide

Parameters. The parameters for the LookupUserByFirstName method are


described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

keyword String Name or first part of a name to search for.

Output. This method returns a string. If the method is successful, the value is an
XML string that contains the properties of each user whose first name meets the
search criteria. If there is a failure, the API issues an exception.

Note: For sample code relating to the LookupUserByFirstName method, see


LookupUserByFirstName Sample.

LookupUserByLastName
The LookupUserByLastName method returns a list of users with the specified last
name.

Note: This query attaches a wildcard to the end of the keyword, so "John" returns
both Johnson and Johnston.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the LookupUserByLastName method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

keyword String Name or first part of a name to search for.

Output. This method returns a string. If the method is successful, the value is an
XML string that contains the properties of each user whose last name meets the
search criteria. If there is a failure, the API issues an exception.

Note: For sample code relating to the LookupUserByLastName method, see


LookupUserByLastName Sample.

54 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

LookupUserId
The LookupUserId method returns a user's ID from the system.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the LookupUserId method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

userName String Provides the user name of the user as returned by the acces-
scontrol.LookupUserName method.

Output. This method returns an integer. If the method is successful, the value is the
corresponding user ID. If there is a failure, the API issues an exception.

Note: For sample code relating to the LookupUserId method, see LookupUserId
Sample.

LookupUserName
The LookupUserName method returns a user's user name from the system.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the LookupUserName method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

userId Integer Internal ID of the user as returned by the acces-


scontrol.LookupUserId method.

Output. This method returns a string. If the method is successful, the value is the
corresponding user name. If there is a failure, the API issues an exception.

Chapter 2: Classes and Methods 55


RSA Archer eGRC Platform Web Services API Guide

Note: For sample code relating to the LookupUserName method, see


LookupUserName Sample.

RemoveChildFromGroup
The RemoveChildFromGroup method removes the parent-child relationship
between two groups.

Usage
Privileges. This method requires Delete privileges.
Parameters. The parameters for the RemoveChildFromGroup method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

childGroupId Integer Internal ID of the child group returned by the acces-


scontrol.LookupGroup method.

parentGroupId Integer Internal ID of the parent group as contained in the results of


the accesscontrol.
LookupGroup method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the RemoveChildFromGroup method, see


RemoveChildFromGroup Sample.

RemoveUserFromGroup
The RemoveUserFromGroup method removes a user from the specified group.

Usage
Privileges. This method requires Delete privileges.
Parameters. The parameters for the RemoveUserFromGroup method are described
in the following table.

56 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

userId Integer Internal ID of the user returned by the acces-


scontrol.LookupUserId method.

groupId Integer Internal ID of the group as contained in the results of the


accesscontrol.
LookupGroup method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the RemoveUserFromGroup method, see


RemoveUserFromGroup Sample.

RemoveUserFromRole
The RemoveUserFromRole method removes a user from a specific access role.

Usage
Privileges. This method requires Delete privileges.
Parameters. The parameters for the RemoveUserFromRole method are described
in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

userId Integer Internal ID of the user returned by the acces-


scontrol.LookupUserId method.

roleId Integer Internal ID of the access role from which the user should be
removed as contained in the results of the accessrole.GetRoles
method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the RemoveUserFromRole method, see


RemoveUserFromRole Sample.

Chapter 2: Classes and Methods 57


RSA Archer eGRC Platform Web Services API Guide

SetUserDefaultEmail
The SetUserDefaultEmail method modifies a user's default email and creates one
when necessary.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the SetUserDefaultEmail method are described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

userId Integer Internal ID of the user returned by the acces-


scontrol.LookupUserId method.

email_ String Email address that you want to set as the default.
address

Output. This method returns an integer. If the method is successful, the returned
value is an integer. If there is a failure, the API issues an exception.

Note: For sample code relating to the SetUserDefaultEmail method, see


SetUserDefaultEmail Sample.

UpdateContactInfo
The UpdateContactInfo method overwrites existing contact information, such as
email addresses and phone numbers, with updated information on a user's account
record.
Before invoking this method, obtain your system's contact type IDs and contact
subtype IDs using the following methods:
l accesscontrol.GetContactTypes
l accesscontrol.GetContactSubTypes

Important: These IDs are required for the ContactInfo parameter.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateContactInfo method are described in
the following table.

58 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

userId Integer Internal ID of the user returned by the acces-


scontrol.LookupUserId method.

contactInfo String String that provides the following:


l The contact type ID for the contact type that you want to
add as returned by the accesscontrol.GetContactTypes
method.
l The contact subtype ID for the contact type that you want
to add as returned by the accesscontrol.GetContactSubTypes
method.
l The value to add for the contact type, either the e-mail
address or phone number.
l A true or false indicator that determines whether the contact
value should be the default for the user's account. (This is
only applicable if you are adding an email address.)

The following is a sample string for this parameter:


<ContactInfo>
<ContactTypeId>7</ContactTypeId>
<ContactSubTypeId>3</ContactSubTypeId>
<ContactInfo>jmiller@company-
name.com</ContactInfo>
<ContactDefault>false
</ContactDefault>
</ContactInfo>
In this example, the contact type ID of 7 indicates that the
value is an email address. The contact subtype ID of 3 indicates
that it is a home email address. The contact default flag of false
indicates that the e-mail address is not the default address for
the user account.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the UpdateContactInfo method, see


UpdateContactInfo Sample.

Chapter 2: Classes and Methods 59


RSA Archer eGRC Platform Web Services API Guide

UpdateDomainUser
The UpdateDomainUser method allows you to modify the following account
properties for a user:
l First, middle, and last name
l Company name
l Title
l Security parameter
l Address
l Time zone

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateDomainUser method are described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

userId String Internal ID of the user as returned by the acces-


sontrol.LookupUserId method.

firstName String User first name.

middleName String User middle name.

lastName String User last name.

companyName String User organization or company.

title String User job title or function.

securityParameter Integer Internal ID of the corresponding security parameter as con-


tained in the results of the acces-
scontrol.GetSecurityParameters method.

address String User location mailing address.

60 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

timeZone Integer Important: This parameter is disabled, but an integer must


still be passed in the method. RSA recommends using 0.

Important: To set the time zone in version 5.x, use the


accesscontrol.CreateUserEx or accesscontrol.UpdateUserEx
methods.

usersDomain String Name of the domain to which the users and groups belong.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the UpdateDomainUser method, see


UpdateDomainUser Sample.

UpdateExtendedSecurityParameter
The UpdateExtendedSecurityParameter method allows you to modify an existing
security parameter. This method differs from the UpdateSecurityParameter method
in that it includes the Uppercase Characters Required, Lowercase Characters
Required, and Special Characters Required parameters.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the CreateExtendedSecurityParameter method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

securityParameterId Integer Internal ID of the security parameter returned in


the xcomp_sec_prm_id element after calling
accesscontrol.GetSecurityParameters.

name String Name of the security parameter.

description String Description of the security parameter.

Chapter 2: Classes and Methods 61


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

minPasswordLength Integer Minimum number of characters required in the


password.

MinPasswordCharacters Integer Minimum number of alpha characters required


in the password.

minPasswordNumerals Integer Minimum number of numeric characters


required in the password.

passwordLifetime Integer Length of time in days that a password is valid.

graceLogins Integer Maximum number of grace logons allowed after


a password's lifetime has expired.

maxRetries Integer Maximum number of times a user can unsuc-


cessfully attempt to log on to the system before
the account is put into a locked state.

lockDuration Integer Duration that a user's account remains in a


locked state after surpassing the maximum
number of retries.

lockIntervalType Integer Unit of measure for the lockDuration element.

Note: 1 = Hours, 2 = Minutes, and 4 = Days.

sessionTimeout Integer Duration of inactivity after which a user's


session times out.

Note: The unit of measure is set in the


timeoutIntervalType element.

passwordHistoryCheckDepth Integer Number of previous passwords to keep track of


and to restrict the reuse of.

expiratonNotice Integer Number of days before a password's expiration


that a warning is displayed.

62 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

accountTimeout Integer Number of days after which an account's status


automatically is changed to inactive.

Note: 0 = none or never automatically


deactivates.

timeoutIntervalType Integer Unit of measure for the sessionTimeout element.

Note: 1 = Hours, 2 = Minutes, and 4 = Days.

minUppercaseCharacters Integer Number of uppercase characters that must be


contained in a user's password.

minLowercaseCharacters Integer Number of lowercase characters that must be


contained in a user's password.

minSpecialCharacters Integer Number of special characters that must be con-


tained in a user's password. Special characters
can include:

`~!@#$%^&*()_+-={}|:"<>?[]
\;’,./

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the UpdateExtendedSecurityParameter method,


see UpdateExtendedSecurityParameter Sample.

UpdateGroup
The UpdateGroup method modifies the textual name of a group in the system.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateGroup method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

Chapter 2: Classes and Methods 63


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

groupId Integer Internal ID of the group as contained in the results of the


accesscontrol.
LookupGroup method.

groupName String New group name.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the UpdateGroup method, see UpdateGroup
Sample.

UpdateSecurityParameter
The UpdateSecurityParameter method allows you to modify an existing security
parameter.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateSecurityParameter method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the


general.CreateUserSession method.

securityParameterId Integer Internal ID of the security parameter returned in


the xcomp_sec_prm_id element after calling
accesscontrol.GetSecurityParameters.

name String Name of the security parameter.

Description String Description of the security parameter.

minPasswordLength Integer Minimum number of characters required in the


password.

MinPasswordCharacters Integer Minimum number of alpha characters required


in the password.

64 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

minPasswordNumerals Integer Minimum number of numeric characters


required in the password.

passwordLifetime Integer Length of time in days that a password is valid.

graceLogins Integer Maximum number of grace logons allowed after


a password's lifetime has expired.

maxRetries Integer Maximum number of times a user can


unsuccessfully attempt to log on to the system
before the account is put into a locked state.

lockDuration Integer Duration that a user's account remains in a


locked state after surpassing the maximum
number of retries.

lockIntervalType Integer Unit of measure for the lockDuration element.

Note: 1 = Hours, 2 = Minutes, and 4 = Days.

sessionTimeout Integer Duration of inactivity after which a user's


session times out. The unit of measure is set in
the timeoutIntervalType method.

passwordHistoryCheckDepth Integer Number of previous passwords to keep track of


and to restrict the reuse of.

expiratonNotice Integer Number of days before a password's expiration


that a warning is displayed.

accountTimeout Integer Number of days after which an account's status


automatically is changed to inactive.

Note: 0 = none or never automatically


deactivates.

timeoutIntervalType Integer Unit of measure for the sessionTimeout element.

Note: 1 = Hours, 2 = Minutes, and 4 = Days.

Output. This method returns an integer. If the method was successful, the value is
1. If there is a failure, the API issues an exception.

Chapter 2: Classes and Methods 65


RSA Archer eGRC Platform Web Services API Guide

Note: For sample code relating to the UpdateSecurityParameter method, see


UpdateSecurityParameter Sample.

UpdateUser
Important: This method is Deprecated and may be removed in a future release.
Starting with version 5.x, use the record.UpdateUserEX method instead. Update
any legacy content you may have to ensure continued compatibility.

UpdateUserAccountStatus
The UpdateUserAccountStatus method modifies the status of a user's account.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateUserAccountStatus method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

userId Integer Internal ID of the user as returned by the acces-


scontrol.LookupUserId method.

accountStatus Integer Integer that sets the account status.

Note: 1 = Active, 2 = Inactive, and 3 = Locked.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the UpdateUserAccountStatus method, see


UpdateUserAccountStatus Sample.

UpdateUserEx
The UpdateUserEx method replaces the UpdateUser and UpdateDomainUser
methods used in version 4.x. UpdateUserEx allows you to modify the following
account properties for a user:
l First, middle, and last name
l Company name

66 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

l Title
l Security parameter
l Address
l Time zone
l Locale

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateUserEx method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

userId Integer Internal ID of the user as returned by the acces-


scontrol.LookupUserId method.

firstName String User first name.

middleName String User middle name.

lastName String User last name.

companyName String User organization or company.

title String User job title or function.

securityParameter Integer Internal ID of the corresponding Security Parameter as con-


tained in the results of the acces-
scontrol.GetSecurityParameters method.

address String User location or mailing address.

userDomain String User domain.

Note: If this value is NULL or empty, the system replaces


the current value with NULL.

Chapter 2: Classes and Methods 67


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

timeZone String User time zone. Use the .NET time zone ID property.

Note: If this value is NULL or empty, the system uses the


server default of the instance. For more information
supported time zones, see Supported Time Zones.

locale String User locale. Use the .NET CultureInfo name property, for
example, en-US.

Note: If this value is NULL or empty, the system deletes


the current value and uses the server default of the instance.
For more information on supported locales, see Supported
Locales.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the UpdateUserEX method, see UpdateUserEx
Sample.

UpdateUserName
The UpdateUserName method sets the user's user name to the specified value.

Note: The provided user name must be available for use-- that is, the
accesscontrol.DoesUserExist method must return false.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateUserName method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

userId Integer Internal ID of the user as returned by the acces-


scontrol.LookupUserId method.

userName String User name.

68 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Output. This method returns an integer. If the method is successful, the value is 1
and if no change was made, the value is 0. If there is a failure, the API issues an
exception.

Note: For sample code relating to the UpdateUserName method, see


UpdateUserName Sample.

UpdateUserNote
The UpdateUserNote method overwrites the text value in a user's Additional Notes
field with the provided value.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateUserNote method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

userId Integer Internal ID of the user as returned by the acces-


scontrol.LookupUserId method.

note String Text for the Additional Notes field.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the UpdateUserNote method, see


UpdateUserNote Sample.

UseDaylightSavings
Important: This method is Disabled. No replacement currently exists.

Access Role Class


The Access Role methods provide programmatic access to options relating to
managing access roles. The Access Role class includes the following methods:
l CreateRole
l DeleteRole

Chapter 2: Classes and Methods 69


RSA Archer eGRC Platform Web Services API Guide

l GetRole
l GetRoleDependencies
l GetRolePagePermissions
l GetRolePagePermissionsForModule
l GetRoles
l UpdateRole
l UpdateRolePagePermissions
l UpdateRolePagePermissions2

CreateRole
The CreateRole method creates an access role in the system.

Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateRole method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

roleName String Role name.

roleDesc String Role description.

defaultFlag Boolean Indicates if the role is the default role.

requiredFlag Boolean Indicates if members of the role can view all records in the
applications for which they have at least Read access rights.

Output. This method returns an integer. If the method is successful, the value is the
role ID. If there is a failure, the API issues an exception.

Note: For sample code relating to the CreateRole method, see CreateRole Sample.

DeleteRole
The DeleteRole method deletes an access role in the system.

Usage
Privileges. This method requires Delete privileges.

70 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Parameters. The parameters for the DeleteRole method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

roleId Integer Internal ID of the role to be deleted.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the DeleteRole method, see DeleteRole Sample.

GetRole
The GetRole method retrieves an access role in the system.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetRole method are described in the following
table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

roleId Integer Internal ID of the role to be deleted.

Output. This method returns a string. The value is an XML string containing the
role ID, company ID, role name, role description, required flag, and default flag. If
there is a failure, the API issues an exception.

Note: For sample code relating to the GetRole method, see GetRole Sample.

GetRoleDependencies
The GetRoleDependencies method retrieves all the dependencies for the specified
role. The dependencies are the users and groups that are assigned the access role.

Usage
Privileges. This method requires Read privileges.

Chapter 2: Classes and Methods 71


RSA Archer eGRC Platform Web Services API Guide

Parameters. The parameters for the GetRoleDependencies method are described


in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

roleId Integer Internal ID of the role for which to return the dependencies.

Output. This method returns a string. The value is an XML string containing all of
the access role dependencies (users and groups) in the system. If there is a failure,
the API issues an exception.

Note: For sample code relating to the GetRoleDependencies method, see


GetRoleDependencies Sample.

GetRolePagePermissions
The GetRolePagePermissions method retrieves all the page permissions (Create,
Read, Write, and Delete) for the specified role.

Note: Write permissions in the output for this method correspond with Update
permissions in the system.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetRolePagePermissions method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

roleId Integer Internal ID of the role for which to return the dependencies.

Output. This method returns a string. The value is an XML string containing all of
the access role page permissions in the system. The page permissions contain the
application ID, application name, page ID, page name, page number, page type,
page class, and Create/Read/Write/Delete access role page permissions. If there is
a failure, the API issues an exception.

72 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Note: For sample code relating to the GetRolePagePermissions method, see


GetRolePagePermissions Sample.

GetRolePagePermissionsForModule
The GetRolePagePermissionsForModule method retrieves all of the page
permissions (Read, Write, and Delete) for the specified role and application.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetRolePagePermissionsForModule method
are described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

roleId Integer Internal ID of the role for which to return the dependencies.

moduleId Integer Internal ID of the application for which to return the role
page permissions.

Output. This method returns a string. The value is an XML string containing all of
the access role page permissions in the system for the specified application. The
page permissions contains the application ID, application name, page ID, page
name, page number, page type, page class, and Create/Read/Update/Delete access
role page permissions. If there is a failure, the API issues an exception.

Note: For sample code relating to the GetRolePagePermissionsForModule method,


see GetRolePagePermissionForModule Sample.

GetRoles
The GetRoles method retrieves all of the access roles in the system.

Usage
Privileges. This method requires Read privileges.
Parameter. The parameter for the GetRoles method is described in the following
table.

Chapter 2: Classes and Methods 73


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

Output. This method returns a string. The value is an XML string containing all of
the access roles in the system. Each access role contains the role ID, company ID,
role name, role description, required flag, and default flag. If there is a failure, the
API issues an exception.

Note: For sample code relating to the GetRoles method, see GetRoles Sample.

UpdateRole
The UpdateRole method updates an access role in the system.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateRole method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

roleId Integer Internal ID of the role to update.

moduleId Integer Internal ID of the application for which to return the role page
permissions.

roleName String New role name.

roleDesc String New role description.

defaultFlag Boolean Indicates if the role is the default role.

requiredFlag Boolean Indicates if members of the role can view all records in the
applications for which they have at least Read access rights.

Output. This method returns an integer. If the method was successful, the value is
1. If there is a failure, the API issues an exception.

Note: For sample code relating to the UpdateRole method, see UpdateRole Sample.

74 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

UpdateRolePagePermissions
Note: This method is Deprecated. Use the UpdateRolePagePermissions2 method
instead.

UpdateRolePagePermissions2
The UpdateRolePagePermissions2 method updates the page permissions (Create,
Read, Update, and Delete) for the specified role and page.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateRolePagePermissions2 method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

roleId Integer Internal ID of the role for which to update the page per-
missions.

pageId Integer Internal ID of the page for which to update the page per-
missions.

create Boolean Create page permission.

read Boolean Read page permission.

update Boolean Update page permission.

delete Boolean Delete page permission.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the UpdateRolePagePermissions2 method, see


UpdateRolePagePermissions2 Sample.

Chapter 2: Classes and Methods 75


RSA Archer eGRC Platform Web Services API Guide

Field Class
The Field methods allow you to manage and configure the values lists used in the
applications, questionnaires, and sub-forms. The Field Class includes these
methods:
l CreateChildValuesListItemWithNumericValue
l CreateValuesListItemWithNumericValue
l CreateValuesListValue
l CreateValuesListValueChild
l DeleteValuesListValue
l GetFieldIdByGUID
l GetValueListByParent
l GetValueListForField
l GetValuesList
l GetValuesListItem
l GetValuesListValue
l GetValuesListValueIdByGUID
l LookupListValue
l UpdateValuesListItemWithNumericValue
l UpdateValuesListNumericValueToNull
l UpdateValuesListValue

CreateChildValuesListItemWithNumericValue
Important: This method is Disabled. No replacement currently exists.

CreateValuesListItemWithNumericValue
The CreateValuesListItemWithNumericValue method creates a values list item
with an associated numeric value. For example, you could create the value "High"
with a numeric value of 10 using this method.

Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateValuesListItemWithNumericValue
method are described in the following table.

76 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

valuesListId Integer Integer Internal ID of the specific values list for which
you want to create a value as included in the
results of the field.GetValueListForField
method.

valuesListItemName String Value to add.

valuesListItemNumericValue Decimal Numeric value to associate with the values list


item.

Note: For instructions on determining the ID of the values list, see Determine
System IDs.

Output. This method returns an integer. If the method was successful, the value is
1. If there is a failure, the API issues an exception.

Note: For sample code relating to the CreateValuesListItemWithNumericValue


method, see CreateValuesListItemWithNumericValue Sample.

CreateValuesListValue
The CreateValuesListValue method creates a values list item within the specified
valuesListId.

Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateValuesListValue method are described
in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

valuesListId Integer Integer Internal ID of the specific values list for which you want
to create a value as included in the results of the
field.GetValueListForField method.

valuesListItemName String Value to add.

Chapter 2: Classes and Methods 77


RSA Archer eGRC Platform Web Services API Guide

For instructions on determining the ID of the values list, see Determine System IDs.
Output. This method returns an integer. The value is the ID of the values list item
in the system. If there is a failure, the API issues an exception.

Note: For sample code relating to the AddUserToGroup method, see


AddUserToGroup Sample.

CreateValuesListValueChild
Important: This method is Disabled. No replacement currently exists.

DeleteValuesListValue
The DeleteValuesListValue method removes the specified values list item.

Important: Delete any child values before deleting a parent value.

Usage
Privileges. This method requires Delete privileges.
Parameters. The parameters for the DeleteValuesListValue method are described
in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

valuesListId Integer Internal ID of the specific values list that you want to
delete as included in the results of the field.Ge-
tValueListForField method.

valuesListValueId Integer Internal ID of the specific values list value that you want
to delete as returned by the field.LookupListValue method.

For instructions on determining the ID of the values list, see Determine System IDs.
Output. This method returns an integer. The value is 1 if the method was
successful. The API issues an exception if there is a failure.

Note: For sample code relating to the DeleteValuesListValue method, see


DeleteValuesListValue Sample.

GetFieldIdByGUID
The GetFieldIDByGUID method returns the Field ID of the field associated with
the specified GUID.

78 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetFieldIDByGUID method are described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

GUID String GUID for the desired field.

Note: This value can be found by reviewing the


Application Field Detail report within the RSA Archer
eGRC Platform and copying the GUID for the desired
field.

valuesListValueId Integer Internal ID of the specific values list value you want to
delete as returned by the field.LookupListValue method.

Output. This method returns an integer. If the method was successful, the value is
the ID of the field associated with the GUID. If there is a failure, the API issues an
exception.

Note: For sample code relating to the GetFieldIdByGUID method, see


GetFieldIdByGUID Sample.

GetValueListByParent
Important: This method is Disabled. No replacement currently exists.

Usage

GetValueListForField
The GetValueListForField returns the values list for the specified field.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetValueListForField method are described in
the following table.

Chapter 2: Classes and Methods 79


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

fieldId Integer Internal ID of the Values List field.

Note: The ID of a field can be determined by reviewing the


Application Detail Report from within Application Builder or
by invoking the record.GetRecordById method and reviewing
the mappings.

Output. This method returns a string. The value is an XML string containing all
available values list items (ID, Value, and Description) in the values list. Second-
level items are nested within the first-level SelectDefValue element. If there is a
failure, the API issues an exception.

Note: For sample code relating to the GetValueListForField method, see


GetValueListForField Sample.

GetValuesList
The GetValuesList method returns the first level of values for the specified values
list.

Note: If using a two-level values list, second-level values cannot be returned. They
can be discovered with the field.GetValueListByParent method.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetValuesList method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

valuesListId Integer Internal ID of the specific values list you want to retrieve as
included in the results of the field.GetValueListForField
method.

For instructions on determining the ID of the values list, see Determine System IDs.

80 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Output. This method returns a string. The value is an XML string containing all of
the top-level items (ID, Value, and Description) in the values list. If there is a
failure, the API issues an exception.

Note: For sample code relating to the GetValuesList method, see GetValuesList
Sample.

GetValuesListIdByGUID
The GetValuesListIdByGUID method returns the values list ID of the global values
list associated with the specified GUID.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetValuesListIdByGUID method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

GUID String The GUID for the desired values list.

Note: This value can be found by reviewing the Manage Global


Values Lists page for the desired global values list and copying
the GUID.

Output. This method returns an integer. If the method is successful, the value is the
ID of the global values list associated with the GUID. If there is a failure, the API
issues an exception.

Note: For sample code relating to the GetValuesListIdByGUID method, see


GetValuesListValueIdByGUID Sample.

GetValuesListItem
The GetValuesListItem method retrieves the properties of the specified
valuesListValueId, including the value name, description, numeric value, default
setting, and text color.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetValuesListItem method are described in
the following table.

Chapter 2: Classes and Methods 81


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

valuesListValueId Integer Internal ID of the specific values list value, as returned by


the field.LookupListValue method.

Output. This method returns a string. If the method is successful, the value
represents the XML structure of the values list properties. If there is a failure, the
API issues an exception.

Note: For sample code relating to the GetValuesListItem method, see


GetValuesListItem Sample.

GetValuesListValue
The GetValuesListValue method retrieves the text value of the specified
valuesListValueId.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetValuesListValue method are described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

valuesListValueId Integer Internal ID of the specific values list value, as returned by


the field.LookupListValue method, whose text value you
want to retrieve.

Output. This method returns a string. If the method is successful, the value
represents the text value of the values list item. If there is a failure, the API issues
an exception.

Note: For sample code relating to the GetValuesListValue method, see


GetValuesListValue Sample.

82 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

GetValuesListValueIdByGUID
The GetValuesListValueIDByGUID method returns the ID of the values list value
associated with the specified GUID.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetValuesListValueIDByGUID method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

GUID String The GUID for the desired values list value.

Output. This method returns an integer. If the method is successful, the value is the
ID of the values list value associated with the GUID. If there is a failure, the API
issues an exception.

Note: For sample code relating to the GetValuesListValueIdByGUID method, see


GetValuesListValueIdByGUID Sample.

LookupListValue
The LookupListValue method returns the ID of the values list item containing the
search string.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the LookupListValue method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

fieldId Integer Internal ID of the field using the values list you want to query.

Chapter 2: Classes and Methods 83


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

keyword String An exact match of the group name as returned by the


accesscontrol.GetGroup method.

Note: The keyword must be an exact match of the full name,


not just a fragment.

Note: The ID of a field can be determined by reviewing the Application Detail


Report from within the Application Builder, or by invoking record.GetRecordById
and reviewing the mappings.

Output. This method returns an integer. The value is the ID of the values list item
in the system. If there is a failure, the API issues an exception.

Note: For sample code relating to the LookupListValue method, see


LookupListValue Sample.

UpdateValuesListItemWithNumericValue
The UpdateValuesListItemWithNumericValue method enables you to update the
text value and numeric value of a values list item. It also enables you to associate a
numeric value with a values list item that does not currently have an assigned
numeric value.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateValuesListItemWithNumericValue
method are described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

valuesListItemId Integer Internal ID of the specific values list value


that you want to modify as returned by the
field.LookupListValue method.

valuesListItemNumericValue Decimal Numeric value that you want to associate with


the values list item.

Note: This can be a positive, negative, or


decimal value.

84 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the UpdateValuesListItemWithNumericValue


method, see UpdateValuesListItemWithNumericValue Sample.

UpdateValuesListNumericValueToNull
The UpdateValuesListNumericValueToNull method sets the numeric value
associated with the specified valuesListValueID to null.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateValuesListNumericValueToNull
method are described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

valuesListItemId Integer Internal ID of the specific values list value that you want to
modify as returned by the field.LookupListValue method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the UpdateValuesListNumericValuesToNull


method, see UpdateValuesListNumericValueToNull Sample.

UpdateValuesListValue
The UpdateValuesListValue method modifies the text value of the specified
valuesListValueId.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateValuesListValue method are described
in the following table.

Chapter 2: Classes and Methods 85


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

valuesListValueId Integer Internal ID of the specific values list value that you
want to modify as returned by the
field.LookupListValue method.

valuesListValueName String Value that you want to assign the specified values list
value.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the UpdateValuesListValue method, see


UpdateValuesListValue Sample.

General Class
The General methods allow you to create and terminate user sessions for using the
API. The General Class includes these methods:
l CreateDomainUserSession
l CreateDomainUserSessionFromInstance
l CreateUserSession
l CreateUserSessionFromInstance
l TerminateSession

CreateDomainUserSession
Important: As of version 5.x, this method is Disabled. Use the
general.CreateDomainUserSessionFromInstance method and provide an instance
name. Update any legacy content that you have to ensure continued compatibility.

CreateDomainUserSessionFromInstance
The CreateDomainUserSessionFromInstance method creates a session using the
specified credentials.

Usage
Privileges. This method requires Read privileges.

86 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Parameters. The parameters for the CreateDomainUserSessionFromInstance


method are described in the following table.

Parameter Data Type Value

username String Name of the instance where the session should be created.

instanceName String Company identification number.

password String User’s password

usersDomain String Name of the domain to which the users and groups
belong.

Output. This method returns a string. If the method is successful, the value is a 32-
character alphanumeric sessionToken. If there is a failure, the API issues an
exception.

Note: For sample code relating to the CreateDomainUserSessionFromInstance


method, see CreateDomainUserSessionFromInstance Sample.

CreateUserSession
Important: As of version 5.x, this method is Disabled. Use the
general.CreateUserSessionFromInstance method and provide an instance name.
Update any legacy content that you have to ensure continued compatibility.

CreateUserSessionFromInstance
The CreateUserSessionFromInstance method creates a session using the specified
credentials.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the CreateUserSessionFromInstance method are
described in the following table.

Data
Parameter Value
Type

userName String Valid user name to log on with that has permissions to the
appropriate API pages.

instanceName String Name of the instance in which the session should be created.

password String User password.

Chapter 2: Classes and Methods 87


RSA Archer eGRC Platform Web Services API Guide

Note: The sessionToken parameter is required for all other methods.

Output. This method returns a string. If the method is successful, the value is a 32-
character alphanumeric sessionToken. If there is a failure, the API issues an
exception.

Note: For sample code relating to the CreateUserSessionFromInstance method, see


CreateUserSessionFromInstance Sample.

TerminateSession
The TerminateSession method expires the specified session.

Usage
Privileges. This method requires Delete privileges.
Parameter. The parameter for the TerminateSession method is described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Important: For backwards compatibility with version 4.x, do not terminate a


sysadmin session.

Note: For sample code relating to the TerminateSession method, see


TerminateSession Sample.

Module Class
The Module class provides programmatic access to module information.
The Module class includes the GetModuleIdByGUID method.

GetModuleIdByGUID
The GetModuleIdByGUID method retrieves the ID for an application (module) in
the system.

Usage
Privileges. This method requires Read privileges.

88 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Parameters. The parameters for the GetModuleIdByGUID method are described


in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

instanceId String ID of the instance that contains the application that you want to
export. You can find this instance ID in the Control Panel.

GUID String ID of the instance that contains the application that you want to
export. You can find this instance ID in the Control Panel.

Output. This method returns an integer, which is the assigned ID for the
application to which the GUID belongs. If there is a failure, the API issues an
exception.

Note: For sample code relating to the GetModuleIdByGUID method, see


GetModuleIdByGUID Sample.

Record Class
The Record methods allow you to manipulate content records in content
applications. The Record Class includes these methods:
l BindContentToChildLevelContent
l BindContentToParentLevelContent
l CreateCMSTEntry
l CreateQuestionnaireRecord
l CreateRecord
l CreateRecords
l CreateSubformRecord
l DeleteAllRecords
l DeleteRecord
l GetAccessHistory
l GetChildRecordIds
l GetParentRecordIds
l GetRecordById
l UnbindContentFromChildLevelContent

Chapter 2: Classes and Methods 89


RSA Archer eGRC Platform Web Services API Guide

l UnbindContentFromParentLevelContent
l UpdateRecord
l UpdateRecords

BindContentToChildLevelContent
Important: This method is Disabled. Use the record.UpdateRecord method instead.

BindContentToParentLevelContent
Important: This method is Disabled. Use the record.UpdateRecord method instead.

CreateCMSTEntry
The CreateCMSTEntry method assigns a value to a relationship between two
records.

Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateCMSTEntry method are described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

contentId Integer Internal ID of a record within the source application (that is,
the application in which the CAST field was defined), as
returned by the search.ExecuteSearch method.

fieldId Integer Internal ID of the CAST field within the source application
(that is, the application in which the CAST field was defined).
You can obtain the field ID from the Application Detail Report
in Application Builder. Field IDs are also provided in the
results of the GetRecordById method.

parentId Integer Internal ID of the content record in the related application (that
is, the application that was specified when configuring the
CAST field in the source application), as returned by the
search.ExecuteSearch method.

valueId Integer Internal ID of the specific values list value that you want to
modify, as returned by the field.LookupListValue method.

90 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

comments String Notes regarding the assignment of the above value.

Note: The contentId and parentId parameters must have a relationship as defined by
the Cross-Application Status Tracking field's configuration in Application Builder.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the CreateCMSTEntry method, see


CreateCMSTEntry Sample.

CreateQuestionnaireRecord
The CreateQuestionnaireRecord method creates a new questionnaire record within
the specified questionnaire populating only the target cross-reference field.

Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateQuestionnaireRecord method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

questionnairModuleId Integer Internal ID of the questionnaire as specified in the


Application Builder Questionnaire Detail Report.

targetContentId Integer Internal ID of the target record within the specified


target application as returned by the
search.ExecuteSearch method.

Output. This method returns an integer. If the method is successful, the value is the
content ID of the newly created questionnaire record. If there is a failure, the API
issues an exception.

Note: For sample code relating to the CreateQuestionnaireRecord method, see


CreateQuestionnaireRecord Sample.

CreateRecord
The CreateRecord method creates a record using the specified values.

Chapter 2: Classes and Methods 91


RSA Archer eGRC Platform Web Services API Guide

Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateRecord method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

moduleId Integer Internal ID of an application as specified in the Application


Builder Application Detail Report.

fieldValues String XML structure of the fields and values to add.

Note: For details about constructing this string, see XML


Formatting Guidelines for Field Input.

Output. This method returns an integer. If the method is successful, the value is the
content ID of the newly created record. If there is a failure, the API issues an
exception.

Note: For sample code relating to the CreateRecord method, see CreateRecord
Sample.

CreateRecords
The CreateRecords method enables the bulk creation of records in an application.
When adding contact records, this method adds the user record when the User
Account is selected and the user has rights to manage users.

Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateRecords method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

92 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

moduleId Integer Internal ID of an application as specified in the Application


Builder Application Detail Report.

contentRecords String XML structure of the records to add.

Note: For details about constructing this string, see XML


Formatting Guidelines for Field Input.

Output. This method returns a string. If the method is successful, the string
contains an XML list of the content IDs for the newly created records. If there is a
failure, the API issues an exception.

Important: If invalid data is supplied, no record is created. In this case, the output is
the originally supplied data.

Note: For sample code relating to the CreateRecords method, see CreateRecords
Sample.

CreateSubformRecord
The CreateSubformRecord method creates a sub-form record using the specified
values. When saving the sub-form, this method can set the parent record as part of
the sub-form record created.

Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateSubformRecord method are described
in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

subformModuleId Integer Internal ID of the sub-form as specified in the Application


Builder Sub-Form Detail Report.

subformFieldID Integer Internal ID of the Sub-Form field as specified in the


Application Builder Application Detail Report.

Chapter 2: Classes and Methods 93


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

fieldValues String XML structure of the fields and values to add.

Note: For details about constructing this string, see XML


Formatting Guidelines for Field Input.

Output. This method returns an integer. If the method is successful, the value is the
content ID of the newly created sub-form record. If there is a failure, the API
issues an exception.

Note: For sample code relating to the CreateSubformRecord method, see


CreateSubformRecord Sample.

DeleteAllRecords
Important: This method is Disabled. No replacement currently exists.

DeleteRecord
The DeleteRecord method removes the specified record from the system. When
deleting a contact record, this method also deletes the associated user record.

Note: The DeleteRecord method does not archive records, but instead removes
them from the RSA Archer eGRC Platform.

Usage
Privileges. This method requires Delete privileges.
Parameters. The parameters for the DeleteRecord method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

moduleId Integer Internal ID of an application as specified in the Application


Builder Application Detail Report.

contentId Integer Internal ID of a record within the specified application as


returned by the search.ExecuteSearch method.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

94 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Note: For sample code relating to the DeleteRecord method, see DeleteRecord
Sample.

GetAccessHistory
The GetAccessHistory method returns access history data for a specific record in a
specified application.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetAccessHistory method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

contentId Integer Internal ID of a record within the specified application as


returned by the search.ExecuteSearch method.

Output. This method returns a string. If the method is successful, the value is an
XML string that contains access history data for the specific record. If there is a
failure, the API issues an exception.

Note: For sample code relating to the GetAccessHistory method, see


GetAccessHistory Sample.

GetChildRecordIds
The GetChildRecordIds method retrieves a list of records related to the given top-
level contentId by a locked cross-reference that is bound to the second level.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetChildRecordIds method are described in
the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

Chapter 2: Classes and Methods 95


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

moduleId Integer Internal ID of a parent-level record as returned by the search.E-


xecuteSearch method.

contentId Integer Internal ID of a parent-level record as returned by the


search.ExecuteSearch method.

Output. This method returns a string. The value is an XML string containing a list
of IDs.

Note: For sample code relating to the GetChildRecordIds method, see


GetChildRecordIds Sample.

GetParentRecordIds
Important: This method is Disabled. Use the record.GetRecordById method
instead.

GetRecordById
The GetRecordById method returns all details of the specified record. The search
filters are based on the specified option setting: System ID or Application ID.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetRecordByID method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

moduleId Integer Internal ID of an application as specified in the Application


Builder Application Detail Report.

contentId Integer Internal ID of a record within the specified application as


returned by the search.ExecuteSearch method.

Output. This method returns a string. If the method is successful, the value is the
XML structure of the requested record. If there is a failure, the API issues an
exception.

96 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

For details about the returned XML string, see XML Formatting Guidelines for
Field Results.

Note: For sample code relating to the GetRecordById method, see GetRecordById
Sample.

UnbindContentFromChildLevelContent
Important: This method is Disabled. Use the record.UpdateRecord method instead.

UnbindContentFromParentLevelContent
Important: This method is Disabled. Use the record.UpdateRecord method instead.

UpdateRecord
The UpdateRecord method modifies the specified record.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateRecord method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

moduleId Integer ID of an application as specified in the Application Builder


Application Detail Report.

contentId Integer ID of a record within the specified application as returned by


the search.ExecuteSearch method.

fieldValues String XML string of the fields and values to modify.

Note: For details about constructing this string, see XML


Formatting Guidelines for Field Input.

Output. This method returns an integer. If the method is successful, the value is 1.
If there is a failure, the API issues an exception.

Note: For sample code relating to the UpdateRecord method, see UpdateRecord
Sample.

Chapter 2: Classes and Methods 97


RSA Archer eGRC Platform Web Services API Guide

UpdateRecords
The UpdateRecords method enables the bulk update of records in an application.

Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateRecords method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

moduleId Integer ID of an application as specified in the Application Builder


Application Detail Report.

contentRecords String XML structure of the records to modify.

Note: For details about constructing this string, see XML


Formatting Guidelines for Field Input.

Output. This method returns an XML string indicating the records that failed to
update.

Note: For sample code relating to the UpdateRecords method, see UpdateRecords
Sample.

Search Class
The Search methods allow programmatic access to the Platform’s search features.
The Search Class includes these methods:
l CheckSearchStatus
l CheckSearchStatusByPageSize
l ExecuteQuickSearchWithModuleIds
l ExecuteQuickSearchWithSolutionId
l ExecuteSearch
l ExecuteStatisticSearch
l GetReports
l RetrieveSearchResultsPage

98 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

l RetrieveSearchResultsPageByPageSize
l SearchRecords
l SearchRecordsByField
l SearchRecordsByReport

CheckSearchStatus
Important: This method is Deprecated and may be removed in a future release.
Starting with version 5.3, this method always returns "100%". To ensure continued
compatibility, update your legacy code to use the search.ExecuteSearch method.

CheckSearchStatusByPageSize
Important: This method is Deprecated and may be removed in a future release.
Starting with version 5.3, this method always returns "100%". To ensure continued
compatibility, update your legacy code to use the search.ExecuteSearch method.

ExecuteQuickSearchWithModuleIds
The ExecuteQuickSearchWithModuleIds method executes a keyword search on the
specified applications or questionnaires.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the ExecuteQuickSearchWithModuleIds method
are described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

moduleIds String Internal IDs of the applications or questionnaires that you want
to query.

keywords String Search keywords as you would enter them if searching in the
application or questionnaire.

pageNumber Integer Integer of the page (1,2,3,…,n) of search results to return.

pageSize Integer Number of records to display per page of search results.

Chapter 2: Classes and Methods 99


RSA Archer eGRC Platform Web Services API Guide

Output. This method returns a string. The value is an XML string containing the
fields of records in the specified applications or questionnaires matching the
specific keywords.

Note: For sample code relating to the ExecuteQuickSearchWithModuleIds method,


see ExecuteQuickSearchWithModuleIds Sample.

ExecuteQuickSearchWithSolutionId
The ExecuteQuickSearchWithSolutionId method executes a keyword search on the
specified solution.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the ExecuteQuickSearchWithSolutiond method
are described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

solutionId Integer Internal ID of the solution that you want to query.

keywords String Search keywords as you would enter them if searching in the
solution.

pageNumber Integer Integer of the page (1,2,3,…,n) of search results to return.

pageSize Integer Number of records to display per page of search results.

Output. This method returns a string. The value is an XML string containing the
fields of records in the specified solution matching the specific keywords.

Note: For sample code relating to the ExecuteQuickSearchWithSolutionId method,


see ExecuteQuickSearchWithSolutionId Sample.

ExecuteSearch
Important: This is a new method in version 5.x. To take advantage of advanced
search features available in version 5.0 and later, use this method instead of the
legacy method, search.SearchRecords.

The ExecuteSearch method executes a search according to custom criteria.

100 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the ExecuteSearch method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

searchOptions String XML string that provides the search criteria.

Note: For details about constructing this string, see XML


Formatting Guidelines for 5.x Search Input.

pageNumber Integer Integer of the page (1,2,3,...,n) of search results to return.

Output. This method returns a string. The value is an XML string containing the
fields of records matching the search criteria.

Note: For sample code relating to the ExecuteSearch method, see ExecuteSearch
Sample.

ExecuteStatisticSearch
Note: This is a new method in version 5.x.

The ExecuteStatisticSearch method executes a statistics search according to custom


criteria.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the ExecuteStatisticSearch method are described
in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

Chapter 2: Classes and Methods 101


RSA Archer eGRC Platform Web Services API Guide

Data
Parameter Value
Type

searchOptions String XML string that provides the search criteria.

Note: For details about constructing this string, see XML


Formatting Guidelines for 5.x Search Input.

pageNumber Integer Integer of the page (1,2,3,...,n) of search results to return.

Output. This method returns a string. The value is an XML string containing the
fields of records matching the statistics search criteria.

Note: For sample code relating to the ExecuteStatisticsSearch method, see


ExecuteStatisticSearch Sample.

ExecuteStatisticSearchByReport
The ExecuteStatisticSearchByReport method executes a statistics search according
to custom criteria.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the ExecuteStatisticSearchByReport method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

reportIdOrGuid String Internal ID or GUID of the report whose records you want
to query.

pageNumber Integer Integer of the page (1,2,3,...,n) of search results to return.

Output. This method returns a string. The value is an XML string containing the
fields of records matching the statistics search criteria.

GetReports
The GetReports method returns all reports and their associated report GUIDs that
the user making the API call has permissions to.

102 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetReports method are described in the
following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

Output. This method returns a string. The value is an XML string containing the
information from the reports and their corresponding GUIDs.

Note: For sample code relating to the GetReports method, see GetReports Sample.

RetrieveSearchResultsPage
The RetrieveSearchResultsPage method retrieves a page of results for the specified
search. Each page of results contains 20 records. To specify a different number of
records to return per page, use the search.RetrieveSearchResultsPageByPageSize
method instead. The search filters are based on the specified option setting: System
ID or Application ID.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the RetrieveSearchResultsPage method are
described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

searchId Integer Internal ID of the search you want to query as returned by the
search.SearchRecords method.

pageId Integer Integer of the page (1,2,3,...,n) of search results to bring back as
returned by the search.SearchRecords method.

Output. This method returns a string. The value is an XML string containing the
fields of records matching the search criteria.

Chapter 2: Classes and Methods 103


RSA Archer eGRC Platform Web Services API Guide

Note: For sample code relating to the RetrieveSearchResultsPage method, see


RetrieveSearchResultsPage Sample.

RetrieveSearchResultsPageByPageSize
The RetrieveSearchResultsPageByPageSize method retrieves a page of results for
the specified search and allows you to specify the number of records to display per
page. The search filters are based on the specified option setting: System ID or
Application ID.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the RetrieveSearchResultsPageByPageSize
method are described in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the general.CreateUserSession


method.

searchId Integer Internal ID of the search that you want to query as returned
by the search.SearchRecords method.

pageId Integer Integer of the page (1,2,3,...,n) of search results to bring back
as returned by the search.SearchRecords method.

recordsPerPage Integer Number of records to display per page of search results.

Output. This method returns a string. The value is an XML string containing the
fields of records matching the search criteria.

Note: For sample code relating to the RetrieveSearchResultsPageByPageSize


method, see RetrieveSearchResultsPageByPageSize Sample.

SearchRecords
Important: This method is Deprecated and may be removed in a future release.
Starting with version 5.0, use the method search.ExecuteSearch instead. Update any
legacy content that you have to ensure continued compatibility.

SearchRecordsByField
Important: This method is Disabled. No replacement currently exists.

104 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

SearchRecordsByReport
The SearchRecordsByReport method executes a search of records according to the
specified report ID or report GUID.

Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the SearchRecordsByReport method are described
in the following table.

Data
Parameter Value
Type

sessionToken String Valid sessionToken returned by the gen-


eral.CreateUserSession method.

reportIdOrGuid String Internal ID or GUID of the report whose records you want
to query.

pageNumber Integer Integer of the page (1,2,3,…,n) of search results to return.

Output. This method returns a string. The value is an XML string containing the
fields of records matching the report ID or GUID.

Note: For sample code relating to the SearchRecordsByReport method, see


SearchRecordsByReport Sample.

Technology Class
Important: The methods of the Technology class have been Disabled. The
functionality of the Technology class methods have been merged into other
methods. Update any legacy content you may have to ensure continued
compatibility. See the following table for replacement methods.

Disabled Method Replacement Method

AssociateToVendor UpdateRecord

CreateTechnology CreateRecord

CreateTechnologyVersion CreateRecord

DeleteTechnology DeleteRecord

Chapter 2: Classes and Methods 105


RSA Archer eGRC Platform Web Services API Guide

Disabled Method Replacement Method

DeleteTechnologyVersion DeleteRecord

DeleteVendor DeleteRecord

DisassociateFromVendor UpdateRecord

GetTechnology GetRecordById

GetTechnologyVersion GetRecordById

LookupTechnology ExecuteSearch

LookupTechnologyVersion ExecuteSearch

LookupVendorByName ExecuteSearch

UpdateTechnology UpdateRecord

UpdateTechnologyVersion UpdateRecord

UpdateVendor UpdateRecord

AssociateToVendor
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use record.BindContentToParentLevelContent going forward.”

CreateTechnology
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use record.CreateRecord going forward.”

CreateTechnologyVersion
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use record.CreateRecord going forward.”

106 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

CreateVendor
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use record.CreateRecord going forward.”

DeleteTechnology
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use record.DeleteRecord going forward.”

DeleteTechnologyVersion
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use record.DeleteRecord going forward.”

DeleteVendor
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use record.DeleteRecord going forward.”

DisassociateFromVendor
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use record.UnbindContentFromParentLevelContent going
forward.”

GetTechnology
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use record.GetRecordById going forward.”

GetTechnologyVersion
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use record.GetRecordById going forward.”

Chapter 2: Classes and Methods 107


RSA Archer eGRC Platform Web Services API Guide

LookupTechnology
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use search.SearchRecords going forward.”

LookupTechnologyVersion
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use search.SearchRecords going forward.”

LookupVendorByName
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use search.SearchRecords going forward.”

UpdateTechnology
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use record.UpdateRecord going forward.”

UpdateTechnologyVersion
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use record.UpdateRecord going forward.”

UpdateVendor
Important: This method is Disabled and mapped to another method. Starting with
version 5.x, when the method is called, the following exception message is
displayed, “Please use record.UpdateRecord going forward.”

Deprecated and Disabled Methods


As of version 5.x, the RSA Archer eGRC Platform uses the following terminology
when referring to methods that are, or will be, phased out of usage:
l Deprecated - This method still works, but may be removed in a future release.
To ensure continued compatibility, any legacy content should be updated with the
replacement method.

108 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

l Disabled - This method no longer works and has been removed. Replacement
methods may exist. To ensure continued compatibility, any legacy content should
be updated with the replacement method.

The following methods are Deprecated or Disabled as of version 5.x.

Deprecated Methods

Deprecated Method Replacement Method

SearchRecords ExecuteSearch

CheckSearchStatus This method now always returns "100".


No replacement currently exists.

CheckSearchStatusByPageSize This method now always returns "100".


No replacement currently exists.

CreateUser CreateUserEx

UpdateUser UpdateUserEx

UpdateRolePagePermissions UpdateRolePagePermissions2

Disabled Methods

Disabled Method Replacement Method

AssociateToVendor UpdateRecord

BindContentToChildLevelContent UpdateRecord

BindContentToParentLevelContent UpdateRecord

Create- No replacement currently exists.


ChildValuesListItemWithNumericValue

CreateDomainUserSession Creat-
eDomainUserSessionFromInstance

CreateTechnology CreateRecord

CreateTechnologyVersion CreateRecord

CreateUserSession CreateUserSessionFromInstance

Chapter 2: Classes and Methods 109


RSA Archer eGRC Platform Web Services API Guide

Disabled Method Replacement Method

CreateValuesListValueChild No replacement currently exists.

CreateVendor CreateRecord

DeleteAllRecords No replacement currently exists.

DeleteTechnology DeleteRecord

DeleteTechnologyVersion DeleteRecord

DeleteVendor DeleteRecord

DisassociateFromVendor UpdateRecord

GetParentRecordIds GetRecordById

GetTechnology GetRecordById

GetTechnologyVersion GetRecordById

GetTimeZones No replacement currently exists. For a


list of supported time zones,
see Supported Time Zones.

GetValueListByParent No replacement currently exists.

LookupTechnology ExecuteSearch

LookupTechnologyVersion ExecuteSearch

LookupVendorByName ExecuteSearch

UnbindContentFromChildLevelContent UpdateRecord

UnbindContentFromParentLevelContent UpdateRecord

UpdateTechnology UpdateRecord

UpdateTechnologyVersion UpdateRecord

UpdateVendor UpdateRecord

UseDaylightSavings No replacement currently exists.

110 Chapter 2: Classes and Methods


RSA Archer eGRC Platform Web Services API Guide

Chapter 3: Sample Use Cases


l Sessions
l Users
l Adding Records
l Searching

Sessions
You can perform the following sample tasks:
l Create a Session
l Terminate a Session

Create a Session
The following C# code sample creates a new session token.
sSessionToken = gen.CreateUserSessionFromInstance(“Username”, “Instance”,
“Password”);

Terminate a Session
The following C# code sample stops a currently running session token.
iReturnCode = gen.TerminateSession(sSessionToken);

Users
You can perform the following sample tasks:
l Create and Update a Basic User

Create and Update a Basic User


The following C# code sample creates a user, changes their username, adds an
email address, adds them to a group, and assigns them a role.
iUserID = access.CreateUserEx(sSessionToken, "First", "Middle", "Last",
"Company", "Title", 2, "Address", "", "Central Standard Time", "en-US");
iReturnCode = access.ForcePasswordChange(sSessionToken, iUserID, false);
iReturnCode = access.ChangePassword(sSessionToken, iUserID,
"NewPassword");
iReturnCode = access.AddUserToRole(sSessionToken, iUserID, 3);
iReturnCode = access.AddUserToGroup(sSessionToken, iUserID, 3);
iReturnCode = access.UpdateUserName(sSessionToken, iUserID, "LoginName");
sXML = "<ContactInfo><ContactTypeId>7</ContactTypeId>
<ContactSubTypeId>2</ContactSubTypeId><ContactInfo>email@rsa.com
</ContactInfo></ContactInfo>";

Chapter 3: Sample Use Cases 111


RSA Archer eGRC Platform Web Services API Guide

iReturnCode = access.AddContactInfo(sSessionToken, iUserID, sXML);

Adding Records
You can perform the following sample tasks:
l Construct Record XML
l Add a New Record
l Update a Record

Construct Record XML


This XML code sample is a generic record.CreateRecord call that creates
several different field types.
<?xml version="1.0" encoding="utf-8" ?>
<Record>
<Field id="9403" value="Random text in a text area" />
<Field id="9407" value="123.21" />
<Field id="9412" value="12/31/1999 1:59PM" />
<Field id="9413" value="Search Engine" link="http://www.goggle.com" />
<Field id="9415" value="191.167.0.255" />
<Field id="9429" value="0054:0230:0253:0511:0747:0066:0034:0023" />
<Field id="9420">
<Users>
<User id="221" />
</Users>
</Field>
<Field id="9421">
<Groups>
<Group id="91" />
<Group id="92" />
</Groups>
</Field>
</Record>

Add a New Record


The following XML code sample adds a new record using various types of fields.
<?xml version="1.0" encoding="utf-8"?>
<Record>
<Field id="9402" value="ABCDEFG 信 息 報 이 ÜФ LMNOP áòëæñü ÃÄÇËÑßÜ" />
<Field id="9403" value="Random text in a text area" />
<Field id="9404" value="Randomer text in a rich text area" />
<Field id="9405" value="áòëZZZæñü" />
<Field id="9406" value="87654321" />
<Field id="9407" value="123.21" />
<Field id="9408" value="4" />
<Field id="9409" value="888" />
<Field id="9410" value="-88" />
<Field id="9411" value="12/21/2012" />

112 Chapter 3: Sample Use Cases


RSA Archer eGRC Platform Web Services API Guide

<Field id="9412" value="12/31/1999 1:59PM" />


<Field id="9413" value="Smirch Engine" link="http://www.goggle.com" />
<Field id="9414" value="Dunk Mail" link="mailto:NoSuch@rsa.com" />
<Field id="9415" value="191.167.0.255" />
<Field id="9416" value="523" />
<Field id="9418" value="1254" />
<Field id="9420">
<Users>
<User id="221" />
</Users>
</Field>
<Field id="9421">
<Groups>
<Group id="91" />
<Group id="92" />
</Groups>
</Field>
<Field id="9422">
<Groups>
<Group id="1" />
</Groups>
</Field>
<Field id="9423" rowId="1253" columnId="728">
<MultiValue rowId="1254" columnId="729"/>
<MultiValue rowId="1255" columnId="730"/>
<MultiValue rowId="1256" columnId="728"/>
</Field>
<Field id="9424" value="107552" />
<Field id="9426" value="392" />
<Field id="9429" value="0054:0230:0253:0511:0747:0066:0034:0023" />
<Field id="9430" value="64:0:594:0:677:46::" />
</Record>

Update a Record
The following XML code sample updates selected records from the Add a New
Record example.
<UpdateRecord>
<Field id="9411" value="10/11/2013" />
<Field id="9412" value="11/14/2003 1:59AM" />
<Field id="9413" value="Besmirch Engine" link="http://www.gogggle.com"
/>
<Field id="9414" value="Dunk Mail 2" link="mailto:NoSuch2@rsa.com" />
<Field id="9415" value="192.168.10.25" />
</UpdateRecord>

Searching
You can perform the following sample tasks:

Chapter 3: Sample Use Cases 113


RSA Archer eGRC Platform Web Services API Guide

l Search For a User


l Search For a Keyword
l Search For a Filter
l Search For Statistics
l Search by Time

Search For a User


The following C# code samples search for a user using the following methods:
accesscontrol.LookupUserName:
sUserName = access.LookupUserName(sSessionToken, 123);
accesscontrol.LookupUserByFirstName:
sUserList = access.LookupUserByFirstName(sSessionToken, "John");
accesscontrol.LookupUserByLastName:
sUserList = access.LookupUserByLastName(sSessionToken, "Smith");

Search For a Keyword


The following XML code sample searches for the word "Windows" in the Policies
core application.
<?xml version="1.0" encoding="utf-8" ?>
<Search>
<Keywords value="Windows" />
<Display>
<Field id="7205" />
<Field id="7226" />
<Field id="7232" />
<Field id="7242" />
</Display>
<KeywordModules>
<Module id="17" />
</KeywordModules>
<PrimarySort id="7205" order="ASC" />
<DisplayFormat value="3" />
</Search>

Search For a Filter

Search for Comments


The following XML code sample searches the available reports for the comments
as set below.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<SearchReport>
<PageSize>100</PageSize>
<DisplayFields>

114 Chapter 3: Sample Use Cases


RSA Archer eGRC Platform Web Services API Guide

<DisplayField>9399</DisplayField>
<DisplayField>9402</DisplayField>
<DisplayField>9403</DisplayField>
<DisplayField>9405</DisplayField>
<DisplayField>9411</DisplayField>
<DisplayField>9413</DisplayField>
</DisplayFields>
<Criteria>
<ModuleCriteria>
<Module>331</Module>
<IsKeywordModule>false</IsKeywordModule>
<SortFields>
<SortField>
<Field>9399</Field>
<SortType>Ascending</SortType>
</SortField>
</SortFields>
</ModuleCriteria>
<Filter>
<Conditions>
<TextFilterCondition>
<Operator>Contains</Operator>
<Field>9402</Field>
<Value>Off-the-wall comment</Value>
</TextFilterCondition>
<TextFilterCondition>
<Operator>Contains</Operator>
<Field>9403</Field>
<Value>123 Lotus</Value>
</TextFilterCondition>
</Conditions>
<OperatorLogic>1 OR 2</OperatorLogic>
</Filter>
</Criteria>
</SearchReport>

Search for Dates


The following XML code sample searches the available reports for the dates as set
below.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<SearchReport>
<PageSize>100</PageSize>
<DisplayFields>
<DisplayField>9399</DisplayField>
<DisplayField>9411</DisplayField>
<DisplayField>9412</DisplayField>
</DisplayFields>
<Criteria>
<ModuleCriteria>
<Module>331</Module>
<IsKeywordModule>false</IsKeywordModule>

Chapter 3: Sample Use Cases 115


RSA Archer eGRC Platform Web Services API Guide

<SortFields>
<SortField>
<Field>9399</Field>
<SortType>Ascending</SortType>
</SortField>
</SortFields>
</ModuleCriteria>
<Filter>
<Conditions>
<DateComparisonFilterCondition>
<Operator>Equals</Operator>
<Field>9411</Field>
<Value>1/1/1980</Value>
</DateComparisonFilterCondition>
<DateComparisonFilterCondition>
<Operator>GreaterThan</Operator>
<Field>9412</Field>
<Value>01/01/2099</Value>
</DateComparisonFilterCondition>
</Conditions>
<OperatorLogic>1 AND 2</OperatorLogic>
</Filter>
</Criteria>
</SearchReport>

Search For Statistics


The following XML code sample performs a simple search: group by one field,
count another.

Sample Input
<?xml version="1.0" encoding="utf-16"?>
<SearchStatisticReport>
<PageSize>5</PageSize>
<Criteria>
<ModuleCriteria>
<Module>89</Module>
</ModuleCriteria>
<Filter>
<Conditions>
<TextFilterCondition>
<Operator>Contains</Operator>
<Field>675</Field>
<Value>GroupByAndCount</Value>
</TextFilterCondition>
</Conditions>
</Filter>
</Criteria>
<StatisticCriteria>

116 Chapter 3: Sample Use Cases


RSA Archer eGRC Platform Web Services API Guide

<StatisticSteps>
<StatisticStep>
<Field>698</Field>
<StepIndex>0</StepIndex>
<Name>Engagement Types</Name>
<StepType>GroupBy</StepType>
</StatisticStep>
<StatisticStep>
<Field>670</Field>
<StepIndex>1</StepIndex>
<Name>Count of Engagements</Name>
<StepType>Count</StepType>
</StatisticStep>
</StatisticSteps>
<SortSteps>
<SortStep>
<StepIndex>1</StepIndex>
<SortType>Descending</SortType>
</SortStep>
<SortStep>
<StepIndex>0</StepIndex>
<SortType>Ascending</SortType>
</SortStep>
</SortSteps>
<IncludeEmptyGroups>true</IncludeEmptyGroups>
</StatisticCriteria>
<ShowStatSummaries>false</ShowStatSummaries>
</SearchStatisticReport>

Sample Output
<?xml version="1.0" encoding="utf-16"?>
<Groups count="16">
<Metadata>
<FieldDefinitions>
<FieldDefinition id="698" name="Engagement Type" alias="Engagement_
Type" />
<FieldDefinition id="670" name="Budgeted Hours" alias="Budgeted_
Hours" />
</FieldDefinitions>
</Metadata>
<Group FieldId="698" Value="Building maintenance">
<Aggregates>
<Aggregate FieldId="670" Count="10" />
</Aggregates>
</Group>
<Group FieldId="698" Value="Human Resources support">
<Aggregates>
<Aggregate FieldId="670" Count="6" />
</Aggregates>
</Group>
<Group FieldId="698" Value="Credit card production">

Chapter 3: Sample Use Cases 117


RSA Archer eGRC Platform Web Services API Guide

<Aggregates>
<Aggregate FieldId="670" Count="4" />
</Aggregates>
</Group>
<Group FieldId="698" Value="Call Center - inbound">
<Aggregates>
<Aggregate FieldId="670" Count="0" />
</Aggregates>
</Group>
<Group FieldId="698" Value="Call Center - outbound">
<Aggregates>
<Aggregate FieldId="670" Count="0" />
</Aggregates>
</Group>
</Groups>

Search by Time
The following three XML code samples utilize the new Time-Based Filters found
in theRSA Archer eGRC Platform version 5.3.

Time Based Filtering - Equals Operator / DateComparisionFilterCondition


<SearchReport>
<PageSize>1000</PageSize>
<MaxRecordCount>1000</MaxRecordCount>
<DisplayFields>
<DisplayField>15116</DisplayField>
<DisplayField>15087</DisplayField>
<DisplayField>14903</DisplayField>
</DisplayFields>
<Criteria>
<ModuleCriteria>
<Module>410</Module>
<IsKeywordModule>False</IsKeywordModule>
<SortFields>
<SortField>
<Field>15116</Field>
<SortType>Ascending</SortType>
</SortField>
</SortFields>
</ModuleCriteria>
<Filter>
<OperatorLogic>1 OR NOT 2</OperatorLogic>
<Conditions>
<DateComparisonFilterCondition>
<Operator>Equals</Operator>
<Field>14903</Field>
<Value>11/1/2011 8:00 PM</Value>
<TimeZoneId>Central Standard Time</TimeZoneId>
<IsTimeIncluded>TRUE</IsTimeIncluded>
</DateComparisonFilterCondition>
<TextFilterCondition>

118 Chapter 3: Sample Use Cases


RSA Archer eGRC Platform Web Services API Guide

<Operator>DoesNotContain</Operator>
<Field>15087</Field>
<Value>RSA</Value>
</TextFilterCondition>
</Conditions>
</Filter>
</Criteria>
</SearchReport>

Time Based Filtering - Between operator / DateRangeFilterCondition


<SearchReport>
<PageSize>1000</PageSize>
<MaxRecordCount>1000</MaxRecordCount>
<DisplayFields>
<DisplayField>15118</DisplayField>
<DisplayField>15089</DisplayField>
<DisplayField>15166</DisplayField>
</DisplayFields>
<Criteria>
<ModuleCriteria>
<Module>412</Module>
<IsKeywordModule>False</IsKeywordModule>
<SortFields>
<SortField>
<Field>15166</Field>
<SortType>Ascending</SortType>
</SortField>
</SortFields>
</ModuleCriteria>
<Filter>
<Conditions>
<DateRangeFilterCondition>
<Operator>Between</Operator>
<Field>15166</Field>
<BeginValue>2/15/2012 1:00 AM</BeginValue>
<EndValue>2/16/2012 10:00 PM</EndValue>
<TimeZoneId>Central Standard Time</TimeZoneId>
<IsTimeIncluded>TRUE</IsTimeIncluded>
</DateRangeFilterCondition>
</Conditions>
</Filter>
</Criteria>
</SearchReport>

Time Based Filtering - Time Interval Operator / DateTimeRangeFilterCondition


<SearchReport>
<PageSize>1000</PageSize>
<MaxRecordCount>1000</MaxRecordCount>
<DisplayFields>
<DisplayField>15122</DisplayField>
<DisplayField>15093</DisplayField>

Chapter 3: Sample Use Cases 119


RSA Archer eGRC Platform Web Services API Guide

<DisplayField>15176</DisplayField>
</DisplayFields>
<Criteria>
<ModuleCriteria>
<Module>414</Module>
<IsKeywordModule>False</IsKeywordModule>
<SortFields>
<SortField>
<Field>15176</Field>
<SortType>Ascending</SortType>
</SortField>
</SortFields>
</ModuleCriteria>
<Filter>
<OperatorLogic>1 AND NOT 2</OperatorLogic>
<Conditions>
<DateTimeRangeFilterCondition>
<Field>15176</Field>
<BeginDate>7/7/2011</BeginDate>
<BeginTime>00:00</BeginTime>
<EndDate>7/14/2011</EndDate>
<EndTime>15:00</EndTime>
<TimeZoneId>Central Standard Time</TimeZoneId>
<IsTimeIncluded>TRUE</IsTimeIncluded>
</DateTimeRangeFilterCondition>
<NumericBetweenFilterCondition>
<Operator>Between</Operator>
<Field>15122</Field>
<BeginValue>894</BeginValue>
<EndValue>896</EndValue>
</NumericBetweenFilterCondition>
</Conditions>
</Filter>
</Criteria>
</SearchReport>

120 Chapter 3: Sample Use Cases


RSA Archer eGRC Platform Web Services API Guide

Appendix A: Method Samples


l Access Control Samples
l Access Role Samples
l Field Samples
l General Samples
l Module Samples
l Record Samples
l Search Samples

Access Control Samples


l AddChildToGroup
l AddContactInfo
l AddUserToGroup
l AddUserToRole
l ChangePassword
l CreateExtendedSecurityParameter
l CreateGroup
l CreateSecurityParameter
l CreateUserEx
l DeleteContactInfo
l DeleteGroup
l DeleteSecurityParameter
l DeleteUser
l DoesUserExist
l ForcePasswordChange
l GetContactSubTypes
l GetContactTypes
l GetGroup
l GetGroupInformation
l GetGroups
l GetSecurityParameterName

Appendix A: Method Samples 121


RSA Archer eGRC Platform Web Services API Guide

l GetSecurityParameters
l GetUser
l GetUserContactInfo
l GetUserDefaultEMail
l GetUserList
l GetUserListCount
l GetUserListPaginated
l LookupEveryoneGroup
l LookupGroup
l LookupUserByFirstName
l LookupUserByLastName
l LookupUserId
l LookupUserName
l RemoveChildFromGroup
l RemoveUserFromGroup
l RemoveUserFromRole
l SetUserDefaultEmail
l UpdateContactInfo
l UpdateExtendedSecurityParameter
l UpdateGroup
l UpdateSecurityParameter
l UpdateUserAccountStatus
l UpdateUserEx
l UpdateUserName
l UpdateUserNote

AddChildToGroup Sample

Sample C# Call
iReturnCode = accesscontrol.AddChildToGroup(sSessionToken, 456, 789);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging

122 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Content-Type: text/xml; charset=utf-8


Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/AddChildToGroup"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AddChildToGroup xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<childGroupId>int</childGroupId>
<parentGroupId>int</parentGroupId>
</AddChildToGroup>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AddChildToGroupResponse xmlns="http://archer-tech.com/webservices/">
<AddChildToGroupResult>int</AddChildToGroupResult>
</AddChildToGroupResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the AddChildToGroup method,


see accesscontrol.AddChildToGroup.

AddContactInfo Sample
Before invoking this method, obtain your system's contact type IDs and contact
subtype IDs using the following methods:
l GetContactTypes
l accesscontrol.GetContactSubTypes

Sample C# Call
iReturnCode = accesscontrol.AddContactInfo(sSessionToken, 123, sXML);

Appendix A: Method Samples 123


RSA Archer eGRC Platform Web Services API Guide

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/AddContactInfo"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AddContactInfo xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<contactInfo>string</contactInfo>
</AddContactInfo>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AddContactInfoResponse xmlns="http://archer-tech.com/webservices/">
<AddContactInfoResult>int</AddContactInfoResult>
</AddContactInfoResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<ContactInfo>
<ContactTypeId>1</ContactTypeId>
<ContactSubTypeId>9</ContactSubTypeId>
<ContactInfo>913-555-1212</ContactInfo>
</ContactInfo>

Note: For descriptions of the parameters relating to the AddContactInfo method, see
accesscontrol.AddContactInfo.

124 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

AddUserToGroup Sample

Sample C# Code
iReturnCode = accesscontrol.AddUserToGroup(sSessionToken, 123, 456);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/AddUserToGroup"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AddUserToGroup xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<groupId>int</groupId>
</AddUserToGroup>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AddUserToGroupResponse xmlns="http://archer-tech.com/webservices/">
<AddUserToGroupResult>int</AddUserToGroupResult>
</AddUserToGroupResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the AddUserToGroup method,


see accesscontrol.AddUserToGroup.

Appendix A: Method Samples 125


RSA Archer eGRC Platform Web Services API Guide

AddUserToRole Sample
Note: Users can have multiple access roles. Permissions are aggregated across all
access roles for a given user. For example, if one role gives a user Read
permissions to a page and another role gives Update permissions to the same page,
the user has both Read and Update permissions.

Sample C# Code
iReturnCode = accesscontrol.AddUserToRole(sSessionToken, 123, 456);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/AddUserToRole"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AddUserToRole xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<roleId>int</roleId>
</AddUserToRole>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AddUserToRoleResponse xmlns="http://archer-tech.com/webservices/">
<AddUserToRoleResult>int</AddUserToRoleResult>
</AddUserToRoleResponse>
</soap:Body>
</soap:Envelope>

126 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Note: For descriptions of the parameters relating to the AddUserToRole method,


see accesscontrol.AddUserToRole.

AddUsersToGroup Sample

Sample C# Code
iReturnCode = accesscontrol.AddUsersToGroup(sSessionToken,
iListIDs.ToArray(), 456);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/AddUserToGroup"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AddUsersToGroup xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userIds>
<int>int</int>
<int>int</int>
<int>int</int>
</userIds>
<groupId>int</groupId>
</AddUsersToGroup>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<AddUsersToGroupResponse xmlns="http://archer-tech.com/webservices/">
<AddUsersToGroupResult>int</AddUsersToGroupResult>
</AddUsersToGroupResponse>
</soap:Body>

Appendix A: Method Samples 127


RSA Archer eGRC Platform Web Services API Guide

</soap:Envelope>

Note: For descriptions of the parameters relating to the AddUsersToGroup method,


see accesscontrol.AddUsersToGroup.

ChangePassword Sample
Note: The provided password must meet the requirements specified in the user's
security parameter.

Sample C# Code
iReturnCode = accesscontrol.ChangePassword(sSessionToken, 123,
“newpassword”);

Sample Request and Response


The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: http://archer-tech.com/webservices/ChangePassword

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ChangePassword xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<password>string</password>
</ChangePassword>
</soap:Body>
</soap:Envelope>

Sample Request and Response


HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ChangePasswordResponse xmlns="http://archer-tech.com/webservices/">
<ChangePasswordResult>int</ChangePasswordResult>
</ChangePasswordResponse>
</soap:Body>

128 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

</soap:Envelope>

Note: For descriptions of the parameters relating to the ChangePassword method,


see accesscontrol.ChangePassword.

CreateDomainUser Sample
Note: A user name is automatically generated and associated with the account. It
can be modified with the accesscontrol.UpdateUserName method.

Sample C# Code
iUserID = accesscontrol.CreateDomainUser(sSessionToken, “firstname”,
“middlename”, “lastname”, “company”, “title”, 2, “address”, 7, “domain”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/CreateDomainUser"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateDomainUser xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<firstName>string</firstName>
<middleName>string</middleName>
<lastName>string</lastName>
<companyName>string</companyName>
<title>string</title>
<securityParameter>int</securityParameter>
<address>string</address>
<timeZone>int</timeZone>
<usersDomain>string</usersDomain>
</CreateDomainUser>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>

Appendix A: Method Samples 129


RSA Archer eGRC Platform Web Services API Guide

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateDomainUserResponse xmlns="http://archer-tech.com/webservices/">
<CreateDomainUserResult>int</CreateDomainUserResult>
</CreateDomainUserResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the CreateDomainUser method,


see accesscontrol.CreateDomainUser.

CreateExtendedSecurityParameter Sample

Sample C# Call
iSecParmID = accesscontrol.CreateExtendedSecurityParameter(sSessionToken,
“secparmname”, “description”, 6, 2, 2, 666, 13, 7, 1, 1, 51, 11, 3, 41, 1,
1, 2, 3);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/CreateExtendedSecurity
Parameter"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateExtendedSecurityParameter xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<name>string</name>
<description>string</description>
<minPasswordLength>int</minPasswordLength>
<minPasswordCharacters>int</minPasswordCharacters>
<minPasswordNumerals>int</minPasswordNumerals>
<passwordLifetime>int</passwordLifetime>
<graceLogins>int</graceLogins>
<maxRetries>int</maxRetries>
<lockDuration>int</lockDuration>
<lockIntervalType>int</lockIntervalType>
<sessionTimeout>int</sessionTimeout>

130 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<passwordHistoryCheckDepth>int</passwordHistoryCheckDepth>
<expirationNotice>int</expirationNotice>
<accountTimeout>int</accountTimeout>
<timeoutIntervalType>int</timeoutIntervalType>
<minUppercaseCharacters>int</minUppercaseCharacters>
<minLowercaseCharacters>int</minLowercaseCharacters>
<minSpecialCharacters>int</minSpecialCharacters>
</CreateExtendedSecurityParameter>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateExtendedSecurityParameterResponse xmlns="http://archer-
tech.com/webservices/">
<CreateExtendedSecurityParameterResult>
int</CreateExtendedSecurityParameterResult>
</CreateExtendedSecurityParameterResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the


CreateExtendedSecurityParameter method, see
accesscontrol.CreateExtendedSecurityParameter.

CreateGroup Sample

Sample C# Call
iGroupID = accesscontrol.CreateGroup(sSessionToken, “groupname”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/CreateGroup"

<?xml version="1.0" encoding="utf-8"?>

Appendix A: Method Samples 131


RSA Archer eGRC Platform Web Services API Guide

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateGroup xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<groupName>string</groupName>
</CreateGroup>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateGroupResponse xmlns="http://archer-tech.com/webservices/">
<CreateGroupResult>int</CreateGroupResult>
</CreateGroupResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the CreateGroup method, see
accesscontrol.CreateGroup.

CreateSecurityParameter Sample

Sample C# Call
iSecParmID = accesscontrol.CreateSecurityParameter(sSessionToken,
“secparmname”, “description”, 6, 2, 2, 666, 13, 7, 1, 1, 51, 11, 3, 41,
1);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/CreateSecurityParameter"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

132 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<soap:Body>
<CreateSecurityParameter xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<name>string</name>
<description>string</description>
<minPasswordLength>int</minPasswordLength>
<minPasswordCharacters>int</minPasswordCharacters>
<minPasswordNumerals>int</minPasswordNumerals>
<passwordLifetime>int</passwordLifetime>
<graceLogins>int</graceLogins>
<maxRetries>int</maxRetries>
<lockDuration>int</lockDuration>
<lockIntervalType>int</lockIntervalType>
<sessionTimeout>int</sessionTimeout>
<passwordHistoryCheckDepth>int</passwordHistoryCheckDepth>
<expirationNotice>int</expirationNotice>
<accountTimeout>int</accountTimeout>
<timeoutIntervalType>int</timeoutIntervalType>
</CreateSecurityParameter>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateSecurityParameterResponse xmlns="http://archer-
tech.com/webservices/">
<CreateSecurityParameterResult>int</CreateSecurityParameterResult>
</CreateSecurityParameterResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the CreateSecurityParameter


method, see accesscontrol.CreateSecurityParameter.

CreateUserEx Sample
Note: This method generates a user name automatically and associates it with the
account. You can modify it with the accesscontrol.UpdateUserName method.

Appendix A: Method Samples 133


RSA Archer eGRC Platform Web Services API Guide

Sample C# Code
iUserID = accesscontrol.CreateUserEx(sSessionToken, “firstname”,
“middlename”, “lastname”, “company”, “title”, 2, “address”, “domain”, "
(GMT-06:00) Central Time (US & Canada)", "en-US");

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/CreateUser"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateUserEx xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<firstName>string</firstName>
<middleName>string</middleName>
<lastName>string</lastName>
<companyName>string</companyName>
<title>string</title>
<securityParameter>int</securityParameter>
<address>string</address>
<timeZone>string</timeZone>
<locale>string</locale>
</CreateUserEx>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateUserExResponse xmlns="http://archer-tech.com/webservices/">
<CreateUserExResult>int</CreateUserExResult>
</CreateUserExResponse>
</soap:Body>
</soap:Envelope>

134 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Note: For descriptions of the parameters relating to the CreateUserEx method, see
accesscontrol.CreateUserEx.

DeleteContactInfo Sample

Sample C# Call
iReturnCode = accesscontrol.DeleteContactInfo(sSessionToken, 123, 456);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/DeleteContactInfo"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteContactInfo xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<contactRecordId>int</contactRecordId>
</DeleteContactInfo>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteContactInfoResponse xmlns="http://archer-
tech.com/webservices/">
<DeleteContactInfoResult>int</DeleteContactInfoResult>
</DeleteContactInfoResponse>
</soap:Body>
</soap:Envelope>

Appendix A: Method Samples 135


RSA Archer eGRC Platform Web Services API Guide

Note: For descriptions of the parameters relating to the DeleteContactInfo method,


see accesscontrol.DeleteContactInfo.

DeleteGroup Sample

Sample C# Call
iReturnCode = accesscontrol.DeleteGroup(sSessionToken, 123);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/DeleteGroup"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteGroup xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<groupId>int</groupId>
</DeleteGroup>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteGroupResponse xmlns="http://archer-tech.com/webservices/">
<DeleteGroupResult>int</DeleteGroupResult>
</DeleteGroupResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the DeleteGroup method, see
accesscontrol.DeleteGroup.

136 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

DeleteSecurityParameter Sample

Sample C# Call
iReturnCode = accesscontrol.DeleteSecurityParameter(sSessionToken, 654);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/DeleteSecurityParameter"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteSecurityParameter xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<securityParameterId>int</securityParameterId>
</DeleteSecurityParameter>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteSecurityParameterResponse xmlns="http://archer-
tech.com/webservices/">
<DeleteSecurityParameterResult>int</DeleteSecurityParameterResult>
</DeleteSecurityParameterResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the DeleteSecurityParameter


method, see accesscontrol.DeleteSecurityParameter.

Appendix A: Method Samples 137


RSA Archer eGRC Platform Web Services API Guide

DeleteUser Sample

Sample C# Call
iReturnCode = accesscontrol.DeleteUser(sSessionToken, 123);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/DeleteUser"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteUser xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
</DeleteUser>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteUserResponse xmlns="http://archer-tech.com/webservices/">
<DeleteUserResult>int</DeleteUserResult>
</DeleteUserResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the DeleteUser method, see
accesscontrol.DeleteUser.

138 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

DoesDomainUserExist Sample

Sample C# Call
bFoundFlag = accesscontrol.DoesDomainUserExist(sSessionToken, “username”,
“domain”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/DoesDomainUserExist"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DoesDomainUserExist xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userName>string</userName>
<usersDomain>string</usersDomain>
</DoesDomainUserExist>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DoesDomainUserExistResponse xmlns="http://archer-
tech.com/webservices/">
<DoesDomainUserExistResult>boolean</DoesDomainUserExistResult>
</DoesDomainUserExistResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the DoesDomainUserExist


method, see accesscontrol.DoesDomainUserExist.

Appendix A: Method Samples 139


RSA Archer eGRC Platform Web Services API Guide

DoesUserExist Sample

Sample C# Code
bFoundFlag = accesscontrol.DoesUserExist(sSessionToken, “username”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/DoesUserExist"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DoesUserExist xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userName>string</userName>
</DoesUserExist>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DoesUserExistResponse xmlns="http://archer-tech.com/webservices/">
<DoesUserExistResult>boolean</DoesUserExistResult>
</DoesUserExistResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the DoesUserExist method, see
accesscontrol.DoesUserExist.

140 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

ForcePasswordChange Sample

Sample C# Code
iReturnCode = accesscontrol.ForcePasswordChange(sSessionToken, 123,
false);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/ForcePasswordChange"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ForcePasswordChange xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<forcePasswordChange>boolean</forcePasswordChange>
</ForcePasswordChange>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ForcePasswordChangeResponse xmlns="http://archer-
tech.com/webservices/">
<ForcePasswordChangeResult>int</ForcePasswordChangeResult>
</ForcePasswordChangeResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the ForcePasswordChange


method, see accesscontrol.ForcePasswordChange.

Appendix A: Method Samples 141


RSA Archer eGRC Platform Web Services API Guide

GetContactSubTypes Sample

Sample C# Call
sContactSubTypes = accesscontrol.GetContactSubTypes(sSessionToken, 1);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: http://archer-tech.com/webservices/GetContactSubTypes

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetContactSubTypes xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<contactTypeId>int</contactTypeId>
</GetContactSubTypes>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetContactSubTypesResponse xmlns="http://archer-
tech.com/webservices/">
<GetContactSubTypesResult>string</GetContactSubTypesResult>
</GetContactSubTypesResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<ContactSubTypes ContactTypeId="7">
<ContactSubType>
<ContactSubTypeId>2</ContactSubTypeId>

142 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<ContactSubTypeDesc>Business</ContactSubTypeDesc>
</ContactSubType>
<ContactSubType>
<ContactSubTypeId>3</ContactSubTypeId>
<ContactSubTypeDesc>Business 2</ContactSubTypeDesc>
</ContactSubType>
<ContactSubType>
<ContactSubTypeId>5</ContactSubTypeId>
<ContactSubTypeDesc>Home</ContactSubTypeDesc>
</ContactSubType>
<ContactSubType>
<ContactSubTypeId>6</ContactSubTypeId>
<ContactSubTypeDesc>Home 2</ContactSubTypeDesc>
</ContactSubType>
<ContactSubType>
<ContactSubTypeId>9</ContactSubTypeId>
<ContactSubTypeDesc>Mobile</ContactSubTypeDesc>
</ContactSubType>
<ContactSubType>
<ContactSubTypeId>10</ContactSubTypeId>
<ContactSubTypeDesc>Mobile 2</ContactSubTypeDesc>
</ContactSubType>
<ContactSubType>
<ContactSubTypeId>14</ContactSubTypeId>
<ContactSubTypeDesc>Pager</ContactSubTypeDesc>
</ContactSubType>
</ContactSubTypes>

Note: For descriptions of the parameters relating to the GetContactSubTypes


method, see accesscontrol.GetContactSubTypes.

GetContactTypes Sample

Sample C# Call
sContactTypes = accesscontrol.GetContactTypes(sSessionToken);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetContactTypes"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

Appendix A: Method Samples 143


RSA Archer eGRC Platform Web Services API Guide

<soap:Body>
<GetContactTypes xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
</GetContactTypes>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetContactTypesResponse xmlns="http://archer-tech.com/webservices/">
<GetContactTypesResult>string</GetContactTypesResult>
</GetContactTypesResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<ContactTypes>
<ContactType>
<ContactTypeId>1</ContactTypeId>
<ContactTypeDescription>Work</ContactTypeDescription>
</ContactType>
<ContactType>
<ContactTypeId>2</ContactTypeId>
<ContactTypeDescription>Home</ContactTypeDescription>
</ContactType>
<ContactType>
<ContactTypeId>3</ContactTypeId>
<ContactTypeDescription>Cell</ContactTypeDescription>
</ContactType>
<ContactType>
<ContactTypeId>7</ContactTypeId>
<ContactTypeDescription>E-mail</ContactTypeDescription>
</ContactType>
<ContactType>
<ContactTypeId>9</ContactTypeId>
<ContactTypeDescription>Phone</ContactTypeDescription>
</ContactType>
</ContactTypes>

Note: For descriptions of the parameters relating to the GetContactTypes method,


see accesscontrol.GetContactTypes.

144 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

GetDomainUserList Sample

Sample C# Code
sUserList = accesscontrol.GetDomainUserList(sSessionToken, “domain”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetDomainUserList"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetDomainUserList xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<usersDomain>string</usersDomain>
</GetDomainUserList>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetDomainUserListResponse xmlns="http://archer-
tech.com/webservices/">
<GetDomainUserListResult>string</GetDomainUserListResult>
</GetDomainUserListResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<Return>
<User>
<row_num>4</row_num>
<ID>11</ID>
<LastName>Jones</LastName>

Appendix A: Method Samples 145


RSA Archer eGRC Platform Web Services API Guide

<FirstName>Renee</FirstName>
<AccountStatus>Active</AccountStatus>
<ParamName>Default Administrative User</ParamName>
<SecurityID>2</SecurityID>
<LoggedIn>false</LoggedIn>
<username>rjones</username>
</User>
<User>
<row_num>8</row_num>
<ID>14</ID>
<LastName>Miller</LastName>
<FirstName>Jake</FirstName>
<AccountStatus>Active</AccountStatus>
<ParamName>General User Parameter</ParamName>
<SecurityID>1</SecurityID>
<LoggedIn>true</LoggedIn>
<username>jmiller</username>
</User>
</Return>

Note: For descriptions of the parameters relating to the GetDomainUserList


method, see accesscontrol.GetDomainUserList.

GetDomainUserListCount Sample

Sample C# Call
iUserCount = accesscontrol.GetDomainUserListCount(sSessionToken,
“domain”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/
GetDomainUserListCount"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetDomainUserListCount xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<usersDomain>string</usersDomain>
</GetDomainUserListCount>
</soap:Body>
</soap:Envelope>

146 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetDomainUserListCountResponse xmlns="http://archer-
tech.com/webservices/">
<GetDomainUserListCountResult>int</GetDomainUserListCountResult>
</GetDomainUserListCountResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the GetDomainUserListCount


method, see accesscontrol.GetDomainUserListCount.

GetDomainUserListPaginated Sample

Sample C# Call
sUserPage = accesscontrol.GetDomainUserListPaginated(sSessionToken, 100,
1, “domain”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-
tech.com/webservices/GetDomainUserListPaginated"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetDomainUserListPaginated xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<pageSize>int</pageSize>
<page>int</page>
<usersDomain>string</usersDomain>
</GetDomainUserListPaginated>
</soap:Body>

Appendix A: Method Samples 147


RSA Archer eGRC Platform Web Services API Guide

</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetDomainUserListPaginatedResponse xmlns="http://archer-
tech.com/webservices/">
<GetDomainUserListPaginatedResult>
string</GetDomainUserListPaginatedResult>
</GetDomainUserListPaginatedResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<Return>
<User>
<row_num>4</row_num>
<ID>11</ID>
<LastName>Jones</LastName>
<FirstName>Renee</FirstName>
<AccountStatus>Active</AccountStatus>
<ParamName>Default Administrative User</ParamName>
<SecurityID>2</SecurityID>
<LoggedIn>false</LoggedIn>
<username>rjones</username>
</User>
<User>
<row_num>8</row_num>
<ID>14</ID>
<LastName>Miller</LastName>
<FirstName>Jake</FirstName>
<AccountStatus>Active</AccountStatus>
<ParamName>General User Parameter</ParamName>
<SecurityID>1</SecurityID>
<LoggedIn>true</LoggedIn>
<username>jmiller</username>
</User>
</Return>

Note: For descriptions of the parameters relating to the


GetDomainUserListPaginated method, see
accesscontrol.GetDomainUserListPaginated.

148 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

GetGroup Sample

Sample C# Call
sGroupName = accesscontrol.GetGroup(sSessionToken, 123);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetGroup"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetGroup xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<groupId>int</groupId>
</GetGroup>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetGroupResponse xmlns="http://archer-tech.com/webservices/">
<GetGroupResult>string</GetGroupResult>
</GetGroupResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the GetGroup method, see
accesscontrol.GetGroup.

Appendix A: Method Samples 149


RSA Archer eGRC Platform Web Services API Guide

GetGroupInformation Sample

Sample C# Call
sGroupInfo = accesscontrol.GetGroupInformation(sSessionToken, iGroupID);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetGroupInformation"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetGroupInformation xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<groupId>int</groupId>
</GetGroupInformation>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetGroupInformationResponse xmlns="http://archer-
tech.com/webservices/">
<GetGroupInformationResult>string</GetGroupInformationResult>
</GetGroupInformationResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<Group>
<Id>1</Id>
<Name>Everyone</Name>
<Description>Everyone</Description>

150 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<Parents></Parents>
<Children><Groups /></Children>
</Group>

Sample Results Showing Child Groups, Parent Groups, and Members


<Group>
<Id>5</Id>
<Name>Group A1</Name>
<Description>This is test group A1</Description>
<Parents>
<Group>
<Id>4</Id>
<Name>Group A</Name>
<Description>This is test group A.</Description>
</Group>
</Parents>
<Children>
<Groups>
<Group>
<Id>8</Id>
<Name>Group A11</Name>
<Description>This is a child of Group A1.</Description>
</Group>
</Groups>
</Children>
<Members>
<Groups>
<Group>
<Id>8</Id>
<Name>Group A11</Name>
</Group>
</Groups>
<Users>
<User>
<Id>1037</Id>
<Name>Jones, Renee</Name>
</User>
<User>
<Id>2</Id>
<Name>Tester1, Tester1</Name>
</User>
</Users>
</Members>
</Group>

Note: For descriptions of the parameters relating to the GetGroupInformation


method, see accesscontrol.GetGroupInformation.

Appendix A: Method Samples 151


RSA Archer eGRC Platform Web Services API Guide

GetGroups Sample

Sample C# Call
sGroups = accesscontrol.GetGroups(sSessionToken);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetGroups"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetGroups xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
</GetGroups>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetGroupsResponse xmlns="http://archer-tech.com/webservices/">
<GetGroupsResult>string</GetGroupsResult>
</GetGroupsResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<Groups>
<Group>
<Id>2</Id>
<Name>Administrators</Name>

152 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<Description>Used to list all individuals that should have


administration level rights in various applications to create reports
and iViews.</Description>
</Group>
<Group>
<Id>1</Id>
<Name>Everyone</Name>
<Description>Everyone.</Description>
</Group>
</Groups>

Note: For descriptions of the parameters relating to the GetGroups method, see
accesscontrol.GetGroups.

GetSecurityParameterName Sample

Sample C# Call
sSecName = accesscontrol.GetSecurityParameterName(sSessionToken, 1);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetSecurityParameterName"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetSecurityParameterName xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<securityParameter>int</securityParameter>
</GetSecurityParameterName>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

Appendix A: Method Samples 153


RSA Archer eGRC Platform Web Services API Guide

<soap:Body>
<GetSecurityParameterNameResponse xmlns="http://archer-
tech.com/webservices/">
<GetSecurityParameterNameResult>
string</GetSecurityParameterNameResult>
</GetSecurityParameterNameResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the GetSecurityParameterName


method, see accesscontrol.GetSecurityParameterName.

GetSecurityParameters Sample

Sample C# Call
sSecurity = accesscontrol.GetSecurityParameters(sSessionToken);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetSecurityParameters"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetSecurityParameters xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
</GetSecurityParameters>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetSecurityParametersResponse xmlns="http://archer-
tech.com/webservices/">

154 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<GetSecurityParametersResult>string</GetSecurityParametersResult>
</GetSecurityParametersResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<SecurityParameters>
<SecurityParameter>
<xcomp_sec_prm_id>2</xcomp_sec_prm_id>
<xcomp_sec_prm_name>Default Administrative User</xcomp_sec_prm_name>
<xcomp_sec_prm_desc>Default Administrative User Security
Parameter</xcomp_sec_prm_desc>
<xcomp_sec_prm_min_pwd_length>8</xcomp_sec_prm_min_pwd_length>
<xcomp_sec_prm_pwd_alpha>4</xcomp_sec_prm_pwd_alpha>
<xcomp_sec_prm_pwd_numeric>3</xcomp_sec_prm_pwd_numeric>
<xcomp_sec_prm_pwd_change_days>90</xcomp_sec_prm_pwd_change_days>
<xcomp_sec_prm_grace_logins>5</xcomp_sec_prm_grace_logins>
<xcomp_sec_prm_max_attempts>3</xcomp_sec_prm_max_attempts>
<xcomp_sec_prm_lock_time>10</xcomp_sec_prm_lock_time>
<lock_time_interval_id>2</lock_time_interval_id>
<xcomp_sec_prm_timeout>60</xcomp_sec_prm_timeout>
<timout_time_interval_id>2</timout_time_interval_id>
<default_parameter>false</default_parameter>
<expiration_notice>0</expiration_notice>
<account_timeout>0</account_timeout>
<lock_timeframe>false</lock_timeframe>
<unlocked_from>1900-01-01T07:00:00.0000000-06:00</unlocked_from>
<unlocked_to>1900-01-01T19:00:00.0000000-06:00</unlocked_to>
<lock_days>false</lock_days>
<locked_day_flags>0</locked_day_flags>
<lock_dates>false</lock_dates>
</SecurityParameter>
</SecurityParameters>

Note: For descriptions of the parameters relating to the GetSecurityParameters


method, see accesscontrol.GetSecurityParameters.

GetUser Sample

Sample C# Code
sUserData = accesscontrol.GetUser(sSessionToken, 123);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetUser"

Appendix A: Method Samples 155


RSA Archer eGRC Platform Web Services API Guide

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUser xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
</GetUser>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserResponse xmlns="http://archer-tech.com/webservices/">
<GetUserResult>string</GetUserResult>
</GetUserResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<user>
<name first="Jake" middle="" last="Miller" />
<company name="" title="Helper" />
<system userName="jmiller" userId="1004" status="1"
securityParameter="5" lastLogin="4/27/2005 4:45:00 PM"
forcePasswordChange="False" />
<timeZone id="7" dst="true" />
<address />
<notes />
<contactItems>
<item id="1270" type="7" value="jmiller@xyzcompany.com" default="true"
/>
</contactItems>
<roles hasOverride="True">
<role id="6" name="Demo * Super Administrator" />
</roles>
<groups>
<group id="4" name="QA" />
</groups>
<subscriptions>
<template id="286" name="New Record Updates" />
</subscriptions>

156 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

</user>

Note: The subscriptions element only appears if there is a value assigned to it.

Note: For descriptions of the parameters relating to the GetUser method, see
accesscontrol.GetUser.

GetUserContactInfo Sample

Sample C# CAll
sUserData = accesscontrol.GetUserContactInfo(sSessionToken, 123);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetUserContactInfo"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserContactInfo xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
</GetUserContactInfo>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserContactInfoResponse xmlns="http://archer-
tech.com/webservices/">
<GetUserContactInfoResult>string</GetUserContactInfoResult>
</GetUserContactInfoResponse>
</soap:Body>
</soap:Envelope>

Appendix A: Method Samples 157


RSA Archer eGRC Platform Web Services API Guide

Sample String in the Response


<ContactInfos>
<ContactInfo>
<ContactTypeId>7</ContactTypeId>
<ContactInfo>jmiller@company-name.com</ContactInfo>
<ContactDefault>true</ContactDefault>
<Id>517535</Id>
<ContactSubTypeId>2</ContactSubTypeId>
<ContactSubTypeDesc>Business</ContactSubTypeDesc>
</ContactInfo>
<ContactInfo>
<ContactTypeId>9</ContactTypeId>
<ContactInfo>555-123-4567</ContactInfo>
<ContactDefault>false</ContactDefault>
<Id>713840</Id>
<ContactSubTypeId>2</ContactSubTypeId>
<ContactSubTypeDesc>Business</ContactSubTypeDesc>
</ContactInfo>
</ContactInfos>

Note: For descriptions of the parameters relating to the GetUserContactInfo


method, see accesscontrol.GetUserContactInfo.

GetUserDefaultEMail Sample
Note: The method may return an empty string if no e-mail address is defined.

Sample C# Call
sEmailGet = accesscontrol.GetUserDefaultEMail(sSessionToken, 123);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetUserDefaultEMail"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserDefaultEMail xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>

158 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

</GetUserDefaultEMail>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserDefaultEMailResponse xmlns="http://archer-
tech.com/webservices/">
<GetUserDefaultEMailResult>string</GetUserDefaultEMailResult>
</GetUserDefaultEMailResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the GetUserDefaultEMail


method, see accesscontrol.GetUserDefaultEMail.

GetUserList Sample

Sample C# Call
sUserData = accesscontrol.GetUserList(sSessionToken, 123);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetUserList"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserList xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
</GetUserList>
</soap:Body>
</soap:Envelope>

Appendix A: Method Samples 159


RSA Archer eGRC Platform Web Services API Guide

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserListResponse xmlns="http://archer-tech.com/webservices/">
<GetUserListResult>string</GetUserListResult>
</GetUserListResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<Return>
<User>
<row_num>4</row_num>
<ID>11</ID>
<LastName>Jones</LastName>
<FirstName>Renee</FirstName>
<AccountStatus>Active</AccountStatus>
<ParamName>Default Administrative User</ParamName>
<SecurityID>2</SecurityID>
<LoggedIn>false</LoggedIn>
<username>rjones</username>
</User>
<User>
<row_num>8</row_num>
<ID>14</ID>
<LastName>Miller</LastName>
<FirstName>Jake</FirstName>
<AccountStatus>Active</AccountStatus>
<ParamName>General User Parameter</ParamName>
<SecurityID>1</SecurityID>
<LoggedIn>true</LoggedIn>
<username>jmiller</username>
</User>
</Return>

Note: For descriptions of the parameters relating to the GetUserList method, see
accesscontrol.GetUserList.

GetUserListCount Sample

Sample C# Call
iUserCount = accesscontrol.GetUserListCount(sSessionToken);

160 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetUserList"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserListCount xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
</GetUserListCount>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserListCountResponse xmlns="http://archer-tech.com/webservices/">
<GetUserListCountResult>int</GetUserListCountResult>
</GetUserListCountResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the GetUserListCount method,


see accesscontrol.GetUserListCount.

GetUserListPaginated Sample

Sample C# Call
sUserPage = accesscontrol.GetUserListPaginated(sSessionToken, 1234, 1);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1

Appendix A: Method Samples 161


RSA Archer eGRC Platform Web Services API Guide

Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetUserList"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserListPaginated xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<pageSize>int</pageSize>
<page>int</page>
</GetUserListPaginated>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetUserListPaginatedResponse xmlns="http://archer-
tech.com/webservices/">
<GetUserListPaginatedResult>string</GetUserListPaginatedResult>
</GetUserListPaginatedResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<Return>
<User>
<row_num>4</row_num>
<ID>11</ID>
<LastName>Jones</LastName>
<FirstName>Renee</FirstName>
<AccountStatus>Active</AccountStatus>
<ParamName>Default Administrative User</ParamName>
<SecurityID>2</SecurityID>
<LoggedIn>false</LoggedIn>
<username>rjones</username>
</User>
<User>
<row_num>8</row_num>
<ID>14</ID>
<LastName>Miller</LastName>

162 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<FirstName>Jake</FirstName>
<AccountStatus>Active</AccountStatus>
<ParamName>General User Parameter</ParamName>
<SecurityID>1</SecurityID>
<LoggedIn>true</LoggedIn>
<username>jmiller</username>
</User>
</Return>

Note: For descriptions of the parameters relating to the GetUserListPaginated


method, see accesscontrol.GetUserListPaginated.

LookupDomainUserByFirstName Sample
Note: This query attaches a wildcard to the end of the keyword, so "Chris" returns
both Christy and Chris.

Sample C# Call
sUserList = accesscontrol.LookupDomainUserByFirstName(sSessionToken,
“firstname”, “domain”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-
tech.com/webservices/LookupDomainUserByFirstName"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupDomainUserByFirstName xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<keyword>string</keyword>
<usersDomain>string</usersDomain>
</LookupDomainUserByFirstName>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

Appendix A: Method Samples 163


RSA Archer eGRC Platform Web Services API Guide

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupDomainUserByFirstNameResponse xmlns="http://archer-
tech.com/webservices/">
<LookupDomainUserByFirstNameResult>
string</LookupDomainUserByFirstNameResult>
</LookupDomainUserByFirstNameResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<Return>
<User>
<row_num>1</row_num>
<ID>3</ID>
<LastName>Miller</LastName>
<FirstName>Jake</FirstName>
<AccountStatus>Active</AccountStatus>
<ParamName>General User Parameter</ParamName>
<SecurityID>1</SecurityID>
<LoggedIn>true</LoggedIn>
<username>jmiller</username>
</User>
</Return>

Note: For descriptions of the parameters relating to the


LookupDomainUserByFirstName method, see
accesscontrol.LookupDomainUserByFirstName.

LookupDomainUserByLastName Sample

Sample C# Call
sUserList = accesscontrol.LookupDomainUserByLastName(sSessionToken,
“lastname”, “domain”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/LookupDomainUserBy
LastName"

<?xml version="1.0" encoding="utf-8"?>

164 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupDomainUserByLastName xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<keyword>string</keyword>
<usersDomain>string</usersDomain>
</LookupDomainUserByLastName>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupDomainUserByLastNameResponse xmlns="http://archer-
tech.com/webservices/">
<LookupDomainUserByLastNameResult>
string</LookupDomainUserByLastNameResult>
</LookupDomainUserByLastNameResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<Return>
<User>
<row_num>1</row_num>
<ID>3</ID>
<LastName>Miller</LastName>
<FirstName>Jake</FirstName>
<AccountStatus>Active</AccountStatus>
<ParamName>General User Parameter</ParamName>
<SecurityID>1</SecurityID>
<LoggedIn>true</LoggedIn>
<username>jmiller</username>
</User>
</Return>

Note: For descriptions of the parameters relating to the


LookupDomainUserByLastName method, see
accesscontrol.LookupDomainUserByLastName.

Appendix A: Method Samples 165


RSA Archer eGRC Platform Web Services API Guide

LookupDomainUserId Sample

Sample C# Code
iUserID = accesscontrol.LookupDomainUserId(sSessionToken, “username”,
“domain”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/LookupDomainUserId"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupDomainUserId xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<username>string</username>
<usersDomain>string</usersDomain>
</LookupDomainUserId>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupDomainUserIdResponse xmlns="http://archer-
tech.com/webservices/">
<LookupDomainUserIdResult>int</LookupDomainUserIdResult>
</LookupDomainUserIdResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the LookupDomainUserId


method, see accesscontrol.LookupDomainUserId.

166 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

LookupEveryoneGroup Sample

Sample C# Call
iGroupID = accesscontrol.LookupEveryoneGroup(sSessionToken);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/LookupEveryoneGroup"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupEveryoneGroup xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
</LookupEveryoneGroup>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupEveryoneGroupResponse xmlns="http://archer-
tech.com/webservices/">
<LookupEveryoneGroupResult>int</LookupEveryoneGroupResult>
</LookupEveryoneGroupResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the LookupEveryoneGroup


method, see accesscontrol.LookupEveryoneGroup.

Appendix A: Method Samples 167


RSA Archer eGRC Platform Web Services API Guide

LookupGroup Sample
Note: If there is not a group with the name provided in the keyword attribute, an
empty Groups element is returned.

Sample C# Code
sGroupData = accesscontrol.LookupGroup(sSessionToken, “groupname”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/LookupGroup"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupGroup xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<keyword>string</keyword>
</LookupGroup>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupGroupResponse xmlns="http://archer-tech.com/webservices/">
<LookupGroupResult>string</LookupGroupResult>
</LookupGroupResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<Groups>

168 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<Group>
<Id>1</Id>
<Name>Everyone</Name>
<Description>Everyone</Description>
</Group>
<Groups>

Note: For descriptions of the parameters relating to the LookupGroup method, see
accesscontrol.LookupGroup.

LookupUserByFirstName Sample
Note: This query attaches a wildcard to the end of the keyword, so "Chris" returns
both Christy and Chris.

Sample C# Call
sUserList = accesscontrol.LookupUserByFirstName(sSessionToken,
“firstname”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/LookupUserByFirstName"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupUserByFirstName xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<keyword>string</keyword>
</LookupUserByFirstName>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

Appendix A: Method Samples 169


RSA Archer eGRC Platform Web Services API Guide

<soap:Body>
<LookupUserByFirstNameResponse xmlns="http://archer-
tech.com/webservices/">
<LookupUserByFirstNameResult>string</LookupUserByFirstNameResult>
</LookupUserByFirstNameResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<Return>
<User>
<row_num>1</row_num>
<ID>3</ID>
<LastName>Miller</LastName>
<FirstName>Jake</FirstName>
<AccountStatus>Active</AccountStatus>
<ParamName>General User Parameter</ParamName>
<SecurityID>1</SecurityID>
<LoggedIn>true</LoggedIn>
<username>jmiller</username>
</User>
</Return>

Note: For descriptions of the parameters relating to the LookupUserByFirstName


method, see accesscontrol.LookupUserByFirstName.

LookupUserByLastName Sample
Note: This query attaches a wildcard to the end of the keyword, so "John" returns
both Johnson and Johnston.

Sample C# Call
sUserList = accesscontrol.LookupUserByLastName(sSessionToken, “lastname”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/LookupUserByLastName"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

170 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<soap:Body>
<LookupUserByLastName xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<keyword>string</keyword>
</LookupUserByLastName>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupUserByLastNameResponse xmlns="http://archer-
tech.com/webservices/">
<LookupUserByLastNameResult>string</LookupUserByLastNameResult>
</LookupUserByLastNameResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<Return>
<User>
<row_num>1</row_num>
<ID>3</ID>
<LastName>Miller</LastName>
<FirstName>Jake</FirstName>
<AccountStatus>Active</AccountStatus>
<ParamName>General User Parameter</ParamName>
<SecurityID>1</SecurityID>
<LoggedIn>true</LoggedIn>
<username>jmiller</username>
</User>
</Return>

Note: For descriptions of the parameters relating to the LookupUserByLastName


method, see accesscontrol.LookupUserByLastName.

LookupUserId Sample

Sample C# Code
iUserID = accesscontrol.LookupUserId(sSessionToken, “username”);

Appendix A: Method Samples 171


RSA Archer eGRC Platform Web Services API Guide

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/LookupUserId"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupUserId xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<username>string</username>
</LookupUserId>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupUserIdResponse xmlns="http://archer-tech.com/webservices/">
<LookupUserIdResult>int</LookupUserIdResult>
</LookupUserIdResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the LookupUserId method, see
accesscontrol.LookupUserId.

LookupUserName Sample

Sample C# Code
sUserName = accesscontrol.LookupUserName(sSessionToken, 123);

172 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/LookupUserName"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupUserName xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
</LookupUserName>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupUserNameResponse xmlns="http://archer-tech.com/webservices/">
<LookupUserNameResult>string</LookupUserNameResult>
</LookupUserNameResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the LookupUserName method,


see accesscontrol.LookupUserName.

RemoveChildFromGroup Sample

Sample C# Call
iReturnCode = accesscontrol.RemoveChildFromGroup(sSessionToken, 456, 789);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1

Appendix A: Method Samples 173


RSA Archer eGRC Platform Web Services API Guide

Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/RemoveChildFromGroup"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RemoveChildFromGroup xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<childGroupId>int</childGroupId>
<parentGroupId>int</parentGroupId>
</RemoveChildFromGroup>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RemoveChildFromGroupResponse xmlns="http://archer-
tech.com/webservices/">
<RemoveChildFromGroupResult>int</RemoveChildFromGroupResult>
</RemoveChildFromGroupResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the RemoveChildFromGroup


method, see accesscontrol.RemoveChildFromGroup.

RemoveUserFromGroup Sample

Sample C# Call
iReturnCode = accesscontrol.RemoveUserFromGroup(sSessionToken, 123, 456);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length

174 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

SOAPAction: "http://archer-tech.com/webservices/RemoveUserFromGroup"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RemoveUserFromGroup xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<groupId>int</groupId>
</RemoveUserFromGroup>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RemoveUserFromGroupResponse xmlns="http://archer-
tech.com/webservices/">
<RemoveUserFromGroupResult>int</RemoveUserFromGroupResult>
</RemoveUserFromGroupResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the RemoveUserFromGroup


method, see accesscontrol.RemoveUserFromGroup.

RemoveUserFromRole Sample

Sample C# Call
iReturnCode = accesscontrol.RemoveUserFromRole(sSessionToken, 123, 456);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/RemoveUserFromRole"

Appendix A: Method Samples 175


RSA Archer eGRC Platform Web Services API Guide

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RemoveUserFromRole xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<roleId>int</roleId>
</RemoveUserFromRole>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RemoveUserFromRoleResponse xmlns="http://archer-
tech.com/webservices/">
<RemoveUserFromRoleResult>int</RemoveUserFromRoleResult>
</RemoveUserFromRoleResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the RemoveUserFromRole


method, see accesscontrol.RemoveUserFromRole.

SetUserDefaultEmail Sample

Sample C# Call
iReturnCode = accesscontrol.SetUserDefaultEmail(sSessionToken, 123,
“me@myplace.com”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/SetUserDefaultEmail"

<?xml version="1.0" encoding="utf-8"?>

176 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<SetUserDefaultEmail xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<email_address>string</email_address>
</SetUserDefaultEmail>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<SetUserDefaultEmailResponse xmlns="http://archer-
tech.com/webservices/">
<SetUserDefaultEmailResult>int</SetUserDefaultEmailResult>
</SetUserDefaultEmailResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the SetUserDefaultEmail


method, see accesscontrol.SetUserDefaultEmail.

UpdateContactInfo Sample
Before invoking this method, obtain your system's contact type IDs and contact
subtype IDs using the following methods:
l accesscontrol.GetContactTypes
l accesscontrol.GetContactSubTypes

Important: These IDs are required for the ContactInfo parameter.

Sample C# Call
iReturnCode = access.UpdateContactInfo(sSessionToken, iUserID, sXML);

Note:
sXML = "<ContactInfo> <Id>" + sContactID +
"</Id><ContactTypeId>7</ContactTypeId>
<ContactSubTypeId>2</ContactSubTypeId> <ContactInfo>no-

Appendix A: Method Samples 177


RSA Archer eGRC Platform Web Services API Guide

reply9@rsa.com</ContactInfo> </ContactInfo>";

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/UpdateContactInfo"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateContactInfo xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<contactInfo>string</contactInfo>
</UpdateContactInfo>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateContactInfoResponse xmlns="http://archer-
tech.com/webservices/">
<UpdateContactInfoResult>int</UpdateContactInfoResult>
</UpdateContactInfoResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the UpdateContactInfo method,


see accesscontrol.UpdateContactInfo.

UpdateDomainUser Sample

Sample C# Call
iReturnCode = access.UpdateDomainUser(sSessionToken, iUserID, "WebAPI",
"zMiddle", "Domain", "zCompany", "zTitle", 2, "zAddress", 7, "archerlab");

178 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/UpdateDomainUser"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateDomainUser xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<firstName>string</firstName>
<middleName>string</middleName>
<lastName>string</lastName>
<companyName>string</companyName>
<title>string</title>
<securityParameter>int</securityParameter>
<address>string</address>
<timeZone>int</timeZone>
<usersDomain>string</usersDomain>
</UpdateDomainUser>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateDomainUserResponse xmlns="http://archer-tech.com/webservices/">
<UpdateDomainUserResult>int</UpdateDomainUserResult>
</UpdateDomainUserResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the UpdateDomainUser method,


see accesscontrol.UpdateDomainUser.

Appendix A: Method Samples 179


RSA Archer eGRC Platform Web Services API Guide

UpdateExtendedSecurityParameter Sample

Sample C# Call
iReturnCode = access.UpdateExtendedSecurityParameter(sSessionToken,
iSecParmID, "WebAPI_Updated", "Descriptive text", 6, 2, 2, 777, 17, 7, 1,
1, 31, 7, 3, 23, 1,1,2,4);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/UpdateExtendedSecurity
Parameter"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateExtendedSecurityParameter xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<securityParameterId>int</securityParameterId>
<name>string</name>
<description>string</description>
<minPasswordLength>int</minPasswordLength>
<minPasswordCharacters>int</minPasswordCharacters>
<minPasswordNumerals>int</minPasswordNumerals>
<passwordLifetime>int</passwordLifetime>
<graceLogins>int</graceLogins>
<maxRetries>int</maxRetries>
<lockDuration>int</lockDuration>
<lockIntervalType>int</lockIntervalType>
<sessionTimeout>int</sessionTimeout>
<passwordHistoryCheckDepth>int</passwordHistoryCheckDepth>
<expirationNotice>int</expirationNotice>
<accountTimeout>int</accountTimeout>
<timeoutIntervalType>int</timeoutIntervalType>
<minUppercaseCharacters>int</minUppercaseCharacters>
<minLowercaseCharacters>int</minLowercaseCharacters>
<minSpecialCharacters>int</minSpecialCharacters>
</UpdateExtendedSecurityParameter>
</soap:Body>
</soap:Envelope>

180 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateExtendedSecurityParameterResponse xmlns="http://archer-
tech.com/webservices/">
<UpdateExtendedSecurityParameterResult>
int</UpdateExtendedSecurityParameterResult>
</UpdateExtendedSecurityParameterResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the


UpdateExtendedSecurityParameter method, see
accesscontrol.UpdateExtendedSecurityParameter.

UpdateGroup Sample

Sample C# Call
iReturnCode = accesscontrol.UpdateGroup(sSessionToken, 456,
“newgroupname”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: http://archer-tech.com/webservices/UpdateGroup

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateGroup xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<groupId>int</groupId>
<groupName>string</groupName>
</UpdateGroup>
</soap:Body>

Appendix A: Method Samples 181


RSA Archer eGRC Platform Web Services API Guide

</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateGroupResponse xmlns="http://archer-tech.com/webservices/">
<UpdateGroupResult>int</UpdateGroupResult>
</UpdateGroupResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the UpdateGroup method, see
accesscontrol.UpdateGroup.

UpdateSecurityParameter Sample

Sample C# Call
iReturnCode = accesscontrol.UpdateSecurityParameter(sSessionToken,
iSecParmID, “newname”, “newdescription”, 6, 2, 2, 777, 17, 7, 1, 1, 31, 7,
3, 23, 1);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/UpdateSecurityParameter"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateSecurityParameter xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<securityParameterId>int</securityParameterId>
<name>string</name>
<description>string</description>
<minPasswordLength>int</minPasswordLength>
<minPasswordCharacters>int</minPasswordCharacters>

182 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<minPasswordNumerals>int</minPasswordNumerals>
<passwordLifetime>int</passwordLifetime>
<graceLogins>int</graceLogins>
<maxRetries>int</maxRetries>
<lockDuration>int</lockDuration>
<lockIntervalType>int</lockIntervalType>
<sessionTimeout>int</sessionTimeout>
<passwordHistoryCheckDepth>int</passwordHistoryCheckDepth>
<expirationNotice>int</expirationNotice>
<accountTimeout>int</accountTimeout>
<timeoutIntervalType>int</timeoutIntervalType>
</UpdateSecurityParameter>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateSecurityParameterResponse xmlns="http://archer-
tech.com/webservices/">
<UpdateSecurityParameterResult>int</UpdateSecurityParameterResult>
</UpdateSecurityParameterResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the UpdateSecurityParameter


method, see accesscontrol.UpdateSecurityParameter.

UpdateUserAccountStatus Sample

Sample C# Call
iReturnCode = accesscontrol.UpdateUserAccountStatus(sSessionToken, 123,
2);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/UpdateUserAccountStatus"

Appendix A: Method Samples 183


RSA Archer eGRC Platform Web Services API Guide

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateUserAccountStatus xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<accountStatus>int</accountStatus>
</UpdateUserAccountStatus>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateUserAccountStatusResponse xmlns="http://archer-
tech.com/webservices/">
<UpdateUserAccountStatusResult>int</UpdateUserAccountStatusResult>
</UpdateUserAccountStatusResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the UpdateUserAccountStatus


method, see accesscontrol.UpdateUserAccountStatus.

UpdateUserEx Sample

Sample C# Code
iReturnCode = access.UpdateUserEx(sSessionToken, iUserID, "WebAPI",
"zMiddle", "Automation", "zCompany", "zTitle", 2, "zAddress", "", "Central
Standard Time", "en-US");

Sample Request and Response


The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/UpdateUser"

184 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateUserEx xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<firstName>string</firstName>
<middleName>string</middleName>
<lastName>string</lastName>
<companyName>string</companyName>
<title>string</title>
<securityParameter>int</securityParameter>
<address>string</address>
<timeZone>string</timeZone>
<locale>string</locale>
</UpdateUserEx>
</soap:Body>
</soap:Envelope>

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateUserExResponse xmlns="http://archer-tech.com/webservices/">
<UpdateUserExResult>int</UpdateUserExResult>
</UpdateUserExResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the UpdateUserEx method, see
accesscontrol.UpdateUserEx.

UpdateUserName Sample
Note: The provided user name must be available for use, that is, the
accesscontrol.DoesUserExist method must return false.

Sample C# Code
iReturnCode = accesscontrol.UpdateUserName(sSessionToken, 123,
“newusername”);

Appendix A: Method Samples 185


RSA Archer eGRC Platform Web Services API Guide

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/UpdateUserName"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateUserName xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<userName>string</userName>
</UpdateUserName>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateUserNameResponse xmlns="http://archer-tech.com/webservices/">
<UpdateUserNameResult>int</UpdateUserNameResult>
</UpdateUserNameResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the UpdateUserName method,


see accesscontrol.UpdateUserName.

UpdateUserNote Sample

Sample C# Call
iReturnCode = accesscontrol.UpdateUserNote(sSessionToken, 123,
“notetext”);

186 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accesscontrol.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/UpdateUserNote"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateUserNote xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<userId>int</userId>
<note>string</note>
</UpdateUserNote>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateUserNoteResponse xmlns="http://archer-tech.com/webservices/">
<UpdateUserNoteResult>int</UpdateUserNoteResult>
</UpdateUserNoteResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the UpdateUserNote method,


see accesscontrol.UpdateUserNote.

Access Role Samples


l CreateRole
l DeleteRole
l GetRole

Appendix A: Method Samples 187


RSA Archer eGRC Platform Web Services API Guide

l GetRoleDependencies
l GetRolePagePermissions
l GetRolePagePermissionsForModule
l GetRoles
l UpdateRole
l UpdateRolePagePermissions2

CreateRole Sample

Sample C# Call
accessrole.CreateRole(sSessionToken, “rolename”, “description”, false,
false);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accessrole.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/CreateRole"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateRole xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<roleName>string</roleName>
<roleDesc>string</roleDesc>
<defaultFlag>boolean</defaultFlag>
<requiredFlag>boolean</requiredFlag>
</CreateRole>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

188 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<soap:Body>
<CreateRoleResponse xmlns="http://archer-tech.com/webservices/">
<CreateRoleResult>int</CreateRoleResult>
</CreateRoleResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the CreateRole method, see
accessrole.CreateRole.

DeleteRole Sample

Sample C# Code
iReturnCode = accessrole.DeleteRole(sSessionToken, 123);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accessrole.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: http://archer-tech.com/webservices/DeleteRole

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteRole xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<roleId>int</roleId>
</DeleteRole>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteRoleResponse xmlns="http://archer-tech.com/webservices/">
<DeleteRoleResult>int</DeleteRoleResult>

Appendix A: Method Samples 189


RSA Archer eGRC Platform Web Services API Guide

</DeleteRoleResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the DeleteRole method, see
accessrole.DeleteRole.

GetRole Sample

Sample C# Call
sRole = accessrole.GetRole(sSessionToken, 123);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accessrole.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetRole"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetRole xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<roleId>int</roleId>
</GetRole>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetRoleResponse xmlns="http://archer-tech.com/webservices/">
<GetRoleResult>string</GetRoleResult>
</GetRoleResponse>
</soap:Body>
</soap:Envelope>

190 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Sample String in the Response


<Role>
<Id>1</Id>
<CompanyId>10000</CompanyId>
<Name>General User</Name>
<Description>The General User role is the default role that is granted
to users of the application. This role will have no right to manage
access to the application, and only minimal self administration
rights.</Description>
<RequiredFlag>False</RequiredFlag>
<DefaultFlag>True</DefaultFlag>
</Role>

Note: For descriptions of the parameters relating to the GetRole method, see
accessrole.GetRole.

GetRoleDependencies Sample

Sample C# Call
sRoleData = accessrole.GetRoleDependencies(sSessionToken, 123);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accessrole.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetRole
Dependencies"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetRoleDependencies xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<roleId>int</roleId>
</GetRoleDependencies>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

Appendix A: Method Samples 191


RSA Archer eGRC Platform Web Services API Guide

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetRoleDependenciesResponse xmlns="http://archer-
tech.com/webservices/">
<GetRoleDependenciesResult>string</GetRoleDependenciesResult>
</GetRoleDependenciesResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<Dependencies>
<Dependency>
<user_id>5</user_id>
<dependency_type>Users</dependency_type>
<dependency>Integration (Integration Integration)</dependency>
</Dependency>
<Dependency>
<user_id>8</user_id>
<dependency_type>Users</dependency_type>
<dependency>rob (Rob Walters)</dependency>
</Dependency>
</Dependencies>

Note: For descriptions of the parameters relating to the GetRoleDependencies


method, see accessrole.GetRoleDependencies.

GetRolePagePermissions Sample

Sample C# Call
sRole = accessrole.GetRolePagePermissions(sSessionToken, 1);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accessrole.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetRolePagePermissions"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

192 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<soap:Body>
<GetRolePagePermissions xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<roleId>int</roleId>
</GetRolePagePermissions>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetRolePagePermissionsResponse xmlns="http://archer-
tech.com/webservices/">
<GetRolePagePermissionsResult>string</GetRolePagePermissionsResult>
</GetRolePagePermissionsResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<PageList>
<Page>
<access_role_id>500</access_role_id>
<module_id>201</module_id>
<module_name>Policies</module_name>
<page_id>2013</page_id>
<page_name>Policies: Content Record</page_name>
<page_num>i2188</page_num>
<page_type_id>2</page_type_id>
<page_type_desc>Action</page_type_desc>
<page_class_id>8</page_class_id>
<page_class_name>View Mode Page</page_class_name>
<is_admin>false</is_admin>
<xpagesaccessroles_create>true</xpagesaccessroles_create>
<xpagesaccessroles_read>true</xpagesaccessroles_read>
<xpagesaccessroles_write>true</xpagesaccessroles_write>
<xpagesaccessroles_delete>false</xpagesaccessroles_delete>
</Page>
</PageList>

Note: For descriptions of the parameters relating to the GetRolePagePermissions


method, see accessrole.GetRolePagePermissions.

Appendix A: Method Samples 193


RSA Archer eGRC Platform Web Services API Guide

GetRolePagePermissionForModule Sample

Sample C# Call
sRole = accessrole.GetRolePagePermissionsForModule(sSessionToken, 1, 17);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accessrole.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-
tech.com/webservices/GetRolePagePermissionsForModule"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetRolePagePermissionsForModule xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<roleId>int</roleId>
<moduleId>int</moduleId>
</GetRolePagePermissionsForModule>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetRolePagePermissionsForModuleResponse xmlns="http://archer-
tech.com/webservices/">
<GetRolePagePermissionsForModuleResult>
string</GetRolePagePermissionsForModuleResult>
</GetRolePagePermissionsForModuleResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<PageList>

194 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<Page>
<access_role_id>500</access_role_id>
<module_id>201</module_id>
<module_name>Policies</module_name>
<page_id>2013</page_id>
<page_name>Policies: Content Record</page_name>
<page_num>i2188</page_num>
<page_type_id>2</page_type_id>
<page_type_desc>Action</page_type_desc>
<page_class_id>8</page_class_id>
<page_class_name>View Mode Page</page_class_name>
<is_admin>false</is_admin>
<xpagesaccessroles_create>true</xpagesaccessroles_write>
<xpagesaccessroles_read>true</xpagesaccessroles_read>
<xpagesaccessroles_update>true</xpagesaccessroles_write>
<xpagesaccessroles_delete>true</xpagesaccessroles_delete>
</Page>
</PageList>

Note: For descriptions of the parameters relating to the


GetRolePagePermissionsForModule method, see
accessrole.GetRolePagePermissionsForModule.

GetRoles Sample

Sample C# Code
sRoles = accessrole.GetRoles(sSessionToken);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accessrole.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetRoles"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetRoles xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
</GetRoles>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK

Appendix A: Method Samples 195


RSA Archer eGRC Platform Web Services API Guide

Content-Type: text/xml; charset=utf-8


Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetRolesResponse xmlns="http://archer-tech.com/webservices/">
<GetRolesResult>string</GetRolesResult>
</GetRolesResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<List>
<Role>
<Id>1</Id>
<CompanyId>10000</CompanyId>
<Name>General User</Name>
<Description>The General User role is the default role that is granted
to users of the application. This role will have no right to manage
access to the application, and only minimal self administration
rights.</Description>
<RequiredFlag>False</RequiredFlag>
<DefaultFlag>True</DefaultFlag>
</Role>
</List>

Note: For descriptions of the parameters relating to the GetRoles method, see
accessrole.GetRoles.

UpdateRole Sample

Sample C# Code
iReturnCode = accessrole.UpdateRole(sSessionToken, iRoleID, “newrolename”,
“newdescription”, false, true);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accessrole.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/UpdateRole"

<?xml version="1.0" encoding="utf-8"?>

196 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateRole xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<roleId>int</roleId>
<roleName>string</roleName>
<roleDesc>string</roleDesc>
<defaultFlag>boolean</defaultFlag>
<requiredFlag>boolean</requiredFlag>
</UpdateRole>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateRoleResponse xmlns="http://archer-tech.com/webservices/">
<UpdateRoleResult>int</UpdateRoleResult>
</UpdateRoleResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the UpdateRole method, see
accessrole.UpdateRole.

UpdateRolePagePermissions2 Sample

Sample C# Code
iReturnCode = accessrole.UpdateRolePagePermissions2(sSessionToken, 1,
3496, true, false, true, true);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/accessrole.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/UpdateRolePage
Permissions2"

Appendix A: Method Samples 197


RSA Archer eGRC Platform Web Services API Guide

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateRolePagePermissions2 xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<roleId>int</roleId>
<pageId>int</pageId>
<create>boolean</create>
<read>boolean</read>
<update>boolean</update>
<delete>boolean</delete>
</UpdateRolePagePermissions2>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateRolePagePermissionsResponse2 xmlns="http://archer-
tech.com/webservices/">
<UpdateRolePagePermissions2Result>
int</UpdateRolePagePermissions2Result>
</UpdateRolePagePermissions2Response>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the


UpdateRolePagePermissions2 method, see
accessrole.UpdateRolePagePermissions2.

Field Samples
l CreateValuesListValue
l DeleteValuesListValue
l GetFieldIdByGUID
l GetValueListForField Sample
l GetValuesList

198 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

l GetValuesListIdByGUID
l GetValuesListItem
l GetValuesListValue
l GetValuesListValueIdByGUID
l LookupListValue
l UpdateValuesListItemWithNumericValue
l UpdateValuesListNumericValueToNull
l UpdateValuesListValue

CreateValuesListItemWithNumericValue Sample

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/
CreateValuesListItemWithNumericValue"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateValuesListItemWithNumericValue xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<valuesListId>int</valuesListId>
<valuesListItemName>string</valuesListItemName>
<valuesListItemNumericValue>decimal</valuesListItemNumericValue>
</CreateValuesListItemWithNumericValue>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

Appendix A: Method Samples 199


RSA Archer eGRC Platform Web Services API Guide

<soap:Body>
<CreateValuesListItemWithNumericValueResponse xmlns="http://archer-
tech.com/webservices/">
<CreateValuesListItemWithNumericValueResult>
int</CreateValuesListItemWithNumericValueResult>
</CreateValuesListItemWithNumericValueResponse>
</soap:Body>
</soap:Envelope>

CreateValuesListValue Sample

Sample C# Code
iReturnCode = field.CreateValuesListValue(sSessionToken, 63, “newvalue”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/CreateValuesListValue"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateValuesListValue xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<valuesListId>int</valuesListId>
<valuesListValueName>string</valuesListValueName>
</CreateValuesListValue>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateValuesListValueResponse xmlns="http://archer-
tech.com/webservices/">
<CreateValuesListValueResult>int</CreateValuesListValueResult>
</CreateValuesListValueResponse>
</soap:Body>

200 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

</soap:Envelope>

Note: For descriptions of the parameters relating to the CreateValuesListValue


method, see field.CreateValuesListValue.

DeleteValuesListValue Sample
Note: Delete any child values before deleting a parent value.

Sample C# Call
iReturnCode = field.DeleteValuesListValue(sSessionToken, 63, 1125);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/DeleteValuesListValue"
<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteValuesListValue xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<valuesListId>int</valuesListId>
<valuesListValueId>int</valuesListValueId>
</DeleteValuesListValue>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteValuesListValueResponse xmlns="http://archer-
tech.com/webservices/">
<DeleteValuesListValueResult>int</DeleteValuesListValueResult>
</DeleteValuesListValueResponse>
</soap:Body>
</soap:Envelope>

Appendix A: Method Samples 201


RSA Archer eGRC Platform Web Services API Guide

Note: For descriptions of the parameters relating to the DeleteValuesListValue


method, see field.DeleteValuesListValue.

GetFieldIdByGUID Sample

Sample C# Call
iReturnCode = field.GetFieldIdByGUID(sSessionToken, “GUID”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetFieldIdByGUID"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetFieldIdByGUID xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<GUID>string</GUID>
</GetFieldIdByGUID>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetFieldIdByGUIDResponse xmlns="http://archer-tech.com/webservices/">
<GetFieldIdByGUIDResult>int</GetFieldIdByGUIDResult>
</GetFieldIdByGUIDResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the GetFieldIdByGuid method,


see field.GetFieldIdByGuid.

202 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

GetValueListForField Sample

Sample C# Code
sValuesList = field.GetValueListForField(sSessionToken, 302);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetValueListForField"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetValueListForField xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<fieldId>int</fieldId>
</GetValueListForField>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetValueListForFieldResponse xmlns="http://archer-
tech.com/webservices/">
<GetValueListForFieldResult>string</GetValueListForFieldResult>
</GetValueListForFieldResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<SelectDefValues>
<SelectDefValue>
<guid>d074d029-66b2-4631-b555-119e5ec3c274</guid>
<Id>3156</Id>
<Name>False</Name>

Appendix A: Method Samples 203


RSA Archer eGRC Platform Web Services API Guide

<select_value_desc />
<AssociativeFlag>false</AssociativeFlag>
<select_value_color />
<DefaultFlag>false</DefaultFlag>
</SelectDefValue>
<SelectDefValue>
<guid>5b92db8d-dc94-430f-99bf-785d0ccaabf8</guid>
<Id>3155</Id>
<Name>True</Name>
<select_value_desc />
<AssociativeFlag>false</AssociativeFlag>
<select_value_color />
<DefaultFlag>false</DefaultFlag>
</SelectDefValue>
</SelectDefValues>

Note: For descriptions of the parameters relating to the GetValueListForField


method, see field.GetValueListForField.

GetValuesList Sample
Note: If using a two-level values list, second-level values cannot be returned. They
can be discovered with the field.GetValueListByParent method.

Sample C# Call
sValuesList = field.GetValuesList(sSessionToken, 63);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetValuesList"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetValuesList xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<valuesListId>int</valuesListId>
</GetValuesList>
</soap:Body>
</soap:Envelope>

204 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetValuesListResponse xmlns="http://archer-tech.com/webservices/">
<GetValuesListResult>string</GetValuesListResult>
</GetValuesListResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<SelectDefValues>
<SelectDefValue>
<guid>a765b5c7-60f1-49a7-861d-2065422131a0</guid>
<Id>3156</Id>
<Name>False</Name>
<select_value_desc />
<AssociativeFlag>false</AssociativeFlag>
<select_value_color />
<DefaultFlag>false</DefaultFlag>
</SelectDefValue>
<SelectDefValue>
<guid>9d72c7a7-4620-448b-9f26-038f076d76a1</guid>
<Id>3155</Id>
<Name>True</Name>
<select_value_desc />
<AssociativeFlag>false</AssociativeFlag>
<select_value_color />
<DefaultFlag>false</DefaultFlag>
</SelectDefValue>
</SelectDefValues>

Note: For descriptions of the parameters relating to the GetValuesList method, see
field.GetValuesList.

GetValuesListIdByGUID Sample

Sample C# Call
iReturnCode = field.GetValuesListIdByGUID(sSessionToken, “GUID”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1

Appendix A: Method Samples 205


RSA Archer eGRC Platform Web Services API Guide

Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetValuesListIdByGUID"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetValuesListIdByGUID xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<GUID>string</GUID>
</GetValuesListIdByGUID>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetValuesListIdByGUIDResponse xmlns="http://archer-
tech.com/webservices/">
<GetValuesListIdByGUIDResult>int</GetValuesListIdByGUIDResult>
</GetValuesListIdByGUIDResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the GetValuesListIdByGuid


method, see field.GetValuesListIdByGuid.

GetValuesListItem Sample

Sample C# Code
sValuesList = field.GetValuesListItem(sSessionToken, 468);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetValuesListItem"

206 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetValuesListItem xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<valuesListValueId>int</valuesListValueId>
</GetValuesListItem>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetValuesListItemResponse xmlns="http://archer-
tech.com/webservices/">
<GetValuesListItemResult>string</GetValuesListItemResult>
</GetValuesListItemResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<SelectDefValues>
<SelectDefValue>
<select_id>3599</select_id>
<guid>dba485b3-b0fc-4eaf-b413-493c3e4df594</guid>
<Name>Draft</Name>
<select_value_desc />
<AssociativeFlag>true</AssociativeFlag>
<create_date>2006-03-20T10:03:25.1530000-06:00</create_date>
<create_login>188247</create_login>
<update_date>2006-08-21T15:25:42.1170000-05:00</update_date>
<update_login>188247 </update_login>
<select_value_color />
<DefaultFlag>false</DefaultFlag>
<system>false</system>
<NumericValue>1.000000</NumericValue>
</SelectDefValue>
</SelectDefValues>

Note: For descriptions of the parameters relating to the GetValuesListItem method,


see field.GetValuesListItem.

Appendix A: Method Samples 207


RSA Archer eGRC Platform Web Services API Guide

GetValuesListValue Sample

Sample C# Code
sValue = field.GetValuesListValue(sSessionToken, 468);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetValuesListValue"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetValuesListValue xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<valuesListValueId>int</valuesListValueId>
</GetValuesListValue>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetValuesListValueResponse xmlns="http://archer-
tech.com/webservices/">
<GetValuesListValueResult>string</GetValuesListValueResult>
</GetValuesListValueResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the GetValuesListValue


method, see field.GetValuesListValue.

208 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

GetValuesListValueIdByGUID Sample

Sample C# Code
iReturnCode = field.GetValuesListValueIdByGUID(sSessionToken, “GUID”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-
tech.com/webservices/GetValuesListValueIdByGUID"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetValuesListValueIdByGUID xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<GUID>string</GUID>
</GetValuesListValueIdByGUID>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetValuesListValueIdByGUIDResponse xmlns="http://archer-
tech.com/webservices/">
<GetValuesListValueIdByGUIDResult>
int</GetValuesListValueIdByGUIDResult>
</GetValuesListValueIdByGUIDResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the


GetValuesListValueIdByGuid method, see field.GetValuesListValueIdByGuid.

Appendix A: Method Samples 209


RSA Archer eGRC Platform Web Services API Guide

LookupListValue Sample

Sample C# Code
iNewID = field.LookupListValue(sSessionToken, 302, “newvalue”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/LookupListValue"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupListValue xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<fieldId>int</fieldId>
<keyword>string</keyword>
</LookupListValue>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<LookupListValueResponse xmlns="http://archer-tech.com/webservices/">
<LookupListValueResult>int</LookupListValueResult>
</LookupListValueResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the LookupListValue method,


see field.LookupListValue.

210 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

UpdateValuesListItemWithNumericValue Sample

Sample C# Call
iReturnCode = field.UpdateValuesListItemWithNumericValue(sSessionToken,
1125, “newitemname”, 10);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/
UpdateValuesListItemWithNumericValue"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateValuesListItemWithNumericValue xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<valuesListItemId>int</valuesListItemId>
<valuesListItemName>string</valuesListItemName>
<valuesListItemNumericValue>decimal</valuesListItemNumericValue>
</UpdateValuesListItemWithNumericValue>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateValuesListItemWithNumericValueResponse xmlns="http://archer-
tech.com/webservices/">
<UpdateValuesListItemWithNumericValueResult>
int</UpdateValuesListItemWithNumericValueResult>
</UpdateValuesListItemWithNumericValueResponse>
</soap:Body>
</soap:Envelope>

Appendix A: Method Samples 211


RSA Archer eGRC Platform Web Services API Guide

Note: For descriptions of the parameters relating to the


UpdateValuesListItemWithNumericValue method, see
field.UpdateValuesListItemWithNumericValue.

UpdateValuesListNumericValueToNull Sample

Sample C# Code
iReturnCode = field.UpdateValuesListNumericValueToNull(sSessionToken,
iItemID);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-
tech.com/webservices/UpdateValuesListNumericValueToNull"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateValuesListNumericValueToNull xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<valuesListItemId>int</valuesListItemId>
</UpdateValuesListNumericValueToNull>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateValuesListNumericValueToNullResponse xmlns="http://archer-
tech.com/webservices/">
<UpdateValuesListNumericValueToNullResult>
int</UpdateValuesListNumericValueToNullResult>
</UpdateValuesListNumericValueToNullResponse>
</soap:Body>

212 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

</soap:Envelope>

Note: For descriptions of the parameters relating to the


UpdateValuesListNumericValueToNull method, see
field.UpdateValuesListNumericValueToNull.

UpdateValuesListValue Sample

Sample C# Call
iReturnCode = field.UpdateValuesListValue(sSessionToken, 1125,
“newervalue”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/field.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/UpdateValuesList
Value"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateValuesListValue xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<valuesListValueId>int</valuesListValueId>
<valuesListValueName>string</valuesListValueName>
</UpdateValuesListValue>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateValuesListValueResponse xmlns="http://archer-
tech.com/webservices/">
<UpdateValuesListValueResult>int</UpdateValuesListValueResult>
</UpdateValuesListValueResponse>
</soap:Body>

Appendix A: Method Samples 213


RSA Archer eGRC Platform Web Services API Guide

</soap:Envelope>

Note: For descriptions of the parameters relating to the UpdateValuesListValue


method, see field.UpdateValuesListValue.

General Samples
l CreateDomainUserSessionFromInstance
l CreateUserSessionFromInstance
l TerminateSession

CreateDomainUserSessionFromInstance Sample

Sample C# Code
sSessionToken = general.CreateDomainUserSessionFromInstance(“username,
“instance”, “password”, “domain” );

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/general.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-
tech.com/webservices/CreateDomainUserSessionFromInstance"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateDomainUserSessionFromInstance xmlns="http://archer-
tech.com/webservices/">
<userName>string</userName>
<instanceName>string</instanceName>
<password>string</password>
<usersDomain>string</usersDomain>
</CreateDomainUserSessionFromInstance>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>

214 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateDomainUserSessionFromInstanceResponse xmlns="http://archer-
tech.com/webservices/">
<CreateDomainUserSessionFromInstanceResult>
string</CreateDomainUserSessionFromInstanceResult>
</CreateDomainUserSessionFromInstanceResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the


CreateDomainUserSessionFromInstance method, see
general.CreateDomainUserSessionFromInstance.

CreateUserSessionFromInstance Sample

Sample C# Call
sSessionToken = general.CreateUserSessionFromInstance(“username”,
“instance”, “password”);

Sample Request
The following is a sample SOAP1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/general.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/CreateUserSession
From Instance"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateUserSessionFromInstance xmlns="http://archer-
tech.com/webservices/">
<userName>string</userName>
<instanceName>string</instanceName>
<password>string</password>
</CreateUserSessionFromInstance>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8

Appendix A: Method Samples 215


RSA Archer eGRC Platform Web Services API Guide

Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateUserSessionFromInstanceResponse xmlns="http://archer-
tech.com/webservices/">
<CreateUserSessionFromInstanceResult>
string</CreateUserSessionFromInstanceResult>
</CreateUserSessionFromInstanceResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the


CreateUserSessionFromInstance method, see
general.CreateUserSessionFromInstance.

TerminateSession Sample
Important: For backwards compatibility with version 4.x, do not terminate a
sysadmin session.

Sample C# Code
iReturnCode = general.TerminateSession(sSessionToken);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/general.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/TerminateSession"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<TerminateSession xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
</TerminateSession>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8

216 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<TerminateSessionResponse xmlns="http://archertech.com/webservices/">
<TerminateSessionResult>int</TerminateSessionResult>
</TerminateSessionResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the TerminateSession method,


see general.TerminateSession.

Module Samples
l GetModuleIdByGUID

GetModuleIdByGUID Sample

Sample C# Code
iModuleID = module.GetModuleIdByGUID(sSessionToken, “instance”, “GUID”);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/module.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/GetModuleIdByGUID"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetModuleIdByGUID xmlns="http://tempuri.org/">
<sessionToken>string</sessionToken>
<instanceId>string</instanceId>
<GUID>string</GUID>
</GetModuleIdByGUID>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK

Appendix A: Method Samples 217


RSA Archer eGRC Platform Web Services API Guide

Content-Type: text/xml; charset=utf-8


Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetModuleIdByGUIDResponse xmlns="http://tempuri.org/">
<GetModuleIdByGUIDResult>int</GetModuleIdByGUIDResult>
</GetModuleIdByGUIDResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the GetModuleIdByGuid


method, see module.GetModuleIdByGuid.

Record Samples
l CreateCMSTEntry
l CreateQuestionnaireRecord
l CreateRecord
l CreateRecords
l CreateSubformRecord
l DeleteRecord
l GetAccessHistory
l GetChildRecordIds
l UpdateRecord
l UpdateRecords

CreateCMSTEntry Sample

Sample C# Call
iReturnCode = rec.CreateCMSTEntry(sSessionToken,
iContentIDinIncidentsApplication, iCASTFieldIDinIncidentsApplication,
iContentIDinResponseProceduresApplication, iValuesListValueIDToSet, "Hello
World");

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/record.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length

218 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

SOAPAction: "http://archer-tech.com/webservices/CreateCMSTEntry"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateCMSTEntry xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<contentId>int</contentId>
<fieldId>int</fieldId>
<parentId>int</parentId>
<valueId>int</valueId>
<comments>string</comments>
</CreateCMSTEntry>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateCMSTEntryResponse xmlns="http://archer-tech.com/webservices/">
<CreateCMSTEntryResult>int</CreateCMSTEntryResult>
</CreateCMSTEntryResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the CreateCMSTEntry method,


see record.CreateCMSTEntry.

CreateQuestionnaireRecord Sample

Sample C# Call
iContentID = record.CreateQuestionnaireRecord(sSessionToken, 266, 431);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/record.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/CreateQuestionnaireRecord"

Appendix A: Method Samples 219


RSA Archer eGRC Platform Web Services API Guide

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateQuestionnaireRecord xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<questionnaireModuleId>int</questionnaireModuleId>
<targetContentId>int</targetContentId>
</CreateQuestionnaireRecord>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateQuestionnaireRecordResponse xmlns="http://archer-
tech.com/webservices/">
<CreateQuestionnaireRecordResult>
int</CreateQuestionnaireRecordResult>
</CreateQuestionnaireRecordResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the CreateQuestionnaireRecord


method, see record.CreateQuestionnaireRecord.

CreateRecord Sample

Sample C# Call
iContentID = record.CreateRecord(sSessionToken, 17, sXML);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/record.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/CreateRecord"

<?xml version="1.0" encoding="utf-8"?>

220 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateRecord xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<moduleId>int</moduleId>
<fieldValues>string</fieldValues>
</CreateRecord>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateRecordResponse xmlns="http://archer-tech.com/webservices/">
<CreateRecordResult>int</CreateRecordResult>
</CreateRecordResponse>
</soap:Body>
</soap:Envelope>

Sample XML Output


<?xml version="1.0" encoding="utf-8" ?>
<Record>
<Field id="9402" value="ABCDEFG 信 息 報 이 ÜФ LMNOP áòëæñü ÃÄÇËÑßÜ" />
<Field id="9405" value="áòëZZZæñü" />
<Field id="9403" value="Random text in a text area" />
<Field id="9404" value="Randomer text in a rich text area" />
<Field id="9406" value="87654321" />
<Field id="9407" value="123.21" />
<Field id="9409" value="888" />
<Field id="9410" value="-88" />
<Field id="9408" value="4" />
<Field id="9411" value="12/21/2012" />
<Field id="9412" value="12/31/1999 1:59PM" />
<Field id="9416" value="523" />
<Field id="9418" value="1254" />
<Field id="9413" value="Smirch Engine" link="http://www.goggle.com" />
<Field id="9414" value="Dunk Mail" link="mailto:NoSuch@rsa.com" />
<Field id="9415" value="191.167.0.255" />
<Field id="9429" value="0054:0230:0253:0511:0747:0066:0034:0023" />
<Field id="9430" value="64:0:594:0:677:46::" />
<Field id="9423" rowId="1253" columnId="730">
<MultiValue rowId="1254" columnId="728" />
<MultiValue rowId="1255" columnId="729" />

Appendix A: Method Samples 221


RSA Archer eGRC Platform Web Services API Guide

<MultiValue rowId="1256" columnId="730" />


</Field>
</Record>

Note: For descriptions of the parameters relating to the CreateRecord method, see
record.CreateRecord.

CreateRecords Sample

Sample C# Code
sResults = record.CreateRecords(sSessionToken, 17, sXML);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/record.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/CreateRecords"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateRecords xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<moduleId>int</moduleId>
<contentRecords>string</contentRecords>
</CreateRecords>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateRecordsResponse xmlns="http://archer-tech.com/webservices/">
<CreateRecordsResult>string</CreateRecordsResult>
</CreateRecordsResponse>
</soap:Body>
</soap:Envelope>

222 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Note: For descriptions of the parameters relating to the CreateRecords method, see
record.CreateRecords.

CreateSubformRecord Sample

Sample C# Call
iContentID = record.CreateSubformRecord(sSessionToken, 316, 7621, sXML);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/record.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archertech.com/webservices/CreateSubform
Record"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateSubformRecord xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<subformModuleId>int</subformModuleId>
<subformFieldId>int</subformFieldId>
<fieldValues>string</fieldValues>
</CreateSubformRecord>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateSubformRecordResponse xmlns="http://archer-
tech.com/webservices/">
<CreateSubformRecordResult>int</CreateSubformRecordResult>
</CreateSubformRecordResponse>
</soap:Body>
</soap:Envelope>

Appendix A: Method Samples 223


RSA Archer eGRC Platform Web Services API Guide

Note: For descriptions of the parameters relating to the CreateSubformRecord


method, see record.CreateSubformRecord.

DeleteRecord Sample
Note: The DeleteRecord method does not just archive records, it removes them
from the RSA Archer eGRC Platform.

Sample C# Call
iReturnCode = record.DeleteRecord(sSessionToken, 17, 234);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/record.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/DeleteRecord"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteRecord xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<moduleId>int</moduleId>
<contentId>int</contentId>
</DeleteRecord>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<DeleteRecordResponse xmlns="http://archer-tech.com/webservices/">
<DeleteRecordResult>int</DeleteRecordResult>
</DeleteRecordResponse>
</soap:Body>
</soap:Envelope>

224 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

GetAccessHistory Sample

Sample C# Code
sResults = record.GetAccessHistory(sSessionToken, 21677);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/record.asmx HTTP/1.1
Host: eng-int01.archer-tech.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetAccessHistory"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAccessHistory xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<contentId>int</contentId>
</GetAccessHistory>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetAccessHistoryResponse xmlns="http://archer-tech.com/webservices/">
<GetAccessHistoryResult>string</GetAccessHistoryResult>
</GetAccessHistoryResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<ContentHits>
<contentHit>
<user id="200">username</user>
<hitTimestamp>8/18/2012 7:37:11 PM</hitTimestamp>
</contentHit>
</ContentHits>

Appendix A: Method Samples 225


RSA Archer eGRC Platform Web Services API Guide

Note: For descriptions of the parameters relating to the GetAccessHistory method,


see record.GetAccessHistory.

GetChildRecordIds Sample

Sample C# Call
sReturnValues = record.GetChildRecordIds(sSessionToken, 17, 21677);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/record.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetChildRecordIds"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetChildRecordIds xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<moduleId>int</moduleId>
<contentId>int</contentId>
</GetChildRecordIds>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetChildRecordIdsResponse xmlns="http://archer-
tech.com/webservices/">
<GetChildRecordIdsResult>string</GetChildRecordIdsResult>
</GetChildRecordIdsResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<Children>

226 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<Id>105</Id>
<Id>104</Id>
<Id>1932</Id>
</Children>

Note: For descriptions of the parameters relating to the GetChildRecordIds method,


see record.GetChildRecordIds.

GetRecordById Sample

Sample C# Call
sResults = record.GetRecordById(sSessionToken, 17, 234);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/record.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetRecordById"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetRecordById xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<moduleId>int</moduleId>
<contentId>int</contentId>
</GetRecordById>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetRecordByIdResponse xmlns="http://archer-tech.com/webservices/">
<GetRecordByIdResult>string</GetRecordByIdResult>
</GetRecordByIdResponse>
</soap:Body>
</soap:Envelope>

Appendix A: Method Samples 227


RSA Archer eGRC Platform Web Services API Guide

Note: For descriptions of the parameters relating to the GetRecordById method, see
record.GetRecordById.

UpdateRecord Sample

Sample C# Code
iReturnCode = record.UpdateRecord(sSessionToken, 17, 234, sXML);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/record.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/UpdateRecord"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateRecord xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<moduleId>int</moduleId>
<contentId>int</contentId>
<fieldValues>string</fieldValues>
</UpdateRecord>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateRecordResponse xmlns="http://archer-tech.com/webservices/">
<UpdateRecordResult>int</UpdateRecordResult>
</UpdateRecordResponse>
</soap:Body>
</soap:Envelope>

228 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Note: For descriptions of the parameters relating to the UpdateRecord method, see
record.UpdateRecord.

UpdateRecords Sample

Sample C# Call
sResults = record.UpdateRecords(sSessionToken, 17, sXML);

Note: The last parameter is in XML-- multiple <Record></Record> entries


surrounded by <Records></Records>

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/record.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/UpdateRecords"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateRecords xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<moduleId>int</moduleId>
<contentRecords>string</contentRecords>
</UpdateRecords>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<UpdateRecordsResponse xmlns="http://archer-tech.com/webservices/">
<UpdateRecordsResult>string</UpdateRecordsResult>
</UpdateRecordsResponse>
</soap:Body>
</soap:Envelope>

Appendix A: Method Samples 229


RSA Archer eGRC Platform Web Services API Guide

Note: For descriptions of the parameters relating to the UpdateRecords method, see
record.UpdateRecords.

Search Samples
l ExecuteQuickSearchWithModuleIds
l ExecuteQuickSearchWithSolutionId
l ExecuteSearch
l ExecuteStatisticSearch
l ExecuteStatisticSearchByReport
l GetReports
l RetrieveSearchResultsPage
l RetrieveSearchResultsPageByPageSize
l SearchRecordsByReport

ExecuteQuickSearchWithModuleIds Sample

Sample C# Call
sSearchResults = search.ExecuteQuickSearchWithModuleIds(sSessionToken,
“17”, “keyword”, 1, 20);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/search.asmx HTTP/1.1
Host: eng-build02
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/WithModuleIds"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ExecuteQuickSearchWithModuleIds xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<moduleIds>string</moduleIds>
<keywords>string</keywords>
<pageNumber>int</pageNumber>
<pageSize>int</pageSize>

230 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

</ExecuteQuickSearchWithModuleIds >
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ExecuteQuickSearchWithModuleIdsResponse xmlns="http://archer-
tech.com/webservices/">
<WithModuleIdsResult>string</WithModuleIdsResult>
</ExecuteQuickSearchWithModuleIdsResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the


ExecuteQuickSearchWithModuleIds method, see
search.ExecuteQuickSerachWithModuleIds.

ExecuteQuickSearchWithSolutionId Sample

Sample C# Code
sSearchResults = search.ExecuteQuickSearchWithSolutionId(sSessionToken, 6,
“keyword”, 1, 20);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/search.asmx HTTP/1.1
Host: eng-build02
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/WithSolutionId"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ExecuteQuickSearchWithSolutiond xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<solutionId>int</solutionId>
<keywords>string</keywords>

Appendix A: Method Samples 231


RSA Archer eGRC Platform Web Services API Guide

<pageNumber>int</pageNumber>
<pageSize>int</pageSize>
</ExecuteQuickSearchWithSolutiond>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ExecuteQuickSearchWithSolutiondResponse
xmlns="http://archer-tech.com/webservices/">
<WithSolutionIdResult>string</WithSolutionIdResult>
</ExecuteQuickSearchWithSolutiondResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the


ExecuteQuickSearchWithSolutionIds method, see
search.ExecuteQuickSerachWithSolutionIds.

ExecuteSearch Sample
Important: This is a new method in version 5.0. To take advantage of advanced
search features available in version 5.0 and later, use this method instead of the
legacy method, SearchRecords.

Sample C# Call
sReturnValue = search.ExecuteSearch(sSessionToken, sXML, 1);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/search.asmx HTTP/1.1
Host: eng-build02
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/ExecuteSearch"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

232 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

<soap:Body>
<ExecuteSearch xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<searchOptions>string</searchOptions>
<pageNumber>int</pageNumber>
</ExecuteSearch>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ExecuteSearchResponse xmlns="http://archer-tech.com/webservices/">
<ExecuteSearchResult>string</ExecuteSearchResult>
</ExecuteSearchResponse>
</soap:Body>
</soap:Envelope>

Sample XML Output - Simple Keyword Search


<SearchReport>
<PageSize>20</PageSize>
<MaxRecordCount>100</MaxRecordCount>
<ShowStatSummaries>false</ShowStatSummaries>
<DisplayFields>
<DisplayField>7205</DisplayField>
<DisplayField>7226</DisplayField>
<DisplayField>7232</DisplayField>
<DisplayField>7242</DisplayField>
</DisplayFields>
<Criteria>
<Keywords>Windows</Keywords>
<ModuleCriteria>
<Module>17</Module>
<IsKeywordModule>true</IsKeywordModule>
<SortFields>
<SortField>
<Field>7205</Field>
<SortType>Ascending</SortType>
</SortField>
</SortFields>
</ModuleCriteria>
</Criteria>
</SearchReport>

Appendix A: Method Samples 233


RSA Archer eGRC Platform Web Services API Guide

Sample XML Output - Complex Filter Search


<SearchReport>
<PageSize>100</PageSize>
<DisplayFields>
<DisplayField>9399</DisplayField>
<DisplayField>9402</DisplayField>
<DisplayField>9403</DisplayField>
<DisplayField>9405</DisplayField>
<DisplayField>9411</DisplayField>
<DisplayField>9413</DisplayField>
</DisplayFields>
<Criteria>
<ModuleCriteria>
<Module>331</Module>
<IsKeywordModule>false</IsKeywordModule>
<SortFields>
<SortField>
<Field>9399</Field>
<SortType>Ascending</SortType>
</SortField>
</SortFields>
</ModuleCriteria>
<Filter>
<Conditions>
<TextFilterCondition>
<Operator>Contains</Operator>
<Field>9402</Field>
<Value>Off-the-wall comment</Value>
</TextFilterCondition>
<TextFilterCondition>
<Operator>Contains</Operator>
<Field>9403</Field>
<Value>123 Lotus</Value>
</TextFilterCondition>
</Conditions>
<OperatorLogic>1 OR 2</OperatorLogic>
</Filter>
</Criteria>
</SearchReport>

Note: For descriptions of the parameters relating to the ExecuteSearch method, see
search.ExecuteSerach.

ExecuteStatisticSearch Sample
Note: This is a new method in version 5.0.

Sample C# Code
sReturnValue = search.ExecuteStatisticSearch(sSessionToken, sXML, 1);

234 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/search.asmx HTTP/1.1
Host: eng-build02
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/ExecuteStatisticSearch"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ExecuteStatisticSearch xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<searchOptions>string</searchOptions>
<pageNumber>int</pageNumber>
</ExecuteStatisticSearch>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ExecuteStatisticSearchResponse xmlns="http://archer-
tech.com/webservices/">
<ExecuteStatisticSearchResult>string</ExecuteStatisticSearchResult>
</ExecuteStatisticSearchResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the ExecuteStatisticSearch


method, see search.ExecuteStatisticSearch.

ExecuteStatisticSearchByReport Sample
Note: This is a new method in version 5.0.

Sample C# Code
sSearchResults = search.ExecuteStatisticSearchByReport(sSessionToken,
"3156", 1);

Appendix A: Method Samples 235


RSA Archer eGRC Platform Web Services API Guide

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/search.asmx HTTP/1.1
Host: eng-build02
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/ExecuteStatisticSearch"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ExecuteStatisticSearchByReport xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<reportIdOrGuid>string</reportIdOrGuid>
<pageNumber>int</pageNumber>
</ExecuteStatisticSearchByReport>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ExecuteStatisticSearchByReportResponse xmlns="http://archer-
tech.com/webservices/">
<ExecuteStatisticSearchByReportResult>
string</ExecuteStatisticSearchByReportResult>
</ExecuteStatisticSearchByReportResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the


ExecuteStatisticSearchByReport method, see
search.ExecuteStatisticSearchByReport.

GetReports Sample

Sample C# Code
sReturnValue = search.GetReports(sSessionToken);

236 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/search.asmx HTTP/1.1
Host: eng-build02
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetReports"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetReports xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
</GetReports>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetReportsResponse xmlns="http://archer-tech.com/webservices/">
<GetReportsResult>string</GetReportsResult>
</GetReportsResponse>
</soap:Body>
</soap:Envelope>

Sample String in the Response


<ReportValues>
<ReportValue>
<ReportName>Policies - Summary view</ReportName>
<ReportDescription>This report displays a listing of all security
Policies.</ReportDescription>
<ReportGUID>22961b81-4866-40ea-a298-99afb348598d</ReportGUID>
<ApplicationName>Policies</ApplicationName>
<ApplicationGUID>4cf0d0c6-4b51-404c-91c2-
40ade972e95b</ApplicationGUID>
</ReportValue>
</ReportValues>

Appendix A: Method Samples 237


RSA Archer eGRC Platform Web Services API Guide

Note: For descriptions of the parameters relating to the GetReports method, see
search.GetReports.

RetrieveSearchResultsPage Sample

Sample C# Call
sResults = search.RetrieveSearchResultsPage(sSessionToken, iSearchID, 1);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/search.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/RetrieveSearchResultsPage"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RetrieveSearchResultsPage xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<searchId>int</searchId>
<pageId>int</pageId>
</RetrieveSearchResultsPage>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RetrieveSearchResultsPageResponse xmlns="http://archer-
tech.com/webservices/">
<RetrieveSearchResultsPageResult>
string</RetrieveSearchResultsPageResult>
</RetrieveSearchResultsPageResponse>
</soap:Body>
</soap:Envelope>

238 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

Note: For descriptions of the parameters relating to the RetrieveSearchResultsPage


method, see search.RetrieveSearchResultsPage.

RetrieveSearchResultsPageByPageSize Sample

Sample C# Call
sReturnValue = search.RetrieveSearchResultsPageByPageSize(sSessionToken,
iSearchID, 1, 2);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /Archer/ws/search.asmx HTTP/1.1
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/RetrieveSearch
ResultsPageByPageSize"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RetrieveSearchResultsPageByPageSize xmlns="http://archer-
tech.com/webservices/">
<sessionToken>string</sessionToken>
<searchId>int</searchId>
<pageId>int</pageId>
<recordsPerPage>int</recordsPerPage>
</RetrieveSearchResultsPageByPageSize>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<RetrieveSearchResultsPageByPageSizeResponse xmlns="http://archer-
tech.com/webservices/">
<RetrieveSearchResultsPageByPageSizeResult>
string</RetrieveSearchResultsPageByPageSizeResult>

Appendix A: Method Samples 239


RSA Archer eGRC Platform Web Services API Guide

</RetrieveSearchResultsPageByPageSizeResponse>
</soap:Body>
</soap:Envelope>

Note: For descriptions of the parameters relating to the


RetrieveSearchResultsPageByPage method, see
search.RetrieveSearchResultsPageByPage.

SearchRecordsByReport Sample

Sample C# Call
sSearchResults = search.SearchRecordsByReport(sSessionToken, “GUID”, 1);

Sample Request
The following is a sample SOAP 1.1 request and response. The placeholders shown
would be replaced with actual values. (SOAP 1.2 also is supported.)
POST /archer/ws/search.asmx HTTP/1.1
Host: eng-build02
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/SearchRecordsByReport"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<SearchRecordsByReport xmlns="http://archer-tech.com/webservices/">
<sessionToken>string</sessionToken>
<reportIdOrGuid>string</reportIdOrGuid>
<pageNumber>int</pageNumber>
</SearchRecordsByReport>
</soap:Body>
</soap:Envelope>

Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<SearchRecordsByReportResponse xmlns="http://archer-
tech.com/webservices/">
<SearchRecordsByReportResult>string</SearchRecordsByReportResult>
</SearchRecordsByReportResponse>
</soap:Body>

240 Appendix A: Method Samples


RSA Archer eGRC Platform Web Services API Guide

</soap:Envelope>

Sample String in the Response


<Records count="18">
<Metadata>
<FieldDefinitions>
<FieldDefinition id="1580" name="Policy Name" alias="Policy_Name" />
<FieldDefinition id="1583" name="Policy Statement" alias="Policy_
Statement" />
</FieldDefinitions>
</Metadata>
<LevelCounts>
<LevelCount id="3" count="18" />
</LevelCounts>
<Record contentId="1720" levelId="3" moduleId="65" parentId="0">
<Field id="1580" type="1">00.0 Introduction</Field>
<Field id="1583" type="1">The Company's Information Security Policy
defines the fundamental principles for the protection of Company
information resources, the proper controls needed to ensure compliance
with internal and external regulations, and to uphold the Company's
reputation with its clients. All personnel are responsible for
ensuring compliance with the Company's Information Security
Policy.</Field>
</Record>
</Records>

Note: For descriptions of the parameters relating to the SearchRecordsByReport


method, see search.SearchRecordsByReport.

Appendix A: Method Samples 241


RSA Archer eGRC Platform Web Services API Guide

Appendix B: XML Formatting Used in Field Results


and Input
l XML Formatting Guidelines for Field Input
l XML Formatting Guidelines for Field Results
l XML Formatting Guidelines for 5.x Search Input
l XML Formatting Guidelines for Legacy Input

XML Formatting Guidelines for Field Input


Much of the content data that is exchanged between the Web Services API and
third-party applications is formatted using XML. This section provides the details of
the XML format for the different field types when you use the
record.CreateRecord, record.CreateSubformRecord, and record.UpdateRecord
methods.
Adhere to the following guidelines when you construct XML to create or update
records:
l The information that the API returns when you use the record.GetRecordById or
search.RetrieveSearchResultsPage is different.
l The ID attribute of every field element represents the unique ID of the field as
documented in the Application Detail Report or in the results of the
record.GetRecordById method.
l The type attribute of every field element represents the unique ID of the field
type as documented in the Type ID column in the following table.
l To create or update records in a leveled application, all of the fields in your
XML structure must reside within a single data level. If you have fields from
two or more levels, you receive an error message.
l If you configure a Text, Numeric, Date, or Values List field as a calculated
field, you cannot input data or select values in the field through the API. The
field is read only.
l If a Record Permissions field is configured to use permission rules rather than to
allow manual selection, you cannot select users or groups on the field through the
API. The field is read only.
l Some fields support the MultiValue element as a way to provide multiple values.
If you include a single value only, do not include the MultiValue sub-element and
make the regular element empty.

Appendix B: XML Formatting Used in Field Results 243


and Input
RSA Archer eGRC Platform Web Services API Guide

l To create or update multiple records with record. CreateRecords or


record.UpdateRecords, use the same XML input defined in this section and wrap
the collection of individual records with the <Records></Records> tags.
l The XML elements that you provide can contain extra attribute-value pairs. The
API uses only the required attribute-value pairs as documented in the following
table.

Fiel-
Field Name
d ID Example

1 Text Sample XML:


<Field id="9402" value="ABCDEFG hijk LMNOP
qrstuvwxyz ÃÄÇËÑßÜ áòëæñü 信 息 報 이 ÜФ " />
The value attribute is in UTF-8 or UTF-16 when you use the
Field control type.
Sample XML:
<Field id="9403" value="&lt;p&gt;1234 Main
Street&lt;br&gt;Anytown, AA 12345&lt;/p&gt;"
/>
If you are use the Area control type, you can insert encoded
HTML text.

2 Numeric Sample XML:


<Field id="123" value="125.75" />
If you have units of measure turned on, you express the value in
the quantity of the smallest unit of measure, for example, 39
inches instead of 3 feet, 3 inches.

3 Date Sample XML:


<Field id="9412" value="12/31/2099 11:59AM"
/>
<Field id="9411" value="01/01/1980" />
If you specify the field as Date-only, and you do not specify the
time, the API defaults to 12:00 AM.

Note: To pass in a date field null value, enter a value of "0". For
example:

<Field id="42065" value="0" />

244 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Fiel-
Field Name
d ID Example

4 Values List Sample XML:


<Field id="123" value="2">
<MultiValue value="3" />
<MultiValue value="4" />
</Field>
The value attribute is the integer ID of the value (within the
values list) as returned by the field.LookUpListValue method.

Important: If the values list supports the use of other type values,
supply the value of the value that is enabled for other text, along
with the other text in an attribute called otherText. For example:

<Field id=\"4871\" value=\"4181\" type=\"4\"


otherText=\"MyTextItem\" />

Note: To pass in a values list null value, enter a value of "0". For
example:

<Field id="8323" type="4" value="0"></Field>

7 External Sample XML:


Links <Field id="123" value="Archer Technologies"
link="http://www.archer-tech.com/">
<MultiValue value="Aquarium Advice"
link="http://www.aquariumadvice.com/" />
</Field>
The value attribute is the text that is displayed in the field. The
link attribute is the actual link value that you click to activate.

Appendix B: XML Formatting Used in Field Results 245


and Input
RSA Archer eGRC Platform Web Services API Guide

Fiel-
Field Name
d ID Example

8 User/ Sample XML:


Groups List <Field id="123" >
<Groups>
<Group id="123" />
<Group id="345" />
</Groups>
<Users>
<User id="123" />
<User id="234" />
</Users>
</Field>
If you do not have any of either type of value, that is, no user or
no group, you can omit that corresponding element (groups or
users) rather than including an empty one.

Important: Each member must be included as a separate value.

The ID value is the userId (as returned by the


accesscontrol.LookupUserByFirstName method) or the groupId
(as returned by the accesscontrol.LookupGroup method).

Important: When you create or update records using the API, you
can select users or groups in a User/Groups List field that are not
included in the field's available values. For example, you can
configure the User/Groups List field to show Jake Miller and
Renee Jones as the only values available for selection.
Alternatively, you can select Tim Lee as the value for the field
through the API.

9 Cross-Ref- Sample XML:


erence (exter- <Field id="123" value="1000" >
nal <MultiValue value="1001" />
rela- <MultiValue value="1002" />
tionships) </Field>
The API populates the value attribute with the contentId of the
related record as returned by a search, for example,
search.ExecuteSearch.

11 Attachment The API does not support this field type.

12 Image The API does not support this field type.

246 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Fiel-
Field Name
d ID Example

13 Risk Assess- The API does not support this field type.
ment

14 Cross-Appli- CAST values are set using the record.CreateCMSTEntry method.


cation Status
Tracking

15 Record Per- Same as field type 8—User/Groups List. Remember to change


mission the type attribute from 8 to 15.

Important: To create or update records through the API, select


users or groups in a Record Permissions field that are not
included in the field's available values. For example, you can
configure the Record Permissions to show Jake Miller and
Renee Jones as the only values available for selection.
Alternatively, you can select Tim Lee as the value for the field
through the API.

16 Matrix Sample XML:


<Field id="123" rowId="100" columnId="101" >
<MultiValue rowId="100" columnId="102" />
</Field>

17 Calculated The API does not support this field type.


Field

18 Cross-Ref- Sample XML:


erence (inter- <Field id="123" value="1000" >
nal <MultiValue value="1001" />
relationship) <MultiValue value="1002" />
</Field>
The value attribute is the record ID as returned by a search, for
example, search.ExecuteSearch.

Appendix B: XML Formatting Used in Field Results 247


and Input
RSA Archer eGRC Platform Web Services API Guide

Fiel-
Field Name
d ID Example

19 IP Address Sample XML:


<Field id="9415" value="192.168.0.13" />
You can express the IP address value as a standard IP-V4
address with four octets.
Sample XML:
<Field id="9424"
value="0045:0320:0511:0513:0777:0065:0043:003-
2" />
<Field id="9425" value="46:0:495:0:776:64::"
/>
You can also express the IP address value as an IP-V6 address in
both full and short form.

XML Formatting Guidelines for Field Results


Much of the content data that is exchanged between the RSA Archer Web Services
API and third-party applications is formatted using XML. The following information
provides you with the details of the XML format used for the different field types
when field data is returned by the record.GetRecordById or the
search.RetrieveSearchResultsPage methods.
l Common Attributes
l Field-Specific Attributes

Common Attributes
The following attributes are common to all field types:
l id. The id attribute of every field element represents the unique ID
(identification code) of the field. This information is documented in the
Application Detail Report within the Application Builder, and it is also visible in
the results of the record.GetRecordById method.
l type. The type attribute of every field element represents the type of field as
documented in the second column of the Field-Specific Attributes table. The
value is an integer representation of the type as reported within the Application
Builder.
l createDate. The createDate attribute shows when the field's value was
first entered. The value of the attribute is shown in the MM/DD/YYY
HH:MM:SS AM or PM format, for example, 10/15/2003 4:19:04 PM.

248 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

l updateDate. The updateDate attribute shows when the field's value was
last modified. The value of the attribute is shown in the MM/DD/YYY
HH:MM:SS AM or PM format, for example, 11/24/2003 8:11:23 AM.
l createLogin. The createLogin attribute shows the userId of the user
who created the record. The value of the attribute is an integer, for example,
791.
l updateLogin. The updateLogin attribute shows the userId of the user
who last modified the field. The value of the attribute is an integer, for example,
1004.

Field-Specific Attributes
The following table describes the attributes and values the Web Services API
returns for various field types. This table excludes the attributes described in
Common Attributes.

Field Field
ID Name Example

1 Text Sample XML:


<Field id="4918" type="1"
value="&lt;P&gt;&lt;U&gt;Rich
Text;lt;/U&gt;&lt;/P&gt;" />
A Text field’s only other attribute is value. The value of the
value attribute is ASCII text. If the Text field uses the Area
control type, the value attribute can include HTML text.

Appendix B: XML Formatting Used in Field Results 249


and Input
RSA Archer eGRC Platform Web Services API Guide

Field Field
ID Name Example

2 Numeric Sample XML:


<Field id="4914" type="2" value="824024">
<UnitOfMeasure id="6" value="13"
unitLabel="Miles" />
<UnitOfMeasure id="5" value="28"
unitLabel="Feet" />
<UnitOfMeasure id="4" value="8"
unitLabel="Inches" />
</Field>
A Numeric field's only other attribute is value. The value of the
value attribute is the number in the record. There are
appropriate UnitOfMeasure sub-elements included within the
field:
l In the Sample XML, the common attributes are removed from
the field element, but the UnitOfMeasure elements are shown
as they were received.
l Even if the field does not use units of measure, you need to
specify a closing tag for the Field element as opposed to
representing it as an empty element.
l You do not use UnitOfMeasure elements to create or update
the field.

3 Date Sample XML:


<Field id="4905" type="3" value="7/8/1999
6:50 AM" />
A Date field's only other attribute is value. The value of the
attribute is shown in the MM/DD/YYY HH:MM:SS AM or PM
format, for example, 10/15/2003 4:19:04 PM.

250 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Field Field
ID Name Example

4 Values List Sample XML:


<Field id="123" type="4" value="2">
<MultiValue value="3" />
<MultiValue value="4" />
</Field>
A Values List field's only other attribute is value. It is
populated with an integer representing the ID of the selected
valuesListValue.
If the field supports multiple selections (and the record has
multiple selections specified), you specify additional selections
with the MultiValue sub-element.
Even if there is only a single value, you need to specify a closing
tag for the Field element as opposed to representing it as an
empty element.

Appendix B: XML Formatting Used in Field Results 251


and Input
RSA Archer eGRC Platform Web Services API Guide

Field Field
ID Name Example

5 Technology Sample XML:


Versions <Field id="4917" type="5" techID="18872"
List techVersionID="123645" techName="ABC Server"
techVersionDesc="6.1" vendorId="10460"
vendorName="ABC Systems">
<MultiValue techID="19256"
techVersionID="130702" techName="Windows
2000 Server" techVersionDesc="0.0.0-SP4"
vendorId="10145" vendorName="Microsoft" />
</Field>
The Technology Version List field has the following attributes:
l techID. The integer ID of the technology.
l techVersionID. The integer ID of the technology version.
l VendorId. The integer ID of the vendor associated with the
technology version.
l techName. The string displayed when showing the
technology.
l techVersionName. The string name of the technology
version.
l VendorName. The string displayed when showing the vendor
associated with the technology version.

The various xxxID values are specified in value attributes when


adding or modifying this field type.
If the record has multiple technologies, additional technologies
are included using the MultiValue sub-element.
Even if there is only a single value, you need to specify a closing
tag for the Field element as opposed to representing it as an
empty element.

6 Tracking ID Sample XML:


<Field id="123" type="6" value="123456" />
The value attribute is an integer that represents the value of the
record's tracking ID. You can use the tracking ID in any method
that requests a contentId; however, it cannot be modified.

252 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Field Field
ID Name Example

7 External Sample XML:


Links <Field id="123" type="7" value="Archer
Technologies" link="http://www.archer-
tech.com/">
<MultiValue value="Aquarium Advice"
link="http://www.aquariumadvice.com/" />
</Field>
The value attribute is the text that is displayed in the field, and
the link attribute is the actual link value that you click to
activate. If the record has multiple links, additional links are
included using the MultiValue sub-element.
Even if there is only a single value, you need to specify a
closing tag for the Field element as opposed to representing it as
an empty element.

Appendix B: XML Formatting Used in Field Results 253


and Input
RSA Archer eGRC Platform Web Services API Guide

Field Field
ID Name Example

8 User/Groups Sample XML:


List <Field id="123" type="8">
<Groups>
<Group id="123" name="Asset
Administrators" desc="description" />
<Group id="345" name="Non-Asset
Administrators" desc="" />
</Groups>
<Users>
<User firstName="Joe" lastName="User"
id="123" />
</Users>
</Field>
The id attribute is the ID of the group or user. Under Groups, the
desc attribute contains the description of the group as shown
through the GUI (if defined).
If there are no groups or users, the field does not come back.
Similarly, if you do not have any of a particular type of value—
that is, no user or no group, that corresponding element is omitted
rather than returned empty.
Each member must be included as a separate value.
The id value is the userId (as returned by the
accesscontrol.LookupUserByFirstName method) or the groupId
(as returned by the accesscontrol.LookupGroup method).
The created or updated information is in the Users and Groups
elements, not in the Field element.

254 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Field Field
ID Name Example

9 Cross-Ref- Sample XML:


erence <Field id="123" type="9">
<Record id="9876" parentid=""
contentName="0001" match="1"
hasPermissions="True"/>
<Record id="5432" parentid=""
contentName="0002" match="1"
hasPermissions="True"/>
</Field>
The Cross-Reference field has the following attributes:
l Record id. The ID of the record referenced within the
Cross-Reference field.
l parentId. The parent ID of the record referred to in the
Cross-Reference field. This value is used if there is a cross
reference to a leveled application with Tree Display enabled.
l contentName. The value of the key field for the cross-
referenced record.
l match. Used if there is a cross reference to a leveled
application with Tree Display enabled. This value indicates
whether the record is directly selected (represented by a value
of "1") or is being displayed for context (represented by a
value of "0").
l hasPermissions. Determines whether the user has access
to the record when there is a record permissions field in the
cross-referenced application. A value of "True" indicates that
the user has access to the record and a value of "False"
indicates that the user does not have access to the record.

Appendix B: XML Formatting Used in Field Results 255


and Input
RSA Archer eGRC Platform Web Services API Guide

Field Field
ID Name Example

11 Attachment Sample XML:


<Field id="4903" type="11" fileID="410"
fileName="0001.xls" width="" height="">
</Field>
The Attachment field has the following attributes:
l fileID. The integer ID of the file within the document
repository.
l filename. The string name of the uploaded file.
l width. Not populated for attachments.
l height. Not populated for attachments.

If the record has multiple attachments, additional attachments are


included using the MultiValue sub-element.
Even if there is only a single value,you need to specify a closing
tag for the Field element as opposed to representing it as an
empty element.

Important: The Attachment field type is not supported for


creating or updating records.

12 Image Sample XML:


<Field id="4908" type="12" fileID="411"
fileName="0001.jpg" width="100"
height="100"></Field>
The Image field has the following attribute's:
l fileID. The integer ID of the file within the document
repository.
l fileName. The string name of the uploaded file.
l width. The width of the image as defined in Application
Builder.
l height. The height of the image as defined in Application
Builder.

If the record has multiple images, additional images are included


using the MultiValue sub-element.

Important: The Image field type is not supported for creating or


updating records.

256 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Field Field
ID Name Example

13 Risk Assess- The API does not support this field type.
ment

14 Cross-Appli- The API does not support this field type.


cation
Status Track- Note: The 1001 CAST field type is supported from its parent
ing application, for example, from Assets, not Vulnerabilities.

15 Record Per- Same as field type 8—User/Groups List.


mission

Appendix B: XML Formatting Used in Field Results 257


and Input
RSA Archer eGRC Platform Web Services API Guide

Field Field
ID Name Example

16 Matrix Sample XML:


<Field id="7766" type="16" rowId="17729"
rowValueName="High" rowValueColor=""
rowValueSecondColor="" columnId="17726
columnValueName="Confidentiality"
columnValueColor="" columnValueColor2="" >
<MultiValue rowId="17731"
rowValueName="Low" rowValueColor=""
rowValueSecondColor="" columnId="17726"
columnValueName="Confidentiality"
columnValueColor="" columnValueColor2="" />
<MultiValue rowId="17730"
rowValueName="Medium" rowValueColor=""
rowValueSecondColor="" columnId="17726"
columnValueName="Confidentiality"
columnValueColor="" columnValueColor2="" />
</Field>
The Matrix field has the following attributes:
l rowId. The integer ID of the row within the matrix.
l rowValueName. The string name of the row.
l rowValueColor. Contains the color (if specified) of the
value.
l rowValueSecondColor. A deprecated attribute.
l columnId. The integer ID of the column within the matrix.
l columnValueName. The string name of the column.
l columnValueColor. Contains the color (if specified) of the
value.
l columnValueSecondColor. A deprecated attribute.

The column and row IDs are important for adding or updating
records.

17 Calculated The API does not support this field type.


Field

258 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Field Field
ID Name Example

19 IP Address Sample XML:


<Field id="123" type="19" value="192.168.1.1"
/>
The value attribute must be a valid IPv4 address (in the
standard four octet format) or IPv6 address.

20 Record Sample XML:


Status <Field id="123" type="20" value="New" />
The value attribute is either "New" or "Updated".

21 First Pub- Sample XML:


lished Date <Field id="7608" type="21" value="12/12/2003
2:28 PM" />

22 Last Sample XML:


Updated <Field id="7608" type="22" value="12/12/2003
Date 2:28 PM" />

Appendix B: XML Formatting Used in Field Results 259


and Input
RSA Archer eGRC Platform Web Services API Guide

Field Field
ID Name Example

1001 CAST Sample XML:


<Field id="7612" type="1001" childFieldId="7611"
childModuleId="540" childModuleName="Questionaire"
moduleSearchPageNum="i6031" moduleSearchViewId="1"
totalCount="11">
<RecordValue selectValueId="1692"
selectValueName="AcceptRisk"
selectValueDefaultFlag="False"
selectValueColor="#004400" count="1" />
<RecordValue selectValueId="1693"
selectValueName="Alternate Solution"
selectValueDefaultFlag="False"
selectValueColor="#66AAFF" count="1" />
<RecordValue selectValueId="1694"
selectValueName="Implemented"
selectValueDefaultFlag="False"
selectValueColor="#33BB00" count="3" />
<RecordValue selectValueId="1695"
selectValueName="Not Applicable"
selectValueDefaultFlag="False"
selectValueColor="#000000" count="0" />
<RecordValue selectValueId="1696"
selectValueName="Not Implemented"
selectValueDefaultFlag="True"
selectValueColor="#990055" count="1" />
<RecordValue selectValueId="1697"
selectValueName="Time Extension"
selectValueDefaultFlag="False"
selectValueColor="#665533" count="1" />
</Field>

260 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Field Field
ID Name Example

The Field element supports the following attributes:


l childFieldId. The integer ID of the field in the child application.
l childModuleId. The integer ID of the child application used for
finding the related records by querying the child application.
l childModuleName. The string name of the child application.
l moduleSearchPageNum. An integer for the search characteristics.
It has no practical application within the API.
l moduleSearchViewId. An integer specifying how the results are
displayed. It has no practical application within the API.
l totalCount. An integer for the calculated value that appears in the
Total for the record.

The RecordValue element supports the following attributes:


l selectValueId. The integer ID of the corresponding values list
value.
l selectValueName. The string value that is displayed for this
values list value.
l selectValueDefaultFlag. A Boolean indicating whether or
not this values list item is the default value for the list.
l selectValueColor. A string containing the value for the display
color of the item. It has no practical application within the API.
l count. An integer specifying how many related records are set to
this value.

XML Formatting Guidelines for 5.x Search Input


In version 5.0 of the RSA Archer eGRC Platform, RSA implemented a new search
engine and two new methods to leverage this engine, search.ExecuteSearch and
search.ExecuteStatisticSearch. The search inputs for these methods are constructed
with XML.

Important: To facilitate migration to 5.x, version 5.x supports the legacy 4.x format
for constructing searches. However, when creating new searches, use the
search.ExecuteSearch and search.ExecuteStatisticSearch methods and the XML
syntax described in this section.

Appendix B: XML Formatting Used in Field Results 261


and Input
RSA Archer eGRC Platform Web Services API Guide

Important: To reference a field in the search parameters, RSA Archer recommends


using the GUID for that field instead of the SQL field ID. The GUID is listed in the
Application Detail Report as well as in Application Builder, by opening the Manage
Field page for that field. The GUID is displayed in the ID field on the General tab.

The following tables describe the elements used to form the search inputs.

Element Description

SearchReport The SearchReport element is the root of the search XML


document for searches that use the search.ExecuteSearch method.
It takes no attributes.

SearchStatisticReport The SearchStatisticReport element is the root of the search XML


document for searches that use the search.ExecuteStatisticSearch
method. It takes no attributes.

For a description of the sub-elements that you can specify under the SearchReport
and SearchStatisticReport elements, see the following topics:
l General Settings
l Result Display
l Search Criteria
l Keywords Search
l Filters
l Statistics Criteria
l Module Definition

General Settings
The following elements define general settings for the search. Use these elements
with either the search.ExecuteSearch or search.ExecuteStatisticSearch methods.

Element Description

PageSize Sample:
<PageSize>100</PageSize>
The number of records to return per page in the search results.

Note: This element is required.

262 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

MaxRecordCount Sample:
<MaxRecordCount>1000000</MaxRecordCount>
The maximum number of records to return in the search
results.

Note: This element is not required. Use this element with the
search.ExecuteSearch method only.

ShowStatSummaries Sample:
<ShowStatSummaries>true</ShowStatSummaries>
Determines whether to return a grand total for the aggregated
values in each grouping.

Note: This element is not required. Use this element with the
search.ExecuteStatisticSearch method only. The default value
is false.

Result Display
The following elements define result display settings for the search. Use these
elements with the search.ExecuteSearch method.

Important: You can use only one of these elements, not both.

Element Description

DisplayFields Sample:
<DisplayFields>
<DisplayField>12972</DisplayField>
<DisplayField>{0BDF0A10-F0FF-43B9-869B-
6F5A00BF1DCC}</DisplayField>
</DisplayFields>
The fields to display in the search results.

Note: This element requires the DisplayFieldsub-element to


specify each field to display. Use the GUID or SQL field ID
for the field.

Appendix B: XML Formatting Used in Field Results 263


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

ContainedDisplayFields Sample:
<ContainedDisplayFields>
<ContainedDisplayField>
<Field>12977</Field>
<DisplayFields>
<DisplayField>12972</DisplayField>
</DisplayFields>
</ContainedDisplayField>
</ContainedDisplayFields>
Defines how to display lists of values returned from a field.
This element is used for searches within fields that contain
other fields, such as subforms or history log fields.

Element Details

ContainedDisplayField The root of the display criteria for


each set of parent and child fields
to display.

Note: This element requires the


Field and DisplayFields sub-
elements.

Field The field that contains the lists of


values that you want to display.

Note: Use the GUID or the SQL


field ID for the field.

DisplayFields The fields to display for the search.

Note: This element requires the


DisplayField sub-element to specify
each field to display. Use the GUID
or the SQL field ID for the field.

Search Criteria
The search criteria is composed of the keywords and the search filters. Use this
element with the search.ExecuteSearch method.

264 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Criteria The Criteria element is the root of the search criteria.


It takes no attributes.

Note: For a description of the sub-elements that you


can specify under the Criteria root element, see
Keywords Search, Filters, Statistics Criteria, and
Module Definition.

Keywords Search
The following element defines the keywords to search. Use this element with the
search.ExecuteSearch method.

Element Description

Keywords Sample:
<Keywords>Risk</Keywords>
The text to search for. Keywords is a sub-element of the Criteria root
element.

Note: This element is optional.

Filters
The following elements define the filter criteria for the search. Use these elements
with the search.ExecuteSearch method. These elements are optional.

Element Description

Filter The Filter element is the root of the filter criteria. It takes no attributes.
You can specify the sub-elements in this table under the Filter root
element.

OperatorLogic The advanced operator logic for the filter criteria. This element uses the
same syntax as the Advanced Operator Logic field in the Filters section
of the Advanced Search page.

Appendix B: XML Formatting Used in Field Results 265


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Conditions Sample:
<Conditions>
<NumericFilterCondition>
<Operator>Equals</Operator>
<Field>5</Field>
<ParentField>8</ParentField>
<Value>22.5</Value>
</NumericFilterCondition>
</Conditions>
Specifies the filters to use in the search. This element requires one or
more of the sub-elements defined in Conditions.

Conditions
You must specify one or more of the following Conditions sub-elements under the
Filter root element.

266 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

ContentFilterCondition Sample:
<ContentFilterCondition>
<Level>1</Level>
<Operator>Equals</Operator>
<Values>
<Value>1</Value>
<Value>2</Value>
</Values>
</ContentFilterCondition>
A filter condition using record content. This replicates the
Filter by Record option in Advanced Search.

Element Description

Level In a leveled application, the level in which


the record resides.

Operator The operator to use in this condition.


Possible values:
l Equals
l DoesNotEqual

Values The records to evaluate in this condition.


Use the Value sub-element to specify the
SQL ID of each record.

Appendix B: XML Formatting Used in Field Results 267


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

DateComparison Sample:
FilterCondition <DateComparisonFilterCondition>
<Operator>Equals</Operator>
<Field>5</Field>
<ParentField>8</ParentField>
<Value>1/1/2008</Value>
<TimeZoneId>Central Standard
Time</TimeZoneId>
<IsTimeIncluded>TRUE</IsTimeIncluded>
</DateComparisonFilterCondition>
A filter condition that compares a date.

Element Description

Operator The operator to use in this condition.


Possible values:
l Equals
l DoesNotEqual
l GreaterThan
l LessThan
l AfterToday
l PriorToToday

Field The field to evaluate. Use the GUID or the


SQL field ID for that field.

ParentField The subform field if the field to evaluate is


within a subform. Use the GUID or the SQL
field ID for that subform.

Note: This element is not required.

Value The value to evaluate in this condition. This


element is not used with the AfterToday
and PriorToToday operators.

268 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Element Description

TimeZoneId The ID of the time zone you are searching


for. For additional information, see
Supported Time Zones.

Note: This element is only required if you


are using Time-Based Filtering.

IsTime Specifies whether to search for a time range


Included or not. Possible values:
l TRUE
l FALSE

Note: This element is only required if you


are using Time-Based Filtering.

Appendix B: XML Formatting Used in Field Results 269


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

DateRange Sample:
FilterCondition <DateRangeFilterCondition>
<Operator>Between</Operator>
<Field>5</Field>
<ParentField>8</ParentField>
<BeginValue>1/1/2008</BeginValue>
<EndValue>1/2/2008</EndValue>
<TimeZoneId>Central Standard
Time</TimeZoneId>
<IsTimeIncluded>TRUE</IsTimeIncluded>
</DateRangeFilterCondition>
A filter condition for date ranges.

Element Description

Operator The operator to use in this condition.


Possible value is: Between

Field The field to evaluate. Use the GUID or


the SQL field ID for that field.

ParentField The subform field if the field to evaluate


is within a subform. Use the GUID or the
SQL field ID for that subform.

BeginValue The first date in the range.

EndValue The last date in the range.

TimeZoneId The ID of the time zone you are searching


for. For additional information, see
Supported Time Zones.

Note: This element is only required if you


are using Time-Based Filtering.

270 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Element Description

IsTimeIncluded Specifies whether to search for a time


range or not. Possible values:
l TRUE
l FALSE

Note: This element is only required if you


are using Time-Based Filtering.

Appendix B: XML Formatting Used in Field Results 271


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

DateTimeRange Sample:
FilterCondition <DateTimeRangeFilterCondition>
<Field>15176</Field>
<BeginDate>7/7/2011</BeginDate>
<BeginTime>00:00</BeginTime>
<EndDate>7/14/2011</EndDate>
<EndTime>15:00</EndTime>
<TimeZoneId>Central Standard
Time</TimeZoneId>
<IsTimeIncluded>TRUE</IsTimeIncluded>
</DateTimeRangeFilterCondition>
A filter condition for date ranges.

Element Description

Field The field to evaluate. Use the GUID or


the SQL field ID for that field.

BeginDate The first date in the range.

BeginTime The first time in the range.

EndDate The last date in the range.

EndTime The last time in the range.

TimeZoneId The ID of the time zone you are searching


for. For additional information, see
Supported Time Zones.

Note: This element is only required if you


are using Time-Based Filtering.

IsTimeIncluded Specifies whether to search for a time


range or not. Possible values:
l TRUE
l FALSE

Note: This element is only required if you


are using Time-Based Filtering.

272 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

DateOffset Sample:
FilterCondition <DateOffsetFilterCondition>
<Operator>LastXDays</Operator>
<Field>5</Field>
<ParentField>8</ParentField>
<Value>22</Value>
<TimeZoneId>Central Standard
Time</TimeZoneId>
<IsTimeIncluded>TRUE</IsTimeIncluded>
</DateOffsetFilterCondition>
A filter condition before or after the current date.

Element Description

Operator The operator to use in this condition.


Possible values:
l LastXDays
l LastXMonths
l LastXQuarters
l LastXYears
l NextXDays
l NextXMonths
l NextXQuarters
l NextXYears

Field The field to evaluate. Use the GUID or the


SQL field ID for that field.

ParentField The subform field if the field to evaluate is


within a subform. Use the GUID or the SQL
field ID for that subform.

Value The number of days, months, quarters, or


years before or after the current date.

Important: The value must be an integer.

Appendix B: XML Formatting Used in Field Results 273


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Element Description

TimeZoneId The ID of the time zone you are searching


for. For additional information, see
Supported Time Zones.

Note: This element is only required if you


are using Time-Based Filtering.

IsTime Specifies whether to search for a time range


Included or not. Possible values:
l TRUE
l FALSE

Note: This element is only required if you


are using Time-Based Filtering.

274 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

CurrentDate Sample:
FilterCondition <CurrentDateFilterCondition>
<Operator>CurrentDay</Operator>
<Field>5</Field>
<ParentField>8</ParentField>
<TimeZoneId>Central Standard
Time</TimeZoneId>
<IsTimeIncluded>TRUE</IsTimeIncluded>
</CurrentDateFilterCondition>
A filter condition using the current date.

Element Description

Operator The operator to use in this condition.


Possible values:
l CurrentDay
l CurrentMonth
l CurrentQuarter
l CurrentYear

Field The field to evaluate. Use the GUID or


the SQL field ID for that field.

Value The subform if the field to evaluate is


within a subform. Use the GUID or the
SQL field ID for that subform.

TimeZoneId The ID of the time zone you are searching


for. For additional information, see
Supported Time Zones.

Note: This element is only required if you


are using Time-Based Filtering.

Appendix B: XML Formatting Used in Field Results 275


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Element Description

IsTimeIncluded Specifies whether to search for a time


range or not. Possible values:
l TRUE
l FALSE

Note: This element is only required if you


are using Time-Based Filtering.

NumericFilterCondition Sample:
<NumericFilterCondition>
<Operator>Equals</Operator>
<Field>5</Field>
<ParentField>8</ParentField>
<Value>22.5</Value>
</NumericFilterCondition>
A filter condition using numeric fields.

Element Description

Operator The operator to use in this condition.


Possible values:
l Equals
l NotEqual
l GreaterThan
l LessThan

Field The field to evaluate. Use the GUID or the


SQL field ID for that field.

ParentField The subform field if the field to evaluate is


within a subform. Use the GUID or the SQL
field ID for that subform.

Value The value to evaluate.

276 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

NumericRange Sample:
FilterCondition <NumericRangeFilterCondition>
<Operator>Contains</Operator>
<Field>5</Field>
<ParentField>8</ParentField>
<Values>
<Value>1</Value>
<Value>2</Value>
</Values>
</NumericRangeFilterCondition>
A filter condition using ranges of numbers.

Element Description

Operator The operator to use in this condition.


Possible values:
l Contains
l DoesNotContain

Field The field to evaluate. Use the GUID or the


SQL field ID for that field.

ParentField The subform field if the field to evaluate is


within a subform. Use the GUID or the SQL
field ID for that subform.

Value The numeric ranges that you want to


evaluate in this condition. Use the Value
sub-element to specify the IDs of the
numeric ranges.

Appendix B: XML Formatting Used in Field Results 277


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

NumericBetween Sample:
FilterCondition <NumericBetweenFilterCondition>
<Operator>Between</Operator>
<Field>5</Field>
<ParentField>8</ParentField>
<BeginValue>5.1</BeginValue>
<EndValue>8.2</EndValue>
</NumericBetweenFilterCondition>
A filter condition specifying values within a numeric range.

Element Description

Operator The operator to use in this condition.


Possible value is: Between

Field The field to evaluate. Use the GUID or the


SQL field ID for that field.

ParentField The subform field if the field to evaluate is


within a subform. Use the GUID or the SQL
field ID for that subform.

BeginValue The first value in the range.

EndValue The last value in the range.

278 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

RecordStatus Sample:
FilterCondition <RecordStatusFilterCondition>
<Operator>DoesNotEqual</Operator>
<Field>5</Field>
<RecordStatusType>New</RecordStatusType>
</RecordStatusFilterCondition>
A filter condition using the record status.

Element Description

Operator The operator to use in this condition.


Possible values:
l Equals
l DoesNotEqual

Field The field to evaluate. Use the GUID or


the SQL field ID for that field.

ParentField The subform field if the field to


evaluate is within a subform. Use the
GUID or the SQL field ID for that
subform.

RecordStatusType The record status type that you want to


evaluate in this condition. Possible
values are:
l New
l Updated

Appendix B: XML Formatting Used in Field Results 279


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

ValueListFilterCondition Sample:
<ValueListFilterCondition>
<Operator>Contains</Operator>
<Field>5</Field>
<IsNoSelectionIncluded>True
</IsNoSelectionIncluded>
<Values>
<Value>1</Value>
<Value>2</Value>
</Values>
</ValueListFilterCondition>
A filter condition using a values list.

Element Description

Operator The operator to use in this


condition. Possible values:
l Equals
l DoesNotEqual
l Contains
l DoesNotContain

Field The field to evaluate. Use the


GUID or the SQL field ID for that
field.

IsNoSelectionIncluded Specifies whether to return records


without a value selected in that
field.

ParentField The subform field if the field to


evaluate is within a subform. Use
the GUID or the SQL field ID for
that subform.

Value The values to evaluate in this


condition. Use the select value id
for each select value.

280 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

UserGroup Sample:
FilterCondition <UserGroupFilterCondition>
<Operator>Contains</Operator>
<Field>5</Field>
<IsNoSelectionIncluded>True
</IsNoSelectionIncluded>
<Groups>
<Group>1</Group>
<Group>2</Group>
</Groups>
<Users>
<User>1</User>
<User>2</User>
</Users>
</UserGroupFilterCondition>
A filter condition using user groups.

Element Description

Operator The operator to use in this condition.


Possible values:
l Equals
l DoesNotEqual
l Contains
l DoesNotContain
l AfterToday
l PriorToToday

Field The field to evaluate. Use the GUID or the


SQL field ID for that field.

ParentField The subform field if the field to evaluate is


within a subform. Use the GUID or the SQL
field ID for that subform.

IsNo Specifies whether to return records without a


Selection value selected in that field.
Included

Appendix B: XML Formatting Used in Field Results 281


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Element Description

Groups The group to evaluate in this condition. Use


the Group sub-element to specify the SQL
ID of each group to include in the filter.

Users The users to evaluate in this condition. Use


the User sub-element to specify the SQL ID
of each user to include in the filter.

TextFilterCondition Sample:
<TextFilterCondition>
<Operator>Contains</Operator>
<Field>5</Field>
<Value>Hello</Value>
</TextFilterCondition>
A filter condition using text.

Element Description

Operator The operator to use in this condition.


Possible values:
l Equals
l DoesNotEqual
l Contains
l DoesNotContain

ParentField The subform field if the field to evaluate is


within a subform. Use the GUID or the SQL
field ID for that subform.

Note: This element is not required.

Value The text to evaluate in this condition.

282 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

MatrixFilterCondition Sample:
<MatrixFilterCondition>
<Operator>Contains</Operator>
<Field>5</Field>
<IsNoSelectionIncluded>True
</IsNoSelectionIncluded>
<Row id="1">
<Column>5</Column>
<Column>6</Column>
</Row>
<Row id="2">
<Column>7</Column>
<Column>9</Column>
</Row>
</MatrixFilterCondition>
A filter condition using the matrix field.

Element Description

Operator The operator to use in this


condition. Possible values:
l Equals
l DoesNotEqual
l Contains
l DoesNotContain

Field The field to evaluate. Use the


GUID or the SQL field ID for that
field.

IsNoSelectionIncluded Specifies whether to return records


without a value selected in that
field.

ParentField The subform field if the field to


evaluate is within a subform. Use
the GUID or the SQL field ID for
that subform.

Appendix B: XML Formatting Used in Field Results 283


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Element Description

Row id="SQL_ID" The row to evaluate. Specify the


SQL ID of the row. This element
uses the Column sub-element to
specify the SQL ID of column
within the row.

Column The column to evaluate. Specify


the SQL ID of the column within
the row.

284 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

ReferenceFilterCondition Sample:
<ReferenceFilterCondition>
<Operator>Contains</Operator>
<Field>5</Field>
<IsNoSelectionIncluded>False
</IsNoSelectionIncluded>
<Level id="1">
<Content>5</Content>
<Content>6</Content>
</Level>
<Level id="2">
<Content>7</Content>
<Content>9</Content>
</Level>
</ReferenceFilterCondition>
A filter condition using a reference field.

Element Description

Operator The operator to use in this


condition. Possible values:
l Equals
l DoesNotEqual
l Contains
l DoesNotContain

Field The field to evaluate. Use the


GUID or the SQL field ID for that
field.

ParentField The subform field if the field to


evaluate is within a subform. Use
the GUID or the SQL field ID for
that subform.

Note: This element is not required.

IsNoSelectionIncluded Specifies whether to return records


without a value selected in that
field.

Appendix B: XML Formatting Used in Field Results 285


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Element Description

Level The SQL ID of the level in which


the record resides. All applications
have at least one level. The Level
element uses the Content sub-
element to specify the SQL ID of
the content.

Content The SQL ID of the content in the


specified level.

286 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

IpAddressFilterCondition Sample using IPv4 address:


<IpAddressFilterCondition>
<Field>5</Field>
<Operator>Equals</Operator>
<Octet1>255</Octet1>
<Octet2>1</Octet2>
<Octet3>3</Octet3>
<Octet4>4</Octet4>
</IpAddressFilterCondition>
Sample using IPv6 address:
<IpAddressFilterCondition>
<Field>5</Field>
<Operator>Equals</Operator>
<Value>2001::001a</Value>
</IpAddressFilterCondition>
A filter condition using IP address. To filter multiple
addresses, define multiple IpAddressFilterCondition nodes
and join them using the OperatorLogic element.

Element Description

Operator The operator to use in this condition.


Possible values:
l Equals
l DoesNotEqual

For IPv4 addresses, use the following sub-


elements to specify the IP address:
l Octet1
l Octet2
l Octet3
l Octet4

For IPv6 addresses, use the following sub-


element to specify the IP address in short or
long notation: Value

Note: The Value sub-element can also be


used for IPv4 addresses.

Appendix B: XML Formatting Used in Field Results 287


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Element Description

Field The field to evaluate. Use the GUID or the


SQL field ID for that field.

ParentField The subform field if the field to evaluate is


within a subform. Use the GUID or the SQL
field ID for that subform.

CastFilterCondition Sample:
<CastFilterCondition>
<Operator>Contains</Operator>
<Field>5</Field>
<Value>12</Value>
</CastFilterCondition>
A filter condition using CAST fields.

Element Description

Operator The operator to use in this condition.


Possible values:
l Equals
l DoesNotEqual
l Contains
l DoesNotContain

Field The field to evaluate. Use the GUID or the


SQL field ID for that field.

ParentField The subform field if the field to evaluate is


within a subform. Use the GUID or the SQL
field ID for that subform.

Value The values list to evaluate in this condition.


Use the GUID or the SQL field ID for that
values list.

Statistics Criteria
The following elements define the statistics criteria. Use these elements with the
search.ExecuteStatisticSearch method.

288 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

StatisticCriteria The StatisticCriteria element is the root of the module definition.


It takes no attributes. You can specify the following sub-elements
in this table under the StatisticCriteria root element.

IncludeEmptyGroups Sample:
<IncludeEmptyGroups>false</IncludeEmptyGroups>
Determines whether to include empty groups in the search criteria.

Note: This element is not required. The default value is false.

Appendix B: XML Formatting Used in Field Results 289


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

StatisticStep Sample:
<StatisticSteps>
<StatisticStep>
<Field>1</Field>
<StepIndex>0</StepIndex>
<Name>Display Name</Name>
<StepType>GroupByDateRange</StepType>
<Action>GroupByDay</Action>
</StatisticStep>
</StatisticSteps>
Determines the fields to include in the results and how to sort the
data.

Element Description

StatisticsStep The root of the step criteria for each step.

Field The field to evaluate. Use the GUID or the


SQL field ID for that field.

StepIndex An integer value that identifies the order in


which this step should be evaluated. The first
step must be 0.

Note: This value is also referenced in the


SortSteps element.

Name The name to display in the results.

StepType Determines how this step is evaluated. Possible


values:
l Count
l DateAggregate
l GroupBy
l GroupByDateRange
l GroupByMatrix
l NumericAggregate

290 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Element Description

Action The action to take for certain step types. If the


StepType is GroupByDateRange, specify:
l GroupByDay
l GroupByWeek
l GroupByMonth
l GroupByQuarter
l GroupByYear

If the StepType is DateAggregate, specify:


l Min
l Max

If the StepType is GroupByMatrix, specify:


l Row
l Column

If the StepType is NumericAggregate,


specify:
l Average
l Min
l Max
l Sum
l Median
l Mode

Appendix B: XML Formatting Used in Field Results 291


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

SortSteps Sample:
<SortSteps>
<SortStep>
<StepIndex>0</StepIndex>
<SortType>Ascending</SortType>
</SortStep>
</SortSteps>
Determines the order in which the data is sorted in the results.

Element Description

SortStep The root of the sort criteria for the step. This
element requires the sub-elements StepIndex and
SortType.

StepIndex Determines which step to sort. This value


corresponds with the value in the StepIndex sub-
element of the StatisticsStep element.

Note: The first value is 0.

SortType The type of sort. Possible values:


l Ascending
l Descending

Module Definition
A module is an application or a questionnaire. This section specifies the module
that you want to search. Use these elements with either the search.ExecuteSearch
or search.ExecuteStatisticSearch methods.

Element Description

ModuleCriteria The ModuleCriteria element is the root of the module definition and
takes no attributes. You can specify the following sub-elements in
this table under ModuleCriteria root element.

Module Sample:
<Module>764</Module>
The GUID or SQL ID of the primary application or questionnaire to
search.

292 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

IsKeywordModule Sample:
<IsKeywordModule>false</IsKeywordModule>
Determines whether to search this module for keywords. Possible
values:
l True
l False

Note: This element is required if you are performing a keyword


search. Otherwise, the default is false.

Buildout Sample:
Relationship <BuildoutRelationship>Union
</BuildoutRelationship>
Determines whether to search the module using an outer join
(Union) or an inner join (Intersection). Possible values:
l Union
l Intersection

Note: This element is not required. The default is Union.

Leveled Sample:
BuildoutOptions <LeveledBuildoutOptions>BuildUp
</LeveledBuildoutOptions>
When searching leveled modules, this element determines whether
to search parent modules (build up). Possible values:
l BuildUp
l Intersection

Note: This element is not required. The default is None.

Appendix B: XML Formatting Used in Field Results 293


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

SortFields Sample:
<SortFields>
<SortField>
<Field>12972</Field>
<SortType>Ascending</SortType>
</SortField>
</SortFields>
Defines the sort criteria.

Element Description

SortField The container for each field to sort. It takes no


attributes. You can specify the following sub-
elements in this table under the SortField root
element.

Field The field to sort by. Use the GUID or the SQL
field ID for that field.

Note: If you supply multiple Field values, they are


resolved in the order you entered them.

SortType The type of sort for this field. Possible values:


l Ascending
l Descending

294 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Children Sample:
<Children>
<ModuleCriteria>
<Module>765</Module>
<IsKeywordModule>false</IsKeywordModule>
<BuildoutRelationship>Union
</BuildoutRelationship>
<LeveledBuildoutOptions>BuildDown
</LeveledBuildoutOptions>
<SortFields>
<SortField>
<Field>12976</Field>
<SortType>Ascending</SortType>
</SortField>
</SortFields>
</ModuleCriteria>
</Children>
For modules that are related to other modules using a cross-reference
field or a related-records relationship, the Children element defines
each child module to include in the search. It takes the same
elements as the module definition.

XML Formatting Guidelines for Legacy Input


When you search using the RSA Archer Web Services API supported in version
4.x, the searches are typically constructed with XML. The following tables
document the different elements that are used to form the search.

Important: This section describes the search engine used in version 4.x and earlier.
To facilitate migration to 5.x, version 5.x supports this legacy format. However, for
new searches, use the syntax for the new search engine. For more information, see
XML Formatting Guidelines for 5.x Search Input.

Element Description

Search The Search element is the root of the search XML document and takes no
attributes.

For a description of the sub-elements that you can specify under the Search root
element, see the following topics:

Appendix B: XML Formatting Used in Field Results 295


and Input
RSA Archer eGRC Platform Web Services API Guide

l Keyword Search
l Result Display
l Special Search Characteristics
l Filter

Keyword Search
If you are using any keyword searching, you must include the Keywords element. If
you are searching using filters, you can omit this sub-element.

Element Description

Keywords Sample:
<Keywords value="password" />
The Keywords element has one attribute: value. Specify search keywords
for the value attribute as you would if searching within the application.
This element supports all query types supported in the application, for
example, “important document", document*, receive~, important AND
document. The API separates search terms with the OR operator by default.

Note: To search for a quoted search string, for example, "password


validation" to return records that contain a specific phrase only, format the
element as follows:

<Keywords value=" &quot; password validation &quot;


" />

Result Display
Each of these elements are required unless otherwise stated.

Element Description

Display Sample:
<Display>
<Field id="7609" />
<Field id="7606" />
</Display>
This element has no attributes, but it requires you to specify Field
sub-elements.

296 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Field Sample:
<Field id="7609" />
The Field element has just one attribute: id. The value of this
attribute is the identification number of a field as shown in the
Application Detail Report generated from Application Builder or
seen using the record.GetRecordbyId method.

KeywordModules Sample:
<KeywordModules>
<Module id="101" />
</KeywordModules>
This element has no attributes, but it requires you to specify
Module sub-elements.

Module Sample:
<Module id="101" />
The Module element has just one attribute: id. The value of this
attribute is the identifiction number of the application in which you
want to search. To obtain the Module id, view the Application
Detail Report in the Platform, and record the value of the
Application ID. This value serves as the Module id.

Primary Sort Sample:


<PrimarySort id="7606" order="ASC" />
This element requires two attributes:
l id. This attribute is the Field id of the field that you want to use
as the primary sort field in the results.
l order. This attribute has two acceptable values that specify
how you sort:
o ASC (ascending sort order).
o DESC (descending sort order).

Appendix B: XML Formatting Used in Field Results 297


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Secondary Sort Sample:


<SecondarySort id="7609" order="ASC" />
This is an optional element. It requires two attributes:
l id. This attribute is the Field id of the field that you want to use
as the secondary sort field in the results.
l order. This attribute has two acceptable values that specify
how you sort:
o ASC (ascending sort order).
o DESC (descending sort order).

Display Format Sample:


<DisplayFormat value="3" />
This element defines how to format the results. Currently, the only
value supported is 3 – Summary format.

Special Search Characteristics


The following table describes optional elements that can be used to allow non-
default searching.

Element Description

Content Sample:
Review <Workflow value="1" />
When set to "1", the value attribute allows you to configure the search to
return records that are enrolled in workflow. Setting the value attribute to
"0" has the same result as omitting the element.

Published Sample:
<Published value="1" />
When set to "1", the value attribute allows you to configure the search to
return records that are published (the same as omitting the element). Setting
the value attribute to "0" excludes any published records from the results.

298 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

MyRecord Sample:
<MyRecord value="1" />
When set to "1", the value attribute allows you to configure the search to
return all records. Setting the value attribute to "0" excludes any records
that are not owned by or permissioned to the application account (the same
as omitting the element). This element is useful when searching
applications with record permissions. To use this ability (value="1"), you
must configure the account with an access role for which the Members of
this role can view all records in associated applications.

Filter
The following optional elements allow you to filter your results. Each element is a
nested structure containing the information described in the following table.

Appendix B: XML Formatting Used in Field Results 299


and Input
RSA Archer eGRC Platform Web Services API Guide

Element Description

Matching Sample:
<Matching>
<Field id="7612">
<Include noValues="1">
<Value value="1740" />
</Include>
</Field>
</Matching>
The Matching element allows you to create filters based on
records with specific values-list values. It supports one or more
Field child elements. If you do not want to use this type of filter,
omit the whole Matching element rather than including an
empty one.

Element Description

Field The Field element has an id attribute that


holds the identification number of the field
in which to use the filter. Typically, this
support is limited to values list fields. The
Field element requires at least one of its
two child elements: Include and Exclude.

Include Each of these elements has a noValues


and attribute that allows you specify the No
Exclude Selection value. Setting the value to "0"
omits those records from the element. A
value of "1" includes the records. Addi-
tionally, each of these supports (and
requires) a Value child element.

Value The Value element has a required attribute


of the same name: value (note the case dif-
ference). Use the ValuesListValueId of the
item you want to filter on.

300 Appendix B: XML Formatting Used in Field Results and


Input
RSA Archer eGRC Platform Web Services API Guide

Appendix C: Supported Locales


The following locales are supported by the RSA Archer eGRC Platform.

Display Name Locale ID Codes

English-Australia en-AU

English-Belize en-BZ

English-Canada en-CA

English-Caribbean en-029

English-Ireland en-IE

English-Jamaica en-JM

English-New Zealand en-NZ

English-Philippines en-PH

English-South Africa en-ZA

English-Trinidad and Tobago en-TT

English-United Kingdom en-GB

English-United States en-US

English-Zimbabwe en-ZW

French-Belgium fr-BE

French-Canada fr-CA

French-France fr-FR

French-Luxembourg fr-LU

French-Monaco fr-MC

French-Switzerland fr-CH

Appendix C: Supported Locales 301


RSA Archer eGRC Platform Web Services API Guide

Display Name Locale ID Codes

German-Austria de-AT

German-Germany de-DE

German-Liechtenstein de-LI

German-Luxembourg de-LU

German-Switzerland de-CH

Japanese-Japan ja-JP

Spanish-Argentina es-AR

Spanish-Bolivia es-BO

Spanish-Chile es-CL

Spanish-Colombia es-CO

Spanish-Costa Rica es-CR

Spanish-Ecuador es-EC

Spanish-El Savador es-SV

Spanish-Guatemala es-GT

Spanish-Honduras es-HN

Spanish-Mexico es-MX

Spanish-Nicaragua es-NI

Spanish-Panama es-PA

Spanish-Paraguay es-PY

Spanish-Peru es-PE

Spanish-Puerto Rico es-PR

Spanish-Spain es-ES

302 Appendix C: Supported Locales


RSA Archer eGRC Platform Web Services API Guide

Display Name Locale ID Codes

Spanish-Uruguay es-UY

Spanish-Venezuela es-VE

Appendix C: Supported Locales 303


RSA Archer eGRC Platform Web Services API Guide

Appendix D: Supported Time Zones


The following time zones are supported by the RSA Archer eGRC Platform.

Note: This list is important for setting up the accesscontrol.CreateUserEx method.

Important: The Time Zone column are the values passed to the
accesscontrol.CreateUserEx method.

Time Zone Display

Afghanistan Standard Time (GMT+04:30) Kabul

Alaskan Standard Time (GMT-09:00) Alaska

Arab Standard Time (GMT+03:00) Kuwait, Riyadh

Arabian Standard Time (GMT+04:00) Abu Dhabi, Muscat

Arabic Standard Time (GMT+03:00) Baghdad

Atlantic Standard Time (GMT-04:00) Atlantic Time (Canada)

AUS Central Standard Time (GMT+09:30) Darwin

AUS Eastern Standard Time (GMT+10:00) Canberra, Melbourne, Sydney

Azerbaijan Standard Time (GMT +04:00) Baku

Azores Standard Time (GMT-01:00) Azores

Canada Central Standard (GMT-06:00) Saskatchewan


Time

Cape Verde Standard Time (GMT-01:00) Cape Verde Islands

Caucasus Standard Time (GMT+04:00) Yerevan

Cen. Australia Standard (GMT+09:30) Adelaide


Time

Central America Standard (GMT-06:00) Central America


Time

Appendix D: Supported Time Zones 305


RSA Archer eGRC Platform Web Services API Guide

Time Zone Display

Central Asia Standard Time (GMT+06:00) Astana, Dhaka

Central Brazilian Standard (GMT -04:00) Manaus


Time

Central Europe Standard (GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana,


Time Prague

Central European Standard (GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb


Time

Central Pacific Standard (GMT+11:00) Magadan, Solomon Islands, New Cale-


Time donia

Central Standard Time (GMT-06:00) Central Time (US and Canada)

Central Standard Time (Mex- (GMT-06:00) Guadalajara, Mexico City, Monterrey


ico)

China Standard Time (GMT+08:00) Beijing, Chongqing, Hong Kong SAR,


Urumqi

Dateline Standard Time (GMT-12:00) International Date Line West

E. Africa Standard Time (GMT+03:00) Nairobi

E. Australia Standard Time (GMT+10:00) Brisbane

E. Europe Standard Time (GMT+02:00) Minsk

E. South America Standard (GMT-03:00) Brasilia


Time

Eastern Standard Time (GMT-05:00) Eastern Time (US and Canada)

Egypt Standard Time (GMT+02:00) Cairo

Ekaterinburg Standard Time (GMT+05:00) Ekaterinburg

Fiji Standard Time (GMT+12:00) Fiji Islands, Kamchatka, Marshall Islands

FLE Standard Time (GMT+02:00) Helsinki, Kiev, Riga, Sofia, Tallinn, Vil-
nius

306 Appendix D: Supported Time Zones


RSA Archer eGRC Platform Web Services API Guide

Time Zone Display

Georgian Standard Time (GMT +04:00) Tblisi

GMT Standard Time (GMT) Greenwich Mean Time : Dublin, Edinburgh, Lis-
bon, London

Greenland Standard Time (GMT-03:00) Greenland

Greenwich Standard Time (GMT) Casablanca, Monrovia

GTB Standard Time (GMT+02:00) Athens, Bucharest, Istanbul

Hawaiian Standard Time (GMT-10:00) Hawaii

India Standard Time (GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi

Iran Standard Time (GMT+03:30) Tehran

Israel Standard Time (GMT+02:00) Jerusalem

Korea Standard Time (GMT+09:00) Seoul

Mid-Atlantic Standard Time (GMT-02:00) Mid-Atlantic

Mountain Standard Time (GMT-07:00) Mountain Time (US and Canada)

Mountain Standard Time (GMT-07:00) Chihuahua, La Paz, Mazatlan


(Mexico)

Myanmar Standard Time (GMT+06:30) Yangon (Rangoon)

N. Central Asia Standard (GMT+06:00) Almaty, Novosibirsk


Time

Namibia Standard Time (GMT +02:00) Windhoek

Nepal Standard Time (GMT+05:45) Kathmandu

New Zealand Standard Time (GMT+12:00) Auckland, Wellington

Newfoundland Standard (GMT-03:30) Newfoundland and Labrador


Time

Appendix D: Supported Time Zones 307


RSA Archer eGRC Platform Web Services API Guide

Time Zone Display

North Asia East Standard (GMT+08:00) Irkutsk, Ulaanbaatar


Time

North Asia Standard Time (GMT+07:00) Krasnoyarsk

Pacific SA Standard Time (GMT-04:00) Santiago

Pacific Standard Time (GMT-08:00) Pacific Time (US and Canada), Tijuana

Romance Standard Time (GMT+01:00) Brussels, Copenhagen, Madrid, Paris

Russian Standard Time (GMT+03:00) Moscow, St. Petersburg, Volgograd

SA Eastern Standard Time (GMT-03:00) Buenos Aires, Georgetown

SA Pacific Standard Time (GMT-05:00) Bogota, Lima, Quito

SA Western Standard Time (GMT-04:00) Caracas, La Paz

Samoa Standard Time (GMT-11:00) Midway Island, Samoa

SE Asia Standard Time (GMT+07:00) Bangkok, Hanoi, Jakarta

Singapore Standard Time (GMT+08:00) Kuala Lumpur, Singapore

South Africa Standard Time (GMT+02:00) Harare, Pretoria

Sri Lanka Standard Time (GMT+06:00) Sri Jayawardenepura

Taipei Standard Time (GMT+08:00) Taipei

Tasmania Standard Time (GMT+10:00) Hobart

Tokyo Standard Time (GMT+09:00) Osaka, Sapporo, Tokyo

Tonga Standard Time (GMT+13:00) Nuku'alofa

US Eastern Standard Time (GMT-05:00) Indiana (East)

US Mountain Standard Time (GMT-07:00) Arizona

Vladivostok Standard Time (GMT+10:00) Vladivostok

308 Appendix D: Supported Time Zones


RSA Archer eGRC Platform Web Services API Guide

Time Zone Display

W. Australia Standard Time (GMT+08:00) Perth

W. Central Africa Standard (GMT+01:00) West Central Africa


Time

W. Europe Standard Time (GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stock-


holm, Vienna

West Asia Standard Time (GMT+05:00) Islamabad, Karachi, Tashkent

West Pacific Standard Time (GMT+10:00) Guam, Port Moresby

Yakutsk Standard Time (GMT+09:00) Yakutsk

Appendix D: Supported Time Zones 309

You might also like