532681d5c0
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
252 lines
8.1 KiB
JSON
252 lines
8.1 KiB
JSON
{
|
|
"id": "app.bsky.feed.searchPostsV2",
|
|
"defs": {
|
|
"main": {
|
|
"type": "query",
|
|
"errors": [
|
|
{
|
|
"name": "BadQueryString"
|
|
}
|
|
],
|
|
"output": {
|
|
"schema": {
|
|
"type": "object",
|
|
"required": [
|
|
"posts"
|
|
],
|
|
"properties": {
|
|
"posts": {
|
|
"type": "array",
|
|
"items": {
|
|
"ref": "app.bsky.feed.defs#postView",
|
|
"type": "ref"
|
|
},
|
|
"description": "Hydrated views of matching posts."
|
|
},
|
|
"cursor": {
|
|
"type": "string",
|
|
"description": "Cursor for the next page of results."
|
|
},
|
|
"hitsTotal": {
|
|
"type": "integer",
|
|
"description": "Estimated total number of matching hits. May be rounded or truncated."
|
|
},
|
|
"detectedQueryLanguages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"knownValues": [
|
|
"ja",
|
|
"zh",
|
|
"ko",
|
|
"th",
|
|
"ar"
|
|
]
|
|
},
|
|
"description": "Query languages detected for CJK, Thai, or Arabic text. Empty or omitted for other scripts."
|
|
}
|
|
}
|
|
},
|
|
"encoding": "application/json"
|
|
},
|
|
"parameters": {
|
|
"type": "params",
|
|
"required": [],
|
|
"properties": {
|
|
"sort": {
|
|
"type": "string",
|
|
"description": "Ranking order for results. 'recent' sorts by recency; 'top' uses search ranking.",
|
|
"knownValues": [
|
|
"recent",
|
|
"top"
|
|
]
|
|
},
|
|
"urls": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
"description": "Include posts that link to any of these URLs."
|
|
},
|
|
"limit": {
|
|
"type": "integer",
|
|
"default": 25,
|
|
"maximum": 100,
|
|
"minimum": 1,
|
|
"description": "Maximum number of results to return."
|
|
},
|
|
"query": {
|
|
"type": "string",
|
|
"description": "Search query string. A query or at least one filter is required."
|
|
},
|
|
"since": {
|
|
"type": "string",
|
|
"description": "Include posts indexed at or after this timestamp. Can be a datetime, or just an ISO date (YYYY-MM-DD)."
|
|
},
|
|
"until": {
|
|
"type": "string",
|
|
"description": "Include posts indexed before this timestamp. Defaults to the current time. Can be a datetime, or just an ISO date (YYYY-MM-DD)."
|
|
},
|
|
"cursor": {
|
|
"type": "string",
|
|
"description": "Optional pagination cursor."
|
|
},
|
|
"allTime": {
|
|
"type": "boolean",
|
|
"description": "Search the full index instead of the recent-post window."
|
|
},
|
|
"authors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "at-identifier"
|
|
},
|
|
"description": "Include posts by any of these authors. Handles are resolved to DIDs before searching."
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Include posts that link to any of these domains."
|
|
},
|
|
"hasMedia": {
|
|
"type": "boolean",
|
|
"description": "Include only posts with media."
|
|
},
|
|
"hasVideo": {
|
|
"type": "boolean",
|
|
"description": "Include only posts with video."
|
|
},
|
|
"hashtags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"maxLength": 640,
|
|
"maxGraphemes": 64
|
|
},
|
|
"description": "Include posts tagged with any of these hashtags. Do not include the hash (#) prefix."
|
|
},
|
|
"mentions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "at-identifier"
|
|
},
|
|
"description": "Include posts that mention any of these accounts. Handles are resolved to DIDs before searching."
|
|
},
|
|
"following": {
|
|
"type": "boolean",
|
|
"description": "Include only posts from accounts followed by the viewer."
|
|
},
|
|
"languages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "language"
|
|
},
|
|
"description": "Include posts whose language matches any of these language codes."
|
|
},
|
|
"excludeUrls": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "uri"
|
|
},
|
|
"description": "Exclude posts that link to any of these URLs."
|
|
},
|
|
"repliesOnly": {
|
|
"type": "boolean",
|
|
"description": "Include only replies. Mutually exclusive with excludeReplies."
|
|
},
|
|
"queryLanguage": {
|
|
"type": "string",
|
|
"description": "Language analyzer hint for the query text. If unset, the server auto-detects when possible.",
|
|
"knownValues": [
|
|
"ja",
|
|
"zh",
|
|
"ko",
|
|
"th",
|
|
"ar"
|
|
]
|
|
},
|
|
"threadRootUri": {
|
|
"type": "string",
|
|
"format": "at-uri",
|
|
"description": "Include only posts in the thread rooted at this post URI."
|
|
},
|
|
"embeddedAtUris": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "at-uri"
|
|
},
|
|
"description": "Include posts that embed any of these AT URIs."
|
|
},
|
|
"excludeAuthors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "at-identifier"
|
|
},
|
|
"description": "Exclude posts by any of these authors. Handles are resolved to DIDs before searching."
|
|
},
|
|
"excludeDomains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Exclude posts that link to any of these domains."
|
|
},
|
|
"excludeReplies": {
|
|
"type": "boolean",
|
|
"description": "Exclude replies from results. Mutually exclusive with repliesOnly."
|
|
},
|
|
"replyParentUri": {
|
|
"type": "string",
|
|
"format": "at-uri",
|
|
"description": "Include only direct replies to this parent post URI."
|
|
},
|
|
"excludeHashtags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"maxLength": 640,
|
|
"maxGraphemes": 64
|
|
},
|
|
"description": "Exclude posts tagged with any of these hashtags. Do not include the hash (#) prefix."
|
|
},
|
|
"excludeMentions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "at-identifier"
|
|
},
|
|
"description": "Exclude posts that mention any of these accounts. Handles are resolved to DIDs before searching."
|
|
},
|
|
"excludeLanguages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "language"
|
|
},
|
|
"description": "Exclude posts whose language matches any of these language codes."
|
|
},
|
|
"excludeEmbeddedAtUris": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "at-uri"
|
|
},
|
|
"description": "Exclude posts that embed any of these AT URIs."
|
|
}
|
|
}
|
|
},
|
|
"description": "Find posts matching a search query or filters, returning search hits for matching post records."
|
|
}
|
|
},
|
|
"$type": "com.atproto.lexicon.schema",
|
|
"lexicon": 1
|
|
}
|