{"lexicon":1,"id":"money.atmosphere.payment.registerCreatorProof","defs":{"main":{"type":"procedure","description":"Register a creator proof URI written by the originating app on the creator's PDS via OAuth. Requires a service-auth JWT signed by the originator DID with lxm matching this NSID. New callers send the complete proof lifecycle pair so a delayed registration cannot mutate or adopt a newer proof generation; both fields remain optional only for rolling compatibility with callers predating lifecycle fencing.","input":{"encoding":"application/json","schema":{"type":"object","required":["paymentId","creatorProofUri","creatorProofCid"],"properties":{"paymentId":{"type":"string","maxLength":256},"creatorProofUri":{"type":"string","format":"at-uri"},"creatorProofCid":{"type":"string","format":"cid"},"proofLifecycleGeneration":{"type":"integer","minimum":1,"maximum":9007199254740991,"description":"Exact verified broker-proof lifecycle generation from the delegated request. Present together with proofLifecycleState."},"proofLifecycleState":{"type":"string","knownValues":["verified"],"maxLength":16,"description":"Verified state paired with proofLifecycleGeneration."}}}},"output":{"encoding":"application/json","schema":{"type":"object","required":["paymentId","creatorProofUri","creatorProofCid"],"properties":{"paymentId":{"type":"string","maxLength":256},"creatorProofUri":{"type":"string","format":"at-uri"},"creatorProofCid":{"type":"string","format":"cid"},"alreadyRegistered":{"type":"boolean"}}}},"errors":[{"name":"AlreadyRegistered","description":"A different creator proof is already registered for this payment. Exact URI/CID replay succeeds with alreadyRegistered true instead."},{"name":"OriginatorDidMismatch","description":"Caller is not the payment's originating app."},{"name":"CreatorProofUriAuthorityMismatch","description":"Record URI authority does not match the creator DID."},{"name":"PaymentNotFound","description":"Payment not found."},{"name":"AttestationInvalidated","description":"The underlying attestation has been invalidated (e.g. refund/dispute); the proof cannot be registered."},{"name":"ProofLifecycleGenerationSuperseded","description":"The delegated request's verified proof lifecycle generation is no longer current."},{"name":"RegistrationFailed","description":"The creator proof could not be verified or registered."}]}}}