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

# Utilities and Support APIs

> FX rates, notification preferences, feedback, metatags, email logs, and year-in-review endpoints

# Utilities and Support APIs

This module groups operational helper APIs used across dashboard UX.

## Endpoint matrix

| Feature            | Method  | Path                                  | Purpose                                            |
| ------------------ | ------- | ------------------------------------- | -------------------------------------------------- |
| FX rates           | `GET`   | `/fx-rates`                           | Return current currency table                      |
| FX conversion      | `GET`   | `/fx-rates/convert`                   | Preview conversion for amount/from/to              |
| Notification prefs | `GET`   | `/notification-preferences`           | Fetch account email notification settings          |
| Notification prefs | `PATCH` | `/notification-preferences`           | Update notification toggles                        |
| Feedback           | `POST`  | `/feedback`                           | Submit bug/feature/general feedback                |
| Metatags           | `GET`   | `/metatags`                           | Fetch title/description/image from destination URL |
| Email logs         | `GET`   | `/email-logs`                         | List workspace email delivery history              |
| Wrapped            | `GET`   | `/wrapped/:year`                      | Workspace year-in-review analytics                 |
| Wrapped share      | `GET`   | `/wrapped/share/:workspaceSlug/:year` | Public limited wrapped share payload               |
| API docs           | `GET`   | `/docs`                               | Interactive API docs UI                            |
| OpenAPI spec       | `GET`   | `/docs/openapi.json`                  | Raw OpenAPI JSON                                   |
| Playground         | `GET`   | `/playground`                         | Interactive API playground                         |

## Authentication and permissions

* `fx-rates/*`: workspace auth + `analytics:read`
* `notification-preferences/*`: user session auth
* `/feedback`: user session auth
* `/metatags`: authenticated user
* `/email-logs`: workspace auth + `workspace:read`
* `/wrapped/:year`: workspace auth
* `/wrapped/share/*`: public endpoint
* `/docs`, `/docs/openapi.json`, `/playground`: public read endpoints

## Input and validation highlights

* `/fx-rates/convert` requires positive `amount`; unknown currency returns `UNSUPPORTED_CURRENCY`.
* `/feedback` validates `type`, `subject`, and `message`; rate-limited per user.
* `/metatags` requires a safe/valid URL.
* `/email-logs` supports filter params (`type`, `status`) and pagination.
* `/wrapped/:year` accepts 4-digit years and enforces range constraints.
* `/playground` supports sandbox/live modes in UI; live execution requires a valid API key.

## Typical failure classes

* `400` validation errors (invalid params/body)
* `401` unauthenticated access
* `403` permission/entitlement mismatch
* `429` rate-limit protection on feedback
* `500` provider/internal failures

Related docs:

* `/user-guides/manual/workspace/settings-and-preferences`
* `/user-guides/manual/workspace/workspace-settings-and-governance-reference`
* `/user-guides/manual/data/analytics-views-reference`
