# Quiz board card

> Canonical HTML: https://screenrig.ai/docs/cards/quiz-board/

A pub or club quiz scoreboard: every team ranked by total with a column for each round, the round in play lit, each round's best score marked, movement and the gap to the leader, a host banner and a podium for the final. The host writes the rounds, teams and scores to the data store.

Category: Sports. Tags: Scoreboards, Leaderboards and standings, Bars and pubs.

## Previews

![Quiz board](/cards/quiz-board/v1/screenshots/canvas-bloom.webp?sha=a8e14e60e522efe9ac9bfa3e470665cdb7cd862cbd37cf8c257eda1f318794d4)

Canvas

![Quiz board](/cards/quiz-board/v1/screenshots/corner-bloom.webp?sha=ab0ba88082b65a42068a462833f1976ccc30a2363ac148565214f2817c2250ba)

Corner

![Quiz board](/cards/quiz-board/v1/screenshots/chip-bloom.webp?sha=7c9e564aa96bbdd1d5a9212088841df03b42bfe655344abeb19f7919e6448c48)

Chip

## Views and forms

Views: canvas, corner, chip. Canvas forms: landscape, portrait, square, strip.

[Card views, themes and publishing](/docs/cards/). [Browse the gallery](/apps/#cards).

## Data and privacy

This card uses its configured properties and live card data.

## Properties

For theme, background, accent and position, see [Common properties](/docs/cards/#common-properties).

Set static properties in `params`. Bind `data` to a project card data key for live values; that document holds only dynamic properties. Without a data key, put the complete configuration in `params`. Nested rows describe the contents of their parent property.

### Static properties

| Name | Type | Default | Values and limits | Description |
| --- | --- | --- | --- | --- |
| `title` | string | `"Pub quiz"` | maxLength: `40` | The quiz's name, in the header. |
| `showTables` | boolean | `true` |  | Show each team's table number beside its name. |
| `podium` | boolean | `true` |  | When the quiz is final, put the first three on a podium above the table. |
| `hour12` | boolean | `false` |  |  |
| `timeZone` | string, null | `null` |  |  |

### Dynamic properties

| Name | Type | Default | Values and limits | Description |
| --- | --- | --- | --- | --- |
| `rounds` | array | `[]` | maxItems: `12` | The rounds in order: a name and the points available. A team's scores line up with them. |
| `rounds[].name` | string | `""` | maxLength: `30` |  |
| `rounds[].max` | number, null | `null` |  | The most points the round can score. |
| `teams` | array | `[]` | maxItems: `64` | The teams and what each has scored in every round; the board ranks them by total. |
| `teams[].name` | string |  | minLength: `1`; maxLength: `60`; Required |  |
| `teams[].table` | string, integer | `""` |  | The team's table, shown beside its name. |
| `teams[].scores` | array | `[]` | maxItems: `12` | Points for each round in order; null (or none yet) is a round not marked. |
| `teams[].bonus` | number, null | `null` |  | Joker or bonus points added to the total. |
| `round` | integer | `0` | minimum: `0`; maximum: `12` | The round in play (1 is the first); 0 before the first round. |
| `status` | string | `"playing"` | `"playing"`, `"scoring"`, `"break"`, `"final"` | Playing the round, marking it, in the interval, or the final result. |
| `message` | string | `""` | maxLength: `80` | A line from the host in a banner: Interval, back in ten minutes. |

## Canvas example

Add this item to a playlist page’s `primitives`. [Publish the playlist and assign a screen](/docs/cards/#publish-a-card-canvas).

```json
{
  "id": "quiz-board",
  "primitive": "card",
  "card": "quiz-board",
  "major": 1,
  "params": {
    "theme": "neomustard"
  },
  "rect": {
    "x": 0,
    "y": 0,
    "width": 1920,
    "height": 1080
  },
  "layer": 0,
  "content_fit": "fill",
  "data": "quiz-board-main"
}
```

## Write live data

Create this document before showing the card, then replace it to update the screen without republishing. Use the same project as the playlist. Supply your API authorization through the environment; see [API authentication](/docs/authentication/).

```console
curl --request PUT "https://api.screenrig.ai/api/card-data/quiz-board-main" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "ScreenRig-Project: $SCREENRIG_PROJECT" \
  --header "Content-Type: application/json" \
  --data '{"document":{"rounds":[],"teams":[],"round":0,"status":"playing","message":""}}'
```
