{"lexicon":1,"id":"money.atmosphere.payment.cancelPledge","defs":{"main":{"type":"procedure","description":"Cancel a pledge before it converts. Callable by the originating app with app-DID service-auth, or by the payer with service-auth from the DID ATM verified into the pledge's private claimed identity through the emailed-code claim. The payerDid hint supplied at creation grants no cancellation authority. 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"},{"name":"PledgeCancellationPending"}]}}}