{
  "lexicon": 1,
  "id": "space.polymodel.actor.getProfile",
  "defs": {
    "main": {
      "type": "query",
      "description": "Hydrate an actor's profile. Returns the space.polymodel.actor.defs#profileView union variant (local profile record + SQLite-derived stats) when the actor authored a space.polymodel.actor.profile record, otherwise the app.bsky.actor.defs#profileViewDetailed variant fetched from the public AppView. Clients discriminate on $type. The actor parameter accepts a DID or a handle; handles are resolved to a DID before lookup.",
      "parameters": {
        "type": "params",
        "required": ["actor"],
        "properties": {
          "actor": { "type": "string", "format": "at-identifier" }
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": { "type": "ref", "ref": "space.polymodel.actor.defs#profileViewUnion" }
      }
    }
  }
}
