app.kalangitan.location.snapshot
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"geo": {
"description": "Shared location shape, referenced by feed.post, feed.note, feed.story, and location.snapshot. Coordinates must already be coarsened to the persona's configured precision before the record is written. The precision field records which level was applied.",
"properties": {
"label": {
"description": "Optional human-readable place name.",
"maxGraphemes": 256,
"maxLength": 256,
"type": "string"
},
"latitude": {
"description": "Latitude in E7 microdegrees (degrees x 10^7), i.e. 145995000 = 14.5995N. The atproto data model has no float type, so coordinates are signed fixed-point integers.",
"maximum": 900000000,
"minimum": -900000000,
"type": "integer"
},
"longitude": {
"description": "Longitude in E7 microdegrees (degrees x 10^7).",
"maximum": 1800000000,
"minimum": -1800000000,
"type": "integer"
},
"precision": {
"description": "exact: precise point. neighborhood: coarsened to ~1km. city: coarsened to city centroid/extent.",
"knownValues": [
"exact",
"neighborhood",
"city"
],
"type": "string"
}
},
"required": [
"latitude",
"longitude",
"precision"
],
"type": "object"
},
"main": {
"description": "A discrete \"here's where I was\" location record. A snapshot, like any other post. Contrast with app.kalangitan.location.live, which is a single continuously-overwritten record. Belongs to a persona via profileUri; the persona's location.visibility defaults govern whether snapshots are recorded at all and at what precision.",
"key": "tid",
"record": {
"properties": {
"capturedAt": {
"description": "When the location was actually captured by the device.",
"format": "datetime",
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"geo": {
"ref": "app.kalangitan.location.snapshot#geo",
"type": "ref"
},
"profileUri": {
"description": "AT-URI of the app.kalangitan.actor.profile record this snapshot belongs to.",
"format": "at-uri",
"type": "string"
}
},
"required": [
"profileUri",
"geo",
"capturedAt",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "app.kalangitan.location.snapshot",
"lexicon": 1
}
Metadata
- DID
-
did:plc:2aalhpujw6kqsvraztyqlngu - CID
-
bafyreifxge73d3ruslcllwtwrwqgfj7kh6j3vxnju6hy2iu2ideirlyia4 - Indexed At
- 2026-09-28 14:56 UTC
- AT-URI
-
at://did:plc:2aalhpujw6kqsvraztyqlngu/com.atproto.lexicon.schema/app.kalangitan.location.snapshot
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Live location: a single continuously-overwritten record, NOT a growing collection. Belongs to a persona via profileUri; near-real-time updates are feasible because Spaces support direct PDS-to-PDS sync without a relay, …
-
Per-persona location defaults: whether location is shared at all (mode) and at what granularity (precision). These defaults keep posting low-friction. Location behavior is configured once per persona, not per post. CONV…
-
A standard post. Location is a required part of every record in this app, not an optional tag. Belongs to exactly one persona via profileUri; the persona's location.visibility defaults govern how the location is stored …
-
app.certified.location record
A location reference
-
A short, lightweight status note. Location is optional. Belongs to exactly one persona via profileUri. For a gated persona this record lives inside the persona's Space; Spaces provide access control, not confidentiality.