### Install Package API Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/pkg_automation_api Installs a package by sending a POST request to the /api/core/package/install endpoint. The request body specifies the package ID and installation options. ```APIDOC ## POST /api/core/package/install ### Description Installs a specified package with given installation configurations. ### Method POST ### Endpoint http://_ExampleWebServerIP_ /_ExampleArcherInstanceName_ /api/core/package/install ### Request Body - **PackageId** (integer) - Required - The ID of the package to install. - **InactivateUnusedFields** (boolean) - Optional - Whether to inactivate unused fields during installation. - **PrefixInactivatedFields** (string) - Optional - A prefix for inactivated fields. - **InstallOptions** (array) - Required - An array of installation options for package components. - **Guid** (string) - Required - The GUID of the component. - **Name** (string) - Required - The name of the component. - **Type** (string) - Required - The type of the component. - **TranslationOption** (integer) - Required - Translation option for the component. - **InstallMethod** (integer) - Required - Installation method for the component. - **InstallOption** (integer) - Required - Installation option for the component. ### Request Example ```json { "PackageId": _ExamplePackageID_, "InactivateUnusedFields": false, "PrefixInactivatedFields": null, "InstallOptions": [ { "Guid": "_ExampleGuid1_", "Name": "_ExampleName1_", "Type": "Application", "TranslationOption": 1, "InstallMethod": 2, "InstallOption": 1 }, { "Guid": "_ExampleGuid2_", "Name": "_ExampleName2_", "Type": "Application", "TranslationOption": 1, "InstallMethod": 2, "InstallOption": 1 }, { "Guid": "_ExampleGuid3_", "Name": "_ExampleName3_", "Type": "GlobalReport", "TranslationOption": 1, "InstallMethod": 2, "InstallOption": 1 }, { "Guid": "_ExampleGuid4_", "Name": "_ExampleName4_", "Type": "GlobalReport", "TranslationOption": 1, "InstallMethod": 2, "InstallOption": 1 }, { "Guid": "_ExampleGuid5_", "Name": "_ExampleName5_", "Type": "SubForm", "TranslationOption": 1, "InstallMethod": 2, "InstallOption": 1 } ] } ``` ### Response #### Success Response (200) - **Links** (array) - An array of links. - **RequestedObject** (object) - An empty object upon successful installation. - **IsSuccessful** (boolean) - Indicates if the operation was successful. - **ValidationMessages** (array) - Can be null or an array of validation messages. #### Response Example ```json { "Links": [], "RequestedObject": {}, "IsSuccessful": true, "ValidationMessages": null } ``` ``` -------------------------------- ### Install Package API Call Configuration Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/pkg_automation_api Configures a REST API call to install a package. The request body includes the package ID and installation options for various package objects. Ensure to replace placeholder variables with your environment-specific data. The response confirms the success of the installation. ```json POST http://_ExampleWebServerIP_ /_ExampleArcherInstanceName_ /api/core/package/install Accept: application/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Authorization: Archer session-id=_ExampleSessionID_ Content-Type: application/json Host: localhost Content-Length: 0 {"PackageId":_ExamplePackageID_ ,"InactivateUnusedFields":false,"PrefixInactivatedFields":null,"InstallOptions":[ {"Guid":"_ExampleGuid1_ ","Name":"_ExampleName1_ ","Type":"Application","TranslationOption":1,"InstallMethod":2,"InstallOption":1}, {"Guid":"_ExampleGuid2_ ","Name":"_ExampleName2_ ","Type":"Application","TranslationOption":1,"InstallMethod":2,"InstallOption":1}, {"Guid":"_ExampleGuid3_ ","Name":"_ExampleName3_ ","Type":"GlobalReport","TranslationOption":1,"InstallMethod":2,"InstallOption":1}, {"Guid":"_ExampleGuid4_ ","Name":"_ExampleName4_ ","Type":"GlobalReport","TranslationOption":1,"InstallMethod":2,"InstallOption":1}, {"Guid":"_ExampleGuid5_ ","Name":"_ExampleName5_ ","Type":"SubForm","TranslationOption":1,"InstallMethod":2,"InstallOption":1}]} { "Links": [], "RequestedObject": {}, "IsSuccessful": true, "ValidationMessages": null } ``` -------------------------------- ### Get All Roles Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/user_mgt/user_mgt_role The Get all roles resource retrieves all access roles. ```APIDOC ## GET /platformapi/core/system/role ### Description Retrieves all access roles. ### Method GET ### Endpoint http://Archer/platformapi/core/system/role ### Response #### Success Response (200) - **Roles** (array) - An array of role objects. - **Id** (integer) - The ID of the role. - **Name** (string) - The name of the role. - **Description** (string) - The description of the role. - **IsDefault** (boolean) - Indicates if the role is the default role. #### Response Example ```json [ { "Id": 1, "Name": "Administrator", "Description": "System administrator role", "IsDefault": true } ] ``` ``` -------------------------------- ### Get All Roles - GET Request Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/user_mgt/user_mgt_role Retrieves a list of all access roles within the Archer system using a GET request to the platform API. ```http GET http://Archer/platformapi/core/system/role Accept: application/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Authorization: Archer session-id="*SessionToken" Content-Type: application/json ``` -------------------------------- ### Sample XML Field Values for CreateRecord - Archer Cloud API Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/createrecord An example of the XML structure for the fieldValues parameter when using the CreateRecord method. This demonstrates how to format different data types and includes examples for text, numeric, date, and complex fields like multi-value selections. ```xml ``` -------------------------------- ### Get Values List ID by GUID using C# Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/getvalueslistidbyguid This C# code snippet demonstrates how to call the GetValuesListIdByGUID method to retrieve the integer ID of a global values list using its GUID. It requires a valid session token and the target GUID. ```csharp iReturnCode = field.GetValuesListIdByGUID(sSessionToken, “7538F922-7794-11E2-BCD8-634F61887098”); ``` -------------------------------- ### GetValuesListValueIdByGUID C# Example Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/getvalueslistvalueidbyguid This C# code snippet demonstrates how to call the GetValuesListValueIdByGUID method to retrieve the ID of a values list value using its GUID. It requires a valid session token and the target GUID. ```csharp iReturnCode = field.GetValuesListValueIdByGUID(sSessionToken, “7538F922-7794-11E2-BCD8-634F61887098”); ``` -------------------------------- ### Download Package API Call Configuration Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/pkg_automation_api Configures a GET request to download a package. Specify the package ID in the URL. Replace _ExampleWebServerIP_, _ExampleArcherInstanceName_, and _ExamplePackageID_ with your environment-specific values. The response will contain the package file. ```http GET http://_ExampleWebServerIP_ /_ExampleArcherInstanceName_ /api/core/package/download/_ExamplePackageID_ ``` -------------------------------- ### Get Field ID by GUID in C# Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/getfieldidbyguid This C# code snippet demonstrates how to call the GetFieldIdByGUID method to retrieve the internal ID of a field using its globally unique identifier (GUID). It requires a valid session token and the field's GUID as input. The method returns an integer representing the field ID. ```csharp iReturnCode = field.GetFieldIdByGUID(sSessionToken, “7538F922-7794-11E2-BCD8-634F61887098”); ``` -------------------------------- ### Download Package API Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/pkg_automation_api Downloads a package by sending a GET request to the /api/core/package/download/{ExamplePackageID} endpoint. ```APIDOC ## GET /api/core/package/download/{ExamplePackageID} ### Description Downloads a specified package. ### Method GET ### Endpoint http://_ExampleWebServerIP_ /_ExampleArcherInstanceName_ /api/core/package/download/_ExamplePackageID_ ### Parameters #### Path Parameters - **ExamplePackageID** (string) - Required - The ID of the package to download. ``` -------------------------------- ### Request Header Example Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/user_mgt/user_mgt_role Standard HTTP headers required for Archer Cloud API requests. Includes Accept, Authorization with session token, and Content-Type. ```http Accept: application/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Authorization: Archer session-id="*SessionToken" Content-Type: application/json ``` -------------------------------- ### Get Values List ID by GUID SOAP Request and Response Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/getvalueslistidbyguid This section provides sample SOAP 1.1 requests and responses for the GetValuesListIdByGUID method. It shows the structure for sending the sessionToken and GUID, and receiving the resulting values list ID. SOAP 1.2 is also supported. ```xml 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" **string** **string** ``` ```xml HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: **length ** **int** ``` -------------------------------- ### GetValuesListValueIdByGUID SOAP 1.1 Request Example Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/getvalueslistvalueidbyguid A sample SOAP 1.1 request to the GetValuesListValueIdByGUID method. This includes the necessary headers and XML body with placeholders for the session token and GUID. ```xml 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" **string** **string** ``` -------------------------------- ### Create Package API Call Configuration Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/pkg_automation_api Configures a REST API call to create a new package. It includes the request URL, headers, and a JSON body specifying package details and objects. Ensure to replace placeholder variables like _ExampleWebServerIP_, _ExampleArcherInstanceName_, _ExampleName_, _ExampleDescription_, _ExamplePreparedByText_, and _ExampleGuid_ with actual values. The response includes a status and the ID of the created package. ```json POST http://_ExampleWebServerIP_ /_ExampleArcherInstanceName_ /api/core/package/ Accept: application/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Authorization: Archer session-id=_ExampleSessionID_ Content-Type: application/json Host: localhost Content-Length: 0 {"Name":"_ExampleName_ ","Description":"_ExampleDescription_ ","PreparedBy":"_ExamplePreparedByText_ ","PackageObjects": [{"Guid":"_ExampleGuid1_ ","Type":"Application"},{"Guid":"_ExampleGuid2_ ","Type":"Application"}]} { "Links": [], "RequestedObject": {"Id": _ExampleID_}, "IsSuccessful": true, "ValidationMessages": [] } ``` -------------------------------- ### DateTimeRangeFilterCondition Example Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/filter_search This XML snippet demonstrates a DateTimeRangeFilterCondition. It specifies a date range with a start and end date and time, along with the relevant time zone and whether time is included in the filter. ```XML 15176 7/7/2011 00:00 7/14/2011 15:00 Central Standard Time TRUE ``` -------------------------------- ### Get Roles - SOAP Request Example Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/getroles This is a sample SOAP 1.1 request to the GetRoles method. It includes the necessary headers and an XML body with a placeholder for the sessionToken. The request targets the accessrole endpoint. ```xml 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" **string** ``` -------------------------------- ### ExecuteSearch SOAP 1.1 Request Example Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/executesearch This is a sample SOAP 1.1 request for the ExecuteSearch method. It includes the necessary headers and an XML body with placeholders for sessionToken, searchOptions, and pageNumber. ```xml 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/ExecuteSearch" **string** **string** **int** ``` -------------------------------- ### Call Archer RESTful API (VBScript) Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/starting This VBScript example demonstrates how to make a POST request to the Archer RESTful API to log in and retrieve a session token. It utilizes the WinHttp.WinHttpRequest.5.1 object to manage the HTTP request, including setting the proxy, opening the request, setting headers, sending the request body, and processing the response. ```vbscript Sub CallTheArcherAPIFromVBS() Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1") MyRequest.setProxy 2, "staging:8888" MyRequest.Open "POST", "http://staging/archer/platformapi/core/security/login" MyRequest.setRequestHeader "Accept", "application/json,text/html,application/xhtml +xml,application/xml;q=0.9,*/*;q=0.8" MyRequest.setRequestHeader "Content-Type", "application/json" requestBody = "{\"InstanceName\":\",\"Username\":\"\",\"UserDomain\":\"\",\"Password\":\"\"}" MyRequest.send requestBody Response = MyRequest.ResponseText token = Mid(Response, 48, 32) MsgBox token End Sub ``` -------------------------------- ### Get Roles - SOAP Response Example Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/getroles This is a sample SOAP 1.1 response from the GetRoles method. It indicates a successful request (HTTP 200 OK) and contains an XML body with the GetRolesResult, which is a string representation of the access roles. ```xml HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: **length** **string** ``` -------------------------------- ### Search Records by Report (C#) Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/searchrecordsbyreport Example of how to call the SearchRecordsByReport method using C#. This method requires a valid session token and the report ID or GUID to initiate the search. It returns an XML string containing the matching records. ```csharp sSearchResults = search.SearchRecordsByReport(sSessionToken, "7538F922-7794-11E2-BCD8-634F61887098", 1); ``` -------------------------------- ### Sample Search XML for ExecuteSearch Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/executesearch This XML structure defines the criteria for the ExecuteSearch method, including page size, display fields, keywords, module criteria, and sorting options. ```xml 20 100 false 7205 7226 7232 7242 Windows 17 true 7205 Ascending ``` -------------------------------- ### Get Roles - C# Example Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/getroles This C# code snippet demonstrates how to call the GetRoles method to retrieve access roles. It requires a valid session token obtained from the general.CreateUserSession method. The output is a string containing XML data of all roles. ```csharp sRoles = accessrole.GetRoles(sSessionToken); ``` -------------------------------- ### Create Package API Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/pkg_automation_api Creates a new package by sending a POST request to the /api/core/package/ endpoint. The request body should contain package details. ```APIDOC ## POST /api/core/package/ ### Description Creates a new package with specified details. ### Method POST ### Endpoint http://_ExampleWebServerIP_ /_ExampleArcherInstanceName_ /api/core/package/ ### Request Body - **Name** (string) - Required - The name of the package. - **Description** (string) - Optional - A description for the package. - **PreparedBy** (string) - Optional - The user who prepared the package. - **PackageObjects** (array) - Required - An array of objects to include in the package. - **Guid** (string) - Required - The GUID of the object. - **Type** (string) - Required - The type of the object (e.g., "Application"). ### Request Example ```json { "Name": "_ExampleName_", "Description": "_ExampleDescription_", "PreparedBy": "_ExamplePreparedByText_", "PackageObjects": [ { "Guid": "_ExampleGuid1_", "Type": "Application" }, { "Guid": "_ExampleGuid2_", "Type": "Application" } ] } ``` ### Response #### Success Response (200) - **Links** (array) - An array of links. - **RequestedObject** (object) - Information about the created package. - **Id** (integer) - The ID of the created package. - **IsSuccessful** (boolean) - Indicates if the operation was successful. - **ValidationMessages** (array) - An array of validation messages. #### Response Example ```json { "Links": [], "RequestedObject": { "Id": _ExampleID_ }, "IsSuccessful": true, "ValidationMessages": [] } ``` ``` -------------------------------- ### Get All Groups (REST API) Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/user_mgt/user_mgt_group Retrieves a list of all groups configured in the Archer system. Note that the response example shows a single group, but multiple groups may be returned. Requires valid session token. The base URL for this API changed in release 6.5. ```http POST http://Archer/platformapi/core/system/group Request Header: Accept: application/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Authorization: Archer session-id="*SessionToken" Content-Type: application/json X-Http-Method-Override: GET Request Body: None ``` -------------------------------- ### Request Body Example for Access Role Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/user_mgt/user_mgt_role JSON payload for creating or updating an access role within the Archer system. Defines role properties, associated group IDs, and task permissions. ```json { "AccessRole": { "Id":55, "Name":"Role A", "Description": "This is a test role", "IsDefault": false, "Alias": "Role_A" }, "GroupIds": [59], "AccessRoleTasks": [ { "TaskId": "16165", "HasCreate": true, "HasRead": true, "HasUpdate": false, "HasDelete": false } ] } ``` -------------------------------- ### NGRX API Documentation Access Source: https://help.archerirm.cloud/api_2025_08/content/api/ngrx_apis Instructions on how to access the dedicated documentation website for NGRX APIs. ```APIDOC ## Accessing NGRX API Documentation ### Description Provides steps to find the official documentation for the Next Generation Risk Experience (NGRX) APIs. ### Method Manual navigation and URL manipulation. ### Steps 1. Log into your Archer environment. 2. Navigate to the NGRX API documentation by replacing the base URL of your Archer instance with `/ngrx/record/swagger/index.html`. ### Example URL Structure `https:///ngrx/record/swagger/index.html` ``` -------------------------------- ### Example: Archer Cloud API DisplayFields Configuration Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/result_display This snippet demonstrates the XML structure for the 'DisplayFields' element, used to specify which fields should be displayed in the search results. It requires the 'DisplayField' sub-element for each field, identified by GUID or SQL field ID. This is one of two mutually exclusive methods for defining display settings. ```xml 12972 {0BDF0A10-F0FF-43B9-869B-6F5A00BF1DCC} ``` -------------------------------- ### Login API Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/authentication Logs in to create an Archer session using specified credentials. ```APIDOC ## Login Login creates an Archer session using the specified credentials on the specified instance. The API request returns a serialized representation of a SessionContext object. ### Method POST ### Endpoint `http://Archer/platformapi/core/security/login` ### Request Body - **InstanceName** (string) - Required - The name of the instance to log into. - **Username** (string) - Required - The username for authentication. - **UserDomain** (string) - Optional - The domain of the user. - **Password** (string) - Required - The password for authentication. ### Request Example ```json { "InstanceName": "v5.0", "Username": "sysadmin", "UserDomain": "", "Password": "Archer123" } ``` ### Response #### Success Response (200) - **SessionToken** (string) - The session token for subsequent requests. #### Response Example ```json { "SessionToken": "C204E18D0ED58E288533F39C455A36E8" } ``` ``` -------------------------------- ### Generate Package API Call Configuration Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/pkg_automation_api Configures a REST API call to generate a package. The request specifies the package ID to be generated. The response indicates whether the generation was successful. Replace _ExampleWebServerIP_, _ExampleArcherInstanceName_, _ExampleSessionID_, and _ExamplePackageID_ with your specific details. ```json POST http://_ExampleWebServerIP_ /_ExampleArcherInstanceName_ /api/core/package/generate/_ExamplePackageID_ Accept: application/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Authorization: Archer session-id=_ExampleSessionID_ Content-Type: application/json Host: localhost Content-Length: 0 { "Links": [], "RequestedObject": {}, "IsSuccessful": true, "ValidationMessages": null } ``` -------------------------------- ### XML Formatting for Record Creation/Update Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/xml_formatting_guidelines_for_field_input Provides guidelines for constructing XML to create or update records using Archerirm Cloud API methods. ```APIDOC ## XML Formatting Guidelines for Field Input Much of the content data that is exchanged between the Web Services API and third-party applications is formatted using XML. This section provides the details of the XML format for the different field types when you use the `record.CreateRecord`, `record.CreateSubformRecord`, and `record.UpdateRecord` methods. Adhere to the following guidelines when you construct XML to create or update records: * The information that the API returns when you use the `record.GetRecordById` or `search.RetrieveSearchResultsPage` is different. * The `id` attribute of every field element represents the unique ID of the field as documented in the Application Detail Report or in the results of the `record.GetRecordById` method. * The `type` attribute of every field element represents the unique ID of the field type as documented in the Type ID column in the following table. * To create or update records in a leveled application, all of the fields in your XML structure must reside within a single data level. If you have fields from 2 or more levels, you receive an error message. * If you configure a Text, Numeric, Date, or Values List field as a calculated field, you cannot input data or select values in the field through the API. The field is read only. * If a Record Permissions field is configured to use permission rules rather than to allow manual selection, you cannot select users or groups on the field through the API. The field is read only. * Some fields support the `MultiValue` element as a way to provide multiple values. If you include a single value only, do not include the `MultiValue` sub-element and make the regular element empty. * To create or update multiple records with `record.CreateRecords` or `record.UpdateRecords`, use the same XML input defined in this section and wrap the collection of individual records with the **``** tags. * The XML elements that you provide can contain extra attribute-value pairs. The API uses only the required attribute-value pairs as documented in the following table. ### Field Input Examples The following table provides examples of XML for field input. | Field ID | Field Name | Example | | :------- | :------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 1 | Text | **Sample XML:** `` The `value` attribute is in UTF-8 or UTF-16 when you use the Field control type. **Sample XML:** `` If you are use the Area control type, you can insert encoded HTML text. | | 2 | Numeric | **Sample XML:** `` If you have units of measure turned on, you express the value in the quantity of the smallest unit of measure, for example, 39 inches instead of 3 feet, 3 inches. | | 3 | Date | **Sample XML:** ` ` If you specify the field as Date-only, and you do not specify the time, the API defaults to 12:00 AM. **Note:** To pass in a date field null value, enter a value of "0". For example: `` | | 4 | Values List | **Sample XML:** ` ` The `value` attribute is the integer ID of the value (within the values list) as returned by the `field.LookUpListValue` method. **Important:** If the values list supports the use of other type values, supply the value of the value that is enabled for other text, along with the other text in an attribute called `otherText`. For example: `` **Note:** To pass in a values list null value, enter a value of "0". For example: `` | | 7 | External Links | **Sample XML:** `` The `value` attribute is the text that is displayed in the field. The `link` attribute is the actual link value that you click to activate. | | 8 | User/ Groups List | **Sample XML:** ` ` If you do not have any of either type of value, that is, no user or no group, you can omit that corresponding element (groups or users) rather than including an empty 1. Each member must be included as a separate value. The ID value is the `userId` (as returned by the `accesscontrol.LookupUserByFirstName` method) or the `groupId` (as returned by the `accesscontrol.LookupGroup` method). | | 9 | Cross-Reference | **Sample XML:** ` ` | ``` -------------------------------- ### Get Role Memberships - GET Request Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/user_mgt/user_mgt_role Retrieves membership details for all roles, including associated users and groups, via a GET request to the Archer platform API. ```http GET http://Archer/platformapi/core/system/rolemembership Accept: application/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Authorization: Archer session-id="*SessionToken" Content-Type: application/json ``` -------------------------------- ### Response Example from Archer Cloud API Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/user_mgt/user_mgt_role A typical JSON response structure from the Archer Cloud API, indicating the success of an operation, including links, requested object details, and validation messages. ```json { "Links":[], "RequestedObject": { "Id":1 }, "IsSuccessful":true, "ValidationMessages":[] } ``` -------------------------------- ### HTTP GET Request for Level Metadata Source: https://help.archerirm.cloud/api_2025_08/content/api/contentapi/contentapi_get_level_metadata This snippet demonstrates a sample HTTP GET request to retrieve level metadata from the Archer Content API. It includes necessary headers like Host and Authorization. ```HTTP GET /Archer/contentapi/Applications HTTP/1.1 Host: localhost Authorization: Archer session-id=E5E1CEEDA26A199FE2CAE99755CB71DA Cache-Control: no-cache ``` -------------------------------- ### POST /core/system/user Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/user_mgt/user_mgt_user Creates a new user with specified details. Requires first name, last name, and password. Default roles and language are applied if not specified. ```APIDOC ## Create user ### Description The Create user resource creates a new user. Rules for creating users apply, including required fields and valid account statuses. ### Method POST ### Endpoint http://Archer/platformapi/core/system/user ### Parameters #### Request Body - **User** (object) - Required - Contains user details. - **FirstName** (string) - Required - The first name of the user. - **LastName** (string) - Required - The last name of the user. - **AccountStatus** (integer) - Optional - Account status (1: Active, 2: Inactive, 3: Locked). - **LanguageID** (integer) - Optional - The ID of the user's language. - **Roles** (array) - Optional - An array of role IDs for the user. - **Password** (string) - Required - The password for the new user. ### Request Example ```json { "User": { "FirstName": "John", "LastName": "Doe" }, "Password": "NewUser2005!" } ``` ### Response #### Success Response (200) - **Links** (array) - Links related to the requested object. - **RequestedObject** (object) - Contains the ID of the newly created user. - **IsSuccessful** (boolean) - Indicates if the operation was successful. - **ValidationMessages** (array) - Contains any validation messages. #### Response Example ```json { "Links": [], "RequestedObject": { "Id": 1470 }, "IsSuccessful": true, "ValidationMessages": [] } ``` ``` -------------------------------- ### Get Endpoints API Request - HTTP Source: https://help.archerirm.cloud/api_2025_08/content/api/contentapi/contentapi_get_endpoints This snippet demonstrates a sample HTTP request to the Get Endpoints API. It includes the necessary Host and Authorization headers, specifying the session ID for authentication. ```http GET /Archer/contentapi/ HTTP/1.1 Host: localhost Authorization: Archer session-id=E5E1CEEDA26A199FE2CAE99755CB71DA Cache-Control: no-cache ``` -------------------------------- ### ExecuteSearch C# Code Example Source: https://help.archerirm.cloud/api_2025_08/content/api/webapi/executesearch This C# code snippet demonstrates how to call the ExecuteSearch method. It requires a valid session token and an XML string for search criteria, returning the search results as a string. ```csharp sReturnValue = search.ExecuteSearch(sSessionToken, sXML, 1); ``` -------------------------------- ### Get Subform by ID Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/metadata_subform Retrieves a Subform by its unique identifier using a GET request overridden via POST. ```APIDOC ## POST /platformapi/core/system/subform/*subformid* ### Description This resource retrieves a Subform by the specified ID. ### Method POST (with X-Http-Method-Override: GET) ### Endpoint `http://Archer/platformapi/core/system/subform/*subformid*` ### Parameters #### Path Parameters - **subformid** (string) - Required - The ID of the subform to retrieve. #### Request Header - **Accept**: application/json,text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 - **Authorization**: Archer session-id="*SessionToken" - **Content-Type**: application/json - **X-Http-Method-Override**: GET ### Request Example ```json { "message": "Example GET request for Subform by ID" } ``` ### Response #### Success Response (200) - **subformData** (object) - The retrieved subform data. #### Response Example ```json { "subformData": { "id": "*subformid*", "name": "Example Subform", "fields": [ { "name": "Field 1", "type": "text" } ] } } ``` ``` -------------------------------- ### Get Role by User ID - GET Request Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/user_mgt/user_mgt_role Fetches the specific role associated with a given user ID in the Archer instance using a GET request to the platform API. The user ID is a path parameter. ```http GET http://localhost/Archer/platformapi/core/system/role/user/*userid* Accept:application/json,text/html,application/xhtml+xml,application/xml;q=.9,*/*;q=0.8 Authorization: Archer session-id="*SessionToken" Content-Type: application/json ``` -------------------------------- ### Sample JSON Response for Applications List Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/webhelplanding This snippet demonstrates a typical JSON response structure when requesting a list of applications, including details like Name, Description, and success status. The 'Description' field may contain HTML markup. This format is used for data exchange with the Archer API. ```json [{ "Links": [], "RequestedObject": { "Name": "Technologies", "KeepLicensed":false, "IsDeprecated":false, "Description": "

The Technologies application provides a searchable and extensible repository of technology version information that can be leveraged to relate objects of like technology.

" }, "IsSuccessful": true, "ValidationMessages": [] }, { "Links": [], "RequestedObject": { "Name": "Test Application 10", "Description": null }, "IsSuccessful": true, "ValidationMessages": [] }, { "Links": [], "RequestedObject": { "Name": "Test Application", "Description": "This is my description" }, "IsSuccessful": true, "ValidationMessages": [] }, { "Links": [], "RequestedObject": { "Name": "Test Application 2", "Description": "This is my description" }, "IsSuccessful": true, "ValidationMessages": [] }, { "Links": [], "RequestedObject": { "Name": "Test Application 3", "Description": "This is my description" }, "IsSuccessful": true, "ValidationMessages": [] }, { "Links": [], "RequestedObject": { "Name": "Mobile Packaging Application", "Description": "This is my description" }, "IsSuccessful": true, "ValidationMessages": [] }] ``` -------------------------------- ### Field Administration Activity Logs Report API Request Headers Example (HTTP) Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/admin_activity_logs_api This snippet shows the necessary HTTP headers for making a request to the Field Administration Activity Logs Report API. It includes Content-Type, Authorization with a session token, Accept, and X-Http-Method-Override. ```http Content-Type: application/json;odata.metadata=none Authorization: Archer session-id="session token ID from login" Accept: application/json,text/html,application/xhtml+xml,application/xml;q=.9,*/*;q=0.8 X-Http-Method-Override: GET ``` -------------------------------- ### Get all applications Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/metadata_application Retrieves metadata for all applications within the Archer platform. Note: This endpoint uses POST with X-Http-Method-Override: GET. ```APIDOC ## POST /platformapi/core/system/application ### Description Retrieves metadata for all applications. ### Method POST (with X-Http-Method-Override: GET) ### Endpoint http://Archer/platformapi/core/system/application ### Parameters #### Request Body This endpoint does not require a request body for its intended GET operation. ### Request Example ```json { "example": "POST request to /platformapi/core/system/application with X-Http-Method-Override: GET header" } ``` ### Response #### Success Response (200) - **applications** (array) - A list of application metadata objects. #### Response Example ```json { "example": "[ { \"id\": \"app1\", \"name\": \"Risk Management\" }, { \"id\": \"app2\", \"name\": \"Compliance\" } ]" } ``` ``` -------------------------------- ### Generate Package API Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/pkg_automation_api Generates a package by sending a POST request to the /api/core/package/generate/{ExamplePackageID} endpoint. This endpoint does not require a request body. ```APIDOC ## POST /api/core/package/generate/{ExamplePackageID} ### Description Generates a package for download or further processing. ### Method POST ### Endpoint http://_ExampleWebServerIP_ /_ExampleArcherInstanceName_ /api/core/package/generate/_ExamplePackageID_ ### Parameters #### Path Parameters - **ExamplePackageID** (string) - Required - The ID of the package to generate. ### Request Body Not required. ### Response #### Success Response (200) - **Links** (array) - An array of links. - **RequestedObject** (object) - An empty object upon successful generation. - **IsSuccessful** (boolean) - Indicates if the operation was successful. - **ValidationMessages** (array) - Can be null or an array of validation messages. #### Response Example ```json { "Links": [], "RequestedObject": {}, "IsSuccessful": true, "ValidationMessages": null } ``` ``` -------------------------------- ### POST /archer/platformapi/core/security/login Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/starting This endpoint is used to log in to the Archer session and obtain a session token. It requires InstanceName, Username, and Password in the request body. ```APIDOC ## POST /archer/platformapi/core/security/login ### Description Authenticates a user and retrieves a session token for subsequent API calls. ### Method POST ### Endpoint `/archer/platformapi/core/security/login` ### Parameters #### Request Body - **InstanceName** (string) - Required - The name of the Archer instance. - **Username** (string) - Required - The username for authentication. - **UserDomain** (string) - Optional - The domain of the user (if applicable). - **Password** (string) - Required - The password for authentication. ### Request Example ```json { "InstanceName": "", "Username": "", "UserDomain": "", "Password": "" } ``` ### Response #### Success Response (200) - **token** (string) - The session token obtained after successful login. #### Response Example ```json { "token": "" } ``` ``` -------------------------------- ### Get Role Memberships Source: https://help.archerirm.cloud/api_2025_08/content/api/restfulapi/segmentsresources/user_mgt/user_mgt_role The Get role memberships resource retrieves memberships for all roles. ```APIDOC ## GET /platformapi/core/system/rolemembership ### Description Retrieves memberships for all roles, including users and groups. ### Method GET ### Endpoint http://Archer/platformapi/core/system/rolemembership ### Response #### Success Response (200) - **RoleMemberships** (array) - An array of role membership objects. - **RoleId** (integer) - The ID of the role. - **UserIds** (array) - An array of user IDs in the role. - **GroupIds** (array) - An array of group IDs in the role. #### Response Example ```json [ { "RoleId": 1, "UserIds": [101, 102], "GroupIds": [10, 20] } ] ``` ```