# net.atpix.gallery.defs

> Published by [lexicon.atpix.net](https://lexicon.garden/identity/did:plc:x4crpdfko2d7xrcd5eovpwex)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:x4crpdfko2d7xrcd5eovpwex/net.atpix.gallery.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:x4crpdfko2d7xrcd5eovpwex/net.atpix.gallery.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:x4crpdfko2d7xrcd5eovpwex/net.atpix.gallery.defs/examples)

## Definitions

### `net.atpix.gallery.defs#album`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | Yes |  |
| `creator` | `string` (did) | No |  |
| `spaceUri` | `string` | No |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `modifiedAt` | `string` (datetime) | No |  |
| `visibility` | `ref` → `#visibility` | Yes |  |
| `description` | `string` | No |  |
| `coverPhotoUri` | `string` (at-uri) | No |  |
| `collectionRuleUris` | `array` | No |  |

### `net.atpix.gallery.defs#photo`

**Type**: `object`

Hydrated photo record view (subset of net.atpix.gallery.photo fields).

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `image` | `blob` | Yes |  |
| `title` | `string` | No |  |
| `width` | `integer` | No |  |
| `height` | `integer` | No |  |
| `source` | `string` (at-uri) | No |  |
| `caption` | `string` | No |  |
| `creator` | `string` (did) | No |  |
| `license` | `string` (uri) | No |  |
| `keywords` | `array` | No |  |
| `spaceUri` | `string` | No |  |
| `albumUris` | `array` | No |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `thumbnail` | `blob` | No |  |
| `inLanguage` | `string` | No |  |
| `modifiedAt` | `string` (datetime) | No |  |
| `visibility` | `ref` → `#visibility` | No |  |
| `contributor` | `string` (did) | No |  |
| `description` | `string` | No |  |
| `copyrightHolder` | `string` (did) | No |  |
| `locationCreated` | `ref` → `#geoPlace` | No |  |

### `net.atpix.gallery.defs#geoPlace`

**Type**: `object`

Subset of schema:Place for schema:locationCreated.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `name` | `string` | No | schema:Place.name — human-readable place name. |
| `latitude` | `string` | No | schema:GeoCoordinates.latitude (WGS 84), decimal degrees as a string (atproto has no float type). |
| `longitude` | `string` | No | schema:GeoCoordinates.longitude (WGS 84), decimal degrees as a string (atproto has no float type). |

### `net.atpix.gallery.defs#albumView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes |  |
| `uri` | `string` (at-uri) | Yes |  |
| `author` | `string` (did) | Yes |  |
| `record` | `ref` → `#album` | Yes |  |

### `net.atpix.gallery.defs#photoView`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cid` | `string` (cid) | Yes |  |
| `uri` | `string` (at-uri) | Yes |  |
| `author` | `string` (did) | Yes |  |
| `record` | `ref` → `#photo` | Yes |  |

### `net.atpix.gallery.defs#visibility`

**Type**: `string`

ATPix visibility scope. Permissioned uses HappyView Permissioned Spaces (ATP-0016).

**Allowed Values**:
- `public`
- `unlisted`
- `permissioned`

### `net.atpix.gallery.defs#targetScope`

**Type**: `string`

Whether a collection rule powers the social gallery feed or a specific album.

**Allowed Values**:
- `gallery`
- `album`

## Raw Schema

```json
{
  "id": "net.atpix.gallery.defs",
  "defs": {
    "album": {
      "type": "object",
      "required": [
        "name",
        "createdAt",
        "visibility"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 200
        },
        "creator": {
          "type": "string",
          "format": "did"
        },
        "spaceUri": {
          "type": "string",
          "maxLength": 512
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "modifiedAt": {
          "type": "string",
          "format": "datetime"
        },
        "visibility": {
          "ref": "#visibility",
          "type": "ref"
        },
        "description": {
          "type": "string",
          "maxLength": 5000
        },
        "coverPhotoUri": {
          "type": "string",
          "format": "at-uri"
        },
        "collectionRuleUris": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "at-uri"
          }
        }
      }
    },
    "photo": {
      "type": "object",
      "required": [
        "image",
        "createdAt"
      ],
      "properties": {
        "image": {
          "type": "blob",
          "accept": [
            "image/*"
          ]
        },
        "title": {
          "type": "string",
          "maxLength": 500
        },
        "width": {
          "type": "integer",
          "minimum": 1
        },
        "height": {
          "type": "integer",
          "minimum": 1
        },
        "source": {
          "type": "string",
          "format": "at-uri"
        },
        "caption": {
          "type": "string",
          "maxLength": 2000
        },
        "creator": {
          "type": "string",
          "format": "did"
        },
        "license": {
          "type": "string",
          "format": "uri"
        },
        "keywords": {
          "type": "array",
          "items": {
            "type": "string",
            "maxLength": 64
          }
        },
        "spaceUri": {
          "type": "string",
          "maxLength": 512
        },
        "albumUris": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "at-uri"
          }
        },
        "createdAt": {
          "type": "string",
          "format": "datetime"
        },
        "thumbnail": {
          "type": "blob",
          "accept": [
            "image/*"
          ]
        },
        "inLanguage": {
          "type": "string",
          "maxLength": 35
        },
        "modifiedAt": {
          "type": "string",
          "format": "datetime"
        },
        "visibility": {
          "ref": "#visibility",
          "type": "ref"
        },
        "contributor": {
          "type": "string",
          "format": "did"
        },
        "description": {
          "type": "string",
          "maxLength": 5000
        },
        "copyrightHolder": {
          "type": "string",
          "format": "did"
        },
        "locationCreated": {
          "ref": "#geoPlace",
          "type": "ref"
        }
      },
      "description": "Hydrated photo record view (subset of net.atpix.gallery.photo fields)."
    },
    "geoPlace": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 500,
          "description": "schema:Place.name — human-readable place name."
        },
        "latitude": {
          "type": "string",
          "description": "schema:GeoCoordinates.latitude (WGS 84), decimal degrees as a string (atproto has no float type)."
        },
        "longitude": {
          "type": "string",
          "description": "schema:GeoCoordinates.longitude (WGS 84), decimal degrees as a string (atproto has no float type)."
        }
      },
      "description": "Subset of schema:Place for schema:locationCreated."
    },
    "albumView": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "author",
        "record"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid"
        },
        "uri": {
          "type": "string",
          "format": "at-uri"
        },
        "author": {
          "type": "string",
          "format": "did"
        },
        "record": {
          "ref": "#album",
          "type": "ref"
        }
      }
    },
    "photoView": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "author",
        "record"
      ],
      "properties": {
        "cid": {
          "type": "string",
          "format": "cid"
        },
        "uri": {
          "type": "string",
          "format": "at-uri"
        },
        "author": {
          "type": "string",
          "format": "did"
        },
        "record": {
          "ref": "#photo",
          "type": "ref"
        }
      }
    },
    "visibility": {
      "enum": [
        "public",
        "unlisted",
        "permissioned"
      ],
      "type": "string",
      "description": "ATPix visibility scope. Permissioned uses HappyView Permissioned Spaces (ATP-0016)."
    },
    "targetScope": {
      "enum": [
        "gallery",
        "album"
      ],
      "type": "string",
      "description": "Whether a collection rule powers the social gallery feed or a specific album."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
