API Reference
API Endpoints
Complete reference for all izli.io API endpoints.
API Endpoints
Complete reference for the izli.io REST API.
Base URL: https://izli.io/api/v1
Authentication: All endpoints require Authorization: Bearer YOUR_API_KEY header.
API keys are managed on the Agents page under the API Keys tab.
Monitors
List Monitors
GET /api/v1/monitorsExample:
curl -X GET "https://izli.io/api/v1/monitors" \
-H "Authorization: Bearer YOUR_API_KEY"Create Monitor
POST /api/v1/monitorsURL Monitor:
{
"name": "Production API",
"type": "url",
"url": "https://api.example.com/health",
"method": "GET",
"interval": 60,
"timeout": 30,
"locations": ["us-east", "eu-west"],
"headers": {
"Authorization": "Bearer token"
},
"assertions": [
{
"type": "status_code",
"operator": "equals",
"value": 200
}
]
}TCP Monitor:
{
"name": "Database Check",
"type": "tcp",
"host": "db.example.com",
"port": 5432,
"interval": 60,
"timeout": 10,
"locations": ["us-east"]
}Get Monitor
GET /api/v1/monitors/{id}Update Monitor
PUT /api/v1/monitors/{id}Delete Monitor
DELETE /api/v1/monitors/{id}Trigger Manual Check
POST /api/v1/monitors/{id}/checkGet Check Results
GET /api/v1/monitors/{id}/resultsGet Monitor Stats
GET /api/v1/monitors/{id}/statsAPI Monitors
Multi-step HTTP workflow monitors.
List API Monitors
GET /api/v1/api-monitorsCreate API Monitor
POST /api/v1/api-monitorsGet API Monitor
GET /api/v1/api-monitors/{id}Update API Monitor
PUT /api/v1/api-monitors/{id}Delete API Monitor
DELETE /api/v1/api-monitors/{id}Trigger API Monitor
POST /api/v1/api-monitors/{id}/triggerList API Monitor Runs
GET /api/v1/api-monitors/{id}/runsJourneys
List Journeys
GET /api/v1/journeysCreate Journey
POST /api/v1/journeys{
"name": "Login Flow",
"description": "Tests the user login process",
"interval_seconds": 300,
"timeout_seconds": 60,
"primary_location": "us-east",
"max_retries": 1
}Get Journey
GET /api/v1/journeys/{id}Update Journey
PUT /api/v1/journeys/{id}Delete Journey
DELETE /api/v1/journeys/{id}Trigger Manual Run
POST /api/v1/journeys/{id}/run-nowList Journey Runs
GET /api/v1/journeys/{id}/runsGet Journey Stats
GET /api/v1/journeys/{id}/statsRuns
Get Run
GET /api/v1/runs/{id}Run statuses: running, passed, failed, pending_retry
Get Run Steps
GET /api/v1/journeys/{journey_id}/runs/{id}/stepsAlerts
List Alerts
GET /api/v1/alertsQuery Parameters:
| Parameter | Type | Description |
|---|---|---|
status | string | pending, sent, failed, resolved |
Get Alert
GET /api/v1/alerts/{id}Resolve Alert
POST /api/v1/alerts/{id}/resolveAlert Channels
List Channels
GET /api/v1/alerts/channelsCreate Channel
POST /api/v1/alerts/channelsSlack:
{
"name": "Ops Alerts",
"type": "slack",
"config": {
"webhook_url": "https://hooks.slack.com/..."
}
}Email:
{
"name": "Email Alerts",
"type": "email",
"config": {
"recipients": ["[email protected]"]
}
}Webhook:
{
"name": "Custom Webhook",
"type": "webhook",
"config": {
"url": "https://your-service.com/alerts",
"headers": {
"Authorization": "Token ..."
}
}
}Update Channel
PUT /api/v1/alerts/channels/{id}Delete Channel
DELETE /api/v1/alerts/channels/{id}Test Channel
POST /api/v1/alerts/channels/{id}/testAlert Rules
List Rules
GET /api/v1/alerts/rulesCreate Rule
POST /api/v1/alerts/rulesRule types: consecutive_failures, error_rate, latency_threshold, visual_diff_threshold, ssl_expiry
{
"name": "3 Consecutive Failures",
"type": "consecutive_failures",
"params": {
"threshold": 3
},
"channel_id": "CHANNEL_ID",
"journey_id": "JOURNEY_ID",
"enabled": true
}Update Rule
PUT /api/v1/alerts/rules/{id}Delete Rule
DELETE /api/v1/alerts/rules/{id}Organizations
List Your Organizations
GET /api/v1/user/organizationsGet Organization
GET /api/v1/organizations/{id}Update Organization
PUT /api/v1/organizations/{id}List Members
GET /api/v1/organizations/{id}/membersInvite Member
POST /api/v1/organizations/{id}/invitations{
"email": "[email protected]",
"role": "member"
}Roles: owner, admin, member, viewer
Update Member Role
PUT /api/v1/organizations/{id}/members/{member_id}Remove Member
DELETE /api/v1/organizations/{id}/members/{member_id}Billing
Get Current Usage
GET /api/v1/billing/usageList Plans
GET /api/v1/billing/plansCreate Checkout Session
POST /api/v1/billing/checkout{
"org_id": "ORG_ID",
"plan_id": "starter"
}Get Billing Portal URL
GET /api/v1/billing/portalVariables
List Variables
GET /api/v1/variablesCreate Variable
POST /api/v1/variables{
"name": "PASSWORD",
"value": "secret123",
"type": "secret",
"org_id": "ORG_ID"
}Types: string, secret
Update Variable
PUT /api/v1/variables/{id}Delete Variable
DELETE /api/v1/variables/{id}CI/CD Integration
Trigger journeys from your deployment pipeline using an API key.
# Trigger a journey run
curl -X POST https://izli.io/api/agent/journeys/JOURNEY_ID/trigger \
-H "Authorization: Bearer YOUR_API_KEY"
# Poll for run result
curl -X GET https://izli.io/api/agent/runs/RUN_ID \
-H "Authorization: Bearer YOUR_API_KEY"All timestamps are in UTC using ISO 8601 format.