# Tarot reading of the day (public, no key)

`GET https://api.astroway.info/v1/public/tarot/daily-reading`

The Rider-Waite-Smith three-card spread of the day (the same cards for every caller on a date) read as a whole, in the requested language: each position in context, `synthesis` and `advice`. The same answer shape as POST /interpret/tarot, plus `back` (the card back). In a language other than English each position carries `positionMeaningLocalized` and each card `suitLocalized` and `meaningLocalized` (keywords and meaning of the side drawn); the long card texts are GET /public/tarot/texts by slug. Generated once per date and language and cached for a day, `Cache-Control: public, max-age=3600`.

Group: Public. Auth: none, this endpoint answers without a key.

## Parameters

| Name | In | Required | Type | Description |
|---|---|---|---|---|
| `date` | query | no | string | Calendar date `YYYY-MM-DD` (UTC). Defaults to today. |
| `lang` | query | no | string | Language for this call, overriding `Accept-Language`. The canonical per-call form: a page that renders in one language passes it here rather than reconfiguring its client. Unknown or inactive codes fall back to `uk`. |
| `Accept-Language` | header | no | string | BCP-47 language (e.g. `uk`, `en`, `de`). Set it once on your HTTP client as its default; for a single call, `?lang=` overrides it. Unknown or inactive codes fall back to `uk`. |
| `fields` | query | no | string | Comma-separated dotted paths, relative to `data`, to keep in the response. A path is applied to every element of an array, so `planets.name` means the name of each planet. Paths that match nothing come back in `_fields_unmatched`; a list where nothing matches at all is a 400, because an empty object would be a confident wrong answer. |
| `precision` | query | no | integer | Round every non-integer number in the response to this many decimal places. Integers are left alone, because an id is not a measurement. Ecliptic longitudes ship with fourteen decimals by default; 2 is about a tenth of an arcminute. |

## Responses

| Status | Meaning |
|---|---|
| 200 | OK |
| 400 | Invalid sign or date |

### Success fields, under `data`

| Field | Type | Required | Description |
|---|---|---|---|
| `date` | string | no |  |
| `deck` | string | no |  |
| `spread` | object | no |  |
| `spread.slug` | string | no |  |
| `spread.name` | string | no |  |
| `question` | object | no |  |
| `positions` | object[] | no |  |
| `synthesis` | string | no |  |
| `advice` | string | no |  |
| `disclaimer` | string | no |  |
| `model` | string | no |  |
| `language` | string | no |  |

## Example

```bash
curl 'https://api.astroway.info/v1/public/tarot/daily-reading?lang=en'
```

---

Rendered from https://api.astroway.info/v1/openapi.json. HTML page: https://api.astroway.info/docs/api/operations/publictarotdaily-reading/
