{"id":25178784,"url":"https://github.com/sieteunoseis/cisco-axl","last_synced_at":"2026-04-01T19:07:49.300Z","repository":{"id":65593117,"uuid":"561098248","full_name":"sieteunoseis/cisco-axl","owner":"sieteunoseis","description":"Cisco CUCM AXL API library \u0026 CLI skills for provisioning phones, lines, route patterns, partitions, CSS, and more. Supports SOAP/XML, bulk operations, SQL queries, and automation.","archived":false,"fork":false,"pushed_at":"2026-03-25T02:15:15.000Z","size":588,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-03-26T08:42:05.695Z","etag":null,"topics":["api","automation","axl","callmanager","cisco","cisco-axl","cisco-cucm","cli","cucm","javascript","json","nodejs","provisioning","skill","skills","soap","telephony","unified-communications","voip","xml"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sieteunoseis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"MIT-LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-11-03T00:07:07.000Z","updated_at":"2026-03-25T02:15:18.000Z","dependencies_parsed_at":"2024-07-15T23:42:07.752Z","dependency_job_id":"15ca8222-8496-4b49-aa70-a8cf4b7e0fd0","html_url":"https://github.com/sieteunoseis/cisco-axl","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/sieteunoseis/cisco-axl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sieteunoseis%2Fcisco-axl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sieteunoseis%2Fcisco-axl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sieteunoseis%2Fcisco-axl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sieteunoseis%2Fcisco-axl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sieteunoseis","download_url":"https://codeload.github.com/sieteunoseis/cisco-axl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sieteunoseis%2Fcisco-axl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","automation","axl","callmanager","cisco","cisco-axl","cisco-cucm","cli","cucm","javascript","json","nodejs","provisioning","skill","skills","soap","telephony","unified-communications","voip","xml"],"created_at":"2025-02-09T15:16:52.944Z","updated_at":"2026-04-01T19:07:49.293Z","avatar_url":"https://github.com/sieteunoseis.png","language":"JavaScript","funding_links":["https://buymeacoffee.com/automatebldrs"],"categories":[],"sub_categories":[],"readme":"# Cisco AXL Library \u0026 CLI\n\n[![npm version](https://img.shields.io/npm/v/cisco-axl.svg)](https://www.npmjs.com/package/cisco-axl)\n[![CI](https://github.com/sieteunoseis/cisco-axl/actions/workflows/ci.yml/badge.svg)](https://github.com/sieteunoseis/cisco-axl/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Node.js Version](https://img.shields.io/node/v/cisco-axl.svg)](https://nodejs.org)\n[![Skills](https://img.shields.io/badge/skills.sh-cisco--axl--cli-blue)](https://skills.sh/sieteunoseis/cisco-axl)\n[![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-support-orange?logo=buy-me-a-coffee)](https://buymeacoffee.com/automatebldrs)\n\nA JavaScript library and CLI to interact with Cisco CUCM via AXL SOAP API. Dynamically discovers all AXL operations from the WSDL schema — any operation for your specified version is available without static definitions.\n\nAdministrative XML (AXL) information can be found at:\n[Administrative XML (AXL) Reference](https://developer.cisco.com/docs/axl/#!axl-developer-guide).\n\n## Installation\n\n```bash\nnpm install cisco-axl\n```\n\n### Global CLI install\n\n```bash\nnpm install -g cisco-axl\n```\n\nOr run without installing:\n\n```bash\nnpx cisco-axl --help\n```\n\n### AI Agent Skills\n\n```bash\nnpx skills add sieteunoseis/cisco-axl\n```\n\n## Requirements\n\nIf you are using self-signed certificates on Cisco VOS products you may need to disable TLS verification, or use the `--insecure` CLI flag.\n\nSupported CUCM versions: `11.0`, `11.5`, `12.0`, `12.5`, `14.0`, `15.0`\n\n## Quick Start\n\n```bash\n# Configure a cluster\ncisco-axl config add lab --host 10.0.0.1 --username admin --password secret --cucm-version 14.0 --insecure\n\n# Test the connection\ncisco-axl config test\n\n# List phones\ncisco-axl list Phone --search \"name=SEP%\"\n\n# Get a specific phone\ncisco-axl get Phone SEP001122334455\n\n# SQL query\ncisco-axl sql query \"SELECT name, description FROM device WHERE name LIKE 'SEP%'\"\n```\n\n## Configuration\n\n```bash\ncisco-axl config add \u003cname\u003e --host \u003chost\u003e --username \u003cuser\u003e --password \u003cpass\u003e --cucm-version \u003cver\u003e --insecure\ncisco-axl config use \u003cname\u003e       # switch active cluster\ncisco-axl config list             # list all clusters\ncisco-axl config show             # show active cluster (masks passwords)\ncisco-axl config remove \u003cname\u003e    # remove a cluster\ncisco-axl config test             # test connectivity\n```\n\nAuth precedence: CLI flags \u003e env vars (`CUCM_HOST`, `CUCM_USERNAME`, `CUCM_PASSWORD`, `CUCM_VERSION`) \u003e config file.\n\nConfig stored at `~/.cisco-axl/config.json`. Supports [ss-cli](https://github.com/sieteunoseis/ss-cli) `\u003css:ID:field\u003e` placeholders.\n\n## CLI Commands\n\n| Command | Description |\n|---------|-------------|\n| `get \u003ctype\u003e \u003cidentifier\u003e` | Get a single item |\n| `list \u003ctype\u003e` | List items with search, pagination, returned tags |\n| `add \u003ctype\u003e` | Add an item (inline JSON, template, or bulk CSV) |\n| `update \u003ctype\u003e \u003cidentifier\u003e` | Update an item |\n| `remove \u003ctype\u003e \u003cidentifier\u003e` | Remove an item |\n| `sql query/update` | Execute SQL against CUCM |\n| `execute \u003coperation\u003e` | Run any raw AXL operation |\n| `operations` | List available operations |\n| `describe \u003coperation\u003e` | Show tag schema for an operation |\n| `doctor` | Check AXL connectivity and health |\n\nSee [full CLI reference](docs/cli.md) for bulk CSV, command chaining, piping with `--stdin`, and operation discovery.\n\n## Global Flags\n\n| Flag | Description |\n|------|-------------|\n| `--format table\\|json\\|toon\\|csv` | Output format (default: table) |\n| `--insecure` | Skip TLS certificate verification |\n| `--clean` | Remove empty/null values from results |\n| `--no-attributes` | Remove XML attributes from results |\n| `--read-only` | Restrict to read-only operations |\n| `--no-audit` | Disable audit logging for this command |\n| `--debug` | Enable debug logging |\n\n## Library API\n\n```javascript\nconst axlService = require(\"cisco-axl\");\nconst service = new axlService(\"10.10.20.1\", \"administrator\", \"ciscopsdt\", \"14.0\");\n\n// Get, list, add, update, remove\nawait service.getItem(\"Phone\", \"SEP001122334455\");\nawait service.listItems(\"Phone\", { name: \"SEP%\" });\nawait service.addItem(\"RoutePartition\", { name: \"NEW-PT\", description: \"New\" });\n\n// SQL\nawait service.executeSqlQuery(\"SELECT name FROM routepartition\");\n\n// Any AXL operation\nconst tags = await service.getOperationTags(\"addRoutePartition\");\ntags.routePartition.name = \"INTERNAL-PT\";\nawait service.executeOperation(\"addRoutePartition\", tags);\n```\n\nSee [full API documentation](docs/api.md) for all methods, error handling, batch operations, TypeScript, retry config, and logging.\n\n## Giving Back\n\nIf you found this helpful, consider:\n\n[![\"Buy Me A Coffee\"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoffee.com/automatebldrs)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsieteunoseis%2Fcisco-axl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsieteunoseis%2Fcisco-axl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsieteunoseis%2Fcisco-axl/lists"}