CronLume
CRONLUME PROFESSIONAL API · V1

Build, operate and recover
every cron by API.

Complete reference and live testing console for professional cron operations. Connect a dedicated API key, edit real parameters and inspect the exact response returned by your CronLume workspace.

25 documented operationsJSON request and response bodiesBearer authentication
PRODUCTION BASE URLhttps://api.cronlume.com/v1AUTHENTICATION HEADERAuthorization: Bearer crl_live_…

Keys are created and revoked under Dashboard → API keys.

LIVE API CONSOLE

Connect your API key

The key stays in this page’s memory and is sent only to the endpoint you explicitly test. It is never added to examples, URLs or browser storage.

Not connected
API DOMAIN

Authentication

Verify credentials and identify the active workspace.

GET/account

Verify API connection

Validate the Bearer key and return the authenticated API-key identity and workspace. The interactive console uses this endpoint when Connect is selected.

PermissionAny active API key

Example request

curl -X GET "https://api.cronlume.com/v1/account" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

200
{
    "data": {
        "workspace": {
            "id": "81f9349b-8fd2-41ed-816a-4c673603b951",
            "name": "Acme Operations",
            "plan": "professional"
        },
        "api_key": {
            "id": "1cf3ef95-65c9-44d3-90e2-c473c0ff7a39",
            "name": "Production automation",
            "prefix": "crl_live_a8f94d",
            "last_used_at": "2026-08-28 20:08:31.000000"
        },
        "user": {
            "id": "f6e4f785-cbbe-45db-b179-467dcf61337d",
            "name": "Alex Morgan",
            "email": "alex@example.com"
        }
    }
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…
API DOMAIN

Cron jobs

Create, inspect, schedule and control HTTP cron operations.

GET/crons

List and search cron jobs

Returns jobs ordered by operational urgency. Combine filters to locate a project, incident state or endpoint quickly.

PermissionAny API key

Request fields

Query parameters
searchstringOptional

Search title, URL and description.

Example: invoices
statusenumOptional

pending, healthy, degraded, down or paused.

Example: down
activebooleanOptional

Filter active or disabled jobs.

Example: true
group_idUUIDOptional

Filter by project/site group.

category_idUUIDOptional

Filter by category.

limitintegerOptional

1–100. Defaults to 50.

Example: 50
offsetintegerOptional

Pagination offset. Defaults to 0.

Example: 0

Example request

curl -X GET "https://api.cronlume.com/v1/crons?search=invoices&status=down&active=true&group_id=&category_id=&limit=50&offset=0" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

200
{
    "data": [
        {
            "id": "a870d9ac-3a0f-49bb-b8e2-5f392fffc821",
            "name": "Generate customer invoices",
            "description": "Creates invoices for completed billing periods.",
            "criticality": "critical",
            "url": "https://billing.example.com/tasks/invoices",
            "method": "POST",
            "cron_expression": "*/15 * * * *",
            "timezone": "Europe/Brussels",
            "timeout_seconds": 180,
            "failure_threshold": 3,
            "failure_action_enabled": true,
            "failure_action_threshold": 3,
            "failure_action_url": "https://backup.example.com/recover/invoices",
            "is_active": true,
            "current_status": "healthy",
            "next_run_at": "2026-08-28 20:15:00.000000",
            "last_run_at": "2026-08-28 20:00:00.000000",
            "consecutive_failures": 0,
            "group_name": "Billing platform",
            "category_ids": [
                "125976d5-c276-481c-984c-a9b4b70e477e"
            ]
        }
    ],
    "pagination": {
        "total": 1,
        "limit": 50,
        "offset": 0
    }
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…
POST/crons

Create a cron job

Create a fully monitored HTTP schedule. Required fields are intentionally minimal; every operational safeguard can be configured in the same request.

PermissionWrite-enabled API key

Request fields

JSON body
namestringRequired

Human-readable title used in search, alerts and incident timelines.

Example: Generate customer invoices
urlURLRequired

HTTP or HTTPS endpoint called by the execution worker. Never place credentials in the URL.

Example: https://billing.example.com/tasks/invoices
cron_expressionstringRequired

Standard five-field crontab expression: minute, hour, day of month, month and day of week.

Example: */15 * * * *
descriptionstringOptional

Operational purpose and safe context for responders. Maximum 600 characters.

Example: Creates invoices for completed billing periods.
criticalityenumOptional

standard, important or critical. Defaults to important.

Example: critical
methodenumOptional

GET, POST, PUT, PATCH, DELETE or HEAD. Defaults to GET.

Example: POST
headersobjectOptional

HTTP request headers. Stored encrypted. Do not include them in support requests.

Example: {"Authorization":"Bearer service-token"}
bodystringOptional

Raw HTTP request body sent to the endpoint.

Example: {"source":"cronlume"}
group_idUUID|nullOptional

Existing group in the same workspace.

category_idsUUID[]Optional

Existing category identifiers in the same workspace.

Example: []
timezoneIANA timezoneOptional

Timezone used to evaluate the cron expression. Defaults to UTC.

Example: Europe/Brussels
timeout_secondsintegerOptional

Maximum total request duration. Long-running endpoints are supported. Defaults to 120.

Example: 180
connect_timeout_secondsintegerOptional

Maximum connection-establishment time. Defaults to 15.

Example: 20
follow_redirectsbooleanOptional

Follow HTTP redirects. Defaults to true.

Example: 1
verify_tlsbooleanOptional

Verify the remote TLS certificate. Keep enabled in production.

Example: 1
expected_status_minintegerOptional

Lowest HTTP status considered successful. Defaults to 200.

Example: 200
expected_status_maxintegerOptional

Highest HTTP status considered successful. Defaults to 399.

Example: 399
max_retriesintegerOptional

Additional attempts after a failed request. Defaults to 2.

Example: 2
retry_backoff_secondsintegerOptional

Delay between retry attempts. Defaults to 30.

Example: 30
failure_thresholdintegerOptional

Consecutive failed executions before the job is considered down. Defaults to 2.

Example: 3
recovery_thresholdintegerOptional

Consecutive successes required to resolve an incident. Defaults to 1.

Example: 1
alert_repeat_minutesintegerOptional

Repeat interval for persistent incident alerts. Defaults to 15.

Example: 15
grace_secondsintegerOptional

Scheduling grace period before a missed run is considered late. Defaults to 60.

Example: 60
alert_on_pausebooleanOptional

Send alerts when the job is automatically or manually disabled. Defaults to true.

Example: 1
failure_action_enabledbooleanOptional

Call an emergency URL when the configured failure streak is reached.

Example: 1
failure_action_thresholdintegerOptional

Failure count that triggers the emergency URL. Range 1–20.

Example: 3
failure_action_urlURL|nullOptional

Emergency HTTP(S) URL. Must differ from the primary URL.

Example: https://backup.example.com/recover/invoices
is_activebooleanOptional

Create the job active or paused. Defaults to true.

Example: 1

Example request

curl -X POST "https://api.cronlume.com/v1/crons" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  --data '{
    "name": "Generate customer invoices",
    "url": "https://billing.example.com/tasks/invoices",
    "cron_expression": "*/15 * * * *",
    "timezone": "Europe/Brussels",
    "method": "POST",
    "timeout_seconds": 180,
    "criticality": "critical",
    "failure_threshold": 3,
    "alert_on_pause": true,
    "failure_action_enabled": true,
    "failure_action_threshold": 3,
    "failure_action_url": "https://backup.example.com/recover/invoices"
}'

Example response

201
{
    "data": {
        "id": "a870d9ac-3a0f-49bb-b8e2-5f392fffc821",
        "name": "Generate customer invoices",
        "description": "Creates invoices for completed billing periods.",
        "criticality": "critical",
        "url": "https://billing.example.com/tasks/invoices",
        "method": "POST",
        "cron_expression": "*/15 * * * *",
        "timezone": "Europe/Brussels",
        "timeout_seconds": 180,
        "failure_threshold": 3,
        "failure_action_enabled": true,
        "failure_action_threshold": 3,
        "failure_action_url": "https://backup.example.com/recover/invoices",
        "is_active": true,
        "current_status": "healthy",
        "next_run_at": "2026-08-28 20:15:00.000000",
        "last_run_at": "2026-08-28 20:00:00.000000",
        "consecutive_failures": 0,
        "group_name": "Billing platform",
        "category_ids": [
            "125976d5-c276-481c-984c-a9b4b70e477e"
        ]
    }
}

Possible responses

201Cron job created
401Invalid API key
422Missing field, invalid cron expression or invalid emergency URL
Preparing the interactive test form…
GET/crons/{cron_id}

Retrieve one cron job

Return complete configuration and current operational state, including decrypted request headers for authorised engineering use. Treat the response as sensitive.

PermissionAny API key

Request fields

Path parameters
cron_idUUID pathRequired

Cron job identifier.

Example: a870d9ac-3a0f-49bb-b8e2-5f392fffc821

Example request

curl -X GET "https://api.cronlume.com/v1/crons/a870d9ac-3a0f-49bb-b8e2-5f392fffc821" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

200
{
    "data": {
        "id": "a870d9ac-3a0f-49bb-b8e2-5f392fffc821",
        "name": "Generate customer invoices",
        "description": "Creates invoices for completed billing periods.",
        "criticality": "critical",
        "url": "https://billing.example.com/tasks/invoices",
        "method": "POST",
        "cron_expression": "*/15 * * * *",
        "timezone": "Europe/Brussels",
        "timeout_seconds": 180,
        "failure_threshold": 3,
        "failure_action_enabled": true,
        "failure_action_threshold": 3,
        "failure_action_url": "https://backup.example.com/recover/invoices",
        "is_active": true,
        "current_status": "healthy",
        "next_run_at": "2026-08-28 20:15:00.000000",
        "last_run_at": "2026-08-28 20:00:00.000000",
        "consecutive_failures": 0,
        "group_name": "Billing platform",
        "category_ids": [
            "125976d5-c276-481c-984c-a9b4b70e477e"
        ]
    }
}

Possible responses

200Cron job returned
401Invalid API key
404Cron job not found in this workspace
Preparing the interactive test form…
PATCH/crons/{cron_id}

Change cron configuration

Update one or more supported fields. Omitted fields keep their current values. Changing schedule or timezone recalculates next_run_at.

PermissionWrite-enabled API key

Request fields

Path parameters
cron_idUUID pathRequired

Cron job identifier.

Example: a870d9ac-3a0f-49bb-b8e2-5f392fffc821
JSON body
namestringOptional

Human-readable title used in search, alerts and incident timelines.

Example: Generate customer invoices
urlURLOptional

HTTP or HTTPS endpoint called by the execution worker. Never place credentials in the URL.

Example: https://billing.example.com/tasks/invoices
cron_expressionstringOptional

Standard five-field crontab expression: minute, hour, day of month, month and day of week.

Example: */15 * * * *
descriptionstringOptional

Operational purpose and safe context for responders. Maximum 600 characters.

Example: Creates invoices for completed billing periods.
criticalityenumOptional

standard, important or critical. Defaults to important.

Example: critical
methodenumOptional

GET, POST, PUT, PATCH, DELETE or HEAD. Defaults to GET.

Example: POST
headersobjectOptional

HTTP request headers. Stored encrypted. Do not include them in support requests.

Example: {"Authorization":"Bearer service-token"}
bodystringOptional

Raw HTTP request body sent to the endpoint.

Example: {"source":"cronlume"}
group_idUUID|nullOptional

Existing group in the same workspace.

category_idsUUID[]Optional

Existing category identifiers in the same workspace.

Example: []
timezoneIANA timezoneOptional

Timezone used to evaluate the cron expression. Defaults to UTC.

Example: Europe/Brussels
timeout_secondsintegerOptional

Maximum total request duration. Long-running endpoints are supported. Defaults to 120.

Example: 180
connect_timeout_secondsintegerOptional

Maximum connection-establishment time. Defaults to 15.

Example: 20
follow_redirectsbooleanOptional

Follow HTTP redirects. Defaults to true.

Example: 1
verify_tlsbooleanOptional

Verify the remote TLS certificate. Keep enabled in production.

Example: 1
expected_status_minintegerOptional

Lowest HTTP status considered successful. Defaults to 200.

Example: 200
expected_status_maxintegerOptional

Highest HTTP status considered successful. Defaults to 399.

Example: 399
max_retriesintegerOptional

Additional attempts after a failed request. Defaults to 2.

Example: 2
retry_backoff_secondsintegerOptional

Delay between retry attempts. Defaults to 30.

Example: 30
failure_thresholdintegerOptional

Consecutive failed executions before the job is considered down. Defaults to 2.

Example: 3
recovery_thresholdintegerOptional

Consecutive successes required to resolve an incident. Defaults to 1.

Example: 1
alert_repeat_minutesintegerOptional

Repeat interval for persistent incident alerts. Defaults to 15.

Example: 15
grace_secondsintegerOptional

Scheduling grace period before a missed run is considered late. Defaults to 60.

Example: 60
alert_on_pausebooleanOptional

Send alerts when the job is automatically or manually disabled. Defaults to true.

Example: 1
failure_action_enabledbooleanOptional

Call an emergency URL when the configured failure streak is reached.

Example: 1
failure_action_thresholdintegerOptional

Failure count that triggers the emergency URL. Range 1–20.

Example: 3
failure_action_urlURL|nullOptional

Emergency HTTP(S) URL. Must differ from the primary URL.

Example: https://backup.example.com/recover/invoices
is_activebooleanOptional

Create the job active or paused. Defaults to true.

Example: 1

Example request

curl -X PATCH "https://api.cronlume.com/v1/crons/a870d9ac-3a0f-49bb-b8e2-5f392fffc821" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  --data '{
    "cron_expression": "0 */2 * * *",
    "timeout_seconds": 240,
    "failure_threshold": 4
}'

Example response

200
{
    "data": {
        "id": "a870d9ac-3a0f-49bb-b8e2-5f392fffc821",
        "name": "Generate customer invoices",
        "description": "Creates invoices for completed billing periods.",
        "criticality": "critical",
        "url": "https://billing.example.com/tasks/invoices",
        "method": "POST",
        "cron_expression": "0 */2 * * *",
        "timezone": "Europe/Brussels",
        "timeout_seconds": 240,
        "failure_threshold": 4,
        "failure_action_enabled": true,
        "failure_action_threshold": 3,
        "failure_action_url": "https://backup.example.com/recover/invoices",
        "is_active": true,
        "current_status": "healthy",
        "next_run_at": "2026-08-28 20:15:00.000000",
        "last_run_at": "2026-08-28 20:00:00.000000",
        "consecutive_failures": 0,
        "group_name": "Billing platform",
        "category_ids": [
            "125976d5-c276-481c-984c-a9b4b70e477e"
        ]
    }
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…
DELETE/crons/{cron_id}

Permanently delete a cron job

Delete the job and its execution history. This operation is permanent and returns no response body.

PermissionWrite-enabled API key

Request fields

Path parameters
cron_idUUID pathRequired

Cron job identifier.

Example: a870d9ac-3a0f-49bb-b8e2-5f392fffc821

Example request

curl -X DELETE "https://api.cronlume.com/v1/crons/a870d9ac-3a0f-49bb-b8e2-5f392fffc821" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

204
No response body

Possible responses

204Cron job and related history deleted
401Invalid API key
404Cron job not found
Preparing the interactive test form…
POST/crons/{cron_id}/activate

Activate or reactivate a cron

Clears the pause date and reason, resets locks and calculates the next execution.

PermissionWrite-enabled API key

Request fields

Path parameters
cron_idUUID pathRequired

Cron job identifier.

Example: a870d9ac-3a0f-49bb-b8e2-5f392fffc821

Example request

curl -X POST "https://api.cronlume.com/v1/crons/a870d9ac-3a0f-49bb-b8e2-5f392fffc821/activate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

200
{
    "data": {
        "id": "a870d9ac-3a0f-49bb-b8e2-5f392fffc821",
        "name": "Generate customer invoices",
        "description": "Creates invoices for completed billing periods.",
        "criticality": "critical",
        "url": "https://billing.example.com/tasks/invoices",
        "method": "POST",
        "cron_expression": "*/15 * * * *",
        "timezone": "Europe/Brussels",
        "timeout_seconds": 180,
        "failure_threshold": 3,
        "failure_action_enabled": true,
        "failure_action_threshold": 3,
        "failure_action_url": "https://backup.example.com/recover/invoices",
        "is_active": true,
        "current_status": "pending",
        "next_run_at": "2026-08-28 20:15:00.000000",
        "last_run_at": "2026-08-28 20:00:00.000000",
        "consecutive_failures": 0,
        "group_name": "Billing platform",
        "category_ids": [
            "125976d5-c276-481c-984c-a9b4b70e477e"
        ]
    }
}

Possible responses

200Cron state changed
401Invalid API key
404Cron job not found
Preparing the interactive test form…
POST/crons/{cron_id}/deactivate

Disable a cron

Stops future executions and records the exact UTC pause timestamp and API reason.

PermissionWrite-enabled API key

Request fields

Path parameters
cron_idUUID pathRequired

Cron job identifier.

Example: a870d9ac-3a0f-49bb-b8e2-5f392fffc821

Example request

curl -X POST "https://api.cronlume.com/v1/crons/a870d9ac-3a0f-49bb-b8e2-5f392fffc821/deactivate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

200
{
    "data": {
        "id": "a870d9ac-3a0f-49bb-b8e2-5f392fffc821",
        "name": "Generate customer invoices",
        "description": "Creates invoices for completed billing periods.",
        "criticality": "critical",
        "url": "https://billing.example.com/tasks/invoices",
        "method": "POST",
        "cron_expression": "*/15 * * * *",
        "timezone": "Europe/Brussels",
        "timeout_seconds": 180,
        "failure_threshold": 3,
        "failure_action_enabled": true,
        "failure_action_threshold": 3,
        "failure_action_url": "https://backup.example.com/recover/invoices",
        "is_active": false,
        "current_status": "paused",
        "next_run_at": "2026-08-28 20:15:00.000000",
        "last_run_at": "2026-08-28 20:00:00.000000",
        "consecutive_failures": 0,
        "group_name": "Billing platform",
        "category_ids": [
            "125976d5-c276-481c-984c-a9b4b70e477e"
        ]
    }
}

Possible responses

200Cron state changed
401Invalid API key
404Cron job not found
Preparing the interactive test form…
POST/crons/{cron_id}/run

Queue an immediate execution

Moves next_run_at to the current UTC time. The scheduler accepts the job asynchronously.

PermissionWrite-enabled API key

Request fields

Path parameters
cron_idUUID pathRequired

Cron job identifier.

Example: a870d9ac-3a0f-49bb-b8e2-5f392fffc821

Example request

curl -X POST "https://api.cronlume.com/v1/crons/a870d9ac-3a0f-49bb-b8e2-5f392fffc821/run" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

202
{
    "accepted": true,
    "cron_id": "a870d9ac-3a0f-49bb-b8e2-5f392fffc821"
}

Possible responses

202Execution queued
409Cron is inactive; reactivate it first
401Invalid API key
404Cron job not found
Preparing the interactive test form…
POST/crons/bulk-activate

Reactivate multiple cron jobs

Reactivate selected disabled jobs after a server outage or resolved incident. Unknown or already active identifiers are ignored.

PermissionWrite-enabled API key

Request fields

JSON body
job_idsUUID[]Required

Unique cron identifiers to reactivate. Maximum recommended batch: 200.

Example: ["a870d9ac-3a0f-49bb-b8e2-5f392fffc821"]

Example request

curl -X POST "https://api.cronlume.com/v1/crons/bulk-activate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  --data '{
    "job_ids": [
        "a870d9ac-3a0f-49bb-b8e2-5f392fffc821"
    ]
}'

Example response

200
{
    "data": {
        "reactivated_ids": [
            "a870d9ac-3a0f-49bb-b8e2-5f392fffc821"
        ],
        "reactivated_count": 1,
        "ignored_count": 0
    }
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…
POST/crons/{cron_id}/duplicate

Duplicate a cron safely

Create an exact operational copy, including categories, alert channels, encrypted headers and request body. The copy is always paused and clearly named so it can be reviewed before activation without causing a double execution.

PermissionWrite-enabled API key

Request fields

Path parameters
cron_idUUID pathRequired

Source cron job identifier.

Example: a870d9ac-3a0f-49bb-b8e2-5f392fffc821

Example request

curl -X POST "https://api.cronlume.com/v1/crons/a870d9ac-3a0f-49bb-b8e2-5f392fffc821/duplicate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

201
{
    "data": {
        "id": "44079c1f-a0eb-45f0-b998-0c81017b2cc2",
        "name": "Generate customer invoices (copy)",
        "description": "Creates invoices for completed billing periods.",
        "criticality": "critical",
        "url": "https://billing.example.com/tasks/invoices",
        "method": "POST",
        "cron_expression": "*/15 * * * *",
        "timezone": "Europe/Brussels",
        "timeout_seconds": 180,
        "failure_threshold": 3,
        "failure_action_enabled": true,
        "failure_action_threshold": 3,
        "failure_action_url": "https://backup.example.com/recover/invoices",
        "is_active": false,
        "current_status": "paused",
        "next_run_at": "2026-08-28 20:15:00.000000",
        "last_run_at": "2026-08-28 20:00:00.000000",
        "consecutive_failures": 0,
        "group_name": "Billing platform",
        "category_ids": [
            "125976d5-c276-481c-984c-a9b4b70e477e"
        ],
        "paused_at": "2026-08-29 14:22:00.000000",
        "pause_reason": "Duplicated safely through developer API \u2014 review before activation"
    }
}

Possible responses

201Paused duplicate created
401Invalid API key
404Source cron job not found
Preparing the interactive test form…
POST/crons/bulk-pause

Pause multiple cron jobs

Pause up to 200 active jobs in one operation. CronLume records the exact UTC pause time and a developer-API reason on every affected job. Unknown, inaccessible and already paused identifiers are reported as ignored.

PermissionWrite-enabled API key

Request fields

JSON body
job_idsUUID[]Required

Unique cron identifiers to pause. Maximum 200.

Example: ["a870d9ac-3a0f-49bb-b8e2-5f392fffc821"]

Example request

curl -X POST "https://api.cronlume.com/v1/crons/bulk-pause" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  --data '{
    "job_ids": [
        "a870d9ac-3a0f-49bb-b8e2-5f392fffc821"
    ]
}'

Example response

200
{
    "data": {
        "paused_ids": [
            "a870d9ac-3a0f-49bb-b8e2-5f392fffc821"
        ],
        "paused_count": 1,
        "ignored_count": 0
    }
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…
POST/crons/bulk-move

Move multiple cron jobs to a group

Move up to 200 jobs to a project, website, service or customer group. Send group_id as null to make the selected jobs ungrouped. Only jobs and groups from the authenticated workspace can be used.

PermissionWrite-enabled API key

Request fields

JSON body
job_idsUUID[]Required

Unique cron identifiers to move. Maximum 200.

Example: ["a870d9ac-3a0f-49bb-b8e2-5f392fffc821"]
group_idUUID|nullRequired

Destination group identifier, or null for Ungrouped.

Example: 6ef63789-baf1-44fc-99bb-0c5ce2d37a8b

Example request

curl -X POST "https://api.cronlume.com/v1/crons/bulk-move" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  --data '{
    "job_ids": [
        "a870d9ac-3a0f-49bb-b8e2-5f392fffc821"
    ],
    "group_id": "6ef63789-baf1-44fc-99bb-0c5ce2d37a8b"
}'

Example response

200
{
    "data": {
        "moved_ids": [
            "a870d9ac-3a0f-49bb-b8e2-5f392fffc821"
        ],
        "moved_count": 1,
        "ignored_count": 0,
        "group_id": "6ef63789-baf1-44fc-99bb-0c5ce2d37a8b"
    }
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…
API DOMAIN

Executions

Investigate timing, HTTP results, retries and emergency actions.

GET/crons/{cron_id}/executions

List execution history

Inspect response time, HTTP status, retries and safe response evidence for a single cron. Most recent execution is returned first.

PermissionAny API key

Request fields

Path parameters
cron_idUUID pathRequired

Cron job identifier.

Example: a870d9ac-3a0f-49bb-b8e2-5f392fffc821
Query parameters
limitintegerOptional

1–200. Defaults to 50.

Example: 50

Example request

curl -X GET "https://api.cronlume.com/v1/crons/a870d9ac-3a0f-49bb-b8e2-5f392fffc821/executions?limit=50" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

200
{
    "data": [
        {
            "id": 18492,
            "job_id": "a870d9ac-3a0f-49bb-b8e2-5f392fffc821",
            "scheduled_at": "2026-08-28 20:00:00.000000",
            "started_at": "2026-08-28 20:00:00.143000",
            "finished_at": "2026-08-28 20:00:01.381000",
            "duration_ms": 1238,
            "status": "succeeded",
            "attempt": 1,
            "http_status": 200,
            "error_type": null,
            "error_message": null,
            "response_excerpt": "{\"processed\":42}",
            "worker_id": "scheduler-eu-01"
        }
    ]
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…
GET/crons/{cron_id}/failure-actions

List emergency-action executions

Inspect every recovery URL invocation triggered by a consecutive-failure rule.

PermissionAny API key

Request fields

Path parameters
cron_idUUID pathRequired

Cron job identifier.

Example: a870d9ac-3a0f-49bb-b8e2-5f392fffc821
Query parameters
limitintegerOptional

1–200. Defaults to 50.

Example: 50

Example request

curl -X GET "https://api.cronlume.com/v1/crons/a870d9ac-3a0f-49bb-b8e2-5f392fffc821/failure-actions?limit=50" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

200
{
    "data": [
        {
            "id": 218,
            "job_id": "a870d9ac-3a0f-49bb-b8e2-5f392fffc821",
            "trigger_failure_count": 3,
            "url": "https://backup.example.com/recover/invoices",
            "duration_ms": 842,
            "status": "succeeded",
            "http_status": 204,
            "worker_id": "scheduler-eu-01"
        }
    ]
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…
API DOMAIN

Organisation

Structure fleets by project, website, service, customer and operational category.

GET/groups

List Groups

Return every project, website, service or other configured in the authenticated workspace.

PermissionAny API key

Example request

curl -X GET "https://api.cronlume.com/v1/groups" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

200
{
    "data": [
        {
            "id": "6ef63789-baf1-44fc-99bb-0c5ce2d37a8b",
            "group_type": "service",
            "name": "Billing platform",
            "client_reference": "CLIENT-ACME-0042",
            "description": "Customer billing automation",
            "color": "#147d64"
        }
    ]
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…
POST/groups

Create group

Create a reusable project, website, service or other for organising the cron fleet.

PermissionWrite-enabled API key

Request fields

JSON body
namestringRequired

Unique group name inside the workspace.

Example: Billing platform
group_typeenumOptional

project, website, service or other.

Example: service
client_referencestring|nullOptional

Customer, contract or internal reference. Maximum 160 characters.

Example: CLIENT-ACME-0042
descriptionstring|nullOptional

Purpose and ownership context.

Example: Customer billing automation
colorhex colorOptional

Dashboard display colour.

Example: #147d64

Example request

curl -X POST "https://api.cronlume.com/v1/groups" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  --data '{
    "group_type": "service",
    "name": "Billing platform",
    "client_reference": "CLIENT-ACME-0042",
    "description": "Customer billing automation",
    "color": "#147d64"
}'

Example response

201
{
    "data": {
        "id": "6ef63789-baf1-44fc-99bb-0c5ce2d37a8b",
        "group_type": "service",
        "name": "Billing platform",
        "client_reference": "CLIENT-ACME-0042",
        "description": "Customer billing automation",
        "color": "#147d64"
    }
}

Possible responses

201Groups created
401Invalid API key
422Invalid or duplicate values
Preparing the interactive test form…
PATCH/groups/{group_id}

Update group

Change one or more fields. Omitted fields remain unchanged.

PermissionWrite-enabled API key

Request fields

Path parameters
group_idUUID pathRequired

Groups identifier.

Example: 6ef63789-baf1-44fc-99bb-0c5ce2d37a8b
JSON body
namestringOptional

Unique group name inside the workspace.

Example: Billing platform
group_typeenumOptional

project, website, service or other.

Example: service
client_referencestring|nullOptional

Customer, contract or internal reference. Maximum 160 characters.

Example: CLIENT-ACME-0042
descriptionstring|nullOptional

Purpose and ownership context.

Example: Customer billing automation
colorhex colorOptional

Dashboard display colour.

Example: #147d64

Example request

curl -X PATCH "https://api.cronlume.com/v1/groups/6ef63789-baf1-44fc-99bb-0c5ce2d37a8b" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  --data '{
    "name": "Billing platform Production"
}'

Example response

200
{
    "updated": true
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…
DELETE/groups/{group_id}

Delete group

Delete the organisational item. Jobs remain available; deleted group relations become empty.

PermissionWrite-enabled API key

Request fields

Path parameters
group_idUUID pathRequired

Groups identifier.

Example: 6ef63789-baf1-44fc-99bb-0c5ce2d37a8b

Example request

curl -X DELETE "https://api.cronlume.com/v1/groups/6ef63789-baf1-44fc-99bb-0c5ce2d37a8b" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

204
No response body

Possible responses

204Groups item deleted
401Invalid API key
404Item not found
Preparing the interactive test form…
GET/categories

List Categories

Return every operational category configured in the authenticated workspace.

PermissionAny API key

Example request

curl -X GET "https://api.cronlume.com/v1/categories" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

200
{
    "data": [
        {
            "id": "125976d5-c276-481c-984c-a9b4b70e477e",
            "name": "Billing",
            "description": "Invoice and payment workflows",
            "color": "#46769b"
        }
    ]
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…
POST/categories

Create categorie

Create a reusable operational category for organising the cron fleet.

PermissionWrite-enabled API key

Request fields

JSON body
namestringRequired

Unique category name inside the workspace.

Example: Billing
descriptionstring|nullOptional

Description of the operational category.

Example: Invoice and payment workflows
colorhex colorOptional

Dashboard display colour.

Example: #46769b

Example request

curl -X POST "https://api.cronlume.com/v1/categories" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  --data '{
    "name": "Billing",
    "description": "Invoice and payment workflows",
    "color": "#46769b"
}'

Example response

201
{
    "data": {
        "id": "125976d5-c276-481c-984c-a9b4b70e477e",
        "name": "Billing",
        "description": "Invoice and payment workflows",
        "color": "#46769b"
    }
}

Possible responses

201Categories created
401Invalid API key
422Invalid or duplicate values
Preparing the interactive test form…
PATCH/categories/{category_id}

Update categorie

Change one or more fields. Omitted fields remain unchanged.

PermissionWrite-enabled API key

Request fields

Path parameters
category_idUUID pathRequired

Categories identifier.

Example: 125976d5-c276-481c-984c-a9b4b70e477e
JSON body
namestringOptional

Unique category name inside the workspace.

Example: Billing
descriptionstring|nullOptional

Description of the operational category.

Example: Invoice and payment workflows
colorhex colorOptional

Dashboard display colour.

Example: #46769b

Example request

curl -X PATCH "https://api.cronlume.com/v1/categories/125976d5-c276-481c-984c-a9b4b70e477e" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  --data '{
    "name": "Billing Production"
}'

Example response

200
{
    "updated": true
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…
DELETE/categories/{category_id}

Delete categorie

Delete the organisational item. Jobs remain available; deleted group relations become empty.

PermissionWrite-enabled API key

Request fields

Path parameters
category_idUUID pathRequired

Categories identifier.

Example: 125976d5-c276-481c-984c-a9b4b70e477e

Example request

curl -X DELETE "https://api.cronlume.com/v1/categories/125976d5-c276-481c-984c-a9b4b70e477e" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

204
No response body

Possible responses

204Categories item deleted
401Invalid API key
404Item not found
Preparing the interactive test form…
API DOMAIN

Incidents

Read and acknowledge failures that require professional attention.

GET/incidents

List incidents

Return up to 500 incidents ordered by opening time. Responses contain open, acknowledged and resolved operational history.

PermissionAny API key

Example request

curl -X GET "https://api.cronlume.com/v1/incidents" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

200
{
    "data": [
        {
            "id": 731,
            "job_id": "a870d9ac-3a0f-49bb-b8e2-5f392fffc821",
            "cron_name": "Generate customer invoices",
            "status": "open",
            "severity": "critical",
            "summary": "Generate customer invoices failed 3 times",
            "details": "Remote endpoint returned HTTP 503.",
            "failure_count": 3,
            "opened_at": "2026-08-28 20:00:02.000000",
            "acknowledged_at": null,
            "resolved_at": null
        }
    ]
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…
POST/incidents/{incident_id}/acknowledge

Acknowledge an incident

Mark an open incident as acknowledged and record the exact UTC acknowledgement time.

PermissionWrite-enabled API key

Request fields

Path parameters
incident_idinteger pathRequired

Incident identifier.

Example: 731

Example request

curl -X POST "https://api.cronlume.com/v1/incidents/731/acknowledge" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Example response

200
{
    "acknowledged": true
}

Possible responses

200Request completed successfully
401Missing, invalid or expired API key
403Insufficient permission
422Request validation failed
Preparing the interactive test form…