YANG Studio

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/healthHealth

repositories

GET/api/repositoriesList Repositories
POST/api/repositoriesCreate Repository
DELETE/api/repositories/{slug}Delete Repository
GET/api/repositories/{slug}Get Repository
POST/api/repositories/{slug}/import-gitClone a git repo and copy its ``.yang`` files into this repository.
POST/api/repositories/{slug}/remove-modulesRemove Modules
POST/api/repositories/{slug}/uploadUpload To Repository

yangsets

GET/api/yangsetsList Yangsets
POST/api/yangsetsCreate Yangset
POST/api/yangsets/from-deviceBuild a set from a device's advertised capabilities.
POST/api/yangsets/from-modulesTurn 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-dependenciesResolve Dependencies
GET/api/yangsets/{slug}/validateValidate Yangset

explore

GET/api/explore/{slug}/nodeGet Node
GET/api/explore/{slug}/searchSearch Tree
GET/api/explore/{slug}/treeGet Tree

devices

GET/api/devicesList Devices
POST/api/devicesCreate Device
DELETE/api/devices/{slug}Delete Device
GET/api/devices/{slug}Get Device
PATCH/api/devices/{slug}Update Device
GET/api/devices/{slug}/protocolsDevice Protocols

netconf

GET/api/netconf/{slug}/capabilitiesNetconf Capabilities
GET/api/netconf/{slug}/datastoresNetconf Datastores
POST/api/netconf/{slug}/disconnectNetconf Disconnect
POST/api/netconf/{slug}/download-schemasStart a background download. Returns immediately with a job to poll.

restconf

POST/api/restconf/buildResolve selections into RESTCONF calls, without sending anything.
POST/api/restconf/runBuild and execute. Several selections can mean several calls.
GET/api/restconf/{slug}/probeCheck RESTCONF is reachable on a device and report its root.

rpc

POST/api/rpc/buildBuild Rpc
POST/api/rpc/runRun Rpc

jobs

DELETE/api/jobsClear Finished Jobs
GET/api/jobsList Jobs
GET/api/jobs/{job_id}Get Job
POST/api/jobs/{job_id}/cancelAsk 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.