Skip to content

Download job status

GET/post-delivery-quarantine/downloads/{downloadId}/status

Email Management API · Post-Delivery Quarantine

Get status of a download job.

Parameters

Name In Type Required Description
X-Tenant-ID header string (uuid) Yes Tenant ID.
downloadId path string (uuid) Yes Download request ID.

Request samples

curl -X GET "https://api-<data-region>.central.sophos.com/email/v1/post-delivery-quarantine/downloads/<downloadId>/status" -H "Authorization: Bearer <access-token>" -H "X-Tenant-ID: <tenant-id>"

import requests

response = requests.get(
    "https://api-<data-region>.central.sophos.com/email/v1/post-delivery-quarantine/downloads/<downloadId>/status",
    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/email/v1/post-delivery-quarantine/downloads/<downloadId>/status" -Headers $headers

package main

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

func main() {
    req, err := http.NewRequest("GET", "https://api-<data-region>.central.sophos.com/email/v1/post-delivery-quarantine/downloads/<downloadId>/status", 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/email/v1/post-delivery-quarantine/downloads/<downloadId>/status", {
  method: "GET",
  headers: {
    "Authorization": "Bearer <access-token>",
    "X-Tenant-ID": "<tenant-id>",
  },
});
const data = await response.json();
console.log(data);

Responses

200 — Status of download job.

Response fields

idstring (uuid)required
Download job ID.
statusstringrequired
Status of download request.
Must be one of: processing, completed, failed.
attachmentsarray of string
List of attachments in the download job. Available when status is completed.
urlstring
Location where the requested files are available for download. Available when status is completed.
passwordstring
Downloaded zip file is password protected.
errorstring
Failure reason.

Errors

Status Meaning
400 Bad request.
404 Not found.
500 Unexpected error.

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

Response examples

200

{
  "id": "15a7f8ea-691c-4f03-862e-3cefb102818e",
  "status": "processing",
  "attachments": [
    "employee.xslx"
  ],
  "url": "https://sample-bucket.s3.eu-west-1.amazonaws.com/messages/0000/61b0588b939b8a0edced1fa7.zip",
  "password": "ba9b5812800048548195c3616da998e0",
  "error": "attachmentNotFound"
}

See the guide for a narrative walkthrough of this API.