com.atiproto.payment.subscription.validate

atiproto.com

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Validate that the authenticated user (as the sender/subscriber) has an active, Stripe-verified subscription. Looks up by subscriptionUri (a specific subscription record) or subject (recipient DID). These are mutually exclusive; subscriptionUri takes precedence.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "amount": {
              "description": "Subscription amount in cents",
              "type": "integer"
            },
            "currency": {
              "description": "Currency of the subscription",
              "maxLength": 3,
              "type": "string"
            },
            "reason": {
              "description": "If invalid, reason for rejection",
              "maxLength": 1024,
              "type": "string"
            },
            "valid": {
              "description": "Whether the authed sender has an active, verified subscription",
              "type": "boolean"
            }
          },
          "required": [
            "valid"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "amount": {
            "description": "Expected subscription amount in cents. If omitted, only checks that a subscription exists.",
            "type": "integer"
          },
          "subject": {
            "description": "DID of the creator being subscribed to. Ignored if subscriptionUri is provided.",
            "format": "did",
            "type": "string"
          },
          "subscriptionUri": {
            "description": "AT-URI of a specific subscription record. Takes precedence over subject.",
            "format": "at-uri",
            "type": "string"
          }
        },
        "type": "params"
      },
      "type": "query"
    }
  },
  "id": "com.atiproto.payment.subscription.validate",
  "lexicon": 1
}

Validate Record

Validate a record against com.atiproto.payment.subscription.validate

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:4x5dcv6u4wlkjcssto7f22nu
CID
bafyreic26enay5exir6ek4uzh3v7kw2yhldes5ezsb4gkzdoeqyaxhnkje
Indexed At
2026-04-29 15:05 UTC
AT-URI
at://did:plc:4x5dcv6u4wlkjcssto7f22nu/com.atproto.lexicon.schema/com.atiproto.payment.subscription.validate

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Validate that a sender has an active, Stripe-verified subscription to the authenticated user (as the recipient/subject). Looks up by subscriptionUri (a specific subscription record) or sender (subscriber DID). These are…

  • Validate that the authenticated user (as the sender) has completed item payment(s). Looks up by itemUri (a specific item record), recordUri (sums all items for that record), or subject (recipient DID). These are mutuall…

  • Validate that a sender has completed item payment(s) to the authenticated user (as the recipient/subject). Looks up by itemUri (a specific item record), recordUri (sums all items for that record), or sender (sender DID)…

  • Get a specific subscription sent by the authenticated user. Looks up by subscription record uri or subject (recipient) DID. These are mutually exclusive; uri takes precedence.

  • Get a specific subscription received by the authenticated user (as the recipient/subject). Looks up by subscription record uri or sender DID. These are mutually exclusive; uri takes precedence.

Lexicon Garden

@