metadata.user, when sent, must be your own extension. Office Manager, Call Center Supervisor, Reseller, and Super User can store a report for any user in the domain. A Reseller reaches only domains in its own territory. Read-only scopes can't store reports.metadata.user, or to you when it is left out. metadata.reportId becomes the report's test_id and must be unique across the platform; reusing one returns 409. Each summary figure must fit its field in the summary, or the request returns 400 naming that field; the request schema gives the limits. The body can be up to 1 MB (1,048,576 bytes). Answers 202 when the report is stored; read it back with GET /domains/{domain}/networktests/{test_id}. Reports are kept for 90 days after they are stored, then deleted automatically.POST /domains/{domain}/users/{user}/networktests.Authorization: Bearer ********************curl --location 'https://awqacore01.crexendocloud.com/ns-api/v2/domains//networktests' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"version": "1.0",
"metadata": {
"reportId": "fe8f3662-f406-4b6b-ab6c-ddc483f52d8f",
"timestamp": "2026-09-01T14:30:00+00:00",
"user": "1001",
"domain": "example.com",
"reseller": "example-reseller",
"userScope": "Basic User",
"nmsHostname": "core1.example.com"
},
"config": {
"mode": "loopback",
"duration": 90,
"maxPairs": 8,
"codec": "opus",
"wsUri": "wss://core1.example.com/ws"
},
"speedTest": {
"downloadMbps": 48.2,
"uploadMbps": 11.5,
"packetLossPct": 0.1,
"aim": {
"rtc": "great",
"streaming": "good",
"gaming": "average"
},
"meta": {
"ip": "203.0.113.30",
"provider": "Example ISP",
"location": "San Diego, California, US"
}
},
"results": {
"elapsed": 90.5,
"legs": 16,
"totalSent": 144000,
"totalLost": 0,
"aggregate": {
"avgMos": 4.39,
"avgFwdJitter": 6,
"avgRetJitter": 6,
"avgRtt": 17,
"avgFwdLoss": 0,
"avgRetLoss": 0
}
}
}'{
"code": 202,
"message": "Accepted"
}