---
title: "Speed test NVR"
method: POST
path: "/v1/nvrs/speedtest"
tags: ["nvrs"]
---

# Speed test NVR

`POST /v1/nvrs/speedtest`

Run speed test on NVR.

Initiate a speed test on the specified NVR to measure network performance.

## Request body

- SpeedTestRequestPayload — Request model for speed test from an NVR.
  - `nvr` string, required — NVR name to run the speed test from

## Response `200`

Successful Response

- union
  - SpeedTestSuccessResponse — Success response for speed test request.
    - `status` 'success'
    - `data` SpeedTestSuccessData, required — Speed test results.
      - `timestamp` string, required — Timestamp of speed test result (ISO 8601 format)
      - `domain` string, required — Domain used for speed test
      - `avg_ping_latency_ms` number — Average ping latency in milliseconds
      - `packet_loss` number — Packet loss percentage (0-100)
      - `download_speed_bps` number, required — Download speed in bits per second
      - `upload_speed_bps` number, required — Upload speed in bits per second
  - SpeedTestFailureResponse — Failure response for speed test request.
    - `status` 'error'
    - `error` ErrorDetails, required — Error message
      - `code` 'VALIDATION_ERROR' | 'BATCH_SIZE_EXCEEDED' | 'NO_CAMERAS_PROVIDED' | 'PARTIAL_OPERATIONS_NOT_SUPPORTED' | 'CAMERA_ALREADY_EXISTS' | 'CAMERA_NOT_FOUND' | 'NO_LICENSES_AVAILABLE' | 'INVALID_MAC_ADDRESS' | 'INVALID_IP_ADDRESS' | 'DUPLICATE_MAC_ADDRESSES' | 'NVR_CAPACITY_EXCEEDED' | 'NVR_NOT_FOUND' | 'INVALID_NVR_NAME' | 'LOCATION_NOT_FOUND' | 'NVR_REGISTRATION_FAILED' | 'NVR_ALREADY_REGISTERED' | 'PING_REQUEST_TIMEOUT' | 'PING_REQUEST_FAILED' | 'SPEEDTEST_REQUEST_TIMEOUT' | 'SPEEDTEST_REQUEST_FAILED' | 'NO_NVRS_PROVIDED' | 'DUPLICATE_NVR_NAMES' | 'LOCATION_ACCESS_DENIED' | 'LOCATION_NAME_ALREADY_EXISTS' | 'LOCATION_CREATION_FAILED' | 'NO_LOCATIONS_PROVIDED' | 'DUPLICATE_LOCATION_NAMES' | 'ALERT_EVENT_NOT_FOUND' | 'ALERT_NO_VIDEO_AVAILABLE' | 'ALERT_CAMERA_NOT_FOUND' | 'ALERT_CLIP_GENERATION_FAILED' | 'ALERT_NOT_FIREARM' | 'FIREARM_ALERT_NOT_FOUND' | 'INVALID_RECIPIENT_EMAILS' | 'PREMIUM_ALERT_CAMERA_LIMIT_EXCEEDED' | 'CAMERA_ALREADY_IN_USE' | 'ACCESS_EVENT_NOT_FOUND' | 'ACCESS_EVENT_NO_VIDEO_AVAILABLE' | 'ACCESS_EVENT_CLIP_GENERATION_FAILED' | 'CAMERA_GROUP_NOT_FOUND' | 'CAMERA_GROUP_NAME_ALREADY_EXISTS' | 'CAMERA_GROUP_CREATION_FAILED' | 'NO_GROUPS_PROVIDED' | 'DUPLICATE_GROUP_NAMES' | 'INVALID_GROUP_ID' | 'DUPLICATE_GROUP_IDS', required — Centralized error codes for Developer API endpoints.
      - `message` string, required — Error message
      - `field` string — Error field
      - `docs` string — Error docs

## Other responses

- `422` — Validation error

---

[API](https://skmtc.dev/coram/apis/coram-api.md) · [All operations](https://skmtc.dev/coram/apis/coram-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/coram/coram-api/revisions/2842f226f93b/schema)
