ai.newnal.illi.media.uploadItem
Upload one photo or video. multipart/form-data parts: homeId, file, timezone?, people? (JSON array of {name, relationship?}, at most 20 people), note? (at most 300 graphemes), takenAt? (offset-bearing timestamp). Unknown parts are ignored. A manual takenAt is queued after registration through updateUserInput. Otherwise capture time comes from file metadata, then upload time. Same-file content in one home returns the existing active original across uploaders, ignoring the new people/note/takenAt without another record or media registration. Originals and derivatives are stored on their original uploader PDN.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | media.illi.newnal.ai |
| Indexed |
Checks
Valid Lint pass{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Upload one photo or video. multipart/form-data parts: homeId, file, timezone?, people? (JSON array of {name, relationship?}, at most 20 people), note? (at most 300 graphemes), takenAt? (offset-bearing timestamp). Unknown parts are ignored. A manual takenAt is queued after registration through updateUserInput. Otherwise capture time comes from file metadata, then upload time. Same-file content in one home returns the existing active original across uploaders, ignoring the new people/note/takenAt without another record or media registration. Originals and derivatives are stored on their original uploader PDN.",
"errors": [
{
"name": "UnsupportedMedia"
},
{
"name": "MediaTooLarge"
},
{
"name": "UploadThrottled"
},
{
"name": "ScopeMissing"
},
{
"name": "NotAllowed"
},
{
"name": "PdsUnavailable"
}
],
"input": {
"encoding": "multipart/form-data"
},
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"item": {
"ref": "ai.newnal.illi.media.defs#itemView",
"type": "ref"
}
},
"required": [
"item"
],
"type": "object"
}
},
"type": "procedure"
}
},
"id": "ai.newnal.illi.media.uploadItem",
"lexicon": 1
}