{
"id": "pet.trezy.dropFood",
"defs": {
"main": {
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"food",
"x"
],
"properties": {
"x": {
"type": "integer",
"description": "Horizontal position in scaled world px."
},
"food": {
"type": "string",
"description": "The id of a published pet.trezy.food."
}
}
},
"encoding": "application/json"
},
"output": {
"schema": {
"type": "object",
"required": [],
"properties": {
"rkey": {
"type": "string",
"description": "The morsel's key in the space. What the client passes back as createInteraction's `drop` when a pet eats it."
},
"error": {
"type": "string",
"description": "Present instead of rkey/droppedAt when the drop was refused for an expected reason. A stable machine code the client branches on — add codes, never rename them.",
"knownValues": [
"not-authenticated",
"unknown-food",
"bad-position",
"terrarium-full",
"save-failed"
]
},
"message": {
"type": "string",
"description": "A sentence to show the player, accompanying `error`. Free to reword; do not branch on it."
},
"droppedAt": {
"type": "string",
"format": "datetime"
}
}
},
"encoding": "application/json"
},
"description": "Put one morsel on the ground. Writes to the caller's terrarium space; the space is created lazily by the first drop, so a player who never feeds anything never gets one."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}