---
title: "Settings Analytics Post"
method: POST
path: "/api/settings/analytics"
tags: ["settings", "sync", "ai"]
---

# Settings Analytics Post

`POST /api/settings/analytics`

## Request

- Base URL: `https://www.oxfordledge.com` (the document declares no server; this is the origin it was published from)
- URL: `https://www.oxfordledge.com/api/settings/analytics`
- Auth: none declared

Set (or clear) the analytics opt-out.

Opting OUT also DELETES the rows already collected for this user. Art.
17(1)(c) hooks Art. 21: once the objection is made and there is no
overriding ground, the existing data goes too. It is nearly free here —
`analytics_events` is purged at 30 days anyway, so at most a month exists.

Opting back IN does not resurrect anything; deletion is one-way, which is
the only honest reading of an erasure.

## Response `200`

Successful Response

- SettingsActionResponse: Shared loose response_model for settings/AI-keys/sync/preferences routes. These routes have varied response shapes (per-action) + are user-private (not part of the public typed-client API). Declared for OpenAPI doc coverage.

---

[API](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api.md) · [All operations](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/revisions/e832a1260f0b?raw)
