# app.2ndscreen.defs

> Published by [2ndscreen.app](https://lexicon.garden/identity/did:plc:aeix5u7myob5u3yzlpxggxnu)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:aeix5u7myob5u3yzlpxggxnu/app.2ndscreen.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:aeix5u7myob5u3yzlpxggxnu/app.2ndscreen.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:aeix5u7myob5u3yzlpxggxnu/app.2ndscreen.defs/examples)

## Definitions

### `app.2ndscreen.defs#artwork`

**Type**: `object`

Optional original color geometry or an image the publisher may redistribute. Not necessarily an official crest. Unknown patterns fall back to the primary color.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `alt` | `string` | No | Concise description of the artwork itself for accessibility. |
| `colors` | `array` | No | Hex RGB colors including #, in primary, secondary, tertiary, quaternary order. |
| `image` | `blob` | No | Blob stored in this catalog publisher repo, with redistribution permission; not an official account avatar assertion. |
| `pattern` | `string` | No |  |
| `provenance` | `string` | No | Origin, rights or attribution information; not accessibility alt text. |

### `app.2ndscreen.defs#membership`

**Type**: `object`

Competition participation, not team identity. Omitted edition/dates makes no claim about a particular season.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `competition` | `string` (at-uri) | Yes | Canonical DID-form AT URI of an app.2ndscreen.league record. Validate publisher provenance; cross-publisher traversal requires an explicit supported resolver policy. |
| `edition` | `string` | No | Publisher/provider edition label; not a permanent identity or sortable value. |
| `endsAt` | `string` (datetime) | No | Exclusive end of the membership interval. |
| `startsAt` | `string` (datetime) | No | Inclusive beginning of the membership interval. |

### `app.2ndscreen.defs#officialAccount`

**Type**: `object`

A claim by this catalog publisher. This does not grant verification or bypass account moderation.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `checkedAt` | `string` (datetime) | Yes | When this publisher last checked the public association evidence; not a guarantee of current account status. |
| `did` | `string` (did) | Yes |  |
| `evidence` | `array` | Yes | HTTPS public sources establishing representation, not merely verification. Consumers must enforce HTTPS before rendering or following links. |
| `language` | `string` (language) | No |  |
| `role` | `string` | Yes |  |

### `app.2ndscreen.defs#providerIdentifier`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `id` | `string` | Yes |  |
| `provider` | `string` | Yes | Provider domain, e.g. espn.com. An identifier is not permission to call or redistribute its API. |
| `scope` | `string` | Yes | Namespace in which id is unique, for example an ESPN league path basketball/nba. A sport alone is not generally sufficient. |

### `app.2ndscreen.defs#side`

**Type**: `object`

Distinguishes sides that share a club or national identity. Omitted fields mean unspecified, never all variants.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `ageGroup` | `string` | No |  |
| `discipline` | `string` | No | Adaptive variant of a sport, such as wheelchair. Named sports such as rugby sevens belong in the sport reference, not this field. |
| `gender` | `string` | No |  |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "artwork": {
      "description": "Optional original color geometry or an image the publisher may redistribute. Not necessarily an official crest. Unknown patterns fall back to the primary color.",
      "properties": {
        "alt": {
          "description": "Concise description of the artwork itself for accessibility.",
          "maxGraphemes": 250,
          "maxLength": 2500,
          "type": "string"
        },
        "colors": {
          "description": "Hex RGB colors including #, in primary, secondary, tertiary, quaternary order.",
          "items": {
            "maxLength": 7,
            "minLength": 7,
            "type": "string"
          },
          "maxLength": 4,
          "minLength": 1,
          "type": "array"
        },
        "image": {
          "accept": [
            "image/png",
            "image/jpeg",
            "image/webp"
          ],
          "description": "Blob stored in this catalog publisher repo, with redistribution permission; not an official account avatar assertion.",
          "maxSize": 1000000,
          "type": "blob"
        },
        "pattern": {
          "knownValues": [
            "sash",
            "stripes",
            "striped-trim",
            "hoops",
            "chevron",
            "halves",
            "trim",
            "sleeves",
            "band",
            "center-stripe",
            "pinstripes",
            "side-panel",
            "quarters",
            "diagonal-half",
            "cross",
            "tiger",
            "bolt"
          ],
          "maxLength": 100,
          "type": "string"
        },
        "provenance": {
          "description": "Origin, rights or attribution information; not accessibility alt text.",
          "maxGraphemes": 250,
          "maxLength": 2500,
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    },
    "membership": {
      "description": "Competition participation, not team identity. Omitted edition/dates makes no claim about a particular season.",
      "properties": {
        "competition": {
          "description": "Canonical DID-form AT URI of an app.2ndscreen.league record. Validate publisher provenance; cross-publisher traversal requires an explicit supported resolver policy.",
          "format": "at-uri",
          "type": "string"
        },
        "edition": {
          "description": "Publisher/provider edition label; not a permanent identity or sortable value.",
          "maxGraphemes": 100,
          "maxLength": 1000,
          "type": "string"
        },
        "endsAt": {
          "description": "Exclusive end of the membership interval.",
          "format": "datetime",
          "type": "string"
        },
        "startsAt": {
          "description": "Inclusive beginning of the membership interval.",
          "format": "datetime",
          "type": "string"
        }
      },
      "required": [
        "competition"
      ],
      "type": "object"
    },
    "officialAccount": {
      "description": "A claim by this catalog publisher. This does not grant verification or bypass account moderation.",
      "properties": {
        "checkedAt": {
          "description": "When this publisher last checked the public association evidence; not a guarantee of current account status.",
          "format": "datetime",
          "type": "string"
        },
        "did": {
          "format": "did",
          "type": "string"
        },
        "evidence": {
          "description": "HTTPS public sources establishing representation, not merely verification. Consumers must enforce HTTPS before rendering or following links.",
          "items": {
            "format": "uri",
            "maxLength": 2000,
            "type": "string"
          },
          "maxLength": 5,
          "minLength": 1,
          "type": "array"
        },
        "language": {
          "format": "language",
          "type": "string"
        },
        "role": {
          "knownValues": [
            "primary",
            "media",
            "regional"
          ],
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "did",
        "role",
        "evidence",
        "checkedAt"
      ],
      "type": "object"
    },
    "providerIdentifier": {
      "properties": {
        "id": {
          "maxLength": 200,
          "minLength": 1,
          "type": "string"
        },
        "provider": {
          "description": "Provider domain, e.g. espn.com. An identifier is not permission to call or redistribute its API.",
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        },
        "scope": {
          "description": "Namespace in which id is unique, for example an ESPN league path basketball/nba. A sport alone is not generally sufficient.",
          "maxLength": 100,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "provider",
        "scope",
        "id"
      ],
      "type": "object"
    },
    "side": {
      "description": "Distinguishes sides that share a club or national identity. Omitted fields mean unspecified, never all variants.",
      "properties": {
        "ageGroup": {
          "knownValues": [
            "senior",
            "under-23",
            "under-21",
            "under-20",
            "under-19",
            "under-18"
          ],
          "maxLength": 100,
          "type": "string"
        },
        "discipline": {
          "description": "Adaptive variant of a sport, such as wheelchair. Named sports such as rugby sevens belong in the sport reference, not this field.",
          "knownValues": [
            "standard",
            "wheelchair",
            "intellectual-disability",
            "physical-disability"
          ],
          "maxLength": 100,
          "type": "string"
        },
        "gender": {
          "knownValues": [
            "men",
            "women",
            "mixed",
            "open"
          ],
          "maxLength": 100,
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "id": "app.2ndscreen.defs",
  "lexicon": 1
}
```
