Replace Stream
PUT /api/v1/streams/{streamId}Access
Section titled “Access”Authentication options declared in the contract include user cookie session or bearer service token.
The shared authentication policy requires streams:configure. Resource access also depends on the caller’s role, organization, camera grants, and the operation’s validation.
User-session writes require recent authentication.
Authentication and permissions explains tokens, cookies, CSRF, and workspace context.
Parameters
Section titled “Parameters”| Name | Location | Required | Type | Description and constraints |
|---|---|---|---|---|
streamId |
path | Yes | string (uuid) | |
If-Match |
header | Yes | integer | minimum 1 |
X-EyesOnIt-Session-Id |
header | No | string (uuid) | The sessionId the caller expects. Required when switching workspaces and for cookie requests after workspace rotation. A mismatched value returns 409 with X-EyesOnIt-Workspace-Changed: 1. Bootstrap with getCurrentPrincipal; never replay a mutation automatically after changing context. Bearer clients do not use this header. |
X-CSRF-Token |
header | No | string | Required for unsafe requests authenticated by CookieSession; ignored for bearer clients. minimum length 32. maximum length 256 |
Request body
Section titled “Request body”Required.
application/json — ReplaceStreamBody.
| Field | Type | Required | Description and constraints |
|---|---|---|---|
name |
string | Yes | minimum length 1. maximum length 128 |
location |
string or null | No | |
description |
string or null | No | |
externalId |
string or null | No | |
tags |
object | No | Shared integration metadata. At most 32 public entries; keys up to 64 characters and values up to 256 characters. The additional server-managed eyesonit.rtsp.routing.v1 entry may contain up to 4096 characters and must be preserved unchanged on replacement. Camera organization uses its dedicated hierarchy APIs. maximum properties 33 |
timeZone |
string or null | No | |
targetAnalyzedFps |
number | No | greater than 0.0. maximum 120.0. default 5 |
enabled |
boolean | No | default true |
processingResolution |
VideoResolutionPolicyModel | No | |
scene |
StreamSceneModel | No | |
recording |
LocalRecordingPolicyModel | No | |
archiveIndexing |
ArchiveIndexingPolicyModel | No | |
faceRecognition |
FaceRecognitionPolicyModel | No | |
source |
string or null | No | |
fileSource |
FileSourceBody or null | No |
cURL request template
Section titled “cURL request template”Set the connection variables described in Get started. Replace each additional EOI_… variable with the parameter value for this request. Prepare the body file using the request schema above. This template sends the request when run.
curl --fail-with-body --silent --show-error \ --request PUT \ --header "Authorization: Bearer ${EOI_SERVICE_TOKEN}" \ --header "If-Match: ${EOI_IF_MATCH}" \ --header "Content-Type: application/json" \ --data-binary @request.json \ "${EOI_API_BASE_URL}/streams/${EOI_STREAMID}"Contract responses
Section titled “Contract responses”The table records responses declared by the OpenAPI contract. See Errors and status codes for the runtime error envelope and shared failures.
| Status | Description | Media type | Body |
|---|---|---|---|
| 200 | Successful Response | application/json |
StreamResponse |
| 422 | Validation Error | application/json |
HTTPValidationError |
Operation identifier replaceStream. Browse Streams.
