# Identifiers and values

> How instruments, datasets, series and statutes are identified, and how times and numbers are written.

Page: https://docs.aggre.org/concepts/identifiers · Section: Concepts · All pages: https://docs.aggre.org/llms.txt

## Dataset ids and paths {#datasets}

A dataset id is `{domain}.{category}.{name}`, for example `finance.market.candles_1m` or `legal.statutes.tw_moj`. A route path usually follows it: `/v1/{domain}/{category}/{name}`. Two families share one route and select the dataset with `?dataset=`: the ten `legal.statutes.*` datasets and the three `legal.regulatory.*` name lists. `GET /v1/datasets` returns each dataset's `path`, so you do not have to derive it.

## Market instruments {#instruments}

`instrument_id` is `{VENUE}:{PRODUCT}:{native}`: uppercase venue, a product of `SPOT`, `PERP` or `FUTURES`, and the venue's own symbol. Example: `OKX:SPOT:SOL-USDC`. `symbol` is the native symbol without separators, uppercase (`SOLUSDC`). `(venue, product, symbol)` is unique. Funding rates and open interest need a `PERP` or `FUTURES` id.

## Other identifiers {#others}

| What | Form | Example |
|---|---|---|
| Statute | `{JURISDICTION}:{SOURCE}:{native}`; may contain `:` and `/` | `UK:LEG:ukpga/2020/1`, `TW:MOJ:A0000001:en` |
| Macro series | `{source}.{code}`, lowercase | `fed.effr` |
| SEC company | CIK, 1 to 10 digits (returned padded) | `0000320193` |
| Taiwan security | `TWSE:{code}` or `TPEX:{code}` | `TWSE:2330` |
| Clinical trial | NCT number | `NCT...` |
| Drug / device record | the openFDA `key`, exactly as listed | |

A statute id may be sent raw in the path or percent-encoded (`UK%3ALEG%3Aukpga%2F2020%2F1`); the server sees the same id.

## Time {#time}

- Series timestamps (`ts`) are **Unix milliseconds, UTC**. For a candle, `ts` is the bar's open time.
- `from` is inclusive and `to` is exclusive on the field the route names. `to` must be later than `from`.
- `meta` times are RFC 3339 (`2026-01-01T00:00:00Z`). Use `Z`; a `+` in an offset must be written `%2B` in a URL.
- Calendar dates (`YYYY-MM-DD`) name a UTC day; a monthly or quarterly period is its first day, a year is 1 January.
- Where a publisher gives a day and not a time, the row says so (`date_only`) and nothing is invented.

## Numbers {#numbers}

Prices, volumes and measurements are JSON numbers (IEEE double). Amounts that must be exact (tick size, on-chain values) are decimal strings. A publisher's missing value is `null` or absent, not zero. Do not parse a decimal string with a binary float if you need the exact value.
