Update domain warming policy

Updates the growth percentage and daily target Samva uses for future 24-hour warming windows.

PATCH
/v1/email/domains/{id}/warming/policy

Updates the growth percentage and daily target Samva uses for future 24-hour warming windows. Existing windows keep their policy snapshot, including a scheduled window, so prior authorization remains auditable.

Authorization

apiKey
headerx-api-key<token>

Path Parameters

id*string
Match^dom_[0-9a-hjkmnp-tv-z]{16,24}$

Request Body

application/json
  1. body
dailyGrowthPercent*integer
Range0 <= value <= 10000
targetDailyRecipients*integer
Range0 < value <= 1000000
note?|null

Response Body

DomainWarming

application/json
  1. response
domain*
plan*|null
batches*array<>
decisions*array<>
evidence*
holds*
Example Request
import { createClient } from "samva";const samva = createClient({ apiKey: process.env.SAMVA_API_KEY! });const result = await samva.email.updateDomainWarmingPolicy({  "id": "example",  "dailyGrowthPercent": 0,  "targetDailyRecipients": 1});
Example Response
{  "domain": {    "id": "string",    "domain": "string"  },  "plan": {    "id": "string",    "status": "active",    "identity": "new",    "initialDailyRecipients": 0,    "dailyGrowthPercent": 0,    "targetDailyRecipients": 0,    "holdReason": "string",    "heldAt": "string",    "pausedAt": "string",    "completedAt": "string",    "createdAt": "string",    "updatedAt": "string"  },  "batches": [    {      "id": "string",      "sequence": 0,      "state": "scheduled",      "startsAt": "string",      "endsAt": "string",      "allowanceRecipients": 0,      "dailyGrowthPercent": 0,      "targetDailyRecipients": 0,      "reservedRecipients": 0,      "acceptedRecipients": 0,      "cancelledAt": "string",      "createdAt": "string"    }  ],  "decisions": [    {      "id": "string",      "kind": "plan-created",      "batchId": "string",      "actor": "string",      "note": "string",      "createdAt": "string"    }  ],  "evidence": {    "observedAt": "string",    "windowHours": 0,    "minimumSends": 0,    "sent": 0,    "bounced": 0,    "complained": 0,    "hourly": [      {        "sent": 0,        "bounced": 0,        "complained": 0      }    ],    "bounceThreshold": 0,    "complaintThreshold": 0,    "verdict": "insufficient-evidence",    "thresholdReason": "string"  },  "holds": {    "workspacePausedAt": "string",    "workspacePauseReason": "string",    "sendingStatus": "enabled"  }}

Related documentation