pub.openletter.petition

openletter.pub

Documentation

An open letter that others can endorse or object to.

main record

An open letter that others can endorse or object to.

Record Key tid Timestamp-based ID

Properties

banner blob Optional

A banner image for the letter.

maxSize: 1.0 MB
body string Required

The full text of the letter, as CommonMark markdown.

maxLength: 100000 bytesminLength: 1 bytesmaxGraphemes: 50000 graphemes
contributors array of string did Optional

DIDs the author claims as co-authors; each is confirmed by a matching pub.openletter.contribution.

maxLength: 100 items
createdAt string datetime Required

An RFC 3339 formatted timestamp.

langs array of string language Optional

The language(s) the letter is written in.

maxLength: 3 items
recipients array of ref #recipient Optional

The parties the letter is addressed to.

maxLength: 50 items
summary string Optional

A short tagline shown in previews and listings.

maxLength: 3000 bytesmaxGraphemes: 300 graphemes
tags array of string Optional

Free-form tags for browsing.

maxLength: 10 items
title string Required

The headline of the open letter.

maxLength: 3000 bytesminLength: 1 bytesmaxGraphemes: 300 graphemes
View raw schema
{
  "description": "An open letter that others can endorse or object to.",
  "key": "tid",
  "record": {
    "properties": {
      "banner": {
        "accept": [
          "image/png",
          "image/jpeg",
          "image/webp"
        ],
        "description": "A banner image for the letter.",
        "maxSize": 1000000,
        "type": "blob"
      },
      "body": {
        "description": "The full text of the letter, as CommonMark markdown.",
        "maxGraphemes": 50000,
        "maxLength": 100000,
        "minLength": 1,
        "type": "string"
      },
      "contributors": {
        "description": "DIDs the author claims as co-authors; each is confirmed by a matching pub.openletter.contribution.",
        "items": {
          "format": "did",
          "type": "string"
        },
        "maxLength": 100,
        "type": "array"
      },
      "createdAt": {
        "format": "datetime",
        "type": "string"
      },
      "langs": {
        "description": "The language(s) the letter is written in.",
        "items": {
          "format": "language",
          "type": "string"
        },
        "maxLength": 3,
        "type": "array"
      },
      "recipients": {
        "description": "The parties the letter is addressed to.",
        "items": {
          "ref": "#recipient",
          "type": "ref"
        },
        "maxLength": 50,
        "type": "array"
      },
      "summary": {
        "description": "A short tagline shown in previews and listings.",
        "maxGraphemes": 300,
        "maxLength": 3000,
        "type": "string"
      },
      "tags": {
        "description": "Free-form tags for browsing.",
        "items": {
          "maxGraphemes": 64,
          "maxLength": 640,
          "type": "string"
        },
        "maxLength": 10,
        "type": "array"
      },
      "title": {
        "description": "The headline of the open letter.",
        "maxGraphemes": 300,
        "maxLength": 3000,
        "minLength": 1,
        "type": "string"
      }
    },
    "required": [
      "title",
      "body",
      "createdAt"
    ],
    "type": "object"
  },
  "type": "record"
}
recipient object

A party an open letter is addressed to.

Properties

did string did Optional

The recipient's ATProto identity, if they have one.

name string Required

The recipient's name, e.g. "The City Council of Springfield".

maxLength: 2560 bytesminLength: 1 bytesmaxGraphemes: 256 graphemes
url string uri Optional

A web page for the recipient.

View raw schema
{
  "description": "A party an open letter is addressed to.",
  "properties": {
    "did": {
      "description": "The recipient's ATProto identity, if they have one.",
      "format": "did",
      "type": "string"
    },
    "name": {
      "description": "The recipient's name, e.g. \"The City Council of Springfield\".",
      "maxGraphemes": 256,
      "maxLength": 2560,
      "minLength": 1,
      "type": "string"
    },
    "url": {
      "description": "A web page for the recipient.",
      "format": "uri",
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "type": "object"
}

Lexicon Garden

@