town.delve.draft.defs
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"draft": {
"description": "A draft containing an array of draft posts.",
"properties": {
"deviceId": {
"description": "UUIDv4 identifier of the device that created this draft.",
"maxLength": 100,
"type": "string"
},
"deviceName": {
"description": "The device and/or platform on which the draft was created.",
"maxLength": 100,
"type": "string"
},
"langs": {
"description": "Indicates human language of posts primary text content.",
"items": {
"format": "language",
"type": "string"
},
"maxLength": 3,
"type": "array"
},
"postgateEmbeddingRules": {
"description": "Embedding rules for the postgates to be created when this draft is published.",
"items": {
"refs": [
"town.delve.feed.postgate#disableRule"
],
"type": "union"
},
"maxLength": 5,
"type": "array"
},
"posts": {
"description": "Array of draft posts that compose this draft.",
"items": {
"ref": "#draftPost",
"type": "ref"
},
"maxLength": 100,
"minLength": 1,
"type": "array"
},
"threadgateAllow": {
"description": "Allow-rules for the threadgate to be created when this draft is published.",
"items": {
"refs": [
"town.delve.feed.threadgate#mentionRule",
"town.delve.feed.threadgate#followerRule",
"town.delve.feed.threadgate#followingRule",
"town.delve.feed.threadgate#listRule"
],
"type": "union"
},
"maxLength": 5,
"type": "array"
}
},
"required": [
"posts"
],
"type": "object"
},
"draftEmbedCaption": {
"properties": {
"content": {
"maxLength": 10000,
"type": "string"
},
"lang": {
"format": "language",
"type": "string"
}
},
"required": [
"lang",
"content"
],
"type": "object"
},
"draftEmbedExternal": {
"properties": {
"uri": {
"format": "uri",
"type": "string"
}
},
"required": [
"uri"
],
"type": "object"
},
"draftEmbedGallery": {
"properties": {
"items": {
"ref": "#draftEmbedGalleryItems",
"type": "ref"
}
},
"required": [
"items"
],
"type": "object"
},
"draftEmbedGalleryItems": {
"description": "The schema-level maxLength of 20 is a future-proof ceiling. Clients should currently enforce a soft limit of 10 items in authoring UIs.",
"items": {
"refs": [
"#draftEmbedImage"
],
"type": "union"
},
"maxLength": 20,
"type": "array"
},
"draftEmbedImage": {
"properties": {
"alt": {
"maxGraphemes": 2000,
"type": "string"
},
"localRef": {
"ref": "#draftEmbedLocalRef",
"type": "ref"
}
},
"required": [
"localRef"
],
"type": "object"
},
"draftEmbedLocalRef": {
"properties": {
"path": {
"description": "Local, on-device ref to file to be embedded. Embeds are currently device-bound for drafts.",
"maxLength": 1024,
"minLength": 1,
"type": "string"
}
},
"required": [
"path"
],
"type": "object"
},
"draftEmbedRecord": {
"properties": {
"record": {
"ref": "com.atproto.repo.strongRef",
"type": "ref"
}
},
"required": [
"record"
],
"type": "object"
},
"draftEmbedVideo": {
"properties": {
"alt": {
"maxGraphemes": 2000,
"type": "string"
},
"captions": {
"items": {
"ref": "#draftEmbedCaption",
"type": "ref"
},
"maxLength": 20,
"type": "array"
},
"localRef": {
"ref": "#draftEmbedLocalRef",
"type": "ref"
}
},
"required": [
"localRef"
],
"type": "object"
},
"draftPost": {
"description": "One of the posts that compose a draft.",
"properties": {
"embedExternals": {
"items": {
"ref": "#draftEmbedExternal",
"type": "ref"
},
"maxLength": 1,
"type": "array"
},
"embedGallery": {
"ref": "#draftEmbedGallery",
"type": "ref"
},
"embedImages": {
"items": {
"ref": "#draftEmbedImage",
"type": "ref"
},
"maxLength": 4,
"type": "array"
},
"embedRecords": {
"items": {
"ref": "#draftEmbedRecord",
"type": "ref"
},
"maxLength": 1,
"type": "array"
},
"embedVideos": {
"items": {
"ref": "#draftEmbedVideo",
"type": "ref"
},
"maxLength": 1,
"type": "array"
},
"labels": {
"description": "Self-label values for this post. Effectively content warnings.",
"refs": [
"com.atproto.label.defs#selfLabels"
],
"type": "union"
},
"text": {
"description": "The primary post content. It has a higher limit than post contents to allow storing a larger text that can later be refined into smaller posts.",
"maxGraphemes": 100000,
"maxLength": 500000,
"type": "string"
}
},
"required": [
"text"
],
"type": "object"
},
"draftView": {
"description": "View to present drafts data to users.",
"properties": {
"createdAt": {
"description": "The time the draft was created.",
"format": "datetime",
"type": "string"
},
"draft": {
"ref": "#draft",
"type": "ref"
},
"id": {
"description": "A TID to be used as a draft identifier.",
"format": "tid",
"type": "string"
},
"updatedAt": {
"description": "The time the draft was last updated.",
"format": "datetime",
"type": "string"
}
},
"required": [
"id",
"draft",
"createdAt",
"updatedAt"
],
"type": "object"
},
"draftWithId": {
"description": "A draft with an identifier, used to store drafts in private storage (stash).",
"properties": {
"draft": {
"ref": "#draft",
"type": "ref"
},
"id": {
"description": "A TID to be used as a draft identifier.",
"format": "tid",
"type": "string"
}
},
"required": [
"id",
"draft"
],
"type": "object"
}
},
"id": "town.delve.draft.defs",
"lexicon": 1
}
Metadata
- DID
-
did:plc:qzqct2rrq4u2gmy5g3mjxske - CID
-
bafyreifjjkp7z353fompev33ebaesoikwwafsizpqjfl4itynpf2l45h2y - Indexed At
- 2026-09-11 20:04 UTC
- AT-URI
-
at://did:plc:qzqct2rrq4u2gmy5g3mjxske/com.atproto.lexicon.schema/town.delve.draft.defs
Referenced Schemas (6)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
A draft containing an array of draft posts.
-
net.anisota.feed.draft record
Record containing a draft post that can be edited and later published as app.bsky.feed.post
-
Draft post created under a delegation. Lives on the agent's PDS. Accumulating record keyed by TID.