# StableSchedule - Create Cron Schedule

> StableSchedule - Create Cron Schedule is a paid API for AI agents from stableschedule.dev, paid per call via x402, $1/call, status unknown (last checked 2026-09-15).

Creates a prepaid HTTP webhook schedule that fires on a cron expression, with a selected credit tier determining how many executions are included.

## Facts

- Endpoint: POST https://stableschedule.dev/api/schedule/create
- Price: $1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/stableschedule-create-cron-schedule-bdc24421
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Hzj074-lCa2Fhi90rx3v-

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 stableschedule-create-cron-schedule-bdc24421 -d '<json body>'
```

Example prompt: Set up a StableSchedule cron job that POSTs to https://api.myapp.com/daily-sync every day at 9am UTC — use the 1k credit tier, name it 'Daily Sync', include a JSON body with event set to 'scheduled_run', and set a 30-second timeout.

## When to prefer this

Choose this endpoint when you need to set up a recurring HTTP webhook triggered by a cron expression with prepaid credits billed per-schedule-creation. It is ideal for serverless or agent-driven automation where you want a managed scheduler without running your own cron infrastructure, and where payment via USDC/x402 is acceptable.

## Known failure modes

- Invalid cron expression returns a 400 validation error
- Unsupported SKU value (not '1k', '10k', or '100k') returns a 400 error
- Malformed or non-URI webhook URL returns a 400 validation error
- Payment failure (insufficient USDC or x402 issue) returns a 402 error
- Timeout value outside 1000–30000ms range returns a 400 error
- URL exceeds 2048 character limit returns a 400 error

## How this service works

Prepaid cron scheduling for HTTP webhooks.

## Output

Returns a schedule object containing a unique schedule ID, the cron expression, schedule name, active status, credit usage breakdown (used/total/remaining based on selected SKU), full request configuration (URL, method, headers, body, timeout), and creation/update timestamps.

## Example request

```json
{
 "sku": "1k",
 "cron": "0 9 * * *",
 "name": "Test Daily Webhook",
 "request": {
  "url": "https://httpbin.org/post",
  "body": {
   "event": "scheduled_test",
   "timestamp": "2024-01-15T09:00:00Z"
  },
  "method": "POST",
  "headers": {
   "Content-Type": "application/json"
  },
  "timeout_ms": 5000
 }
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sku": {
   "enum": [
    "1k",
    "10k",
    "100k"
   ],
   "type": "string"
  },
  "cron": {
   "type": "string",
   "maxLength": 120,
   "minLength": 1
  },
  "name": {
   "type": "string",
   "maxLength": 120,
   "minLength": 1
  },
  "request": {
   "type": "object",
   "required": [
    "url",
    "method",
    "headers"
   ],
   "properties": {
    "url": {
     "type": "string",
     "format": "uri",
     "maxLength": 2048
    },
    "body": {},
    "method": {
     "enum": [
      "GET",
      "POST",
      "PUT",
      "PATCH",
      "DELETE"
     ],
     "type": "string",
     "default": "POST"
    },
    "headers": {
     "type": "object",
     "default": {},
     "propertyNames": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1
     },
     "additionalProperties": {
      "type": "string",
      "maxLength": 4096
     }
    },
    "timeout_ms": {
     "type": "integer",
     "maximum": 30000,
     "minimum": 1000
    }
   },
   "additionalProperties": false
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "schedule": {
   "id": "sch_example",
   "cron": "0 9 * * *",
   "name": "Daily sync",
   "status": "active",
   "credits": {
    "used": 0,
    "total": 1000,
    "remaining": 1000
   },
   "request": {
    "url": "https://api.example.com/webhook",
    "body": {
     "event": "scheduled_run"
    },
    "method": "POST",
    "headers": {
     "content-type": "application/json"
    },
    "timeout_ms": 30000
   },
   "created_at": "2026-05-25T00:00:00.000Z",
   "updated_at": "2026-05-25T00:00:00.000Z",
   "last_run_at": null
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/stableschedule-create-cron-schedule-bdc24421/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from stableschedule.dev](https://www.zero.xyz/host/stableschedule.dev/llms.txt)
