com.atiproto.payment.subscription.validate

atiproto.com

Documentation

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.

main query

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.

Parameters

amount integer Optional

Expected subscription amount in cents. If omitted, only checks that a subscription exists.

subject string did Optional

DID of the creator being subscribed to. Ignored if subscriptionUri is provided.

subscriptionUri string at-uri Optional

AT-URI of a specific subscription record. Takes precedence over subject.

Output

Encodingapplication/json
amount integer Optional

Subscription amount in cents

currency string Optional

Currency of the subscription

reason string Optional

If invalid, reason for rejection

valid boolean Required

Whether the authed sender has an active, verified subscription

Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://api.bsky.social)
Parameters
Expected subscription amount in cents. If omitted, only checks that a subscription exists.
DID of the creator being subscribed to. Ignored if subscriptionUri is provided.
AT-URI of a specific subscription record. Takes precedence over subject.
View raw schema
{
  "type": "query",
  "output": {
    "schema": {
      "type": "object",
      "required": [
        "valid"
      ],
      "properties": {
        "valid": {
          "type": "boolean",
          "description": "Whether the authed sender has an active, verified subscription"
        },
        "amount": {
          "type": "integer",
          "description": "Subscription amount in cents"
        },
        "reason": {
          "type": "string",
          "maxLength": 1024,
          "description": "If invalid, reason for rejection"
        },
        "currency": {
          "type": "string",
          "maxLength": 3,
          "description": "Currency of the subscription"
        }
      }
    },
    "encoding": "application/json"
  },
  "parameters": {
    "type": "params",
    "properties": {
      "amount": {
        "type": "integer",
        "description": "Expected subscription amount in cents. If omitted, only checks that a subscription exists."
      },
      "subject": {
        "type": "string",
        "format": "did",
        "description": "DID of the creator being subscribed to. Ignored if subscriptionUri is provided."
      },
      "subscriptionUri": {
        "type": "string",
        "format": "at-uri",
        "description": "AT-URI of a specific subscription record. Takes precedence over subject."
      }
    }
  },
  "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."
}

Lexicon Garden

@