net.wireservice.draft

wireservice.net

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "An unpublished or in-progress article, stored in the publication's private staff space and written by the publication's DID. On publish, the CMS writes a public site.standard.document; when space is set, it writes the full document into that space and a public net.wireservice.gatedContent stub instead.",
      "key": "tid",
      "record": {
        "properties": {
          "assignees": {
            "description": "Staff DIDs currently responsible for the draft.",
            "items": {
              "format": "did",
              "type": "string"
            },
            "type": "array"
          },
          "content": {
            "description": "Article content as it will be published.",
            "ref": "net.wireservice.content",
            "type": "ref"
          },
          "contributors": {
            "items": {
              "ref": "site.standard.document#contributor",
              "type": "ref"
            },
            "type": "array"
          },
          "coverImage": {
            "accept": [
              "image/*"
            ],
            "maxSize": 1000000,
            "type": "blob"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "maxGraphemes": 3000,
            "maxLength": 30000,
            "type": "string"
          },
          "document": {
            "description": "AT URI of the published site.standard.document, once published. Edits to a published article are made on the draft and republished.",
            "format": "at-uri",
            "type": "string"
          },
          "path": {
            "description": "The slug that starts the article's URL, which ends with the document's record key (/<slug>-<rkey>). Defaults to one made from the title.",
            "maxLength": 200,
            "type": "string"
          },
          "scheduledAt": {
            "description": "When the CMS should publish the draft. Required when status is 'scheduled'.",
            "format": "datetime",
            "type": "string"
          },
          "space": {
            "description": "When set, the article is gated: its content is published into this space and the public document becomes a net.wireservice.gatedContent stub.",
            "format": "space-ref",
            "type": "string"
          },
          "status": {
            "knownValues": [
              "draft",
              "inReview",
              "approved",
              "scheduled",
              "published"
            ],
            "maxLength": 64,
            "type": "string"
          },
          "tags": {
            "items": {
              "maxGraphemes": 128,
              "maxLength": 1280,
              "type": "string"
            },
            "type": "array"
          },
          "title": {
            "maxGraphemes": 500,
            "maxLength": 5000,
            "type": "string"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "status",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "net.wireservice.draft",
  "lexicon": 1
}

Validate Record

Validate a record against net.wireservice.draft

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

Metadata

DID
did:plc:lktj64hp7lc3fzuf6iyy7lwj
CID
bafyreibwvwt4tuevrrroz52zzcz3btztyvzzgayxgcueidyg72neomjfb4
Indexed At
2026-10-13 10:39 UTC
AT-URI
at://did:plc:lktj64hp7lc3fzuf6iyy7lwj/com.atproto.lexicon.schema/net.wireservice.draft

Version History (2 versions)

Referenced Schemas (2)

Similar Lexicons

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

  • A document record representing a published article, blog post, or other content. Documents can belong to a publication or exist independently.

  • net.wireservice.gatedContent objectnot from the namespace authority

    Pointer from a public site.standard.document stub to the full article stored in a subscriber space. Plugs into the open content union of site.standard.document. Renderers that cannot access the space fall back to the st…

  • social.agent.draft.post recordnot from the namespace authority

    Draft post created under a delegation. Lives on the agent's PDS. Accumulating record keyed by TID.

  • A work-in-progress letter, published as a pub.openletter.petition when ready.

  • net.wireservice.comment recordnot from the namespace authority

    An editorial comment on a draft, stored in the publication's private staff space. Written by the publication's DID on behalf of the author.

Lexicon Garden

@