API ReferencePOST /v1/sites/:id/refresh

POST /v1/sites/:id/refresh

Bump a free-subdomain site’s pause clock so it stays live for another 7 days. Free-tier sites are paused automatically 7 days after the last refresh — call this endpoint any time before the deadline to keep the site reachable.

A paused site still resolves at its *.warpweb.app subdomain, but visitors see a branded “this site is paused” page instead of the real content. Refresh is also how you un-pause: calling it on a paused site immediately restores normal serving.

Cost: Free.

When to call

  • Free-subdomain sites (hosting_tier: "free_subdomain") are subject to the 7-day pause mechanic. Call refresh at least once a week to keep them live.
  • Paid sites (hosting_tier: "paid_custom_domain") are always-on. The endpoint accepts a refresh call on these sites for forward-compatibility but it’s a no-op — there’s no pause clock to defer.

Request

curl -X POST https://api.warpweb.ai/v1/sites/8f3c2a1b/refresh \
  -H "Authorization: Bearer wwk_<your-key>"

No body is required.

Response

{
  "site_id": "8f3c2a1b-5d47-4c9e-b820-1f8a3e7d9c4f",
  "refreshed_at": "2026-05-20T14:30:00.000Z",
  "paused_at": null,
  "was_paused": false
}

Fields

FieldDescription
site_idThe site that was refreshed.
refreshed_atNew refresh timestamp. The 7-day pause clock now counts from this point.
paused_atnull for an active site. If the site was paused before this call, the timestamp reflects when the pause was lifted (i.e., now).
was_pausedtrue if the call un-paused a previously-paused site, false if the site was already active. Useful for surfacing a “your site is live again” confirmation to the operator.

Errors

StatusBodyCause
404{ "error": "site_not_found" }No site with that ID belongs to your account.
500{ "error": "refresh_failed", "detail": "..." }Unexpected backend error. Safe to retry.
  • The pause mechanic is described in Pricing — Free hosting.
  • A 24-hour warning notification (T-24h before pause) is sent via the customer-level lifecycle webhook if one is configured. See Webhooks overview.