# org.hypercerts.collection

> Published by [hypercerts.org](https://lexicon.garden/identity/did:plc:s4puetfspot742ai7y4otuel)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:s4puetfspot742ai7y4otuel/org.hypercerts.collection)
- [Documentation](https://lexicon.garden/lexicon/did:plc:s4puetfspot742ai7y4otuel/org.hypercerts.collection/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:s4puetfspot742ai7y4otuel/org.hypercerts.collection/examples)

## Definitions

### `org.hypercerts.collection#item`

**Type**: `object`

An item in a collection, with an identifier and optional weight.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `itemWeight` | `string` | No | Optional weight for this item (positive numeric value stored as string). Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed. |
| `itemIdentifier` | `ref` → `com.atproto.repo.strongRef` | Yes | Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.collection). |

### `org.hypercerts.collection`

**Type**: `record`

A collection/group of items (activities and/or other collections). Collections support recursive nesting.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `type` | `string` | No | The type of this collection. Values beyond the known set are permitted. |
| `items` | `array` | No | Array of items in this collection with optional weights. |
| `title` | `string` | Yes | Display name for this collection (e.g. 'Q1 2025 Impact Projects') |
| `avatar` | `union` | No | The collection's avatar/profile image as a URI or image blob. |
| `banner` | `union` | No | Larger horizontal image to display behind the collection view. |
| `location` | `ref` → `com.atproto.repo.strongRef` | No | A strong reference to the location where this collection's activities were performed. The record referenced must conform with the lexicon app.certified.location. |
| `createdAt` | `string` (datetime) | Yes | Client-declared timestamp when this record was originally created |
| `description` | `union` | No | Long-form description of the collection. An inline string for plain text or markdown, a Leaflet linear document for rich-text content, or a strong reference to an external description record. |
| `shortDescription` | `string` | No | Short summary of this collection, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`. |
| `shortDescriptionFacets` | `array` | No | Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc). |

## Raw Schema

```json
{
  "id": "org.hypercerts.collection",
  "defs": {
    "item": {
      "type": "object",
      "required": [
        "itemIdentifier"
      ],
      "properties": {
        "itemWeight": {
          "type": "string",
          "maxLength": 100,
          "description": "Optional weight for this item (positive numeric value stored as string). Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed."
        },
        "itemIdentifier": {
          "ref": "com.atproto.repo.strongRef",
          "type": "ref",
          "description": "Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.collection)."
        }
      },
      "description": "An item in a collection, with an identifier and optional weight."
    },
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "title",
          "createdAt"
        ],
        "properties": {
          "type": {
            "type": "string",
            "maxLength": 64,
            "description": "The type of this collection. Values beyond the known set are permitted.",
            "knownValues": [
              "favorites",
              "project",
              "portfolio",
              "program"
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "ref": "#item",
              "type": "ref"
            },
            "maxLength": 1000,
            "description": "Array of items in this collection with optional weights."
          },
          "title": {
            "type": "string",
            "maxLength": 800,
            "description": "Display name for this collection (e.g. 'Q1 2025 Impact Projects')",
            "maxGraphemes": 80
          },
          "avatar": {
            "refs": [
              "org.hypercerts.defs#uri",
              "org.hypercerts.defs#smallImage"
            ],
            "type": "union",
            "description": "The collection's avatar/profile image as a URI or image blob."
          },
          "banner": {
            "refs": [
              "org.hypercerts.defs#uri",
              "org.hypercerts.defs#largeImage"
            ],
            "type": "union",
            "description": "Larger horizontal image to display behind the collection view."
          },
          "location": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref",
            "description": "A strong reference to the location where this collection's activities were performed. The record referenced must conform with the lexicon app.certified.location."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "Client-declared timestamp when this record was originally created"
          },
          "description": {
            "refs": [
              "org.hypercerts.defs#descriptionString",
              "pub.leaflet.pages.linearDocument",
              "com.atproto.repo.strongRef"
            ],
            "type": "union",
            "description": "Long-form description of the collection. An inline string for plain text or markdown, a Leaflet linear document for rich-text content, or a strong reference to an external description record."
          },
          "shortDescription": {
            "type": "string",
            "maxLength": 3000,
            "description": "Short summary of this collection, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.",
            "maxGraphemes": 300
          },
          "shortDescriptionFacets": {
            "type": "array",
            "items": {
              "ref": "app.bsky.richtext.facet",
              "type": "ref"
            },
            "description": "Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc)."
          }
        }
      },
      "description": "A collection/group of items (activities and/or other collections). Collections support recursive nesting."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
