Plum / developers
REST APIDevice

End a device stream

Record where one of the device's streams ended, in the stream's capture timeline. Queue it behind the stream's backlog; it may arrive long after capture. Set once: the same end returns the stream; a different end or an end before a registered chunk is a 409 CONFLICT, and chunks past a recorded end are rejected. Set Content-Type to application/json or application/cbor for the request body. Requires a provisioned, verified mTLS device client certificate and an account binding. Set Accept to application/json or application/cbor for the response; omitted or wildcard Accept selects JSON. See [Devices](/docs/devices).

POST/device/streams/{id}/end

Path Parameters

id*string
Formatuuid

Header Parameters

X-API-Version?"1"

Send 1 to pin the documented API contract. If omitted, the latest version is selected.

Default"1"

Value in

  • "1"

Request Body

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

curl -X POST "https://example.com/device/streams/497f6eca-6276-4993-bfeb-53cbbbba6f08/end" \  -H "X-API-Version: 1" \  -H "Content-Type: application/json" \  -d '{    "end_ms": 0,    "binding_epoch": "f92bd0f6-ad82-48f7-b45e-7b07b52b3f71"  }'
{  "success": true,  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "owner_user_id": "65139110-7c3c-4777-b692-80c218be3b9d",    "source_stream_ref": "80c07f33-6153-4ead-a2bf-b1b810964c48",    "captured_at": "2019-08-24T14:15:22Z",    "clock_uncertainty_ms": 0,    "transcript_revision": 0,    "created_at": "2019-08-24T14:15:22Z",    "source_device_id": "string",    "binding_epoch": "f92bd0f6-ad82-48f7-b45e-7b07b52b3f71",    "end_ms": 0  }}