# family.pardy.familytime.card

> Published by [pardy.at](https://lexicon.garden/identity/did:plc:dp7v5b5kejmmzzpwmqyf5wj6)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:dp7v5b5kejmmzzpwmqyf5wj6/family.pardy.familytime.card)
- [Documentation](https://lexicon.garden/lexicon/did:plc:dp7v5b5kejmmzzpwmqyf5wj6/family.pardy.familytime.card/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:dp7v5b5kejmmzzpwmqyf5wj6/family.pardy.familytime.card/examples)

## Definitions

### `family.pardy.familytime.card`

**Type**: `record`

A card: a tree of blocks bound to named sources, optionally with a sandboxed module. Public, so any board can add it by its AT URI; each board's settings for it live in a private cardInstance.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `blocks` | `array` | Yes |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `description` | `string` | No |  |
| `module` | `ref` → `#module` | No |  |
| `network` | `array` | No | The only places the module may fetch from. |
| `properties` | `array` | No | Settings each board fills in when it adds the card. |
| `sources` | `array` | No |  |
| `title` | `string` | Yes |  |

### `family.pardy.familytime.card#module`

**Type**: `object`

JavaScript defining view(ctx), run sandboxed on the server (QuickJS in wasm). fetch() inside it is an effect the host carries out.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `source` | `string` | Yes |  |

### `family.pardy.familytime.card#network`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `baseUrl` | `string` (uri) | Yes |  |
| `name` | `string` | Yes |  |

### `family.pardy.familytime.card#property`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `description` | `string` | No |  |
| `hosts` | `array` | No | For secrets: the only hosts the value may be sent to (by the host, never the module). |
| `label` | `string` | Yes |  |
| `name` | `string` | Yes |  |
| `required` | `boolean` | No |  |
| `type` | `string` | Yes |  |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A card: a tree of blocks bound to named sources, optionally with a sandboxed module. Public, so any board can add it by its AT URI; each board's settings for it live in a private cardInstance.",
      "key": "tid",
      "record": {
        "properties": {
          "blocks": {
            "items": {
              "refs": [
                "family.pardy.familytime.card.defs#stack",
                "family.pardy.familytime.card.defs#row",
                "family.pardy.familytime.card.defs#section",
                "family.pardy.familytime.card.defs#heading",
                "family.pardy.familytime.card.defs#list",
                "family.pardy.familytime.card.defs#item"
              ],
              "type": "union"
            },
            "maxLength": 50,
            "minLength": 1,
            "type": "array"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "maxLength": 1000,
            "type": "string"
          },
          "module": {
            "ref": "#module",
            "type": "ref"
          },
          "network": {
            "description": "The only places the module may fetch from.",
            "items": {
              "ref": "#network",
              "type": "ref"
            },
            "maxLength": 8,
            "type": "array"
          },
          "properties": {
            "description": "Settings each board fills in when it adds the card.",
            "items": {
              "ref": "#property",
              "type": "ref"
            },
            "maxLength": 32,
            "type": "array"
          },
          "sources": {
            "items": {
              "ref": "family.pardy.familytime.card.defs#source",
              "type": "ref"
            },
            "maxLength": 20,
            "type": "array"
          },
          "title": {
            "maxLength": 100,
            "type": "string"
          }
        },
        "required": [
          "title",
          "blocks",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "module": {
      "description": "JavaScript defining view(ctx), run sandboxed on the server (QuickJS in wasm). fetch() inside it is an effect the host carries out.",
      "properties": {
        "source": {
          "maxLength": 64000,
          "type": "string"
        }
      },
      "required": [
        "source"
      ],
      "type": "object"
    },
    "network": {
      "properties": {
        "baseUrl": {
          "format": "uri",
          "maxLength": 500,
          "type": "string"
        },
        "name": {
          "maxLength": 100,
          "type": "string"
        }
      },
      "required": [
        "baseUrl",
        "name"
      ],
      "type": "object"
    },
    "property": {
      "properties": {
        "description": {
          "maxLength": 500,
          "type": "string"
        },
        "hosts": {
          "description": "For secrets: the only hosts the value may be sent to (by the host, never the module).",
          "items": {
            "maxLength": 253,
            "type": "string"
          },
          "type": "array"
        },
        "label": {
          "maxLength": 100,
          "type": "string"
        },
        "name": {
          "maxLength": 32,
          "type": "string"
        },
        "required": {
          "type": "boolean"
        },
        "type": {
          "knownValues": [
            "text",
            "number",
            "datetime",
            "secret"
          ],
          "type": "string"
        }
      },
      "required": [
        "name",
        "label",
        "type"
      ],
      "type": "object"
    }
  },
  "id": "family.pardy.familytime.card",
  "lexicon": 1
}
```
