> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getmillwork.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Prove domain control

> Publish the issued DNS record and HTTPS file, then verify the hostname used by your model API.

**Goal:** Prove that your organization controls the API hostname in its provider
application.

**You are done when:** Provider workspace shows the domain as **proven**.
Domain proof does not approve a model route or enable customer traffic.

## Before you begin

Submit your [provider application](https://docs.getmillwork.dev/get-started/provider-onboarding.md) in your
existing Millwork organization. You need a browser session with access to its
Provider workspace and someone who can change both DNS and HTTPS hosting for
the API hostname. A provider machine key cannot perform domain proof.

**1. Start a domain proof**

Open [Provider workspace](https://app.getmillwork.dev/provider). Under
**Domain control**, choose **Start domain proof**. Keep this challenge open
and note its expiry.

**2. Publish both issued values**

Give the displayed DNS TXT name and value, HTTPS file path, and file content to
the person managing your domain. Publish both exactly as shown. Use the API
hostname in your application, rather than a different company hostname.

**3. Verify before the challenge expires**

Choose **Verify proof** after both values are reachable. Continue when the
workspace confirms **proven**, then follow the organization's review and the
[route status](https://docs.getmillwork.dev/providers/route-status.md).

## Recover a failed proof

| What happened | Next action |
| - | - |
| DNS or the HTTPS file is not found | Confirm the exact hostname, record name, file path and content, then verify the current challenge again. |
| The challenge expired | Start a new proof and replace both values with the newly issued values. |
| Your API domain changed | Update the profile and complete a new proof. A profile change restarts review and withdraws existing route approval; arrange it before changing an active service. |
| The workspace is unavailable | Check the signed-in organization and ask [support](https://docs.getmillwork.dev/help/contact.md) about its provider invitation. |

Keep credentials out of DNS records, challenge files and support messages. Use
only the proof values issued for this challenge.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.