app.chronosky.plan.getUsage

chronosky.app

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "currentPlan": {
      "description": "Current plan information.",
      "properties": {
        "displayName": {
          "description": "Localized plan display names",
          "type": "unknown"
        },
        "id": {
          "description": "Plan ID",
          "maxLength": 100,
          "type": "string"
        },
        "isActive": {
          "description": "Whether the plan is currently active",
          "type": "boolean"
        },
        "name": {
          "description": "Internal plan name",
          "maxLength": 200,
          "type": "string"
        },
        "tier": {
          "description": "Plan tier (FREE, BASIC, STANDARD, PREMIUM)",
          "maxLength": 50,
          "type": "string"
        },
        "validUntil": {
          "description": "Plan expiration date (ISO 8601)",
          "format": "datetime",
          "maxLength": 100,
          "type": "string"
        }
      },
      "required": [
        "id",
        "tier",
        "name",
        "displayName",
        "isActive"
      ],
      "type": "object"
    },
    "main": {
      "description": "Get the authenticated user's plan information and usage statistics",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "currentPlan": {
              "ref": "#currentPlan",
              "type": "ref"
            },
            "limits": {
              "ref": "#planLimits",
              "type": "ref"
            },
            "usage": {
              "ref": "#usageStats",
              "type": "ref"
            }
          },
          "required": [
            "currentPlan",
            "limits",
            "usage"
          ],
          "type": "object"
        }
      },
      "type": "query"
    },
    "planLimits": {
      "description": "Plan limits.",
      "properties": {
        "markdownSupport": {
          "description": "Whether markdown formatting is supported",
          "type": "boolean"
        },
        "maxImageSizeMb": {
          "description": "Maximum image size (MB)",
          "type": "integer"
        },
        "maxImagesPerPost": {
          "description": "Maximum images per post",
          "type": "integer"
        },
        "maxScheduleDays": {
          "description": "Maximum days in advance to schedule",
          "type": "integer"
        },
        "maxVideoSizeMb": {
          "description": "Maximum video size (MB)",
          "type": "integer"
        },
        "monthlyPostsLimit": {
          "description": "Maximum posts per month",
          "type": "integer"
        },
        "pendingPostsLimit": {
          "description": "Maximum concurrent pending posts",
          "type": "integer"
        },
        "scheduleIntervalMinutes": {
          "description": "Minimum interval between scheduled posts (minutes)",
          "type": "integer"
        },
        "threadPosts": {
          "description": "Whether thread posts are enabled",
          "type": "boolean"
        },
        "threadPostsLimit": {
          "description": "Maximum posts per thread",
          "type": "integer"
        },
        "videoProcessingMinutesMonthly": {
          "description": "Monthly video processing minutes",
          "type": "integer"
        },
        "videoUpload": {
          "description": "Whether video uploads are enabled",
          "type": "boolean"
        }
      },
      "required": [
        "monthlyPostsLimit",
        "pendingPostsLimit",
        "maxScheduleDays",
        "scheduleIntervalMinutes",
        "maxImagesPerPost",
        "threadPostsLimit"
      ],
      "type": "object"
    },
    "usageStats": {
      "description": "Usage statistics.",
      "properties": {
        "apiRequestsThisHour": {
          "description": "API requests in current hour",
          "type": "integer"
        },
        "lastUpdated": {
          "description": "Last time usage was updated (ISO 8601)",
          "format": "datetime",
          "maxLength": 100,
          "type": "string"
        },
        "monthlyPeriodEnd": {
          "description": "End of current monthly period (ISO 8601)",
          "format": "datetime",
          "maxLength": 100,
          "type": "string"
        },
        "monthlyPeriodStart": {
          "description": "Start of current monthly period (ISO 8601)",
          "format": "datetime",
          "maxLength": 100,
          "type": "string"
        },
        "monthlyPostsCount": {
          "description": "Number of posts this month",
          "type": "integer"
        },
        "pendingPostsCount": {
          "description": "Current number of pending posts",
          "type": "integer"
        },
        "storageUsedMb": {
          "description": "Storage used (MB)",
          "type": "integer"
        }
      },
      "required": [
        "pendingPostsCount",
        "monthlyPostsCount",
        "monthlyPeriodStart",
        "monthlyPeriodEnd",
        "lastUpdated"
      ],
      "type": "object"
    }
  },
  "id": "app.chronosky.plan.getUsage",
  "lexicon": 1
}

Validate Record

Validate a record against app.chronosky.plan.getUsage

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:bfjib7fy6dob3gyfssyfd4ry
CID
bafyreihnv6jotaitwh6l2uvoulxvx3rbrl5ckvrjm6ghkcjwub7qydgnty
Indexed At
2026-02-18 18:03 UTC
AT-URI
at://did:plc:bfjib7fy6dob3gyfssyfd4ry/com.atproto.lexicon.schema/app.chronosky.plan.getUsage

Similar Lexicons

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

Lexicon Garden

@