app.chronosky.schedule.listPosts

chronosky.app

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "List scheduled posts for the authenticated user with pagination and filtering.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "pagination": {
              "ref": "#pagination",
              "type": "ref"
            },
            "posts": {
              "items": {
                "ref": "#scheduledPost",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "required": [
            "posts",
            "pagination"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "limit": {
            "default": 20,
            "description": "Number of parent posts per page. Thread posts always include all children regardless of limit (e.g., limit=100 returns up to 100 parent posts plus all their children).",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "page": {
            "default": 1,
            "description": "Page number (1-indexed).",
            "minimum": 1,
            "type": "integer"
          },
          "status": {
            "description": "Filter by post status.",
            "enum": [
              "PENDING",
              "EXECUTING",
              "COMPLETED",
              "FAILED",
              "CANCELLED"
            ],
            "maxLength": 20,
            "type": "string"
          }
        },
        "type": "params"
      },
      "type": "query"
    },
    "pagination": {
      "description": "Pagination information.",
      "properties": {
        "limit": {
          "description": "Posts per page.",
          "minimum": 1,
          "type": "integer"
        },
        "page": {
          "description": "Current page number.",
          "minimum": 1,
          "type": "integer"
        },
        "total": {
          "description": "Total number of posts.",
          "minimum": 0,
          "type": "integer"
        },
        "totalPages": {
          "description": "Total number of pages.",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "page",
        "limit",
        "total",
        "totalPages"
      ],
      "type": "object"
    },
    "scheduledPost": {
      "description": "Scheduled post object with AT Protocol standard fields.",
      "properties": {
        "atRkey": {
          "description": "AT Protocol record key. Present after successful execution.",
          "maxLength": 100,
          "type": "string"
        },
        "atUri": {
          "description": "AT Protocol post URI (at://did:plc:.../app.bsky.feed.post/...). Present after successful execution.",
          "maxLength": 500,
          "type": "string"
        },
        "children": {
          "description": "Child posts in thread. Only present for parent posts with children.",
          "items": {
            "ref": "#scheduledPost",
            "type": "ref"
          },
          "type": "array"
        },
        "createdAt": {
          "description": "Post creation datetime (ISO 8601).",
          "format": "datetime",
          "maxLength": 100,
          "type": "string"
        },
        "embed": {
          "description": "Embedded content such as images, external links, or quoted posts (app.bsky.embed.*). For image embeds, may be returned as app.bsky.embed.images#view with thumb/fullsize URLs.",
          "refs": [
            "app.bsky.embed.images",
            "app.bsky.embed.images#view",
            "app.bsky.embed.external",
            "app.bsky.embed.record",
            "app.bsky.embed.video",
            "app.bsky.embed.recordWithMedia"
          ],
          "type": "union"
        },
        "errorMsg": {
          "description": "Error message if execution failed. Present only when status is FAILED.",
          "maxLength": 2000,
          "type": "string"
        },
        "executedAt": {
          "description": "Execution completion datetime (ISO 8601). Present only when status is COMPLETED or FAILED.",
          "format": "datetime",
          "maxLength": 100,
          "type": "string"
        },
        "facets": {
          "description": "Rich text facets for mentions, links, and hashtags (app.bsky.richtext.facet).",
          "items": {
            "ref": "app.bsky.richtext.facet",
            "type": "ref"
          },
          "type": "array"
        },
        "id": {
          "description": "Post ID.",
          "maxLength": 100,
          "type": "string"
        },
        "labels": {
          "description": "Self-applied content labels for content warnings (AT Protocol standard).",
          "ref": "com.atproto.label.defs#selfLabels",
          "type": "ref"
        },
        "langs": {
          "description": "Language codes for post content (app.bsky.feed.post#langs). ISO 639-1 or 639-3 codes.",
          "items": {
            "format": "language",
            "type": "string"
          },
          "maxLength": 3,
          "type": "array"
        },
        "parentPostId": {
          "description": "Parent post ID for thread posts. Null for root posts.",
          "maxLength": 100,
          "type": "string"
        },
        "postgateCid": {
          "description": "CID for postgate record. Present after successful execution with postgate settings.",
          "maxLength": 100,
          "type": "string"
        },
        "postgateDisableEmbedding": {
          "description": "Whether to disable quote posts and embeds for this post (app.bsky.feed.postgate).",
          "type": "boolean"
        },
        "postgateUri": {
          "description": "AT Protocol URI for postgate record. Present after successful execution with postgate settings.",
          "maxLength": 500,
          "type": "string"
        },
        "retryCount": {
          "description": "Number of execution retry attempts.",
          "minimum": 0,
          "type": "integer"
        },
        "scheduledAt": {
          "description": "Scheduled publication datetime (ISO 8601).",
          "format": "datetime",
          "maxLength": 100,
          "type": "string"
        },
        "status": {
          "description": "Post status.",
          "enum": [
            "PENDING",
            "EXECUTING",
            "COMPLETED",
            "FAILED",
            "CANCELLED"
          ],
          "maxLength": 20,
          "type": "string"
        },
        "text": {
          "description": "Post content text (app.bsky.feed.post#text). May be empty if embeds are present.",
          "maxGraphemes": 300,
          "maxLength": 3000,
          "type": "string"
        },
        "threadDepth": {
          "description": "Thread depth level (0 for root post, 1 for direct reply, etc.).",
          "minimum": 0,
          "type": "integer"
        },
        "threadPosition": {
          "description": "Position in thread (0-indexed). 0 for parent post, 1+ for children.",
          "minimum": 0,
          "type": "integer"
        },
        "threadgateCid": {
          "description": "CID for threadgate record. Present after successful execution with threadgate rules.",
          "maxLength": 100,
          "type": "string"
        },
        "threadgateRules": {
          "description": "Reply restriction rules (app.bsky.feed.threadgate). Defines who can reply to this post.",
          "items": {
            "refs": [
              "app.bsky.feed.threadgate#mentionRule",
              "app.bsky.feed.threadgate#followerRule",
              "app.bsky.feed.threadgate#followingRule",
              "app.bsky.feed.threadgate#listRule"
            ],
            "type": "union"
          },
          "maxLength": 5,
          "type": "array"
        },
        "threadgateUri": {
          "description": "AT Protocol URI for threadgate record. Present after successful execution with threadgate rules.",
          "maxLength": 500,
          "type": "string"
        },
        "updatedAt": {
          "description": "Post last update datetime (ISO 8601).",
          "format": "datetime",
          "maxLength": 100,
          "type": "string"
        },
        "userId": {
          "description": "User ID who created this post.",
          "maxLength": 200,
          "type": "string"
        }
      },
      "required": [
        "id",
        "userId",
        "text",
        "scheduledAt",
        "status",
        "createdAt",
        "updatedAt",
        "retryCount",
        "langs"
      ],
      "type": "object"
    }
  },
  "id": "app.chronosky.schedule.listPosts",
  "lexicon": 1
}

Validate Record

Validate a record against app.chronosky.schedule.listPosts

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:bfjib7fy6dob3gyfssyfd4ry
CID
bafyreibcyc4za2lww6cfxskjrhaxkslikom27yp3ej3qdonf34ouzi7prq
Indexed At
2026-02-18 18:04 UTC
AT-URI
at://did:plc:bfjib7fy6dob3gyfssyfd4ry/com.atproto.lexicon.schema/app.chronosky.schedule.listPosts

Version History (2 versions)

Referenced Schemas (12)

Similar Lexicons

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

Lexicon Garden

@