Per-user wrapper that gives a non-ATProto URL a stable AT URI in the user's repo (one record per user per normalized URL).
Record Key
any
Any valid record key
Properties
author
string
Optional
No description available.
maxLength: 512 bytesmaxGraphemes: 128 graphemescreatedAt
string
datetime
Required
An RFC 3339 formatted timestamp.
excerpt
string
Optional
No description available.
maxLength: 8192 bytesmaxGraphemes: 2048 graphemesfingerprint
string
Required
Hash of normalizedUrl (e.g. sha256 hex) for debugging and portability.
maxLength: 128 bytesmaxGraphemes: 128 graphemesimage
string
uri
Optional
A valid URI.
maxLength: 8192 bytesmaxGraphemes: 2048 graphemeslanguage
string
language
Optional
A BCP-47 language tag (e.g., en, pt-BR).
normalizedUrl
string
uri
Required
Canonical normalized URL for deduplication.
maxLength: 8192 bytesmaxGraphemes: 2048 graphemespublishedAt
string
datetime
Optional
An RFC 3339 formatted timestamp.
site
string
Optional
No description available.
maxLength: 512 bytesmaxGraphemes: 128 graphemestitle
string
Optional
No description available.
maxLength: 2048 bytesmaxGraphemes: 512 graphemesurl
string
uri
Required
Original URL as saved.
maxLength: 8192 bytesmaxGraphemes: 2048 graphemesView raw schema
{
"description": "Per-user wrapper that gives a non-ATProto URL a stable AT URI in the user's repo (one record per user per normalized URL).",
"key": "any",
"record": {
"properties": {
"author": {
"maxGraphemes": 128,
"maxLength": 512,
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"excerpt": {
"maxGraphemes": 2048,
"maxLength": 8192,
"type": "string"
},
"fingerprint": {
"description": "Hash of normalizedUrl (e.g. sha256 hex) for debugging and portability.",
"maxGraphemes": 128,
"maxLength": 128,
"type": "string"
},
"image": {
"format": "uri",
"maxGraphemes": 2048,
"maxLength": 8192,
"type": "string"
},
"language": {
"format": "language",
"type": "string"
},
"normalizedUrl": {
"description": "Canonical normalized URL for deduplication.",
"format": "uri",
"maxGraphemes": 2048,
"maxLength": 8192,
"type": "string"
},
"publishedAt": {
"format": "datetime",
"type": "string"
},
"site": {
"maxGraphemes": 128,
"maxLength": 512,
"type": "string"
},
"title": {
"maxGraphemes": 512,
"maxLength": 2048,
"type": "string"
},
"url": {
"description": "Original URL as saved.",
"format": "uri",
"maxGraphemes": 2048,
"maxLength": 8192,
"type": "string"
}
},
"required": [
"url",
"normalizedUrl",
"fingerprint",
"createdAt"
],
"type": "object"
},
"type": "record"
}