{"lexicon":1,"id":"money.atmosphere.payment.cancelPledge","defs":{"main":{"type":"procedure","description":"Cancel a pledge before it converts. Callable by the originating app (service-auth signed by the app DID) or by the pledger (service-auth signed by the payer DID on the pledge). No charge is ever made for a canceled pledge.","input":{"encoding":"application/json","schema":{"type":"object","required":["pledgeId"],"properties":{"pledgeId":{"type":"string","maxLength":256},"reason":{"type":"string","maxLength":256}}}},"output":{"encoding":"application/json","schema":{"type":"object","required":["pledgeId","status","canceledAt"],"properties":{"pledgeId":{"type":"string","maxLength":256},"status":{"type":"string","knownValues":["canceled"],"maxLength":32,"description":"Pledge status after cancellation (currently always canceled). Same vocabulary as listPledges#pledge.status."},"canceledAt":{"type":"string","format":"datetime"}}}},"errors":[{"name":"PledgeNotFound"},{"name":"NotAuthorized"},{"name":"PledgeNotCancelable"}]}}}