---
title: "Launch an lk load-test run"
method: POST
path: "/openvidu-browser/load-test"
tags: ["Stream Manager"]
---

# Launch an lk load-test run

`POST /openvidu-browser/load-test`

Starts a single `lk load-test` process that simulates many publishers/subscribers in one room. Used by the controller when a test case's `browser` is set to `emulated`. Simulcast is enabled by default. Unlike the streamManager path, this does not publish custom/reference media (lk load-test uses its own synthetic clip).

## Request body

- LoadTestRunRequest
  - `openviduUrl` string, required
  - `livekitApiKey` string, required
  - `livekitApiSecret` string, required
  - `room` string, required
  - `videoPublishers` integer — Number of participants publishing video tracks. Each one also publishes an audio track and subscribes to other participants' tracks (mirroring a NORMAL-mode publisher), adding to audioPublishers/subscribers below rather than replacing them.
  - `audioPublishers` integer — Number of participants publishing only an audio track, in addition to the audio publishers implied by videoPublishers
  - `subscribers` integer — Number of participants that only subscribe, in addition to the subscribers implied by videoPublishers
  - `numPerSecond` integer — Number of testers to start every second (ramp)
  - `videoResolution` 'low' | 'medium' | 'high'
  - `videoCodec` 'h264' | 'vp8'
  - `simulcast` boolean — Simulcast is disabled by default; set true to opt in
  - `layout` 'speaker' | '3x3' | '4x4' | '5x5' — Defaults to "5x5" when omitted (lk load-test itself defaults to "speaker")
  - `participantIds` string[] — Synthetic participant ids (e.g. "User1", "User2") assigned to this chunk's publishers/subscribers, in order. When Elasticsearch monitoring is enabled, one webrtc-stats document per id is indexed with node_role: browseremulator, matching NORMAL mode's per-participant reporting.

## Response `200`

Load-test run started successfully

- LoadTestRunResponse
  - `runId` string
  - `handleId` string
  - `room` string
  - `workerCpuUsage` number

## Other responses

- `400` — Invalid request parameters
- `500` — Internal server error

## Changes

> 13 revisions in range; 1 could not be searched.

- **2026-07-03** `caee286f70e9` — 1 warning
  - removed the request property `identityPrefix`
- **2026-07-02** `b66b9afbbbaf` — 1 info
  - added the new optional request property `participantIds`
- **2026-07-01** `fcb37d471bf0` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/openvidu/apis/browser-emulator-api/changes/openvidu-browser/load-test/post.md)

---

[API](https://skmtc.dev/openvidu/apis/browser-emulator-api.md) · [All operations](https://skmtc.dev/openvidu/apis/browser-emulator-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openvidu/browser-emulator-api/revisions/18732332a4cb/schema)
