{"lexicon":1,"id":"money.atmosphere.payment.convertPledges","defs":{"result":{"type":"object","required":["pledgeId","outcome"],"properties":{"pledgeId":{"type":"string","maxLength":256},"outcome":{"type":"string","knownValues":["converted","superseded","waiting","failed","skipped"],"maxLength":32},"reason":{"type":"string","maxLength":500,"description":"Why the pledge is waiting/failed/skipped (e.g. RecipientNotPayable, RecipientAppApprovalRequired, card_declined, status_canceled)."},"paymentId":{"type":"string","maxLength":256},"subscriptionId":{"type":"string","maxLength":256},"willRetry":{"type":"boolean"}}},"main":{"type":"procedure","description":"Convert this app's eligible active pledges for a recipient into live subscriptions now (e.g. when the creator enables paid features in the app). Conversion still enforces every checkout gate: recipient payability, app approval by the recipient, duplicate blocking, and live-mode gating. Requires app service-auth. Batches are capped; call again (or let ATM's sweep finish) for large backlogs.","input":{"encoding":"application/json","schema":{"type":"object","required":["recipientDid","environment"],"properties":{"recipientDid":{"type":"string","format":"did"},"environment":{"type":"string","knownValues":["test","live"],"maxLength":8},"pledgeIds":{"type":"array","maxLength":50,"items":{"type":"string","maxLength":256}}}}},"output":{"encoding":"application/json","schema":{"type":"object","required":["results"],"properties":{"results":{"type":"array","items":{"type":"ref","ref":"#result"}}}}}}}}