{
  "lexicon": 1,
  "id": "space.polymodel.actor.defs",
  "defs": {
    "profileView": {
      "type": "object",
      "description": "Polymodel actor profile view (union variant). Hydrated from the space.polymodel.actor.profile record plus SQLite-derived stats (thingCount, totalLikes). Returned when the actor authored a polymodel profile record; otherwise getProfile returns the app.bsky.actor.defs#profileViewDetailed variant.",
      "required": [
        "did",
        "handle",
        "record"
      ],
      "properties": {
        "avatar": {
          "type": "string",
          "description": "Resolved avatar URL (CDN). Null until the app view resolves the polymodel profile avatar blob.",
          "format": "uri"
        },
        "defaultLicense": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "did": {
          "type": "string",
          "format": "did"
        },
        "displayName": {
          "type": "string"
        },
        "handle": {
          "type": "string"
        },
        "indexedAt": {
          "type": "string",
          "format": "datetime"
        },
        "links": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          }
        },
        "printers": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "pronouns": {
          "type": "string"
        },
        "record": {
          "type": "unknown",
          "description": "The raw space.polymodel.actor.profile record."
        },
        "thingCount": {
          "type": "integer"
        },
        "totalLikes": {
          "type": "integer"
        }
      }
    },
    "profileViewUnion": {
      "type": "union",
      "description": "Discriminates a polymodel-native actor (space.polymodel.actor.defs#profileView, hydrated from the local profile record + stats) from a bluesky-only actor (app.bsky.actor.defs#profileViewDetailed, fetched from the public AppView). Clients render based on $type.",
      "refs": [
        "space.polymodel.actor.defs#profileView",
        "app.bsky.actor.defs#profileViewDetailed"
      ],
      "closed": true
    }
  }
}