changedInput schema / properties / cursor / description
Previous value: -"Opaque pagination cursor from a previous response for the same post, passed back unchanged. Omit for the first page."New value: +"Opaque pagination cursor from a previous response for the same post and sort, passed back unchanged. Omit for the first page."
changedInput schema / properties / limit / description
Previous value: -"Maximum number of quote posts to return (1–100). Default 25. Pages often hold fewer than the limit and still continue — follow the cursor, not the count. A page that would pass the 48,000-byte response budget comes back with fewer quotes and \"budgetCapped: true\"; its cursor continues from the first quote it left out."New value: +"Maximum number of quote posts to return; values above 100 are clamped with notice unless strict limits are configured. Default 25. Pages often hold fewer than the limit and still continue — follow the cursor, not the count. A page that would pass the 48,000-byte response budget comes back with fewer quotes and \"budgetCapped: true\"; its cursor continues from the first quote it left out."
changedInput schema / properties / limit / maximum
Previous value: -100New value: +9007199254740991
addedInput schema / properties / sort
Added value: +{
+ "default": "latest",
+ "description": "Provider ordering: latest is newest first (default); top is descending like count. Reuse cursors with the same post and sort.",
+ "enum": [
+ "latest",
+ "top"
+ ],
+ "type": "string"
+}
changedOutput schema / anyOf
Previous value: -[
- {
- "not": {
- "required": [
- "error"
- ]
- },
- "required": [
- "uri",
- "posts",
- "totalReturned"
- ]
- },
- {
- "required": [
- "error"
- ]
- }
-]New value: +[
+ {
+ "not": {
+ "required": [
+ "error"
+ ]
+ },
+ "required": [
+ "uri",
+ "sort",
+ "posts",
+ "totalReturned"
+ ]
+ },
+ {
+ "required": [
+ "error"
+ ]
+ }
+]
changedOutput schema / properties / posts / description
Previous value: -"Posts quoting the queried post, newest first."New value: +"Posts quoting the queried post, in the applied sort order."
changedOutput schema / properties / posts / items / properties / embed / description
Previous value: -"The embed on this quote post. On every result it is a \"record\" embed pointing at the queried post, cut back to what the quoting post itself carries: { uri, cid, recordKind?, media? } — uri and cid address the queried post (the revision this quote points at), recordKind is set only when that post is unreadable (\"notFound\" | \"blocked\" | \"detached\"), and media is the image/video/link the quoting post attached alongside the quote. The queried post's own text, author, and attachments are not restated on each result. Other shapes, should an embed point elsewhere: images: { images: [{ url, alt }] }; external: { uri, title, description }; record: { uri, cid, text?, authorHandle?, embeds?, media?, omittedEmbeds?, recordKind? }; video: { playlist?, thumbnail?, presentation? }; unknown: { raw }."New value: +"The embed on this quote post. On every result it is a \"record\" embed pointing at the queried post, cut back to what the quoting post itself carries: { uri, cid, recordKind?, media? } — uri and cid address the queried post (the revision this quote points at), recordKind is set only when that post is unreadable (\"notFound\" | \"blocked\" | \"detached\"), and media is the image/video/link the quoting post attached alongside the quote. The queried post's own text, author, and attachments are not restated on each result. Other shapes, should an embed point elsewhere: images: { images: [{ url, alt }] }; external: { uri, title, description }; record: { uri, cid, text?, facets?, authorHandle?, embeds?, media?, omittedEmbeds?, recordKind? } — facets retain UTF-8 byte ranges and full link, mention, or tag features; video: { playlist?, thumbnail?, presentation? }; unknown: { raw }."
addedOutput schema / properties / posts / items / properties / facets
Added value: +{
+ "description": "Rich-text facets on the unchanged commentary, with UTF-8 byte ranges and full link, mention, or tag values.",
+ "items": {
+ "additionalProperties": {},
+ "description": "One rich-text annotation on the original post text.",
+ "properties": {
+ "features": {
+ "description": "Features applied to this range, in upstream order.",
+ "items": {
+ "anyOf": [
+ {
+ "additionalProperties": {},
+ "description": "Link destination.",
+ "properties": {
+ "$type": {
+ "const": "app.bsky.richtext.facet#link",
+ "description": "Link feature.",
+ "type": "string"
+ },
+ "uri": {
+ "description": "Complete destination URI, independent of abbreviated display text.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "$type",
+ "uri"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "description": "Mention identity.",
+ "properties": {
+ "$type": {
+ "const": "app.bsky.richtext.facet#mention",
+ "description": "Mention feature.",
+ "type": "string"
+ },
+ "did": {
+ "description": "Mentioned account DID.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "$type",
+ "did"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "description": "Tag value.",
+ "properties": {
+ "$type": {
+ "const": "app.bsky.richtext.facet#tag",
+ "description": "Tag feature.",
+ "type": "string"
+ },
+ "tag": {
+ "description": "Tag text without the leading hash.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "$type",
+ "tag"
+ ],
+ "type": "object"
+ },
+ {
+ "additionalProperties": {},
+ "description": "An open-union feature whose complete fields are retained as literal metadata.",
+ "properties": {
+ "$type": {
+ "description": "An upstream feature type other than the known link, mention, or tag types.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "$type"
+ ],
+ "type": "object"
+ }
+ ],
+ "description": "A known link, mention, or tag feature, or an upstream extension variant."
+ },
+ "type": "array"
+ },
+ "index": {
+ "additionalProperties": {},
+ "description": "UTF-8 byte range; these are not JavaScript string indices. Additional upstream fields are retained.",
+ "properties": {
+ "byteEnd": {
+ "description": "Exclusive UTF-8 byte offset in the original text.",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ },
+ "byteStart": {
+ "description": "Inclusive UTF-8 byte offset in the original text.",
+ "maximum": 9007199254740991,
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "byteStart",
+ "byteEnd"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "index",
+ "features"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+}
addedOutput schema / properties / sort
Added value: +{
+ "description": "Applied provider ordering: latest is newest first; top is descending like count.",
+ "enum": [
+ "latest",
+ "top"
+ ],
+ "type": "string"
+}