Skip to content
Sequential.work

Creator records

work.sequential.series

A comic series, in vertical, page or strip format.

main

record · key: tid

A comic series.

PropertyTypeDescription
titlerequireddefs#localizedTitle[]Localized title of the series.
1–100 items
bannerrequiredblobThe banner image of the series. 3:1 aspect ratio. (e.g. 3000x1000 pixels)
≤ 4 MiB
Acceptsimage/jpegimage/pngimage/webpimage/avif
posterrequiredblobThe open graph share image of the series. 1.91:1 aspect ratio. (e.g. 1200x630 pixels) JPEG or PNG only, because many link preview crawlers don't support newer formats.
≤ 4 MiB
Acceptsimage/jpegimage/png
descriptionrequired#localizedDescription[]Localized short description of the series.
1–100 items
createdAtrequireddatetimeThe date and time the series was created.
categoriesrequireddefs#category[]Categories for this series, most relevant first.
1–3 items
formatrequiredstringThe reading format of the series. 'vertical' chapters are made of slices; 'page' chapters are made of pages. 'strip' series have no chapters; their strips point to the series directly. AppViews may define their own formats.
Knownverticalpagestrip
readingDirectionstringHorizontal reading direction of panels and pages. 'rtl' for right-to-left comics such as manga.
default: ltr
Knownltrrtl
statusstringPublication status of the series. AppViews may define their own statuses.
default: ongoing
Knownongoingcompletedhiatuscancelled
nativeLanguagelanguageBCP-47 language tag of the language the series was created in. AppViews should fall back to it when a reader's language isn't available.
labelscom.atproto.label.defs#selfLabelsSelf-labels and content warnings for this series. Use the standard AT Protocol values ('porn', 'sexual', 'nudity', 'graphic-media') where they apply. AppViews may define additional values (e.g. 'profanity', 'violence'); AppViews that don't recognize a value ignore it.
chaptersat-uri[]Ordered list of chapters in this series. Not used by the 'strip' format. Use the DID form (at://did:...), not a handle.
≤ 5000 items

Same as work.sequential.defs#localizedDescription, but limited to a short blurb.

PropertyTypeDescription
langrequiredlanguageBCP-47 language tag for this description.
textrequiredstring
≤ 255 graphemes

Raw schema

work.sequential.series.json
{
  "lexicon": 1,
  "id": "work.sequential.series",
  "defs": {
    "main": {
      "type": "record",
      "key": "tid",
      "record": {
        "type": "object",
        "properties": {
          "title": {
            "type": "array",
            "items": {
              "type": "ref",
              "ref": "work.sequential.defs#localizedTitle"
            },
            "maxLength": 100,
            "minLength": 1,
            "description": "Localized title of the series."
          },
          "banner": {
            "type": "blob",
            "maxSize": 4194304,
            "accept": [
              "image/jpeg",
              "image/png",
              "image/webp",
              "image/avif"
            ],
            "description": "The banner image of the series. 3:1 aspect ratio. (e.g. 3000x1000 pixels)"
          },
          "poster": {
            "type": "blob",
            "maxSize": 4194304,
            "accept": [
              "image/jpeg",
              "image/png"
            ],
            "description": "The open graph share image of the series. 1.91:1 aspect ratio. (e.g. 1200x630 pixels) JPEG or PNG only, because many link preview crawlers don't support newer formats."
          },
          "description": {
            "type": "array",
            "items": {
              "type": "ref",
              "ref": "#localizedDescription"
            },
            "maxLength": 100,
            "minLength": 1,
            "description": "Localized short description of the series."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "The date and time the series was created."
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "ref",
              "ref": "work.sequential.defs#category"
            },
            "minLength": 1,
            "maxLength": 3,
            "description": "Categories for this series, most relevant first."
          },
          "format": {
            "type": "string",
            "knownValues": [
              "vertical",
              "page",
              "strip"
            ],
            "description": "The reading format of the series. 'vertical' chapters are made of slices; 'page' chapters are made of pages. 'strip' series have no chapters; their strips point to the series directly. AppViews may define their own formats."
          },
          "readingDirection": {
            "type": "string",
            "knownValues": [
              "ltr",
              "rtl"
            ],
            "default": "ltr",
            "description": "Horizontal reading direction of panels and pages. 'rtl' for right-to-left comics such as manga."
          },
          "status": {
            "type": "string",
            "knownValues": [
              "ongoing",
              "completed",
              "hiatus",
              "cancelled"
            ],
            "default": "ongoing",
            "description": "Publication status of the series. AppViews may define their own statuses."
          },
          "nativeLanguage": {
            "type": "string",
            "format": "language",
            "description": "BCP-47 language tag of the language the series was created in. AppViews should fall back to it when a reader's language isn't available."
          },
          "labels": {
            "type": "union",
            "refs": [
              "com.atproto.label.defs#selfLabels"
            ],
            "description": "Self-labels and content warnings for this series. Use the standard AT Protocol values ('porn', 'sexual', 'nudity', 'graphic-media') where they apply. AppViews may define additional values (e.g. 'profanity', 'violence'); AppViews that don't recognize a value ignore it."
          },
          "chapters": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "at-uri"
            },
            "maxLength": 5000,
            "description": "Ordered list of chapters in this series. Not used by the 'strip' format. Use the DID form (at://did:...), not a handle."
          }
        },
        "required": [
          "title",
          "banner",
          "poster",
          "description",
          "createdAt",
          "categories",
          "format"
        ]
      },
      "description": "A comic series."
    },
    "localizedDescription": {
      "type": "object",
      "properties": {
        "lang": {
          "type": "string",
          "format": "language",
          "description": "BCP-47 language tag for this description."
        },
        "text": {
          "type": "string",
          "maxLength": 2550,
          "maxGraphemes": 255
        }
      },
      "description": "Same as work.sequential.defs#localizedDescription, but limited to a short blurb.",
      "required": [
        "lang",
        "text"
      ]
    }
  }
}