{
  "lexicon": 1,
  "id": "app.bsky.unspecced.defs",
  "defs": {
    "skeletonSearchPost": {
      "type": "object",
      "required": ["uri"],
      "properties": {
        "uri": {
          "type": "string",
          "format": "at-uri"
        }
      }
    },
    "skeletonSearchActor": {
      "type": "object",
      "required": ["did"],
      "properties": {
        "did": {
          "type": "string",
          "format": "did"
        }
      }
    },
    "skeletonSearchStarterPack": {
      "type": "object",
      "required": ["uri"],
      "properties": {
        "uri": {
          "type": "string",
          "format": "at-uri"
        }
      }
    },
    "trendingTopic": {
      "type": "object",
      "required": ["topic", "link"],
      "properties": {
        "topic": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "link": {
          "type": "string"
        }
      }
    },
    "skeletonTrend": {
      "type": "object",
      "required": [
        "topic",
        "displayName",
        "link",
        "startedAt",
        "postCount",
        "dids"
      ],
      "properties": {
        "topic": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "link": {
          "type": "string"
        },
        "startedAt": {
          "type": "string",
          "format": "datetime"
        },
        "postCount": {
          "type": "integer"
        },
        "status": {
          "type": "string",
          "knownValues": ["hot"]
        },
        "category": {
          "type": "string"
        },
        "dids": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "did"
          }
        }
      }
    },
    "trendView": {
      "type": "object",
      "required": [
        "topic",
        "displayName",
        "link",
        "startedAt",
        "postCount",
        "actors"
      ],
      "properties": {
        "topic": {
          "type": "string"
        },
        "displayName": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "link": {
          "type": "string"
        },
        "startedAt": {
          "type": "string",
          "format": "datetime"
        },
        "postCount": {
          "type": "integer"
        },
        "status": {
          "type": "string",
          "knownValues": ["hot"]
        },
        "category": {
          "type": "string"
        },
        "actors": {
          "type": "array",
          "items": {
            "type": "ref",
            "ref": "app.bsky.actor.defs#profileViewBasic"
          }
        }
      }
    },
    "threadItemPost": {
      "type": "object",
      "required": [
        "post",
        "moreParents",
        "moreReplies",
        "opThread",
        "hiddenByThreadgate",
        "mutedByViewer"
      ],
      "properties": {
        "post": {
          "type": "ref",
          "ref": "app.bsky.feed.defs#postView"
        },
        "moreParents": {
          "type": "boolean",
          "description": "This post has more parents that were not present in the response. This is just a boolean, without the number of parents."
        },
        "moreReplies": {
          "type": "integer",
          "description": "This post has more replies that were not present in the response. This is a numeric value, which is best-effort and might not be accurate."
        },
        "opThread": {
          "type": "boolean",
          "description": "This post is part of a contiguous thread by the OP from the thread root. Sub-threads by OP deeper in the tree are not considered an OP thread."
        },
        "opThreadPostIndex": {
          "type": "integer",
          "description": "The 1-indexed position of this post within the contiguous OP thread. Only present when this post is part of the OP thread (see `opThread`)."
        },
        "opThreadPostCount": {
          "type": "integer",
          "description": "The total number of posts in the contiguous OP thread that this post belongs to. Only present when this post is part of the OP thread (see `opThread`)."
        },
        "hiddenByThreadgate": {
          "type": "boolean",
          "description": "The threadgate created by the author indicates this post as a reply to be hidden for everyone consuming the thread."
        },
        "mutedByViewer": {
          "type": "boolean",
          "description": "This is by an account muted by the viewer requesting it."
        }
      }
    },
    "threadItemNoUnauthenticated": {
      "type": "object",
      "properties": {}
    },
    "threadItemNotFound": {
      "type": "object",
      "properties": {}
    },
    "threadItemBlocked": {
      "type": "object",
      "required": ["author"],
      "properties": {
        "author": {
          "type": "ref",
          "ref": "app.bsky.feed.defs#blockedAuthor"
        }
      }
    },
    "ageAssuranceState": {
      "type": "object",
      "description": "The computed state of the age assurance process, returned to the user in question on certain authenticated requests.",
      "required": ["status"],
      "properties": {
        "lastInitiatedAt": {
          "type": "string",
          "format": "datetime",
          "description": "The timestamp when this state was last updated."
        },
        "status": {
          "type": "string",
          "description": "The status of the age assurance process.",
          "knownValues": ["unknown", "pending", "assured", "blocked"]
        }
      }
    },
    "ageAssuranceEvent": {
      "type": "object",
      "description": "Object used to store age assurance data in stash.",
      "required": ["createdAt", "status", "attemptId"],
      "properties": {
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "The date and time of this write operation."
        },
        "status": {
          "type": "string",
          "description": "The status of the age assurance process.",
          "knownValues": ["unknown", "pending", "assured"]
        },
        "attemptId": {
          "type": "string",
          "description": "The unique identifier for this instance of the age assurance flow, in UUID format."
        },
        "email": {
          "type": "string",
          "description": "The email used for AA."
        },
        "initIp": {
          "type": "string",
          "description": "The IP address used when initiating the AA flow."
        },
        "initUa": {
          "type": "string",
          "description": "The user agent used when initiating the AA flow."
        },
        "completeIp": {
          "type": "string",
          "description": "The IP address used when completing the AA flow."
        },
        "completeUa": {
          "type": "string",
          "description": "The user agent used when completing the AA flow."
        }
      }
    }
  }
}
