---
title: "Update Contact Marketing Preferences"
method: POST
path: "/contacts/{contactId}/preferences"
tags: ["Contacts"]
---

# Update Contact Marketing Preferences

`POST /contacts/{contactId}/preferences`

## Request

- Base URL: `https://api.alto.zoopladev.co.uk`
- URL: `https://api.alto.zoopladev.co.uk/contacts/{contactId}/preferences`
- Auth: `appAuth` (a scheme the document does not define)

Update contact marketing preferences, changing the opt-in status for each preference type and optionally setting notes.

## Path parameters

- `contactId` integer, required

## Headers

- `AgencyRef` string, required

## Request body

- AltoContactsApiModelsRequestsPostContactConsentPreferencesRequest
  - `items` AltoContactsApiModelsRequestsPostContactConsentPreferencesRequestItem[], nullable
    - `type` 'PropertyMatching' | 'GeneralMarketing' | 'FinancialServices' | 'ConveyancingServices' | 'RelocationAgentNetwork' | 'KeyfloViewingNotifications', nullable
    - `optIn` 'Denied' | 'Granted', nullable
    - `notes` string, nullable

## Response `200`

OK

## Other responses

- `400`: Bad Request

---

[API](https://skmtc.dev/alto/apis/alto-api.md) - [All operations](https://skmtc.dev/alto/apis/alto-api/llms.txt) - [OpenAPI document](https://skmtc.dev/alto/apis/alto-api/revisions/1b729d9b15a8?raw)
