HTTP API
40 endpoints. Everything the UI does goes through these, so anything you can do in the browser you can script.
The running service publishes an interactive schema at
/docs and the raw document at /openapi.json.
This page is generated from that schema, so it cannot drift.
Example
Building a request without sending it โ useful for seeing what a selection becomes:
curl -s localhost:8420/api/rpc/build \
-H 'content-type: application/json' \
-d '{
"operation": "get-config",
"datastore": "running",
"namespaces": {"if": "urn:ietf:params:xml:ns:yang:ietf-interfaces"},
"selections": [{"xpath": "/if:interfaces/if:interface/if:description"}]
}'
health
| GET | /api/health | Health |
repositories
| GET | /api/repositories | List Repositories |
| POST | /api/repositories | Create Repository |
| DELETE | /api/repositories/{slug} | Delete Repository |
| GET | /api/repositories/{slug} | Get Repository |
| POST | /api/repositories/{slug}/import-git | Clone a git repo and copy its ``.yang`` files into this repository. |
| POST | /api/repositories/{slug}/remove-modules | Remove Modules |
| POST | /api/repositories/{slug}/upload | Upload To Repository |
yangsets
| GET | /api/yangsets | List Yangsets |
| POST | /api/yangsets | Create Yangset |
| POST | /api/yangsets/from-device | Build a set from a device's advertised capabilities. |
| POST | /api/yangsets/from-modules | Turn an explicit module list into a set โ e.g. a finished download. |
| DELETE | /api/yangsets/{slug} | Delete Yangset |
| GET | /api/yangsets/{slug} | Get Yangset |
| PATCH | /api/yangsets/{slug} | Update Yangset |
| POST | /api/yangsets/{slug}/resolve-dependencies | Resolve Dependencies |
| GET | /api/yangsets/{slug}/validate | Validate Yangset |
explore
| GET | /api/explore/{slug}/node | Get Node |
| GET | /api/explore/{slug}/search | Search Tree |
| GET | /api/explore/{slug}/tree | Get Tree |
devices
| GET | /api/devices | List Devices |
| POST | /api/devices | Create Device |
| DELETE | /api/devices/{slug} | Delete Device |
| GET | /api/devices/{slug} | Get Device |
| PATCH | /api/devices/{slug} | Update Device |
| GET | /api/devices/{slug}/protocols | Device Protocols |
netconf
| GET | /api/netconf/{slug}/capabilities | Netconf Capabilities |
| GET | /api/netconf/{slug}/datastores | Netconf Datastores |
| POST | /api/netconf/{slug}/disconnect | Netconf Disconnect |
| POST | /api/netconf/{slug}/download-schemas | Start a background download. Returns immediately with a job to poll. |
restconf
| POST | /api/restconf/build | Resolve selections into RESTCONF calls, without sending anything. |
| POST | /api/restconf/run | Build and execute. Several selections can mean several calls. |
| GET | /api/restconf/{slug}/probe | Check RESTCONF is reachable on a device and report its root. |
rpc
| POST | /api/rpc/build | Build Rpc |
| POST | /api/rpc/run | Run Rpc |
jobs
| DELETE | /api/jobs | Clear Finished Jobs |
| GET | /api/jobs | List Jobs |
| GET | /api/jobs/{job_id} | Get Job |
| POST | /api/jobs/{job_id}/cancel | Ask a job to stop. It halts at its next checkpoint, not instantly. |
{full_path}
| GET | /{full_path} | Hand every non-API path to the SPA router. |