From
bafyreiba2jhxr35omllah2v5zxfbafl27l6imy4rddu3ljbhtcaj3usp4e
indexed 2026-11-06 13:46 UTC
View this version
To
bafyreih6hx3s7onk74pcpzgvinltj55lybnbmttn2vrydy27wkijevvlfq
indexed 2026-11-07 06:56 UTC
View this version
Compatibility
backward compatible No changes detected.
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"main": {5
"description": "Device receipt requires the matching complete manifest tuple and playbackReady:true after metadata and first-frame decoder verification. Receipt/source use/report and one durable introduction request per version commit atomically. Failure does not consume sources; received is final.",5
"description": "Device app. Acknowledges one delivery: outcome received after the whole file was downloaded, its CID, size and sha256 matched the manifest and a decoder frame was prepared without starting playback (playbackReady true); outcome failed with the failure stage otherwise. received is final and counts the work's originals as used; a failure consumes nothing. The same requestKey replays the first answer.",66
"errors": [77
{88
"name": "NotMember"99
},1010
{1111
"name": "DeliveryNotFound"1212
},1313
{1414
"name": "NotDevice"1515
},1616
{1717
"name": "DeliveryMismatch"1818
},1919
{2020
"name": "DeliveryWithdrawn"2121
},2222
{2323
"name": "RequestConflict"2424
},2525
{2626
"name": "DeliveryExpired"2727
}2828
],2929
"input": {3030
"encoding": "application/json",3131
"schema": {3232
"properties": {3333
"blobCid": {3434
"format": "cid",3535
"type": "string"3636
},3737
"byteSize": {3838
"maximum": 314572800,3939
"minimum": 0,4040
"type": "integer"4141
},4242
"contentHash": {4343
"maxLength": 128,4444
"type": "string"4545
},4646
"deliveryId": {4747
"maxLength": 64,4848
"type": "string"4949
},5050
"failure": {5151
"knownValues": [5252
"download",5353
"size",5454
"hash",5555
"storage",5656
"metadata",5757
"decode"5858
],5959
"type": "string"6060
},6161
"homeId": {6262
"format": "tid",6363
"type": "string"6464
},6565
"outcome": {6666
"knownValues": [6767
"received",6868
"failed"6969
],7070
"type": "string"7171
},7272
"playbackReady": {7373
"description": "Required true for received after complete metadata and decoder-frame verification, without starting playback.",7474
"type": "boolean"7575
},7676
"requestKey": {7777
"description": "Client-chosen idempotency key (1 to 64 characters of A-Za-z0-9._:-), new for each user action and reused when the same request is sent again after a lost answer. The same key with the same input replays the first answer; the same key with other input is RequestConflict.",7878
"maxLength": 64,7979
"minLength": 1,8080
"type": "string"8181
}8282
},8383
"required": [8484
"homeId",8585
"deliveryId",8686
"outcome",8787
"requestKey"8888
],8989
"type": "object"9090
}9191
},9292
"output": {9393
"encoding": "application/json",9494
"schema": {9595
"properties": {9696
"delivery": {9797
"ref": "ai.newnal.illi.artwork.defs#deliveryView",9898
"type": "ref"9999
},100100
"recorded": {101101
"description": "false when the same acknowledgement had been recorded before.",102102
"type": "boolean"103103
}104104
},105105
"required": [106106
"delivery",107107
"recorded"108108
],109109
"type": "object"110110
}111111
},112112
"type": "procedure"113113
}114114
},115115
"id": "ai.newnal.illi.artwork.ackDelivery",116116
"lexicon": 1117117
}