ai.newnal.illi.artwork.recordPlayback
Device app. Records a playback event of a delivered work: started (clears the unplayed state), paused (with the position the viewer can resume from) and completed. Playback is independent of delivery and is never an acknowledgement. Events are idempotent by eventKey within the delivery; the server keeps the latest paused position.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | artwork.illi.newnal.ai |
| Indexed |
Showing version bafyreihv5birlnem5lieccm4pn6ffqalxaa7h4xoouetewihf6v4iw4tsq. Show the latest
Checks
Validunlimited-stringdefs.main.input.schema.properties.eventNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.output.schema.properties.playbackStateNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Device app. Records a playback event of a delivered work: started (clears the unplayed state), paused (with the position the viewer can resume from) and completed. Playback is independent of delivery and is never an acknowledgement. Events are idempotent by eventKey within the delivery; the server keeps the latest paused position.",
"errors": [
{
"name": "NotMember"
},
{
"name": "DeliveryNotFound"
},
{
"name": "NotDevice"
},
{
"name": "DeliveryWithdrawn"
},
{
"name": "RequestConflict"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"deliveryId": {
"maxLength": 64,
"type": "string"
},
"event": {
"knownValues": [
"started",
"paused",
"completed"
],
"type": "string"
},
"eventKey": {
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"homeId": {
"format": "tid",
"type": "string"
},
"occurredAt": {
"format": "datetime",
"type": "string"
},
"positionMs": {
"minimum": 0,
"type": "integer"
}
},
"required": [
"homeId",
"deliveryId",
"event",
"positionMs",
"occurredAt",
"eventKey"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"lastPositionMs": {
"minimum": 0,
"type": "integer"
},
"playbackState": {
"knownValues": [
"unplayed",
"inProgress",
"paused",
"completed"
],
"type": "string"
},
"recorded": {
"type": "boolean"
}
},
"required": [
"recorded",
"playbackState",
"lastPositionMs"
],
"type": "object"
}
},
"type": "procedure"
}
},
"id": "ai.newnal.illi.artwork.recordPlayback",
"lexicon": 1
}