1. Renewal
Cold Mail Reseller
  • Cold Mail Reseller API Documentation
  • Users
    • Retrieve all users
      GET
    • Get User Details
      GET
    • Create User
      POST
    • Update User Details
      PUT
    • Delete User
      DELETE
  • Geo
    • Get Countries List
      GET
    • Get States of a Country
      GET
  • Domains
    • Renewal
      • Domain Renewal Overview
      • Get domain renewal pricing
        POST
      • Renew domain
        POST
      • Enable or disable domain auto-renew
        PATCH
    • Get Domains For User
      GET
    • Suggest Available Domains
      POST
    • Get Single Available Domain
      POST
    • Check If Workspace Exists
      POST
    • Add domain forwarding
      POST
    • Add email forwarding
      POST
    • Add Google Client ID to Domain
      POST
    • Remove domains
      DELETE
  • Dns
    • Get dns records for a domain
      GET
    • Adds dns record
      POST
    • Update dns records
      PUT
    • Delete dns records
      DELETE
  • Orders
    • Get Order Details
    • Get Order Status
    • Creates order json
    • Order mailboxes (json)
    • Process the Order
    • Create Order
    • Add mailboxes to a subscription
  • Mailboxes
    • Get mailboxes for user
    • Get mailbox details by id
    • Get Mailbox Admin Details
    • Update mailbox details
    • Remove mailbox
  • Subscriptions
    • 1+ Year Subscriptions
      • One Plus Year Subscription Overview
      • Subscription Recreation
    • Get All Subscriptions
    • Renew Subscriptions
    • Toggle Auto renewal
    • Cancel Subscription
  • Webhooks
    • Overview
    • Events
      • Mailbox Events
      • Prewarmup Events
      • Domain Events
      • Subscription Events
  • Export
    • Platform
      • Platform Exports API
      • Get Connected Platforms
      • Add Platform Credentials
      • Remove Platform Credential
      • Export Mailboxes
    • Re-export a mailbox (Oauth)
  • Pre-warmup
    • Sandbox
      • Sandbox Pre-Warmup Integration
      • [SANDBOX] - Get All Pre-Warmup Mailboxes
      • [SANDBOX] - Order Pre-Warmup Mailboxes
      • [SANDBOX] - Reset Pre-Warmup Data
    • Get All Pre-Warmup Mailboxes
    • Order Pre-Warmup Mailboxes
  • Get Wallet Details
    GET
  • Send error
    POST
  1. Renewal

Domain Renewal Overview

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 Documentation.
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?#

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.
Modified at 2026-04-03 12:47:44
Previous
Get States of a Country
Next
Get domain renewal pricing
Built with