# is.currents.feed.defs

> Published by [currents.is](https://lexicon.garden/identity/did:plc:jaur46k6ijyfvl4lojza7eic)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:jaur46k6ijyfvl4lojza7eic/is.currents.feed.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:jaur46k6ijyfvl4lojza7eic/is.currents.feed.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:jaur46k6ijyfvl4lojza7eic/is.currents.feed.defs/examples)

## Definitions

### `is.currents.feed.defs#saveView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `uri` | `string` (at-uri) | Yes | AT-URI of the save record. |
| `text` | `string` | No | Optional user-authored note attached to the save. |
| `author` | `ref` → `is.currents.actor.defs#profileView` | Yes | Profile view of the account that created the save. |
| `viewer` | `ref` → `#saveViewerState` | No | Viewer-specific state. Only present when the request is authenticated. |
| `content` | `union` | Yes | Content payload for this save. |
| `resaveOf` | `ref` → `com.atproto.repo.strongRef` | No | Strong reference to the original save record when this save is a resave. |
| `createdAt` | `string` (datetime) | Yes | Creation time of the save record. |
| `originUrl` | `string` (uri) | No | Original source URL associated with the saved item, if known. |

### `is.currents.feed.defs#collectionView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes | CID of the collection record. |
| `uri` | `string` (at-uri) | Yes | AT-URI of the collection record. |
| `name` | `string` | Yes | Collection display name. |
| `author` | `ref` → `is.currents.actor.defs#profileView` | Yes | Profile view of the account that owns the collection. |
| `viewer` | `ref` → `#collectionViewerState` | No | Viewer-specific state. Only present when the request is authenticated. |
| `createdAt` | `string` (datetime) | Yes | Creation time of the collection record. |
| `saveCount` | `integer` | No | Number of saves currently in the collection. |
| `description` | `string` | No | Optional description shown with the collection. |
| `previewImages` | `array` | No | Up to four CDN preview image URLs for items in the collection. |

### `is.currents.feed.defs#saveViewerState`

**Type**: `object`

Metadata about the requesting account's relationship with this save. Only present when the request is authenticated.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `saves` | `array` | No | The viewer's own saves of this item, one per collection they have saved it in. |

### `is.currents.feed.defs#collectionViewerState`

**Type**: `object`

Metadata about the requesting account's relationship with this collection. Only present when the request is authenticated.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `starred` | `boolean` | No | Whether the authenticated user has starred this collection. |

## Raw Schema

```json
{
  "id": "is.currents.feed.defs",
  "defs": {
    "saveView": {
      "type": "object",
      "required": [
        "uri",
        "author",
        "content",
        "createdAt"
      ],
      "properties": {
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the save record."
        },
        "text": {
          "type": "string",
          "description": "Optional user-authored note attached to the save."
        },
        "author": {
          "ref": "is.currents.actor.defs#profileView",
          "type": "ref",
          "description": "Profile view of the account that created the save."
        },
        "viewer": {
          "ref": "#saveViewerState",
          "type": "ref",
          "description": "Viewer-specific state. Only present when the request is authenticated."
        },
        "content": {
          "refs": [
            "is.currents.content.defs#imageView"
          ],
          "type": "union",
          "closed": false,
          "description": "Content payload for this save."
        },
        "resaveOf": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref",
          "description": "Strong reference to the original save record when this save is a resave."
        },
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "Creation time of the save record."
        },
        "originUrl": {
          "type": "string",
          "format": "uri",
          "description": "Original source URL associated with the saved item, if known."
        }
      }
    },
    "collectionView": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "author",
        "name",
        "createdAt"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid",
          "description": "CID of the collection record."
        },
        "uri": {
          "type": "string",
          "format": "at-uri",
          "description": "AT-URI of the collection record."
        },
        "name": {
          "type": "string",
          "description": "Collection display name."
        },
        "author": {
          "ref": "is.currents.actor.defs#profileView",
          "type": "ref",
          "description": "Profile view of the account that owns the collection."
        },
        "viewer": {
          "ref": "#collectionViewerState",
          "type": "ref",
          "description": "Viewer-specific state. Only present when the request is authenticated."
        },
        "createdAt": {
          "type": "string",
          "format": "datetime",
          "description": "Creation time of the collection record."
        },
        "saveCount": {
          "type": "integer",
          "description": "Number of saves currently in the collection."
        },
        "description": {
          "type": "string",
          "description": "Optional description shown with the collection."
        },
        "previewImages": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "uri"
          },
          "maxLength": 4,
          "description": "Up to four CDN preview image URLs for items in the collection."
        }
      }
    },
    "saveViewerState": {
      "type": "object",
      "properties": {
        "saves": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "collectionUri",
              "saveUri"
            ],
            "properties": {
              "saveUri": {
                "type": "string",
                "format": "at-uri",
                "description": "AT-URI of the viewer's save record."
              },
              "collectionUri": {
                "type": "string",
                "format": "at-uri",
                "description": "AT-URI of the viewer collection containing this save."
              }
            }
          },
          "description": "The viewer's own saves of this item, one per collection they have saved it in."
        }
      },
      "description": "Metadata about the requesting account's relationship with this save. Only present when the request is authenticated."
    },
    "collectionViewerState": {
      "type": "object",
      "properties": {
        "starred": {
          "type": "boolean",
          "description": "Whether the authenticated user has starred this collection."
        }
      },
      "description": "Metadata about the requesting account's relationship with this collection. Only present when the request is authenticated."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
