Get a browser's compliance details against a specific profile

Open in ChatGPT Open in ChatGPT to ask questions about this page
Open in Claude Open in Claude to ask questions about this page
Copy as MarkdownCopy this page as markdown to use with AI assistants
View as Markdown Open this page as markdown in a new tab

Retrieves the per-rule compliance status of a browser on a device against the specified compliance profile.

Request URL

https://{server-hostname}:8383/bsp/api/v1/bmp/devices/{device_id}/browsers/{browser_id}/compliance/{compliance_id}

Scope

BrowserManager.READCopied!

Header

Authorization: d92d4xxxxxxxxxxxxx15f52

Request Parameters

- Request Headers

AcceptstringMandatory
application/jsonapplication/jsonCopied!

- Path Parameters

browser_idstringMandatory

Browser ID from List Browsers response (browser_type field)

device_idstringMandatory

Device resource ID from List Devices response (device_id field)

compliance_idstringMandatory

Compliance profile ID from List Compliance Profiles response (profileid field)

Sample Request

Curl
Java
Python
Deluge
PowerShell
Copied!
curl --request GET \
  --url https://appdomain/bsp/api/v1/bmp/devices/{device_id}/browsers/{browser_id}/compliance/{compliance_id} \
  --header 'Accept: application/json' \
  --header 'Authorization:  d92d4xxxxxxxxxxxxx15f52'

Response Parameters

- HTTP code 200

Response Body - application/json
JSON Object

Raw JSONArray of compliance details

Hide Sub-Attributes
device_idstring

Device resource ID

compliance_detailsJSON Array

Compliance profile details

Show Sub-Attributes
JSON Object

Compliance details for a single compliance profile

Show Sub-Attributes
category_detailsJSON Array

Compliance category breakdowns

Show Sub-Attributes
JSON Object
Show Sub-Attributes
compliantstring

Count of devices compliant for this category

noncompliantstring

Count of devices noncompliant for this category

security_percentagestring

Overall security compliance percentage

compliance_idstring

Compliance profile ID

rule_statusJSON Array

Individual rule compliance statuses

Show Sub-Attributes
JSON Object

Individual compliance rule status

Show Sub-Attributes
rule_idstring

Rule ID

rule_namestring

Rule name identifier

compliant_statusstring

Compliance status: 0 for non-compliant, 1 for compliant

criticalitystring

Rule criticality level: 1 (low), 2 (medium), 3 (high)

- HTTP code 401

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Unauthorized error code returned when authentication credentials are missing, expired, or invalid (authentication=required)

errorMsgstring

Authentication failure reason

- HTTP code 403

Response Body - application/json
JSON Object

RBCA scope violation when device is not in the user's managed scope

Hide Sub-Attributes
errorCodestring

Error code indicating the device is outside the user's managed scope

errorMsgstring

Message indicating the device is not accessible to the current user

urlstring

Request URL that triggered the error

- HTTP code 429

Response Body - application/json
JSON Object
Hide Sub-Attributes
errorCodelong

Rate limit error code returned when the API call threshold (configured via threshold/duration in security XML) is exceeded; client is locked out for lock-period minutes

errorMsgstring

Rate limit exceeded message with retry guidance

- HTTP code 500

Response Body - application/json
JSON Object

Internal server error during device operations

Hide Sub-Attributes
error_descriptionstring

Message describing the server-side failure

error_codestring

Internal server error code

Possible Response Codes

200HTTP code
401HTTP code
403HTTP code
429HTTP code
500HTTP code

Sample Response: HTTP 200

Compliance against the default profile

Copied!
  [
    {
      "compliance_details": [
        {
          "category_details": [
            {
              "rule_id": "1",
              "non_compliant_rules": [
                6,
                42,
                43,
                12,
                44,
                45,
                14,
                46,
                47,
                48,
                17,
                50,
                51,
                52
              ],
              "rule_name": "Data Leakage Prevention",
              "security_percentage": "17.647058486938477",
              "yet_to_scan": [],
              "compliant_rules": [
                18
              ]
            },
            {
              "rule_id": "2",
              "non_compliant_rules": [
                16,
                68,
                5
              ],
              "rule_name": "Threat Prevention",
              "security_percentage": "52.94117736816406",
              "yet_to_scan": [],
              "compliant_rules": [
                10
              ]
            }
          ],
          "security_percentage": "29.411766052246094",
          "compliance_id": "1",
          "rule_status": [
            {
              "rule_id": "51",
              "rule_name": "background_mode_chrome",
              "compliant_status": "0",
              "criticality": "2"
            },
            {
              "rule_id": "10",
              "rule_name": "critical_permissions",
              "compliant_status": "1",
              "criticality": "3"
            },
            {
              "rule_id": "16",
              "rule_name": "download_restriction",
              "compliant_status": "0",
              "criticality": "2"
            },
            {
              "rule_id": "5",
              "rule_name": "phishing_filter",
              "compliant_status": "0",
              "criticality": "3"
            },
            {
              "rule_id": "18",
              "rule_name": "sideload_extensions",
              "compliant_status": "1",
              "criticality": "2"
            },
            {
              "rule_id": "14",
              "rule_name": "third_party_cookie_restriction_chrome",
              "compliant_status": "0",
              "criticality": "1"
            }
          ]
        }
      ],
      "device_id": "888"
    }
  ]
                
Show full

Compliance against a specific profile

Copied!
  [
    {
      "compliance_details": [
        {
          "category_details": [
            {
              "rule_id": "1",
              "non_compliant_rules": [
                328,
                12,
                205,
                333,
                14,
                17,
                339,
                215,
                472,
                345,
                220,
                285,
                351,
                162,
                290,
                482,
                357,
                296,
                362,
                367,
                431,
                306,
                51,
                249,
                313,
                377
              ],
              "rule_name": "Data Leakage Prevention",
              "security_percentage": "3.7735848426818848",
              "yet_to_scan": [],
              "compliant_rules": [
                447
              ]
            },
            {
              "rule_id": "2",
              "non_compliant_rules": [
                195,
                259,
                323,
                200,
                264,
                396,
                269,
                210,
                275,
                152,
                280,
                157,
                224,
                416,
                229,
                421,
                167,
                234,
                426,
                171,
                301,
                175,
                239,
                369,
                372,
                180,
                244,
                185,
                190,
                254,
                318
              ],
              "rule_name": "Threat Prevention",
              "security_percentage": "16.438356399536133",
              "yet_to_scan": [],
              "compliant_rules": [
                467,
                437,
                457,
                442,
                462,
                478
              ]
            }
          ],
          "security_percentage": "11.111111640930176",
          "compliance_id": "3",
          "rule_status": [
            {
              "rule_id": "152",
              "rule_name": "allow_cross_origin_auth_prompt",
              "compliant_status": "0",
              "criticality": "2"
            },
            {
              "rule_id": "467",
              "rule_name": "cert_transparency_enforce_disabled_urls",
              "compliant_status": "1",
              "criticality": "2"
            },
            {
              "rule_id": "396",
              "rule_name": "disable_safe_browsing_proceed_anyway",
              "compliant_status": "0",
              "criticality": "2"
            },
            {
              "rule_id": "351",
              "rule_name": "dns_over_https_mode",
              "compliant_status": "0",
              "criticality": "2"
            },
            {
              "rule_id": "437",
              "rule_name": "hsts_policy_bypass_list",
              "compliant_status": "1",
              "criticality": "2"
            },
            {
              "rule_id": "447",
              "rule_name": "web_rtc_local_ips_allowed_urls",
              "compliant_status": "1",
              "criticality": "2"
            }
          ]
        }
      ],
      "device_id": "777"
    }
  ]
                
Show full

Sample Response: HTTP 401

Unauthorized

Copied!
  {
    "errorCode": "UNAUTHORIZED",
    "errorMsg": "You are not authorized to perform this action"
  }
                
Show full

Sample Response: HTTP 403

Device not in scope

Copied!
  {
    "errorCode": "FORBIDDEN",
    "url": "/bsp/api/v1/bmp/devices/{device_id}/browsers/{browser_id}/compliance/{compliance_id}",
    "errorMsg": "The requested device is not in your managed scope"
  }
                
Show full

Sample Response: HTTP 429

Rate limit exceeded

Copied!
  {
    "errorCode": "RATE_LIMIT_EXCEEDED",
    "errorMsg": "You have exceeded the maximum number of API calls. Please try again later."
  }
                
Show full

Sample Response: HTTP 500

Server error

Copied!
  {
    "error_description": "Internal Server error, Please try again in a moment.",
    "error_code": "COM0004"
  }
                
Show full

Duration: 1 minute | Threshold: 60 | 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.