Domain rejected: the domain is not a bare hostname

Attio refused a company domain that carries a protocol, a path or spaces; reduce it to a bare hostname such as acme.com in your source, then press "Retry all errors".

Last updated: 28 October 2026

What you see

On the run page, open the Errors tab. Under the object that failed, usually companies, a row is titled "Domain rejected". The reason reads: Attio expects a bare hostname for domains (e.g. acme.com); this value isn't one. The next step names your source CRM, for example: Fix the domain in HubSpot and press "Retry all errors" above.

Why it happens

Attio accepts a bare hostname only, such as acme.com, and refuses a value with a protocol (https://), a path (/about) or spaces.

The record fails when the domain is the match key, or when Attio's error does not name the domain field or quote the value.

How to fix it

  1. Note the record ids on the "Domain rejected" row. "Download CSV" exports every line of the Errors tab, not only this row.
  2. In your source, open each record and reduce the domain to a bare hostname: https://acme.com/about becomes acme.com. Remove any spaces.
  3. Press "Retry all errors". It runs only the failed items again, matches records that already exist instead of duplicating them, and is free. How Retry all errors works.

If the run is paused, press Resume first, or Reconnect if the reason starts with "Reconnect".

Left out, not failed: when Attio's error names the domain field, the record imports without it. The Errors tab then lists the records imported without that field, with the reason: It isn't a valid domain. "Retry all errors" does not write that value again, so add the correct domain in Attio by hand.

If the same row returns after you corrected the values, email help@shuttio.com with the migration number from the run page's side rail.

Not answered here? Email help@shuttio.com.