Reference
Data model
Your content is stored as standard AT Protocol records in
your own Bluesky account, following the
site.standard lexicons. This page is a
quick reference; the
SDK concepts page covers the
same ground in the detail a developer needs.
The golden rule
Fields defined by the site.standard spec live at the top level of a record.
Anything SkyScribe-specific that the spec doesn't define lives inside a scribe
object on the same record. Nothing SkyScribe-specific is ever added at the top
level.
site.standard.publication
One record per Publication.
| Field | Notes |
|---|---|
url | Canonical site URL, e.g. https://alice.example.com (spec) |
name | Publication name (spec) |
description | Optional (spec) |
icon | Optional square image blob (spec) |
scribe.domain / scribe.basePath | Domain and optional path prefix |
scribe.title / scribe.description | Display title and summary |
scribe.splashImageUrl / scribe.logoImageUrl | Site images |
scribe.groups | The ordered Categories — each has a slug, title, and a list of article references |
site.standard.document
One record per Document, draft or published.
| Field | Notes |
|---|---|
site | AT URI of the Publication this Document belongs to (spec) |
title | Required (spec) |
path | URL path, e.g. /essays/a-year-of-letters (spec) |
description | Optional (spec) |
content | The body, as HTML (spec) |
textContent | Plain-text version of the body (spec) |
tags | Optional (spec) |
contributors | Optional { did, role?, displayName? } credits (spec) |
bskyPostRef | Set if the Document was cross-posted to Bluesky (spec) |
publishedAt / updatedAt | Timestamps (spec) |
scribe.createdAt | When the Document was first created |
scribe.coverImageUrl / scribe.canonicalUrl | Cover image source and full public URL |
Draft vs. published is not a field on the Document — it's determined
entirely by whether any Publication's scribe.groups references it.
What isn't in your PDS
Design Configs, subscriptions, Site Slots, and the Image Library's metadata are SkyScribe's own hosting data, kept in SkyScribe's database — not in your Bluesky account. Your content is always the AT Protocol records above.