# Halowerk Wakeup Scheduler

> Halowerk Wakeup Scheduler is a paid API for AI agents from agent.halowerk.com, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-13).

Schedules a one-time HTTP POST callback to a caller-supplied public HTTPS URL at a specified future time, with automatic retry on failure and full attempt logging.

## Facts

- Endpoint: POST https://agent.halowerk.com/v1/wakeup
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/halowerk-wakeup-scheduler-abb50692
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_q2TwxfJZ6eTSBVQWEic8W

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability halowerk-wakeup-scheduler-abb50692 -d '<json body>'
```

Example prompt: Schedule a wakeup call to https://myapp.example.com/hooks/resume in exactly 2 hours with this JSON payload: {"task":"send_report","user_id":"42"} — retry up to 5 times if it fails.

## When to prefer this

Use this endpoint when an agent or workflow needs to defer execution by triggering a future HTTP POST to a known public endpoint — especially when retry-on-failure and delivery audit logs are required. Prefer this over cron-based alternatives when lead times are short (10 seconds to 30 days) and the target must be a public HTTPS address. Not suitable for internal network callbacks or recurring schedules.

## Known failure modes

- Target URL is private, loopback, or link-local — request refused
- Target URL is not HTTPS — request refused
- Scheduled time is less than 10 seconds or more than 30 days in the future — rejected
- Caller has reached the 200 pending wakeup limit for the target URL
- All 5 retry attempts exhausted without a 2xx response from target
- Target server returns non-2xx on all attempts — logged as failed delivery

## How this service works

Books a single POST to a URL you own, at a time you name, with a payload you supply. Delivery is retried up to five times with growing gaps and every attempt is recorded with its status. Lead time is between 10 seconds and 30 days, and at most 200 pending wakeups per target URL. The target must be a public https address: private, loopback and link-local addresses are refused, so this cannot be pointed at an internal network.

## Output

Returns a wakeup job record including a unique job ID, the scheduled delivery time, the target URL, and a log of each delivery attempt with its HTTP status and timestamp. On failure, up to five retries are made with exponentially growing gaps between attempts.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "note": {
   "type": "string",
   "maxLength": 200,
   "description": "Free label carried through."
  },
  "limit": {
   "type": "integer",
   "default": 25,
   "maximum": 100,
   "minimum": 1,
   "description": "Maximum entries returned by list."
  },
  "action": {
   "enum": [
    "schedule",
    "status",
    "cancel",
    "list"
   ],
   "type": "string",
   "description": "What to do."
  },
  "due_at": {
   "type": "string",
   "description": "Absolute time as ISO 8601, e.g. 2026-08-12T09:00:00Z. Either this or delay_seconds."
  },
  "payload": {
   "description": "JSON body delivered with the callback. Up to 16 KB."
  },
  "wakeup_id": {
   "type": "string",
   "maxLength": 64,
   "minLength": 8,
   "description": "Required for status and cancel."
  },
  "target_url": {
   "type": "string",
   "maxLength": 2000,
   "description": "Public https URL that receives the POST. Required for schedule and list."
  },
  "header_name": {
   "type": "string",
   "maxLength": 64,
   "description": "Optional header name sent with the callback, e.g. X-Agent-Token."
  },
  "header_value": {
   "type": "string",
   "maxLength": 512,
   "description": "Value for that header. Stored as given."
  },
  "delay_seconds": {
   "type": "integer",
   "maximum": 2592000,
   "minimum": 10,
   "description": "Relative lead time in seconds. Either this or due_at."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/halowerk-wakeup-scheduler-abb50692/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agent.halowerk.com](https://www.zero.xyz/host/agent.halowerk.com/llms.txt)
