# Retrieves details of domains, custom groups, and branch offices managed by the Endpoint Central server The Server Properties API provides information about the configuration of the Endpoint Central server. It returns the list of branch offices, domains, and custom groups available in the server environment. This information can be used to identify organizational structures, group policies, and domain settings. ## Endpoint `GET /api/1.4/desktop/serverproperties` ## Request ### Request URL `https://{server-hostname}:8383/api/1.4/desktop/serverproperties` ### Scope `Common.READ` ### Header `Authorization: d92d4xxxxxxxxxxxxx15f52` ### Request Parameters #### Request Headers - **Accept** — `string` — **Mandatory** - `application/json` #### Query Parameters - **loginid** — `string` — Optional - **resource_id** — `string` — Optional - `{resource_id} - Unique identifier of the computer` - **userid** — `string` — Optional - **username** — `string` — Optional - **ticket** — `string` — Optional - **customerid** — `string` — Optional - **customerName** — `string` — Optional - **customername** — `string` — Optional - **residfilter** — `integer` — Optional - Filter computer with particular resource id - **domainfilter** — `string` — Optional - Get domain list from api/1.4/desktop/serverproperties - **branchofficefilter** — `string` — Optional - Get branch office list from api/1.4/desktop/serverproperties - **remoteofficefilter** — `string` — Optional - **customgroupfilter** — `string` — Optional - Get custom group list from api/1.4/desktop/serverproperties - **livestatusfilter** — `integer` — Optional - 1 - Live: System is working. - 2 - Down: System is not working. - 3 - Unknown: System status is not known. - **platformfilter** — `string` — Optional - **connidfilter** — `string` — Optional - **page** — `string` — Optional - **pagelimit** — `string` — Optional - **orderby** — `string` — Optional - **sortorder** — `string` — Optional - **sortcolumn** — `string` — Optional - **searchtype** — `string` — Optional - **searchcolumn** — `string` — Optional - **searchvalue** — `string` — Optional - **patchid** — `string` — Optional - **resid** — `string` — Optional - `{resid} - Unique identifier of the computer` - **languagefilter** — `integer` — Optional - **approvalstatusfilter** — `integer` — Optional - **downloadstatusfilter** — `integer` — Optional - **supercedestatusfilter** — `integer` — Optional - **healthfilter** — `integer` — Optional - **severityfilter** — `integer` — Optional - **patchtypefilter** — `integer` — Optional - **patchstatusfilter** — `integer` — Optional - **agentinstallationstatusfilter** — `integer` — Optional - **installstatusfilter** — `integer` — Optional - 21: Yet to install (agent has not been installed). - 22: Installed (agent is currently installed). - 23: Uninstalled (agent has been removed). - 24: Yet to uninstall (marked for uninstallation but not yet removed). - 29: Installation failure (an error occurred during installation). - **licensetypefilter** — `integer` — Optional - 1: Commercial (used for business or paid purposes). - 2: Non-commercial (used for personal or educational purposes). - 0: Unidentified (license type not specified). - **scanstatusfilter** — `integer` — Optional - -1: Not done scan has not started. - 0: Failed scan failed. - 1: In progress scan is ongoing. - 2: Success scan completed successfully. - **deploymentstatusfilter** — `integer` — Optional - **configtypefilter** — `integer` — Optional - **accesstypefilter** — `integer` — Optional - 1: Allowed (access is permitted). - 2: Prohibited (access is restricted). - 0: Not assigned (no access configuration). - **compliancestatusfilter** — `integer` — Optional - 0: Under licensed (fewer licenses than required). - 1: Over licensed (more licenses than needed). - 2: In compliance (license usage matches availability). - 3: Expired (license validity has ended). - -1: Not available (compliance data is missing). - **complianceStatusFilter** — `integer` — Optional - **bulletinid** — `string` — Optional - **oscompatibilityfilter** — `string` — Optional - 32-bit: For 32-bit operating systems. - 64-bit: For 64-bit operating systems. - **uninstallsupportfilter** — `string` — Optional - Yes: Supports uninstallation. - No: Does not support uninstallation. - **installerformatfilter** — `string` — Optional - MSI: Installed via MSI installer. - EXE: Installed via EXE installer. - **licensefilter** — `string` — Optional - Get License List from api/1.4/inventory/licenses?swid={softwareID} in license_id parameter inside message response - **hardwaretypefilter** — `string` — Optional - Get hardware type list from api/1.4/inventory/filterparams - **manufacturerfilter** — `string` — Optional - Get hardware manufacturer list from api/1.4/inventory/filterparams - **osfilter** — `string` — Optional - **vendorfilter** — `string` — Optional - **policyname** — `string` — Optional - **configstatusfilter** — `string` — Optional - **viewtypefilter** — `string` — Optional - **latestpatches** — `string` — Optional - **prohibitedswid** — `string` — Optional - unique identifier of the prohibited software - **categoryfilter** — `string` — Optional - **ticketid** — `string` — Optional ### Sample Request ```curl curl --request GET \ --url 'https://appdomain/api/1.4/desktop/serverproperties?loginid=SOME_STRING_VALUE&resource_id=SOME_STRING_VALUE&userid=SOME_STRING_VALUE&username=SOME_STRING_VALUE&ticket=SOME_STRING_VALUE&customerid=SOME_STRING_VALUE&customerName=SOME_STRING_VALUE&customername=SOME_STRING_VALUE&residfilter=SOME_INTEGER_VALUE&domainfilter=SOME_STRING_VALUE&branchofficefilter=SOME_STRING_VALUE&remoteofficefilter=SOME_STRING_VALUE&customgroupfilter=SOME_STRING_VALUE&livestatusfilter=SOME_INTEGER_VALUE&platformfilter=SOME_STRING_VALUE&connidfilter=SOME_STRING_VALUE&page=SOME_STRING_VALUE&pagelimit=SOME_STRING_VALUE&orderby=SOME_STRING_VALUE&sortorder=SOME_STRING_VALUE&sortcolumn=SOME_STRING_VALUE&searchtype=SOME_STRING_VALUE&searchcolumn=SOME_STRING_VALUE&searchvalue=SOME_STRING_VALUE&patchid=SOME_STRING_VALUE&resid=SOME_STRING_VALUE&languagefilter=SOME_INTEGER_VALUE&approvalstatusfilter=SOME_INTEGER_VALUE&downloadstatusfilter=SOME_INTEGER_VALUE&supercedestatusfilter=SOME_INTEGER_VALUE&healthfilter=SOME_INTEGER_VALUE&severityfilter=SOME_INTEGER_VALUE&patchtypefilter=SOME_INTEGER_VALUE&patchstatusfilter=SOME_INTEGER_VALUE&agentinstallationstatusfilter=SOME_INTEGER_VALUE&installstatusfilter=SOME_INTEGER_VALUE&licensetypefilter=SOME_INTEGER_VALUE&scanstatusfilter=SOME_INTEGER_VALUE&deploymentstatusfilter=SOME_INTEGER_VALUE&configtypefilter=SOME_INTEGER_VALUE&accesstypefilter=SOME_INTEGER_VALUE&compliancestatusfilter=SOME_INTEGER_VALUE&complianceStatusFilter=SOME_INTEGER_VALUE&bulletinid=SOME_STRING_VALUE&oscompatibilityfilter=SOME_STRING_VALUE&uninstallsupportfilter=SOME_STRING_VALUE&installerformatfilter=SOME_STRING_VALUE&licensefilter=SOME_STRING_VALUE&hardwaretypefilter=SOME_STRING_VALUE&manufacturerfilter=SOME_STRING_VALUE&osfilter=SOME_STRING_VALUE&vendorfilter=SOME_STRING_VALUE&policyname=SOME_STRING_VALUE&configstatusfilter=SOME_STRING_VALUE&viewtypefilter=SOME_STRING_VALUE&latestpatches=SOME_STRING_VALUE&prohibitedswid=SOME_STRING_VALUE&categoryfilter=SOME_STRING_VALUE&ticketid=SOME_STRING_VALUE' \ --header 'Accept: application/json' \ --header 'Authorization: d92d4xxxxxxxxxxxxx15f52' ``` ## Response Parameters ### HTTP Code 200 Response body: `application/json` - `JSON Object` - **message_response** — `JSON Object` - Wrapper object containing the actual response data. - **serverproperties** — `JSON Object` - Contains server discovery details. - **status** — `string` - Response status success/failure. - **message_version** — `string` - Version of the response message format. - **message_type** — `string` - Identifies the type of message ### Sample Response: HTTP 200 ```json { "message_response": { "serverproperties": { "branch_offices": [ "Direct Comm", "Intern Ds Remote", "Local Office" ], "domains": [ "ZOHOCORP", "DESKTOPCENTRAL", "WORKGROUP", "macosgroup" ], "custom_groups": [ "All Computers Group", "All Users Group", "Default_iOS_Corporate", "Default_iOS_Personal", "Default_Android_Corporate", "Default_Android_Personal", "Default_Windows_Corporate", "Default_Windows_Personal", "Inactive_Users_ZOHOCORP", "Inactive_Computers_ZOHOCORP", "test", "sathish" ] } }, "message_type": "discover", "message_version": "1.0", "status": "success" } ``` ### HTTP Code 401 Response body: `application/json` - `JSON Object` - **error_code** — `string` - Unauthorized error code: API key or OAuth token missing, expired or invalid - **error_description** — `string` - Authentication failure reason ### Sample Response: HTTP 401 Missing or invalid authentication details ```json { "errorCode": "UAC_UNAUTHORIZED", "message": "Unauthorized access", "statusCode": 401 } ``` ### HTTP Code 403 Response body: `application/json` - `JSON Object` - **error_code** — `string` - Forbidden error code: the user lacks the required MDM_OSUpdateMgmt UEM role - **error_description** — `string` - Message indicating insufficient privileges ### Sample Response: HTTP 403 User lacks permission to access server properties ```json { "errorCode": "FORBIDDEN", "message": "Insufficient privileges to access this resource", "statusCode": 403 } ``` ### HTTP Code 429 Response body: `application/json` - `JSON Object` - **error_code** — `string` - Rate limit error code: API call threshold exceeded for this endpoint group - **error_description** — `string` - Rate limit exceeded message with retry guidance ### Sample Response: HTTP 429 Too many requests sent within the throttle window ```json { "errorCode": "RATE_LIMIT_EXCEEDED", "message": "Too many requests. Please retry after some time", "statusCode": 429 } ``` ### HTTP Code 500 Response body: `application/json` - `JSON Object` - **error_code** — `string` - INTERNAL_ERROR - unexpected exception while collecting server properties - **error_description** — `string` - Internal server error message for server properties retrieval failures ### Sample Response: HTTP 500 Unexpected server-side failure while fetching server properties ```json { "error_description": "Internal server error while retrieving server properties", "error_code": "INTERNAL_ERROR" } ``` ## Rate Limit ![](https://www.zohowebstatic.com/sites/zweb/images/people/ico-help.png) **Duration:** 1 minute | **Threshold:** 120 | **Lock period:** 5 minutes Duration - Time window for the threshold. Threshold - Number of API calls allowed within the specified duration. Lock Period - Wait time before consecutive API requests.