A lexicon-driven AppView for ATProto.
happyview docs reference glossary.md
4.3 kB

Glossary #

Key terms used throughout the HappyView documentation. For a broader introduction to the AT Protocol, see the official ATProto glossary.

AT Protocol terms #

AppView — A backend service that indexes AT Protocol records and serves them through an API. HappyView is an AppView. See the ATProto docs for more.

DID (Decentralized Identifier) — A persistent, globally unique identifier for an account (e.g. did:plc:abc123).

Firehose — A real-time stream of all record events (creates, updates, deletes) across the AT Protocol network. HappyView consumes this via Tap.

Handle — A human-readable name for an account (e.g. user.bsky.social). Handles resolve to a DID via DNS or the PLC directory.

Lexicon — A schema definition for AT Protocol data types and API methods. Lexicons define what records look like, what endpoints exist, and what parameters they accept. See Lexicons.

NSID (Namespaced Identifier) — A reverse-DNS identifier for a lexicon (e.g. xyz.statusphere.status). The authority is everything except the last segment.

PDS (Personal Data Server) — The server that hosts a user's data. Users can be on any PDS — there's no single server. HappyView proxies writes back to each user's PDS.

PLC directory — A public service (e.g. plc.directory) that maps DIDs to their DID documents, which contain the user's PDS endpoint and other metadata.

Record — A single piece of data in an AT Protocol repository, identified by an AT URI (e.g. at://did:plc:abc/xyz.statusphere.status/abc123).

Relay — A network service that aggregates repository data from many PDSes. HappyView queries the relay during backfill to discover which repos contain records for a given collection, then delegates the actual record fetching to Tap.

rkey (Record Key) — The unique key for a record within a collection and repo. These are most commonly TIDs (timestamp-based) or NSIDs.

TID (Timestamp Identifier) — A 13-character sortable identifier used as a record key. Generated from the current timestamp.

XRPC — The HTTP-based RPC protocol used by the AT Protocol. Query methods map to GET requests, procedure methods map to POST requests. See XRPC API.

HappyView-specific terms #

Backfill — The process of bulk-indexing existing records from the network. HappyView discovers repos via the relay and delegates record fetching to Tap. Runs when a new record-type lexicon is uploaded or triggered manually. See Backfill.

Network lexicon — A lexicon fetched directly from the AT Protocol network via DNS authority resolution, rather than uploaded manually. See Lexicons - Network lexicons.

Tap — A firehose consumer and backfill worker that handles real-time record streaming, cryptographic verification, and historical record fetching. HappyView connects to Tap via WebSocket to receive record events, and delegates backfill work to Tap via its HTTP API.

Permission — A granular access control right that authorizes a specific action in the admin API. HappyView defines 20 permissions organized by category (e.g. lexicons:create, users:read). See Permissions.

Permission template — A predefined set of permissions that can be applied when creating a user. Templates are: Viewer (read-only access), Operator (viewer + backfill and API key management), Manager (operator + lexicon and record management), and Full Access (all 20 permissions).

Super user — The bootstrapped user created on first login to a fresh HappyView instance. The super user has unrestricted access to all endpoints regardless of permissions, can transfer super status to another user, and cannot be deleted.

Target collection — The record collection that a query or procedure lexicon operates on. Set via the target_collection field when uploading a lexicon.