> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vistazo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Parameters

> Dashboard filters and date ranges that widgets read at refresh time.

A parameter is a named value defined once on the dashboard and referenced by any widget that should
respond to it. A country picker, a date range, a metric toggle. Widgets read it when their data is
fetched, so changing the default changes what the dashboard publishes.

Readers meet parameters as the dashboard's filters panel.

## Types

| Type                 | Takes                                              |
| -------------------- | -------------------------------------------------- |
| `text`               | A string                                           |
| `integer`, `decimal` | A number                                           |
| `boolean`            | True, false, or unset. Unset means "do not filter" |
| `select`             | One choice                                         |
| `multi_select`       | Any number of choices                              |
| `date`, `datetime`   | A point in time                                    |
| `date_range`         | A start and an end                                 |

## Where the choices come from

A `select` or `multi_select` gets its options one of two ways.

**Static** options are a fixed list you author, right for a small stable set. **Sourced** options come
from a data source at refresh time, right when the list is large or data-driven.

<Warning>
  Static options are not validated against any data source. If the values feed a fetch argument, such as
  country codes, tickers or indicator ids, a wrong one fails later inside a refresh rather than when you
  save it. Have the agent check them against the source's own lookup tool first.
</Warning>

## Relative dates

Date parameters accept relative expressions instead of a fixed date, resolved in UTC at every refresh.
This is how a dashboard says "the last 90 days" and still means it next month.

| Expression     | Resolves to                 |
| -------------- | --------------------------- |
| `today`, `now` | Today's date, in UTC        |
| `today-90`     | 90 days ago                 |
| `today-2w`     | Two weeks ago               |
| `today-1mo/mo` | The first day of last month |

Offsets take a unit of `d`, `w`, `mo` or `y`, days if omitted. A trailing `/unit` rounds down to the start
of that unit, and weeks start Monday.

`today` and `now` mean the same thing. Both resolve to a date carrying no time of day, so there is no
anchor for "this hour".

Relative expressions work on `date` and `date_range` only. A `datetime` default takes a literal ISO
datetime, and `integer` and `decimal` take a plain number.

## Defaults are the published baseline

This is the part worth reading twice.

A parameter's **default** is its only persisted state. Scheduled refreshes render every widget against the
defaults, and every reader lands on them when they open the dashboard.

When somebody reading a dashboard changes a filter, that change is **never written back**. The dashboard
keeps publishing its defaults, other readers are unaffected, and nobody can alter what a dashboard says
by looking at it.

What a filter change does do is go into the URL. Applying filters puts the values in the address bar, so
you can bookmark a filtered view or send it to a colleague, and opening that link re-runs the dashboard at
those values. It runs as whoever opened it, on their own allowance, so a shared drilldown is a question
rather than a copy of your answer.

Anonymous [share links](/sharing/overview#general-access) carry no filter values. A link viewer always gets
the published baseline.

Changing a **default** is the other thing entirely. It re-baselines the dashboard, so the next refresh
publishes at the new value and every reader lands there. That is an edit, not a view.

<Tip>
  To try a value without re-baselining, ask Vistazo AI or your agent to explore the dashboard with that
  parameter overridden. It runs the pipelines and shows you the result while publishing nothing.
</Tip>

## Ordering

Parameters can be given an explicit order in the filters panel. Without one they sort alphabetically by
label, which inverts natural sequences, so an unordered `Start` and `End` pair lists End first. Author
related parameters in reading order, coarse before fine and start before end.
