Documentation contents

VCP 1 Documentation›API Reference

Watch Progress

An optional endpoint that syncs the user's watch position back to your service, so progress follows them across devices.

Advertise the progress keyword in your manifest'scapabilities to mount this route. It requires theprogress.write scope and — like every write — a credential you can map to a user account (see the write model).

PUT/videos/{id}/progress

curl -X PUT "https://api.example.com/vcp/v1/videos/vid_88213/progress" \
  -H "VCP-Service-Token: vcps_a81f42..." \
  -H "Authorization: Bearer vcpa_71be02..." \
  -H "Content-Type: application/json" \
  -d '{ "position": 981.5, "duration": 1440, "watched": false }'

# -> 204 No Content
FieldDescription
positionCurrent playback position in seconds (JSON number).
durationThe video's duration as the client knows it, in seconds.
watchedtrue marks the video fully watched.

The response is 204 No Content. Progress is a simple last-write-wins value: it's a PUT, safe to retry blindly, with no versioning. Clients debounce writes — roughly every 30 seconds of playback plus on pause and exit — so expect a modest, steady write volume rather than one write per second.

Coming soon!

We're putting the finishing touches on VClarity. It'll be on the App Store and Google Play very soon.