---
title: "Customer: change a contact preference. Recorded with source client_portal and the wording version"
method: PUT
path: "/api/v1/public/{slug}/portal/preferences"
---

# Customer: change a contact preference. Recorded with source client_portal and the wording version

`PUT /api/v1/public/{slug}/portal/preferences`

## Request

- Base URL: `http://127.0.0.1:4310`
- URL: `http://127.0.0.1:4310/api/v1/public/{slug}/portal/preferences`
- Auth: one of:
  - none
  - HTTP bearer

## Path parameters

- `slug` string, required

## Request body

- object
  - `channel` 'email' | 'sms' | 'whatsapp', required
  - `purpose` 'transactional' | 'marketing', required
  - `granted` boolean, required

## Response `200`

OK

- object

## Other responses

- `400`: Validation error
- `401`: Unauthenticated
- `403`: Forbidden
- `404`: Not found
- `409`: Conflict or invalid state

---

[API](https://skmtc.dev/scalingfirm/apis/tsf-booking-api.md) · [All operations](https://skmtc.dev/scalingfirm/apis/tsf-booking-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scalingfirm/apis/tsf-booking-api/revisions/81704199cd37?raw)
