# org.swappulse.story

> Published by [bridge.swappulse.org](https://lexicon.garden/identity/did:plc:jwoatauidzr4lollmro2gh35)

## Description

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.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:jwoatauidzr4lollmro2gh35/org.swappulse.story)
- [Documentation](https://lexicon.garden/lexicon/did:plc:jwoatauidzr4lollmro2gh35/org.swappulse.story/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:jwoatauidzr4lollmro2gh35/org.swappulse.story/examples)

## Definitions

### `org.swappulse.story`

**Type**: `record`

An ephemeral story with one or more media segments.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `content` | `string` | No |  |
| `audience` | `string` | Yes |  |
| `imageUri` | `string` (uri) | No |  |
| `segments` | `array` | No |  |
| `viewedBy` | `array` | No |  |
| `authorDid` | `string` (did) | No |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `expiresAt` | `string` (datetime) | Yes |  |
| `authorName` | `string` | No |  |
| `bgGradient` | `string` | No |  |
| `storyGroup` | `string` | No |  |
| `authorHandle` | `string` | No |  |

## Raw Schema

```json
{
  "id": "org.swappulse.story",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "expiresAt",
          "audience",
          "createdAt"
        ],
        "properties": {
          "content": {
            "type": "string",
            "maxLength": 280
          },
          "audience": {
            "type": "string",
            "knownValues": [
              "friends",
              "public"
            ]
          },
          "imageUri": {
            "type": "string",
            "format": "uri"
          },
          "segments": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "order": {
                  "type": "integer",
                  "minimum": 0
                },
                "cardName": {
                  "type": "string"
                },
                "duration": {
                  "type": "integer",
                  "maximum": 15,
                  "minimum": 3
                },
                "cardImage": {
                  "type": "string",
                  "format": "uri"
                },
                "mediaBlob": {
                  "type": "string",
                  "format": "uri"
                },
                "mediaType": {
                  "type": "string",
                  "knownValues": [
                    "image",
                    "video",
                    "text",
                    "card"
                  ]
                },
                "textOverlay": {
                  "type": "string",
                  "maxLength": 200
                },
                "cardEmbedUri": {
                  "type": "string"
                },
                "textPosition": {
                  "type": "string",
                  "knownValues": [
                    "top",
                    "center",
                    "bottom"
                  ]
                },
                "backgroundColor": {
                  "type": "string"
                }
              }
            },
            "maxLength": 20,
            "minLength": 1
          },
          "viewedBy": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "did"
            }
          },
          "authorDid": {
            "type": "string",
            "format": "did"
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "expiresAt": {
            "type": "string",
            "format": "datetime"
          },
          "authorName": {
            "type": "string"
          },
          "bgGradient": {
            "type": "string",
            "knownValues": [
              "purple",
              "sunset",
              "ocean"
            ]
          },
          "storyGroup": {
            "type": "string"
          },
          "authorHandle": {
            "type": "string"
          }
        }
      },
      "description": "An ephemeral story with one or more media segments."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "revision": 1,
  "description": "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."
}
```
