# app.zeens.markConvoSeen

> Published by [zeens.app](https://lexicon.garden/identity/did:plc:pwpuqwge6g7xrjmfbw73uycw)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:pwpuqwge6g7xrjmfbw73uycw/app.zeens.markConvoSeen)
- [Documentation](https://lexicon.garden/lexicon/did:plc:pwpuqwge6g7xrjmfbw73uycw/app.zeens.markConvoSeen/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:pwpuqwge6g7xrjmfbw73uycw/app.zeens.markConvoSeen/examples)

## Definitions

### `app.zeens.markConvoSeen`

**Type**: `query`

Advance the viewer's per-conversation seen cursor (never moves backwards). Modelled as a query to avoid the DPoP requirement on procedures; it writes internal bookkeeping, not a PDS record.

#### Parameters

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `convoId` | `string` | Yes |  |
| `seenAt` | `string` (datetime) | Yes |  |
| `viewer` | `string` (did) | Yes |  |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `seenAt` | `string` (datetime) | Yes |  |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Advance the viewer's per-conversation seen cursor (never moves backwards). Modelled as a query to avoid the DPoP requirement on procedures; it writes internal bookkeeping, not a PDS record.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "seenAt": {
              "format": "datetime",
              "type": "string"
            }
          },
          "required": [
            "seenAt"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "convoId": {
            "type": "string"
          },
          "seenAt": {
            "format": "datetime",
            "type": "string"
          },
          "viewer": {
            "format": "did",
            "type": "string"
          }
        },
        "required": [
          "viewer",
          "convoId",
          "seenAt"
        ],
        "type": "params"
      },
      "type": "query"
    }
  },
  "id": "app.zeens.markConvoSeen",
  "lexicon": 1
}
```
