1. Events
  • Welcome to the Cold Mail Reseller API
  • Get Started
    • Overview
    • Authentication
    • Quick Start
  • Core Concepts
    • Users
    • Domains
    • DNS Management
    • Mailboxes
    • Subscriptions
    • Pre-Warmup
    • Domain Renewal
    • 1+ Year Subscriptions
    • Mailbox Warmup
    • Platform Exports
    • OAuth Exports
    • Sandbox API
  • API Reference
    • Users
      • List Users
      • Get User
      • Create User
      • Update User
      • Delete User
    • Geo
      • List Countries
      • List States
    • Domains
      • Domain Renewal
        • Get Domain Renewal Prices
        • Renew Domains
        • Toggle Domain Auto-Renew
      • Get Domains by User
      • Check Domain Availability
      • Check Single Domain Availability
      • Check Workspace Existence
      • Set Domain Forwarding
      • Set Email Forwarding
      • Delete Domains
    • DNS
      • Get DNS Records
      • Add DNS Records
      • Update DNS Record
      • Update Nameservers
      • Delete DNS Record
    • Mailboxes
      • List Mailboxes
      • Get Mailboxes by User
      • Get Mailbox
      • Get Admin Mailbox Details
      • Update Mailbox Details
      • Delete Mailbox
    • Mailbox Warmup
      • Add Warmup to Mailbox
      • Toggle Warmup
      • Update Warmup Settings
      • Set Warmup Status
      • Disable Warmup
    • Orders
      • Get Order Status
      • Get Order Details
      • Create Order
      • Create Order (JSON)
      • Create Mailbox Order (JSON)
      • Process Order
    • Subscriptions
      • 1+ Year Subscription
        • Recreate Subscription
      • Get Subscriptions
      • Renew Subscriptions
      • Cancel Subscription
      • Toggle Auto-Renewal
    • Exports
      • Platform Exports
        • Get Platform Credentials
        • Add Platform Credential
        • Export Mailboxes to Platform
        • Remove Platform Credential
      • OAuth Exports
        • Perform OAuth
        • Add Client ID to Domains
    • Pre-Warmup
      • Sandbox
        • Get Sandbox Pre-warmup Domains
        • Order Sandbox Pre-warmup
        • Reset Sandbox Pre-warmup
      • Get Pre-warmup Domains
      • Order Pre-warmup
    • Placement Test
      • Create Placement Order
      • Get Placement Reports
  • Resources
    • Errors
    • Rate Limits
    • Pagination
    • Sandbox
    • MCP
  • Webhooks
    • Overview
    • Events
      • Domain Events
      • Mailbox Events
      • Subscription Events
      • Prewarmup Events
      • Mailbox Warmup Events
  • Schemas
    • Error
    • Success
    • MessageResponse
    • User
    • Domain
    • ErrorResponse
    • Mailbox
    • Subscription
    • DnsRecord
    • Error Response
    • Pagination Meta
    • Action Error Response
    • PrewarmupOrderResult
    • OrderCreationResult
  1. Events

Domain Events

Domain events are triggered when orders are placed to register domains or when domain registrations are renewed.

Overview#

The domain event lifecycle occurs in two scenarios:
1.
New domain registration — When a user orders a new domain
2.
Domain renewal — When an existing domain's registration period approaches expiration

domain.order.success#

This event is triggered when a domain is successfully registered with the registrar and added to the user's account.

When it occurs#

User places a domain order through the platform
The domain registrar confirms successful registration
The domain becomes active and accessible

Example Payload#

{
  "event": "domain.order.success",
  "eventId": "6SSHBXWR3N4JEKGRQSG3KW3D76N6",
  "data": {
    "userId": "PWM7Y25RYZ450YNM8K8FX9GK5AHX",
    "userEmail": "johndoe@company.com",
    "orderId": "NQ682GAVFTMYC2H6C87PPKPG5WXV",
    "domainId": "AH2BD0WYWSMQC9NQHTMES3TFK4TX",
    "domainName": "company.com",
    "creationtime": "2024-03-08T23:59:59Z",
    "expiryDate": "2025-03-08T23:59:59Z",
    "price": 15.88
  }
}

Payload Schema#

FieldTypeDescription
eventstringAlways "domain.order.success"
eventIdstringUnique identifier for this event
data.userIdstringID of the user who placed the order
data.userEmailstringUser's email address
data.orderIdstringUnique order identifier
data.domainIdstringUnique domain identifier
data.domainNamestringThe registered domain name (e.g., company.com)
data.creationTimeISO 8601Timestamp when domain was registered
data.expiryDateISO 8601Timestamp when domain registration expires
data.pricenumberPrice paid for the domain

domain.order.failed#

This event is triggered when a domain order fails to be registered. This could happen due to domain availability, restrictions, or registrar errors.

When it occurs#

User orders a domain that's already taken
Domain name contains restricted phrases
Registrar has connectivity issues
Payment processing fails
User has insufficient wallet balance

Example Payload#

{
  "event": "domain.order.failed",
  "eventId": "6SSHBXWR3N4JEKGRQSG3KW3D76N6",
  "data": {
    "userId": "PWM7Y25RYZ450YNM8K8FX9GK5AHX",
    "userEmail": "jean@gmail.com",
    "message": "Domain contains restricted phrase(s)",
    "domainName": "norton360.com",
    "orderId": "WR3N4JEW3D76N6KGRQSG36SSHBXK",
    "price": 15.88
  }
}

Payload Schema#

FieldTypeDescription
eventstringAlways "domain.order.failed"
eventIdstringUnique identifier for this event
data.userIdstringID of the user who placed the order
data.userEmailstringUser's email address
data.orderIdstringUnique order identifier
data.domainNamestringThe domain name that failed to register
data.messagestringHuman-readable reason for failure
data.pricenumberPrice that was attempted to charge

Common failure reasons#

"Domain unavailable" — Already registered by someone else
"Domain contains restricted phrase(s)" — Domain name violates policies
"Registrar error" — Technical issue with registrar
"Insufficient wallet balance" — User needs to add funds
"Invalid domain format" — Domain name doesn't meet requirements

Notes#

Multiple domains per order: An order can include multiple domains. You'll receive separate domain.order.* events for each domain.

domain.renewal.success#

This event is triggered when an existing domain registration is successfully renewed for another term.

When it occurs#

A domain's registration period is approaching expiration
Renewal is processed (automatically or manually)
Registrar confirms the renewal
Domain registration is extended by 1 year

Example Payload#

{
  "event": "domain.renewal.success",
  "eventId": "6SSHBXWR3N4JEKGRQSG3KW3D76N6",
  "data": {
    "userId": "PWM7Y25RYZ450YNM8K8FX9GK5AHX",
    "userEmail": "johndoe@company.com",
    "domainName": "company.com",
    "domainId": "AH2BD0WYWSMQC9NQHTMES3TFK4TX",
    "years": 1,
    "price": 26.90,
    "expireOn": "2026-03-08T23:59:59.000Z"
  }
}

Payload Schema#

FieldTypeDescription
eventstringAlways "domain.renewal.success"
eventIdstringUnique identifier for this event
data.userIdstringID of the user
data.userEmailstringUser's email address
data.domainNamestringThe renewed domain name
data.domainIdstringUnique domain identifier
data.yearsnumberNumber of years renewed for (usually 1)
data.pricenumberPrice of domain renewal
data.expireOnISO 8601New expiration timestamp

domain.renewal.failed#

This event is triggered when a domain renewal fails. This is separate from subscription renewal and indicates the domain registration itself couldn't be renewed.

When it occurs#

Renewal was charged but the registrar rejected it
Domain has been deleted at the registrar
Registrar had an error processing the renewal
Domain has too many rule violations
Important: Subscriptions linked to this domain cannot be renewed until the domain is fixed

Example Payload#

{
  "event": "domain.renewal.failed",
  "eventId": "6SSHBXWR3N4JEKGRQSG3KW3D76N6",
  "data": {
    "userId": "PWM7Y25RYZ450YNM8K8FX9GK5AHX",
    "userEmail": "johndoe@company.com",
    "domainName": "company.com",
    "domainId": "AH2BD0WYWSMQC9NQHTMES3TFK4TX",
    "years": 1,
    "error": "Registrar renewal failed with an unknown error."
  }
}

Payload Schema#

FieldTypeDescription
eventstringAlways "domain.renewal.failed"
eventIdstringUnique identifier for this event
data.userIdstringID of the user
data.userEmailstringUser's email address
data.domainNamestringThe domain that failed to renew
data.domainIdstringUnique domain identifier
data.yearsnumberYears that renewal was attempted for
data.errorstringTechnical error message from registrar

Notes#

Domain renewal ≠ Subscription renewal: A domain is the actual registration with the registrar. A subscription is the mailbox accounts provisioned on that domain. Both can be renewed independently.
Grace period: After a domain expires, it enters a grace period (usually 7 days) where it can still be renewed. After that, it's expired.

Next Steps#

Domains
Manage domains, forwarding, and status transitions.
Mailbox Events
What happens after domain registration succeeds.
Subscription Events
How mailbox subscription renewal works.
Modified at 2026-08-05 16:12:50
Previous
Overview
Next
Mailbox Events
Built with