com.atiproto.payment.item.validate

atiproto.com

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "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 mutually exclusive and resolved in that order.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "amount": {
              "description": "Sum of all verified completed item amounts in cents",
              "type": "integer"
            },
            "currency": {
              "description": "Currency of the items",
              "maxLength": 3,
              "type": "string"
            },
            "reason": {
              "description": "If invalid, reason for rejection",
              "maxLength": 1024,
              "type": "string"
            },
            "valid": {
              "description": "Whether the authed sender has completed and verified item(s)",
              "type": "boolean"
            }
          },
          "required": [
            "valid"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "amount": {
            "description": "Expected item amount in cents. If omitted, only checks that a item exists.",
            "type": "integer"
          },
          "itemUri": {
            "description": "AT-URI of a specific item record. Takes precedence over recordUri and subject.",
            "format": "at-uri",
            "type": "string"
          },
          "recordUri": {
            "description": "AT-URI of the record being tipped. Takes precedence over subject.",
            "format": "at-uri",
            "type": "string"
          },
          "subject": {
            "description": "DID of the item recipient. Ignored if itemUri or recordUri is provided.",
            "format": "did",
            "type": "string"
          }
        },
        "type": "params"
      },
      "type": "query"
    }
  },
  "id": "com.atiproto.payment.item.validate",
  "lexicon": 1
}

Validate Record

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

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:4x5dcv6u4wlkjcssto7f22nu
CID
bafyreieixzkvv346kevcjleiti5n2w7rmiwg4znnuwzath5ht6nyvynl5q
Indexed At
2026-04-29 15:05 UTC
AT-URI
at://did:plc:4x5dcv6u4wlkjcssto7f22nu/com.atproto.lexicon.schema/com.atiproto.payment.item.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 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)…

  • 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 ex…

  • 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…

  • Get a specific item sent by the authenticated user. Looks up by item record uri, subject (recipient) DID, or record uri. These are mutually exclusive and resolved in that order.

  • Get a specific item received by the authenticated user (as the recipient/subject). Looks up by item record uri, sender DID, or record uri. These are mutually exclusive and resolved in that order.

Lexicon Garden

@