Skip to content

Instantly share code, notes, and snippets.

@donohoe
Created June 8, 2026 01:33
Show Gist options
  • Select an option

  • Save donohoe/71e27ea5fec78a1dff7a514a176c94d3 to your computer and use it in GitHub Desktop.

Select an option

Save donohoe/71e27ea5fec78a1dff7a514a176c94d3 to your computer and use it in GitHub Desktop.
An AT Proto lexicon currently under consideration and development
{
"lexicon": 1,
"id": "local.302.bookmark",
"defs": {
"main": {
"type": "record",
"description": "A saved URL bookmark. Field names for subject, createdAt, and tags match community.lexicon.bookmarks.bookmark for partial interop.",
"record": {
"type": "object",
"required": ["subject", "createdAt", "visibility"],
"properties": {
"subject": {
"type": "string",
"format": "uri",
"description": "The saved URL."
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"visibility": {
"type": "string",
"description": "Visibility of this bookmark. Defaults to public on creation.",
"knownValues": ["public", "unlisted"]
},
"status": {
"type": "string",
"description": "User reading state. Optional; absence should be treated as unread.",
"knownValues": ["unread", "read"]
},
"tags": {
"type": "array",
"maxLength": 32,
"items": {
"type": "string",
"maxLength": 64
},
"description": "User-defined tags."
},
"title": {
"type": "string",
"maxLength": 300,
"description": "Page title, from page meta-data or document title."
},
"description": {
"type": "string",
"maxLength": 2000,
"description": "Page description, from page meta-data or meta description."
},
"notes": {
"type": "string",
"maxLength": 2000,
"description": "User's own note on this bookmark."
},
"canonicalUrl": {
"type": "string",
"format": "uri",
"description": "Publisher-declared canonical URL, if different from subject."
},
"siteName": {
"type": "string",
"maxLength": 200,
"description": "Site name from page metadata."
},
"author": {
"type": "string",
"maxLength": 200,
"description": "Author name from page metadata."
},
"publishedAt": {
"type": "string",
"format": "datetime",
"description": "Original publication date, if available from page metadata."
},
"thumbnailUrl": {
"type": "string",
"format": "uri",
"description": "Image URL."
},
"savedFrom": {
"type": "string",
"format": "at-uri",
"description": "AT-URI of the bookmark this was re-saved from."
},
"savedFromHandle": {
"type": "string",
"maxLength": 200,
"description": "Cached handle of the user this was re-saved from, for display."
},
"updatedAt": {
"type": "string",
"format": "datetime"
}
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment