app.kalangitan.feed.story
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "An ephemeral story: visible until expiresAt, then hidden and eligible for deletion. Location is required. 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.",
"key": "tid",
"record": {
"properties": {
"alt": {
"maxGraphemes": 2000,
"maxLength": 2000,
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"expiresAt": {
"description": "When the story stops being visible. The AppView should filter on this and a background job should eventually delete expired records.",
"format": "datetime",
"type": "string"
},
"location": {
"description": "Where this story was captured, coarsened to the persona's configured precision before writing.",
"ref": "app.kalangitan.location.snapshot#geo",
"type": "ref"
},
"media": {
"accept": [
"image/png",
"image/jpeg",
"image/webp"
],
"maxSize": 8000000,
"type": "blob"
},
"profileUri": {
"description": "AT-URI of the app.kalangitan.actor.profile record this story belongs to.",
"format": "at-uri",
"type": "string"
}
},
"required": [
"profileUri",
"media",
"location",
"expiresAt",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"id": "app.kalangitan.feed.story",
"lexicon": 1
}
Metadata
- DID
-
did:plc:2aalhpujw6kqsvraztyqlngu - CID
-
bafyreiezrykh6y4wyxx7di52ethcvwpccanscxact4sxqpjyr766cnqole - Indexed At
- 2026-09-28 14:53 UTC
- AT-URI
-
at://did:plc:2aalhpujw6kqsvraztyqlngu/com.atproto.lexicon.schema/app.kalangitan.feed.story
Referenced Schemas (1)
- app.kalangitan.location.snapshot#geo
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
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 …
-
An ephemeral 24-hour story, mirrored to AT Protocol as a real org.swappulse.story record. Stories expire client-side after 24 hours; the PDS record remains for audit but the AppView filters expired stories from feeds.
-
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.
-
A persona: one of possibly several profiles on a single account. Every post, note, and story belongs to exactly one persona. Location visibility, precision, and gating defaults are set per-persona (see app.kalangitan.lo…
-
blue.flashes.story.post record
A story record for the Flashes app - ephemeral content that expires after a specified duration