EGRCPlatform 5.3 WebAPI
EGRCPlatform 5.3 WebAPI
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
7
RSA Archer eGRC Platform Web Services API Guide
8
RSA Archer eGRC Platform Web Services API Guide
9
RSA Archer eGRC Platform Web Services API Guide
Preface
Product Documentation
For information about the RSA Archer eGRC Platform 5.x, see the following
documentation.
Guide Description
Preface 11
RSA Archer eGRC Platform Web Services API Guide
Guide Description
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.
Customer archersupport@rsa.com
Support E-mail
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
Preface 13
RSA Archer eGRC Platform Web Services API Guide
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
o Terminate
For more information on the permissions required for each web services, see the
individual web service methods.
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
responses.
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.
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.
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.
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.
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.
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
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
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.
AddContactInfo
The AddContactInfo method adds contact information, such as email addresses and
phone numbers, to a user's account.
Before invoking this method, obtain your system's contact type IDs and contact
subtype IDs using the following methods:
l GetContactTypes
l accesscontrol.GetContactSubTypes
Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the AddContactInfo method are described in the
following table.
Data
Parameter Value
Type
Data
Parameter Value
Type
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.
Data
Parameter Value
Type
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.
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
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.
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
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.
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.
Data
Parameter Value
Type
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.
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
Data
Parameter Value
Type
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.
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
Data
Parameter Value
Type
Data
Parameter Value
Type
`~!@#$%^&*()_+-={}|:"<>?[]
\;’,./
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.
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
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.
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
Data
Parameter Value
Type
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.
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.
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
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.
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.
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
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.
DeleteGroup
The DeleteGroup method removes the specified group from the system.
Usage
Privileges. This method requires Delete privileges.
Parameters. The parameters for the DeleteGroup method are described in the
following table.
Data
Parameter Value
Type
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
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.
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
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
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.
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
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
Data
Parameter Value
Type
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.
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
contactTypeId Integer Contact type ID for the e-mail or phone contact type, as
contained in the results of the accesscontrol.GetContactTypes
method.
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.
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
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.
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
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 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.
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
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.
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.
Data
Parameter Value
Type
page Integer Page of the user list that you want to return.
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.
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
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.
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
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.
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
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
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.
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
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.
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
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.
Data
Parameter Value
Type
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.
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
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.
GetUserList
The GetUserList method returns a list of all users in the system.
Usage
Privileges. This method requires Read privileges.
Parameter. The parameter for the GetUserList method is described in the
following table.
Data
Parameter Value
Type
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
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.
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
Page Integer Page of the user list that you want to return.
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.
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.
Data
Parameter Value
Type
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.
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
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.
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
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.
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
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.
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
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.
Data
Parameter Value
Type
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.
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
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.
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
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
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.
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
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.
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.
Data
Parameter Value
Type
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.
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
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.
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
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.
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
Usage
Privileges. This method requires Update privileges.
Parameters. The parameters for the UpdateContactInfo method are described in
the following table.
Data
Parameter Value
Type
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.
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
Data
Parameter Value
Type
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.
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
Data
Parameter Value
Type
Data
Parameter Value
Type
`~!@#$%^&*()_+-={}|:"<>?[]
\;’,./
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.
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
Data
Parameter Value
Type
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
Data
Parameter Value
Type
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.
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
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.
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
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
Data
Parameter Value
Type
timeZone String User time zone. Use the .NET time zone ID property.
locale String User locale. Use the .NET CultureInfo name property, for
example, en-US.
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
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.
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
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.
UseDaylightSavings
Important: This method is Disabled. No replacement currently exists.
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
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.
Parameters. The parameters for the DeleteRole method are described in the
following table.
Data
Parameter Value
Type
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
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.
Data
Parameter Value
Type
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.
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
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.
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
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.
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.
Data
Parameter Value
Type
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
moduleId Integer Internal ID of the application for which to return the role page
permissions.
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.
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
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.
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.
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.
Data
Parameter Value
Type
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.
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.
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
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.
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.
CreateValuesListValueChild
Important: This method is Disabled. No replacement currently exists.
DeleteValuesListValue
The DeleteValuesListValue method removes the specified values list item.
Usage
Privileges. This method requires Delete privileges.
Parameters. The parameters for the DeleteValuesListValue method are described
in the following table.
Data
Parameter Value
Type
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.
GetFieldIdByGUID
The GetFieldIDByGUID method returns the Field ID of the field associated with
the specified GUID.
Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetFieldIDByGUID method are described in
the following table.
Data
Parameter Value
Type
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.
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.
Data
Parameter Value
Type
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.
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
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.
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
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.
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.
Data
Parameter Value
Type
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.
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
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.
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
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.
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
fieldId Integer Internal ID of the field using the values list you want to query.
Data
Parameter Value
Type
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.
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
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.
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
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.
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.
Data
Parameter Value
Type
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.
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.
username String Name of the instance where the session should be created.
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.
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.
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.
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
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.
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.
Data
Parameter Value
Type
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.
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
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
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.
Data
Parameter Value
Type
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.
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
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.
CreateRecord
The CreateRecord method creates a record using the specified values.
Usage
Privileges. This method requires Create privileges.
Parameters. The parameters for the CreateRecord method are described in the
following table.
Data
Parameter Value
Type
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
Data
Parameter Value
Type
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
Data
Parameter Value
Type
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.
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
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 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
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.
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
Data
Parameter Value
Type
Output. This method returns a string. The value is an XML string containing a list
of IDs.
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
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.
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
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.
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
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
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
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.
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.
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
keywords String Search keywords as you would enter them if searching in the
solution.
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.
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.
Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the ExecuteSearch method are described in the
following table.
Data
Parameter Value
Type
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.
Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the ExecuteStatisticSearch method are described
in the following table.
Data
Parameter Value
Type
Data
Parameter Value
Type
Output. This method returns a string. The value is an XML string containing the
fields of records matching the statistics search criteria.
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
reportIdOrGuid String Internal ID or GUID of the report whose records you want
to query.
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.
Usage
Privileges. This method requires Read privileges.
Parameters. The parameters for the GetReports method are described in the
following table.
Data
Parameter Value
Type
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
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.
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
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.
Output. This method returns a string. The value is an XML string containing the
fields of records matching the search criteria.
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.
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
reportIdOrGuid String Internal ID or GUID of the report whose records you want
to query.
Output. This method returns a string. The value is an XML string containing the
fields of records matching the report ID or GUID.
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.
AssociateToVendor UpdateRecord
CreateTechnology CreateRecord
CreateTechnologyVersion CreateRecord
DeleteTechnology DeleteRecord
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.”
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.”
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.”
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.
Deprecated Methods
SearchRecords ExecuteSearch
CreateUser CreateUserEx
UpdateUser UpdateUserEx
UpdateRolePagePermissions UpdateRolePagePermissions2
Disabled Methods
AssociateToVendor UpdateRecord
BindContentToChildLevelContent UpdateRecord
BindContentToParentLevelContent UpdateRecord
CreateDomainUserSession Creat-
eDomainUserSessionFromInstance
CreateTechnology CreateRecord
CreateTechnologyVersion CreateRecord
CreateUserSession CreateUserSessionFromInstance
CreateVendor CreateRecord
DeleteTechnology DeleteRecord
DeleteTechnologyVersion DeleteRecord
DeleteVendor DeleteRecord
DisassociateFromVendor UpdateRecord
GetParentRecordIds GetRecordById
GetTechnology GetRecordById
GetTechnologyVersion GetRecordById
LookupTechnology ExecuteSearch
LookupTechnologyVersion ExecuteSearch
LookupVendorByName ExecuteSearch
UnbindContentFromChildLevelContent UpdateRecord
UnbindContentFromParentLevelContent UpdateRecord
UpdateTechnology UpdateRecord
UpdateTechnologyVersion UpdateRecord
UpdateVendor UpdateRecord
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
Adding Records
You can perform the following sample tasks:
l Construct Record XML
l Add a New Record
l Update a 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:
<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>
<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>
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>
<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">
<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.
<Operator>DoesNotContain</Operator>
<Field>15087</Field>
<Value>RSA</Value>
</TextFilterCondition>
</Conditions>
</Filter>
</Criteria>
</SearchReport>
<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>
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
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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);
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"
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>
Note: For descriptions of the parameters relating to the AddContactInfo method, see
accesscontrol.AddContactInfo.
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"
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>
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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"
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>
</soap:Envelope>
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”);
</soap:Envelope>
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"
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>
<CreateDomainUserResponse xmlns="http://archer-tech.com/webservices/">
<CreateDomainUserResult>int</CreateDomainUserResult>
</CreateDomainUserResponse>
</soap:Body>
</soap:Envelope>
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"
<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
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"
<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"
<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
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.
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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"
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>
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"
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.
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"
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>
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"
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.
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"
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>
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
Note: For descriptions of the parameters relating to the DoesUserExist method, see
accesscontrol.DoesUserExist.
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<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>
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"
<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
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"
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>
<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>
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"
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>
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"
</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>
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
Note: For descriptions of the parameters relating to the GetGroup method, see
accesscontrol.GetGroup.
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<Parents></Parents>
<Children><Groups /></Children>
</Group>
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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"
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>
<GetSecurityParameterNameResponse xmlns="http://archer-
tech.com/webservices/">
<GetSecurityParameterNameResult>
string</GetSecurityParameterNameResult>
</GetSecurityParameterNameResponse>
</soap:Body>
</soap:Envelope>
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"
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/">
<GetSecurityParametersResult>string</GetSecurityParametersResult>
</GetSecurityParametersResponse>
</soap:Body>
</soap:Envelope>
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
</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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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"
</GetUserDefaultEMail>
</soap:Body>
</soap:Envelope>
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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"
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>
Note: For descriptions of the parameters relating to the GetUserList method, see
accesscontrol.GetUserList.
GetUserListCount Sample
Sample C# Call
iUserCount = accesscontrol.GetUserListCount(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/GetUserList"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetUserList"
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>
<FirstName>Jake</FirstName>
<AccountStatus>Active</AccountStatus>
<ParamName>General User Parameter</ParamName>
<SecurityID>1</SecurityID>
<LoggedIn>true</LoggedIn>
<username>jmiller</username>
</User>
</Return>
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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"
<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>
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"
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>
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<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"
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>
<LookupUserByFirstNameResponse xmlns="http://archer-
tech.com/webservices/">
<LookupUserByFirstNameResult>string</LookupUserByFirstNameResult>
</LookupUserByFirstNameResponse>
</soap:Body>
</soap:Envelope>
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"
<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
LookupUserId Sample
Sample C# Code
iUserID = accesscontrol.LookupUserId(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/LookupUserId"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
Note: For descriptions of the parameters relating to the LookupUserId method, see
accesscontrol.LookupUserId.
LookupUserName Sample
Sample C# Code
sUserName = accesscontrol.LookupUserName(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/LookupUserName"
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>
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
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/RemoveChildFromGroup"
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>
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
SOAPAction: "http://archer-tech.com/webservices/RemoveUserFromGroup"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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"
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>
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"
<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
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
Sample C# Call
iReturnCode = access.UpdateContactInfo(sSessionToken, iUserID, sXML);
Note:
sXML = "<ContactInfo> <Id>" + sContactID +
"</Id><ContactTypeId>7</ContactTypeId>
<ContactSubTypeId>2</ContactSubTypeId> <ContactInfo>no-
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"
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>
UpdateDomainUser Sample
Sample C# Call
iReturnCode = access.UpdateDomainUser(sSessionToken, iUserID, "WebAPI",
"zMiddle", "Domain", "zCompany", "zTitle", 2, "zAddress", 7, "archerlab");
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"
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>
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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
</soap:Envelope>
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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"
<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>
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
UpdateUserEx Sample
Sample C# Code
iReturnCode = access.UpdateUserEx(sSessionToken, iUserID, "WebAPI",
"zMiddle", "Automation", "zCompany", "zTitle", 2, "zAddress", "", "Central
Standard Time", "en-US");
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”);
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"
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>
UpdateUserNote Sample
Sample C# Call
iReturnCode = accesscontrol.UpdateUserNote(sSessionToken, 123,
“notetext”);
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"
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>
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"
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>
<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
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
</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"
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>
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"
Sample Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
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"
<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>
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"
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>
<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>
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"
Sample Response
HTTP/1.1 200 OK
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"
<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"
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>
Field Samples
l CreateValuesListValue
l DeleteValuesListValue
l GetFieldIdByGUID
l GetValueListForField Sample
l GetValuesList
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"
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>
<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"
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>
</soap:Envelope>
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>
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"
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>
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"
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>
<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>
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"
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>
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
Host: staging
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://archer-tech.com/webservices/GetValuesListIdByGUID"
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>
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"
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>
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"
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>
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"
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>
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"
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>
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"
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>
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"
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>
</soap:Envelope>
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"
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>
</soap:Envelope>
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"
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>
<CreateDomainUserSessionFromInstanceResponse xmlns="http://archer-
tech.com/webservices/">
<CreateDomainUserSessionFromInstanceResult>
string</CreateDomainUserSessionFromInstanceResult>
</CreateDomainUserSessionFromInstanceResponse>
</soap:Body>
</soap:Envelope>
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"
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>
<CreateUserSessionFromInstanceResponse xmlns="http://archer-
tech.com/webservices/">
<CreateUserSessionFromInstanceResult>
string</CreateUserSessionFromInstanceResult>
</CreateUserSessionFromInstanceResponse>
</soap:Body>
</soap:Envelope>
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"
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>
<TerminateSessionResponse xmlns="http://archertech.com/webservices/">
<TerminateSessionResult>int</TerminateSessionResult>
</TerminateSessionResponse>
</soap:Body>
</soap:Envelope>
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"
Sample Response
HTTP/1.1 200 OK
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
SOAPAction: "http://archer-tech.com/webservices/CreateCMSTEntry"
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>
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"
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>
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"
<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>
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"
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>
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"
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>
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"
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>
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"
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>
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"
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>
<Id>105</Id>
<Id>104</Id>
<Id>1932</Id>
</Children>
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"
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>
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"
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>
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);
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"
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>
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"
</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>
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"
<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>
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"
<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>
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);
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"
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>
ExecuteStatisticSearchByReport Sample
Note: This is a new method in version 5.0.
Sample C# Code
sSearchResults = search.ExecuteStatisticSearchByReport(sSessionToken,
"3156", 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/ExecuteStatisticSearch"
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>
GetReports Sample
Sample C# Code
sReturnValue = search.GetReports(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/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"
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>
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"
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>
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"
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>
</RetrieveSearchResultsPageByPageSizeResponse>
</soap:Body>
</soap:Envelope>
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"
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>
</soap:Envelope>
Fiel-
Field Name
d ID Example
Note: To pass in a date field null value, enter a value of "0". For
example:
Fiel-
Field Name
d ID Example
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:
Note: To pass in a values list null value, enter a value of "0". For
example:
Fiel-
Field Name
d ID Example
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.
Fiel-
Field Name
d ID Example
13 Risk Assess- The API does not support this field type.
ment
Fiel-
Field Name
d ID Example
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.
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
Field Field
ID Name Example
Field Field
ID Name Example
Field Field
ID Name Example
Field Field
ID Name Example
Field Field
ID Name Example
Field Field
ID Name Example
Field Field
ID Name Example
Field Field
ID Name Example
13 Risk Assess- The API does not support this field type.
ment
Field Field
ID Name Example
The column and row IDs are important for adding or updating
records.
Field Field
ID Name Example
Field Field
ID Name Example
Field Field
ID Name Example
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.
The following tables describe the elements used to form the search inputs.
Element Description
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.
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.
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
Search Criteria
The search criteria is composed of the keywords and the search filters. Use this
element with the search.ExecuteSearch method.
Element Description
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.
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.
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.
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
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
Element Description
Element Description
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
Element Description
Element Description
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
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
Element Description
Element Description
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
Element Description
Element Description
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
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
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
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
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
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
Element Description
Element Description
TextFilterCondition Sample:
<TextFilterCondition>
<Operator>Contains</Operator>
<Field>5</Field>
<Value>Hello</Value>
</TextFilterCondition>
A filter condition using text.
Element Description
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
Element Description
Element Description
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
Element Description
Element Description
Element Description
Element Description
Element Description
Element Description
CastFilterCondition Sample:
<CastFilterCondition>
<Operator>Contains</Operator>
<Field>5</Field>
<Value>12</Value>
</CastFilterCondition>
A filter condition using CAST fields.
Element Description
Statistics Criteria
The following elements define the statistics criteria. Use these elements with the
search.ExecuteStatisticSearch method.
Element Description
IncludeEmptyGroups Sample:
<IncludeEmptyGroups>false</IncludeEmptyGroups>
Determines whether to include empty groups in the search criteria.
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
Element Description
Element Description
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.
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.
Element Description
IsKeywordModule Sample:
<IsKeywordModule>false</IsKeywordModule>
Determines whether to search this module for keywords. Possible
values:
l True
l 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
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
Element Description
SortFields Sample:
<SortFields>
<SortField>
<Field>12972</Field>
<SortType>Ascending</SortType>
</SortField>
</SortFields>
Defines the sort criteria.
Element Description
Field The field to sort by. Use the GUID or the SQL
field ID for that field.
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.
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:
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.
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.
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.
Element Description
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.
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.
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
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-Philippines en-PH
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
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-Ecuador es-EC
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-Spain es-ES
Spanish-Uruguay es-UY
Spanish-Venezuela es-VE
Important: The Time Zone column are the values passed to the
accesscontrol.CreateUserEx method.
FLE Standard Time (GMT+02:00) Helsinki, Kiev, Riga, Sofia, Tallinn, Vil-
nius
GMT Standard Time (GMT) Greenwich Mean Time : Dublin, Edinburgh, Lis-
bon, London
Pacific Standard Time (GMT-08:00) Pacific Time (US and Canada), Tijuana