{
"id": "com.atiproto.payment.item.validate",
"defs": {
"main": {
"type": "query",
"output": {
"schema": {
"type": "object",
"required": [
"valid"
],
"properties": {
"valid": {
"type": "boolean",
"description": "Whether the authed sender has completed and verified item(s)"
},
"amount": {
"type": "integer",
"description": "Sum of all verified completed item amounts in cents"
},
"reason": {
"type": "string",
"maxLength": 1024,
"description": "If invalid, reason for rejection"
},
"currency": {
"type": "string",
"maxLength": 3,
"description": "Currency of the items"
}
}
},
"encoding": "application/json"
},
"parameters": {
"type": "params",
"properties": {
"amount": {
"type": "integer",
"description": "Expected item amount in cents. If omitted, only checks that a item exists."
},
"itemUri": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of a specific item record. Takes precedence over recordUri and subject."
},
"subject": {
"type": "string",
"format": "did",
"description": "DID of the item recipient. Ignored if itemUri or recordUri is provided."
},
"recordUri": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of the record being tipped. Takes precedence over subject."
}
}
},
"description": "Validate that the authenticated user (as the sender) has completed item payment(s). Looks up by itemUri (a specific item record), recordUri (sums all items for that record), or subject (recipient DID). These are mutually exclusive and resolved in that order."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}