No description available.
Input
application/jsondrop
string
Optional
The rkey of a pet.trezy.foodDrop being consumed by this feed. OPTIONAL: petting carries none, and neither does a feed from the legacy button. ⚠ THE MORSEL IS DELETED ONLY AFTER THE ACTIVITY RECORD HAS SAVED, never before. Deleting first would let a refused feed take the food with it — which the player would experience as theft, with no error anywhere to explain where their morsel went.
pet
stringat-uri
Required
An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).
type
string
Required
No description available.
Output
application/jsoncreatedAt
stringdatetime
Optional
An RFC 3339 formatted timestamp.
error
string
Optional
Present instead of uri/createdAt when the interaction was refused for an expected reason. A stable machine code the client branches on — add codes, never rename them.
invalid-type, not-your-pet, cooldownmessage
string
Optional
A sentence to show the player, accompanying `error`. Free to reword; do not branch on it.
uri
stringat-uri
Optional
An AT Protocol URI (e.g., at://did:plc:xyz/app.bsky.feed.post/abc).
Try It
Requests are sent directly from your browser. Some servers may block requests due to CORS.
View raw schema
{
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"type",
"pet"
],
"properties": {
"pet": {
"type": "string",
"format": "at-uri"
},
"drop": {
"type": "string",
"description": "The rkey of a pet.trezy.foodDrop being consumed by this feed. OPTIONAL: petting carries none, and neither does a feed from the legacy button. ⚠ THE MORSEL IS DELETED ONLY AFTER THE ACTIVITY RECORD HAS SAVED, never before. Deleting first would let a refused feed take the food with it — which the player would experience as theft, with no error anywhere to explain where their morsel went."
},
"type": {
"type": "string",
"knownValues": [
"feed",
"pet"
]
}
}
},
"encoding": "application/json"
},
"output": {
"schema": {
"type": "object",
"required": [],
"properties": {
"uri": {
"type": "string",
"format": "at-uri"
},
"error": {
"type": "string",
"description": "Present instead of uri/createdAt when the interaction was refused for an expected reason. A stable machine code the client branches on — add codes, never rename them.",
"knownValues": [
"invalid-type",
"not-your-pet",
"cooldown"
]
},
"message": {
"type": "string",
"description": "A sentence to show the player, accompanying `error`. Free to reword; do not branch on it."
},
"createdAt": {
"type": "string",
"format": "datetime"
}
}
},
"encoding": "application/json"
}
}