1. Core Concepts
  • 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. Core Concepts

Domain Renewal

Domain renewal extends your domain registration and keeps it active. This guide covers the renewal process, eligibility requirements, and best practices.
Important Note: Domain renewal operates independently from mailbox (subscription) renewal. These processes use separate endpoints, billing mechanisms and webhook systems.

Quick Reference#

AspectInformation
Default StateAuto-renew is disabled by default for all new domains
Renewal WindowAPIs enforce a 45-day window preceding expiration
Grace PeriodAfter a domain has expired, there is a 7-day grace period before it is fully expired.
Expired DomainsHandling varies by endpoint (refer to Eligibility Rules)
Payment MethodPartner wallet balance must be sufficient

Domain Status & Renewal Eligibility Matrix#

StatusEligible for Renewal?Auto-Renew BehaviorAction Required
ACTIVE (expires >45 days)❌ NoWaits until within 45 daysNone
ACTIVE (expires ≤45 days)✅ YesEligible; will auto-renew on schedule if enabledCall renew endpoint or enable auto-renew
GRACE_PERIOD (≤7 days after expiration)✅ YesEligible; may still auto-renew if enabledCall renew endpoint or enable auto-renew
EXPIRED (>7 days post-expiration)❌ NoAuto-disabled; recovery requires registrar escalationContact registrar support
RENEWING (temporary state)—Request in progressWait for webhook confirmation

Domain Renewal Workflow#

Step 1: Retrieve Renewal Pricing#

Call POST /domains/renewal-price with these parameters:
userId (required)
domains (optional array of domain names)
Domains outside the eligible window will return per-domain errors in the response data field and renewal period will be default for 1 year

Step 2: Execute the Renewal#

Select one of the following renewal methods:

2.1 Manual Renewal (One-Time)#

Call POST /domains/renew with:
userId (required)
domains (optional array)
Bulk Renewal: Omit the domains parameter (or send an empty array) to renew all eligible domains for the user. Ineligible domains will be reported as per-domain errors.

2.2 Automatic Renewal (Scheduled)#

Call PATCH /domains/toggle-auto-renew with:
userId (required)
domains (optional array)
autoRenew: true
Bulk Auto-Renewal: Omit the domains parameter (or send an empty array) to enable auto-renewal for all user domains.
Note: Manual and automatic renewal are not mutually exclusive. Once auto-renewal is enabled, future renewals proceed automatically via scheduled processes (subject to eligibility, wallet balance, and pricing validation).

Step 3: Verify Renewal Status#

A 200 HTTP response indicates the request was accepted and queued—it does not guarantee immediate registrar completion.
Confirm the final renewal state by:
Calling GET /domains/by-user
Monitoring renewal webhooks

What Triggers Domain Renewal?#

1) API Request#

You explicitly call POST /domains/renew.

2) Scheduled Auto-Renewal#

The renewal scheduler automatically processes domains when all conditions are met:
Domain status is ACTIVE or GRACE_PERIOD
autoRenew flag is true
Renewal validation passes (eligibility window, wallet balance, pricing verification)

Renewal Events and Webhooks#

Subscribe to component webhooks via your partner dashboard for renewal event notifications.
For detailed information on webhook configuration and payload structure, see our Webhooks Overview.
Webhook EventDescription
domain.renewal.successDomain renewal completed and confirmed by registrar
domain.renewal.failedDomain renewal attempt failed
subscription.renewal.failedMailbox subscription renewal skipped because domain is in GRACE_PERIOD or EXPIRED status

What Happens If Renewal Doesn't Occur?#

Recommendation: To prevent mailbox subscription disruptions, domains should be renewed 24–48 hours prior to expiration wherever possible.

Grace Period (Up to 7 Days Post-Expiration)#

API renewal may still be available
New mailbox provisioning requests is restricted
Subscription renewal attempts may fail with contextual webhook notifications

After Grace Period Ends#

Domain transitions to EXPIRED status
Auto-renewal is automatically disabled
Provider-specific service decommissioning processes may initiate

Avoid These Common Issues#

Confusing Processes: Domain renewal and mailbox subscription renewal are distinct operations with separate flows.
User ID Mismatches: Using an incorrect userId results in missing or empty results.
Transient Status: RENEWING status is temporary while an active renewal request is in progress.
Deferred Completion: A successful API response (200) does not guarantee immediate registrar completion.
TLD Variations: Registrar-level TLD rules may impose stricter requirements than internal grace period assumptions.
Bulk Operations: Always examine per-domain result entries in the response data array when performing bulk renewal calls, as some domains may succeed while others fail eligibility checks.

Next Steps#

Domains
Full domain management guide — search, forwarding, removal.
1+ Year Subscriptions
How pricing changes once a subscription passes 12 months.
Domain Events
Webhook payloads for renewal success and failure.
Modified at 2026-08-05 16:12:50
Previous
Pre-Warmup
Next
1+ Year Subscriptions
Built with