{"lexicon":1,"id":"money.atmosphere.payment.getSubscriptionChange","defs":{"main":{"type":"query","description":"Return one known membership tier-change status to the registered app that requested that change. The query is scoped by both opaque changeId and service-auth issuer; another app, including the stable subscription originator when it did not request this change, receives the same not-found response as a missing id. No payer assertion is required so the requesting app can reconcile durable state after missed webhooks or local projection loss.","parameters":{"type":"params","required":["changeId"],"properties":{"changeId":{"type":"string","maxLength":128}}},"output":{"encoding":"application/json","schema":{"type":"object","required":["change"],"properties":{"change":{"type":"ref","ref":"money.atmosphere.payment.defs#subscriptionChange"}}}},"errors":[{"name":"AppNotRegistered"},{"name":"RateLimited"},{"name":"SubscriptionChangeNotFound"}]}}}