Update app group¶
PATCH/
Mobile API · AppGroups
Update parts of an app group.
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. |
Request body¶
Content type: application/json
Request body fields
namestringThe app group name.
Must be at most 255 characters long.
Must be at most 255 characters long.
appsarray of objectA list of app group entries to replace previously configured apps.
Must contain 1–10000 items. Items must be unique.
Must contain 1–10000 items. Items must be unique.
App group entry for create or update requests.
Show child attributesHide child attributes
identifierstringrequiredThe app identifier, for example, the package name.
Must be at most 255 characters long.
Must be at most 255 characters long.
namestringrequiredThe app name.
Must be at most 255 characters long.
Must be at most 255 characters long.
linkstring (url)A link to the app.
Must be at most 500 characters long.
Must be at most 500 characters long.
Request samples¶
curl -X PATCH "https://api-<data-region>.central.sophos.com/mobile/v1/app-groups/<id>" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>" -H "Content-Type: application/json" -d "{
\"name\": \"My app group\",
\"apps\": [
{
\"identifier\": \"com.sophos.smsec\",
\"name\": \"Sophos Intercept X for Mobile\",
\"link\": \"https://www.sophos.com\"
}
]
}"
import requests
response = requests.patch(
"https://api-<data-region>.central.sophos.com/mobile/v1/app-groups/<id>",
headers={
"Authorization": "Bearer <access-token>",
"X-Tenant-ID": "<tenant-id>",
"Content-Type": "application/json",
},
json={ 'name': 'My app group',
'apps': [ { 'identifier': 'com.sophos.smsec',
'name': 'Sophos Intercept X for Mobile',
'link': 'https://www.sophos.com'}]},
)
print(response.json())
$headers = @{
"Authorization" = "Bearer <access-token>"
"X-Tenant-ID" = "<tenant-id>"
"Content-Type" = "application/json"
}
$body = '{
"name": "My app group",
"apps": [
{
"identifier": "com.sophos.smsec",
"name": "Sophos Intercept X for Mobile",
"link": "https://www.sophos.com"
}
]
}'
Invoke-RestMethod -Method PATCH -Uri "https://api-<data-region>.central.sophos.com/mobile/v1/app-groups/<id>" -Headers $headers -Body $body -ContentType "application/json"
package main
import (
"fmt"
"io"
"net/http"
"strings"
)
func main() {
req, err := http.NewRequest("PATCH", "https://api-<data-region>.central.sophos.com/mobile/v1/app-groups/<id>", strings.NewReader(`{
"name": "My app group",
"apps": [
{
"identifier": "com.sophos.smsec",
"name": "Sophos Intercept X for Mobile",
"link": "https://www.sophos.com"
}
]
}`))
if err != nil {
panic(err)
}
req.Header.Set("Authorization", "Bearer <access-token>")
req.Header.Set("X-Tenant-ID", "<tenant-id>")
req.Header.Set("Content-Type", "application/json")
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/app-groups/<id>", {
method: "PATCH",
headers: {
"Authorization": "Bearer <access-token>",
"X-Tenant-ID": "<tenant-id>",
"Content-Type": "application/json",
},
body: JSON.stringify({
"name": "My app group",
"apps": [
{
"identifier": "com.sophos.smsec",
"name": "Sophos Intercept X for Mobile",
"link": "https://www.sophos.com"
}
]
}),
});
const data = await response.json();
console.log(data);
Responses¶
200 — The patched app group.¶
Response fields
idstring (uuid)requiredID of the app group.
tenantobjectrequiredTenant this resource belongs to.
Show child attributesHide child attributes
idstring (uuid)requirednamestringnamestringThe app group name.
Must be at most 255 characters long.
Must be at most 255 characters long.
countintegerThe number of apps in this app group.
platformstring (enum)The device platform, i.e. the operating system.
Must be one of:
Must be one of:
iOS, macOS, android, chrome, windows.createdAtstring (date-time)Time when the app group was created.
createdByobjectPrincipal reference.
Show child attributesHide child attributes
idstring (uuid)Principal ID.
typestring (enum)requiredPrincipal type.
Must be one of:
Must be one of:
user, service, system.accountIdstring (uuid)Account ID.
accountTypestring (enum)Account type.
Must be one of:
Must be one of:
partner, tenant, organization.namestringPrincipal name or email.
updatedAtstring (date-time)Time when the app group was last updated.
updatedByobjectPrincipal reference.
Show child attributesHide child attributes
idstring (uuid)Principal ID.
typestring (enum)requiredPrincipal type.
Must be one of:
Must be one of:
user, service, system.accountIdstring (uuid)Account ID.
accountTypestring (enum)Account type.
Must be one of:
Must be one of:
partner, tenant, organization.namestringPrincipal name or email.
appsarray of objectA list of app group entries.
Must contain 1–10000 items. Items must be unique.
Must contain 1–10000 items. Items must be unique.
App group entry for mobile device.
Show child attributesHide child attributes
identifierstringThe app identifier, for example, the package name.
Must be at most 255 characters long.
Must be at most 255 characters long.
namestringThe app name.
Must be at most 255 characters long.
Must be at most 255 characters long.
linkstring (url)A link to the app.
Must be at most 500 characters long.
Must be at most 500 characters long.
Errors¶
| Status | Meaning |
|---|---|
400 | Invalid request. |
401 | Unauthorized. |
403 | Forbidden. |
404 | Can't find at least one object in the request. |
409 | Conflicting modification. |
429 | Too many requests. See Retry-After header. |
500 | Internal server error. |
All error responses share the same shape — see the error response object.
See the guide for a narrative walkthrough of this API.