{"lexicon":1,"id":"money.atmosphere.catalog.registerAppLink","defs":{"main":{"type":"procedure","description":"Private app callback that links an ATM product record to the app surface responsible for fulfillment. Requires a service-auth JWT signed by the app DID.","input":{"encoding":"application/json","schema":{"type":"object","required":["creatorDid","product"],"nullable":["appProductRef","fulfillmentUrl","appLabel","appUrl","appIconUrl"],"properties":{"creatorDid":{"type":"string","format":"did"},"product":{"type":"ref","ref":"com.atproto.repo.strongRef"},"appProductRef":{"type":"object","properties":{"type":{"type":"string","knownValues":["shop","commission","custom"],"maxLength":32},"id":{"type":"string","maxLength":512},"uri":{"type":"string","format":"at-uri"},"cid":{"type":"string","format":"cid"}}},"fulfillmentUrl":{"type":"string","format":"uri"},"appLabel":{"type":"string","maxGraphemes":80,"maxLength":800},"appUrl":{"type":"string","format":"uri"},"appIconUrl":{"type":"string","format":"uri"},"role":{"type":"string","knownValues":["fulfillment","storefront","analytics"],"maxLength":32},"status":{"type":"string","knownValues":["active","archived"],"maxLength":32}}}},"output":{"encoding":"application/json","schema":{"type":"object","required":["ok"],"properties":{"ok":{"type":"boolean"}}}}}}}