Docs

Generated reference

A contract index generated from the local ATM, attested.network, and Tickets lexicons.

Closed beta@atmosphere-money/app-nodeSDK beta: 0.0.0-beta.3ATM API beta: 2026-0672 lexicons

Compatible with the closed-beta ATM app APIs and versioned ATM event headers. Check atm-api-version on every webhook or XRPC receiver event.

Source

Generated from the local lexicon set in app/lexicons. It is the mechanical index for NSIDs, route shape, auth expectations, lifecycle labels, and record-versus-XRPC boundaries.

shell
cd app
npm run docs:generate-reference
npm run docs:check

ATM money namespace

NSIDKindRouteAuthStatusSummaryLinks
money.atmosphere.actor.getPayoutStatusquery/xrpc/money.atmosphere.actor.getPayoutStatusService-authbeta draftReturn whether an actor can receive payments through ATM.
money.atmosphere.actor.getProfilequery/xrpc/money.atmosphere.actor.getProfilePublic AppView readbeta draftReturn the indexed money.atmosphere.actor.profile record for an actor DID or handle, or null if none has been indexed.
money.atmosphere.actor.profilerecordPDSPDS recordbeta draftMinimal payment-facing profile for an Atmosphere account using ATM.
money.atmosphere.agreement.acceptancerecordNot publicly servedNo public write pathprepublication candidate; unserved and unpublishedThe counterparty's exact public-beta selection under one public offer version, authored in the acceptor's repo. The acceptance binds the exact offer URI and CID; selected economics and scope cannot broaden it. Both root and child terms and their normalized commercial settlement amounts are public under deliberately disclosed beta authoring/acceptance actions. The pair is the complete bilateral agreement. No private wrapper, extra agreement fingerprint, or optional default-off settlement disclosure election is part of the beta contract.
money.atmosphere.agreement.aggregatePolicyrecordNot publicly servedNo public write pathprepublication candidate; unserved and unpublishedDRAFT unpublished candidate. A creator-authored standing ceiling on the creator's total commercial burden: across every root agreement that applies to one settled occurrence in the named environment, the sum of exact effective lower-only rates must stay at or below aggregateMaxFeeShareBps, and a reviewed compiler fails closed rather than exceed it. Authored only by the creator whose proceeds it protects; never raises any individual agreement's ceiling. Every initial, parallel, or successor CID becomes authority no earlier than its own durable broker admission, so effectiveFrom and supersession cannot rewrite an already admitted occurrence. A successor must bind the exact current tip from the same creator and environment; a foreign, cross-environment, ancestor, or otherwise non-tip predecessor is invalid. Deletion or replay never reopens a superseded tip, and branches or overlapping live tips fail closed as ambiguity.
money.atmosphere.agreement.beneficiaryRefusalrecordNot publicly servedNo public write pathprepublication candidate; unserved and unpublishedDRAFT unpublished candidate. A creator-authored refusal of one named child beneficiary under the creator's own offerings. The record refuses a beneficiary DID, never a child agreement version. Money-neutral by construction: the refused share stays with the parent agreement and the occurrence allocation flattens to the root, so refusal never redirects funds to the creator and is an association control, never a discount lever. A reviewed compiler treats a refused beneficiary's child agreements as not applying to the creator's occurrences, and an ambiguous or unresolvable refusal state at the occurrence anchor means the child does not apply. Deliberately DID-scoped rather than child-version-scoped: binding an exact child version would invite supersede-and-reissue evasion. Authority begins no earlier than durable broker admission of this exact CID and is prospective only; already-attributed occurrences are never restated. Refusal does not delist: public catalog records stay public and reachable, and refusal governs who may earn, never who may link. Deletion never restores a refused beneficiary; only an explicit withdrawn successor reopens the lineage.
money.atmosphere.agreement.defsdefsNot publicly servedNo public write pathprepublication candidate; unserved and unpublishedNo description in lexicon yet.
money.atmosphere.agreement.offerrecordNot publicly servedNo public write pathprepublication candidate; unserved and unpublishedPosted maximum commercial terms authored by the offeror. The offer permits a counterparty to accept an equal or lower rate and a subset of payment types; it authorizes no allocation alone. During public beta both root and child records are public after deliberate publication disclosure. A child is funded from its exact parent agreement, not classified by privacy. Ordinary record CIDs and authenticated authorship bind exact versions. Processor identifiers and raw evidence never belong in this record. ATM executes the bilateral agreement and retains only its child tariff and authorized settlement costs.
money.atmosphere.agreement.revocationrecordNot publicly servedNo public write pathprepublication candidate; unserved and unpublishedDRAFT unpublished candidate. The repo owner makes an append-only terminal decision over one exact agreement record that same DID authored. subject.uri must use a canonical did: authority equal to the revocation repo DID, and its collection must be exactly money.atmosphere.agreement.offer or money.atmosphere.agreement.acceptance; subject.cid and the exact subject body must be independently verified. A revocation received before its subject is retained for that exact later join. Every valid revocation remains terminal: a later update, deletion, takedown, replay, or backfill order never reopens the subject. Multiple valid revocations combine monotonically; the effective cutoff is the earliest admission-clamped cutoff. An occurrence admitted before that cutoff and its frozen allocation are never rewritten or canceled.
money.atmosphere.agreement.rootEnablementrecordNot publicly servedNo public write pathprepublication candidate; unserved and unpublishedDRAFT unpublished candidate. A creator-authored enabled or terminally revoked decision for one exact bilateral acceptance and one exact offering, so a multi-root occurrence can prove which roots the proceeds owner enabled where. The author must be the recipient-proceeds funder and creator of the offering; the bound acceptance may be authored by that creator or by the beneficiary, depending on which party authored the offer. A mismatched funder, offering, offer/acceptance lineage, or counterparty is void. The optional payment-type selection may only narrow an enabled decision; a revoked decision carrying paymentTypes or expiresAt is invalid. Every successor must bind the exact prior tip and preserve the same creator, acceptance, and offering. A revoked successor is admission-clamped and permanently terminal for that exact root lineage, and survives deletion, expiry claims, or replay; re-enablement requires a new bilateral acceptance and a new root-enablement URI/lineage, not a successor of the old lineage.
money.atmosphere.agreement.settlementrecordNot publicly servedNo public write pathprepublication candidate; unserved and unpublishedDRAFT unpublished public-beta commercial allocation evidence, never payment, entitlement, or disbursement authority. Every root and child leg references an exact public acceptance and publishes its normalized commercial amounts. Ordinary record CIDs bind bytes; authenticated ATM repo evidence identifies the author. The private ledger remains canonical. Raw processor objects/identifiers, card/bank details, credentials, KYC and operational balances never appear. Records are immutable: allocation is followed by predecessor-bound signed deltas for refunds, disputes, reinstatements and commercial cost returns. The record key is the proof TID K for its own occurrence, K.YYYYMMDDTHHMMSSZ for a later cycle, with .n for each never-reused positive compensation index. Reject fractional or invalid cycle anchors. Every record keeps the identical leg set in identical order. History verification is as of a supplied authenticated tip, never proof that no newer event exists. Arithmetic consistency does not independently authenticate processor facts or prove money moved; a recurring proof is relationship context only for later occurrences. Public-beta admission records deliberate publication authority through existing authoring/payment actions; older private authorities are never silently projected. Private placement requires a later reviewed Spaces profile. Payment-v1 receipt/proof/lifecycle bytes and semantics are unchanged.
money.atmosphere.analytics.getPaymentVolumeTrendsquery/xrpc/money.atmosphere.analytics.getPaymentVolumeTrendsService-authbeta draftAggregate payment-volume trends for the calling app, scoped to payments it originated.
money.atmosphere.analytics.getRefundAnalysisquery/xrpc/money.atmosphere.analytics.getRefundAnalysisService-authbeta draftRefund analysis for the calling app, scoped to its own originated payments.
money.atmosphere.analytics.getSubscriptionMetricsquery/xrpc/money.atmosphere.analytics.getSubscriptionMetricsService-authbeta draftSubscription MRR / growth / churn for the calling app, per currency, scoped to its own originated subscriptions.
money.atmosphere.app.assertRecipientprocedure/xrpc/money.atmosphere.app.assertRecipientService-authbeta draftService-auth capability NSID used by an app to assert that a signed-in recipient (creator) DID was present when the app requested recipient approval.
money.atmosphere.app.auditFeeDistributionsquery/xrpc/money.atmosphere.app.auditFeeDistributionsService-authbeta draftAudit ATM's contractual revenue-share distributions payable to the calling app and calculated from ATM's own application-fee base (or an equivalent platform-fee amount supplied by ATM from gross proceeds on an enabled route without a separate application fee).
money.atmosphere.app.clearRecipientFeeShareprocedure/xrpc/money.atmosphere.app.clearRecipientFeeShareService-authbeta draftRemove a per-recipient fee override; fee plans prepared afterward return to the app's configured fee.
money.atmosphere.app.defsdefs/xrpc/money.atmosphere.app.defsApp service-authbeta draftNo description in lexicon yet.
money.atmosphere.app.getConfigquery/xrpc/money.atmosphere.app.getConfigService-authbeta draftRead the calling app's ATM app configuration for one environment.
money.atmosphere.app.getRecipientApprovalquery/xrpc/money.atmosphere.app.getRecipientApprovalService-authbeta draftRead the calling app's current creator approval and coarse payment setup state for one exact environment.
money.atmosphere.app.listRecipientFeeSharesquery/xrpc/money.atmosphere.app.listRecipientFeeSharesService-authbeta draftList this app's per-recipient fee overrides.
money.atmosphere.app.requestRecipientApprovalprocedure/xrpc/money.atmosphere.app.requestRecipientApprovalService-authbeta draftRequest creator approval for an app to accept ATM payments for that recipient.
money.atmosphere.app.setRecipientFeeShareprocedure/xrpc/money.atmosphere.app.setRecipientFeeShareService-authbeta draftSet a LOWER per-recipient application-fee rate that ATM charges for this app (e.g.
money.atmosphere.app.updateConfigprocedure/xrpc/money.atmosphere.app.updateConfigService-authbeta draftUpdate safe app-level ATM configuration for one environment.
money.atmosphere.app.upsertFeeTierprocedure/xrpc/money.atmosphere.app.upsertFeeTierService-authbeta draftAtomically create or replace one automatic app-fee tier by subscriptionGroupKey while preserving every unrelated tier.
money.atmosphere.authCatalogpermission-setNot an XRPC routeUser-granted OAuth permission setbeta draftPermission set for managing ATM-owned catalog records: products, prices, discounts, and discount codes.
money.atmosphere.authProfilepermission-setNot an XRPC routeUser-granted OAuth permission setbeta draftPermission set for creating and updating the ATM-owned payment profile record.
money.atmosphere.billing.requestKofiMigrationBatchprocedure/xrpc/money.atmosphere.billing.requestKofiMigrationBatchService-authbeta draftCreate a private ATM billing migration review batch from a Ko-fi membership export.
money.atmosphere.billing.requestMigrationBatchprocedure/xrpc/money.atmosphere.billing.requestMigrationBatchService-authbeta draftCreate a private ATM billing migration review batch from NORMALIZED subscriber rows an app produced from its own export (Ko-fi, Substack, Patreon, …).
money.atmosphere.calendar.getEventquery/xrpc/money.atmosphere.calendar.getEventPublic AppView readbeta draftReturn one indexed community.lexicon.calendar.event record by exact AT-URI, or null when it is not currently indexed.
money.atmosphere.calendar.listRsvpsquery/xrpc/money.atmosphere.calendar.listRsvpsPublic AppView readbeta draftList the latest public community.lexicon.calendar.rsvp state per attendee for an exact calendar event.
money.atmosphere.catalog.configureInventoryprocedure/xrpc/money.atmosphere.catalog.configureInventoryApp service-authbeta draftConfigure ATM's shared inventory authority for an exact current creator-owned root product and optional exact variant.
money.atmosphere.catalog.createProductprocedure/xrpc/money.atmosphere.catalog.createProductApp service-authbeta draftCreate an app-owned canonical ATM product in the calling app DID repo.
money.atmosphere.catalog.defsdefs/xrpc/money.atmosphere.catalog.defsApp service-authbeta draftNo description in lexicon yet.
money.atmosphere.catalog.getInventoryquery/xrpc/money.atmosphere.catalog.getInventoryPublic or app-scoped readbeta draftRead ATM's authoritative inventory projection for an exact active linked creator-owned root physical or digital product and optional exact variant.
money.atmosphere.catalog.getProductquery/xrpc/money.atmosphere.catalog.getProductPublic or app-scoped readbeta draftReturn one indexed ATM catalog product by AT-URI, or null if the AppView has not indexed it.
money.atmosphere.catalog.listDiscountCodesquery/xrpc/money.atmosphere.catalog.listDiscountCodesPublic or app-scoped readbeta draftList indexed public money.atmosphere.discountCode offers authored by a set of creators (read-only catalog projection).
money.atmosphere.catalog.listPricesquery/xrpc/money.atmosphere.catalog.listPricesPublic or app-scoped readbeta draftList indexed ATM Prices authored in an offer's repo whose offerUri exactly names that Product, membership tier, or ticket type.
money.atmosphere.catalog.listProductsquery/xrpc/money.atmosphere.catalog.listProductsPublic or app-scoped readbeta draftList indexed ATM catalog products for a creator, with optional default price and sales-count projections.
money.atmosphere.catalog.updateProductprocedure/xrpc/money.atmosphere.catalog.updateProductApp service-authbeta draftUpdate an app-owned canonical ATM product in the calling app DID repo.
money.atmosphere.discountrecordPDSPDS recordbeta draftPublic ATM discount terms that can be mirrored to processor coupon objects at checkout.
money.atmosphere.discountCoderecordPDSPDS recordbeta draftPublic customer-facing redemption code for a money.atmosphere.discount.
money.atmosphere.event.defsdefs/xrpc/money.atmosphere.event.defsApp service-authbeta draftNo description in lexicon yet.
money.atmosphere.event.listEventsquery/xrpc/money.atmosphere.event.listEventsService-authbeta draftList the calling app's retained events oldest first in ascending seq order for forward pull-based catch-up.
money.atmosphere.event.receiveEventprocedure/xrpc/money.atmosphere.event.receiveEventService-authbeta draftOptional app-implemented XRPC receiver for ATM outbound events.
money.atmosphere.membership.assertMemberprocedure/xrpc/money.atmosphere.membership.assertMemberService-authbeta draftService-auth capability NSID used by a member to assert their own presence for a cross-app membership access check.
money.atmosphere.membership.createProgramprocedure/xrpc/money.atmosphere.membership.createProgramApp service-authbeta draftCreate a portable money.atmosphere.membership.program record in the creator's repo.
money.atmosphere.membership.createTierprocedure/xrpc/money.atmosphere.membership.createTierApp service-authbeta draftCreate a portable money.atmosphere.membership.tier record under an existing program in the creator's repo.
money.atmosphere.membership.getAccessprocedure/xrpc/money.atmosphere.membership.getAccessPublic or app-scoped readbeta draftReserved cross-app membership access check.
money.atmosphere.membership.listGrantsquery/xrpc/money.atmosphere.membership.listGrantsService-authbeta draftList membership grants the CALLING app registered with money.atmosphere.membership.registerGrant, for reconciliation and revocation (for example: which imported members of a migration batch received grants).
money.atmosphere.membership.programrecordPDSPDS recordbeta draftPublic ATM creator membership program.
money.atmosphere.membership.registerGrantprocedure/xrpc/money.atmosphere.membership.registerGrantService-authbeta draftRegister a non-payment membership grant (comp, migration import, or free-tier claim) so cross-app access checks honor it: money.atmosphere.membership.getAccess answers from the union of attested subscription truth and registered grants.
money.atmosphere.membership.revokeGrantprocedure/xrpc/money.atmosphere.membership.revokeGrantService-authbeta draftRevoke a membership grant previously registered with money.atmosphere.membership.registerGrant.
money.atmosphere.membership.tierrecordPDSPDS recordbeta draftPublic ATM membership tier for a creator membership program.
money.atmosphere.membership.updateProgramprocedure/xrpc/money.atmosphere.membership.updateProgramApp service-authbeta draftUpdate a money.atmosphere.membership.program record ATM authored in the creator's repo (the record CID rotates).
money.atmosphere.membership.updateTierprocedure/xrpc/money.atmosphere.membership.updateTierApp service-authbeta draftUpdate a money.atmosphere.membership.tier record ATM authored in the creator's repo (the record CID rotates).
money.atmosphere.order.defsdefs/xrpc/money.atmosphere.order.defsApp service-authbeta draftNo description in lexicon yet.
money.atmosphere.order.getOrderquery/xrpc/money.atmosphere.order.getOrderService-authbeta draftRead one canonical routed commerce order.
money.atmosphere.order.listOrdersquery/xrpc/money.atmosphere.order.listOrdersService-authbeta draftList the calling app's canonical routed commerce orders, newest movement first.
money.atmosphere.order.updateFulfillmentprocedure/xrpc/money.atmosphere.order.updateFulfillmentService-authbeta draftApply one app-authored fulfillment transition to a routed commerce order.
money.atmosphere.payment.assertPayerprocedure/xrpc/money.atmosphere.payment.assertPayerService-authbeta draftService-auth capability NSID used by an app to assert that a signed-in payer DID was present for an ATM checkout.
money.atmosphere.payment.authPublishReceiptpermission-setNot an XRPC routeUser-granted OAuth permission setexperimental; served; unpublished; no production behaviorAllow this app to create public payment receipt records in your account for payments you complete.
money.atmosphere.payment.cancelPledgeprocedure/xrpc/money.atmosphere.payment.cancelPledgeService-authbeta draftCancel a pledge before it converts.
money.atmosphere.payment.cancelSubscriptionprocedure/xrpc/money.atmosphere.payment.cancelSubscriptionService-authbeta draftCancel a subscription on behalf of the authenticated payer.
money.atmosphere.payment.convertPledgesprocedure/xrpc/money.atmosphere.payment.convertPledgesService-authbeta draftConvert this app's eligible active pledges for a recipient into live subscriptions now (e.g.
money.atmosphere.payment.createManagementSessionprocedure/xrpc/money.atmosphere.payment.createManagementSessionService-authbeta draftCreate a short-lived, single-use subscription management URL for a payer without an ATM sign-in.
money.atmosphere.payment.createPledgeprocedure/xrpc/money.atmosphere.payment.createPledgeService-authbeta draftCreate a pledge: the payer saves a card for a recipient who has not finished ATM payment setup, and ATM converts it into a real subscription when the recipient becomes payable and has approved this app.
money.atmosphere.payment.createSubscriptionChangeSessionprocedure/xrpc/money.atmosphere.payment.createSubscriptionChangeSessionApp service-authbeta draftCreate a short-lived ATM hosted URL for a previously previewed membership tier change.
money.atmosphere.payment.declineRecordprocedure/xrpc/money.atmosphere.payment.declineRecordService-authbeta draftSignal that the originating app cannot write a delegated record.
money.atmosphere.payment.defsdefs/xrpc/money.atmosphere.payment.defsApp service-authbeta draftNo description in lexicon yet.
money.atmosphere.payment.diagnoseSubscriptionFailurequery/xrpc/money.atmosphere.payment.diagnoseSubscriptionFailureService-authbeta draftDiagnose why a subscription renewal failed, for the originating app.
money.atmosphere.payment.getSubscriptionChangequery/xrpc/money.atmosphere.payment.getSubscriptionChangeService-authbeta draftReturn one known membership tier-change status to the registered app that requested that change.
money.atmosphere.payment.lifecyclerecordPDSPDS recordexperimental; served; unpublished; no production behaviorEXPERIMENTAL DRAFT — not published.
money.atmosphere.payment.listPayerProofsquery/xrpc/money.atmosphere.payment.listPayerProofsPublic or app-scoped readbeta draftList the public attested.network payment records anchored to a payer DID (the payer's own already-public payment history), filtered to records with an active broker proof.
money.atmosphere.payment.listPendingRecordsquery/xrpc/money.atmosphere.payment.listPendingRecordsService-authbeta draftList pending payer/creator records the originating app may upgrade.
money.atmosphere.payment.listPledgesquery/xrpc/money.atmosphere.payment.listPledgesService-authbeta draftList pledges originated by the authenticated app.
money.atmosphere.payment.listSubscriptionsquery/xrpc/money.atmosphere.payment.listSubscriptionsService-authbeta draftList active subscriptions for the authenticated payer.
money.atmosphere.payment.previewSubscriptionChangeprocedure/xrpc/money.atmosphere.payment.previewSubscriptionChangeApp service-authbeta draftCreate a short-lived ATM-authored membership tier-change quote without changing billing or access.
money.atmosphere.payment.proofrecordPDSPDS recordexperimental; served; unpublished; no production behaviorEXPERIMENTAL DRAFT — not published.
money.atmosphere.payment.receiptrecordPDSPDS recordexperimental; served; unpublished; no production behaviorEXPERIMENTAL DRAFT — not published; record name decided in NAMING_RFC.md.
money.atmosphere.payment.recurringReceiptrecordPDSPDS recordexperimental; served; unpublished; no production behaviorEXPERIMENTAL DRAFT — not published; record name decided in NAMING_RFC.md.
money.atmosphere.payment.refundPaymentprocedure/xrpc/money.atmosphere.payment.refundPaymentService-authbeta draftRefund a payment the calling app originated.
money.atmosphere.payment.registerCreatorProofprocedure/xrpc/money.atmosphere.payment.registerCreatorProofService-authbeta draftRegister a creator proof URI written by the originating app on the creator's PDS via OAuth.
money.atmosphere.payment.registerPayerRecordprocedure/xrpc/money.atmosphere.payment.registerPayerRecordService-authbeta draftRegister a payer record URI written by the originating app on the payer's PDS via OAuth.
money.atmosphere.payment.verifyReceiptqueryNot implementedNo enabled auth pathexperimental; served; unpublished; no production behaviorEXPERIMENTAL DRAFT — not published.
money.atmosphere.payment.verifyRecordquery/xrpc/money.atmosphere.payment.verifyRecordPublic AppView readbeta draftVerify one exact public attested payment strongRef against ATM's current active broker proof.
money.atmosphere.pricerecordPDSPDS recordbeta draftPublic ATM price record describing amount, currency, and billing cadence for an offer (product, membership tier, or ticket type).
money.atmosphere.productrecordPDSPDS recordbeta draftPublic ATM catalog product describing what is sold; prices live in money.atmosphere.price.
money.atmosphere.segments.listMembersquery/xrpc/money.atmosphere.segments.listMembersService-authbeta draftList members of a private customer cohort the calling app's payments computed.
money.atmosphere.segments.requestMessageprocedure/xrpc/money.atmosphere.segments.requestMessageService-authbeta draftRequest a marketing message to a computed customer cohort.
money.atmosphere.temp.membership.defsdefs/xrpc/money.atmosphere.temp.membership.defsApp service-authbeta draftNo description in lexicon yet.
money.atmosphere.temp.membership.registerSpaceprocedure/xrpc/money.atmosphere.temp.membership.registerSpaceCreator service-authexperimental invite-only betaRegister the private ATM entitlement binding for a creator-owned membership space in ATM's invite-only experimental beta. Requires ordinary AT Protocol service auth issued by the creator/space-authority DID to ATM's advertised service. This does not authorize an app to sell, read, or administer the space; appAccess remains creator-configured PDS policy. Revocation is terminal for a space URI; use a new versioned space key after revocation.
money.atmosphere.temp.membership.revokeSpaceprocedure/xrpc/money.atmosphere.temp.membership.revokeSpaceCreator service-authexperimental invite-only betaEmergency-revoke a creator-owned membership-space binding. Requires only the exact space URI and ordinary creator service auth, so revocation does not depend on public program/tier record availability. A creator may revoke an existing binding after cohort removal; creating a terminal tombstone before first registration requires current invite-only beta cohort membership.

ATM money fields

money.atmosphere.actor.getPayoutStatus18 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsactorstringyesnoformat:at-identifierNo description in lexicon yet.
outputstatusstring<active | action-required | pending | not-ready | temporarily-unavailable>yesnomaxLength:64Synthesized payout readiness.
outputchargesEnabledbooleanyesnononeNo description in lexicon yet.
outputpayoutsEnabledbooleanyesnononeNo description in lexicon yet.
outputdetailsSubmittedbooleanyesnononeNo description in lexicon yet.
outputrequirementsDuearray<string>nonomaxLength:100No description in lexicon yet.
outputcurrentlyDueintegernonononeNo description in lexicon yet.
outputpastDueintegernonononeNo description in lexicon yet.
outputeventuallyDueintegernonononeNo description in lexicon yet.
outputdisabledReasonstringnonomaxLength:128No description in lexicon yet.
outputcurrentDeadlinestringnonoformat:datetimeNo description in lexicon yet.
outputerrorsarray<string>nonomaxLength:100No description in lexicon yet.
outputmessagestringnonomaxLength:512No description in lexicon yet.
outputaccountLinkedbooleannonononeNo description in lexicon yet.
outputsupportRequiredbooleannonononeNo description in lexicon yet.
outputhasHistorybooleannonononeNo description in lexicon yet.
outputinternalOwnerbooleannonononeNo description in lexicon yet.
outputsameLegalEntitybooleannonononeNo description in lexicon yet.
money.atmosphere.actor.getProfile5 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsactorstringyesnoformat:at-identifierNo description in lexicon yet.
outputprofileref:#profileyesyesnoneEither null or { uri, cid, value } where value is money.atmosphere.actor.profile.
def:profileuristringyesnoformat:at-uriNo description in lexicon yet.
def:profilecidstringyesnoformat:cidNo description in lexicon yet.
def:profilevalueref:money.atmosphere.actor.profileyesnononeNo description in lexicon yet.
money.atmosphere.actor.profile5 fields
LocationFieldTypeRequiredNullableLimitsDescription
recorddisplayNamestringnonomaxLength:640, maxGraphemes:64Payment-facing display name.
recorddescriptionstringnonomaxLength:2560, maxGraphemes:256Short payment-facing profile text.
recordavatarblobnonononePayment-facing avatar image.
recordcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
recordupdatedAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.agreement.acceptance14 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordofferref:com.atproto.repo.strongRefyesnononeThe exact public offer version accepted, bound by its AT-URI and record CID. The offeror's authenticated repository authorship is checked separately from content integrity.
recordofferorstringyesnoformat:didThe DID whose repo owns the accepted offer.
recordselectionref:#selectionyesnononeExact rate and payment-type subset selected under the referenced offer.
recordpolicyref:#policyyesnononeAcceptor-authored delegation and publication attenuation.
recordeffectiveFromstringnonoformat:datetimeOptional inclusive instant from which this acceptance may authorize a new occurrence.
recordexpiresAtstringnonoformat:datetimeOptional exclusive expiry instant after which this acceptance cannot authorize a new occurrence.
recordsupersedesref:com.atproto.repo.strongRefnonononeThe exact published prior acceptance this one replaces, bound by AT-URI and CID.
recordcreatedAtstringyesnoformat:datetimeClient-declared instant when the acceptor authored this immutable acceptance version.
def:selectionfeeShareBpsintegeryesnominimum:0, maximum:10000Exact rate selected by the acceptor. It must not exceed the offer's maxFeeShareBps. On the launch profile it is the applied rate: a lower rate for one relationship is a superseding acceptance (or a new addressed offer plus acceptance), never a private override, so the public record always describes the money that moved.
def:selectionpaymentTypesarray<ref:money.atmosphere.agreement.defs#paymentType>yesnominLength:1, maxLength:16Explicit non-empty subset of the offer's payment types the acceptor permits. New or omitted types are not authorized.
def:selectionmaxSettlementCostBpsintegernonominimum:0, maximum:10000Explicit acceptance of the root offer's processing-and-settlement cap, in basis points of the collected App Fee. Must be present on a root acceptance and must not exceed the offer's terms.maxSettlementCostBps; absent on a child acceptance. Like feeShareBps it is required even when it equals the offered value, so the recipient's consent to the charge is on the record.
def:selectionnetworkTariffBpsintegernonominimum:0, maximum:10000Explicit acknowledgement, on a child acceptance only, of ATM's network tariff. The child acceptance acknowledges the nominal tariff bps of the schedule assigned at its authenticated admission; client-declared createdAt is not the schedule-selection clock. ATM freezes that schedule id and acknowledged bps with the admitted acceptance. A mismatch at admission fails closed. Every later occurrence under that acceptance uses its frozen schedule, never a mutable current schedule; changing the tariff requires a newly authored acceptance. The nominal acknowledgement is 1,000 bps for atm-network-tariff-v1, including for a same-principal beneficiary; the effective tariff is separately frozen as zero for a proven same-principal leg. The tariff is retained inside the child allocation and is never added to creator burden. Absent on a root acceptance: no tariff ever applies to a root.
def:policydelegationDepthintegeryesnominimum:0, maximum:8How many child levels the beneficiary may carve from its pool. This may only attenuate an offer's childDelegation.maxDepth; it cannot grant children under #noDelegation or exceed the offered depth. 0 means none.
def:policypublicationref:money.atmosphere.agreement.defs#visibilityyesnononeThe acceptor's public-beta publication policy for both root and child terms and normalized commercial settlement evidence. It cannot broaden the offer. The beta requires public through the existing deliberate acceptance action; older privately authenticated approvals remain projection-ineligible.
money.atmosphere.agreement.aggregatePolicy10 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordenvironmentref:money.atmosphere.agreement.defs#environmentyesnononeThe ATM app environment this standing policy governs. Environment remains an immutable agreement boundary.
recordscopeunion<money.atmosphere.agreement.defs#allOfferingsScope | money.atmosphere.agreement.defs#selectedOfferingsScope>yesnononeExplicit offering boundary for this aggregate ceiling. The candidate profile names all-offerings and an exact selected-offerings set; a future reviewed compiler must allowlist executable variants and fail closed on an unknown variant.
recordaggregateMaxFeeShareBpsintegeryesnominimum:0, maximum:10000Ceiling, in basis points of the occurrence's commissionable basis, on the sum of every applicable root's exact effective lower-only rate after validating effective <= required <= selected <= offered maximum. 100 equals 1%.
recordchildDelegationDepthintegeryesnominimum:0, maximum:8Creator default for the maximum child-delegation depth a root beneficiary may exercise. 0 means none. An individual acceptance may narrow but never exceed it.
recordcompilerPolicyVersionstringyesnominLength:1, maxLength:64Version of the deterministic root-selection, ordering, conservation, and rounding policy this ceiling authorizes. A future reviewed compiler must explicitly allowlist the exact value and fail closed on an unknown version.
recordvisibilityref:money.atmosphere.agreement.defs#visibilitynonononePublication policy for this standing policy itself. Absent means parties.
recordeffectiveFromstringnonoformat:datetimeRequested inclusive applicability start. The resolver clamps it to no earlier than durable broker admission of this exact policy CID; omission likewise cannot make the record authoritative before admission.
recordexpiresAtstringnonoformat:datetimeNo description in lexicon yet.
recordsupersedesref:com.atproto.repo.strongRefnonononeThe exact published current policy tip this one replaces. It must resolve to the same creator repo and environment. A foreign, cross-environment, ancestor, or otherwise non-tip predecessor is invalid; a superseded tip never reopens after deletion or replay, and competing branches fail closed.
recordcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.agreement.beneficiaryRefusal8 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordenvironmentref:money.atmosphere.agreement.defs#environmentyesnononeThe ATM app environment this refusal governs. Environment remains an immutable agreement boundary.
recordbeneficiarystringyesnoformat:didThe refused child-beneficiary DID. Never the creator, and never a root counterparty: a root relationship ends through its own acceptance or enablement lifecycle, not through refusal. A refused party re-minting a new DID defeats DID scoping only with a complicit parent; the creator's escalation for that is delegation depth zero or revoking the parent's enablement.
recordscopeunion<money.atmosphere.agreement.defs#allOfferingsScope | money.atmosphere.agreement.defs#selectedOfferingsScope>yesnononeExplicit offering boundary for this refusal. The candidate profile names all-offerings and an exact selected-offerings set; a future reviewed compiler must allowlist executable variants and fail closed on an unknown variant. An empty or omitted scope never means all offerings.
recordstatestring<refused | withdrawn>yesnomaxLength:16refused creates or continues the refusal for this creator/environment/beneficiary lineage. withdrawn is the only way a refusal ends: it must supersede the exact current refused tip, and deletion or replay of any version never restores the child. A future reviewed resolver must allowlist executable values and fail closed on unknown values.
recordvisibilityref:money.atmosphere.agreement.defs#visibilitynonononePublication policy for this refusal itself. Absent means parties — visible to the creator and the refused beneficiary, which is what keeps silent non-payment debuggable rather than mysterious.
recordeffectiveFromstringnonoformat:datetimeRequested inclusive cutoff. The resolver clamps authority to no earlier than durable broker admission of this exact CID; a backdated record cannot reach already-admitted occurrences.
recordsupersedesref:com.atproto.repo.strongRefnonononeThe exact published prior refusal version this one replaces, bound by AT-URI and CID. It must resolve to the same creator repo, environment, and beneficiary; a foreign, cross-environment, ancestor, or otherwise non-tip predecessor is invalid, and competing branches fail closed.
recordcreatedAtstringyesnoformat:datetimeClient-declared instant when the creator authored this immutable refusal version.
money.atmosphere.agreement.defs10 fields
LocationFieldTypeRequiredNullableLimitsDescription
def:paymentTypevalueref:#paymentTypeValueyesnononePayment type selected by this array item. The object wrapper permits future per-type attenuation without changing the array element shape.
def:surfaceauthoritystringyesnoformat:didDID whose namespace defines this surface identifier — typically the app that operates the surface. Global comparability comes from the (authority, id) pair, so a child's narrowing claim is provable as a subset of the parent's exact pairs rather than a collision of offeror-local strings.
def:surfaceidstringyesnominLength:1, maxLength:512Surface identifier meaningful under the authority DID: an exact OAuth client_id or an origin is recommended. It is an agreement scope term, never processor or routing authority.
def:roleSelectionroleref:#roleyesnononeChild role permitted by this item. A future reviewed compiler must explicitly allowlist supported roles and fail closed on unknown values.
def:currencyAmountamountMinorintegeryesnominimum:0Non-negative amount in the currency's smallest integral unit.
def:currencyAmountcurrencystringyesnominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code for the commercial currency. Native tokens require a separate asset/network/atomic-amount union variant.
def:assetAmountamountAtomicstringyesnominLength:1, maxLength:78Canonical unsigned base-10 integer atomic-unit amount: exact ASCII full match 0|[1-9][0-9]{0,77}, no normalization, and value at most 2^256-1, parsed only with arbitrary-precision arithmetic. Allocation evidence permits zero; payment-v1 receipts require a positive value. This zero extension is deliberate and is not a claim of identical receipt validation.
def:assetAmountassetstringyesnominLength:11, maxLength:179Exact case-sensitive fungible-asset identity. Require an ASCII full match of ^[-a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,32}/[-a-z0-9]{3,8}:[-.%a-zA-Z0-9]{1,128}$, without trimming, case folding, or normalization. Writers use an exact allowlisted spelling; historical verification does not consult a mutable registry. This grammar is copied into the agreement profile rather than referencing the payment package.
def:offeringSelectionsubjectref:com.atproto.repo.strongRefyesnononeExact published catalog record this item selects.
def:selectedOfferingsScopeofferingsarray<ref:money.atmosphere.agreement.defs#offeringSelection>yesnominLength:1, maxLength:64Exact catalog records this scope selects, each bound by AT-URI and CID. Non-empty by construction; an empty set is invalid rather than all-offerings.
money.atmosphere.agreement.offer32 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordroleref:money.atmosphere.agreement.defs#roleyesnononeWhat the beneficiary provides. checkout = hosted the buyer-facing transaction surface for the occurrence (today's single-app approval maps here); service = recurring member-facing or backend service; discovery = attributed referral; fulfillment; infrastructure. The launch compiler profile executes checkout and fulfillment only. ATM is never a beneficiary role: its network tariff on a child leg is compiler policy the child acceptance acknowledges. The role names work and one attribution question; it never decides funding position — only the funding source does.
recordbeneficiaryPartyref:money.atmosphere.agreement.defs#beneficiaryPartyyesnononeWhich authenticated party is paid: offeror for an app's posted service terms; acceptor for a creator-authored offer funding a role (a discovery offer, or an open checkout-selling offer). Arbitrary third-party beneficiary DIDs are not valid. The compiler resolves this relative value only after verifying the offer repo owner and acceptance repo owner.
recordcounterpartystringnonoformat:didThe DID this offer is addressed to. When present it must equal the acceptance repo owner. Omitted only for an open offer whose eligibility rules independently authorize the acceptance author.
recordfundingunion<#recipientProceedsFunding | #parentAgreementFunding>yesnononeOpen discriminated funding source. The candidate profile names #recipientProceedsFunding and #parentAgreementFunding; a future reviewed compiler must explicitly allowlist every executable variant and fail closed on unknown variants.
recordscoperef:#scopeyesnononeEnvironment, payment-type, offering, and surface boundary for these terms.
recordtermsref:#termsyesnononeMaximum economic terms the acceptor may select without broadening.
recordtriggerref:money.atmosphere.agreement.defs#triggeryesnononeWhat earns the share: every settled occurrence, only an occurrence attributed to the beneficiary with replay-protected evidence, or every charged cycle while the agreement is effective. attributed-sale is exclusive per pool and role at an occurrence; occurrence and service-period stack.
recordattributionref:#attributionnonononeOptional attributed-sale bounds: conversion window and recurring tail. Meaningful only when trigger is attributed-sale; a reviewed compiler must fail closed when it is present with any other trigger.
recorddelegationunion<#noDelegation | #childDelegation>yesnononeOpen delegation policy. The candidate profile names #noDelegation and #childDelegation; a future reviewed compiler must explicitly allowlist every executable variant and fail closed on unknown variants.
recordvisibilityref:money.atmosphere.agreement.defs#visibilityyesnononePublication policy accepted by every author whose terms are disclosed. The beta supports public for roots and children. Missing or older private authority never becomes permission to publish retroactively; future private placement waits for reviewed Spaces support.
recordeffectiveFromstringnonoformat:datetimeOptional inclusive instant from which this offer may be accepted and compiled.
recordexpiresAtstringnonoformat:datetimeOptional exclusive expiry instant after which this offer cannot authorize a new occurrence.
recordsupersedesref:com.atproto.repo.strongRefnonononeThe exact published prior offer version this one replaces, bound by AT-URI and CID.
recordcreatedAtstringyesnoformat:datetimeClient-declared instant when the offeror authored this immutable offer version.
def:parentAgreementFundingparentref:com.atproto.repo.strongRefyesnononeThe exact immediate parent's public offer, bound by canonical DID-authority AT-URI and CID. A CID-only private parent is not sufficient funding identity. Resolve this exact body before validating lineage and attenuation.
def:parentAgreementFundingparentAcceptanceref:com.atproto.repo.strongRefyesnononeThe exact immediate parent's public acceptance, bound by AT-URI and CID. It must accept funding.parent and pay the child offeror. This applies recursively at every permitted depth.
def:scopeenvironmentref:money.atmosphere.agreement.defs#environmentyesnononeThe ATM app environment is part of the immutable agreement boundary. A future reviewed compiler must explicitly allowlist supported environments and fail closed on unknown values.
def:scopepaymentTypesarray<ref:money.atmosphere.agreement.defs#paymentType>yesnominLength:1, maxLength:16Explicit payment-type items the terms cover. The acceptance must select a non-empty subset. Omission never grants future payment types, and a reviewed compiler profile must fail closed on unknown item values.
def:scopeofferingsarray<ref:com.atproto.repo.strongRef>nonominLength:1, maxLength:64Exact catalog records (product, membership program or tier, ticketed event) the terms are limited to.
def:scopesurfacesarray<ref:money.atmosphere.agreement.defs#surface>nonominLength:1, maxLength:16Optional sales-surface identifiers the terms are limited to, as exact (authority, id) pairs. Absence normalizes by trigger: on an attributed-sale agreement it means the BENEFICIARY's own surfaces (every pair under the beneficiary DID's authority), never any surface; on an unconditional agreement it means no surface restriction. A child may never broaden its parent's normalized set — narrowing is a fail-closed subset over exact pairs, and an omitted child under an explicit parent is invalid: the child must enumerate.
def:termsbasisref:money.atmosphere.agreement.defs#basisyesnononeRate domain. commissionable-gross is captured price after accepted discounts, excluding sales tax, statutory pass-throughs, buyer-localization markup, and separately buyer-borne fees, and is valid only with recipientProceedsFunding. parent-pool is the exact occurrence-local amount allocated by the referenced parent agreement to the child offeror and is valid only with parentAgreementFunding. A future reviewed compiler must explicitly allowlist supported values and fail closed on unknown values.
def:termsmaxFeeShareBpsintegeryesnominimum:0, maximum:10000Maximum share of the named basis that the offeror grants the acceptor permission to select. The acceptance records one exact feeShareBps at or below this maximum.
def:termsmaxSettlementCostBpsintegernonominimum:0, maximum:10000Cap on recipient-borne pool-level processing-and-settlement costs, in basis points of the collected root App Fee: multi-currency settlement and inbound Application Fee conversion only. Monetary components are floored once and reconciled one-way; over-collection returns to the recipient, under-collection is ATM-borne, and accepted excess is beneficiary-borne. Every Transfer-dependent cross-border/conversion cost is the beneficiary's own deduction, fixed before allocation under binding authority where required. Required on roots and absent on children; the beta cap ceiling is 150. The acceptance records selection.maxSettlementCostBps explicitly.
def:termsticketFeeref:#ticketFeenonononeSeparate organizer-approved ticket fee schedule. It is valid only when scope.paymentTypes includes ticket and applies to an occurrence only when the acceptance selection also includes ticket. The bps and flat values bind the approved schedule; passToBuyer is its inherited bearer default. A separately creator-authored event or organizer override is frozen on the occurrence and may select the effective bearer. Never silently divided by another agreement.
def:ticketFeebpsintegeryesnominimum:0, maximum:10000Basis points of paid ticket face value. Percentage-only occurrences floor once over the complete paid order face value; historical positive-flat occurrences use the occurrence's frozen legacy per-ticket rounding policy.
def:ticketFeeflatunion<money.atmosphere.agreement.defs#currencyAmount>nonononeExplicit fixed component per paid ticket, if any. The candidate profile names the tagged #currencyAmount variant; a future reviewed compiler must explicitly allowlist executable variants and fail closed on unknown variants. A zero or absent component uses the percentage-only occurrence policy; exact compiler and rounding policy is frozen on each occurrence.
def:ticketFeepassToBuyerbooleanyesnononeInherited default for whether the buyer bears this component on top of face value. A separately creator-authored event or organizer override may select the effective occurrence bearer, which ATM freezes with the payment. This is a different bearer model from a creator-borne percentage.
def:childDelegationmaxDepthintegeryesnominimum:1, maximum:8Maximum number of descendant funding hops permitted below this agreement.
def:childDelegationrolesarray<ref:money.atmosphere.agreement.defs#roleSelection>yesnominLength:1, maxLength:8Child roles the beneficiary may fund.
def:attributionconversionWindowSecondsintegernonominimum:1, maximum:31536000How long after the qualifying attribution evidence a checkout may still credit the beneficiary, in seconds. Evidence whose validity falls outside this window does not select the agreement. Absence means the evidence class's own reviewed expiry governs alone.
def:attributionrecurringTailunion<#tailCycleCount | #tailAgreementLifetime>nonononeOpen tail policy for how long one frozen attribution keeps earning on a recurring relationship. The candidate profile names an exact cycle count and an explicit agreement-lifetime choice; a future reviewed compiler must allowlist executable variants and fail closed on unknown variants. Distinct from the agreement's own effective window, which governs whether the agreement is live at all — conflating the two would silently convert a bounded referral into a perpetual one.
def:tailCycleCountcyclesintegeryesnominimum:1, maximum:1200The frozen attribution earns on this many successfully charged cycles, starting with the attributed first charge, then stops earning without ending the agreement.
money.atmosphere.agreement.revocation3 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordsubjectref:com.atproto.repo.strongRefyesnononeThe exact author-owned offer or acceptance version being revoked, bound by canonical DID-authority AT-URI and CID. The URI repo DID must equal this revocation record's repo DID, its collection must be exactly money.atmosphere.agreement.offer or money.atmosphere.agreement.acceptance, and the exact CID/body must be independently verified.
recordeffectiveAtstringnonoformat:datetimeOptional requested inclusive occurrence-admission cutoff. For each exact revocation CID, the broker uses the later of this value (or createdAt when absent) and that revocation CID's durable broker admission; across duplicate valid revocations the earliest such admission-clamped cutoff wins. Occurrences admitted at or after the cutoff compile without the subject, while earlier admitted occurrences and frozen allocations remain unchanged.
recordcreatedAtstringyesnoformat:datetimeClient-declared authorship time and the default requested cutoff when effectiveAt is absent. It is not trusted broker admission time and cannot backdate revocation authority before durable admission of this exact revocation CID.
money.atmosphere.agreement.rootEnablement9 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordstatestring<enabled | revoked>yesnomaxLength:16enabled creates an initial root decision or supersedes an enabled tip within the same acceptance/offering lineage. revoked is a non-expiring terminal creator withdrawal for that exact lineage; it must supersede the exact current tip, omit paymentTypes and expiresAt, and a future reviewed resolver rejects a revoked record without that verified predecessor. No successor may reopen a revoked lineage.
recordacceptanceref:com.atproto.repo.strongRefyesnononeThe exact published bilateral acceptance this enablement binds, by AT-URI and CID. Its author is determined by the offer direction; it need not be the enablement author.
recordofferingref:money.atmosphere.agreement.defs#offeringSelectionyesnononeThe one exact creator catalog record on which this accepted root is enabled. A different offering requires a different enablement record.
recordpaymentTypesarray<ref:money.atmosphere.agreement.defs#paymentType>nonominLength:1, maxLength:16Optional non-empty payment-type narrowing under both the acceptance and exact offering when state is enabled. Absence preserves the acceptance's own selection; an empty array is invalid rather than an implicit wildcard. state=revoked must omit this field or the decision is invalid.
recordvisibilityref:money.atmosphere.agreement.defs#visibilitynonononePublication policy for this enablement decision itself. Absent means parties. It may be no broader than both the verified bound offer visibility and acceptance publication choice; public is valid only when every disclosed party authorized public. A successor preserves the exact acceptance and offering and may never broaden its predecessor's disclosure. A newly authored acceptance starts a new root-enablement URI/lineage and must not supersede the old lineage.
recordeffectiveFromstringnonoformat:datetimeRequested inclusive start or revocation cutoff. Authority is clamped no earlier than durable broker admission of this exact CID, so a backdated record cannot rewrite an already admitted occurrence.
recordexpiresAtstringnonoformat:datetimeOptional end for an enabled decision only. state=revoked must omit expiresAt: a terminal tombstone never expires or reopens its lineage.
recordsupersedesref:com.atproto.repo.strongRefnonononeThe exact published prior enablement version this one replaces. Whenever present it must resolve to the exact current tip with the same creator, acceptance, and offering; a different acceptance or offering starts a new root-enablement URI/lineage and must not supersede this one. Required by the reviewed resolver when state is revoked.
recordcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.agreement.settlement46 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordenvironmentref:money.atmosphere.agreement.defs#environmentyesnononeNo description in lexicon yet.
recordkindstring<allocation | reversal | reinstatement | adjustment>yesnomaxLength:64A reviewed verifier allowlists executable kinds. All amount fields on a compensation are incremental forward-signed changes, never cumulative targets. A reversal can restore carry while reducing its basis.
recordpublicationstring<atm-public-beta-v1>yesnomaxLength:64The fixed public-beta policy accepted through deliberate authoring/payment actions. This is not a separate optional visibility switch. Missing policy or legacy private authority never authorizes publication.
recordeventIdstringyesnominLength:32, maxLength:32Opaque 128-bit lowercase-hex occurrence event identity. Frozen once and reused on replay. Never a raw processor identifier. Duplicate identities cannot append a second delta.
recordpreviousref:com.atproto.repo.strongRefnonononeRequired on every compensation and absent on allocation: the exact immediately preceding effective settlement record for this occurrence. The complete predecessor chain is necessary to verify current commercial amounts as of this tip.
recordproofref:com.atproto.repo.strongRefyesnononeThe exact ATM-authored money.atmosphere.payment.proof URI and CID. It attests its original payment occurrence; later recurring cycles require separate occurrence authority.
recordoccurrenceref:#occurrenceyesnononeNo description in lexicon yet.
recordlegsarray<ref:#leg>yesnominLength:1, maxLength:80Every applied acceptance in frozen roots-then-depth-first ancestry order. Every compensation has the identical leg set in identical order, including zero deltas.
recordnetworkTariffref:#networkTariffnonononeRequired whenever any child exists: the frozen child tariff schedule. Every effective leg rate is public and zero for a supported same-principal exception.
recordroundingref:#roundingPolicyyesnononeThe rounding, carry, and residual policy under which every leg was computed.
recordclawbackPolicystring<atm-clawback-recompile-v1>nonomaxLength:64Required on a reversal or reinstatement, absent otherwise: the rule by which every withdrawn or restored amount was derived. atm-clawback-recompile-v1 recomputes the frozen allocation at occurrence.netBasis under the rounding policy and takes per-participant differences, so a refund leaves the ledger a smaller sale would have produced; nothing is apportioned. A reviewed verifier must allowlist supported values and fail closed on unknown values.
recordcreatedAtstringyesnoformat:datetimeBroker-declared authoring time. Initial allocation evidence is frozen before downstream obligations arm; later cost returns append evidence after reconciliation.
def:occurrencebasisunion<money.atmosphere.agreement.defs#currencyAmount | money.atmosphere.agreement.defs#assetAmount>yesnononeOriginal frozen commissionable basis, excluding tax, statutory pass-throughs, localization markup and buyer fees. This never changes within the occurrence.
def:occurrencenetBasisunion<money.atmosphere.agreement.defs#currencyAmount | money.atmosphere.agreement.defs#assetAmount>nonononeRequired on a reversal/reinstatement: cumulative remaining commissionable basis after this event, 0..basis. Absent on allocation/adjustment. A(G_after) − A(G_before) is the incremental floor delta. Missing frozen component attribution parks reconciliation; total processor refunded principal is not this basis.
def:occurrencecycleAnchorAtstringnonoformat:datetimeThe exact recurring cycle anchor this occurrence settled, when the occurrence is a subscription cycle.
def:occurrencesnapshotref:#snapshotnonononeNo description in lexicon yet.
def:snapshotprofilestring<atm-settlement-occurrence-v1>yesnomaxLength:64Open profile vocabulary naming how the private occurrence snapshot was committed. atm-settlement-occurrence-v1 is the lowercase hexadecimal SHA-256 of the exact frozen operational occurrence body under the ledger's postgres-jsonb-text-sha256-v1 profile, including its broker-held 128-bit random salt. The digest binds restricted operational evidence for a separately authorized audit; it neither replaces this public record's ordinary CID nor proves hidden source facts to the public. A reviewed verifier must allowlist supported values and fail closed on unknown values.
def:snapshotcommitmentstringyesnominLength:64, maxLength:64The occurrence commitment under profile: 64 lowercase hexadecimal characters.
def:legagreementref:com.atproto.repo.strongRefyesnononeExact money.atmosphere.agreement.acceptance URI and CID. Resolve its exact offer and funding references; funding determines root/child position.
def:legallocationref:#allocationyesnononeNo description in lexicon yet.
def:signedCurrencyAmountamountMinorintegeryesnominimum:-9007199254740991, maximum:9007199254740991Signed minor units within ±(2^53 − 1).
def:signedCurrencyAmountcurrencystringyesnominLength:3, maxLength:3Lowercase ISO 4217 code, exactly three letters; equals the occurrence basis currency.
def:signedAssetAmountamountAtomicstringyesnominLength:1, maxLength:79Matches ^-?(0|[1-9][0-9]{0,77})$ with -0 rejected and magnitude at most 2^256 − 1; parsed only with arbitrary precision.
def:signedAssetAmountassetstringyesnominLength:11, maxLength:179The exact network-qualified asset identifier under the same CAIP-19-compatible grammar as money.atmosphere.agreement.defs#assetAmount.asset (^[-a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,32}/[-a-z0-9]{3,8}:[-.%a-zA-Z0-9]{1,128}$); equals the occurrence basis asset.
def:allocationgrossunion<#signedCurrencyAmount | #signedAssetAmount>yesnononeFloor-rounded amount from occurrence basis for a root, or immediate parent gross for a child. A compensation stores the difference between cumulative floors.
def:allocationtariffBpsintegeryesnominimum:0, maximum:10000Frozen effective child tariff. Root rate, tariff amount and tariff carry are all zero on every kind.
def:allocationtariffunion<#signedCurrencyAmount | #signedAssetAmount>yesnononeATM retained child tariff: floor(gross × effective rate / 10000) plus tariffCarryCollected on allocation; signed difference thereafter.
def:allocationtariffCarryCollectedunion<#signedCurrencyAmount | #signedAssetAmount>yesnononeTariff lineage carry funded by this node residual; zero on roots and cost-only adjustments.
def:allocationcarryReleasedunion<#signedCurrencyAmount | #signedAssetAmount>yesnononeBeneficiary lineage carry funded from the immediate parent residual (creator residual for roots). Frozen release amounts are re-funded in frozen participant order after basis changes.
def:allocationdelegatedOutflowunion<#signedCurrencyAmount | #signedAssetAmount>yesnononeTotal gross plus carry funded to immediate child legs. Zero on a leaf or cost-only adjustment.
def:allocationcostAdjustunion<#signedCurrencyAmount | #signedAssetAmount>yesnononeBeneficiary-borne non-conversion commercial deduction under the frozen cost policy. Positive charges; negative returns. No raw processor data. Recipient-borne costs use settlementCost separately.
def:allocationconversionDeductionunion<#signedCurrencyAmount | #signedAssetAmount>yesnononeBeneficiary-borne commercial conversion deduction fixed before allocation under binding authority. Reconciliation returns excess; no after-the-fact increase. Amount remains in occurrence denomination.
def:allocationnetunion<#signedCurrencyAmount | #signedAssetAmount>yesnononeOwn commercial entitlement after delegated outflow, tariff and authorized beneficiary costs. A compensation stores its signed change; a negative cumulative amount denotes a commercial shortfall, not fabricated processor recovery.
def:allocationsettlementCostref:#settlementCostnonononeRecipient-borne pool-level components under this root acceptance cap. Root-only and separate from beneficiary net and principal refund target.
def:networkTariffschedulestring<atm-network-tariff-v1>yesnomaxLength:64Open tariff-schedule vocabulary. atm-network-tariff-v1 is a uniform 1000 bps of each child leg, zero when the child beneficiary and ATM are one economic principal, never applied to a root.
def:networkTariffbpsintegeryesnominimum:0, maximum:10000Nominal acknowledged schedule bps, distinct from an individual leg effective zero exception.
def:settlementCostpolicystring<atm-settlement-cost-v1>yesnomaxLength:64Open policy vocabulary. atm-settlement-cost-v1 charges Stripe-published-rate components fixed at allocation and keyed on the recipient's settlement currency, per component on its affected basis, floored per component, never estimated, capped at the accepted cap, reconciled one-directionally; excess above the cap is borne by the beneficiary whose leg incurred it.
def:settlementCostcapBpsintegeryesnominimum:0, maximum:10000The cap the root acceptance accepted (selection.maxSettlementCostBps), in basis points of the collected App Fee.
def:settlementCostcomponentsarray<ref:#settlementCostComponent>yesnomaxLength:8Exact frozen component set/order on every record after allocation. On allocation the amount is the charged amount; later records carry only the signed change, zero unless returned under its independent target.
def:settlementCostComponentcomponentstring<multi-currency-settlement | inbound-conversion>yesnomaxLength:64Open component vocabulary, pool-level only. multi-currency-settlement fires only when the recipient's charge settlement currency is one of the broker's enabled non-primary balances; inbound-conversion only when the Application Fee reaches the platform in a currency that is neither the primary currency nor an enabled balance (the charge settlement currency, the ApplicationFee denomination, and its platform balance-transaction denomination are distinct routing facts). Cross-border Transfer and conversion costs are beneficiary-borne, computed on the beneficiary's actual Transfer, and never appear here. A reviewed compiler must allowlist supported values and fail closed on unknown values.
def:settlementCostComponentschedulestringyesnomaxLength:64The versioned published-rate schedule the acceptance bound at authenticated admission; the rate applied is that schedule's dated rate in force at the occurrence. The acceptance freezes the cap and the schedule identity, never every future processor rate.
def:settlementCostComponentbpsintegeryesnominimum:0, maximum:10000The published rate applied, in basis points of the component's base.
def:settlementCostComponentbaseunion<money.atmosphere.agreement.defs#currencyAmount | money.atmosphere.agreement.defs#assetAmount>yesnononeThe component's affected basis: this root's pro-rata partition of the pool.
def:settlementCostComponentbeneficiaryAmountunion<#signedCurrencyAmount | #signedAssetAmount>yesnononeThis component's beneficiary-borne excess, included inside the root costAdjust rather than debited twice. At allocation amount + beneficiaryAmount = floor(base × bps / 10000), and recipient component amounts sum to min(total computed components, root monetary cap). The exact bearer split is frozen. Later entries are signed returns bounded separately for each bearer; beneficiary excess must remain covered by cumulative costAdjust.
def:settlementCostComponentamountunion<#signedCurrencyAmount | #signedAssetAmount>yesnononeRecipient-borne capped component amount on allocation; signed incremental recipient return thereafter. Returns cannot exceed the preceding outstanding component or satisfy principal twice. Base and bps remain the original frozen unsigned facts.
def:roundingPolicypolicystring<atm-rounding-floor-carry-v1>yesnomaxLength:64Open rounding-policy vocabulary. atm-rounding-floor-carry-v1 floors every leg, carries sub-unit remainders per beneficiary lineage, releases carry only from a later occurrence's residual, and never donates residue to ATM; a reversal or reinstatement recomputes the same rule at the net basis (see clawbackPolicy) rather than apportioning a residue. A reviewed verifier must allowlist supported values and fail closed on unknown values.
money.atmosphere.analytics.getPaymentVolumeTrends25 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsenvironmentstring<test | live>nonomaxLength:16Which app environment to report on.
paramsgranularitystring<hour | day>nonomaxLength:8Time-bucket size.
paramswindowDaysintegernonominimum:1, maximum:92Lookback window in days from now.
paramscurrencystringnonominLength:3, maxLength:16Optional read-only filter over historical ledger denominations; normalized case-insensitively.
outputseriesarray<ref:#bucket>yesnononeNo description in lexicon yet.
outputbyMethodarray<ref:#methodStat>yesnononeNo description in lexicon yet.
outputbyCurrencyarray<ref:#currencyStat>yesnononeNo description in lexicon yet.
outputwindowref:#windowyesnononeNo description in lexicon yet.
def:bucketbucketstringyesnoformat:datetimeStart of the time bucket (UTC).
def:bucketcurrencystringyesnominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code.
def:bucketcountintegeryesnononeAll payments in the bucket.
def:bucketsuccessCountintegeryesnononePayments with a settled status in the bucket.
def:bucketgrossAmountintegeryesnononeGross settled volume for this currency in the bucket.
def:methodStatmethodstringyesnomaxLength:32Payment method type (e.g.
def:methodStatcurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:methodStatcountintegeryesnononeNo description in lexicon yet.
def:methodStatgrossAmountintegeryesnononeNo description in lexicon yet.
def:currencyStatcurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:currencyStatcountintegeryesnononeNo description in lexicon yet.
def:currencyStatsuccessCountintegeryesnononeNo description in lexicon yet.
def:currencyStatgrossAmountintegeryesnononeNo description in lexicon yet.
def:windowgranularitystringyesnomaxLength:8No description in lexicon yet.
def:windowwindowDaysintegeryesnononeNo description in lexicon yet.
def:windowfromstringyesnoformat:datetimeNo description in lexicon yet.
def:windowtostringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.analytics.getRefundAnalysis19 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
paramswindowDaysintegernonominimum:1, maximum:92No description in lexicon yet.
paramscurrencystringnonominLength:3, maxLength:16No description in lexicon yet.
outputbyReasonarray<ref:#reasonStat>yesnononeNo description in lexicon yet.
outputsummaryarray<ref:#currencySummary>yesnononeNo description in lexicon yet.
outputwindowref:#windowyesnononeNo description in lexicon yet.
def:reasonStatreasonCodestringyesnomaxLength:32Refund reason code, or 'unspecified'.
def:reasonStatstatusstringyesnomaxLength:24No description in lexicon yet.
def:reasonStatcurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:reasonStatcountintegeryesnononeNo description in lexicon yet.
def:reasonStatamountintegeryesnononeNo description in lexicon yet.
def:currencySummarycurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:currencySummaryrefundCountintegeryesnononeNo description in lexicon yet.
def:currencySummaryrefundedAmountintegeryesnononeNo description in lexicon yet.
def:currencySummarysettledCountintegeryesnononeSettled payments in window — denominator for refund rate.
def:currencySummarysettledGrossAmountintegeryesnononeNo description in lexicon yet.
def:windowwindowDaysintegeryesnononeNo description in lexicon yet.
def:windowfromstringyesnoformat:datetimeNo description in lexicon yet.
def:windowtostringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.analytics.getSubscriptionMetrics14 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
paramswindowDaysintegernonominimum:1, maximum:92No description in lexicon yet.
paramscurrencystringnonominLength:3, maxLength:16No description in lexicon yet.
outputbyCurrencyarray<ref:#currencyMetrics>yesnononeNo description in lexicon yet.
outputwindowref:#windowyesnononeNo description in lexicon yet.
outputnotesarray<string>yesnononeNo description in lexicon yet.
def:currencyMetricscurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:currencyMetricsactiveCountintegeryesnononeNo description in lexicon yet.
def:currencyMetricsmrrintegeryesnononeInterval-normalized monthly recurring revenue (current active snapshot).
def:currencyMetricsnewCountintegeryesnononeSubscriptions created in the window.
def:currencyMetricscanceledCountintegeryesnononeSubscriptions canceled in the window (by canceledAt).
def:windowwindowDaysintegeryesnononeNo description in lexicon yet.
def:windowfromstringyesnoformat:datetimeNo description in lexicon yet.
def:windowtostringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.app.assertRecipient2 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputrecipientDidstringyesnoformat:didThe recipient (creator) DID asserted by the app-held user session.
outputacceptedbooleanyesnononeNo description in lexicon yet.
money.atmosphere.app.auditFeeDistributions22 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramscursorstringnonomaxLength:128Opaque keyset cursor from a prior page.
paramsenvironmentstring<test | live>nonomaxLength:16Which app environment's payouts to return.
paramspaymentIdstringnonomaxLength:128Optional filter to a single originating payment.
paramsstatusstring<queued | scheduled | transferred | held | reversed | failed>nonomaxLength:16Optional filter to one synthesized payout status.
paramslimitintegernonominimum:1, maximum:200No description in lexicon yet.
outputdistributionsarray<ref:#distribution>yesnononeNo description in lexicon yet.
outputcursorstringnonomaxLength:128Keyset cursor for the next page; absent when no more rows.
def:distributionidstringyesnomaxLength:128Distribution row id.
def:distributionpaymentIdstringyesnomaxLength:128The originating payment id (the app-visible payment id).
def:distributionchargeIdstringnonomaxLength:256Processor charge/invoice id this distribution settled against.
def:distributionrolestringyesnomaxLength:32For this endpoint, distribution role 'app' identifies the calling app as the payee of ATM's contractual revenue-share obligation.
def:distributionamountintegeryesnononeGross amount of ATM's contractual revenue-share obligation to the app for this distribution, calculated from ATM's own application-fee base (or an equivalent platform-fee amount computed from gross proceeds on an enabled route without a separate application fee), before any clawback, in the smallest currency unit.
def:distributioncurrencystringyesnominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code.
def:distributionstatusstring<queued | scheduled | transferred | held | reversed | failed>yesnomaxLength:16Synthesized payout status.
def:distributionheldReasonstringnonomaxLength:512Operator-authored reason a queued transfer is held (only set when status = held).
def:distributionheldUntilstringnonoformat:datetimeScheduled payout time.
def:distributionprocessorTransferIdstringnonomaxLength:256Rail-agnostic processor transfer id for the payout movement (e.g.
def:distributionclawbackStatusstring<pending | reversed | failed | waived>nonomaxLength:16Partial-refund clawback state of an already-transferred revenue-share payment from ATM to the app.
def:distributionclawbackAmountintegeryesnononeAmount of ATM's revenue-share payment to the app clawed back by a partial refund, in the smallest currency unit.
def:distributionprocessorReversalIdstringnonomaxLength:256Rail-agnostic processor reversal id for the clawback/reversal movement.
def:distributionperiodstringnonomaxLength:16Optional operator grouping period.
def:distributioncreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.app.clearRecipientFeeShare3 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputrecipientDidstringyesnoformat:didNo description in lexicon yet.
inputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
outputclearedbooleanyesnononeNo description in lexicon yet.
money.atmosphere.app.defs64 fields
LocationFieldTypeRequiredNullableLimitsDescription
def:modulespaymentsbooleanyesnononeNo description in lexicon yet.
def:modulesproductsbooleanyesnononeNo description in lexicon yet.
def:modulessubscriptionsbooleanyesnononeNo description in lexicon yet.
def:modulespledgesbooleannonononeNo description in lexicon yet.
def:modulesticketsbooleanyesnononeNo description in lexicon yet.
def:modulesmachinePaymentsbooleannonononePlanned machine-payments (MPP/x402) module.
def:modulesfederatedCommerceOrdersbooleannonononeRead-only rollout state for revisioned product and commission orders.
def:modulesfederatedFiniteInventorybooleannonononeRead-only app/environment rollout state for shared finite product inventory.
def:modulesreversibleFeeWaiversbooleannonononeRead-only ATM deployment readiness for reversible automatic app-fee waivers.
def:subscriptionPolicyactiveLimitstring<multiple | one-per-payer-recipient>yesnomaxLength:64No description in lexicon yet.
def:ticketingqrPassesbooleanyesnononeNo description in lexicon yet.
def:ticketingwalletPassesbooleanyesnononeNo description in lexicon yet.
def:ticketFeebpsintegeryesnominimum:0, maximum:1000ATM-owned ticket processing fee percentage in basis points.
def:ticketFeeflatAmountintegeryesnominimum:0, maximum:1000ATM-owned flat ticket processing fee in cents per paid ticket.
def:ticketFeeflatCurrencystring<usd>nonominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code for flatAmount.
def:ticketFeepassToBuyerbooleanyesnononeWhether the ATM ticket processing fee is added to buyer checkout price instead of absorbed by the organizer.
def:payoutholdDaysintegeryesnominimum:0, maximum:90Revenue-share payout hold in days.
def:feeTiersubscriptionGroupKeystringyesnomaxLength:128The app-owned plan that grants this tier, matched against a settling subscription's subscriptionGroupKey.
def:feeTierfeeShareBpsintegeryesnominimum:0, maximum:10000Lowered ATM application-fee rate (basis points) for that subscriber's creator revenue.
def:feeTieractiveSubscriptionPolicystring<reversible-waiver>nonomaxLength:32Optional exact policy.
def:feeTierlabelstringnonomaxLength:64Optional label; stored as the resulting override's reason.
def:checkoutthemestring<auto | light | dark>yesnomaxLength:16No description in lexicon yet.
def:paymentMethodsenabledarray<string<card | link | apple_pay | google_pay | us_bank_account | klarna>>yesnomaxLength:12No description in lexicon yet.
def:paymentMethodsdisabledarray<string<card | link | apple_pay | google_pay | us_bank_account | klarna>>yesnomaxLength:12No description in lexicon yet.
def:paymentMethodsdynamicPaymentMethodsbooleanyesnononeNo description in lexicon yet.
def:publicRecordPaymentPolicyappRecordstring<public | private>nonomaxLength:16No description in lexicon yet.
def:publicRecordPaymentPolicyattestationstring<public | private>nonomaxLength:16No description in lexicon yet.
def:publicRecordsPolicyenabledbooleanyesnononeMaster switch: when false ATM writes no public attested record for this app regardless of per-payment-type visibility.
def:publicRecordsPolicydefaultsref:#publicRecordPaymentPolicyyesnononeNo description in lexicon yet.
def:publicRecordsPolicybyPaymentTyperef:#publicRecordsPolicyByPaymentTypeyesnononeNo description in lexicon yet.
def:xrpcReceiverserviceRefstringyesnomaxLength:300No description in lexicon yet.
def:xrpcReceivermethodstringyesnomaxLength:300, format:nsidXRPC receiver method NSID.
def:eventDeliverytransportstring<webhook | xrpc>yesnomaxLength:16No description in lexicon yet.
def:eventDeliveryxrpcReceiverref:#xrpcReceiveryesnononeNo description in lexicon yet.
def:webhookEventSettingtypestring<app.webhook.test | payment.completed | payment.failed | payment.refunded | payment.refund-updated | payment.disputed | payment.dispute-closed | order.updated | subscription.invoice-paid | subscription.change-updated | subscription.updated | subscription.canceled | subscription.payment-failed | subscription.recovered | pledge.created | pledge.canceled | pledge.converted | pledge.conversion-failed | payer.record.requested | payer.claimed | creator.proof.requested | attestation.updated | product.updated | product.archived | product.deleted | ticket.hold.created | ticket.hold.expired | tickets.issued | ticket.event-canceled | ticket.voided | ticket.released | ticket.refunded | ticket.partial-refund-review | ticket.failed-refund-review | ticket.checked-in | ticket.form-submitted | ticket.waitlist.joined | ticket.waitlist.offered | ticket.collaboration.invited | ticket.collaboration.accepted | ticket.collaboration.revoked | customer.segment.message-requested | recipient.authorization.updated>yesnomaxLength:128ATM webhook event type, such as payment.completed.
def:webhookEventSettingenabledbooleanyesnononeNo description in lexicon yet.
def:webhookconfiguredbooleanyesnononeNo description in lexicon yet.
def:webhookurlstringyesyesformat:uriNo description in lexicon yet.
def:webhookpausedbooleanyesnononeNo description in lexicon yet.
def:webhooksecretRotatedAtstringyesyesformat:datetimeNo description in lexicon yet.
def:webhookpreviousSecretExpiresAtstringyesyesformat:datetimeNo description in lexicon yet.
def:configappDidstringyesnoformat:didNo description in lexicon yet.
def:configenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
def:configstatusstring<active | sandbox>yesnomaxLength:32App-environment status.
def:configappUrlstringyesyesformat:uriNo description in lexicon yet.
def:configfeeShareBpsintegeryesnominimum:0, maximum:10000No description in lexicon yet.
def:configwebhookref:#webhookyesnononeNo description in lexicon yet.
def:configappConfigref:#configAppConfigyesnononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypetipref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypesubscriberef:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypeshopref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypecommissionref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypeticketref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:configAppConfigmodulesref:#modulesyesnononeNo description in lexicon yet.
def:configAppConfigsubscriptionPolicyref:#subscriptionPolicyyesnononeNo description in lexicon yet.
def:configAppConfigticketingref:#ticketingyesnononeNo description in lexicon yet.
def:configAppConfigticketFeeref:#ticketFeeyesnononeNo description in lexicon yet.
def:configAppConfigpayoutref:#payoutyesnononeNo description in lexicon yet.
def:configAppConfigcheckoutref:#checkoutyesnononeNo description in lexicon yet.
def:configAppConfigpaymentMethodsref:#paymentMethodsyesnononeNo description in lexicon yet.
def:configAppConfigpublicRecordsref:#publicRecordsPolicyyesnononeNo description in lexicon yet.
def:configAppConfigeventDeliveryref:#eventDeliveryyesnononeNo description in lexicon yet.
def:configAppConfigwebhookEventsarray<ref:#webhookEventSetting>yesnomaxLength:128No description in lexicon yet.
def:configAppConfigfeeTiersarray<ref:#feeTier>yesnomaxLength:20Declarative variable application-fee tiers (up to 20): each maps one of the app's own subscription plans to a lower ATM application-fee rate auto-applied to that subscriber's creator revenue.
money.atmosphere.app.getConfig1 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
money.atmosphere.app.getRecipientApproval6 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsrecipientDidstringyesnomaxLength:2048, format:didNo description in lexicon yet.
paramsenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
outputstatusstring<not-requested | pending | approved | blocked | revoked | needs-review>yesnomaxLength:32No description in lexicon yet.
outputidstringnonomaxLength:128No description in lexicon yet.
outputonboardingUrlstringnonoformat:uriNo description in lexicon yet.
outputpaymentSetupstring<not-checked | required | ready | unavailable>yesnomaxLength:32not-checked when this app has no current approval; required when an approved creator must complete payment setup; ready only after fresh capability and current relationship checks; unavailable when readiness cannot be confirmed.
money.atmosphere.app.listRecipientFeeShares18 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
paramsrecipientDidstringnonoformat:didNo description in lexicon yet.
paramslimitintegernonominimum:1, maximum:100No description in lexicon yet.
paramscursorstringnonomaxLength:1024No description in lexicon yet.
outputfeeSharesarray<ref:#feeShare>yesnononeNo description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
def:feeSharerecipientDidstringyesnoformat:didNo description in lexicon yet.
def:feeShareenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
def:feeSharefeeShareBpsintegeryesnominimum:0, maximum:10000No description in lexicon yet.
def:feeShareoriginstring<manual | auto-tier>yesnomaxLength:16How the override was set.
def:feeShareactiveSubscriptionPolicystring<future-only | reversible-waiver>yesnomaxLength:32Whether this override affects only future recurring relationships or is an ATM-managed reversible waiver for running relationships.
def:feeShareactiveSubscriptionRepriceKindstring<apply | restore>yesnomaxLength:16Current running-relationship convergence direction.
def:feeShareactiveSubscriptionRepricePendingbooleanyesnononeTrue until ATM has converged every eligible running relationship for this override generation.
def:feeSharereasonstringnonomaxLength:64No description in lexicon yet.
def:feeSharesourceSubscriptionIdstringnonomaxLength:256No description in lexicon yet.
def:feeShareexpiresAtstringnonoformat:datetimeNo description in lexicon yet.
def:feeSharecreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:feeShareupdatedAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.app.requestRecipientApproval32 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputrecipientDidstringyesnoformat:didNo description in lexicon yet.
inputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
inputpaymentTypesarray<string<tip | subscribe | shop | commission | ticket>>yesnominLength:1, maxLength:32No description in lexicon yet.
inputfeeShareBpsintegernonominimum:0, maximum:10000Maximum ATM application-fee rate requested for this recipient, in basis points of the gross payment.
inputpublicRecordsref:#publicRecordsPolicynonononeNo description in lexicon yet.
inputrequestReasonstringnonomaxLength:3000, maxGraphemes:300No description in lexicon yet.
inputsetupReturnUrlstringnonoformat:uriNo description in lexicon yet.
inputrecipientAssertionJwtstringnonomaxLength:4096Optional short-lived recipient (creator) presence token: a com.atproto.server.getServiceAuth JWT with iss = recipientDid, aud = ATM broker, lxm = money.atmosphere.app.assertRecipient.
outputidstringyesnomaxLength:128No description in lexicon yet.
outputstatusstring<pending | approved | blocked | revoked | needs-review>yesnomaxLength:32No description in lexicon yet.
outputdashboardUrlstringyesnoformat:uriNo description in lexicon yet.
outputonboardingUrlstringnonoformat:uriATM-hosted URL where the creator can finish payment setup.
outputpaymentTypesarray<string<tip | subscribe | shop | commission | ticket>>yesnomaxLength:32No description in lexicon yet.
outputfeeShareBpsintegeryesnominimum:0, maximum:10000No description in lexicon yet.
outputticketFeeref:#ticketFeenonononeExact ATM ticket fee terms included in the pending approval when paymentTypes contains ticket.
outputmaterialChangeReasonsarray<string>nonomaxLength:32Which requested terms materially changed versus the existing approval (empty when none).
outputautoApprovedbooleannonononeDeprecated compatibility field.
outputneedsPaymentSetupbooleannonononeTrue when the app should route the creator through ATM to finish setup.
def:publicRecordPaymentPolicyappRecordstring<public | private>nonomaxLength:16No description in lexicon yet.
def:publicRecordPaymentPolicyattestationstring<public | private>nonomaxLength:16No description in lexicon yet.
def:publicRecordsPolicyenabledbooleannonononeWhether this app may send explicit payer-facing public payment record choices for this recipient scope.
def:publicRecordsPolicydefaultsref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicybyPaymentTyperef:#publicRecordsPolicyByPaymentTypenonononeNo description in lexicon yet.
def:ticketFeebpsintegeryesnominimum:0, maximum:1000No description in lexicon yet.
def:ticketFeeflatAmountintegeryesnominimum:0, maximum:1000No description in lexicon yet.
def:ticketFeeflatCurrencystring<usd>nonominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code.
def:ticketFeepassToBuyerbooleanyesnononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypetipref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypesubscriberef:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypeshopref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypecommissionref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypeticketref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
money.atmosphere.app.setRecipientFeeShare14 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputrecipientDidstringyesnoformat:didNo description in lexicon yet.
inputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
inputfeeShareBpsintegeryesnominimum:0, maximum:10000Lower ATM application-fee rate this app asks ATM to charge this recipient, in basis points of gross.
inputreasonstringnonomaxLength:64App-chosen label for reconciliation (e.g.
inputsourceSubscriptionIdstringnonomaxLength:256Optional audit pointer to the app-owned subscription justifying the discount.
inputexpiresAtstringnonoformat:datetimeOptional expiry; past it the override is ignored and fees return to the configured rate.
inputapplyToActiveSubscriptionsbooleannonononeAlso request a lower application_fee_percent on the app's running subscriptions for this recipient (never raises; batch-capped).
outputrecipientDidstringyesnoformat:didNo description in lexicon yet.
outputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
outputfeeShareBpsintegeryesnominimum:0, maximum:10000No description in lexicon yet.
outputbaseFeeShareBpsintegeryesnominimum:0, maximum:10000The app's configured fee this override lowers from.
outputappliedToSubscriptionsintegeryesnominimum:0No description in lexicon yet.
outputskippedSubscriptionsintegeryesnominimum:0Running subscriptions not re-priced by this call, including active relationships deferred behind exact prepared processor work.
outputhasMoreSubscriptionsbooleannonononeTrue when more eligible running subscriptions remain or at least one active relationship was deferred/skipped and still carries the older fee.
money.atmosphere.app.updateConfig46 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
inputappUrlstringnoyesformat:uriNo description in lexicon yet.
inputwebhookUrlstringnoyesformat:uriNo description in lexicon yet.
inputwebhookPausedbooleannonononeNo description in lexicon yet.
inputfeeShareBpsintegernonominimum:0, maximum:10000No description in lexicon yet.
inputmodulesref:#modulesnonononeWritable module toggles.
inputsubscriptionPolicyref:#subscriptionPolicynonononeNo description in lexicon yet.
inputticketingref:#ticketingnonononeNo description in lexicon yet.
inputticketFeeref:#ticketFeenonononeNo description in lexicon yet.
inputpayoutref:#payoutnonononeNo description in lexicon yet.
inputcheckoutref:#checkoutnonononeNo description in lexicon yet.
inputpaymentMethodsref:#paymentMethodsnonononeNo description in lexicon yet.
inputpublicRecordsref:#publicRecordsPolicynonononeNo description in lexicon yet.
inputeventDeliveryref:#eventDeliverynonononeNo description in lexicon yet.
inputwebhookEventsarray<ref:#webhookEventSetting>nonomaxLength:128No description in lexicon yet.
inputfeeTiersarray<ref:money.atmosphere.app.defs#feeTier>nonomaxLength:20Full replacement of the app's variable-app-fee tiers (up to 20).
def:publicRecordPaymentPolicyappRecordstring<public | private>nonomaxLength:16No description in lexicon yet.
def:publicRecordPaymentPolicyattestationstring<public | private>nonomaxLength:16No description in lexicon yet.
def:publicRecordsPolicyenabledbooleannonononeMaster switch: when false ATM writes no public attested record for this app regardless of per-payment-type visibility.
def:publicRecordsPolicydefaultsref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicybyPaymentTyperef:#publicRecordsPolicyByPaymentTypenonononeNo description in lexicon yet.
def:webhookEventSettingtypestring<app.webhook.test | payment.completed | payment.failed | payment.refunded | payment.refund-updated | payment.disputed | payment.dispute-closed | order.updated | subscription.invoice-paid | subscription.change-updated | subscription.updated | subscription.canceled | subscription.payment-failed | subscription.recovered | pledge.created | pledge.canceled | pledge.converted | pledge.conversion-failed | payer.record.requested | payer.claimed | creator.proof.requested | attestation.updated | product.updated | product.archived | product.deleted | ticket.hold.created | ticket.hold.expired | tickets.issued | ticket.event-canceled | ticket.voided | ticket.released | ticket.refunded | ticket.partial-refund-review | ticket.failed-refund-review | ticket.checked-in | ticket.form-submitted | ticket.waitlist.joined | ticket.waitlist.offered | ticket.collaboration.invited | ticket.collaboration.accepted | ticket.collaboration.revoked | customer.segment.message-requested | recipient.authorization.updated>yesnomaxLength:128ATM webhook event type, such as payment.completed.
def:webhookEventSettingenabledbooleanyesnononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypetipref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypesubscriberef:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypeshopref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypecommissionref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:publicRecordsPolicyByPaymentTypeticketref:#publicRecordPaymentPolicynonononeNo description in lexicon yet.
def:modulespaymentsbooleannonononeNo description in lexicon yet.
def:modulesproductsbooleannonononeNo description in lexicon yet.
def:modulessubscriptionsbooleannonononeNo description in lexicon yet.
def:modulespledgesbooleannonononeNo description in lexicon yet.
def:modulesticketsbooleannonononeNo description in lexicon yet.
def:subscriptionPolicyactiveLimitstring<multiple | one-per-payer-recipient>nonomaxLength:64No description in lexicon yet.
def:ticketingqrPassesbooleannonononeNo description in lexicon yet.
def:ticketingwalletPassesbooleannonononeNo description in lexicon yet.
def:ticketFeepassToBuyerbooleannonononeWho pays ATM's configured ticket processing fee.
def:payoutholdDaysintegernonominimum:0, maximum:90No description in lexicon yet.
def:checkoutthemestring<auto | light | dark>nonomaxLength:16No description in lexicon yet.
def:paymentMethodsenabledarray<string<card | link | apple_pay | google_pay | us_bank_account | klarna>>nonomaxLength:12No description in lexicon yet.
def:paymentMethodsdisabledarray<string<card | link | apple_pay | google_pay | us_bank_account | klarna>>nonomaxLength:12No description in lexicon yet.
def:paymentMethodsdynamicPaymentMethodsbooleannonononeNo description in lexicon yet.
def:eventDeliverytransportstring<webhook | xrpc>nonomaxLength:16No description in lexicon yet.
def:eventDeliveryxrpcReceiverref:#eventDeliveryXrpcReceivernonononeNo description in lexicon yet.
def:eventDeliveryXrpcReceiverserviceRefstringnonomaxLength:300No description in lexicon yet.
def:eventDeliveryXrpcReceivermethodstringnonomaxLength:300, format:nsidNo description in lexicon yet.
money.atmosphere.app.upsertFeeTier2 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>yesnomaxLength:8No description in lexicon yet.
inputfeeTierref:money.atmosphere.app.defs#feeTieryesnononeNo description in lexicon yet.
money.atmosphere.authCatalog1 fields
LocationFieldTypeRequiredNullableLimitsDescription
permissionrepo[0]create | update | delete<money.atmosphere.membership.program | money.atmosphere.membership.tier | money.atmosphere.product | money.atmosphere.price | money.atmosphere.discount | money.atmosphere.discountCode>yesnononeCreate, update, and archive Atmosphere Money catalog records.
money.atmosphere.authProfile1 fields
LocationFieldTypeRequiredNullableLimitsDescription
permissionrepo[0]create | update<money.atmosphere.actor.profile>yesnononeCreate and update your Atmosphere Money payment profile.
money.atmosphere.billing.requestKofiMigrationBatch46 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputcreatorDidstringyesnoformat:didNo description in lexicon yet.
inputcsvTextstringyesnomaxLength:1000000Raw Ko-fi membership CSV.
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputimportSourcestring<kofi | substack>nonomaxLength:64Source platform: Ko-fi (default) or Substack.
inputdryRunbooleannonononePreview only: parse the CSV and return summary/tiers/warnings WITHOUT persisting a review batch (batch and dashboardUrl are omitted from the response).
inputrequestedCutoverAtstringnonoformat:datetimeNo description in lexicon yet.
inputmetadataunknownnonononeApp-private migration context such as app-local creator/list ids.
outputdryRunbooleannonononeTrue when the request was a dry run: no batch was persisted, so batch and dashboardUrl are omitted.
outputbatchref:#batchnonononeNo description in lexicon yet.
outputdashboardUrlstringnonoformat:uriNo description in lexicon yet.
outputsummaryref:#previewSummaryyesnononeNo description in lexicon yet.
outputtiersarray<ref:#tierSummary>yesnononeNo description in lexicon yet.
outputwarningsarray<string>yesnononeNo description in lexicon yet.
def:currencyTotalcurrencystringyesnominLength:3, maxLength:3Lowercase currency identifier this sum is denominated in.
def:currencyTotalamountMinorintegeryesnominimum:0Sum in the currency's smallest unit.
def:previewSummarysourcestring<kofi | substack>yesnomaxLength:32No description in lexicon yet.
def:previewSummarytotalRowsintegeryesnominimum:0No description in lexicon yet.
def:previewSummaryvalidRowsintegeryesnominimum:0No description in lexicon yet.
def:previewSummaryactiveRowsintegeryesnominimum:0No description in lexicon yet.
def:previewSummarystripeRowsintegernonominimum:0Rows whose source payment method was Stripe.
def:previewSummarypaypalRowsintegernonominimum:0Rows whose source payment method was PayPal.
def:previewSummaryunknownPaymentMethodRowsintegernonominimum:0No description in lexicon yet.
def:previewSummarymissingEmailRowsintegeryesnominimum:0No description in lexicon yet.
def:previewSummaryduplicateEmailRowsintegeryesnominimum:0No description in lexicon yet.
def:previewSummarytotalAmountintegernonominimum:0Sum in minor units.
def:previewSummarytotalsarray<ref:#currencyTotal>nonomaxLength:20Per-currency sums in minor units over rows with an attributed currency.
def:previewSummarycurrenciesarray<string>yesnomaxLength:20No description in lexicon yet.
def:previewSummarytierCountintegeryesnominimum:0No description in lexicon yet.
def:tierSummarytierNamestringyesnomaxLength:512, maxGraphemes:120No description in lexicon yet.
def:tierSummaryrowCountintegeryesnominimum:0No description in lexicon yet.
def:tierSummaryactiveCountintegeryesnominimum:0No description in lexicon yet.
def:tierSummarystripeCountintegernonominimum:0Rows in this tier whose source payment method was Stripe.
def:tierSummarypaypalCountintegernonominimum:0Rows in this tier whose source payment method was PayPal.
def:tierSummaryunknownPaymentMethodCountintegernonominimum:0No description in lexicon yet.
def:tierSummarytotalAmountintegernonominimum:0Sum in minor units.
def:tierSummarytotalsarray<ref:#currencyTotal>nonomaxLength:20Per-currency sums in minor units over rows with an attributed currency.
def:tierSummarycurrenciesarray<string>yesnomaxLength:20No description in lexicon yet.
def:batchidstringyesnomaxLength:128No description in lexicon yet.
def:batchstatusstringyesnomaxLength:64No description in lexicon yet.
def:batchenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
def:batchimportSourcestring<kofi | substack>yesnomaxLength:64No description in lexicon yet.
def:batchmigrationPathstringyesnomaxLength:128No description in lexicon yet.
def:batchcreatorDidstringyesnoformat:didNo description in lexicon yet.
def:batchdestinationAccountIdstringnonomaxLength:128The creator's ATM connected-account id — the PAN-copy destination the app surfaces to the creator.
def:batchappDidstringnonoformat:didNo description in lexicon yet.
def:batchrequestedCutoverAtstringnonoformat:datetimeNo description in lexicon yet.
money.atmosphere.billing.requestMigrationBatch55 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputcreatorDidstringyesnoformat:didNo description in lexicon yet.
inputrowsarray<ref:#subscriberRow>yesnomaxLength:50000Normalized subscriber rows the app produced from its own export.
inputsourcestring<kofi | substack>nonomaxLength:64Provenance label for the export (Ko-fi, Substack, …).
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputdryRunbooleannonononePreview only: return summary/tiers/warnings WITHOUT persisting a review batch (batch and dashboardUrl are omitted from the response).
inputrequestedCutoverAtstringnonoformat:datetimeNo description in lexicon yet.
inputmetadataunknownnonononeApp-private migration context such as app-local creator/list ids.
outputdryRunbooleannonononeTrue when the request was a dry run: no batch was persisted, so batch and dashboardUrl are omitted.
outputbatchref:#batchnonononeNo description in lexicon yet.
outputdashboardUrlstringnonoformat:uriNo description in lexicon yet.
outputsummaryref:#previewSummaryyesnononeNo description in lexicon yet.
outputtiersarray<ref:#tierSummary>yesnononeNo description in lexicon yet.
outputwarningsarray<string>yesnononeNo description in lexicon yet.
def:currencyTotalcurrencystringyesnominLength:3, maxLength:3Lowercase currency identifier this sum is denominated in.
def:currencyTotalamountMinorintegeryesnominimum:0Sum in the currency's smallest unit.
def:previewSummarysourcestring<kofi | substack>yesnomaxLength:32No description in lexicon yet.
def:previewSummarytotalRowsintegeryesnominimum:0No description in lexicon yet.
def:previewSummaryvalidRowsintegeryesnominimum:0No description in lexicon yet.
def:previewSummaryactiveRowsintegeryesnominimum:0No description in lexicon yet.
def:previewSummarystripeRowsintegernonominimum:0Rows whose source payment method was Stripe.
def:previewSummarypaypalRowsintegernonominimum:0Rows whose source payment method was PayPal.
def:previewSummaryunknownPaymentMethodRowsintegernonominimum:0No description in lexicon yet.
def:previewSummarymissingEmailRowsintegeryesnominimum:0No description in lexicon yet.
def:previewSummaryduplicateEmailRowsintegeryesnominimum:0No description in lexicon yet.
def:previewSummarytotalAmountintegernonominimum:0Sum in minor units.
def:previewSummarytotalsarray<ref:#currencyTotal>nonomaxLength:20Per-currency sums in minor units over rows with an attributed currency.
def:previewSummarycurrenciesarray<string>yesnomaxLength:20No description in lexicon yet.
def:previewSummarytierCountintegeryesnominimum:0No description in lexicon yet.
def:tierSummarytierNamestringyesnomaxLength:512, maxGraphemes:120No description in lexicon yet.
def:tierSummaryrowCountintegeryesnominimum:0No description in lexicon yet.
def:tierSummaryactiveCountintegeryesnominimum:0No description in lexicon yet.
def:tierSummarystripeCountintegernonominimum:0Rows in this tier whose source payment method was Stripe.
def:tierSummarypaypalCountintegernonominimum:0Rows in this tier whose source payment method was PayPal.
def:tierSummaryunknownPaymentMethodCountintegernonominimum:0No description in lexicon yet.
def:tierSummarytotalAmountintegernonominimum:0Sum in minor units.
def:tierSummarytotalsarray<ref:#currencyTotal>nonomaxLength:20Per-currency sums in minor units over rows with an attributed currency.
def:tierSummarycurrenciesarray<string>yesnomaxLength:20No description in lexicon yet.
def:subscriberRowemailHashstringnonomaxLength:128Lowercase-hex SHA-256 of the trimmed, lowercased subscriber email — the join key to the Stripe PAN-copy customer mapping at cutover.
def:subscriberRowmaskedEmailstringnonomaxLength:320, maxGraphemes:160Display-only masked email such as ad*@example.com.
def:subscriberRowdisplayNamestringnonomaxLength:512, maxGraphemes:120No description in lexicon yet.
def:subscriberRowstatusstringnonomaxLength:128Source-native status text, for display/audit only.
def:subscriberRowactivebooleanyesnononeWhether the subscription is currently active.
def:subscriberRowpaymentMethodstring<stripe | paypal | unknown>yesnomaxLength:32Only stripe rows are migratable; paypal/unknown are surfaced for creator review.
def:subscriberRowtierNamestringnonomaxLength:512, maxGraphemes:120No description in lexicon yet.
def:subscriberRowamountintegernonominimum:0Per-subscriber amount in the currency minor unit.
def:subscriberRowcurrencystringnonominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code.
def:batchidstringyesnomaxLength:128No description in lexicon yet.
def:batchstatusstringyesnomaxLength:64No description in lexicon yet.
def:batchenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
def:batchimportSourcestring<kofi | substack>yesnomaxLength:64No description in lexicon yet.
def:batchmigrationPathstringyesnomaxLength:128No description in lexicon yet.
def:batchcreatorDidstringyesnoformat:didNo description in lexicon yet.
def:batchdestinationAccountIdstringnonomaxLength:128The creator's ATM connected-account id — the PAN-copy destination the app surfaces to the creator.
def:batchappDidstringnonoformat:didNo description in lexicon yet.
def:batchrequestedCutoverAtstringnonoformat:datetimeNo description in lexicon yet.
money.atmosphere.calendar.getEvent6 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsuristringyesnomaxLength:2048, format:at-uriNo description in lexicon yet.
outputeventref:#indexedEventyesyesnoneNo description in lexicon yet.
def:indexedEventuristringyesnomaxLength:2048, format:at-uriNo description in lexicon yet.
def:indexedEventcidstringyesnoformat:cidNo description in lexicon yet.
def:indexedEventvalueunknownyesnononeThe public community.lexicon.calendar.event record body as indexed from the repository stream.
def:indexedEventindexedAtstringyesnoformat:datetimeWhen this event version was indexed by the AppView.
money.atmosphere.calendar.listRsvps17 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramseventUristringyesnomaxLength:2048, format:at-uriNo description in lexicon yet.
paramsstatusstring<going | interested | notgoing>nonomaxLength:64No description in lexicon yet.
paramsorderstring<oldest | recent>nonomaxLength:16Result order.
paramslimitintegernonominimum:1, maximum:200No description in lexicon yet.
paramscursorstringnonomaxLength:4096Opaque cursor from the previous page.
outputrsvpsarray<ref:#indexedRsvp>yesnomaxLength:200No description in lexicon yet.
outputtotalintegeryesnominimum:0Unique attendees whose latest public RSVP state matches the requested status.
outputrevisionstringyesnomaxLength:128Opaque event-scoped projection revision shared by every page of one stable read.
outputcursorstringnonomaxLength:4096Opaque cursor to pass back for the next page.
def:indexedRsvpuristringyesnomaxLength:2048, format:at-uriNo description in lexicon yet.
def:indexedRsvpcidstringyesnoformat:cidNo description in lexicon yet.
def:indexedRsvpdidstringyesnoformat:didNo description in lexicon yet.
def:indexedRsvpstatusstring<community.lexicon.calendar.rsvp#going | community.lexicon.calendar.rsvp#interested | community.lexicon.calendar.rsvp#notgoing>yesnomaxLength:192RSVP status ref.
def:indexedRsvpsubjectUristringyesnomaxLength:2048, format:at-uriNo description in lexicon yet.
def:indexedRsvpsubjectCidstringyesnoformat:cidNo description in lexicon yet.
def:indexedRsvpcreatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:indexedRsvpindexedAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.catalog.configureInventory22 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputidempotencyKeystringyesnominLength:1, maxLength:200Required ATM app-operation key matching ^[A-Za-z0-9._:/-]+$.
inputcreatorDidstringyesnoformat:didNo description in lexicon yet.
inputproductref:com.atproto.repo.strongRefyesnononeExact current root product strongRef.
inputvariantref:com.atproto.repo.strongRefnonononeOptional exact current variant strongRef whose variantOf must bind product's exact URI and CID.
inputenvironmentstring<test | live>yesnomaxLength:8No description in lexicon yet.
inputexpectedRevisionintegeryesnominimum:0, maximum:9007199254740991Compare-and-swap fence.
inputpolicystring<finite | unlimited>yesnomaxLength:16No description in lexicon yet.
inputquantityTotalintegernonominimum:0, maximum:1000000Required for finite policy and omitted for unlimited policy.
inputcreatorAssertionJwtstringnonominLength:1, maxLength:8192Fresh single-use creator service-auth assertion with aud = ATM broker and lxm = money.atmosphere.catalog.configureInventory.
outputinventoryref:#inventoryViewyesnononeNo description in lexicon yet.
def:inventoryViewcreatorDidstringyesnoformat:didNo description in lexicon yet.
def:inventoryViewproductUristringyesnoformat:at-uriNo description in lexicon yet.
def:inventoryViewvariantUristringnonoformat:at-uriNo description in lexicon yet.
def:inventoryViewenvironmentstring<test | live>yesnomaxLength:8No description in lexicon yet.
def:inventoryViewcheckoutModestring<hosted | routed>yesnomaxLength:16Checkout authority for this inventory row.
def:inventoryViewpolicystring<finite | unlimited>yesnomaxLength:16No description in lexicon yet.
def:inventoryViewstatusstring<active | archived>yesnomaxLength:16No description in lexicon yet.
def:inventoryViewrevisionintegeryesnominimum:1, maximum:9007199254740991No description in lexicon yet.
def:inventoryViewquantityTotalintegeryesyesminimum:0, maximum:1000000No description in lexicon yet.
def:inventoryViewquantityReservedintegeryesyesminimum:0, maximum:1000000No description in lexicon yet.
def:inventoryViewquantitySoldintegeryesyesminimum:0, maximum:1000000No description in lexicon yet.
def:inventoryViewavailableintegeryesyesminimum:0, maximum:1000000Units available to reserve now.
money.atmosphere.catalog.createProduct15 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
inputtitlestringyesnominLength:1, maxLength:1000, maxGraphemes:100No description in lexicon yet.
inputskustringnonomaxLength:64No description in lexicon yet.
inputkindstring<physical | digital | membership | service | support | other>yesnomaxLength:32Product kind to assign.
inputdescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
inputpriceref:money.atmosphere.catalog.defs#priceInputnonononeNo description in lexicon yet.
inputinventoryref:money.atmosphere.catalog.defs#inventoryInputnonononeNo description in lexicon yet.
inputvariantOfref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
inputappProductRefref:money.atmosphere.catalog.defs#appProductRefnonononeNo description in lexicon yet.
inputfulfillmentUrlstringnonoformat:uriNo description in lexicon yet.
inputappLabelstringnonomaxLength:800, maxGraphemes:80No description in lexicon yet.
inputappUrlstringnonoformat:uriNo description in lexicon yet.
inputappIconUrlstringnonoformat:uriNo description in lexicon yet.
outputproductref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
outputpriceref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
money.atmosphere.catalog.defs22 fields
LocationFieldTypeRequiredNullableLimitsDescription
def:appProductReftypestring<shop | commission | membership | membership-tier | custom>nonomaxLength:32No description in lexicon yet.
def:appProductRefidstringnonomaxLength:512No description in lexicon yet.
def:appProductRefuristringnonoformat:at-uriNo description in lexicon yet.
def:appProductRefcidstringnonoformat:cidNo description in lexicon yet.
def:priceInputcurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:priceInputunitAmountintegernonominimum:0Amount in the smallest currency unit.
def:priceInputtypestring<one-time | recurring>yesnomaxLength:16No description in lexicon yet.
def:priceInputrecurringref:#recurringInputnonononeNo description in lexicon yet.
def:priceInputcustomUnitAmountref:#customUnitAmountInputnonononeNo description in lexicon yet.
def:priceInputbillingSchemestring<per-unit | tiered>nonomaxLength:32No description in lexicon yet.
def:priceInputtiersModestring<graduated | volume>nonomaxLength:32No description in lexicon yet.
def:priceInputtiersarray<ref:#tierInput>nonomaxLength:100No description in lexicon yet.
def:recurringInputintervalstring<day | week | month | year>yesnomaxLength:16No description in lexicon yet.
def:recurringInputintervalCountintegernonominimum:1, maximum:1095Number of interval units between billings.
def:customUnitAmountInputenabledbooleanyesnononeNo description in lexicon yet.
def:customUnitAmountInputminimumintegernonominimum:1No description in lexicon yet.
def:customUnitAmountInputmaximumintegernonominimum:1No description in lexicon yet.
def:tierInputupTointegernonominimum:1Inclusive upper quantity bound for this tier.
def:tierInputunitAmountintegernonominimum:0No description in lexicon yet.
def:tierInputflatAmountintegernonominimum:0No description in lexicon yet.
def:inventoryInputtrackInventorybooleanyesnononeNo description in lexicon yet.
def:inventoryInputquantityTotalintegernonominimum:0, maximum:1000000No description in lexicon yet.
money.atmosphere.catalog.getInventory16 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsproductUristringyesnoformat:at-uriCurrent root product AT-URI.
paramsvariantUristringnonoformat:at-uriOptional current variant AT-URI whose variantOf must bind productUri's exact current URI and CID.
paramsenvironmentstring<test | live>yesnomaxLength:8No description in lexicon yet.
outputinventoryref:#inventoryViewyesnononeNo description in lexicon yet.
def:inventoryViewcreatorDidstringyesnoformat:didNo description in lexicon yet.
def:inventoryViewproductUristringyesnoformat:at-uriNo description in lexicon yet.
def:inventoryViewvariantUristringnonoformat:at-uriNo description in lexicon yet.
def:inventoryViewenvironmentstring<test | live>yesnomaxLength:8No description in lexicon yet.
def:inventoryViewcheckoutModestring<hosted | routed>yesnomaxLength:16Checkout authority for this inventory row.
def:inventoryViewpolicystring<finite | unlimited>yesnomaxLength:16No description in lexicon yet.
def:inventoryViewstatusstring<active | archived>yesnomaxLength:16No description in lexicon yet.
def:inventoryViewrevisionintegeryesnominimum:1, maximum:9007199254740991No description in lexicon yet.
def:inventoryViewquantityTotalintegeryesyesminimum:0, maximum:1000000No description in lexicon yet.
def:inventoryViewquantityReservedintegeryesyesminimum:0, maximum:1000000No description in lexicon yet.
def:inventoryViewquantitySoldintegeryesyesminimum:0, maximum:1000000No description in lexicon yet.
def:inventoryViewavailableintegeryesyesminimum:0, maximum:1000000Units available to reserve now.
money.atmosphere.catalog.getProduct35 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsuristringyesnoformat:at-uriNo description in lexicon yet.
outputproductref:#catalogProductyesyesnoneNo description in lexicon yet.
def:catalogPriceuristringyesnoformat:at-uriNo description in lexicon yet.
def:catalogPricecidstringyesnoformat:cidNo description in lexicon yet.
def:catalogPricelookupKeystringnonomaxLength:200No description in lexicon yet.
def:catalogPricenicknamestringnonomaxLength:1000, maxGraphemes:100No description in lexicon yet.
def:catalogPricecurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:catalogPriceunitAmountintegernonominimum:0Amount in the smallest currency unit.
def:catalogPricecustomUnitAmountref:#catalogPriceCustomUnitAmountnonononeNo description in lexicon yet.
def:catalogPricebillingSchemestring<per-unit | tiered>nonomaxLength:32No description in lexicon yet.
def:catalogPricetiersModestring<graduated | volume>nonomaxLength:32No description in lexicon yet.
def:catalogPricetiersarray<ref:money.atmosphere.price#tier>nonomaxLength:100No description in lexicon yet.
def:catalogPricetypestring<one-time | recurring>yesnomaxLength:16No description in lexicon yet.
def:catalogPricerecurringref:#catalogPriceRecurringnonononeNo description in lexicon yet.
def:catalogPricearchivedbooleanyesnononeNo description in lexicon yet.
def:catalogPricecreatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:catalogProducturistringyesnoformat:at-uriNo description in lexicon yet.
def:catalogProductcidstringyesnoformat:cidNo description in lexicon yet.
def:catalogProducttitlestringyesnominLength:1, maxLength:1000, maxGraphemes:100No description in lexicon yet.
def:catalogProductskustringnonomaxLength:64No description in lexicon yet.
def:catalogProductdefaultPriceref:#catalogPricenonononeNo description in lexicon yet.
def:catalogProductkindstring<physical | digital | commission | membership | service | ticket | support | other>yesnomaxLength:32Open product classification copied from the indexed public record.
def:catalogProductdescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
def:catalogProductimageUrlstringnonoformat:uriNo description in lexicon yet.
def:catalogProductvariantOfref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:catalogProductarchivedbooleanyesnononeNo description in lexicon yet.
def:catalogProductarchivedAtstringnonoformat:datetimeNo description in lexicon yet.
def:catalogProductcreatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:catalogProductindexedAtstringyesnoformat:datetimeWhen the AppView indexed this product.
def:catalogProductsalesCountintegernonominimum:0No description in lexicon yet.
def:catalogPriceCustomUnitAmountenabledbooleanyesnononeNo description in lexicon yet.
def:catalogPriceCustomUnitAmountminimumintegernonominimum:1No description in lexicon yet.
def:catalogPriceCustomUnitAmountmaximumintegernonominimum:1No description in lexicon yet.
def:catalogPriceRecurringintervalstring<day | week | month | year>yesnomaxLength:16No description in lexicon yet.
def:catalogPriceRecurringintervalCountintegernonominimum:1, maximum:1095Absent means 1 (matching Stripe Price.recurring.interval_count).
money.atmosphere.catalog.listDiscountCodes24 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramscreatorsarray<string>yesnominLength:1, maxLength:50No description in lexicon yet.
paramsincludeDisabledbooleannonononeNo description in lexicon yet.
paramslimitintegernonominimum:1, maximum:100No description in lexicon yet.
paramscursorstringnonomaxLength:1024No description in lexicon yet.
outputcodesarray<ref:#catalogDiscountCode>yesnononeNo description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
def:catalogDiscountCodeuristringyesnoformat:at-uriNo description in lexicon yet.
def:catalogDiscountCodecidstringyesnoformat:cidNo description in lexicon yet.
def:catalogDiscountCodecreatorDidstringyesnoformat:didThe repo DID that authored this discount-code record (the creator).
def:catalogDiscountCodecodestringyesnomaxLength:64No description in lexicon yet.
def:catalogDiscountCodenamestringnonomaxLength:1000, maxGraphemes:100No description in lexicon yet.
def:catalogDiscountCodediscountUristringnonoformat:at-uriNo description in lexicon yet.
def:catalogDiscountCodediscountCidstringnonoformat:cidNo description in lexicon yet.
def:catalogDiscountCodepercentOffBpsintegernonominimum:1, maximum:10000No description in lexicon yet.
def:catalogDiscountCodeamountOffref:#catalogDiscountAmountOffnonononeNo description in lexicon yet.
def:catalogDiscountCodedurationstring<once | forever | repeating>nonomaxLength:16No description in lexicon yet.
def:catalogDiscountCodedurationInMonthsintegernonominimum:1, maximum:36No description in lexicon yet.
def:catalogDiscountCodemaxRedemptionsintegernonominimum:1Public configured redemption cap from the record.
def:catalogDiscountCoderedeemBystringnonoformat:datetimeNo description in lexicon yet.
def:catalogDiscountCodedisabledbooleanyesnononeWhether the offer is disabled (inverse of the indexed active state).
def:catalogDiscountCodecreatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:catalogDiscountCodeindexedAtstringnonoformat:datetimeWhen the AppView indexed this discount code.
def:catalogDiscountAmountOffcurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:catalogDiscountAmountOffunitAmountintegeryesnominimum:1No description in lexicon yet.
money.atmosphere.catalog.listPrices27 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsofferUristringyesnoformat:at-uriNo description in lexicon yet.
paramsincludeArchivedbooleannonononeNo description in lexicon yet.
paramstypestring<one-time | recurring>nonomaxLength:16No description in lexicon yet.
paramscurrencystringnonominLength:3, maxLength:3No description in lexicon yet.
paramslimitintegernonominimum:1, maximum:100No description in lexicon yet.
paramscursorstringnonomaxLength:1024No description in lexicon yet.
outputpricesarray<ref:#catalogPrice>yesnomaxLength:100No description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
def:catalogPriceuristringyesnoformat:at-uriNo description in lexicon yet.
def:catalogPricecidstringyesnoformat:cidNo description in lexicon yet.
def:catalogPricelookupKeystringnonomaxLength:200No description in lexicon yet.
def:catalogPricenicknamestringnonomaxLength:1000, maxGraphemes:100No description in lexicon yet.
def:catalogPricecurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:catalogPriceunitAmountintegernonominimum:0Amount in the smallest currency unit.
def:catalogPricecustomUnitAmountref:#catalogPriceCustomUnitAmountnonononeNo description in lexicon yet.
def:catalogPricebillingSchemestring<per-unit | tiered>nonomaxLength:32No description in lexicon yet.
def:catalogPricetiersModestring<graduated | volume>nonomaxLength:32No description in lexicon yet.
def:catalogPricetiersarray<ref:money.atmosphere.price#tier>nonomaxLength:100No description in lexicon yet.
def:catalogPricetypestring<one-time | recurring>yesnomaxLength:16No description in lexicon yet.
def:catalogPricerecurringref:#catalogPriceRecurringnonononeNo description in lexicon yet.
def:catalogPricearchivedbooleanyesnononeNo description in lexicon yet.
def:catalogPricecreatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:catalogPriceCustomUnitAmountenabledbooleanyesnononeNo description in lexicon yet.
def:catalogPriceCustomUnitAmountminimumintegernonominimum:1No description in lexicon yet.
def:catalogPriceCustomUnitAmountmaximumintegernonominimum:1No description in lexicon yet.
def:catalogPriceRecurringintervalstring<day | week | month | year>yesnomaxLength:16No description in lexicon yet.
def:catalogPriceRecurringintervalCountintegernonominimum:1, maximum:1095Absent means 1 (matching Stripe Price.recurring.interval_count).
money.atmosphere.catalog.listProducts42 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramscreatorstringyesnoformat:at-identifierDID or handle of the creator.
paramsincludeVariantsbooleannonononeNo description in lexicon yet.
paramsincludeArchivedbooleannonononeNo description in lexicon yet.
paramskindstring<physical | digital | commission | membership | service | ticket | support | other>nonomaxLength:32Optional exact product-kind filter.
paramswithSalesCountsbooleannonononeNo description in lexicon yet.
paramslimitintegernonominimum:1, maximum:100No description in lexicon yet.
paramscursorstringnonomaxLength:1024No description in lexicon yet.
outputproductsarray<ref:#catalogProduct>yesnononeNo description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
def:catalogPriceuristringyesnoformat:at-uriNo description in lexicon yet.
def:catalogPricecidstringyesnoformat:cidNo description in lexicon yet.
def:catalogPricelookupKeystringnonomaxLength:200No description in lexicon yet.
def:catalogPricenicknamestringnonomaxLength:1000, maxGraphemes:100No description in lexicon yet.
def:catalogPricecurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:catalogPriceunitAmountintegernonominimum:0Amount in the smallest currency unit.
def:catalogPricecustomUnitAmountref:#catalogPriceCustomUnitAmountnonononeNo description in lexicon yet.
def:catalogPricebillingSchemestring<per-unit | tiered>nonomaxLength:32No description in lexicon yet.
def:catalogPricetiersModestring<graduated | volume>nonomaxLength:32No description in lexicon yet.
def:catalogPricetiersarray<ref:money.atmosphere.price#tier>nonomaxLength:100No description in lexicon yet.
def:catalogPricetypestring<one-time | recurring>yesnomaxLength:16No description in lexicon yet.
def:catalogPricerecurringref:#catalogPriceRecurringnonononeNo description in lexicon yet.
def:catalogPricearchivedbooleanyesnononeNo description in lexicon yet.
def:catalogPricecreatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:catalogProducturistringyesnoformat:at-uriNo description in lexicon yet.
def:catalogProductcidstringyesnoformat:cidNo description in lexicon yet.
def:catalogProducttitlestringyesnominLength:1, maxLength:1000, maxGraphemes:100No description in lexicon yet.
def:catalogProductskustringnonomaxLength:64No description in lexicon yet.
def:catalogProductdefaultPriceref:#catalogPricenonononeNo description in lexicon yet.
def:catalogProductkindstring<physical | digital | commission | membership | service | ticket | support | other>yesnomaxLength:32Open product classification copied from the indexed public record.
def:catalogProductdescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
def:catalogProductimageUrlstringnonoformat:uriNo description in lexicon yet.
def:catalogProductvariantOfref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:catalogProductarchivedbooleanyesnononeNo description in lexicon yet.
def:catalogProductarchivedAtstringnonoformat:datetimeNo description in lexicon yet.
def:catalogProductcreatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:catalogProductindexedAtstringyesnoformat:datetimeWhen the AppView indexed this product.
def:catalogProductsalesCountintegernonominimum:0No description in lexicon yet.
def:catalogPriceCustomUnitAmountenabledbooleanyesnononeNo description in lexicon yet.
def:catalogPriceCustomUnitAmountminimumintegernonominimum:1No description in lexicon yet.
def:catalogPriceCustomUnitAmountmaximumintegernonominimum:1No description in lexicon yet.
def:catalogPriceRecurringintervalstring<day | week | month | year>yesnomaxLength:16No description in lexicon yet.
def:catalogPriceRecurringintervalCountintegernonominimum:1, maximum:1095Absent means 1 (matching Stripe Price.recurring.interval_count).
money.atmosphere.catalog.updateProduct18 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
inputproductref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
inputtitlestringnonominLength:1, maxLength:1000, maxGraphemes:100No description in lexicon yet.
inputskustringnonomaxLength:64No description in lexicon yet.
inputkindstringnonomaxLength:32Replacement product kind.
inputdescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
inputpriceref:money.atmosphere.catalog.defs#priceInputnonononeDeprecated and rejected with PriceMutationUnavailable.
inputinventoryref:money.atmosphere.catalog.defs#inventoryInputnonononeDeprecated and rejected with InventoryMutationMoved.
inputarchivedbooleannonononeSet true to archive the product (removed from new-sale surfaces, still resolvable), false to unarchive.
inputappProductRefref:money.atmosphere.catalog.defs#appProductRefnonononeDeprecated and rejected with LinkMutationMoved.
inputfulfillmentUrlstringnonoformat:uriDeprecated and rejected with LinkMutationMoved.
inputappLabelstringnonomaxLength:800, maxGraphemes:80Deprecated and rejected with LinkMutationMoved.
inputappUrlstringnonoformat:uriDeprecated and rejected with LinkMutationMoved.
inputappIconUrlstringnonoformat:uriDeprecated and rejected with LinkMutationMoved.
inputlinkStatusstring<active | archived>nonomaxLength:32Deprecated and rejected with LinkMutationMoved.
inputlinkSourceUpdatedAtstringnonomaxLength:64, format:datetimeDeprecated and rejected with LinkMutationMoved.
outputproductref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
outputpriceref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
money.atmosphere.discount16 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordnamestringnonomaxLength:1000, maxGraphemes:100No description in lexicon yet.
recordpercentOffBpsintegernonominimum:1, maximum:10000Percentage discount in basis points.
recordamountOffref:#amountOffnonononeNo description in lexicon yet.
recorddurationstring<once | forever | repeating>nonomaxLength:16Stripe-compatible discount duration.
recorddurationInMonthsintegernonominimum:1Required when duration is repeating.
recordappliesToref:#appliesTononononeNo description in lexicon yet.
recordmaxRedemptionsintegernonominimum:1No description in lexicon yet.
recordredeemBystringnonoformat:datetimeNo description in lexicon yet.
recorddisabledbooleannonononeNo description in lexicon yet.
recordcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
recordupdatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:amountOffcurrencystringyesnominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code.
def:amountOffunitAmountintegeryesnominimum:1Amount off in the smallest currency unit.
def:appliesToproductUrisarray<string>nonomaxLength:200ATM product URIs this discount can apply to.
def:appliesTopriceUrisarray<string>nonomaxLength:200ATM price URIs this discount can apply to.
def:appliesToticketTypeUrisarray<string>nonomaxLength:200Atmosphere Tickets ticket type URIs this discount can apply to.
money.atmosphere.discountCode13 fields
LocationFieldTypeRequiredNullableLimitsDescription
recorddiscountref:com.atproto.repo.strongRefyesnononeStrongRef to the money.atmosphere.discount this code redeems.
recordcodestringyesnomaxLength:64Customer-facing code.
recordnamestringnonomaxLength:1000, maxGraphemes:100No description in lexicon yet.
recordrestrictionsref:#restrictionsnonononeNo description in lexicon yet.
recordmaxRedemptionsintegernonominimum:1No description in lexicon yet.
recordredeemBystringnonoformat:datetimeNo description in lexicon yet.
recorddisabledbooleannonononeNo description in lexicon yet.
recordcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
recordupdatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:restrictionsfirstTimeTransactionbooleannonononeStripe-compatible first-time transaction restriction.
def:restrictionsminimumAmountref:#restrictionsMinimumAmountnonononeNo description in lexicon yet.
def:restrictionsMinimumAmountcurrencystringyesnominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code.
def:restrictionsMinimumAmountunitAmountintegeryesnominimum:1Minimum payment amount in the smallest currency unit.
money.atmosphere.event.defs370 fields
LocationFieldTypeRequiredNullableLimitsDescription
def:commerceOrderFulfillmentmodestring<app-managed | atm-managed>yesnomaxLength:32No description in lexicon yet.
def:commerceOrderFulfillmentownerAppDidstringyesnoformat:didNo description in lexicon yet.
def:commerceOrderFulfillmentworkflowstring<automatic | manual>yesnomaxLength:16No description in lexicon yet.
def:commerceOrderFulfillmentmanagementUrlstringnonomaxLength:2048, format:uriNo description in lexicon yet.
def:commerceOrderRoutingversionintegeryesnominimum:1, maximum:1No description in lexicon yet.
def:commerceOrderRoutingkindstring<shop | commission>yesnomaxLength:16No description in lexicon yet.
def:commerceOrderRoutingclientOrderIdstringyesnomaxLength:200No description in lexicon yet.
def:commerceOrderRoutingsalesChannelAppDidstringyesnoformat:didNo description in lexicon yet.
def:commerceOrderRoutingfulfillmentref:#commerceOrderFulfillmentyesnononeNo description in lexicon yet.
def:commerceOrderRoutinginventoryAuthoritystring<app | atm>yesnomaxLength:8No description in lexicon yet.
def:commerceOrderRoutinginventoryPolicystring<finite | unlimited>yesnomaxLength:16No description in lexicon yet.
def:commerceOrderidstringyesnomaxLength:128No description in lexicon yet.
def:commerceOrderoriginatorDidstringyesnoformat:didOriginating app identity, equal to routing.salesChannelAppDid for this payment.
def:commerceOrderrevisionintegeryesnominimum:1, maximum:9007199254740991No description in lexicon yet.
def:commerceOrderroutingref:#commerceOrderRoutingyesnononeNo description in lexicon yet.
def:commerceOrderfinancialStatusstring<not-required | pending | paid | partially-refunded | refunded | disputed | chargeback | failed | canceled>yesnomaxLength:32No description in lexicon yet.
def:commerceOrderfulfillmentStatusstring<unfulfilled | ready | on-hold | processing | partially-fulfilled | fulfilled | failed | canceled>yesnomaxLength:32No description in lexicon yet.
def:commerceOrderfulfillmentStateCausestring<processor-review | payment-failed | payment-disputed | payment-refunded | payment-canceled | payment-chargeback | inventory-capacity-conflict | app-update | recipient-update>yesyesmaxLength:32Authority that most recently authored the fulfillment state.
def:paymentidstringyesnomaxLength:256No description in lexicon yet.
def:paymentoriginatorDidstringnonoformat:didNo description in lexicon yet.
def:paymentpaymentTypestringnonomaxLength:64No description in lexicon yet.
def:paymentamountintegernonononeNo description in lexicon yet.
def:paymentcurrencystringnonominLength:3, maxLength:3No description in lexicon yet.
def:paymentstatusstringnonomaxLength:64No description in lexicon yet.
def:paymentpayerDidstringnonoformat:didNo description in lexicon yet.
def:paymentrecipientDidstringnonoformat:didNo description in lexicon yet.
def:paymentmetadataunknownnonononeSanitized app-private display context.
def:paymentlistingref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:paymententitlementsarray<ref:com.atproto.repo.strongRef>nonononeNo description in lexicon yet.
def:paymentorderref:#commerceOrdernonononeCanonical revision-fenced order control block for this exact destination app and environment.
def:subscriptionChangeOfferprogramref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:subscriptionChangeOffertierref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
def:subscriptionChangeOfferproductref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:subscriptionChangeOfferpriceref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
def:subscriptionChangeOfferamountintegeryesnominimum:0Recurring amount in the smallest currency unit.
def:subscriptionChangeProjectionlifecycleGenerationintegeryesnominimum:1Monotonic generation of the processor lifecycle that authored this projection.
def:subscriptionChangeProjectionsidestring<source | target>yesnomaxLength:16No description in lexicon yet.
def:subscriptionChangeProjectionaccessAuthorizedbooleanyesnononeNo description in lexicon yet.
def:subscriptionChangeProjectionstatestring<converged | blocked | reconciling>yesnomaxLength:16No description in lexicon yet.
def:subscriptionChangeProjectionauthorityInvoiceIdstringyesnomaxLength:256Exact processor invoice whose observed lifecycle authorizes this projection.
def:subscriptionChangeidstringyesnomaxLength:128No description in lexicon yet.
def:subscriptionChangesubscriptionIdstringyesnomaxLength:256Durable ATM subscriptions.id relationship key.
def:subscriptionChangeenvironmentstring<live | test>yesnomaxLength:16ATM app environment for this durable relationship change.
def:subscriptionChangestatusstring<quoted | awaiting-confirmation | awaiting-payment | action-required | scheduled | paid-pending-apply | applied | failed | canceled | superseded | expired>yesnomaxLength:32No description in lexicon yet.
def:subscriptionChangedirectionstring<upgrade | downgrade | lateral>yesnomaxLength:16No description in lexicon yet.
def:subscriptionChangechangeRevisionintegeryesnominimum:1Monotonic revision of this change lifecycle.
def:subscriptionChangesubscriptionRevisionintegeryesnominimum:1Relationship revision the change targets, or the applied relationship revision once effective.
def:subscriptionChangefromref:#subscriptionChangeOfferyesnononeNo description in lexicon yet.
def:subscriptionChangetoref:#subscriptionChangeOfferyesnononeNo description in lexicon yet.
def:subscriptionChangeamountDueNowintegeryesnominimum:0No description in lexicon yet.
def:subscriptionChangecreditNowintegeryesnominimum:0No description in lexicon yet.
def:subscriptionChangenextRecurringAmountintegeryesnominimum:0No description in lexicon yet.
def:subscriptionChangecurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:subscriptionChangeeffectiveAtstringyesnoformat:datetimeNo description in lexicon yet.
def:subscriptionChangenextChargeAtstringnonoformat:datetimeNo description in lexicon yet.
def:subscriptionChangeexpiresAtstringnonoformat:datetimeNo description in lexicon yet.
def:subscriptionChangeeffectiveInvoiceIdstringnonomaxLength:256Exact paid invoice that made this change effective.
def:subscriptionChangefailureCodestringnonomaxLength:64No description in lexicon yet.
def:subscriptionChangeprojectionref:#subscriptionChangeProjectionnonononeNo description in lexicon yet.
def:invoiceidstringyesnomaxLength:256No description in lexicon yet.
def:invoicesubscriptionIdstringnonomaxLength:256Durable ATM subscriptions.id this invoice belongs to.
def:invoiceprocessorSubscriptionIdstringnonomaxLength:256Processor subscription object id (e.g.
def:invoiceamountintegernonononeLegacy recurring plan amount in the smallest currency unit.
def:invoiceamountPaidintegernonominimum:0Actual amount settled for this invoice cycle, in the smallest currency unit.
def:invoicerecurringAmountintegernonominimum:0Recurring plan amount associated with the subscription for this cycle, in the smallest currency unit.
def:invoicecurrencystringnonominLength:3, maxLength:3No description in lexicon yet.
def:invoicepaidAtstringnonoformat:datetimeWhen the processor marked this invoice cycle paid.
def:invoicefirstInvoicebooleannonononeNo description in lexicon yet.
def:invoicechangeref:#subscriptionChangenonononeThe applied membership tier change when this exact paid invoice made it effective.
def:subscriptionidstringyesnomaxLength:256Durable ATM subscriptions.id.
def:subscriptionstatusstringnonomaxLength:64No description in lexicon yet.
def:subscriptionprocessorSubscriptionIdstringnonomaxLength:256Processor subscription object id (e.g.
def:subscriptionmetadataunknownnonononeSanitized app-private display context.
def:actorSummaryactorstringyesnomaxLength:256No description in lexicon yet.
def:actorSummarydidstringnonoformat:didNo description in lexicon yet.
def:ticketHoldidstringyesnomaxLength:300No description in lexicon yet.
def:ticketHoldeventIdstringnonomaxLength:300No description in lexicon yet.
def:ticketHoldpaymentIdstringnonomaxLength:300No description in lexicon yet.
def:ticketHoldstatusstringnonomaxLength:64No description in lexicon yet.
def:ticketHoldreasonstringnonomaxLength:512No description in lexicon yet.
def:ticketHoldamountintegernonominimum:0No description in lexicon yet.
def:ticketHoldcurrencystringnonominLength:3, maxLength:3No description in lexicon yet.
def:ticketHoldquantityTotalintegernonominimum:0No description in lexicon yet.
def:ticketHolditemsarray<ref:#ticketHoldItem>nonononeNo description in lexicon yet.
def:ticketHoldItemticketTypeIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketHoldItemtitlestringnonomaxLength:1000, maxGraphemes:100No description in lexicon yet.
def:ticketHoldItemquantityintegernonononeNo description in lexicon yet.
def:ticketHoldItemunitAmountintegernonononeNo description in lexicon yet.
def:ticketHoldItemcurrencystringnonominLength:3, maxLength:3No description in lexicon yet.
def:restoredDisputeCycledisputeIdstringyesnomaxLength:256No description in lexicon yet.
def:restoredDisputeCycleinvoiceIdstringnonomaxLength:256No description in lexicon yet.
def:restoredDisputeCycledistributionsReinstatedbooleanyesnononeNo description in lexicon yet.
def:issuedTicketidstringyesnomaxLength:300No description in lexicon yet.
def:issuedTicketeventIdstringnonomaxLength:300No description in lexicon yet.
def:issuedTicketticketTypeIdstringnonomaxLength:300No description in lexicon yet.
def:issuedTicketpaymentIdstringnonomaxLength:300No description in lexicon yet.
def:issuedTicketclaimIdstringnonomaxLength:300No description in lexicon yet.
def:issuedTicketenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
def:issuedTicketownerDidstringnonoformat:didNo description in lexicon yet.
def:issuedTicketstatusstringnonomaxLength:64No description in lexicon yet.
def:issuedTicketticketNumberstringnonomaxLength:300No description in lexicon yet.
def:issuedTicketscanTokenstringnonomaxLength:4000No description in lexicon yet.
def:issuedTicketscanUrlstringnonomaxLength:2000, format:uriNo description in lexicon yet.
def:issuedTicketcreatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:issuedTicketupdatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:ticketIssuanceSummaryholdIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketIssuanceSummarycountintegeryesnominimum:0No description in lexicon yet.
def:ticketIssuanceSummaryalreadyIssuedbooleannonononeNo description in lexicon yet.
def:ticketCheckInidstringyesnomaxLength:300No description in lexicon yet.
def:ticketCheckIncheckInListIdstringnonomaxLength:300No description in lexicon yet.
def:ticketCheckInscannerDidstringnonoformat:didNo description in lexicon yet.
def:ticketCheckIncheckedInAtstringyesnoformat:datetimeNo description in lexicon yet.
def:producturistringyesnomaxLength:1024, format:at-uriNo description in lexicon yet.
def:productcidstringnonoformat:cidNo description in lexicon yet.
def:appProductReftypestringnonomaxLength:32No description in lexicon yet.
def:appProductRefidstringnonomaxLength:512No description in lexicon yet.
def:appProductRefuristringnonomaxLength:1024, format:at-uriNo description in lexicon yet.
def:appProductRefcidstringnonoformat:cidNo description in lexicon yet.
def:productAppLinkproductUristringyesnomaxLength:1024, format:at-uriNo description in lexicon yet.
def:productAppLinkappDidstringyesnoformat:didNo description in lexicon yet.
def:productAppLinkenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
def:productAppLinkappProductRefref:#appProductRefnonononeNo description in lexicon yet.
def:productAppLinkfulfillmentUrlstringnonomaxLength:1024, format:uriNo description in lexicon yet.
def:productAppLinklabelstringnonomaxLength:800No description in lexicon yet.
def:productAppLinkurlstringnonomaxLength:1024, format:uriNo description in lexicon yet.
def:productAppLinkiconUrlstringnonomaxLength:1024, format:uriNo description in lexicon yet.
def:productAppLinkrolestringnonomaxLength:32No description in lexicon yet.
def:productAppLinkstatusstringnonomaxLength:32No description in lexicon yet.
def:attestationrevisionintegeryesnominimum:0Monotonic per-payment revision.
def:attestationcidstringnonoformat:cidNo description in lexicon yet.
def:attestationpolicyref:#attestationPolicynonononeNo description in lexicon yet.
def:attestationdisabledReasonstringnonomaxLength:256No description in lexicon yet.
def:distributionplannedintegeryesnominimum:0Number of ATM contractual revenue-share distributions payable to the app that were planned for this payment event.
def:appWebhookTestmessagestringnonomaxLength:512No description in lexicon yet.
def:paymentCompletedpaymentref:#paymentyesnononeNo description in lexicon yet.
def:paymentCompleteddistributionref:#distributionnonononeNo description in lexicon yet.
def:paymentCompletedticketsref:#ticketIssuanceSummarynonononeNo description in lexicon yet.
def:paymentCompletedattestationref:#attestationnonononeNo description in lexicon yet.
def:paymentCompletedattestationPendingbooleannonononeTrue when settlement and fulfillment completed while public proof publication remains queued for durable reconciliation.
def:paymentFailedpaymentref:#paymentyesnononeNo description in lexicon yet.
def:paymentFailedreasonstringnonomaxLength:512No description in lexicon yet.
def:paymentRefundedpaymentref:#paymentyesnononeNo description in lexicon yet.
def:paymentRefundedinvoiceIdstringnonomaxLength:256Exact processor invoice cycle affected when the payment is a reusable subscription relationship.
def:paymentRefundedamountintegernonominimum:0No description in lexicon yet.
def:paymentRefundedamountRefundedTotalintegernonominimum:0Cumulative refunded amount for the exact invoice cycle when invoiceId is present; otherwise for the payment, in the smallest currency unit.
def:paymentRefundedpartialbooleannonononeTrue when the payment is only partially refunded so far.
def:paymentRefundedreasonstringnonomaxLength:512No description in lexicon yet.
def:paymentRefundedrefundPreservesTicketEntitlementsbooleannonononeTrue only when this refund must not revoke ATM ticket entitlements.
def:paymentRefundeddistributionref:#distributionnonononeNo description in lexicon yet.
def:paymentRefundUpdatedpaymentref:#paymentyesnononeNo description in lexicon yet.
def:paymentRefundUpdatedinvoiceIdstringnonomaxLength:256Exact processor invoice cycle affected when the payment is a reusable subscription relationship.
def:paymentRefundUpdatedrefundIdstringyesnomaxLength:256No description in lexicon yet.
def:paymentRefundUpdatedstatusstring<pending | succeeded | failed | canceled | requires-action>yesnomaxLength:64No description in lexicon yet.
def:paymentRefundUpdatedamountintegeryesnominimum:0Amount of this refund in the smallest currency unit.
def:paymentRefundUpdatedamountRefundedTotalintegeryesnominimum:0Cumulative refunded amount for the exact invoice cycle when invoiceId is present; otherwise for the payment, in the smallest currency unit.
def:paymentRefundUpdatedpartialbooleanyesnononeTrue when the payment is only partially refunded so far.
def:paymentRefundUpdatedapplicationFeeRefundedbooleanyesnononeTrue when ATM's own application fee was refunded alongside this refund.
def:paymentRefundUpdatedrefundPreservesTicketEntitlementsbooleannonononeTrue only when the aggregate refund authority preserves ATM ticket entitlements.
def:paymentRefundUpdatedreasonstringnonomaxLength:512No description in lexicon yet.
def:paymentDisputedpaymentref:#paymentyesnononeNo description in lexicon yet.
def:paymentDisputedinvoiceIdstringnonomaxLength:256Exact processor invoice cycle affected when the payment is a reusable subscription relationship.
def:paymentDisputeddisputeIdstringnonomaxLength:256Exact processor dispute object for this lifecycle.
def:paymentDisputedreasonstringnonomaxLength:512No description in lexicon yet.
def:paymentDisputeddisputeReasonstringnonomaxLength:512No description in lexicon yet.
def:paymentDisputedstatusstringnonomaxLength:64No description in lexicon yet.
def:paymentDisputeddistributionref:#distributionnonononeNo description in lexicon yet.
def:paymentDisputeClosedpaymentref:#paymentyesnononeNo description in lexicon yet.
def:paymentDisputeClosedinvoiceIdstringnonomaxLength:256Exact processor invoice cycle affected when the payment is a reusable subscription relationship.
def:paymentDisputeCloseddisputeIdstringyesnomaxLength:256No description in lexicon yet.
def:paymentDisputeClosedoutcomestring<won | lost | warning-closed>yesnomaxLength:32No description in lexicon yet.
def:paymentDisputeClosedstatusstringyesnomaxLength:64No description in lexicon yet.
def:paymentDisputeCloseddistributionsReinstatedbooleannonononeTrue when ATM revenue-share distributions payable to the app and reversed at dispute creation were reinstated after a won dispute.
def:paymentDisputeClosedrestoredDisputeCyclesarray<ref:#restoredDisputeCycle>nonomaxLength:100Earlier won cycles whose deferred ATM revenue-share distributions payable to the app became restorable when this dispute closed.
def:orderUpdatedpaymentref:#paymentyesnononeNo description in lexicon yet.
def:subscriptionInvoicePaidpaymentref:#paymentyesnononeNo description in lexicon yet.
def:subscriptionInvoicePaidinvoiceref:#invoiceyesnononeNo description in lexicon yet.
def:subscriptionInvoicePaidinvoiceIdstringnonomaxLength:256No description in lexicon yet.
def:subscriptionInvoicePaiddistributionref:#distributionnonononeNo description in lexicon yet.
def:subscriptionInvoicePaidattestationref:#attestationnonononeNo description in lexicon yet.
def:subscriptionInvoicePaidattestationPendingbooleannonononeTrue when the paid invoice completed while public proof publication remains queued for durable reconciliation.
def:subscriptionChangeUpdatedchangeref:#subscriptionChangeyesnononeNo description in lexicon yet.
def:subscriptionUpdatedsubscriptionref:#subscriptionyesnononeNo description in lexicon yet.
def:subscriptionUpdatedpaymentref:#paymentyesnononeNo description in lexicon yet.
def:subscriptionUpdatedpreviousPaymentref:#paymentnonononeNo description in lexicon yet.
def:subscriptionUpdatedprocessorSubscriptionIdstringnonomaxLength:256Processor subscription object id (e.g.
def:subscriptionUpdatedpriorAmountintegeryesnominimum:0No description in lexicon yet.
def:subscriptionUpdatedamountintegeryesnominimum:0No description in lexicon yet.
def:subscriptionUpdatedcurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:subscriptionUpdatedupdatedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:subscriptionUpdatedcurrentPeriodEndstringnonoformat:datetimeNo description in lexicon yet.
def:subscriptionUpdatedupdatedByref:#actorSummarynonononeNo description in lexicon yet.
def:subscriptionUpdatedattestationref:#attestationnonononeNo description in lexicon yet.
def:subscriptionCanceledsubscriptionref:#subscriptionyesnononeNo description in lexicon yet.
def:subscriptionCanceledpaymentref:#paymentyesnononeNo description in lexicon yet.
def:subscriptionCanceledprocessorSubscriptionIdstringnonomaxLength:256Processor subscription object id (e.g.
def:subscriptionCanceledcanceledAtstringyesnoformat:datetimeNo description in lexicon yet.
def:subscriptionCanceledcanceledByref:#actorSummarynonononeNo description in lexicon yet.
def:subscriptionCanceledreasonstringnonomaxLength:512No description in lexicon yet.
def:subscriptionPaymentFailedsubscriptionref:#subscriptionyesnononeNo description in lexicon yet.
def:subscriptionPaymentFailedpaymentref:#paymentyesnononeNo description in lexicon yet.
def:subscriptionPaymentFailedprocessorSubscriptionIdstringnonomaxLength:256Processor subscription object id (e.g.
def:subscriptionPaymentFailedinvoiceIdstringnonomaxLength:256No description in lexicon yet.
def:subscriptionPaymentFailedreasonstringnonomaxLength:512No description in lexicon yet.
def:subscriptionPaymentFailedhostedInvoiceUrlstringnonomaxLength:2000, format:uriHosted Stripe invoice URL for the SCA/authentication-required case, so apps can link the buyer to complete 3DS re-authentication.
def:subscriptionPaymentFailedfailedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:subscriptionRecoveredsubscriptionref:#subscriptionyesnononeNo description in lexicon yet.
def:subscriptionRecoveredpaymentref:#paymentyesnononeNo description in lexicon yet.
def:subscriptionRecoveredprocessorSubscriptionIdstringnonomaxLength:256Processor subscription object id (e.g.
def:subscriptionRecoveredinvoiceIdstringnonomaxLength:256No description in lexicon yet.
def:subscriptionRecoveredrecoveredAtstringyesnoformat:datetimeNo description in lexicon yet.
def:pledgeidstringyesnomaxLength:256No description in lexicon yet.
def:pledgerecipientDidstringyesnoformat:didNo description in lexicon yet.
def:pledgepayerDidstringnonoformat:didPresent only for signed-in pledgers; guest pledges omit it.
def:pledgeamountintegeryesnominimum:1No description in lexicon yet.
def:pledgecurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:pledgeintervalstring<month | quarter | year>yesnomaxLength:16No description in lexicon yet.
def:pledgetierLabelstringnonomaxLength:200No description in lexicon yet.
def:pledgesubscriptionGroupKeystringnonomaxLength:256No description in lexicon yet.
def:pledgelistingref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:pledgestatusstring<pending-setup | active | converting | converted | canceled | superseded | failed | expired>yesnomaxLength:32No description in lexicon yet.
def:pledgeautoConvertbooleanyesnononeNo description in lexicon yet.
def:pledgecreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:pledgecanceledAtstringnonoformat:datetimeNo description in lexicon yet.
def:pledgecanceledBystring<payer | app | creator | admin | system>nonomaxLength:16No description in lexicon yet.
def:pledgeconvertedAtstringnonoformat:datetimeNo description in lexicon yet.
def:pledgeCreatedpledgeref:#pledgeyesnononeNo description in lexicon yet.
def:pledgeCanceledpledgeref:#pledgeyesnononeNo description in lexicon yet.
def:pledgeConvertedpledgeref:#pledgeyesnononeNo description in lexicon yet.
def:pledgeConvertedpaymentIdstringyesnomaxLength:256No description in lexicon yet.
def:pledgeConvertedsubscriptionIdstringnonomaxLength:256Durable ATM subscriptions.id created by the conversion.
def:pledgeConversionFailedpledgeref:#pledgeyesnononeNo description in lexicon yet.
def:pledgeConversionFailedreasonCodestringyesnomaxLength:64Coarse decline class: card_declined, authentication_required, charge_failed, ...
def:pledgeConversionFailedwillRetrybooleanyesnononeTrue when ATM retries automatically after backoff; false when terminally failed (the app owns re-engagement).
def:payerRecordRequestedpaymentIdstringyesnomaxLength:256No description in lexicon yet.
def:payerRecordRequestedpayerDidstringyesnoformat:didNo description in lexicon yet.
def:payerRecordRequestedrecipientDidstringyesnoformat:didNo description in lexicon yet.
def:payerRecordRequestedcollectionstringyesnoformat:nsidNo description in lexicon yet.
def:payerRecordRequestedrecordRkeystringyesnominLength:13, maxLength:13Exact TID-shaped record key the app must use.
def:payerRecordRequestedcanonicalRecordunion<network.attested.payment.oneTime | network.attested.payment.recurring | network.attested.payment.scheduled>yesnononeNo description in lexicon yet.
def:payerRecordRequestedexpectedCidstringyesnoformat:cidNo description in lexicon yet.
def:payerRecordRequestedproofLifecycleGenerationintegeryesnominimum:1Exact verified proof-lifecycle generation authorizing this public write request.
def:payerRecordRequestedproofLifecycleStatestring<verified>yesnomaxLength:16No description in lexicon yet.
def:payerRecordRequestedexpiresAtstringyesnoformat:datetimeNo description in lexicon yet.
def:creatorProofRequestedpaymentIdstringyesnomaxLength:256No description in lexicon yet.
def:creatorProofRequestedcreatorDidstringyesnoformat:didNo description in lexicon yet.
def:creatorProofRequestedattestationCidstringyesnoformat:cidNo description in lexicon yet.
def:creatorProofRequestedpayerProofRefref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:creatorProofRequestedproofRecordref:network.attested.payment.proofyesnononeNo description in lexicon yet.
def:creatorProofRequestedproofLifecycleGenerationintegeryesnominimum:1Exact verified proof-lifecycle generation authorizing this public write request.
def:creatorProofRequestedproofLifecycleStatestring<verified>yesnomaxLength:16No description in lexicon yet.
def:creatorProofRequestedexpiresAtstringyesnoformat:datetimeNo description in lexicon yet.
def:payerClaimeddidstringyesnoformat:didNo description in lexicon yet.
def:payerClaimedpaymentIdsarray<string>yesnomaxLength:200No description in lexicon yet.
def:payerClaimedsubscriptionIdsarray<string>nonomaxLength:200No description in lexicon yet.
def:payerClaimedticketIdsarray<string>nonomaxLength:500No description in lexicon yet.
def:payerClaimedclaimedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:attestationUpdatedpaymentIdstringyesnomaxLength:256No description in lexicon yet.
def:attestationUpdatedpaymentref:#paymentnonononeCanonical sanitized payment snapshot for exact event routing when the receiving app has no local payment mirror.
def:attestationUpdatedproofLifecycleGenerationintegernonominimum:1Monotonic broker-proof lifecycle generation.
def:attestationUpdatedproofLifecycleStatestring<verified | invalidated>nonomaxLength:16Broker-proof lifecycle state at proofLifecycleGeneration.
def:attestationUpdatedattestationRevisionintegeryesnominimum:0Monotonic per-payment revision of the state represented by this event.
def:attestationUpdatedattestationStatusstringyesnomaxLength:64Authoritative ATM attestation state at this revision.
def:attestationUpdatedtrustTierstring<federated | creator-trusted | strict>yesyesmaxLength:32Active public trust tier, or null when the payment is private or invalidated.
def:attestationUpdatedlifecyclestring<active | invalidated>yesnomaxLength:16No description in lexicon yet.
def:attestationUpdatedvisibilitystring<public | private>yesnomaxLength:16No description in lexicon yet.
def:attestationUpdatedinvalidatedAtstringyesyesformat:datetimeAuthoritative invalidation time, or null while the proof lifecycle is active.
def:attestationUpdatedinvalidationReasonstringyesyesmaxLength:128Authoritative refund, dispute, or administrative invalidation reason, or null while active.
def:attestationUpdatedbrokerProofUristringyesyesformat:at-uriNo description in lexicon yet.
def:attestationUpdatedbrokerProofCidstringyesyesformat:cidNo description in lexicon yet.
def:attestationUpdatedpayerProofUristringyesyesformat:at-uriNo description in lexicon yet.
def:attestationUpdatedpayerProofCidstringyesyesformat:cidNo description in lexicon yet.
def:attestationUpdatedpayerProofPendingbooleanyesnononeNo description in lexicon yet.
def:attestationUpdatedpayerResolvedViastring<app | broker | declined>yesyesmaxLength:16No description in lexicon yet.
def:attestationUpdatedpayerRecordSuppressedbooleanyesnononeNo description in lexicon yet.
def:attestationUpdatedcreatorProofUristringyesyesformat:at-uriNo description in lexicon yet.
def:attestationUpdatedcreatorProofCidstringyesyesformat:cidNo description in lexicon yet.
def:attestationUpdatedcreatorProofPendingbooleanyesnononeNo description in lexicon yet.
def:attestationUpdatedcreatorResolvedViastring<app | broker | declined>yesyesmaxLength:16No description in lexicon yet.
def:attestationUpdatedpayerRecordRetractedbooleanyesnononeTrue when the payer removed their public payer record.
def:attestationUpdatedpayerRecordRetractionIdstringyesyesmaxLength:256Stable identifier for this retraction generation.
def:productUpdatedproductref:#productyesnononeNo description in lexicon yet.
def:productUpdatedcreatorDidstringnonoformat:didNo description in lexicon yet.
def:productUpdatedappLinkref:#productAppLinknonononeNo description in lexicon yet.
def:productArchivedproductref:#productyesnononeNo description in lexicon yet.
def:productArchivedcreatorDidstringnonoformat:didNo description in lexicon yet.
def:productArchivedappLinkref:#productAppLinknonononeNo description in lexicon yet.
def:productDeletedproductref:#productyesnononeNo description in lexicon yet.
def:productDeletedcreatorDidstringnonoformat:didNo description in lexicon yet.
def:productDeletedappLinkref:#productAppLinknonononeNo description in lexicon yet.
def:ticketHoldCreatedholdref:#ticketHoldyesnononeNo description in lexicon yet.
def:ticketHoldExpiredholdref:#ticketHoldyesnononeNo description in lexicon yet.
def:ticketsIssuedpaymentIdstringnonomaxLength:300No description in lexicon yet.
def:ticketsIssuedclaimIdstringnonomaxLength:300No description in lexicon yet.
def:ticketsIssuedholdref:#ticketHoldyesnononeNo description in lexicon yet.
def:ticketsIssuedticketsarray<ref:#issuedTicket>yesnononeNo description in lexicon yet.
def:ticketEventCanceledeventref:#ticketEventCanceledEventyesnononeNo description in lexicon yet.
def:ticketEventCanceledreasonstringyesnomaxLength:1000No description in lexicon yet.
def:ticketEventCanceledcanceledAtstringyesnoformat:datetimeNo description in lexicon yet.
def:ticketEventCanceledticketCountintegeryesnominimum:0No description in lexicon yet.
def:ticketEventCanceledpaidTicketCountintegeryesnominimum:0No description in lexicon yet.
def:ticketEventCanceledfreeTicketCountintegeryesnominimum:0No description in lexicon yet.
def:ticketEventCanceledrefundRequestedCountintegeryesnominimum:0No description in lexicon yet.
def:ticketEventCanceledrefundPendingCountintegeryesnominimum:0No description in lexicon yet.
def:ticketEventCanceledrefundNeedsAttentionCountintegeryesnominimum:0No description in lexicon yet.
def:ticketVoidedpaymentIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketVoidedreasonstringnonomaxLength:512No description in lexicon yet.
def:ticketVoidedticketsarray<ref:#issuedTicket>yesnononeNo description in lexicon yet.
def:ticketReleasedbuyerDidstringyesnoformat:didNo description in lexicon yet.
def:ticketReleasedeventIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketReleasedreasonstringnonomaxLength:512No description in lexicon yet.
def:ticketReleasedticketsarray<ref:#issuedTicket>yesnononeNo description in lexicon yet.
def:ticketRefundedpaymentIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketRefundedreasonstringnonomaxLength:512No description in lexicon yet.
def:ticketRefundedticketsarray<ref:#issuedTicket>yesnononeNo description in lexicon yet.
def:ticketPartialRefundReviewpaymentIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketPartialRefundReviewreasonstring<partial-refund>yesnomaxLength:32No description in lexicon yet.
def:ticketPartialRefundReviewamountRefundedintegeryesnominimum:0No description in lexicon yet.
def:ticketPartialRefundReviewactiveTicketIdsarray<string>yesnononeNo description in lexicon yet.
def:ticketPartialRefundReviewmanualVoidMayBeRequiredbooleanyesnononeNo description in lexicon yet.
def:ticketFailedRefundReviewpaymentIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketFailedRefundReviewrefundIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketFailedRefundReviewreasonstring<refund-failed-after-ticket-void | refund-failed-after-preissuance-release>yesnomaxLength:64No description in lexicon yet.
def:ticketFailedRefundReviewticketIdsarray<string>yesnononeNo description in lexicon yet.
def:ticketFailedRefundReviewholdIdstringnonomaxLength:300No description in lexicon yet.
def:ticketFailedRefundReviewmanualRestoreRequiredbooleanyesnononeNo description in lexicon yet.
def:ticketCheckedInticketref:#issuedTicketyesnononeNo description in lexicon yet.
def:ticketCheckedIncheckInref:#ticketCheckInyesnononeNo description in lexicon yet.
def:ticketFormSubmittedticketref:#issuedTicketyesnononeNo description in lexicon yet.
def:ticketFormSubmittedticketTypeIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketFormSubmittedsubmittedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:ticketFormSubmittedansweredFieldKeysarray<string>yesnomaxLength:30Keys of the fields the attendee answered.
def:ticketWaitlistJoinedwaitlistref:#ticketWaitlistJoinedWaitlistyesnononeNo description in lexicon yet.
def:ticketWaitlistOfferedwaitlistref:#ticketWaitlistOfferedWaitlistyesnononeNo description in lexicon yet.
def:ticketCollaborationInvitedcollaborationref:#ticketCollaborationyesnononeNo description in lexicon yet.
def:ticketCollaborationAcceptedcollaborationref:#ticketCollaborationyesnononeNo description in lexicon yet.
def:ticketCollaborationRevokedcollaborationref:#ticketCollaborationyesnononeNo description in lexicon yet.
def:ticketCollaborationidstringyesnomaxLength:300No description in lexicon yet.
def:ticketCollaborationeventIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketCollaborationprimaryOrganizerDidstringyesnoformat:didNo description in lexicon yet.
def:ticketCollaborationcoOrganizerDidstringyesnoformat:didNo description in lexicon yet.
def:ticketCollaborationstatusstring<pending | accepted | revoked>yesnomaxLength:16No description in lexicon yet.
def:ticketCollaborationrevenueShareBpsintegernonominimum:0, maximum:10000Recorded revenue-share INTENT in basis points, for MANUAL RECONCILIATION ONLY.
def:ticketCollaborationtimestampstringyesnoformat:datetimeNo description in lexicon yet.
def:customerSegmentMessageRequestedsegmentKeystring<at-risk-churn | high-value | lapsed>yesnomaxLength:32Which computed cohort the message targets.
def:customerSegmentMessageRequestedmessageTypestringyesnomaxLength:64App-defined opaque message identifier (e.g.
def:customerSegmentMessageRequestedmemberCountintegeryesnominimum:0Current number of members in the cohort at request time.
def:customerSegmentMessageRequestedrequestedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:recipientAuthorizationUpdatedrecipientDidstringyesnoformat:didNo description in lexicon yet.
def:recipientAuthorizationUpdatedstatusstring<approved | blocked | revoked>yesnomaxLength:16No description in lexicon yet.
def:recipientAuthorizationUpdatedapprovedPaymentTypesarray<string>nonomaxLength:16Payment types the recipient approved this app to originate.
def:recipientAuthorizationUpdatedapprovedFeeShareBpsintegernoyesminimum:0, maximum:10000Maximum rate the recipient authorizes ATM to charge as ATM's own application fee on payments originated by this app, in basis points; it is the fee base for ATM's separate contractual revenue-share obligation, under which the app is the payee.
def:recipientAuthorizationUpdatedupdatedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:attestationPolicyappRecordstring<public | private>nonomaxLength:16No description in lexicon yet.
def:attestationPolicyattestationstring<public | private>nonomaxLength:16No description in lexicon yet.
def:ticketEventCanceledEventidstringyesnomaxLength:300No description in lexicon yet.
def:ticketEventCanceledEventtitlestringyesnomaxLength:3000, maxGraphemes:300No description in lexicon yet.
def:ticketEventCanceledEventstatusstring<canceled>yesnomaxLength:32No description in lexicon yet.
def:ticketEventCanceledEventstartsAtstringnonoformat:datetimeNo description in lexicon yet.
def:ticketWaitlistJoinedWaitlistidstringyesnomaxLength:300No description in lexicon yet.
def:ticketWaitlistJoinedWaitlisteventIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketWaitlistJoinedWaitlistcapacityGroupIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketWaitlistJoinedWaitlistticketTypeIdstringnonomaxLength:300No description in lexicon yet.
def:ticketWaitlistJoinedWaitlistquantityintegeryesnominimum:1No description in lexicon yet.
def:ticketWaitlistOfferedWaitlistidstringyesnomaxLength:300No description in lexicon yet.
def:ticketWaitlistOfferedWaitlisteventIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketWaitlistOfferedWaitlistcapacityGroupIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketWaitlistOfferedWaitlistticketTypeIdstringnonomaxLength:300No description in lexicon yet.
def:ticketWaitlistOfferedWaitlistquantityintegeryesnominimum:1No description in lexicon yet.
def:ticketWaitlistOfferedWaitlistofferHoldIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketWaitlistOfferedWaitlistofferExpiresAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.event.listEvents11 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramscursorstringnonomaxLength:1024Opaque pagination cursor from a previous response.
paramsenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
paramslimitintegernonominimum:1, maximum:200No description in lexicon yet.
outputeventsarray<ref:#event>yesnononeNo description in lexicon yet.
outputcursorstringnonomaxLength:1024Opaque cursor to pass back as `cursor` for the next strictly newer page.
def:eventidstringyesnomaxLength:128Delivery id (the webhook Atm-Delivery-Id).
def:eventtyperef:money.atmosphere.event.defs#eventTypeyesnononeEvent type, e.g.
def:eventseqintegeryesnominimum:1Globally allocated event ordering position, unique and increasing within one ledger lifetime but not contiguous within an app's event history.
def:eventcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:eventenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
def:eventdataunknownyesnononeA bounded PII-free event summary.
money.atmosphere.event.receiveEvent7 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputidstringyesnomaxLength:128ATM delivery id.
inputtyperef:money.atmosphere.event.defs#eventTypeyesnononeATM event type, such as payment.completed or tickets.issued.
inputcreatedAtstringyesnoformat:datetimeWhen ATM built the event envelope.
inputapiVersionstringyesnomaxLength:32ATM outbound event envelope version.
inputenvironmentstring<test | live>nonomaxLength:16ATM app environment for this delivery.
inputdataunion<money.atmosphere.event.defs#appWebhookTest | money.atmosphere.event.defs#paymentCompleted | money.atmosphere.event.defs#paymentFailed | money.atmosphere.event.defs#paymentRefunded | money.atmosphere.event.defs#paymentRefundUpdated | money.atmosphere.event.defs#paymentDisputed | money.atmosphere.event.defs#paymentDisputeClosed | money.atmosphere.event.defs#orderUpdated | money.atmosphere.event.defs#subscriptionInvoicePaid | money.atmosphere.event.defs#subscriptionChangeUpdated | money.atmosphere.event.defs#subscriptionUpdated | money.atmosphere.event.defs#subscriptionCanceled | money.atmosphere.event.defs#subscriptionPaymentFailed | money.atmosphere.event.defs#subscriptionRecovered | money.atmosphere.event.defs#pledgeCreated | money.atmosphere.event.defs#pledgeCanceled | money.atmosphere.event.defs#pledgeConverted | money.atmosphere.event.defs#pledgeConversionFailed | money.atmosphere.event.defs#payerRecordRequested | money.atmosphere.event.defs#payerClaimed | money.atmosphere.event.defs#creatorProofRequested | money.atmosphere.event.defs#attestationUpdated | money.atmosphere.event.defs#productUpdated | money.atmosphere.event.defs#productArchived | money.atmosphere.event.defs#productDeleted | money.atmosphere.event.defs#ticketHoldCreated | money.atmosphere.event.defs#ticketHoldExpired | money.atmosphere.event.defs#ticketsIssued | money.atmosphere.event.defs#ticketEventCanceled | money.atmosphere.event.defs#ticketVoided | money.atmosphere.event.defs#ticketReleased | money.atmosphere.event.defs#ticketRefunded | money.atmosphere.event.defs#ticketPartialRefundReview | money.atmosphere.event.defs#ticketFailedRefundReview | money.atmosphere.event.defs#ticketCheckedIn | money.atmosphere.event.defs#ticketFormSubmitted | money.atmosphere.event.defs#ticketWaitlistJoined | money.atmosphere.event.defs#ticketWaitlistOffered | money.atmosphere.event.defs#ticketCollaborationInvited | money.atmosphere.event.defs#ticketCollaborationAccepted | money.atmosphere.event.defs#ticketCollaborationRevoked | money.atmosphere.event.defs#customerSegmentMessageRequested | money.atmosphere.event.defs#recipientAuthorizationUpdated>yesnononeEvent-specific payload.
outputacceptedbooleannonononeOptional acknowledgement.
money.atmosphere.membership.assertMember2 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputmemberDidstringyesnoformat:didThe member DID asserting presence.
outputacceptedbooleanyesnononeNo description in lexicon yet.
money.atmosphere.membership.createProgram8 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputcreatorDidstringyesnoformat:didCreator/project DID that will own the membership program.
inputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
inputtitlestringyesnominLength:1, maxLength:1000, maxGraphemes:100No description in lexicon yet.
inputdescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
inputscopestring<creator-wide | app-specific>nonomaxLength:32Whether apps should treat the program as creator-wide or app-specific.
inputproductref:com.atproto.repo.strongRefnonononeOptional money.atmosphere.product (kind=membership) in the creator's repo.
inputrecipientAssertionJwtstringnonomaxLength:8192Optional creator presence token (com.atproto.server.getServiceAuth JWT, iss=creatorDid, aud=ATM broker, lxm=money.atmosphere.app.assertRecipient) authorizing this app to author the membership without a standing approval.
outputprogramref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
money.atmosphere.membership.createTier16 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputcreatorDidstringyesnoformat:didNo description in lexicon yet.
inputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
inputprogramref:com.atproto.repo.strongRefyesnononeParent money.atmosphere.membership.program record in the creator's repo.
inputtitlestringyesnominLength:1, maxLength:1000, maxGraphemes:100No description in lexicon yet.
inputdescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
inputbenefitsarray<ref:#benefit>nonomaxLength:24Public benefit labels only; access enforcement comes from payment state.
inputproductref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
inputdefaultPriceref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
inputunitAmountintegernonominimum:0No description in lexicon yet.
inputcurrencystringnonominLength:3, maxLength:3No description in lexicon yet.
inputrankintegernonominimum:0No description in lexicon yet.
inputsortOrderintegernonominimum:0No description in lexicon yet.
inputrecipientAssertionJwtstringnonomaxLength:8192No description in lexicon yet.
outputtierref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
def:benefitkindstringnonomaxLength:80No description in lexicon yet.
def:benefitlabelstringyesnominLength:1, maxLength:1200, maxGraphemes:120No description in lexicon yet.
money.atmosphere.membership.getAccess16 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputmemberDidstringyesnoformat:didMember DID to check.
inputcreatorDidstringyesnoformat:didCreator or project DID whose membership is being checked.
inputmemberAssertionJwtstringyesnomaxLength:8192Single-use, short-TTL member presence token: a com.atproto.server.getServiceAuth JWT with iss = memberDid, aud = the broker DID's #AttestedNetwork service, lxm = money.atmosphere.membership.assertMember.
inputenvironmentstring<test | live>nonomaxLength:16ATM app environment.
inputprogramstringnonoformat:at-uriOptional money.atmosphere.membership.program AT-URI to check.
inputtierstringnonoformat:at-uriOptional money.atmosphere.membership.tier AT-URI to check.
inputtierOrAbovebooleannonononeWhen true, an exact tier match or a different tier with rank strictly greater than the requested tier rank satisfies access.
outputaccessbooleanyesnononeTrue when ATM found an active membership satisfying the request.
outputmemberDidstringyesnoformat:didNo description in lexicon yet.
outputcreatorDidstringyesnoformat:didNo description in lexicon yet.
outputprogramref:com.atproto.repo.strongRefnonononeMatched membership program, when resolved.
outputtiersarray<ref:#accessTier>nonomaxLength:16Matched active tiers the caller is authorized to know about.
outputcheckedAtstringyesnoformat:datetimeWhen ATM evaluated access.
def:accessTiertierref:com.atproto.repo.strongRefyesnononeMatched money.atmosphere.membership.tier record.
def:accessTierrankintegernonominimum:0Resolved tier rank, when known.
def:accessTiercurrentPeriodEndsAtstringnonoformat:datetimeWhen the current paid period ends, when available to the caller.
money.atmosphere.membership.listGrants19 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramscreatorDidstringnonoformat:didFilter to grants for one creator.
paramsmemberDidstringnonoformat:didFilter to grants for one member.
paramsreferencestringnonomaxLength:256Filter to grants registered with this app-local reference.
paramsenvironmentstring<test | live>nonomaxLength:16ATM app environment.
paramsincludeRevokedbooleannonononeInclude revoked grants (tombstones) in the results.
paramslimitintegernonominimum:1, maximum:100No description in lexicon yet.
paramscursorstringnonomaxLength:256No description in lexicon yet.
outputgrantsarray<ref:#grant>yesnomaxLength:100No description in lexicon yet.
outputcursorstringnonomaxLength:256Opaque pagination cursor; absent on the last page.
def:grantgrantIdstringyesnomaxLength:128No description in lexicon yet.
def:grantmemberDidstringyesnoformat:didNo description in lexicon yet.
def:grantcreatorDidstringyesnoformat:didNo description in lexicon yet.
def:grantprogramstringnonoformat:at-urimoney.atmosphere.membership.program AT-URI, when the grant is program-scoped.
def:granttierstringnonoformat:at-urimoney.atmosphere.membership.tier AT-URI, when the grant is tier-scoped.
def:grantsourcestring<comp | migration | free-claim>yesnomaxLength:32No description in lexicon yet.
def:grantregisteredAtstringyesnoformat:datetimeNo description in lexicon yet.
def:grantexpiresAtstringnonoformat:datetimeNo description in lexicon yet.
def:grantrevokedAtstringnonoformat:datetimePresent only when includeRevoked=true returned a revoked grant.
def:grantreferencestringnonomaxLength:256Opaque app-local reconciliation id echoed back.
money.atmosphere.membership.program8 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordtitlestringyesnominLength:1, maxLength:1000, maxGraphemes:100Public membership program name.
recorddescriptionstringnonomaxLength:10000, maxGraphemes:1000Public description or terms for the membership program.
recordscopestring<creator-wide | app-specific>nonomaxLength:32Whether apps should treat this as a creator-wide membership or a membership intended for one app surface.
recordproductref:com.atproto.repo.strongRefnonononeOptional parent money.atmosphere.product record with kind=membership.
recordarchivedbooleannonononeWhether this membership program is no longer offered to new members.
recordarchivedAtstringnonoformat:datetimeNo description in lexicon yet.
recordcreatedAtstringyesnoformat:datetimeWhen this membership program record was created.
recordupdatedAtstringnonoformat:datetimeWhen this membership program record was last updated.
money.atmosphere.membership.registerGrant13 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputmemberDidstringyesnoformat:didMember DID receiving the grant.
inputcreatorDidstringyesnoformat:didCreator or project DID whose membership is being granted.
inputprogramstringnonoformat:at-uriOptional money.atmosphere.membership.program AT-URI in the creator's repo.
inputtierstringnonoformat:at-uriOptional money.atmosphere.membership.tier AT-URI in the creator's repo.
inputsourcestring<comp | migration | free-claim>yesnomaxLength:32Why the grant exists: a creator comp, a billing-migration import, or a free-tier claim flow.
inputenvironmentstring<test | live>nonomaxLength:16ATM app environment.
inputexpiresAtstringnonoformat:datetimeOptional expiry after which the grant no longer satisfies access checks.
inputreferencestringnonomaxLength:256Optional opaque app-local reference for reconciliation (for example a migration batch or comp id).
outputgrantIdstringyesnomaxLength:128Opaque grant id for later revocation.
outputmemberDidstringyesnoformat:didNo description in lexicon yet.
outputcreatorDidstringyesnoformat:didNo description in lexicon yet.
outputregisteredAtstringyesnoformat:datetimeWhen ATM recorded the grant.
outputexpiresAtstringnonoformat:datetimeEchoed expiry, when set.
money.atmosphere.membership.revokeGrant4 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputgrantIdstringyesnomaxLength:128Grant id returned by registerGrant.
inputenvironmentstring<test | live>nonomaxLength:16ATM app environment.
outputrevokedbooleanyesnononeTrue when the grant is revoked (including when it was already revoked).
outputrevokedAtstringyesnoformat:datetimeWhen the grant stopped satisfying access checks.
money.atmosphere.membership.tier16 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordprogramstringyesnoformat:at-uriAT-URI identity of the parent money.atmosphere.membership.program.
recordtitlestringyesnominLength:1, maxLength:1000, maxGraphemes:100Public tier name.
recorddescriptionstringnonomaxLength:10000, maxGraphemes:1000Public description of this tier.
recordbenefitsarray<ref:#benefit>nonomaxLength:24Public benefit labels only.
recordproductref:com.atproto.repo.strongRefnonononeOptional money.atmosphere.product record with kind=membership for this tier.
recorddefaultPriceref:com.atproto.repo.strongRefnonononeOptional CID-pinned strongRef to the current recurring money.atmosphere.price for this tier.
recordunitAmountintegernonominimum:0Display amount in the smallest unit of currency, matching the linked price when present.
recordcurrencystringnonominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code.
recordrankintegernonominimum:0Optional access rank within the program.
recordsortOrderintegernonominimum:0Creator-controlled display order.
recordarchivedbooleannonononeWhether this tier is no longer available for new members.
recordarchivedAtstringnonoformat:datetimeNo description in lexicon yet.
recordcreatedAtstringyesnoformat:datetimeWhen this tier record was created.
recordupdatedAtstringnonoformat:datetimeWhen this tier record was last updated.
def:benefitkindstringnonomaxLength:80Optional app-neutral benefit category.
def:benefitlabelstringyesnominLength:1, maxLength:1200, maxGraphemes:120Public benefit label.
money.atmosphere.membership.updateProgram9 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
inputprogramref:com.atproto.repo.strongRefyesnononeThe money.atmosphere.membership.program record to update.
inputtitlestringnonominLength:1, maxLength:1000, maxGraphemes:100No description in lexicon yet.
inputdescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
inputscopestring<creator-wide | app-specific>nonomaxLength:32Deprecated compatibility input.
inputproductref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
inputarchivedbooleannonononeNo description in lexicon yet.
inputrecipientAssertionJwtstringnonomaxLength:8192No description in lexicon yet.
outputprogramref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
money.atmosphere.membership.updateTier16 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
inputtierref:com.atproto.repo.strongRefyesnononeThe money.atmosphere.membership.tier record to update.
inputtitlestringnonominLength:1, maxLength:1000, maxGraphemes:100No description in lexicon yet.
inputdescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
inputbenefitsarray<ref:#benefit>nonomaxLength:24No description in lexicon yet.
inputproductref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
inputdefaultPriceref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
inputunitAmountintegernonominimum:0No description in lexicon yet.
inputcurrencystringnonominLength:3, maxLength:3No description in lexicon yet.
inputrankintegernonominimum:0No description in lexicon yet.
inputsortOrderintegernonominimum:0No description in lexicon yet.
inputarchivedbooleannonononeNo description in lexicon yet.
inputrecipientAssertionJwtstringnonomaxLength:8192No description in lexicon yet.
outputtierref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
def:benefitkindstringnonomaxLength:80No description in lexicon yet.
def:benefitlabelstringyesnominLength:1, maxLength:1200, maxGraphemes:120No description in lexicon yet.
money.atmosphere.order.defs46 fields
LocationFieldTypeRequiredNullableLimitsDescription
def:fulfillmentmodestring<app-managed | atm-managed>yesnomaxLength:32No description in lexicon yet.
def:fulfillmentownerAppDidstringyesnoformat:didNo description in lexicon yet.
def:fulfillmentworkflowstring<automatic | manual>yesnomaxLength:16No description in lexicon yet.
def:fulfillmentmanagementUrlstringnonomaxLength:2048, format:uriNo description in lexicon yet.
def:routingversionintegeryesnominimum:1No description in lexicon yet.
def:routingkindstring<shop | commission>yesnomaxLength:32No description in lexicon yet.
def:routingclientOrderIdstringyesnomaxLength:200No description in lexicon yet.
def:routingsalesChannelAppDidstringyesnoformat:didNo description in lexicon yet.
def:routingfulfillmentref:#fulfillmentyesnononeNo description in lexicon yet.
def:routinginventoryAuthoritystring<app | atm>yesnomaxLength:16No description in lexicon yet.
def:routinginventoryPolicystring<finite | unlimited>yesnomaxLength:16No description in lexicon yet.
def:inventoryReservationidstringyesnominLength:1, maxLength:64No description in lexicon yet.
def:inventoryReservationinventoryRevisionintegeryesnominimum:1, maximum:9007199254740991Inventory ledger revision frozen when the hold was created.
def:inventoryReservationquantityintegeryesnominimum:1, maximum:999No description in lexicon yet.
def:itemquantityintegernonominimum:1No description in lexicon yet.
def:itemlistingref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:itemproductUristringnonoformat:at-uriNo description in lexicon yet.
def:itemvariantUristringnonoformat:at-uriNo description in lexicon yet.
def:iteminventoryReservationref:#inventoryReservationnonononeNo description in lexicon yet.
def:itemtitlestringnonomaxLength:200No description in lexicon yet.
def:itemvariantstringnonomaxLength:200No description in lexicon yet.
def:itemskustringnonomaxLength:120No description in lexicon yet.
def:orderidstringyesnomaxLength:64No description in lexicon yet.
def:orderclientOrderIdstringyesnomaxLength:200No description in lexicon yet.
def:orderpaymentIdstringyesnomaxLength:256No description in lexicon yet.
def:orderenvironmentstring<live | test>yesnomaxLength:16No description in lexicon yet.
def:orderkindstring<shop | commission>yesnomaxLength:32No description in lexicon yet.
def:orderrevisionintegeryesnominimum:1Monotonic canonical state revision.
def:orderroutingref:#routingyesnononeNo description in lexicon yet.
def:orderfinancialStatusref:#financialStatusyesnononeNo description in lexicon yet.
def:orderfulfillmentStatusref:#fulfillmentStatusyesnononeNo description in lexicon yet.
def:orderfulfillmentStateCauseref:#fulfillmentStateCausenonononeNo description in lexicon yet.
def:orderitemref:#itemnonononeNo description in lexicon yet.
def:ordercreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:orderupdatedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:fulfillmentEventidstringyesnomaxLength:64No description in lexicon yet.
def:fulfillmentEventseqintegeryesnominimum:1Monotonic per-order history sequence.
def:fulfillmentEventfromFulfillmentStatusref:#fulfillmentStatusyesnononeNo description in lexicon yet.
def:fulfillmentEventtoFulfillmentStatusref:#fulfillmentStatusyesnononeNo description in lexicon yet.
def:fulfillmentEventrevisionintegeryesnominimum:2No description in lexicon yet.
def:fulfillmentEventnotestringnonomaxLength:1000, maxGraphemes:1000No description in lexicon yet.
def:fulfillmentEventtrackingref:#trackingnonononeNo description in lexicon yet.
def:fulfillmentEventcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:trackingcarrierstringnonomaxLength:64No description in lexicon yet.
def:trackingnumberstringnonomaxLength:128No description in lexicon yet.
def:trackingurlstringnonomaxLength:2048, format:uriNo description in lexicon yet.
money.atmosphere.order.getOrder5 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsidstringnonomaxLength:64No description in lexicon yet.
paramsclientOrderIdstringnonomaxLength:200No description in lexicon yet.
paramskindstring<shop | commission>nonomaxLength:32Required when looking up by clientOrderId.
paramsenvironmentstring<live | test>nonomaxLength:16Required when looking up by clientOrderId.
outputorderref:money.atmosphere.order.defs#orderyesnononeNo description in lexicon yet.
money.atmosphere.order.listOrders8 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsenvironmentstring<live | test>yesnomaxLength:16No description in lexicon yet.
paramsfulfillmentStatusstring<unfulfilled | ready | on-hold | processing | partially-fulfilled | fulfilled | failed | canceled>nonomaxLength:32No description in lexicon yet.
paramsfinancialStatusstring<not-required | pending | paid | partially-refunded | refunded | disputed | chargeback | failed | canceled>nonomaxLength:32No description in lexicon yet.
paramsupdatedSincestringnonoformat:datetimeOnly orders whose canonical state changed at or after this time.
paramslimitintegernonominimum:1, maximum:100No description in lexicon yet.
paramscursorstringnonomaxLength:2048No description in lexicon yet.
outputordersarray<ref:money.atmosphere.order.defs#order>yesnononeNo description in lexicon yet.
outputcursorstringnonomaxLength:2048No description in lexicon yet.
money.atmosphere.order.updateFulfillment9 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputidstringyesnomaxLength:64No description in lexicon yet.
inputexpectedRevisionintegeryesnominimum:1No description in lexicon yet.
inputfulfillmentStatusstring<ready | processing | partially-fulfilled | fulfilled | on-hold | canceled | failed>yesnomaxLength:32Target fulfillment state.
inputidempotencyKeystringyesnominLength:1, maxLength:200No description in lexicon yet.
inputnotestringnonomaxLength:1000, maxGraphemes:1000No description in lexicon yet.
inputtrackingref:money.atmosphere.order.defs#trackingnonononeNo description in lexicon yet.
outputorderref:money.atmosphere.order.defs#orderyesnononeNo description in lexicon yet.
outputeventref:money.atmosphere.order.defs#fulfillmentEventyesnononeNo description in lexicon yet.
outputreplayedbooleanyesnononeTrue when this response replays a previously recorded mutation for the same idempotencyKey.
money.atmosphere.payment.assertPayer3 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputpayerDidstringyesnoformat:didThe buyer DID asserted by the app-held user session.
inputcheckoutTokenstringnonomaxLength:512Optional ATM checkout/session token this assertion was minted for.
outputacceptedbooleanyesnononeNo description in lexicon yet.
money.atmosphere.payment.authPublishReceipt1 fields
LocationFieldTypeRequiredNullableLimitsDescription
permissionrepo[0]create<money.atmosphere.payment.receipt | money.atmosphere.payment.recurringReceipt>yesnononeAllow this app to create public payment receipt records in your account for payments you complete.
money.atmosphere.payment.cancelPledge5 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputpledgeIdstringyesnomaxLength:256No description in lexicon yet.
inputreasonstringnonomaxLength:256No description in lexicon yet.
outputpledgeIdstringyesnomaxLength:256No description in lexicon yet.
outputstatusstring<canceled>yesnomaxLength:32Pledge status after cancellation (currently always canceled).
outputcanceledAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.payment.cancelSubscription7 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputsubscriptionIdstringnonomaxLength:256Opaque ATM subscription relationship id from money.atmosphere.payment.listSubscriptions.
inputpaymentIdstringnonomaxLength:256Legacy/current ATM recurring payment id.
inputreasonstringnonomaxLength:256No description in lexicon yet.
outputsubscriptionIdstringnonomaxLength:256No description in lexicon yet.
outputpaymentIdstringyesnomaxLength:256No description in lexicon yet.
outputstatusstringyesnomaxLength:64No description in lexicon yet.
outputcanceledAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.payment.convertPledges10 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputrecipientDidstringyesnoformat:didNo description in lexicon yet.
inputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
inputpledgeIdsarray<string>nonomaxLength:50No description in lexicon yet.
outputresultsarray<ref:#result>yesnononeNo description in lexicon yet.
def:resultpledgeIdstringyesnomaxLength:256No description in lexicon yet.
def:resultoutcomestring<converted | superseded | waiting | failed | skipped>yesnomaxLength:32No description in lexicon yet.
def:resultreasonstringnonomaxLength:500Why the pledge is waiting/failed/skipped (e.g.
def:resultpaymentIdstringnonomaxLength:256No description in lexicon yet.
def:resultsubscriptionIdstringnonomaxLength:256No description in lexicon yet.
def:resultwillRetrybooleannonononeNo description in lexicon yet.
money.atmosphere.payment.createManagementSession7 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputpayerDidstringyesnoformat:didThe payer DID asserted by the app-held user session.
inputpayerAssertionstringyesnomaxLength:4096Single-use payer service-auth JWT (lxm money.atmosphere.payment.assertPayer, aud = the broker DID's #AttestedNetwork service, e.g.
inputsubscriptionIdstringnonomaxLength:256Opaque ATM subscription relationship id from money.atmosphere.payment.listSubscriptions.
inputpaymentIdstringnonomaxLength:256ATM recurring payment id anchor.
inputreturnUrlstringnonomaxLength:1024, format:uriOptional link back into the app shown on the management surface.
outputurlstringyesnoformat:uriShort-lived, single-use management session URL.
outputexpiresAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.payment.createPledge21 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputrecipientDidstringyesnoformat:didRecipient the payer is pledging to.
inputamountintegeryesnominimum:50, maximum:2000000Pledged per-cycle amount in integer minor units (same bounds as checkout).
inputcurrencystringnonominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code.
inputintervalstring<month | quarter | year>yesnomaxLength:16No description in lexicon yet.
inputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
inputpayerDidstringnonoformat:didOptional signed-in payer hint.
inputpayerEmailHintstringnonomaxLength:320Private prefill hint for the card-save page.
inputtierLabelstringnonomaxLength:200No description in lexicon yet.
inputsubscriptionGroupKeystringnonomaxLength:256Same offering-scoping contract as subscription checkout: pledges and subscriptions sharing a group key are one offering for duplicate blocking.
inputlistingref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
inputentitlementsarray<ref:com.atproto.repo.strongRef>nonomaxLength:50No description in lexicon yet.
inputmetadataunknownnonononePrivate app metadata carried onto the converted payment.
inputautoConvertbooleannonononeDeprecated compatibility alias.
inputrequireManualConversionbooleannonononeWhen true, conversion happens only via convertPledges or the creator dashboard.
inputexpiresAtstringnonoformat:datetimeOptional expiry; the pledge is retired without charge if not converted by then.
inputreturnUrlstringnonomaxLength:2048, format:uriNo description in lexicon yet.
inputcancelUrlstringnonomaxLength:2048, format:uriNo description in lexicon yet.
outputpledgeIdstringyesnomaxLength:256No description in lexicon yet.
outputtokenstringyesnomaxLength:256Browser bearer for the ATM-hosted card-save/manage page.
outputurlstringyesnomaxLength:2048, format:uriNo description in lexicon yet.
outputstatusstring<pending-setup>yesnomaxLength:32Pledge status right after creation (currently always pending-setup: the payer has not saved a card yet).
money.atmosphere.payment.createSubscriptionChangeSession8 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputpayerDidstringyesnoformat:didNo description in lexicon yet.
inputpayerAssertionstringyesnomaxLength:4096No description in lexicon yet.
inputchangeIdstringyesnomaxLength:128No description in lexicon yet.
inputquoteHashstringyesnominLength:64, maxLength:64No description in lexicon yet.
inputreturnUrlstringnonomaxLength:1024, format:uriNo description in lexicon yet.
outputchangeref:money.atmosphere.payment.previewSubscriptionChange#subscriptionChangeyesnononeNo description in lexicon yet.
outputurlstringyesnoformat:uriNo description in lexicon yet.
outputexpiresAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.payment.declineRecord8 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputpaymentIdstringyesnomaxLength:256No description in lexicon yet.
inputrecordTypestring<payer | creator>yesnomaxLength:16No description in lexicon yet.
inputreasonstringnonomaxLength:256No description in lexicon yet.
inputproofLifecycleGenerationintegernonominimum:1, maximum:9007199254740991Exact verified broker-proof lifecycle generation from the delegated request.
inputproofLifecycleStatestring<verified>nonomaxLength:16Verified state paired with proofLifecycleGeneration.
outputpaymentIdstringyesnomaxLength:256No description in lexicon yet.
outputrecordTypestring<payer | creator>yesnomaxLength:16No description in lexicon yet.
outputresolvedViastring<broker | declined>yesnomaxLength:16No description in lexicon yet.
money.atmosphere.payment.defs4 fields
LocationFieldTypeRequiredNullableLimitsDescription
def:fiatMinoramountMinorintegeryesnominimum:1, maximum:9007199254740991Final fiat amount in the ISO 4217 currency's minor unit according to that currency's ISO exponent (for example, cents for USD).
def:fiatMinorcurrencystringyesnominLength:3, maxLength:3Uppercase ISO 4217 alphabetic code (for example, USD or EUR).
def:assetAtomicamountAtomicstringyesnominLength:1, maxLength:78Canonical positive base-10 integer atomic-unit amount: no sign, decimal point, exponent, whitespace, or leading zero; value MUST be at most 2^256-1.
def:assetAtomicassetstringyesnominLength:11, maxLength:179Exact case-sensitive network-qualified fungible-asset identifier using the frozen CAIP-19 asset-type grammar supplied by the applicable payment profile (for example, eip155:1/erc20:0x...).
money.atmosphere.payment.diagnoseSubscriptionFailure9 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramssubscriptionIdstringyesnomaxLength:128The durable ATM subscription id.
paramsinvoiceIdstringnonomaxLength:256Optional failed-cycle invoice id (informational).
outputreasonstring<payer-declined | payment-method-expired | authentication-required | processor-unavailable | recipient-account-held | recipient-kyc-pending | unknown>yesnomaxLength:32No description in lexicon yet.
outputrecipientHoldbooleanyesnononeTrue when the cause is on the recipient's payout account.
outputretryEligiblebooleanyesnononeWhether the processor will keep retrying (false for recipient holds).
outputrecommendedActionsarray<string>yesnomaxLength:20ATM-authored guidance the app acts on (it owns customer comms).
outputdetailstringyesnomaxLength:256App-safe summary line; never the raw processor message.
outputfailedAtstringnonoformat:datetimeNo description in lexicon yet.
outputinvoiceIdstringnonomaxLength:256No description in lexicon yet.
money.atmosphere.payment.getSubscriptionChange2 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramschangeIdstringyesnomaxLength:128No description in lexicon yet.
outputchangeref:money.atmosphere.payment.previewSubscriptionChange#subscriptionChangeyesnononeNo description in lexicon yet.
money.atmosphere.payment.lifecycle5 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordproofref:com.atproto.repo.strongRefyesnononeExact reference to the immutable money.atmosphere.payment.proof record whose payment this state describes.
recordstatusstring<settled | refunded | partially-refunded | disputed | reversed>yesnomaxLength:64Present post-settlement state asserted by the lifecycle authority (kebab-case fixed values).
recordrevisionintegeryesnominimum:1, maximum:9007199254740991Dedicated, ledger-generated, per-payment lifecycle revision.
recordreasonstringnonomaxLength:64Optional short machine-readable reason code (kebab-case).
recordasOfstringyesnoformat:datetimeWhen the lifecycle authority last asserted this state (UTC).
money.atmosphere.payment.listPayerProofs7 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramspayerstringyesnoformat:at-identifierDID or handle of the payer whose public payment records to list.
paramspaymentTypestring<network.attested.payment.oneTime | network.attested.payment.recurring | network.attested.payment.scheduled>nonoformat:nsidOptional filter by payment collection.
paramsbrokersarray<string>nonomaxLength:20Optional list of broker DIDs.
paramslimitintegernonominimum:1, maximum:100No description in lexicon yet.
paramscursorstringnonomaxLength:1024Opaque pagination cursor from a previous response.
outputpaymentsarray<union<network.attested.payment.oneTime | network.attested.payment.recurring | network.attested.payment.scheduled>>yesnononeList of the payer's verified public payment records, newest first.
outputcursorstringnonomaxLength:1024Pagination cursor.
money.atmosphere.payment.listPendingRecords18 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramspayerDidstringnonoformat:didNo description in lexicon yet.
paramsrecipientDidstringnonoformat:didNo description in lexicon yet.
paramsrecordTypestring<payer | creator | any>nonomaxLength:16No description in lexicon yet.
paramslimitintegernonominimum:1, maximum:100No description in lexicon yet.
paramscursorstringnonomaxLength:1024No description in lexicon yet.
outputrecordsarray<ref:#record>yesnononeNo description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
def:recordpaymentIdstringyesnomaxLength:256No description in lexicon yet.
def:recordrecordTypestring<payer | creator>yesnomaxLength:16No description in lexicon yet.
def:recordrecordRkeystringyesnominLength:13, maxLength:13Exact TID-shaped record key the app must use for this publication generation.
def:recordpayerDidstringnonoformat:didNo description in lexicon yet.
def:recordrecipientDidstringnonoformat:didNo description in lexicon yet.
def:recordcollectionstringnonoformat:nsidNo description in lexicon yet.
def:recordcanonicalRecordunion<network.attested.payment.oneTime | network.attested.payment.recurring | network.attested.payment.scheduled | network.attested.payment.proof>nonononeNo description in lexicon yet.
def:recordattestationCidstringnonoformat:cidNo description in lexicon yet.
def:recordexpectedCidstringyesnoformat:cidNo description in lexicon yet.
def:recordproofLifecycleGenerationintegeryesnominimum:1Exact verified proof-lifecycle generation authorizing these public bytes.
def:recordproofLifecycleStatestring<verified>yesnomaxLength:16No description in lexicon yet.
money.atmosphere.payment.listPledges27 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
paramsrecipientDidstringnonoformat:didNo description in lexicon yet.
paramsstatusstring<pending-setup | active | converting | converted | canceled | superseded | failed | expired | all>nonomaxLength:32No description in lexicon yet.
paramslimitintegernonominimum:1, maximum:100No description in lexicon yet.
paramscursorstringnonomaxLength:1024No description in lexicon yet.
outputpledgesarray<ref:#pledge>yesnononeNo description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
def:pledgeidstringyesnomaxLength:256No description in lexicon yet.
def:pledgerecipientDidstringyesnoformat:didNo description in lexicon yet.
def:pledgepayerDidstringnonoformat:didPresent only for signed-in pledgers.
def:pledgeamountintegeryesnominimum:1No description in lexicon yet.
def:pledgecurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:pledgeintervalstring<month | quarter | year>yesnomaxLength:16No description in lexicon yet.
def:pledgetierLabelstringnonomaxLength:200No description in lexicon yet.
def:pledgesubscriptionGroupKeystringnonomaxLength:256No description in lexicon yet.
def:pledgelistingref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:pledgestatusstring<pending-setup | active | converting | converted | canceled | superseded | failed | expired>yesnomaxLength:32No description in lexicon yet.
def:pledgestatusDetailstringnonomaxLength:500Coarse machine-readable reason for the current state (e.g.
def:pledgeautoConvertbooleanyesnononeNo description in lexicon yet.
def:pledgeurlstringyesnomaxLength:2048, format:uriATM-hosted card-save/manage page for this pledge.
def:pledgeconvertedPaymentIdstringnonomaxLength:256No description in lexicon yet.
def:pledgeconvertedSubscriptionIdstringnonomaxLength:256No description in lexicon yet.
def:pledgeconvertedAtstringnonoformat:datetimeNo description in lexicon yet.
def:pledgecanceledAtstringnonoformat:datetimeNo description in lexicon yet.
def:pledgecanceledBystring<payer | app | creator | admin | system>nonomaxLength:16No description in lexicon yet.
def:pledgeexpiresAtstringnonoformat:datetimeNo description in lexicon yet.
def:pledgecreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.payment.listSubscriptions24 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsenvironmentstring<live | test>nonomaxLength:16No description in lexicon yet.
paramsstatusstring<active | all>nonomaxLength:16No description in lexicon yet.
paramslimitintegernonominimum:1, maximum:100No description in lexicon yet.
paramscursorstringnonomaxLength:1024No description in lexicon yet.
outputsubscriptionsarray<ref:#subscription>yesnononeNo description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
def:subscriptionsubscriptionIdstringyesnomaxLength:256Opaque ATM subscription relationship id.
def:subscriptionrevisionintegeryesnominimum:1Monotonic ATM relationship revision.
def:subscriptionpaymentIdstringyesnomaxLength:256Current or initial ATM recurring payment row for this subscription relationship.
def:subscriptionrecipientDidstringyesnoformat:didNo description in lexicon yet.
def:subscriptionoriginatorDidstringyesnoformat:didNo description in lexicon yet.
def:subscriptionenvironmentstring<live | test>yesnomaxLength:16No description in lexicon yet.
def:subscriptionamountintegeryesnominimum:0No description in lexicon yet.
def:subscriptioncurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:subscriptionintervalstring<day | week | month | year>nonomaxLength:16Billing interval unit, matching money.atmosphere.price#recurring.
def:subscriptionintervalCountintegernonominimum:1, maximum:1095Number of interval units between billings.
def:subscriptionstatusstring<completed | active | trialing | past_due | unpaid | canceled | externally-managed>yesnomaxLength:64Subscription relationship status.
def:subscriptioncurrentCyclePaymentStatusstring<pending | paid | refunded | disputed>yesnomaxLength:16Sanitized exact current-cycle payment authority.
def:subscriptionmetadataunknownnonononeSanitized public display hints only.
def:subscriptionentitlementsarray<ref:com.atproto.repo.strongRef>nonomaxLength:50No description in lexicon yet.
def:subscriptionlistingref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:subscriptioncurrentPeriodEndstringnonoformat:datetimeEnd of the currently paid period when known.
def:subscriptioncancelAtPeriodEndbooleanyesnononeTrue when cancellation is scheduled for currentPeriodEnd.
def:subscriptioncreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.payment.previewSubscriptionChange42 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputpayerDidstringyesnoformat:didNo description in lexicon yet.
inputpayerAssertionstringyesnomaxLength:4096No description in lexicon yet.
inputenvironmentstring<live | test>yesnomaxLength:16No description in lexicon yet.
inputsubscriptionIdstringyesnomaxLength:256No description in lexicon yet.
inputexpectedRevisionintegeryesnominimum:1No description in lexicon yet.
inputchangeAttemptIdstringyesnominLength:1, maxLength:200App-generated idempotency key.
inputtargetProgramref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
inputtargetTierref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
inputtargetPriceref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
inputtargetAmountintegernonominimum:0Optional target amount assertion.
outputchangeref:money.atmosphere.payment.previewSubscriptionChange#subscriptionChangeyesnononeNo description in lexicon yet.
def:subscriptionChangechangeIdstringyesnomaxLength:128Opaque ATM tier-change id.
def:subscriptionChangesubscriptionIdstringyesnomaxLength:256No description in lexicon yet.
def:subscriptionChangesubscriptionRevisionintegeryesnominimum:1No description in lexicon yet.
def:subscriptionChangeenvironmentstring<live | test>yesnomaxLength:16No description in lexicon yet.
def:subscriptionChangestatusstring<quoted | awaiting-confirmation | awaiting-payment | action-required | scheduled | paid-pending-apply | applied | failed | canceled | superseded | expired>yesnomaxLength:32No description in lexicon yet.
def:subscriptionChangedirectionstring<upgrade | downgrade | lateral>yesnomaxLength:16No description in lexicon yet.
def:subscriptionChangefromPaymentIdstringyesnomaxLength:256No description in lexicon yet.
def:subscriptionChangecurrentProgramref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:subscriptionChangecurrentTierref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:subscriptionChangecurrentListingref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:subscriptionChangetargetProgramref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
def:subscriptionChangetargetTierref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
def:subscriptionChangetargetListingref:com.atproto.repo.strongRefyesnononeNo description in lexicon yet.
def:subscriptionChangetargetEntitlementsarray<ref:com.atproto.repo.strongRef>yesnomaxLength:50No description in lexicon yet.
def:subscriptionChangecurrentAmountintegeryesnominimum:0No description in lexicon yet.
def:subscriptionChangetargetAmountintegeryesnominimum:0No description in lexicon yet.
def:subscriptionChangechargeAmountintegeryesnominimum:0Amount ATM will attempt immediately after exact hosted confirmation.
def:subscriptionChangecurrencystringyesnominLength:3, maxLength:3No description in lexicon yet.
def:subscriptionChangeintervalstring<day | week | month | year>yesnomaxLength:16No description in lexicon yet.
def:subscriptionChangeintervalCountintegeryesnominimum:1, maximum:1095No description in lexicon yet.
def:subscriptionChangerequiresPaymentbooleanyesnononeTrue when confirmation requires an immediate upgrade payment.
def:subscriptionChangeeffectiveAtstringyesnoformat:datetimeNo description in lexicon yet.
def:subscriptionChangecurrentPeriodEndstringnonoformat:datetimeNo description in lexicon yet.
def:subscriptionChangequoteHashstringyesnominLength:64, maxLength:64ATM-authored hash of the exact revision, CIDs, money, cadence, policy, and expiry shown to the payer.
def:subscriptionChangequoteExpiresAtstringyesnoformat:datetimeNo description in lexicon yet.
def:subscriptionChangeconfirmedAtstringnonoformat:datetimeNo description in lexicon yet.
def:subscriptionChangepaidAtstringnonoformat:datetimeNo description in lexicon yet.
def:subscriptionChangeappliedAtstringnonoformat:datetimeNo description in lexicon yet.
def:subscriptionChangefailureCodestringnonomaxLength:64No description in lexicon yet.
def:subscriptionChangecreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:subscriptionChangeupdatedAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.payment.proof2 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordcidstringyesnoformat:cidCanonical payment-v1 commitment CID string: lowercase unpadded base32 CIDv1, DAG-CBOR codec 0x71, SHA-256 with a 32-byte digest.
recordprofilestring<money-atmosphere-v1>yesnomaxLength:64Commitment-profile token identifying the exact byte-level commitment algorithm.
money.atmosphere.payment.receipt8 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordrecipientstringyesnoformat:didDID of the party receiving the payment.
recordvalueunion<money.atmosphere.payment.defs#fiatMinor | money.atmosphere.payment.defs#assetAtomic>yesnononeThe single authoritative value satisfied by this settlement: either fiat minor units or fungible-asset atomic units.
recordtransactionIdstringyesnominLength:1, maxLength:64Opaque public transaction identifier scoped to `transactionIdAuthority`, unique within that authority's namespace per payment, for deduplication; money-atmosphere-v1 requires the exact full-match grammar ^[\x21-\x7E]{1,64}$ (visible printable ASCII with no spaces).
recordtransactionIdAuthoritystringyesnoformat:didDID whose namespace owns `transactionId`.
recordsettledAtstringyesnoformat:datetimeUTC instant at which the canonical accepted-settlement authority asserts the settlement transition occurred (millisecond precision, Z suffix).
recordnoncestringyesnominLength:32, maxLength:32Exactly 32 lowercase hexadecimal characters (implementations MUST enforce ^[0-9a-f]{32}$) encoding 128 bits that MUST be generated by a cryptographically secure random generator, once per payment, never derived from other fields, never reused.
recordproofsarray<ref:com.atproto.repo.strongRef>yesnominLength:1, maxLength:10References to immutable money.atmosphere.payment.proof records in each attester's own repository.
recordentitlementsarray<ref:com.atproto.repo.strongRef>nonominLength:1, maxLength:100Optional purchase-context strongRefs whose exact committed URI and CID values, when a verifier accepts a trusted proof for the receipt, are bound to the historical settlement assertion so an application can use them as purchase evidence after separately authenticating and validating each referenced record; the payment proof does not prove the target exists or authenticate its author, repository, schema, or meaning, does not make a handle authority durable, and the references are not live entitlement grants or bearer credentials (any lexicon).
money.atmosphere.payment.recurringReceipt10 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordrecipientstringyesnoformat:didDID of the party receiving the payment.
recordvalueunion<money.atmosphere.payment.defs#fiatMinor | money.atmosphere.payment.defs#assetAtomic>yesnononeThe single authoritative value satisfied by the initial settlement that begins this recurring relationship, after applicable discounts and charged tax.
recordtransactionIdstringyesnominLength:1, maxLength:64Opaque public transaction identifier scoped to `transactionIdAuthority`, unique within that authority's namespace per payment, for deduplication; money-atmosphere-v1 requires the exact full-match grammar ^[\x21-\x7E]{1,64}$ (visible printable ASCII with no spaces).
recordtransactionIdAuthoritystringyesnoformat:didDID whose namespace owns `transactionId`.
recordsettledAtstringyesnoformat:datetimeUTC instant at which the canonical accepted-settlement authority asserts the recurring relationship's initial settlement occurred (millisecond precision, Z suffix).
recordnoncestringyesnominLength:32, maxLength:32Exactly 32 lowercase hexadecimal characters (implementations MUST enforce ^[0-9a-f]{32}$) encoding 128 bits that MUST be generated by a cryptographically secure random generator, once per payment, never derived from other fields, never reused.
recordintervalstring<day | week | month | year>yesnominLength:1, maxLength:16Billing interval unit accepted when the recurring relationship's initial settlement occurred (cadence snapshot).
recordintervalCountintegeryesnominimum:1, maximum:366Multiplier applied to `interval` (e.g.
recordproofsarray<ref:com.atproto.repo.strongRef>yesnominLength:1, maxLength:10References to immutable money.atmosphere.payment.proof records in each attester's own repository.
recordentitlementsarray<ref:com.atproto.repo.strongRef>nonominLength:1, maxLength:100Optional purchase-context strongRefs whose exact committed URI and CID values, when a verifier accepts a trusted proof for this recurring receipt, are bound only to the historical initial-settlement assertion for this recurring relationship so an application can use them as purchase evidence after separately authenticating and validating each referenced record; the proof establishes neither a renewal nor current subscription or term standing, does not prove the target exists or authenticate its author, repository, schema, or meaning, does not make a handle authority durable, and the references are not live entitlement grants or bearer credentials (any lexicon).
money.atmosphere.payment.refundPayment13 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputpaymentIdstringyesnomaxLength:256No description in lexicon yet.
inputinvoiceIdstringnonomaxLength:256Exact processor invoice cycle to refund for a subscription payment.
inputamountintegernonominimum:1Refund amount in the smallest currency unit.
inputreasonCodestring<requested-by-customer | duplicate | fraudulent>nonomaxLength:32Processor-aligned refund reason code.
inputreasonstringnonomaxLength:512Optional free-text reason surfaced in refund webhooks and dashboards.
inputcancelSubscriptionbooleannonononeFor subscription payments, also cancel the underlying subscription so it stops billing.
inputidempotencyKeystringnonomaxLength:256Optional caller-supplied idempotency key.
outputrefundIdstringyesnomaxLength:256No description in lexicon yet.
outputinvoiceIdstringnonomaxLength:256Exact processor invoice cycle the refund was applied to, when invoice-backed.
outputstatusstring<pending | succeeded | failed | canceled | requires-action>yesnomaxLength:64Processor refund status at creation time.
outputamountintegeryesnominimum:1Amount of this refund in the smallest currency unit.
outputamountRefundedTotalintegeryesnominimum:0Cumulative refunded amount for the exact invoice cycle when invoiceId is present; otherwise for the payment, in the smallest currency unit.
outputpaymentStatusstringyesnomaxLength:64No description in lexicon yet.
money.atmosphere.payment.registerCreatorProof9 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputpaymentIdstringyesnomaxLength:256No description in lexicon yet.
inputcreatorProofUristringyesnoformat:at-uriNo description in lexicon yet.
inputcreatorProofCidstringyesnoformat:cidNo description in lexicon yet.
inputproofLifecycleGenerationintegernonominimum:1, maximum:9007199254740991Exact verified broker-proof lifecycle generation from the delegated request.
inputproofLifecycleStatestring<verified>nonomaxLength:16Verified state paired with proofLifecycleGeneration.
outputpaymentIdstringyesnomaxLength:256No description in lexicon yet.
outputcreatorProofUristringyesnoformat:at-uriNo description in lexicon yet.
outputcreatorProofCidstringyesnoformat:cidNo description in lexicon yet.
outputalreadyRegisteredbooleannonononeNo description in lexicon yet.
money.atmosphere.payment.registerPayerRecord9 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputpaymentIdstringyesnomaxLength:256No description in lexicon yet.
inputpayerRecordUristringyesnoformat:at-uriNo description in lexicon yet.
inputpayerRecordCidstringyesnoformat:cidNo description in lexicon yet.
inputproofLifecycleGenerationintegernonominimum:1, maximum:9007199254740991Exact verified broker-proof lifecycle generation from the delegated request.
inputproofLifecycleStatestring<verified>nonomaxLength:16Verified state paired with proofLifecycleGeneration.
outputpaymentIdstringyesnomaxLength:256No description in lexicon yet.
outputpayerRecordUristringyesnoformat:at-uriNo description in lexicon yet.
outputpayerRecordCidstringyesnoformat:cidNo description in lexicon yet.
outputalreadyRegisteredbooleannonononeNo description in lexicon yet.
money.atmosphere.payment.verifyReceipt69 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsuristringyesnoformat:at-uriAT-URI of the exact receipt record to verify.
paramscidstringyesnoformat:cidCanonical AT repository-record CID of the exact generation being verified: lowercase unpadded base32 CIDv1, dag-cbor codec, sha2-256 with a 32-byte digest.
paramsattesterstringnonoformat:didOptional single-attester FILTER intersected with the service's fixed trust policy.
outputresultunion<#current | #cidMismatch | #absent | #unavailable>yesnononeExactly one variant.
def:currentblockref:#blockEvidenceyesnononeExact authenticated repository block evidence for this generation.
def:currentrecordunknownnonononeThe exact decoded receipt record.
def:currentauthorstringyesnoformat:didAuthor DID derived from authenticated provenance; the DID used in the commitment recomputation.
def:currentsettlementunion<#attested | #recordInvalid | #unattested | #invalidEvidence | #unsupportedProfile | #proofReplaced | #proofAbsent | #settlementUnavailable>yesnononeSettlement-evidence bundle (with lifecycle nested under #attested).
def:currentevidenceAsOfstringyesnoformat:datetimeThe evidence boundary used to produce this response.
def:attestedproofref:com.atproto.repo.strongRefyesnononeExact reference (uri + record CID) to the immutable proof record.
def:attestedproofRecordunknownyesnononeThe verifying proof record, verbatim.
def:attestedattesterstringyesnoformat:didAuthenticated controlling DID of the attesting repository.
def:attestedlifecycleunion<#lifecycleKnown | #lifecycleMissing | #lifecycleInvalid | #lifecycleUnavailable | #noLifecycleAuthority>yesnononeLifecycle-evidence bundle.
def:attestedlifecyclePathsarray<union<#pathValidated | #pathMissing | #pathInvalid | #pathUnresolved>>yesnomaxLength:10EXHAUSTIVE typed enumeration of EVERY logical lifecycle candidate path — the same set the aggregation evaluated (bounded by the receipt's proofs maxLength, which is also 10).
def:invalidEvidenceproofref:com.atproto.repo.strongRefyesnononeExact reference to the proof record that failed verification (deterministically selected when several fail; see COMMITMENT_PROFILE.md).
def:invalidEvidenceblockref:#blockEvidenceyesnononeExact authenticated proof block evidence.
def:invalidEvidencereasonstring<commitment-mismatch | proof-malformed>yesnomaxLength:64Machine-readable failure class (kebab-case).
def:settlementUnavailableattesterstringyesnoformat:didThe unreachable attesting repository’s DID (deterministically selected when several are unreachable).
def:settlementUnavailableretryablebooleanyesnononeOR of the transient classifications across ALL unreachable trusted attesters: true when at least one failure looked transient.
def:lifecycleKnownuristringyesnoformat:at-uriNo description in lexicon yet.
def:lifecycleKnowncidstringyesnoformat:cidRecord CID of the exact lifecycle generation this response reports.
def:lifecycleKnownrecordunknownyesnononeThe lifecycle record at the returned exact cid, verbatim.
def:lifecycleKnownblockref:#blockEvidenceyesnononeExact authenticated lifecycle block evidence.
def:lifecycleKnownproofref:com.atproto.repo.strongRefyesnononeThe lifecycle path's own verifying proof (its exact strongRef) — the path this evidence is bound to.
def:lifecycleUnavailableproofref:com.atproto.repo.strongRefyesnononeThe representative unresolved candidate path (deterministically selected by lowest bytewise path triple among ALL unresolved candidates).
def:lifecycleUnavailablecauseunion<#causeSidecarUnreachable | #causeProofUnreachable | #causeProofReplaced | #causeProofAbsent | #causeProofUnsupportedProfile | #causeProofInvalid>yesnononeWhy the representative path is unresolved — each cause variant schema-REQUIRES its own evidence.
def:lifecycleUnavailableretryablebooleanyesnononeAggregate retryability.
def:cidMismatchcurrentCidstringyesnoformat:cidThe record CID currently at the uri, from an authenticated current-head read.
def:cidMismatchevidenceAsOfstringyesnoformat:datetimeNo description in lexicon yet.
def:absentconfirmedAtstringyesnoformat:datetimeWhen current-repository absence was authoritatively confirmed.
def:unavailableretryablebooleanyesnononeNo description in lexicon yet.
def:unsupportedProfileproofref:com.atproto.repo.strongRefyesnononeExact reference to the unjudgeable proof (deterministically selected when several).
def:unsupportedProfileprofilestringyesnomaxLength:64The unrecognized profile token, verbatim.
def:lifecycleInvaliduristringyesnoformat:at-uriNo description in lexicon yet.
def:lifecycleInvalidcidstringyesnoformat:cidRecord CID of the exact offending generation.
def:lifecycleInvalidblockref:#blockEvidenceyesnononeExact authenticated lifecycle block evidence.
def:lifecycleInvalidreasonstring<record-invalid | wrong-proof-binding>yesnomaxLength:64Machine-readable failure class (kebab-case).
def:lifecycleInvalidproofref:com.atproto.repo.strongRefyesnononeThe candidate path (its proof strongRef) whose sidecar is unusable.
def:proofReplacedproofref:com.atproto.repo.strongRefyesnononeThe receipt’s pinned reference (deterministically selected when several; see COMMITMENT_PROFILE.md).
def:proofReplacedcurrentCidstringyesnoformat:cidThe record CID currently at the URI, from the authenticated current-head read.
def:proofAbsentproofref:com.atproto.repo.strongRefyesnononeThe receipt’s pinned reference (deterministically selected when several; see COMMITMENT_PROFILE.md).
def:proofAbsentconfirmedAtstringyesnoformat:datetimeWhen current absence was authoritatively confirmed.
def:lifecycleMissingconfirmedAtstringyesnoformat:datetimeWhen current absence was authoritatively confirmed.
def:lifecycleMissingproofref:com.atproto.repo.strongRefyesnononeThe candidate path (its proof strongRef) whose deterministic sidecar location was authoritatively empty.
def:causeSidecarUnreachabletransientbooleanyesnononeThis path's own failure classification per the profile's taxonomy.
def:causeProofUnreachabletransientbooleanyesnononeThis path's own failure classification per the profile's taxonomy.
def:causeProofReplacedcurrentCidstringyesnoformat:cidThe record CID currently at the URI.
def:causeProofAbsentconfirmedAtstringyesnoformat:datetimeWhen current absence was authoritatively confirmed.
def:causeProofUnsupportedProfileprofilestringyesnomaxLength:64The unrecognized profile token, verbatim.
def:causeProofInvalidreasonstring<commitment-mismatch | proof-malformed>yesnomaxLength:64Machine-readable failure class (kebab-case).
def:causeProofInvalidblockref:#blockEvidenceyesnononeExact authenticated proof block evidence.
def:pathValidatedproofref:com.atproto.repo.strongRefyesnononeThe path (its proof strongRef).
def:pathValidateduristringyesnoformat:at-uriNo description in lexicon yet.
def:pathValidatedcidstringyesnoformat:cidExact record CID observed at this path — the high-water candidate generation.
def:pathValidatedstatusstring<settled | refunded | partially-refunded | disputed | reversed>yesnomaxLength:64The record's status (kebab-case; open set — unknown values fail closed for authorization).
def:pathValidatedrevisionintegeryesnominimum:1, maximum:9007199254740991The record's per-path revision.
def:pathValidatedrecordunknownyesnononeThe lifecycle record at the returned cid, verbatim.
def:pathValidatedblockref:#blockEvidenceyesnononeExact authenticated lifecycle block evidence.
def:pathMissingproofref:com.atproto.repo.strongRefyesnononeThe path (its proof strongRef).
def:pathMissingconfirmedAtstringyesnoformat:datetimeWhen current absence was authoritatively confirmed.
def:pathInvalidproofref:com.atproto.repo.strongRefyesnononeThe path (its proof strongRef).
def:pathInvaliduristringyesnoformat:at-uriNo description in lexicon yet.
def:pathInvalidcidstringyesnoformat:cidRecord CID of the exact offending generation.
def:pathInvalidblockref:#blockEvidenceyesnononeExact authenticated lifecycle block evidence.
def:pathInvalidreasonstring<record-invalid | wrong-proof-binding>yesnomaxLength:64Machine-readable failure class (kebab-case).
def:blockEvidenceencodedBytesintegeryesnominimum:0, maximum:9007199254740991No description in lexicon yet.
def:blockEvidencebytesbytesnonomaxLength:65536No description in lexicon yet.
def:pathUnresolvedproofref:com.atproto.repo.strongRefyesnononeThe path (its proof strongRef).
def:pathUnresolvedcauseunion<#causeSidecarUnreachable | #causeProofUnreachable | #causeProofReplaced | #causeProofAbsent | #causeProofUnsupportedProfile | #causeProofInvalid>yesnononeWhy this path is unresolved — each cause variant schema-REQUIRES its own evidence.
money.atmosphere.payment.verifyRecord13 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramspaymentUristringyesnoformat:at-uriExact AT-URI of a network.attested.payment record in its payer-of-record repository.
paramspaymentCidstringyesnoformat:cidExact record CID paired with paymentUri.
paramsrecipientstringnonoformat:at-identifierOptional expected recipient DID or handle.
outputverifiedbooleanyesnononeTrue only when this exact payer record is indexed and backed by ATM's current active broker-proof generation.
outputpaymentref:com.atproto.repo.strongRefnonononeThe exact verified payment record generation.
outputpaymentRecordunion<network.attested.payment.oneTime | network.attested.payment.recurring | network.attested.payment.scheduled>nonononeVerbatim public payment record body for CID and attestation-CID verification.
outputpayerstringnonoformat:didPayer-of-record repository DID.
outputrecipientstringnonoformat:didNo description in lexicon yet.
outputpaymentTypestring<network.attested.payment.oneTime | network.attested.payment.recurring | network.attested.payment.scheduled>nonoformat:nsidNo description in lexicon yet.
outputattestationCidstringnonoformat:cidCID the broker proof attests after attested.network canonicalization.
outputbrokerstringnonoformat:didTrusted broker DID that authored brokerProof.
outputbrokerProofref:com.atproto.repo.strongRefnonononeExact current active network.attested.payment.proof generation.
outputbrokerProofRecordref:network.attested.payment.proofnonononeVerbatim public broker-proof body for independent lifecycle and CID verification.
money.atmosphere.price22 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordofferUristringyesnoformat:at-uriAT-URI of the offer record this price belongs to: a money.atmosphere.product, money.atmosphere.membership.tier, or tickets.atmosphere.ticketType in the same repo.
recordlookupKeystringnonomaxLength:200No description in lexicon yet.
recordnicknamestringnonomaxLength:1000, maxGraphemes:100No description in lexicon yet.
recordcurrencystringyesnominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code.
recordunitAmountintegernonominimum:0Amount in the smallest unit of currency (e.g.
recordcustomUnitAmountref:#customUnitAmountnonononeStripe-compatible customer-chosen amount configuration.
recordbillingSchemestring<per-unit | tiered>nonomaxLength:32Stripe-compatible billing scheme.
recordtiersModestring<graduated | volume>nonomaxLength:32Stripe-compatible tier mode when billingScheme is tiered.
recordtiersarray<ref:#tier>nonomaxLength:100Stripe-compatible quantity or usage tiers for future non-Supper apps.
recordtypestring<one-time | recurring>yesnomaxLength:16No description in lexicon yet.
recordrecurringref:#recurringnonononeNo description in lexicon yet.
recordarchivedbooleannonononeNo description in lexicon yet.
recordcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
recordupdatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:tierupTointegernonominimum:1Inclusive upper quantity bound for this tier, matching Stripe tiers[].up_to.
def:tierunitAmountintegernonominimum:0No description in lexicon yet.
def:tierflatAmountintegernonominimum:0No description in lexicon yet.
def:customUnitAmountenabledbooleanyesnononeNo description in lexicon yet.
def:customUnitAmountminimumintegernonominimum:1Minimum buyer-entered amount, in the smallest unit of currency.
def:customUnitAmountmaximumintegernonominimum:1Maximum buyer-entered amount, in the smallest unit of currency.
def:recurringintervalstring<day | week | month | year>yesnomaxLength:16No description in lexicon yet.
def:recurringintervalCountintegernonominimum:1, maximum:1095Number of interval units between billings (Stripe allows up to 3 years per cycle, e.g.
money.atmosphere.product13 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordtitlestringyesnominLength:1, maxLength:1000, maxGraphemes:100No description in lexicon yet.
recordskustringnonomaxLength:64No description in lexicon yet.
recorddefaultPriceref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
recordkindstring<physical | digital | commission | membership | service | ticket | support | other>yesnomaxLength:32Open coarse classification.
recorddescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
recordimageref:#imagenonononePublic product image.
recordvariantOfref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
recordarchivedbooleannonononeNo description in lexicon yet.
recordarchivedAtstringnonoformat:datetimeNo description in lexicon yet.
recordcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
recordupdatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:imageblobblobyesnononeNo description in lexicon yet.
def:imagealtstringnonomaxLength:3000, maxGraphemes:300No description in lexicon yet.
money.atmosphere.segments.listMembers11 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramssegmentKeystring<at-risk-churn | high-value | lapsed>yesnomaxLength:32Which computed cohort to list.
paramsenvironmentstring<test | live>nonomaxLength:16Which app environment to read.
paramslimitintegernonominimum:1, maximum:200No description in lexicon yet.
paramscursorstringnonomaxLength:1024No description in lexicon yet.
outputmembersarray<ref:#member>yesnononeNo description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
def:memberbuyerDidstringnonoformat:didBuyer DID.
def:memberemailMaskedstringnonomaxLength:320Pre-masked email hint (e.g.
def:membercurrencystringnonominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code.
def:memberamountintegernonominimum:0Display figure for the cohort (e.g.
def:membercomputedAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.segments.requestMessage5 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputsegmentKeystring<at-risk-churn | high-value | lapsed>yesnomaxLength:32Which computed cohort to message.
inputenvironmentstring<test | live>nonomaxLength:16Which app environment to target.
inputmessageTypestringyesnomaxLength:64App-defined opaque message identifier (e.g.
outputmemberCountintegeryesnominimum:0Number of cohort members at request time.
outputrequestedAtstringyesnoformat:datetimeNo description in lexicon yet.
money.atmosphere.temp.membership.defs5 fields
LocationFieldTypeRequiredNullableLimitsDescription
def:spaceBindingViewspacestringyesnomaxLength:1600Exact creator-owned money.atmosphere.temp.membership.access alpha space reference represented by this binding.
def:spaceBindingViewactivebooleanyesnononeWhether this exact space URI is currently registered and not terminally revoked.
def:spaceBindingViewmanagingAppstringyesnomaxLength:512Exact ATM DID service identifier associated with this pinned alpha profile.
def:spaceBindingViewprotocolProfilestringyesnomaxLength:256Pinned alpha profile, ATM overlay schema-set fingerprint, and key/data epoch governing this binding.
def:spaceBindingViewrevisionintegeryesnominimum:1Monotonic append-only revision for this exact space URI.
money.atmosphere.temp.membership.registerSpace4 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputspacestringyesnomaxLength:1600Creator-owned money.atmosphere.temp.membership.access alpha space. The parser additionally enforces the pinned proposal-0016 space-ref grammar, which the released Lexicon toolchain does not yet implement.
inputenvironmentstring<test | live>yesnomaxLength:8The environment is part of the immutable space boundary. Current ATM writers and the beta authority fail closed on values other than test and live; a future vocabulary extension requires a new versioned space key.
inputprogramref:com.atproto.repo.strongRefyesnononeExact creator-owned money.atmosphere.membership.program record.
inputtierref:com.atproto.repo.strongRefnonononeOptional exact creator-owned money.atmosphere.membership.tier record. The alpha binds program-wide or exact-tier spaces only; interoperable cumulative access is projected into every eligible exact-tier space rather than expressed as a tier-and-above flag.
money.atmosphere.temp.membership.revokeSpace1 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputspacestringyesnomaxLength:1600Creator-owned money.atmosphere.temp.membership.access alpha space. The parser additionally enforces the pinned proposal-0016 space-ref grammar, which the released Lexicon toolchain does not yet implement.

attested.network namespace

ATM consumes these schemas as an external spec. Do not publish or extend them from the ATM namespace.

NSIDKindRouteAuthStatusSummaryLinks
network.attested.payment.initiateprocedure/xrpc/network.attested.payment.initiateattested.network servicer authexternal specBegin a payment flow.
network.attested.payment.lookupquery/xrpc/network.attested.payment.lookupPublic or app-scoped readexternal specLook up verified payment records between a payer and a recipient.
network.attested.payment.oneTimerecordPDSPDS recordexternal specA one-time payment from a supporter to a creator.
network.attested.payment.proofrecordPDSPDS recordexternal specA remote attestation record stored in the attestor's repository (creator or broker).
network.attested.payment.recurringrecordPDSPDS recordexternal specA recurring payment commitment.
network.attested.payment.scheduledrecordPDSPDS recordexternal specA fixed series of payments.
network.attested.payment.statusquery/xrpc/network.attested.payment.statusPublic or app-scoped readexternal specCheck the status of a payment initiated via network.attested.payment.initiate.

attested.network fields

network.attested.payment.initiate3 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputproductstringyesnononeProduct identifier for the payment being initiated.
outputurlstringyesnoformat:uriURL to direct the payer to in a browser to complete the payment flow (entering payment details, confirming terms, etc).
outputtokenstringyesnononeOpaque token used to poll payment status via network.attested.payment.status.
network.attested.payment.lookup6 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramspayerstringyesnoformat:didDID of the payer (supporter).
paramsbrokersarray<string>nonononeOptional list of broker DIDs.
paramsrecipientstringyesnoformat:didDID of the recipient (creator).
paramspaymentTypestring<network.attested.payment.oneTime | network.attested.payment.recurring | network.attested.payment.scheduled>nonoformat:nsidOptional filter by payment collection.
paramsentitlementsarray<string>nonononeOptional list of entitlement AT-URIs.
outputpaymentsarray<union<network.attested.payment.oneTime | network.attested.payment.recurring | network.attested.payment.scheduled>>yesnononeList of verified payment records.
network.attested.payment.oneTime8 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordmemostringnonomaxLength:1024, maxGraphemes:256Optional note from the supporter.
recordtxnidstringyesnomaxLength:64Unique transaction identifier for deduplication.
recordamountintegeryesnominimum:1Payment amount in the smallest unit of the given currency (e.g.
recordsubjectstringyesnoformat:didDID of the creator receiving payment.
recordcurrencystringyesnominLength:3, maxLength:3ISO 4217 currency code (e.g.
recordcreatedAtstringyesnoformat:datetimeTimestamp of record creation.
recordsignaturesarray<ref:com.atproto.repo.strongRef>nonononeAttestation entries.
recordentitlementsarray<ref:com.atproto.repo.strongRef>nonononeOptional list of strong references to records representing goods or services the payer is entitled to as a result of this payment.
network.attested.payment.proof2 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordcidstringyesnoformat:cidAttestation CID computed per the badge.blue spec from the payment record, metadata, and repository DID.
recordstatusstringnonononeOptional status indicator for the attestation (implementation-defined).
network.attested.payment.recurring9 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordunitstring<monthly | quarterly | semiannual | yearly>yesnononeBilling period.
recordtxnidstringyesnomaxLength:64Unique transaction identifier for deduplication.
recordamountintegeryesnominimum:1Amount per billing period in the smallest unit of the given currency.
recordsubjectstringyesnoformat:didDID of the creator receiving payment.
recordcurrencystringyesnominLength:3, maxLength:3ISO 4217 currency code (e.g.
recordcreatedAtstringyesnoformat:datetimeTimestamp of initial subscription creation.
recordfrequencyintegernonominimum:1Billing frequency multiplier applied to the unit (e.g.
recordsignaturesarray<ref:com.atproto.repo.strongRef>nonononeAttestation entries.
recordentitlementsarray<ref:com.atproto.repo.strongRef>nonononeOptional list of strong references to records representing goods or services the payer is entitled to as a result of this payment.
network.attested.payment.scheduled9 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordunitstring<monthly | quarterly | semiannual | yearly>yesnononeInterval between scheduled payments.
recordcountintegeryesnominimum:2, maximum:60Total number of scheduled payments.
recordtxnidstringyesnomaxLength:64Unique transaction identifier for deduplication.
recordamountintegeryesnominimum:1Amount per payment in the smallest unit of the given currency.
recordsubjectstringyesnoformat:didDID of the creator receiving payment.
recordcurrencystringyesnominLength:3, maxLength:3ISO 4217 currency code (e.g.
recordcreatedAtstringyesnoformat:datetimeTimestamp of schedule creation; also the first payment date.
recordsignaturesarray<ref:com.atproto.repo.strongRef>nonononeAttestation entries.
recordentitlementsarray<ref:com.atproto.repo.strongRef>nonononeOptional list of strong references to records representing goods or services the payer is entitled to as a result of this payment.
network.attested.payment.status3 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramstokenstringyesnononeToken returned from network.attested.payment.initiate.
outputrefref:com.atproto.repo.strongRefnonononePresent when status is 'completed'.
outputstatusstring<pending | completed | failed>yesnononeCurrent payment status.

Tickets namespace

Tickets contracts live in the shared local lexicon set so ATM docs can reference ticket payments and app integrations without becoming the consumer-facing event app.

NSIDKindRouteAuthStatusSummaryLinks
tickets.atmosphere.acceptCollaborationprocedure/xrpc/tickets.atmosphere.acceptCollaborationService-authbeta draftAccept a pending co-organizer invitation (dual-consent: app service-auth plus the co-organizer's own assertion).
tickets.atmosphere.archiveTicketTypeprocedure/xrpc/tickets.atmosphere.archiveTicketTypeService-authbeta draftArchive an organizer-owned ATM ticket type.
tickets.atmosphere.cancelTicketEventprocedure/xrpc/tickets.atmosphere.cancelTicketEventService-authbeta draftIrreversibly cancel an ATM ticketed event.
tickets.atmosphere.checkInListrecordPDSPDS recordbeta draftPublic check-in list label for an event.
tickets.atmosphere.checkInTicketprocedure/xrpc/tickets.atmosphere.checkInTicketService-authbeta draftVerify and check in a private ATM Tickets scan token.
tickets.atmosphere.claimFreeTicketprocedure/xrpc/tickets.atmosphere.claimFreeTicketService-authbeta draftAtomically claim zero-price scarce tickets for a verified buyer without checkout redirect.
tickets.atmosphere.claimWaitlistOfferprocedure/xrpc/tickets.atmosphere.claimWaitlistOfferService-authbeta draftClaim a ticket waitlist OFFER by starting checkout against its already-reserved offer hold.
tickets.atmosphere.createTicketEventprocedure/xrpc/tickets.atmosphere.createTicketEventService-authbeta draftCreate or upsert an organizer-owned ATM ticketed-event config shell for a public event.
tickets.atmosphere.createTicketHoldprocedure/xrpc/tickets.atmosphere.createTicketHoldService-authbeta draftAtomically reserve ticket capacity and return an ATM checkout URL.
tickets.atmosphere.createTicketTypeprocedure/xrpc/tickets.atmosphere.createTicketTypeService-authbeta draftCreate an organizer-owned ATM ticket type and optional public ticket-type record refs for an event.
tickets.atmosphere.defsdefs/xrpc/tickets.atmosphere.defsApp service-authbeta draftNo description in lexicon yet.
tickets.atmosphere.getTicketAvailabilityquery/xrpc/tickets.atmosphere.getTicketAvailabilityService-authbeta draftRead app-scoped ticket availability derived from private ATM holds and issued tickets.
tickets.atmosphere.inviteOrganizerCollaborationprocedure/xrpc/tickets.atmosphere.inviteOrganizerCollaborationService-authbeta draftInvite a co-organizer to operationally co-run a ticketed event (Part A: operational delegation only).
tickets.atmosphere.joinWaitlistprocedure/xrpc/tickets.atmosphere.joinWaitlistService-authbeta draftJoin the FIFO waitlist for a sold-out ticket type.
tickets.atmosphere.listBuyerTicketsquery/xrpc/tickets.atmosphere.listBuyerTicketsService-authbeta draftList app-scoped issued tickets for a buyer or payment.
tickets.atmosphere.listCollaborationsprocedure/xrpc/tickets.atmosphere.listCollaborationsPublic or app-scoped readbeta draftList organizer collaborations for an event (authorized via event control) or the calling co-organizer's own collaboration rows.
tickets.atmosphere.listEventWaitlistprocedure/xrpc/tickets.atmosphere.listEventWaitlistPublic or app-scoped readbeta draftList an organizer's event waitlist: a per-ticket-type rollup plus the paginated FIFO queue, each entry with its position and current offer status.
tickets.atmosphere.listOrganizerTicketsquery/xrpc/tickets.atmosphere.listOrganizerTicketsService-authbeta draftList app-scoped issued tickets for an organizer or event.
tickets.atmosphere.listPublicConfigquery/xrpc/tickets.atmosphere.listPublicConfigPublic or app-scoped readbeta draftList indexed public tickets.atmosphere ticket config records.
tickets.atmosphere.listTicketFormResponsesprocedure/xrpc/tickets.atmosphere.listTicketFormResponsesPublic or app-scoped readbeta draftList the full private attendee form responses for an organizer's own event.
tickets.atmosphere.releaseFreeTicketprocedure/xrpc/tickets.atmosphere.releaseFreeTicketService-authbeta draftRelease a buyer's free-claim tickets back to capacity — the inverse of claimFreeTicket for un-RSVP flows.
tickets.atmosphere.releaseTicketHoldprocedure/xrpc/tickets.atmosphere.releaseTicketHoldService-authbeta draftRelease an active ticket hold before checkout completes.
tickets.atmosphere.revokeCollaborationprocedure/xrpc/tickets.atmosphere.revokeCollaborationService-authbeta draftRevoke a co-organizer collaboration.
tickets.atmosphere.setEventCapacityprocedure/xrpc/tickets.atmosphere.setEventCapacityService-authbeta draftSet, change, or clear the shared EVENT capacity — one pool every ticket type of the event draws from, in addition to any per-type caps.
tickets.atmosphere.setTicketTypeFormprocedure/xrpc/tickets.atmosphere.setTicketTypeFormApp service-authbeta draftSet (or clear) the private per-ticket-type attendee form for a ticketed event.
tickets.atmosphere.ticketedEventrecordPDSPDS recordbeta draftOrganizer-published ticketing anchor for an event: marks the event as ticketed and optionally discloses its ticket types in display order.
tickets.atmosphere.ticketTyperecordPDSPDS recordbeta draftOrganizer-owned portable ticket type metadata for an AT Protocol event.
tickets.atmosphere.updateTicketEventprocedure/xrpc/tickets.atmosphere.updateTicketEventService-authbeta draftUpdate an app-scoped ATM ticketed-event config shell for a public event.
tickets.atmosphere.updateTicketTypeprocedure/xrpc/tickets.atmosphere.updateTicketTypeService-authbeta draftUpdate organizer-owned ATM ticket type metadata.
tickets.atmosphere.verifyTicketprocedure/xrpc/tickets.atmosphere.verifyTicketService-authbeta draftVerify a private ATM Tickets scan token without mutating check-in state.

Tickets fields

tickets.atmosphere.acceptCollaboration5 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputcollaborationIdstringyesnominLength:1, maxLength:300No description in lexicon yet.
inputcoOrganizerDidstringyesnoformat:didThe accepting co-organizer.
inputcoOrganizerAssertionJwtstringyesnomaxLength:8192REQUIRED short-lived user service-auth JWT issued BY coOrganizerDid to ATM, scoped to tickets.atmosphere.acceptCollaboration.
outputcollaborationref:tickets.atmosphere.defs#organizerCollaborationyesnononeNo description in lexicon yet.
tickets.atmosphere.archiveTicketType7 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputticketTypeIdstringyesnominLength:1, maxLength:300No description in lexicon yet.
inputorganizerDidstringnonoformat:didThe current primary organizer authorizing this mutation.
inputorganizerAssertionJwtstringnonomaxLength:8192Optional only for an app archiving its own event's ticket type.
outputticketTyperef:#ticketTypeyesnononeNo description in lexicon yet.
def:ticketTypeidstringyesnomaxLength:300No description in lexicon yet.
def:ticketTypestatusstring<archived>yesnomaxLength:32No description in lexicon yet.
tickets.atmosphere.cancelTicketEvent13 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputeventIdstringyesnominLength:1, maxLength:300No description in lexicon yet.
inputorganizerDidstringnonoformat:didThe current primary organizer authorizing cancellation.
inputorganizerAssertionJwtstringnonomaxLength:8192Optional only for an app canceling its own event.
inputreasonstringyesnominLength:3, maxLength:10000, maxGraphemes:1000No description in lexicon yet.
outputcancellationref:#cancellationyesnononeNo description in lexicon yet.
def:cancellationidstringyesnomaxLength:300No description in lexicon yet.
def:cancellationeventIdstringyesnomaxLength:300No description in lexicon yet.
def:cancellationstatusstring<requested | already-canceled>yesnomaxLength:32No description in lexicon yet.
def:cancellationticketCountintegeryesnominimum:0No description in lexicon yet.
def:cancellationpaidTicketCountintegeryesnominimum:0No description in lexicon yet.
def:cancellationfreeTicketCountintegeryesnominimum:0No description in lexicon yet.
def:cancellationreleasedHoldCountintegeryesnominimum:0No description in lexicon yet.
tickets.atmosphere.checkInList5 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordeventref:com.atproto.repo.strongRefyesnononeCID-pinned strongRef to the canonical public community.lexicon.calendar.event record.
recordnamestringyesnominLength:1, maxLength:1000, maxGraphemes:100No description in lexicon yet.
recordarchivedbooleannonononeTrue when this check-in list is archived.
recordcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
recordupdatedAtstringnonoformat:datetimeNo description in lexicon yet.
tickets.atmosphere.checkInTicket8 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputticketTokenstringyesnominLength:1, maxLength:4000No description in lexicon yet.
inputcheckInListIdstringnonominLength:1, maxLength:300No description in lexicon yet.
inputscannerDidstringnonoformat:didApp-asserted staff DID recorded in the private check-in audit log.
inputmetadataunknownnonononeNo description in lexicon yet.
outputstatusstring<checked-in | already-checked-in | not-valid>yesnomaxLength:32No description in lexicon yet.
outputcheckedInAtstringnonoformat:datetimeNo description in lexicon yet.
outputticketref:tickets.atmosphere.defs#issuedTicketnonononeNo description in lexicon yet.
tickets.atmosphere.claimFreeTicket18 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputeventIdstringnonominLength:1, maxLength:300No description in lexicon yet.
inputeventUristringnonoformat:at-uriNo description in lexicon yet.
inputbuyerDidstringyesnoformat:didNo description in lexicon yet.
inputbuyerAssertionJwtstringyesnomaxLength:8192Required short-lived user service-auth JWT from buyerDid to ATM, scoped to tickets.atmosphere.claimFreeTicket.
inputcustomerEmailstringnonomaxLength:320Required delivery address for every new free-ticket claim.
inputcustomerNamestringnonominLength:1, maxLength:300Private attendee display name supplied by the buyer/app.
inputeventCodestringnonominLength:3, maxLength:64Preferred buyer-entered event code.
inputitemsarray<ref:tickets.atmosphere.defs#ticketHoldItemRequest>yesnominLength:1, maxLength:20No description in lexicon yet.
inputaccessCodestringnonominLength:3, maxLength:64Legacy visibility-only input.
inputidempotencyKeystringnonominLength:1, maxLength:200No description in lexicon yet.
inputmetadataunknownnonononeNo description in lexicon yet.
outputclaimIdstringyesnomaxLength:300No description in lexicon yet.
outputholdIdstringyesnomaxLength:300No description in lexicon yet.
outputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
outputitemsarray<ref:tickets.atmosphere.defs#ticketHoldItem>yesnominLength:1, maxLength:20No description in lexicon yet.
outputticketsarray<ref:tickets.atmosphere.defs#issuedTicketWithContext>yesnominLength:1, maxLength:1000No description in lexicon yet.
outputreusedbooleannonononeNo description in lexicon yet.
tickets.atmosphere.claimWaitlistOffer16 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputwaitlistIdstringyesnominLength:1, maxLength:300No description in lexicon yet.
inputbuyerDidstringnonoformat:didNo description in lexicon yet.
inputbuyerAssertionJwtstringnonomaxLength:8192Required whenever buyerDid is supplied: a short-lived user service-auth JWT from buyerDid to ATM, scoped to tickets.atmosphere.claimWaitlistOffer.
inputcustomerEmailstringnonomaxLength:320Private delivery/receipt hint.
inputcustomerNamestringnonominLength:1, maxLength:300Private attendee name for the issued ticket.
inputreturnUrlstringnonoformat:uriNo description in lexicon yet.
inputcancelUrlstringnonoformat:uriNo description in lexicon yet.
outputwaitlistIdstringyesnomaxLength:300No description in lexicon yet.
outputholdIdstringyesnomaxLength:300No description in lexicon yet.
outputtokenstringyesnomaxLength:500No description in lexicon yet.
outputurlstringyesnoformat:uriNo description in lexicon yet.
outputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
outputexpiresAtstringyesnoformat:datetimeNo description in lexicon yet.
outputamountintegeryesnominimum:0No description in lexicon yet.
outputcurrencystringyesnominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code matching money.atmosphere.price.
tickets.atmosphere.createTicketEvent8 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputorganizerDidstringyesnoformat:didNo description in lexicon yet.
inputorganizerAssertionJwtstringnonomaxLength:8192Optional short-lived user service-auth JWT from organizerDid to ATM, scoped to tickets.atmosphere.createTicketEvent.
inputeventref:tickets.atmosphere.defs#eventInputyesnononeNo description in lexicon yet.
inputstatusstring<active | paused | archived>nonomaxLength:32ATM ticket-sales lifecycle state.
inputeventCapacityintegernonominimum:1, maximum:250000Optional creation-time convenience for tickets.atmosphere.setEventCapacity: the shared capacity every ticket type of this event draws from.
inputmetadataunknownnonononeNo description in lexicon yet.
outputeventref:tickets.atmosphere.defs#eventSummaryyesnononeNo description in lexicon yet.
tickets.atmosphere.createTicketHold24 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputeventIdstringnonominLength:1, maxLength:300No description in lexicon yet.
inputeventUristringnonoformat:at-uriNo description in lexicon yet.
inputbuyerDidstringnonoformat:didSigned-in buyer DID.
inputbuyerAssertionJwtstringnonomaxLength:8192Short-lived user service-auth JWT from buyerDid to ATM, scoped to lxm money.atmosphere.payment.assertPayer.
inputcustomerEmailstringnonomaxLength:320Private delivery/receipt hint for ticket emails.
inputcustomerNamestringnonominLength:1, maxLength:300Private attendee display name supplied by the buyer/app.
inputeventCodestringnonominLength:3, maxLength:64Preferred buyer-entered event code.
inputofferCodestringnonominLength:3, maxLength:64Legacy discount-only input.
inputaccessCodestringnonominLength:3, maxLength:64Legacy visibility-only input.
inputitemsarray<ref:tickets.atmosphere.defs#ticketHoldItemRequest>yesnominLength:1, maxLength:20No description in lexicon yet.
inputreturnUrlstringnonoformat:uriNo description in lexicon yet.
inputcancelUrlstringnonoformat:uriNo description in lexicon yet.
inputidempotencyKeystringnonominLength:1, maxLength:200No description in lexicon yet.
inputmetadataunknownnonononeNo description in lexicon yet.
outputholdIdstringyesnomaxLength:300No description in lexicon yet.
outputtokenstringyesnomaxLength:500No description in lexicon yet.
outputurlstringyesnoformat:uriNo description in lexicon yet.
outputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
outputexpiresAtstringyesnoformat:datetimeNo description in lexicon yet.
outputamountintegeryesnominimum:0Final buyer checkout amount in minor units after any order-level offer and passed-through ATM ticket fee.
outputcurrencystringyesnominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code matching money.atmosphere.price.
outputitemsarray<ref:tickets.atmosphere.defs#ticketHoldItem>yesnominLength:1, maxLength:20No description in lexicon yet.
outputreusedbooleannonononeNo description in lexicon yet.
tickets.atmosphere.createTicketType18 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputorganizerDidstringyesnoformat:didNo description in lexicon yet.
inputorganizerAssertionJwtstringnonomaxLength:8192Optional short-lived user service-auth JWT from organizerDid to ATM, scoped to tickets.atmosphere.createTicketType.
inputeventref:tickets.atmosphere.defs#eventInputyesnononeNo description in lexicon yet.
inputtitlestringyesnominLength:1, maxLength:1000, maxGraphemes:100No description in lexicon yet.
inputdescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
inputcurrencystringyesnominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code matching money.atmosphere.price.
inputunitAmountintegeryesnominimum:0, maximum:2000000Amount in the smallest unit of currency.
inputmaxPerOrderintegernonominimum:1, maximum:50No description in lexicon yet.
inputsaleStartsAtstringnonoformat:datetimeNo description in lexicon yet.
inputsaleEndsAtstringnonoformat:datetimeNo description in lexicon yet.
inputticketTypeRefref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
inputdefaultPriceref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
inputmetadataunknownnonononeNo description in lexicon yet.
inputvisibilitystring<public | hidden>nonomaxLength:16Private buyer-facing visibility (default public).
inputquantityTotalintegernonominimum:1, maximum:250000Optional per-type cap.
outputeventref:tickets.atmosphere.defs#eventSummaryyesnononeNo description in lexicon yet.
outputticketTyperef:tickets.atmosphere.defs#ticketTypeSummaryyesnononeNo description in lexicon yet.
tickets.atmosphere.defs108 fields
LocationFieldTypeRequiredNullableLimitsDescription
def:eventInputuristringyesnoformat:at-uriAT URI of the canonical public community.lexicon.calendar.event record.
def:eventInputcidstringnonoformat:cidCID of the exact public event record revision represented by this snapshot.
def:eventInputtitlestringyesnominLength:1, maxLength:3000, maxGraphemes:300No description in lexicon yet.
def:eventInputstartsAtstringnonoformat:datetimeNo description in lexicon yet.
def:eventInputimageUrlstringnonoformat:uriNo description in lexicon yet.
def:ticketHoldItemRequestticketTypeIdstringyesnominLength:1, maxLength:300No description in lexicon yet.
def:ticketHoldItemRequestquantityintegeryesnominimum:1, maximum:50No description in lexicon yet.
def:ticketHoldItemticketTypeIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketHoldItemtitlestringyesnomaxLength:1000, maxGraphemes:100No description in lexicon yet.
def:ticketHoldItemquantityintegeryesnominimum:1, maximum:50No description in lexicon yet.
def:ticketHoldItemunitAmountintegeryesnominimum:0No description in lexicon yet.
def:ticketHoldItemcurrencystringyesnominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code matching money.atmosphere.price.
def:ticketHoldItemticketTypeRefref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:ticketHoldItemdefaultPriceref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:ticketTypeSummaryidstringyesnomaxLength:300No description in lexicon yet.
def:ticketTypeSummaryeventIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketTypeSummarytitlestringyesnomaxLength:1000, maxGraphemes:100No description in lexicon yet.
def:ticketTypeSummaryquantityTotalintegernonominimum:1, maximum:250000The type's own configured cap.
def:ticketTypeSummarycurrencystringyesnominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code matching money.atmosphere.price.
def:ticketTypeSummaryunitAmountintegeryesnominimum:0No description in lexicon yet.
def:ticketTypeSummarystatusstring<active | paused | archived>yesnomaxLength:32No description in lexicon yet.
def:ticketTypeSummaryticketTypeRefref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:ticketTypeSummarydefaultPriceref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:eventSummaryidstringyesnomaxLength:300ATM's private identifier for this ticketed-event config.
def:eventSummaryuristringyesnoformat:at-uriAT URI of the canonical public event record.
def:eventSummarycidstringnonoformat:cidCID of the exact public event record revision, when known.
def:eventSummaryeventRefref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:eventSummarytitlestringnonomaxLength:3000, maxGraphemes:300No description in lexicon yet.
def:eventSummarystartsAtstringnonoformat:datetimeNo description in lexicon yet.
def:eventSummarymanageUrlstringnonoformat:uriStable ATM organizer-console locator for this canonical event.
def:eventSummaryscannerUrlstringnonoformat:uriStable first-party ATM scanner locator for this canonical event.
def:organizerCollaborationidstringyesnomaxLength:300No description in lexicon yet.
def:organizerCollaborationeventIdstringyesnomaxLength:300No description in lexicon yet.
def:organizerCollaborationprimaryOrganizerDidstringyesnoformat:didNo description in lexicon yet.
def:organizerCollaborationcoOrganizerDidstringyesnoformat:didNo description in lexicon yet.
def:organizerCollaborationrolestring<co-organizer>yesnomaxLength:32No description in lexicon yet.
def:organizerCollaborationstatusstring<pending | accepted | revoked>yesnomaxLength:16No description in lexicon yet.
def:organizerCollaborationrevenueShareBpsintegernonominimum:0, maximum:10000Recorded revenue-share INTENT in basis points, for MANUAL RECONCILIATION ONLY.
def:organizerCollaborationinvitedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:organizerCollaborationacceptedAtstringnonoformat:datetimeNo description in lexicon yet.
def:organizerCollaborationrevokedAtstringnonoformat:datetimeNo description in lexicon yet.
def:ticketAvailabilityticketTypeIdstringyesnomaxLength:300No description in lexicon yet.
def:ticketAvailabilityeventIdstringnonomaxLength:300No description in lexicon yet.
def:ticketAvailabilitytitlestringyesnomaxLength:1000, maxGraphemes:100No description in lexicon yet.
def:ticketAvailabilitydescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
def:ticketAvailabilitycurrencystringnonominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code matching money.atmosphere.price.
def:ticketAvailabilityunitAmountintegernonominimum:0No description in lexicon yet.
def:ticketAvailabilitystatusstring<available | sold-out | not-on-sale | hidden | unavailable>yesnomaxLength:32No description in lexicon yet.
def:ticketAvailabilityvisibilitystring<hidden>nonomaxLength:16Present only for hidden ticket types revealed by the caller's access code, so an app can tell which entries the code unlocked.
def:ticketAvailabilityavailableQuantityintegernonominimum:0Effective availability (min across the type's capacity pools).
def:ticketAvailabilityquantityTotalintegernonominimum:1, maximum:250000The type's OWN configured cap, for 'X of Y left' display.
def:ticketAvailabilityheldQuantityintegernonominimum:0Quantity currently reserved by active holds.
def:ticketAvailabilitysoldQuantityintegernonominimum:0Quantity already issued/sold.
def:ticketAvailabilitymaxPerOrderintegeryesnominimum:1, maximum:50No description in lexicon yet.
def:ticketAvailabilitysaleStartsAtstringnonoformat:datetimeNo description in lexicon yet.
def:ticketAvailabilitysaleEndsAtstringnonoformat:datetimeNo description in lexicon yet.
def:ticketPresentationiconUrlstringnonoformat:uriPass icon URL.
def:ticketPresentationqrref:#ticketPresentationQryesnononeNo description in lexicon yet.
def:ticketPresentationappref:tickets.atmosphere.defs#brandyesnononeNo description in lexicon yet.
def:ticketPresentationorganizerref:tickets.atmosphere.defs#brandyesnononeNo description in lexicon yet.
def:ticketPresentationeventref:#ticketPresentationEventyesnononeNo description in lexicon yet.
def:ticketPresentationticketTyperef:#ticketPresentationTicketTypeyesnononeNo description in lexicon yet.
def:branddidstringyesnoformat:didNo description in lexicon yet.
def:brandhandlestringnonoformat:handleNo description in lexicon yet.
def:brandnamestringyesnomaxLength:300No description in lexicon yet.
def:brandavatarUrlstringnonoformat:uriNo description in lexicon yet.
def:issuedTicketidstringyesnomaxLength:300No description in lexicon yet.
def:issuedTicketeventIdstringyesnomaxLength:300No description in lexicon yet.
def:issuedTicketticketTypeIdstringyesnomaxLength:300No description in lexicon yet.
def:issuedTicketpaymentIdstringnonomaxLength:300No description in lexicon yet.
def:issuedTicketclaimIdstringnonomaxLength:300No description in lexicon yet.
def:issuedTicketenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
def:issuedTicketownerDidstringnonoformat:didNo description in lexicon yet.
def:issuedTicketstatusstring<active | voided | refunded>yesnomaxLength:32No description in lexicon yet.
def:issuedTicketticketNumberstringyesnomaxLength:300No description in lexicon yet.
def:issuedTicketeventRefref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:issuedTicketticketTypeRefref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:issuedTicketdefaultPriceref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:issuedTicketscanTokenstringnonomaxLength:4000Private scan token returned only to authorized clients.
def:issuedTicketscanUrlstringnonoformat:uriNo description in lexicon yet.
def:issuedTicketcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:issuedTicketupdatedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:issuedTicketWithContextidstringyesnomaxLength:300No description in lexicon yet.
def:issuedTicketWithContexteventIdstringyesnomaxLength:300No description in lexicon yet.
def:issuedTicketWithContextticketTypeIdstringyesnomaxLength:300No description in lexicon yet.
def:issuedTicketWithContextpaymentIdstringnonomaxLength:300No description in lexicon yet.
def:issuedTicketWithContextclaimIdstringnonomaxLength:300No description in lexicon yet.
def:issuedTicketWithContextenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
def:issuedTicketWithContextownerDidstringnonoformat:didNo description in lexicon yet.
def:issuedTicketWithContextstatusstring<active | voided | refunded>yesnomaxLength:32No description in lexicon yet.
def:issuedTicketWithContextticketNumberstringyesnomaxLength:300No description in lexicon yet.
def:issuedTicketWithContexteventRefref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:issuedTicketWithContextticketTypeRefref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:issuedTicketWithContextdefaultPriceref:com.atproto.repo.strongRefnonononeNo description in lexicon yet.
def:issuedTicketWithContextscanTokenstringnonomaxLength:4000No description in lexicon yet.
def:issuedTicketWithContextscanUrlstringnonoformat:uriNo description in lexicon yet.
def:issuedTicketWithContextcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:issuedTicketWithContextupdatedAtstringyesnoformat:datetimeNo description in lexicon yet.
def:issuedTicketWithContextpresentationref:tickets.atmosphere.defs#ticketPresentationnonononeNo description in lexicon yet.
def:issuedTicketWithContexteventref:tickets.atmosphere.defs#eventSummarynonononeNo description in lexicon yet.
def:issuedTicketWithContextticketTyperef:tickets.atmosphere.defs#ticketTypeSummarynonononeNo description in lexicon yet.
def:ticketPresentationQrenabledbooleanyesnononeNo description in lexicon yet.
def:ticketPresentationQrlabelstringyesnomaxLength:100No description in lexicon yet.
def:ticketPresentationEventuristringyesnoformat:at-uriAT URI of the canonical public event record.
def:ticketPresentationEventtitlestringyesnomaxLength:3000, maxGraphemes:300No description in lexicon yet.
def:ticketPresentationEventstartsAtstringnonoformat:datetimeNo description in lexicon yet.
def:ticketPresentationEventimageUrlstringnonoformat:uriNo description in lexicon yet.
def:ticketPresentationTicketTypetitlestringyesnomaxLength:1000, maxGraphemes:100No description in lexicon yet.
tickets.atmosphere.getTicketAvailability7 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
paramseventIdstringnonominLength:1, maxLength:300No description in lexicon yet.
paramseventUristringnonoformat:at-uriNo description in lexicon yet.
paramseventCodestringnonominLength:3, maxLength:64Preferred buyer-entered event code.
paramsaccessCodestringnonominLength:3, maxLength:64Legacy visibility-only input.
outputeventref:tickets.atmosphere.defs#eventSummarynonononeNo description in lexicon yet.
outputticketTypesarray<ref:tickets.atmosphere.defs#ticketAvailability>yesnomaxLength:250No description in lexicon yet.
tickets.atmosphere.inviteOrganizerCollaboration8 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputeventIdstringnonominLength:1, maxLength:300No description in lexicon yet.
inputeventUristringnonoformat:at-uriNo description in lexicon yet.
inputorganizerDidstringyesnoformat:didThe inviting PRIMARY organizer (or an already-accepted co-organizer) authorizing this invite.
inputorganizerAssertionJwtstringnonomaxLength:8192Optional short-lived user service-auth JWT from organizerDid to ATM, scoped to tickets.atmosphere.inviteOrganizerCollaboration.
inputcoOrganizerDidstringyesnoformat:didThe DID being invited to co-organize the event.
inputrevenueShareBpsintegernonominimum:0, maximum:10000OPTIONAL recorded revenue-share INTENT in basis points (0..10000), for MANUAL RECONCILIATION ONLY between the primary organizer and the co-organizer.
outputcollaborationref:tickets.atmosphere.defs#organizerCollaborationyesnononeNo description in lexicon yet.
tickets.atmosphere.joinWaitlist15 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputeventIdstringnonominLength:1, maxLength:300No description in lexicon yet.
inputeventUristringnonoformat:at-uriNo description in lexicon yet.
inputticketTypeIdstringyesnominLength:1, maxLength:300No description in lexicon yet.
inputbuyerDidstringnonoformat:didNo description in lexicon yet.
inputbuyerAssertionJwtstringnonomaxLength:8192Required whenever buyerDid is supplied: a short-lived user service-auth JWT from buyerDid to ATM, scoped to tickets.atmosphere.joinWaitlist.
inputcustomerEmailstringnonomaxLength:320Private delivery hint for the offer email.
inputquantityintegernonominimum:1, maximum:50No description in lexicon yet.
outputwaitlistIdstringyesnomaxLength:300No description in lexicon yet.
outputstatusstring<waiting | offered | claimed | expired | released>yesnomaxLength:16No description in lexicon yet.
outputpositionintegeryesnominimum:0No description in lexicon yet.
outputquantityintegeryesnominimum:1No description in lexicon yet.
outputeventIdstringyesnomaxLength:300No description in lexicon yet.
outputticketTypeIdstringyesnomaxLength:300No description in lexicon yet.
outputreusedbooleannonononeNo description in lexicon yet.
tickets.atmosphere.listBuyerTickets7 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
paramsbuyerstringnonoformat:at-identifierDID or handle of the ticket owner.
paramspaymentIdstringnonominLength:1, maxLength:300No description in lexicon yet.
paramslimitintegernonominimum:1, maximum:100No description in lexicon yet.
paramscursorstringnonomaxLength:1024No description in lexicon yet.
outputticketsarray<ref:tickets.atmosphere.defs#issuedTicketWithContext>yesnomaxLength:100No description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
tickets.atmosphere.listCollaborations10 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputeventIdstringnonominLength:1, maxLength:300No description in lexicon yet.
inputorganizerDidstringnonoformat:didWhen listing an event's collaborations, the requesting organizer (verified via event control).
inputorganizerAssertionJwtstringnonomaxLength:8192No description in lexicon yet.
inputcoOrganizerDidstringnonoformat:didWhen listing a co-organizer's OWN collaborations, their DID (verified via coOrganizerAssertionJwt).
inputcoOrganizerAssertionJwtstringnonomaxLength:8192No description in lexicon yet.
inputlimitintegernonominimum:1, maximum:250No description in lexicon yet.
inputcursorstringnonomaxLength:1024No description in lexicon yet.
outputcollaborationsarray<ref:tickets.atmosphere.defs#organizerCollaboration>yesnomaxLength:250No description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
tickets.atmosphere.listEventWaitlist30 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputeventIdstringyesnominLength:1, maxLength:300No description in lexicon yet.
inputorganizerDidstringyesnoformat:didNo description in lexicon yet.
inputorganizerAssertionJwtstringnonomaxLength:8192No description in lexicon yet.
inputticketTypeIdstringnonominLength:1, maxLength:300Filter the queue to one ticket type.
inputincludeTerminalbooleannonononeInclude terminal (claimed/expired/released) rows in the queue page.
inputlimitintegernonominimum:1, maximum:250No description in lexicon yet.
inputcursorstringnonomaxLength:1024No description in lexicon yet.
outputsummariesarray<ref:#waitlistSummary>yesnomaxLength:1000No description in lexicon yet.
outputentriesarray<ref:#waitlistEntry>yesnomaxLength:250No description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
def:waitlistSummaryeventIdstringyesnomaxLength:300No description in lexicon yet.
def:waitlistSummaryticketTypeIdstringyesnomaxLength:300No description in lexicon yet.
def:waitlistSummaryticketTypeTitlestringyesnomaxLength:200No description in lexicon yet.
def:waitlistSummaryactiveCountintegeryesnominimum:0No description in lexicon yet.
def:waitlistSummarywaitingCountintegeryesnominimum:0No description in lexicon yet.
def:waitlistSummaryofferedCountintegeryesnominimum:0No description in lexicon yet.
def:waitlistSummaryactiveQuantityintegeryesnominimum:0No description in lexicon yet.
def:waitlistEntrywaitlistIdstringyesnomaxLength:300No description in lexicon yet.
def:waitlistEntryeventIdstringyesnomaxLength:300No description in lexicon yet.
def:waitlistEntryticketTypeIdstringyesnomaxLength:300No description in lexicon yet.
def:waitlistEntrypositionintegeryesnominimum:0No description in lexicon yet.
def:waitlistEntryquantityintegeryesnominimum:1No description in lexicon yet.
def:waitlistEntrystatusstring<waiting | offered | claimed | expired | released>yesnomaxLength:16No description in lexicon yet.
def:waitlistEntrybuyerDidstringnonoformat:didNo description in lexicon yet.
def:waitlistEntrycustomerEmailHintstringnonomaxLength:200No description in lexicon yet.
def:waitlistEntryofferHoldIdstringnonomaxLength:300No description in lexicon yet.
def:waitlistEntryofferedAtstringnonoformat:datetimeNo description in lexicon yet.
def:waitlistEntryofferExpiresAtstringnonoformat:datetimeNo description in lexicon yet.
def:waitlistEntrycreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
tickets.atmosphere.listOrganizerTickets7 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
paramsorganizerstringnonoformat:at-identifierDID or handle of the ticket organizer.
paramseventIdstringnonominLength:1, maxLength:300No description in lexicon yet.
paramslimitintegernonominimum:1, maximum:250No description in lexicon yet.
paramscursorstringnonomaxLength:1024No description in lexicon yet.
outputticketsarray<ref:tickets.atmosphere.defs#issuedTicketWithContext>yesnomaxLength:250No description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
tickets.atmosphere.listPublicConfig30 fields
LocationFieldTypeRequiredNullableLimitsDescription
paramsorganizerstringyesnoformat:at-identifierDID or handle of the organizer.
paramseventUristringnonoformat:at-uriNo description in lexicon yet.
paramscollectionsarray<string<tickets.atmosphere.ticketType | tickets.atmosphere.ticketedEvent>>nonomaxLength:3No description in lexicon yet.
paramsincludeArchivedbooleannonononeNo description in lexicon yet.
paramslimitintegernonominimum:1, maximum:100No description in lexicon yet.
paramscursorstringnonomaxLength:1024No description in lexicon yet.
outputrecordsarray<ref:#publicConfigRecord>yesnononeNo description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
def:publicConfigRecorduristringyesnoformat:at-uriAT URI of the indexed ticket config record.
def:publicConfigRecordcidstringyesnoformat:cidCID of the exact indexed ticket config record revision.
def:publicConfigRecordorganizerstringyesnoformat:didDID of the organizer repository containing the record.
def:publicConfigRecordcollectionstring<tickets.atmosphere.ticketType | tickets.atmosphere.ticketedEvent>yesnoformat:nsidNSID of the indexed ticket config record collection.
def:publicConfigRecordrkeystringyesnoformat:record-keyRepository record key of the indexed ticket config record.
def:publicConfigRecordeventref:com.atproto.repo.strongRefyesnononeCID-pinned strongRef to the public event this ticket config describes.
def:publicConfigRecordtitlestringnonomaxLength:1000, maxGraphemes:100No description in lexicon yet.
def:publicConfigRecorddescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
def:publicConfigRecordcurrencystringnonominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code matching money.atmosphere.price.
def:publicConfigRecordunitAmountintegernonominimum:0No description in lexicon yet.
def:publicConfigRecordquantityTotalintegernonominimum:1, maximum:250000Display hint from the ticketType record.
def:publicConfigRecordmaxPerOrderintegernonominimum:1, maximum:50No description in lexicon yet.
def:publicConfigRecorddefaultPriceref:com.atproto.repo.strongRefnonononeCID-pinned strongRef to the ticket type's current money.atmosphere.price, when published.
def:publicConfigRecordsaleStartsAtstringnonoformat:datetimeNo description in lexicon yet.
def:publicConfigRecordsaleEndsAtstringnonoformat:datetimeNo description in lexicon yet.
def:publicConfigRecordticketTypesarray<ref:com.atproto.repo.strongRef>nonomaxLength:250Display-ordered CID-pinned strongRefs advertised by a ticketed-event record.
def:publicConfigRecordstartsAtstringnonoformat:datetimeNo description in lexicon yet.
def:publicConfigRecordendsAtstringnonoformat:datetimeNo description in lexicon yet.
def:publicConfigRecordarchivedbooleanyesnononeNo description in lexicon yet.
def:publicConfigRecordcreatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:publicConfigRecordupdatedAtstringnonoformat:datetimeNo description in lexicon yet.
def:publicConfigRecordindexedAtstringyesnoformat:datetimeWhen the AppView indexed this public ticket config record.
tickets.atmosphere.listTicketFormResponses16 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputeventIdstringyesnominLength:1, maxLength:300No description in lexicon yet.
inputorganizerDidstringyesnoformat:didNo description in lexicon yet.
inputorganizerAssertionJwtstringnonomaxLength:8192No description in lexicon yet.
inputticketTypeIdstringnonominLength:1, maxLength:300No description in lexicon yet.
inputticketIdstringnonominLength:1, maxLength:300No description in lexicon yet.
inputlimitintegernonominimum:1, maximum:250No description in lexicon yet.
inputcursorstringnonomaxLength:1024No description in lexicon yet.
outputresponsesarray<ref:#formResponse>yesnomaxLength:250No description in lexicon yet.
outputcursorstringnonomaxLength:1024No description in lexicon yet.
def:formResponseticketIdstringyesnomaxLength:300No description in lexicon yet.
def:formResponseticketTypeIdstringyesnomaxLength:300No description in lexicon yet.
def:formResponsefieldKeystringyesnomaxLength:64No description in lexicon yet.
def:formResponsevaluestringyesnomaxLength:2000No description in lexicon yet.
def:formResponseshowAtCheckInbooleanyesnononeNo description in lexicon yet.
def:formResponsecreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
tickets.atmosphere.releaseFreeTicket10 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputeventIdstringnonominLength:1, maxLength:300No description in lexicon yet.
inputeventUristringnonoformat:at-uriNo description in lexicon yet.
inputbuyerDidstringyesnoformat:didNo description in lexicon yet.
inputbuyerAssertionJwtstringyesnomaxLength:8192Required short-lived user service-auth JWT from buyerDid to ATM, scoped to tickets.atmosphere.releaseFreeTicket.
inputidempotencyKeystringyesnominLength:1, maxLength:200Caller-stable identity for this release gesture.
inputticketIdsarray<string>nonomaxLength:50Optional narrowing to specific tickets — OMIT the field to release EVERY active free-claim ticket the buyer holds for this event, or pass an EMPTY array (or one with no valid ids) to release NOTHING and get releasedCount 0.
outputenvironmentstring<test | live>yesnomaxLength:16No description in lexicon yet.
outputreleasedCountintegeryesnominimum:0Authoritative number of tickets released — may exceed releasedTicketIds.length, which is capped at 1000, so treat a shorter list as partial and re-query rather than as the complete set.
outputreleasedTicketIdsarray<string>yesnomaxLength:1000Ids of the released tickets, truncated to the first 1000 — compare against releasedCount to detect truncation.
tickets.atmosphere.releaseTicketHold6 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputholdIdstringyesnominLength:1, maxLength:300No description in lexicon yet.
inputreasonstringnonomaxLength:200No description in lexicon yet.
outputholdref:#holdyesnononeNo description in lexicon yet.
def:holdidstringyesnomaxLength:300No description in lexicon yet.
def:holdstatusstring<released | expired | failed | completed>yesnomaxLength:32No description in lexicon yet.
tickets.atmosphere.revokeCollaboration5 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputcollaborationIdstringyesnominLength:1, maxLength:300No description in lexicon yet.
inputorganizerDidstringyesnoformat:didThe revoking PRIMARY organizer (or accepted co-organizer) authorizing this revocation via event control.
inputorganizerAssertionJwtstringnonomaxLength:8192Optional short-lived user service-auth JWT from organizerDid to ATM, scoped to tickets.atmosphere.revokeCollaboration.
outputcollaborationref:tickets.atmosphere.defs#organizerCollaborationyesnononeNo description in lexicon yet.
tickets.atmosphere.setEventCapacity11 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputeventIdstringnonominLength:1, maxLength:300No description in lexicon yet.
inputeventUristringnonoformat:at-uriNo description in lexicon yet.
inputorganizerDidstringnonoformat:didThe current primary organizer authorizing this mutation.
inputorganizerAssertionJwtstringnonomaxLength:8192Optional only for an app updating its own event.
inputcapacityintegernonominimum:1, maximum:250000Total tickets across ALL ticket types of the event.
inputunlimitedbooleannonononetrue clears the event capacity (unlimited — the default posture for new events).
outputeventIdstringyesnomaxLength:300No description in lexicon yet.
outputcapacityintegernonominimum:1, maximum:250000The event capacity now in effect.
outputsoldQuantityintegeryesnominimum:0No description in lexicon yet.
outputheldQuantityintegeryesnominimum:0No description in lexicon yet.
tickets.atmosphere.setTicketTypeForm16 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputticketTypeIdstringyesnominLength:1, maxLength:300No description in lexicon yet.
inputorganizerDidstringyesnoformat:didNo description in lexicon yet.
inputorganizerAssertionJwtstringnonomaxLength:8192Optional short-lived user service-auth JWT from organizerDid to ATM, scoped to tickets.atmosphere.setTicketTypeForm.
inputformref:#formnoyesnoneNo description in lexicon yet.
outputticketTypeIdstringyesnomaxLength:300No description in lexicon yet.
outputfieldCountintegeryesnominimum:0No description in lexicon yet.
def:formversionintegeryesnominimum:1Form schema version.
def:formfieldsarray<ref:#formField>yesnomaxLength:30No description in lexicon yet.
def:formFieldkeystringyesnominLength:1, maxLength:64No description in lexicon yet.
def:formFieldlabelstringyesnominLength:1, maxLength:200No description in lexicon yet.
def:formFielddescriptionstringnonomaxLength:1000Optional buyer-facing help text shown below the question.
def:formFieldtypestring<text | textarea | email | select | checkbox | boolean | number>yesnomaxLength:16No description in lexicon yet.
def:formFieldrequiredbooleannonononeNo description in lexicon yet.
def:formFieldshowAtCheckInbooleannonononeShow this answer at check-in.
def:formFieldoptionsarray<string>nonomaxLength:50Choice values for select fields; each string is both the stored value and the display label.
tickets.atmosphere.ticketedEvent7 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordeventref:com.atproto.repo.strongRefyesnononeCID-pinned strongRef to the canonical public community.lexicon.calendar.event record.
recordticketTypesarray<ref:com.atproto.repo.strongRef>nonomaxLength:250Display-ordered CID-pinned strongRefs to the ticket types this record publicly advertises.
recordtitlestringnonomaxLength:1000, maxGraphemes:100No description in lexicon yet.
recorddescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
recordarchivedbooleannonononeTrue when this ticketed-event anchor is archived.
recordcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
recordupdatedAtstringnonoformat:datetimeNo description in lexicon yet.
tickets.atmosphere.ticketType14 fields
LocationFieldTypeRequiredNullableLimitsDescription
recordeventref:com.atproto.repo.strongRefyesnononeCID-pinned strongRef to the canonical public community.lexicon.calendar.event record.
recordtitlestringyesnominLength:1, maxLength:1000, maxGraphemes:100No description in lexicon yet.
recorddescriptionstringnonomaxLength:10000, maxGraphemes:1000No description in lexicon yet.
recordcurrencystringnonominLength:3, maxLength:3Deprecated display copy retained for readers of early records; canonical pricing belongs on the money.atmosphere.price referenced by defaultPrice.
recordunitAmountintegernonominimum:0Deprecated display copy retained for readers of early records; canonical pricing belongs on the money.atmosphere.price referenced by defaultPrice.
recordquantityTotalintegernonominimum:1, maximum:250000Display hint: the type's configured cap.
recordmaxPerOrderintegernonominimum:1, maximum:50Organizer-configured per-order limit for this ticket type.
recorddefaultPriceref:com.atproto.repo.strongRefnonononeOptional CID-pinned strongRef to the current money.atmosphere.price for this ticket type in the organizer repo.
recordsaleStartsAtstringnonoformat:datetimeNo description in lexicon yet.
recordsaleEndsAtstringnonoformat:datetimeNo description in lexicon yet.
recordarchivedbooleannonononeTrue when this ticket type is archived.
recordarchivedAtstringnonoformat:datetimeNo description in lexicon yet.
recordcreatedAtstringyesnoformat:datetimeNo description in lexicon yet.
recordupdatedAtstringnonoformat:datetimeNo description in lexicon yet.
tickets.atmosphere.updateTicketEvent11 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputeventIdstringyesnominLength:1, maxLength:300No description in lexicon yet.
inputorganizerDidstringnonoformat:didThe primary organizer or accepted co-organizer authorizing this mutation.
inputorganizerAssertionJwtstringnonomaxLength:8192Optional only for an app updating its own event.
inputtitlestringnonominLength:1, maxLength:3000, maxGraphemes:300No description in lexicon yet.
inputstartsAtstringnoyesformat:datetimeNo description in lexicon yet.
inputeventCidstringnoyesformat:cidNo description in lexicon yet.
inputimageUrlstringnoyesformat:uriNo description in lexicon yet.
inputstatusstring<active | paused | archived>nonomaxLength:32ATM ticket-sales lifecycle state.
inputmetadataunknownnonononeNo description in lexicon yet.
outputeventref:tickets.atmosphere.defs#eventSummaryyesnononeNo description in lexicon yet.
tickets.atmosphere.updateTicketType19 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputticketTypeIdstringyesnominLength:1, maxLength:300No description in lexicon yet.
inputorganizerDidstringnonoformat:didThe primary organizer or accepted co-organizer authorizing this mutation.
inputorganizerAssertionJwtstringnonomaxLength:8192Optional only for an app updating its own event.
inputtitlestringnonominLength:1, maxLength:1000, maxGraphemes:100No description in lexicon yet.
inputdescriptionstringnoyesmaxLength:10000, maxGraphemes:1000No description in lexicon yet.
inputcurrencystringnonominLength:3, maxLength:3Lowercase ISO 4217 alphabetic code matching money.atmosphere.price.
inputunitAmountintegernonominimum:0, maximum:2000000Amount in the smallest unit of currency.
inputmaxPerOrderintegernonominimum:1, maximum:50No description in lexicon yet.
inputsaleStartsAtstringnoyesformat:datetimeNo description in lexicon yet.
inputsaleEndsAtstringnoyesformat:datetimeNo description in lexicon yet.
inputticketTypeRefref:com.atproto.repo.strongRefnoyesnoneNo description in lexicon yet.
inputdefaultPriceref:com.atproto.repo.strongRefnoyesnoneNo description in lexicon yet.
inputmetadataunknownnonononeNo description in lexicon yet.
inputvisibilitystring<public | hidden>nonomaxLength:16Private buyer-facing visibility (default public).
inputquantityTotalintegernonominimum:1, maximum:250000Set the per-type cap.
inputunlimitedbooleannonononetrue clears the per-type cap (unlimited).
inputstatusstring<active | paused | archived>nonomaxLength:32No description in lexicon yet.
outputticketTyperef:tickets.atmosphere.defs#ticketTypeSummaryyesnononeNo description in lexicon yet.
tickets.atmosphere.verifyTicket8 fields
LocationFieldTypeRequiredNullableLimitsDescription
inputenvironmentstring<test | live>nonomaxLength:16No description in lexicon yet.
inputticketTokenstringyesnominLength:1, maxLength:4000No description in lexicon yet.
outputvalidbooleanyesnononeNo description in lexicon yet.
outputreasonstringnonomaxLength:100No description in lexicon yet.
outputticketref:tickets.atmosphere.defs#issuedTicketnonononeNo description in lexicon yet.
outputpresentationref:tickets.atmosphere.defs#ticketPresentationnonononeNo description in lexicon yet.
outputeventref:tickets.atmosphere.defs#eventSummarynonononeNo description in lexicon yet.
outputticketTyperef:tickets.atmosphere.defs#ticketTypeSummarynonononeNo description in lexicon yet.

Contract checks

  • Every public ATM-owned NSID appears in generated docs output.
  • External attested.network schemas stay strict and are not hand-extended.
  • Tickets XRPC methods remain visible from ATM docs because ticket purchases flow through the ATM ledger.
  • Generated docs can be refreshed before posting lexicons for public review.
shell
npm run docs:check

Public review artifacts

Pair this generated index with the lexicon review bundle when asking the AT Protocol community to review contract shape. The human review page covers design goals; this page keeps the full method and record index honest.

Human review

Design rationale and open questions.

Generated index

Every current contract and lifecycle label.

Tickets reference

Ticket-specific integration flows on atmosphere.tickets.