full diff

ai.newnal.illi.media.receiveArtworkEvent

From
bafyreibowlidrg7wn6yga3tmxh4dbmvuk7udnmbm5pjrklinmystp42htu indexed 2026-11-06 13:46 UTC View this version
To
bafyreibtryxww4sm5lbvqxncm4ctl2ceeeaxth23deoyv35gcowugqgfqi 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": {
55 "description": "Server-to-server only. Called by the Newnal media service with a service JWT (`iss` = the configured media DID, `lxm` = this method). Apps must not call it.",
66 "errors": [
77 {
88 "name": "InvalidRequest"
99 },
1010 {
1111 "name": "AuthenticationRequired"
1212 },
1313 {
1414 "name": "MediaAuthUnavailable"
1515 },
1616 {
1717 "name": "MediaInboxUnavailable"
1818 }
1919 ],
2020 "input": {
2121 "encoding": "application/json",
2222 "schema": {
23 "description": "Envelope serviceKey, spaceKey, resourceId and revision must equal the snapshot serviceKey, spaceKey, artworkId and revision; compositionVersion must also match. These cross-field equality constraints are enforced by the receiver, not expressible in Lexicon. occurredAt is checked by the receiver with Zod datetime({ offset: true }). The receiver also accepts Zod datetime forms with omitted seconds or a colonless offset; Lexicon datetime requires seconds and a colon in offsets. The generated Lexicon validator requires safe integers, while Zod accepts positive integer-valued numbers beyond that range. Referenced snapshot objects reserve $type for their Lexicon type; Zod passes through arbitrary snapshot fields, including $type. These validator differences do not change receiver behavior.",
23 "description": "The envelope's serviceKey, spaceKey, resourceId, revision and compositionVersion must equal the snapshot's serviceKey, spaceKey, artworkId, revision and compositionVersion (the receiver checks this). occurredAt is a datetime with an offset.",
2424 "properties": {
2525 "compositionVersion": {
2626 "minimum": 1,
2727 "type": "integer"
2828 },
2929 "event": {
3030 "description": "failed means a version failed while no published version exists. Unknown nonempty event values are accepted but ignored without storing or applying the event.",
3131 "knownValues": [
3232 "created",
3333 "updated",
3434 "failed"
3535 ],
3636 "minLength": 1,
3737 "type": "string"
3838 },
3939 "eventId": {
4040 "minLength": 1,
4141 "type": "string"
4242 },
4343 "occurredAt": {
4444 "format": "datetime",
4545 "type": "string"
4646 },
4747 "resource": {
4848 "ref": "ai.newnal.illi.media.defs#artworkEventSnapshot",
4949 "type": "ref"
5050 },
5151 "resourceId": {
5252 "minLength": 1,
5353 "type": "string"
5454 },
5555 "resourceType": {
5656 "const": "artwork",
5757 "type": "string"
5858 },
5959 "revision": {
6060 "minimum": 1,
6161 "type": "integer"
6262 },
6363 "serviceKey": {
6464 "minLength": 1,
6565 "type": "string"
6666 },
6767 "spaceKey": {
6868 "minLength": 1,
6969 "type": "string"
7070 }
7171 },
7272 "required": [
7373 "eventId",
7474 "occurredAt",
7575 "event",
7676 "serviceKey",
7777 "spaceKey",
7878 "resourceType",
7979 "resourceId",
8080 "revision",
8181 "compositionVersion",
8282 "resource"
8383 ],
8484 "type": "object"
8585 }
8686 },
8787 "output": {
8888 "encoding": "application/json",
8989 "schema": {
9090 "properties": {},
9191 "type": "object"
9292 }
9393 },
9494 "type": "procedure"
9595 }
9696 },
9797 "id": "ai.newnal.illi.media.receiveArtworkEvent",
9898 "lexicon": 1
9999}

Compare other versions