rafael 88c1364274
APIs for age assurance compliance (#4028)
Co-authored-by: Eric Bailey <git@esb.lol>
2025-07-11 19:09:18 -03:00

199 lines
5.9 KiB
JSON

{
"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" },
"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" },
"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. Many different OP threads can happen in the same thread."
},
"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."
}
}
}
}
}