Skip to content

List assigned policies

GET/devices/{id}/policies

Mobile API · Devices

Get list of assigned policies.

Required permissionmobile.device:read

Parameters

Name In Type Required Description
id path string (uuid) Yes Unique object identifier.
X-Tenant-ID header string (uuid) Yes Tenant ID.
fields query array of string No The fields to return in a partial response.
view query string No Type of view to be returned in response.
Must be one of: basic, summary, full.
sort query array of string No Defines how to sort the data.
Each item must match the pattern (^[^:]+$)|(^[^:]+:(asc|desc)$).
page query integer No The page number to fetch, starting with 1.
pageSize query integer No The size of the page requested.
pageTotal query boolean No Whether the number of pages should be calculated and returned in the response.
search query string No Term to search for in the specified search fields.
Must be at most 200 characters long.
searchFields query array of string No List of fields to search in. Defaults to all applicable fields.
Each item must be one of: name.

Request samples

curl -X GET "https://api-<data-region>.central.sophos.com/mobile/v1/devices/<id>/policies" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>"

import requests

response = requests.get(
    "https://api-<data-region>.central.sophos.com/mobile/v1/devices/<id>/policies",
    headers={
        "Authorization": "Bearer <access-token>",
        "X-Tenant-ID": "<tenant-id>",
    },
)
print(response.json())

$headers = @{
    "Authorization" = "Bearer <access-token>"
    "X-Tenant-ID" = "<tenant-id>"
}
Invoke-RestMethod -Method GET -Uri "https://api-<data-region>.central.sophos.com/mobile/v1/devices/<id>/policies" -Headers $headers

package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    req, err := http.NewRequest("GET", "https://api-<data-region>.central.sophos.com/mobile/v1/devices/<id>/policies", nil)
    if err != nil {
        panic(err)
    }
    req.Header.Set("Authorization", "Bearer <access-token>")
    req.Header.Set("X-Tenant-ID", "<tenant-id>")

    resp, err := http.DefaultClient.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}

const response = await fetch("https://api-<data-region>.central.sophos.com/mobile/v1/devices/<id>/policies", {
  method: "GET",
  headers: {
    "Authorization": "Bearer <access-token>",
    "X-Tenant-ID": "<tenant-id>",
  },
});
const data = await response.json();
console.log(data);

Responses

200 — List of assigned policies.

Response fields

itemsarray of objectrequired
List of assigned policies.
A policy assigned to a mobile device.
Show child attributesHide child attributes
policyobject
A policy reference.
Show child attributesHide child attributes
idstring (uuid)required
Unique ID of the device.
namestring
Unique name of the policy.
platformstring (enum)
The device platform, i.e. the operating system.
Must be one of: iOS, macOS, android, chrome, windows.
typestring
The policy type.
versionstring
The policy version.
statestring (enum)required
The status of an assigned policy.
Must be one of: assigned, applying, applied, updating, removing.
errorstring
An error.
componentstring
The component of this assigned policy.
namestring
The policy name.
assignedAtstring (date-time)
Time when the object was assigned.
assignedByobject
Principal reference.
Show child attributesHide child attributes
idstring (uuid)
Principal ID.
typestring (enum)required
Principal type.
Must be one of: user, service, system.
accountIdstring (uuid)
Account ID.
accountTypestring (enum)
Account type.
Must be one of: partner, tenant, organization.
namestring
Principal name or email.
pagesobjectrequired
Show child attributesHide child attributes
currentintegerrequired
The 1-based page number being returned.
sizeintegerrequired
The size of the page being returned.
totalinteger
(Optional) The total number of pages that exist, if pageTotal=true in the request.
itemsinteger
(Optional) The total number of items across all pages.
maxSizeintegerrequired
The maximum page size that can be requested.

Errors

Status Meaning
400 Invalid request.
401 Unauthorized.
403 Forbidden.
404 Can't find device with that endpoint ID.
429 Too many requests. See Retry-After header.
500 Internal server error.

All error responses share the same shape — see the error response object.

Response examples

200

{
  "items": [
    {
      "policy": {
        "id": "6d178afe-a9f0-4324-82dc-3176354f9e3c",
        "name": "My Policy",
        "platform": "android",
        "type": "threatDefense",
        "version": 1
      },
      "state": "applied"
    },
    {
      "name": "A deleted policy",
      "state": "removing"
    }
  ],
  "pages": {
    "current": 1,
    "size": 50,
    "maxSize": 500
  }
}

See the guide for a narrative walkthrough of this API.