---
title: "Create track domain"
method: POST
path: "/tenants/{tenantId}/tracking"
tags: ["Tracking"]
---

# Create track domain

`POST /tenants/{tenantId}/tracking`

Create a new track domain for open/click tracking for a tenant.

After creation, you must configure a CNAME record pointing to
the provided DNS value before tracking will work.

## Path parameters

- `tenantId` string, required

## Request body

- CreateTrackDomainRequest
  - `name` string, required — Subdomain name (e.g., 'track' for track.yourdomain.com)
  - `domainId` integer, required — ID of the sending domain to attach this track domain to
  - `trackClicks` boolean, nullable — Enable click tracking (accepts null, defaults to true)
  - `trackOpens` boolean, nullable — Enable open tracking (tracking pixel, accepts null, defaults to true)
  - `sslEnabled` boolean, nullable — Enable SSL for tracking URLs (accepts null, defaults to true)

## Response `201`

Track domain created

- TrackDomainResponse
  - `success` true, required
  - `data` TrackDomain, required
    - `id` string, required — Track domain ID
    - `name` string, required — Subdomain name
    - `fullName` string, required — Full domain name
    - `domainId` string, required — ID of the parent sending domain
    - `trackClicks` boolean, required — Whether click tracking is enabled
    - `trackOpens` boolean, required — Whether open tracking is enabled
    - `sslEnabled` boolean, required — Whether SSL is enabled for tracking URLs
    - `excludedClickDomains` string, nullable — Domains excluded from click tracking
    - `dnsOk` boolean, required — Whether the tracking CNAME record is correctly configured. Must be true to use tracking features.
    - `dnsStatus` 'ok' | 'missing' | 'invalid' | 'null', nullable — Current DNS verification status
    - `dnsError` string, nullable — DNS error message if verification failed
    - `dnsCheckedAt` string, date-time, nullable — When DNS was last checked
    - `dnsRecord` object, nullable — Required DNS record configuration
      - `type` string — DNS record type
      - `name` string — DNS record name
      - `value` string — DNS record value (target)
    - `createdAt` string, date-time, required — When the track domain was created
    - `updatedAt` string, date-time, nullable — When the track domain was last updated
  - `meta` ApiMeta, required
    - `requestId` string, required — Unique request identifier for debugging and support

## Other responses

- `400` — Invalid request parameters
- `401` — Invalid or missing API key
- `404` — Tenant not found
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.net/arkhq-io/apis/ark-email-api.md) · [All operations](https://skmtc.net/arkhq-io/apis/ark-email-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/arkhq-io/ark-email-api/versions/98a90852ffca/schema)
