Media Content
PUT /api/v1/edge-protocol/devices/{device_id}/media/{upload_id}/contentBounded encoded MP4 body. Content-Length must match the admitted manifest. Receipt follows file fsync and a transaction that rechecks current camera authority. Receipt confirms storage; processing and submitted coverage are tracked separately.
Access
Section titled “Access”Authentication options declared in the contract include device-scoped appliance credential.
Authentication and permissions explains tokens, cookies, CSRF, and workspace context.
Parameters
Section titled “Parameters”| Name | Location | Required | Type | Description and constraints |
|---|---|---|---|---|
device_id |
path | Yes | string (uuid) | |
upload_id |
path | Yes | string | pattern ^[0-9a-f]{64}$ |
Eoi-Central-Session |
header | No | string (uuid) or null |
Request body
Section titled “Request body”Required.
video/mp4 — string (binary).
{ "type": "string", "format": "binary"}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_EDGE_TOKEN}" \ --header "Content-Type: video/mp4" \ --data-binary @request-body.bin \ "${EOI_API_BASE_URL}/edge-protocol/devices/${EOI_DEVICE_ID}/media/${EOI_UPLOAD_ID}/content"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 |
SessionAcceptedMediaReceipt or EdgeMediaReceipt |
| 422 | Validation Error | application/json |
HTTPValidationError |
Operation identifier storeEdgeMediaContent. Browse Device protocol.
