{"skill":{"slug":"apimon","displayName":"Apimon","summary":"Monitor API endpoints and track response times to catch outages. Use when checking uptime, validating schemas, or generating status reports.","description":"---\nname: APIMon\ndescription: \"Monitor API endpoints and track response times to catch outages. Use when checking uptime, validating schemas, or generating status reports.\"\nversion: \"2.0.0\"\nauthor: \"BytesAgain\"\nhomepage: https://bytesagain.com\nsource: https://github.com/bytesagain/ai-skills\ntags: [\"api\",\"monitor\",\"health\",\"uptime\",\"response\",\"latency\",\"rest\",\"devops\"]\ncategories: [\"Developer Tools\", \"System Tools\"]\n---\n\n# APIMon\n\nApimon v2.0.0 — a devtools command-line toolkit for checking, validating, generating, formatting, linting, explaining, converting, templating, diffing, previewing, fixing, and reporting on API-related tasks. All operations are timestamped and logged, with built-in search, statistics, and multi-format export.\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `apimon check <input>` | Record a check entry (no args = show recent checks) |\n| `apimon validate <input>` | Record a validation entry (no args = show recent validations) |\n| `apimon generate <input>` | Record a generation entry (no args = show recent generations) |\n| `apimon format <input>` | Record a format entry (no args = show recent formats) |\n| `apimon lint <input>` | Record a lint entry (no args = show recent lints) |\n| `apimon explain <input>` | Record an explain entry (no args = show recent explains) |\n| `apimon convert <input>` | Record a conversion entry (no args = show recent conversions) |\n| `apimon template <input>` | Record a template entry (no args = show recent templates) |\n| `apimon diff <input>` | Record a diff entry (no args = show recent diffs) |\n| `apimon preview <input>` | Record a preview entry (no args = show recent previews) |\n| `apimon fix <input>` | Record a fix entry (no args = show recent fixes) |\n| `apimon report <input>` | Record a report entry (no args = show recent reports) |\n| `apimon stats` | Show summary statistics across all log files |\n| `apimon export <fmt>` | Export all data in json, csv, or txt format |\n| `apimon search <term>` | Search across all entries for a keyword |\n| `apimon recent` | Show the 20 most recent activity entries |\n| `apimon status` | Health check — version, data dir, entry count, disk usage |\n| `apimon help` | Show usage info and all available commands |\n| `apimon version` | Show version (v2.0.0) |\n\n## How It Works\n\nEach command (check, validate, generate, format, etc.) works as a timestamped log recorder:\n\n- **With arguments**: saves the input to `~/.local/share/apimon/<command>.log` with a timestamp, then confirms the entry count.\n- **Without arguments**: displays the 20 most recent entries from that command's log file.\n\nAll activity is also recorded in a central `history.log` for cross-command traceability.\n\n## Data Storage\n\n- **Location**: `~/.local/share/apimon/`\n- **Log files**: One `.log` file per command (e.g., `check.log`, `validate.log`, `format.log`)\n- **History**: `history.log` — central activity log across all commands\n- **Export**: `export.json`, `export.csv`, or `export.txt` generated on demand\n- **Format**: Each log line is `YYYY-MM-DD HH:MM|<input>`\n\n## Requirements\n\n- Bash (4.0+)\n- Standard Unix utilities (`wc`, `du`, `grep`, `tail`, `head`, `date`)\n- No external dependencies or API keys required\n\n## When to Use\n\n1. **API health monitoring** — use `apimon check \"GET /health returned 200 in 45ms\"` to log each endpoint check with response details\n2. **Schema validation tracking** — run `apimon validate \"OpenAPI spec v3.1 passed all rules\"` to record validation outcomes over time\n3. **Generating mock data records** — use `apimon generate \"Mock /users response with 50 entries\"` to log data generation tasks\n4. **Linting API definitions** — run `apimon lint \"spectral lint passed for orders.yaml\"` to track lint history\n5. **Uptime reporting** — use `apimon report \"Daily uptime: 99.97%\"` to log uptime metrics, then `apimon export json` to build dashboards\n\n## Examples\n\n```bash\n# Check an API endpoint\napimon check \"GET https://api.example.com/health — 200 OK, 32ms\"\n\n# Validate a response schema\napimon validate \"POST /orders response matches OrderSchema v2\"\n\n# Generate mock data\napimon generate \"10 sample user objects for /api/users\"\n\n# Format an API response\napimon format \"pretty-print JSON response from /api/products\"\n\n# Lint an API spec\napimon lint \"openapi-lint passed for petstore.yaml\"\n\n# Explain an HTTP status\napimon explain \"502 Bad Gateway — upstream server not responding\"\n\n# Convert request format\napimon convert \"curl command to Python requests\"\n\n# Create a request template\napimon template \"GET with auth headers and pagination\"\n\n# Diff two API versions\napimon diff \"v1 vs v2 breaking changes in /users endpoint\"\n\n# Preview a request\napimon preview \"GET /api/search?q=test&limit=20\"\n\n# Record a fix\napimon fix \"resolved timeout issue on /api/export endpoint\"\n\n# Generate a report entry\napimon report \"Weekly API health summary: 99.9% uptime\"\n\n# View summary statistics\napimon stats\n\n# Export all data as CSV\napimon export csv\n\n# Search for keywords\napimon search \"timeout\"\n\n# View recent activity\napimon recent\n\n# Health check\napimon status\n```\n\n## Output\n\nResults go to stdout. Save with `apimon export json > backup.json`. All entries are persisted to the data directory for later retrieval and analysis.\n\n---\n\nPowered by BytesAgain | bytesagain.com | hello@bytesagain.com\n","topics":["Monitor","Response","Uptime","Health","Devops"],"tags":{"latest":"2.0.1"},"stats":{"comments":0,"downloads":673,"installsAllTime":25,"installsCurrent":1,"stars":0,"versions":10},"createdAt":1773530729064,"updatedAt":1778491913988},"latestVersion":{"version":"2.0.1","createdAt":1773830078717,"changelog":"update","license":"MIT-0"},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"bytesagain1","userId":"s17214ddq2ph75r81trqngwmtn83exsy","displayName":"bytesagain1","image":"https://avatars.githubusercontent.com/u/261107384?v=4"},"moderation":null}