# Chinese zodiac sign texts (public, no key)

`GET https://api.astroway.info/v1/public/chinese/zodiac/texts`

Short reading for each of the 12 animals (`character`, `strengths`, `caution`) and one paragraph per element on how it colours the sign, in 21 languages. Join `animals[animal]` and `elements[element.cycling]` from POST /chinese/zodiac/animal. Names are the same forms the Chinese endpoints return. `lang` is the language served; unknown codes resolve to `uk` like everywhere. Static data, `Cache-Control: public, max-age=604800`: fetch once per language.

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

## Parameters

| Name | In | Required | Type | Description |
|---|---|---|---|---|
| `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 |
|---|---|---|---|
| `lang` | string | no |  |
| `textLocalized` | boolean | no |  |
| `animals` | object | no |  |
| `animals.rat` | object | no |  |
| `animals.ox` | object | no |  |
| `animals.tiger` | object | no |  |
| `animals.rabbit` | object | no |  |
| `animals.dragon` | object | no |  |
| `animals.snake` | object | no |  |
| `animals.horse` | object | no |  |
| `animals.goat` | object | no |  |
| `animals.monkey` | object | no |  |
| `animals.rooster` | object | no |  |
| `animals.dog` | object | no |  |
| `animals.pig` | object | no |  |
| `elements` | object | no |  |
| `elements.wood` | object | no |  |
| `elements.fire` | object | no |  |
| `elements.earth` | object | no |  |
| `elements.metal` | object | no |  |
| `elements.water` | object | no |  |

## Example

```bash
curl 'https://api.astroway.info/v1/public/chinese/zodiac/texts?lang=en'
```

---

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