ai.newnal.illi.parent.uploadProfileImage

Upload a profile photo to the PARENT's PDN with the parent's delegated session, after checking linkage, permission and delegation. Query homeId and slot name the parent. The binary body accepts JPEG, PNG, WebP, HEIC or HEIF, at most 5 MB. The media service synchronously rotates upright, scales the longest side to at most 1024 px without enlargement and returns a metadata-free JPEG (no EXIF, GPS, XMP or ICC), at most 5,000,000 bytes. The Service Agent Node uploads only that JPEG with the parent's delegated session and returns its blob ref for parent.putProfile. Media failure writes nothing to the PDN or profile: UnsupportedMedia (415), MediaTooLarge (413), or MediaUnavailable (503, with Retry-After when supplied).

Details · procedure
Kindprocedure
Authorityparent.illi.newnal.ai
Indexed
cid bafyreih4gfc3vdkupxv6oxtvnjmsn2ecuuokl3i4arhke7ymvmqbvb4he4

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Upload a profile photo to the PARENT's PDN with the parent's delegated session, after checking linkage, permission and delegation. Query homeId and slot name the parent. The binary body accepts JPEG, PNG, WebP, HEIC or HEIF, at most 5 MB. The media service synchronously rotates upright, scales the longest side to at most 1024 px without enlargement and returns a metadata-free JPEG (no EXIF, GPS, XMP or ICC), at most 5,000,000 bytes. The Service Agent Node uploads only that JPEG with the parent's delegated session and returns its blob ref for parent.putProfile. Media failure writes nothing to the PDN or profile: UnsupportedMedia (415), MediaTooLarge (413), or MediaUnavailable (503, with Retry-After when supplied).",
      "errors": [
        {
          "name": "UnsupportedMedia"
        },
        {
          "name": "MediaTooLarge"
        },
        {
          "name": "ParentNotLinked"
        },
        {
          "name": "DelegationUnavailable"
        },
        {
          "name": "ScopeMissing"
        },
        {
          "description": "Photo processing is temporarily unavailable; no photo was uploaded. Retry-After is forwarded when supplied by media.",
          "name": "MediaUnavailable"
        }
      ],
      "input": {
        "encoding": "*/*"
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "blob": {
              "accept": [
                "image/jpeg",
                "image/png",
                "image/webp"
              ],
              "maxSize": 5000000,
              "type": "blob"
            }
          },
          "required": [
            "blob"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "homeId": {
            "format": "tid",
            "type": "string"
          },
          "slot": {
            "maximum": 2,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "homeId",
          "slot"
        ],
        "type": "params"
      },
      "type": "procedure"
    }
  },
  "id": "ai.newnal.illi.parent.uploadProfileImage",
  "lexicon": 1
}