---
title: "Respond Marketing Consent"
method: POST
path: "/auth/marketing-consent"
tags: ["internal"]
---

# Respond Marketing Consent

`POST /auth/marketing-consent`

## Request

- Base URL: `https://api.companydata.dk` (the document declares no server; this is the origin it was published from)
- URL: `https://api.companydata.dk/auth/marketing-consent`
- Auth: HTTP bearer

Record the user's answer to the one-time newsletter consent prompt.

Setting prompted_at on both accept and decline ensures the prompt is shown
at most once. Accepting enqueues a real-time Brevo sync.

## Request body

- MarketingConsentRequest: Response to the one-time newsletter consent prompt.
  - `consent` boolean, required

## Response `200`

Successful Response

- UserResponse
  - `email` string, email, required
  - `name` string, nullable
  - `company` string, nullable
  - `locale` string
  - `email_verified` boolean
  - `is_admin` boolean
  - `auth_provider` string
  - `has_password` boolean
  - `subscription` AppModelsUserUserSubscription, required
    - `tier` string
    - `started_at` string, date-time, nullable
    - `expires_at` string, date-time, nullable
    - `stripe_customer_id` string, nullable
    - `stripe_subscription_id` string, nullable
    - `extra_seats` integer
    - `stripe_flat_item_id` string, nullable
    - `stripe_seat_item_id` string, nullable
    - `billing_interval` string, nullable
    - `locked_price_dkk` integer, nullable
    - `locked_at` string, date-time, nullable
    - `price_override_dkk` integer, nullable
    - `price_override_reason` string, nullable
    - `price_override_set_at` string, date-time, nullable
    - `price_override_set_by` string, nullable
    - `is_granted_trial` boolean
    - `granted_trial_ends_at` string, date-time, nullable
    - `granted_trial_reason` string, nullable
    - `granted_trial_by` string, nullable
    - `credit_balance` integer
    - `cancel_at_period_end` boolean
    - `cancelled_at` string, date-time, nullable
    - `paused` boolean
    - `paused_at` string, date-time, nullable
    - `pause_resumes_at` string, date-time, nullable
    - `paused_tier` string, nullable
    - `status` string
    - `past_due_since` string, date-time, nullable
    - `payment_failure_count` integer
    - `last_payment_failed_at` string, date-time, nullable
    - `dunning_stage` integer
    - `last_decline_code` string, nullable
  - `notification_preferences` NotificationPreferences: User's global notification preferences.
    - `email_frequency` 'immediate' | 'daily' | 'weekly': How often to send notification digests.
  - `created_at` string, date-time, required
  - `marketing_consent` boolean
  - `needs_marketing_consent_prompt` boolean
  - `first_action_at` string, date-time, nullable
  - `last_login_at` string, date-time, nullable
  - `login_count` integer

## Other responses

- `422`: Validation Error

---

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