Download installers¶
GET/
Endpoint API · Downloads
Get all the endpoint installer links for a tenant.
Parameters¶
| Name | In | Type | Required | Description |
|---|---|---|---|---|
X-Tenant-ID | header | string (uuid) | Yes | Tenant ID. |
requestedProducts | query | array of string | No | Products to include in the installers. All values are given if you don't use filters. Each item must be one of: coreAgent, interceptX, xdr, endpointProtection, deviceEncryption, mtr, ztna. |
platforms | query | array of string | No | Specify which platforms to include. All values are given if you don't use filters. Each item must be one of: windows, linux, macOS. |
Request samples¶
curl -X GET "https://api-<data-region>.central.sophos.com/endpoint/v1/downloads" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>"
import requests
response = requests.get(
"https://api-<data-region>.central.sophos.com/endpoint/v1/downloads",
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/endpoint/v1/downloads" -Headers $headers
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, err := http.NewRequest("GET", "https://api-<data-region>.central.sophos.com/endpoint/v1/downloads", 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/endpoint/v1/downloads", {
method: "GET",
headers: {
"Authorization": "Bearer <access-token>",
"X-Tenant-ID": "<tenant-id>",
},
});
const data = await response.json();
console.log(data);
Responses¶
200 — Endpoint installers.¶
Response fields
tenantobjectrequiredTenant.
Show child attributesHide child attributes
idstring (uuid)requiredTenant ID.
licensedProductsarray of stringrequiredProducts that the tenant is licensed to install.
Each item must be one of:
Each item must be one of:
coreAgent, interceptX, xdr, endpointProtection, deviceEncryption, mtr, ztna.installersarray of objectrequiredList of installers.
Installer.
Show child attributesHide child attributes
productNamestringProduct name.
platformstringrequiredOS platform type.
Must be one of:
Must be one of:
windows, linux, macOS.typestringrequiredEndpoint type. Please note that the type
Must be one of:
securityVm is no longer used.Must be one of:
computer, server, securityVm.supportedProductsarray of stringrequiredProducts to install.
Each item must be one of:
Each item must be one of:
coreAgent, interceptX, xdr, endpointProtection, deviceEncryption, mtr, ztna.downloadUrlstring (uri)requiredDownload URL.
Errors¶
| Status | Meaning |
|---|---|
400 | Bad request. |
500 | Unexpected error. |
All error responses share the same shape — see the error response object.
Response examples¶
200¶
{
"tenant": {
"id": "00000000-0000-0000-0000-000000000000"
},
"licensedProducts": [
"coreAgent"
],
"installers": [
{
"productName": "Sophos Endpoint Protection",
"platform": "windows",
"type": "computer",
"supportedProducts": [
"endpointProtection",
"interceptX"
],
"downloadUrl": "https://api.sophos.com/api/download/.../SophosSetup.exe"
}
]
}
See the guide for a narrative walkthrough of this API.