# Update privacy settings

Applies the opt-out elections in the body and returns both settings. Omitted fields keep their value. A field that would not change is not written, so repeating the same call records nothing; an actual change is written to the account activity log. Requires a browser session; read the current settings from `GET /v1/me`.

## PATCH `/v1/me/privacy`

### Authorization

`Authorization` Bearer token · header required

`Authorization: Bearer <token>` with an API key (`sfa_` prefix), an OAuth access token, a session token, or a Space machine credential (`sfm_` prefix).

### Request body

required `application/json`

The settings to change. Anything omitted keeps the value it has.

- `analyticsOptOut`: boolean  
  True when this account is left out of product analytics, in the browser and on the server. Defaults to false.
- `advertisingOptOut`: boolean  
  True when the account has opted out of advertising and audience use of its data. Defaults to false.

### Responses

#### 200 Response for status 200

- `$schema`: string < uri  
  Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.
- `data`: object required  
  - `analyticsOptOut`: boolean required  
    True when this account is left out of product analytics, in the browser and on the server. Defaults to false.
  - `advertisingOptOut`: boolean required  
    True when the account has opted out of advertising and audience use of its data. Defaults to false.

#### default Error
Every 4xx and 5xx response is one RFC 9457 problem document served as `application/problem+json`.

- `$schema`: string < uri  
  Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.
- `type`: string required  
  URL of the documentation page for this error. Derived from `code`.
- `title`: string required  
  Human-readable name of the error type. Derived from `code`.
- `status`: integer required  
  HTTP status of the response, repeated in the body.
- `detail`: string required  
  What went wrong in this request.
- `code`: string required  
  Stable snake_case error code. Match on this, not on `detail`.
- `pointer`: string  
  RFC 6901 JSON Pointer to the request field or batch entry that failed, for example `/files/37/path`. Present on validation failures.
- `details`: object  
  Machine-readable context keyed by the error code.
- `suggestions`: string[]  
  Recovery steps safe to show to a person.
- `next`: string[]  
  Commands or API requests to run next, usable as written.
- `requestId`: string required  
  ID of this request, from the `X-Request-Id` header or generated. Quote it when contacting support.

## Try it

### Server

Base URL: https://api.spacefast.com
Custom base URL: Overrides the selected server when set.

### Authorization

Bearer token Remember on this device Include my values in samples

### Body

`application/json`

### Send

## Request

### cURL

```bash
curl -X PATCH "https://api.spacefast.com/v1/me/privacy" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "analyticsOptOut": true,
  "advertisingOptOut": true
}'
```

### JavaScript

```javascript
const response = await fetch("https://api.spacefast.com/v1/me/privacy", {
  method: "PATCH",
  headers: {
    "Authorization": "Bearer YOUR_TOKEN",
    "Content-Type": "application/json"
  },
  body: "{\n  \"analyticsOptOut\": true,\n  \"advertisingOptOut\": true\n}"
});
```

### Python

```python
import requests

response = requests.patch(
    "https://api.spacefast.com/v1/me/privacy",
    headers={
        "Authorization": "Bearer YOUR_TOKEN",
        "Content-Type": "application/json"
    },
    data="{\n  \"analyticsOptOut\": true,\n  \"advertisingOptOut\": true\n}",
)
```

## Response

### 200 default

```json
{
  "$schema": "http://example.com",
  "data": {
    "analyticsOptOut": true,
    "advertisingOptOut": true
  }
}
```

### Error Response

```json
{
  "$schema": "http://example.com",
  "type": "string",
  "title": "string",
  "status": -9007199254740991,
  "detail": "string",
  "code": "string",
  "pointer": "string",
  "details": {
    "property1": null,
    "property2": null
  },
  "suggestions": [
    "string"
  ],
  "next": [
    "string"
  ],
  "requestId": "string"
}
```
