Skip to main content
PATCH
/
api
/
email
/
domains
/
{id}
Update Domain Status
curl --request PATCH \
  --url https://app.puffle.ai/api/email/domains/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{}'
{
  "domain": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "domain": "<string>"
  }
}
CLI:
puffle email domain update --id <id> --status <status>

Overview

Override the cached domain status. Intended for client-driven state changes like marking a domain failed after the frontend’s verification timeout elapses. This does not touch DNS or the backing verification service; the next /verify or list sync will overwrite this value if live state disagrees.
This operation shares the URL path /api/email/domains/{id} with other verbs. See the sibling page for related operations on the same resource.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

Email domain (email_domains.id) UUID.

Minimum string length: 1

Body

application/json

Client-driven status override. Used primarily by the frontend polling loop to mark a domain failed after the verification timeout window elapses.

status
enum<string>
required

New lifecycle status. verified is NOT allowed via this endpoint — only the /verify endpoint can mark a domain verified.

Available options:
pending,
verifying,
failed

Response

Domain updated. Returns the full domain row.

domain
object
required

Updated email domain row.