Replace the token, tenant id and gateway host with your own values and run:
TOKEN="<tenant token>"
TENANT="<tenant-id>"
for PKG in odc-collector odc-agent-appneta odc-agent-binaries; do
curl -OJ -X POST \
-H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/x-www-form-urlencoded;charset=utf-8' \
--data '' \
"https://apmgw.dxi-na1.saas.broadcom.com/$TENANT/ess/packagedownload/v1/downloadfile/$PKG"
done
Three elements are mandatory and the call fails without any one of them: POST, the form-urlencoded Content-Type, and the empty body. The -OJ flag saves each file under the name supplied by the server in Content-Disposition.
Files returned on 26.8.1: odc-collector_26.8.1.zip (93 MB), odc-agent-appneta_26.8.1.zip (32 KB), odc-agent-binaries_26.8.1.zip (37 MB). The package id dx-gateway returns DXGateway-26.8.1.1-dist.zip.
The tenant id is the first path segment after the host in any tenant URL. The token is the value of the Authorization header on any request issued by the Downloads page, visible in browser developer tools.
Confirm each file is a real archive rather than an error page returned with HTTP 200:
for z in odc-*.zip; do unzip -tqq "$z" && echo "$z OK"; done