# app.atmobb.forum.getStamps

> Published by [lexicons.atmobb.app](https://lexicon.garden/identity/did:plc:dqnwiguwsbb6uwrm7a2rsff2)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:dqnwiguwsbb6uwrm7a2rsff2/app.atmobb.forum.getStamps)
- [Documentation](https://lexicon.garden/lexicon/did:plc:dqnwiguwsbb6uwrm7a2rsff2/app.atmobb.forum.getStamps/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:dqnwiguwsbb6uwrm7a2rsff2/app.atmobb.forum.getStamps/examples)

## Definitions

### `app.atmobb.forum.getStamps#generatedStamp`

**Type**: `object`

A stamp the network generates rather than an admin defining. Its id is fixed: atmobb:board:<board at-uri>, atmobb:arrival, atmobb:first-light, or atmobb:early-days.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `board` | `string` (at-uri) | No | For a board stamp: the board it marks. |
| `id` | `string` | Yes |  |
| `look` | `ref` → `app.atmobb.forum.stamp#look` | Yes |  |
| `name` | `string` | Yes |  |
| `sponsor` | `string` (did) | No | For an arrival stamp: who brought the member in. |
| `trigger` | `ref` → `app.atmobb.forum.stamp#trigger` | No |  |
| `via` | `string` | No | For an arrival stamp: how the member was accepted. |

### `app.atmobb.forum.getStamps`

**Type**: `query`

A forum's stamps: the admin-defined stamp records plus the generated network set. With actor, also that member's tray (every stamp they hold on this forum), the ids they currently wear, in order, and the topics they pinned to their profile page.

#### Parameters

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `actor` | `string` (did) | No | A member whose tray and worn list to include. |
| `forum` | `string` (did) | Yes |  |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `network` | `array` | Yes | The fixed network stamps every forum on this appview offers (first light, early days). Board and arrival defaults are per member and appear in the tray. |
| `pinned` | `array` | No | At-uris the actor pinned to their profile page on this forum, from their newest membership record, in order. Unverified: the app checks each is the actor's own readable topic. Present only when actor is given. |
| `stamps` | `array` | Yes | Stamps the forum defined, as app.atmobb.forum.stamp records. |
| `tray` | `array` | No | Every stamp the actor holds on this forum. Present only when actor is given. |
| `worn` | `array` | No | Ids from the tray the actor wears, in order. Present only when actor is given. |

### `app.atmobb.forum.getStamps#stampView`

**Type**: `object`

An admin-defined stamp. uri and cid let a by-hand award build its strongRef.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `look` | `ref` → `app.atmobb.forum.stamp#look` | Yes |  |
| `name` | `string` | Yes |  |
| `trigger` | `ref` → `app.atmobb.forum.stamp#trigger` | Yes |  |
| `uri` | `string` (at-uri) | Yes |  |

### `app.atmobb.forum.getStamps#trayEntry`

**Type**: `object`

One stamp a member holds. id is the stamp record's at-uri for an admin stamp or the fixed id of a generated one. uri, cid, and look are present for admin stamps and look for network stamps; a board default carries the board and its color so the app can draw it, and an arrival default carries via and sponsor.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `board` | `string` (at-uri) | No | For a board stamp: the board it marks. |
| `boardColor` | `string` | No | For a board stamp: the board's six-digit hex color, when it has one. |
| `cid` | `string` (cid) | No |  |
| `id` | `string` | Yes |  |
| `look` | `ref` → `app.atmobb.forum.stamp#look` | No |  |
| `name` | `string` | Yes |  |
| `source` | `string` | Yes | How the member came to hold it: an admin-defined trigger, a default every member gets, the network set, or a by-hand award. |
| `sponsor` | `string` (did) | No | For an arrival stamp: who brought the member in. |
| `trigger` | `ref` → `app.atmobb.forum.stamp#trigger` | No |  |
| `triggerBoardName` | `string` | No | The board name for an earned firstPostInBoard trigger. |
| `uri` | `string` (at-uri) | No |  |
| `via` | `string` | No | For an arrival stamp: how the member was accepted. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "generatedStamp": {
      "description": "A stamp the network generates rather than an admin defining. Its id is fixed: atmobb:board:<board at-uri>, atmobb:arrival, atmobb:first-light, or atmobb:early-days.",
      "properties": {
        "board": {
          "description": "For a board stamp: the board it marks.",
          "format": "at-uri",
          "type": "string"
        },
        "id": {
          "maxLength": 300,
          "type": "string"
        },
        "look": {
          "ref": "app.atmobb.forum.stamp#look",
          "type": "ref"
        },
        "name": {
          "maxGraphemes": 24,
          "maxLength": 240,
          "type": "string"
        },
        "sponsor": {
          "description": "For an arrival stamp: who brought the member in.",
          "format": "did",
          "type": "string"
        },
        "trigger": {
          "ref": "app.atmobb.forum.stamp#trigger",
          "type": "ref"
        },
        "via": {
          "description": "For an arrival stamp: how the member was accepted.",
          "knownValues": [
            "invite",
            "application",
            "founding"
          ],
          "maxLength": 32,
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "look"
      ],
      "type": "object"
    },
    "main": {
      "description": "A forum's stamps: the admin-defined stamp records plus the generated network set. With actor, also that member's tray (every stamp they hold on this forum), the ids they currently wear, in order, and the topics they pinned to their profile page.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "network": {
              "description": "The fixed network stamps every forum on this appview offers (first light, early days). Board and arrival defaults are per member and appear in the tray.",
              "items": {
                "ref": "#generatedStamp",
                "type": "ref"
              },
              "type": "array"
            },
            "pinned": {
              "description": "At-uris the actor pinned to their profile page on this forum, from their newest membership record, in order. Unverified: the app checks each is the actor's own readable topic. Present only when actor is given.",
              "items": {
                "format": "at-uri",
                "type": "string"
              },
              "maxLength": 4,
              "type": "array"
            },
            "stamps": {
              "description": "Stamps the forum defined, as app.atmobb.forum.stamp records.",
              "items": {
                "ref": "#stampView",
                "type": "ref"
              },
              "type": "array"
            },
            "tray": {
              "description": "Every stamp the actor holds on this forum. Present only when actor is given.",
              "items": {
                "ref": "#trayEntry",
                "type": "ref"
              },
              "type": "array"
            },
            "worn": {
              "description": "Ids from the tray the actor wears, in order. Present only when actor is given.",
              "items": {
                "maxLength": 300,
                "type": "string"
              },
              "maxLength": 6,
              "type": "array"
            }
          },
          "required": [
            "stamps",
            "network"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "actor": {
            "description": "A member whose tray and worn list to include.",
            "format": "did",
            "type": "string"
          },
          "forum": {
            "format": "did",
            "type": "string"
          }
        },
        "required": [
          "forum"
        ],
        "type": "params"
      },
      "type": "query"
    },
    "stampView": {
      "description": "An admin-defined stamp. uri and cid let a by-hand award build its strongRef.",
      "properties": {
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "look": {
          "ref": "app.atmobb.forum.stamp#look",
          "type": "ref"
        },
        "name": {
          "maxGraphemes": 24,
          "maxLength": 240,
          "type": "string"
        },
        "trigger": {
          "ref": "app.atmobb.forum.stamp#trigger",
          "type": "ref"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "cid",
        "name",
        "look",
        "trigger",
        "createdAt"
      ],
      "type": "object"
    },
    "trayEntry": {
      "description": "One stamp a member holds. id is the stamp record's at-uri for an admin stamp or the fixed id of a generated one. uri, cid, and look are present for admin stamps and look for network stamps; a board default carries the board and its color so the app can draw it, and an arrival default carries via and sponsor.",
      "properties": {
        "board": {
          "description": "For a board stamp: the board it marks.",
          "format": "at-uri",
          "type": "string"
        },
        "boardColor": {
          "description": "For a board stamp: the board's six-digit hex color, when it has one.",
          "maxLength": 7,
          "type": "string"
        },
        "cid": {
          "format": "cid",
          "type": "string"
        },
        "id": {
          "maxLength": 300,
          "type": "string"
        },
        "look": {
          "ref": "app.atmobb.forum.stamp#look",
          "type": "ref"
        },
        "name": {
          "maxGraphemes": 24,
          "maxLength": 240,
          "type": "string"
        },
        "source": {
          "description": "How the member came to hold it: an admin-defined trigger, a default every member gets, the network set, or a by-hand award.",
          "knownValues": [
            "admin",
            "default",
            "network",
            "byHand"
          ],
          "maxLength": 32,
          "type": "string"
        },
        "sponsor": {
          "description": "For an arrival stamp: who brought the member in.",
          "format": "did",
          "type": "string"
        },
        "trigger": {
          "ref": "app.atmobb.forum.stamp#trigger",
          "type": "ref"
        },
        "triggerBoardName": {
          "description": "The board name for an earned firstPostInBoard trigger.",
          "type": "string"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        },
        "via": {
          "description": "For an arrival stamp: how the member was accepted.",
          "knownValues": [
            "invite",
            "application",
            "founding"
          ],
          "maxLength": 32,
          "type": "string"
        }
      },
      "required": [
        "id",
        "name",
        "source"
      ],
      "type": "object"
    }
  },
  "id": "app.atmobb.forum.getStamps",
  "lexicon": 1
}
```
