EdgeCron API Docs

Quickstart

Create an endpoint, trigger delivery, and inspect the result.

This flow creates a webhook endpoint and then creates an immediate Task Run for delivery.

Endpoint

01

Trigger

02

Task Run

03

Delivery Attempt

04

Retry Job

05

Dead Letter

06

1. Create an endpoint

An Endpoint is where EdgeCron sends callbacks. In production, use HTTPS and verify your own webhook secret in your service.

curl -X POST 'https://api.edgecron.com/v1/endpoints' \
  -H 'X-Key-ID: ak_your_key_id' \
  -H 'X-Timestamp: 1782873600' \
  -H 'X-Signature: your_lowercase_hex_signature' \
  -H 'Content-Type: application/json' \
  --data '{
    "name": "billing-webhook",
    "url": "https://example.com/webhooks/edgecron",
    "method": "POST",
    "timeout_ms": 5000
  }'

2. Create a one-off task run

Direct Task Runs are useful for immediate delivery, delayed one-off delivery, or compensation work. Set run_at to 0 for immediate execution.

curl -X POST 'https://api.edgecron.com/v1/tasks' \
  -H 'X-Key-ID: ak_your_key_id' \
  -H 'X-Timestamp: 1782873600' \
  -H 'X-Signature: your_lowercase_hex_signature' \
  -H 'Content-Type: application/json' \
  --data '{
    "endpoint_id": 101,
    "payload": "{\"invoice_id\":\"inv_123\",\"status\":\"paid\"}",
    "run_at": 0
  }'

3. Inspect delivery attempts

A Delivery Attempt is the result of one real HTTP call. If it fails and policy allows retrying, EdgeCron creates Retry Jobs afterward.

curl 'https://api.edgecron.com/v1/deliveries?page=1&page_size=20' \
  -H 'X-Key-ID: ak_your_key_id' \
  -H 'X-Timestamp: 1782873600' \
  -H 'X-Signature: your_lowercase_hex_signature'

Production tip

In production, verify your own webhook secret at the target endpoint and return a 2xx response within the configured timeout.

Another common path: publish an event

Events are best when you want business names such as orders, invoices, or account state changes. EdgeCron matches endpoint subscriptions and fans out.

curl -X POST 'https://api.edgecron.com/v1/events' \
  -H 'X-Key-ID: ak_your_key_id' \
  -H 'X-Timestamp: 1782873600' \
  -H 'X-Signature: your_lowercase_hex_signature' \
  -H 'Content-Type: application/json' \
  --data '{
    "event_name": "invoice.paid",
    "event_key": "inv_123",
    "payload": {
      "invoice_id": "inv_123",
      "status": "paid"
    }
  }'

On this page