ai.newnal.illi.home.uploadMyPhoto

Set the caller's photo in one home (family members; parents use parent.uploadProfileImage). The binary body accepts JPEG, PNG, WebP, HEIC or HEIF, at most 10 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 this JPEG with the caller's session and writes the caller's My Data profile (ai.newnal.mydata.dev.profile, rkey self) in the home's family sphere. The photo is per home and replaces an earlier photo. Media failure writes nothing to the PDN or profile: UnsupportedMedia (415), MediaTooLarge (413), or MediaUnavailable (503, with Retry-After when supplied).

Details · procedure
Kindprocedure
Authorityhome.illi.newnal.ai
Indexed
cid bafyreifqh7kk2wny5zusxuxypblrpiexazjfn4m6mlmnfnnvj7bkc2icqq

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Set the caller's photo in one home (family members; parents use parent.uploadProfileImage). The binary body accepts JPEG, PNG, WebP, HEIC or HEIF, at most 10 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 this JPEG with the caller's session and writes the caller's My Data profile (ai.newnal.mydata.dev.profile, rkey self) in the home's family sphere. The photo is per home and replaces an earlier photo. Media failure writes nothing to the PDN or profile: UnsupportedMedia (415), MediaTooLarge (413), or MediaUnavailable (503, with Retry-After when supplied).",
      "errors": [
        {
          "name": "NotMember"
        },
        {
          "name": "HomeNotFound"
        },
        {
          "description": "Parents set their photo with parent.uploadProfileImage.",
          "name": "InvalidRequest"
        },
        {
          "name": "UnsupportedMedia"
        },
        {
          "name": "MediaTooLarge"
        },
        {
          "description": "The caller's session the Service Agent Node holds is unavailable; sign in again.",
          "name": "DelegationUnavailable"
        },
        {
          "name": "PdsUnavailable"
        },
        {
          "description": "The caller's session was issued before the family permission set included the profile record; sign in again.",
          "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": {
            "photoUrl": {
              "description": "Gated URL of the stored photo, readable by the home's members and its device.",
              "format": "uri",
              "type": "string"
            }
          },
          "required": [
            "photoUrl"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "homeId": {
            "format": "tid",
            "type": "string"
          }
        },
        "required": [
          "homeId"
        ],
        "type": "params"
      },
      "type": "procedure"
    }
  },
  "id": "ai.newnal.illi.home.uploadMyPhoto",
  "lexicon": 1
}