---
title: "Update domain tracking and TLS preferences"
method: PATCH
path: "/domains/{id}"
tags: ["Domains"]
---

# Update domain tracking and TLS preferences

`PATCH /domains/{id}`

## Request

- Base URL: `https://api.supersendtx.com`
- URL: `https://api.supersendtx.com/domains/{id}`
- Auth: HTTP bearer

## Path parameters

- `id` string, required

## Request body

- UpdateDomainRequest: Tracking and TLS settings are persisted immediately in SuperSend TX. Preferences are stored on the domain immediately when updated.
  - `open_tracking` boolean
  - `openTracking` boolean: Alias for open_tracking
  - `click_tracking` boolean
  - `clickTracking` boolean: Alias for click_tracking
  - `tls_mode` 'opportunistic' | 'enforced'
  - `tlsMode` 'opportunistic' | 'enforced': Alias for tls_mode
  - `inbound_enabled` boolean: Enable or disable inbound receiving for this domain.
  - `inboundEnabled` boolean: Alias for inbound_enabled

## Response `200`

Domain settings updated

- DomainDetailResponse
  - `domain` Domain, required
    - `id` string, required
    - `name` string, required
    - `status` 'pending' | 'verified' | 'failed', required
    - `created_at` string, date-time, required
    - `verified_at` string, date-time, nullable, required
    - `open_tracking` boolean, required: Open tracking preference for this domain.
    - `click_tracking` boolean, required: Click tracking preference for this domain.
    - `tls_mode` 'opportunistic' | 'enforced', required: Preferred outbound TLS behavior for this domain.
    - `inbound_enabled` boolean, required: True when SuperSend TX should accept inbound mail for this domain.
    - `inbound_status` 'disabled' | 'pending' | 'active' | 'error', required: `pending` before verification, `active` once inbound receiving is configured, or `error` when setup fails.
    - `inbound_error` string, nullable, required: Why inbound setup failed when `inbound_status` is `error`. Verify the domain again to retry.
  - `records` DnsRecord[], required
    - `type` 'TXT' | 'CNAME' | 'MX', required: DNS record type. The return path is always a single `CNAME`, set to DNS only (not proxied). Publish no other records on the return-path host.
    - `host` string, required
    - `value` string, required: Record content. For MX records, the mail server hostname (priority is in `priority`).
    - `priority` integer: MX preference when `type` is `MX` (lower is preferred).
    - `purpose` string, required: Human-readable purpose (`Domain ownership`, `DKIM`, `Return path`, `SPF`, `DMARC`, `Open/click tracking`, `Inbound receiving`)
  - `analysis` DomainDnsAnalysis, required
    - `dmarc` DomainDmarcAnalysis, required
      - `host` string, required
      - `configured` boolean, required
      - `record` string, nullable, required
      - `policy` string, nullable, required: Parsed DMARC `p=` policy when present (`none`, `quarantine`, or `reject`)
      - `rua` string[], required
      - `guidance` string, required
    - `bimi` DomainBimiAnalysis, required
      - `host` string, required
      - `configured` boolean, required
      - `record` string, nullable, required
      - `location` string, nullable, required: Parsed BIMI `l=` logo URL when present
      - `authority` string, nullable, required: Parsed BIMI `a=` VMC URL when present
      - `requires_dmarc_enforcement` boolean, required: True when BIMI is unlikely to work until DMARC is set to p=quarantine or p=reject
      - `guidance` string, required
  - `inbound_records` DnsRecord[], required
    - `type` 'TXT' | 'CNAME' | 'MX', required: DNS record type. The return path is always a single `CNAME`, set to DNS only (not proxied). Publish no other records on the return-path host.
    - `host` string, required
    - `value` string, required: Record content. For MX records, the mail server hostname (priority is in `priority`).
    - `priority` integer: MX preference when `type` is `MX` (lower is preferred).
    - `purpose` string, required: Human-readable purpose (`Domain ownership`, `DKIM`, `Return path`, `SPF`, `DMARC`, `Open/click tracking`, `Inbound receiving`)
  - `inbound_note` string, required
  - `inbound_configured` boolean
  - `inbound_pending` boolean
  - `inbound_error` string, nullable
  - `tracking_dns` DomainTrackingDns
    - `required` boolean, required: True when open or click tracking is enabled for this domain.
    - `host` string, nullable, required: Customer CNAME host (e.g. ps.example.com) when tracking is required.
    - `target` string, nullable, required: Tracking CNAME target when tracking is required.
    - `ok` boolean, nullable, required: Whether tracking DNS is live; null when tracking is disabled.
  - `tracking_error` string, nullable: Present when tracking preferences were saved but delivery-side tracking provisioning failed. Customer-facing message; internal failure details are logged server-side.
  - `tls_error` string, nullable: Present when TLS mode was saved but delivery-side TLS provisioning failed. Customer-facing message; internal failure details are logged server-side.

## Other responses

- `400`: Invalid JSON or settings payload
- `401`: Missing or invalid API key / session
- `404`: Domain not found

---

[API](https://skmtc.dev/ranla/apis/supersend-tx-api.md) · [All operations](https://skmtc.dev/ranla/apis/supersend-tx-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ranla/apis/supersend-tx-api/revisions/e3e782652f50?raw)
