# cards.sunshine.draft

> Published by [sunshine.cards](https://lexicon.garden/identity/did:web:sunshine.cards)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:web:sunshine.cards/cards.sunshine.draft)
- [Documentation](https://lexicon.garden/lexicon/did:web:sunshine.cards/cards.sunshine.draft/docs)
- [Examples](https://lexicon.garden/lexicon/did:web:sunshine.cards/cards.sunshine.draft/examples)

## Definitions

### `cards.sunshine.draft#didReviewer`

**Type**: `object`

An account that may see every card.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |

### `cards.sunshine.draft`

**Type**: `record`

A proposed set of Sunshine Cards, kept in its creator's deck for chosen reviewers to see before any card is made. The deck's owner always sees all of it.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `cards` | `array` | Yes | The proposed cards, in order, each a complete cards.sunshine.card record with every detail the real card will have. A card is known by its position. Each one's uid is 00000000000000, which can't name a real card because every NXP tag's UID starts with its manufacturer code, 0x04, and its counter is 0. A card's art lives only in the creator's deck until a real card is made from it. |
| `createdAt` | `string` (datetime) | Yes |  |
| `explainer` | `string` | No | A note to reviewers, in Markdown (CommonMark). |
| `reviewers` | `array` | No | Who else may see the draft, and which of its cards. Entries add together. Absent, only the deck's owner sees it. |
| `set` | `unknown` | Yes | The proposed set: a complete cards.sunshine.set record whose cards is empty. |

### `cards.sunshine.draft#recordPathReviewer`

**Type**: `object`

Lets the accounts a card's own associated record names see that card. It applies to each card whose record's $type is type. Every value path yields from that record that is a DID may see the card; other values are ignored.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `path` | `string` | Yes | A RecordPath (https://tangled.org/microcosm.blue/RecordPath) into the card's associated record, like productAccountDid or details.creators[]. A path that doesn't parse grants nothing. |
| `type` | `string` (nsid) | Yes | The $type of the cards' associated records. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "didReviewer": {
      "description": "An account that may see every card.",
      "properties": {
        "did": {
          "format": "did",
          "type": "string"
        }
      },
      "required": [
        "did"
      ],
      "type": "object"
    },
    "main": {
      "description": "A proposed set of Sunshine Cards, kept in its creator's deck for chosen reviewers to see before any card is made. The deck's owner always sees all of it.",
      "key": "tid",
      "record": {
        "properties": {
          "cards": {
            "description": "The proposed cards, in order, each a complete cards.sunshine.card record with every detail the real card will have. A card is known by its position. Each one's uid is 00000000000000, which can't name a real card because every NXP tag's UID starts with its manufacturer code, 0x04, and its counter is 0. A card's art lives only in the creator's deck until a real card is made from it.",
            "items": {
              "type": "unknown"
            },
            "maxLength": 500,
            "type": "array"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "explainer": {
            "description": "A note to reviewers, in Markdown (CommonMark).",
            "maxGraphemes": 10000,
            "maxLength": 100000,
            "type": "string"
          },
          "reviewers": {
            "description": "Who else may see the draft, and which of its cards. Entries add together. Absent, only the deck's owner sees it.",
            "items": {
              "refs": [
                "#didReviewer",
                "#recordPathReviewer"
              ],
              "type": "union"
            },
            "maxLength": 500,
            "type": "array"
          },
          "set": {
            "description": "The proposed set: a complete cards.sunshine.set record whose cards is empty.",
            "type": "unknown"
          }
        },
        "required": [
          "cards",
          "set",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "recordPathReviewer": {
      "description": "Lets the accounts a card's own associated record names see that card. It applies to each card whose record's $type is type. Every value path yields from that record that is a DID may see the card; other values are ignored.",
      "properties": {
        "path": {
          "description": "A RecordPath (https://tangled.org/microcosm.blue/RecordPath) into the card's associated record, like productAccountDid or details.creators[]. A path that doesn't parse grants nothing.",
          "maxLength": 1000,
          "type": "string"
        },
        "type": {
          "description": "The $type of the cards' associated records.",
          "format": "nsid",
          "type": "string"
        }
      },
      "required": [
        "type",
        "path"
      ],
      "type": "object"
    }
  },
  "id": "cards.sunshine.draft",
  "lexicon": 1
}
```
