pet.trezy.getPets
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "The at-uris of a player's pets, newest first, optionally filtered by state. Returns IDENTIFIERS ONLY — hydrate each one with pet.trezy.getPet?aturi=. Splitting it that way keeps the list cheap for a player who has collected a great many pets, where sending every record would be most of the payload and almost none of it drawn. The stage needs at most activePetCap of them, so it pays one list call and a handful of hydrations.",
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"cursor": {
"description": "Present only when another page may exist. ABSENT MEANS THE END, so a client that keeps scrolling until the cursor is gone terminates; a client that stops when `pets` is empty also terminates, one call later.",
"type": "string"
},
"error": {
"description": "Present instead of the list. A stable machine code. `unavailable` means the ledger could not be READ — which is emphatically not the same as owning no pets, and must never be rendered as an empty collection. Returning [] there would tell a player their pets are gone.",
"knownValues": [
"bad-did",
"unknown-state",
"bad-cursor",
"unavailable"
],
"type": "string"
},
"message": {
"type": "string"
},
"pets": {
"description": "At-uris, newest first. Ordered by createdAt then uri so the order is total — two pets bought in the same instant would otherwise be free to swap places between pages, which is how a keyset cursor loses or repeats a row.",
"items": {
"format": "at-uri",
"type": "string"
},
"type": "array"
}
},
"required": [],
"type": "object"
}
},
"parameters": {
"properties": {
"cursor": {
"description": "From a previous response. Keyset, not an offset: it names the last row seen, so a pet bought mid-scroll cannot shift the page under the reader or make one disappear.",
"type": "string"
},
"did": {
"description": "Whose pets. Public, like getPet and getStats — a player's collection is visible on their profile page.",
"format": "did",
"type": "string"
},
"limit": {
"default": 50,
"description": "How many at-uris to return.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"state": {
"description": "Which states to include. Omitted means all three. Repeat the parameter to combine them: ?state=inactive&state=retired. The three are mutually exclusive — retiring forces a pet inactive, so `retired` and `inactive` never both describe one pet.",
"items": {
"knownValues": [
"active",
"inactive",
"retired"
],
"type": "string"
},
"type": "array"
}
},
"required": [
"did"
],
"type": "params"
},
"type": "query"
}
},
"id": "pet.trezy.getPets",
"lexicon": 1
}
Metadata
- DID
-
did:plc:ollch4g7tes2reb5eceiwuol - CID
-
bafyreihfrru6powksus4ipn5sgjhnfmcn4qsg65hp7c6qyjnnv6yd5ky54 - Indexed At
- 2026-08-09 01:42 UTC
- AT-URI
-
at://did:plc:ollch4g7tes2reb5eceiwuol/com.atproto.lexicon.schema/pet.trezy.getPets
Version History (2 versions)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
pet.trezy.getPet query
-
pet.trezy.getNewPets query
The pets adopted in the 7 days before asOf, for the weekly arrivals post. Live pets only: a pet retired inside the same week is not an arrival any more. ⚠ `total` IS THE TRUE COUNT AND `pets` IS ONLY WHAT FITS ON STAG…