# social.smallbury.feed.list

> Published by [lexicon.pds.smallbury.social](https://lexicon.garden/identity/did:plc:wnagcp6h73nxmvmwid2xxukx)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:wnagcp6h73nxmvmwid2xxukx/social.smallbury.feed.list)
- [Documentation](https://lexicon.garden/lexicon/did:plc:wnagcp6h73nxmvmwid2xxukx/social.smallbury.feed.list/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:wnagcp6h73nxmvmwid2xxukx/social.smallbury.feed.list/examples)

## Definitions

### `social.smallbury.feed.list`

**Type**: `query`

Authenticated home feed: root shouts from followed authors, root Smallbury posts from mutually trusted authors, plus all indexed comments on those roots. Includes trust-record revision hints so the client can refresh cached trust records from PDS when needed.

#### Parameters

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `limit` | `integer` | No |  |
| `cursor` | `string` | No |  |

#### Output

**Encoding**: `application/json`

### `social.smallbury.feed.list#feedPage`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `posts` | `array` | Yes |  |
| `cursor` | `string` | No |  |
| `trustRevisions` | `array` | No | Trust-record revision hints for the viewer, feed authors, and mutual contacts relevant to this page. Client compares trustRecordCid to cache and fetches full records from PDS on mismatch. |

### `social.smallbury.feed.list#feedPost`

**Type**: `object`

Post row returned by AppView (cleartext metadata; private posts may include ciphertext from the repo).

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | No |  |
| `uri` | `string` (at-uri) | No |  |
| `createdAt` | `string` (datetime) | No |  |
| `creatorDid` | `string` (did) | No |  |
| `reactionCounts` | `array` | No | Aggregated cleartext emoji reactions indexed by AppView, for public posts only. Encrypted post reactions are not included. |
| `viewerReactions` | `array` | No | Cleartext reactions the authenticated viewer has on this post, with repo record URIs for removal. |

### `social.smallbury.feed.list#reactionCount`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `count` | `integer` | Yes |  |
| `emoji` | `string` | Yes |  |

### `social.smallbury.feed.list#trustRevision`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes | Actor whose social.smallbury.actor.trust record changed. |
| `trustRecordCid` | `string` (cid) | Yes | CID of the trust record commit; primary cache invalidation key. |
| `trustRecordUpdatedAt` | `string` (datetime) | No | Optional updatedAt from the record; secondary hint only. |

### `social.smallbury.feed.list#viewerReaction`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `uri` | `string` (at-uri) | Yes |  |
| `emoji` | `string` | Yes |  |

## Raw Schema

```json
{
  "id": "social.smallbury.feed.list",
  "defs": {
    "main": {
      "type": "query",
      "output": {
        "schema": {
          "ref": "#feedPage",
          "type": "ref"
        },
        "encoding": "application/json"
      },
      "parameters": {
        "type": "params",
        "properties": {
          "limit": {
            "type": "integer",
            "default": 50,
            "maximum": 100,
            "minimum": 1
          },
          "cursor": {
            "type": "string"
          }
        }
      },
      "description": "Authenticated home feed: root shouts from followed authors, root Smallbury posts from mutually trusted authors, plus all indexed comments on those roots. Includes trust-record revision hints so the client can refresh cached trust records from PDS when needed."
    },
    "feedPage": {
      "type": "object",
      "required": [
        "posts"
      ],
      "properties": {
        "posts": {
          "type": "array",
          "items": {
            "ref": "#feedPost",
            "type": "ref"
          }
        },
        "cursor": {
          "type": "string"
        },
        "trustRevisions": {
          "type": "array",
          "items": {
            "ref": "#trustRevision",
            "type": "ref"
          },
          "description": "Trust-record revision hints for the viewer, feed authors, and mutual contacts relevant to this page. Client compares trustRecordCid to cache and fetches full records from PDS on mismatch."
        }
      }
    },
    "feedPost": {
      "type": "object",
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid"
        },
        "uri": {
          "type": "string",
          "format": "at-uri"
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "creatorDid": {
          "type": "string",
          "format": "did"
        },
        "reactionCounts": {
          "type": "array",
          "items": {
            "ref": "#reactionCount",
            "type": "ref"
          },
          "description": "Aggregated cleartext emoji reactions indexed by AppView, for public posts only. Encrypted post reactions are not included."
        },
        "viewerReactions": {
          "type": "array",
          "items": {
            "ref": "#viewerReaction",
            "type": "ref"
          },
          "description": "Cleartext reactions the authenticated viewer has on this post, with repo record URIs for removal."
        }
      },
      "description": "Post row returned by AppView (cleartext metadata; private posts may include ciphertext from the repo)."
    },
    "reactionCount": {
      "type": "object",
      "required": [
        "emoji",
        "count"
      ],
      "properties": {
        "count": {
          "type": "integer",
          "minimum": 1
        },
        "emoji": {
          "type": "string",
          "maxLength": 32,
          "maxGraphemes": 1
        }
      }
    },
    "trustRevision": {
      "type": "object",
      "required": [
        "did",
        "trustRecordCid"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did",
          "description": "Actor whose social.smallbury.actor.trust record changed."
        },
        "trustRecordCid": {
          "type": "string",
          "format": "cid",
          "description": "CID of the trust record commit; primary cache invalidation key."
        },
        "trustRecordUpdatedAt": {
          "type": "string",
          "format": "datetime",
          "description": "Optional updatedAt from the record; secondary hint only."
        }
      }
    },
    "viewerReaction": {
      "type": "object",
      "required": [
        "emoji",
        "uri"
      ],
      "properties": {
        "uri": {
          "type": "string",
          "format": "at-uri"
        },
        "emoji": {
          "type": "string",
          "maxLength": 32,
          "maxGraphemes": 1
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
