Quickstart
CodaURL checks your URLs on a schedule and alerts you or your AI agents when a monitor changes status. The default interval is 1 minute on Pro and 5 minutes on Free; you can select a longer interval for each monitor.
1. Install the CLI
brew install CodaSky/homebrew-tap/codaurl
2. Sign in
Create an account in the CodaURL web console, then run codaurl login. It opens your browser for device approval and stores short-lived session credentials in your OS keyring. No access token is displayed or copied.
3. Add a monitor and run a check
codaurl add https://my-service.com/health --interval 300 --json
codaurl check <id> --json
Monitoring guides
Follow a complete workflow, including request examples and limits:
Agent contract
CodaURL is built for AI agents. Every CLI command supports --json and prints plain JSON to stdout, with no colors or decorative formatting. Logs go to stderr.
Status fields
previous_status: Status before the instant check (UP,DOWN, ornull).status_changed:trueif this check changed the status between UP and DOWN.status_since: ISO 8601 timestamp of when the current status began.error_code:unexpected_status,keyword_mismatch,timeout,network_error,ssrf_blocked, orchecker_error;nullwhen the check succeeds.ssl: Pro only. Certificate expiry from a live peer certificate observation, plus the result of an independent validated TLS handshake (tls.status,tls.error_code,tls.last_checked_at).
llms.txt and OpenAPI
Point your agent at these two files so it can work with CodaURL without a hand-written integration.
CLI reference
Manage monitors from the terminal. Add --json to any command for machine-readable output.
codaurl login
codaurl logout
codaurl whoami
codaurl list
codaurl get <id>
codaurl add <url> [--name <name>] [--interval 60|300|900|1800|3600] [--expected-status 200|200,204,301] [--automatic-baseline[=false]]
codaurl edit <id> [--name <name>] [--interval 60|300|900|1800|3600] [--expected-status <status>] [--automatic-baseline[=false]]
codaurl remove <id>
codaurl check <id>
codaurl pause <id>
codaurl resume <id>
codaurl mute <id> (--until <ISO>|--duration <seconds>)
codaurl unmute <id>
codaurl logs <id>
codaurl baseline-preview <id>
codaurl status-history <id> [--limit <1-100>]
codaurl import <file|-> [--dry-run]
codaurl schema monitor
A 60-second interval requires Pro. Free supports 300, 900, 1800, and 3600 seconds. --automatic-baseline and baseline-preview require Pro.
For Pro monitors, add and edit also support repeatable --header NAME=VALUE, --keyword, and --keyword-mode contains|not_contains. Use edit --clear-headers or edit --clear-keyword to remove those settings. Run codaurl <command> --help for all options.
import creates or updates monitor definitions from a JSON array; --dry-run previews changes. schema monitor prints the input JSON Schema without signing in.
REST API reference
Send Authorization: Bearer <TOKEN> with monitor requests. Common monitor endpoints are listed below; all routes and their authentication requirements are in openapi.json. The manual SSL check endpoint requires a verified mobile app session.
/api/v1/monitors - List monitors/api/v1/monitors - Add a monitor/api/v1/monitors/:id - Get one monitor/api/v1/monitors/:id - Edit a monitor/api/v1/monitors/:id - Delete a monitor/api/v1/monitors/:id/check - Run an instant check/api/v1/monitors/:id/pause - Pause a monitor/api/v1/monitors/:id/resume - Resume a monitor/api/v1/monitors/:id/mute - Mute alerts/api/v1/monitors/:id/unmute - Unmute alerts/api/v1/monitors/:id/logs - Check logs or latency rollup/api/v1/monitors/:id/status-history - Status history/api/v1/monitors/:id/baseline-preview - Preview the automatic baseline (Pro)