--- title: "VIP to CNode mapping via REST API" slug: "vip-to-cnode-mapping-via-rest-api" description: "Map VIPs across CNodes using REST API efficiently, uncover cluster & IP details instantly!" updated: 2026-10-23T18:20:32Z published: 2026-10-23T18:22:41Z canonical: "docs.vastdata.com/vip-to-cnode-mapping-via-rest-api" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.vastdata.com/llms.txt > Use this file to discover all available pages before exploring further. # VIP to CNode mapping via REST API ## Introduction In many scenarios, it is useful to know: - The list of VIPs on a particular CNode - Which CNode is a particular VIP currently on? To do this, we'll use the REST API. If you have not already, please review the [VAST REST API Overview](/reference/docs/vast-rest-api-overview) first. Additionally, once you have read and experimented with the examples in this article, you can easily convert them to another programming language, such as Python, as shown in the [Using Python with the REST API](/reference/docs/using-python-with-the-rest-api) article. **Special note**: many of the API calls below contain double underscores ( __ ). Please make sure that your text editor does not squash them to a single underscore, as the calls will not work. ### List all VIPs ```plaintext curl -u admin: --insecure -X GET "https://$VMSIP/api/vips/" -H "accept: application/json"  ``` ### Find all VIPs on 'cnode-202' The nomenclature here may be a little confusing at first. Cnode-202 is actually 'the cnode which has an Internal-IP with the last-octet 202'. ```plaintext curl -u admin: --insecure -X GET "https://$VMSIP/api/vips/?cnode__name=cnode-202" -H "accept: application/json" |python -m json.tool ``` That will result in a response like this: ```plaintext   [ { "cluster": "se-demo", "cnode": "cnode-202", "guid": "8dc3ac0d-da03-5214-8425-cc31ed36339f", "id": 15, "ip": "10.101.127.44", "name": null, "title": "10.101.127.44", "url": "https://10.100.127.201/api/vips/15/", "vippool": "vippool-1" }, { "cluster": "se-demo", "cnode": "cnode-202", "guid": "1d53456f-0d23-514e-b585-54e5ee1c4346", "id": 16, "ip": "10.101.127.46", "name": null, "title": "10.101.127.46", "url": "https://10.100.127.201/api/vips/16/", "vippool": "vippool-1" }, .... ``` ### Find all VIPs on CNode-3: In this case, we will fetch just the VIPS on the CNode with id 3. ```plaintext curl -u admin: --insecure -X GET "https://$VMSIP/api/vips/?cnode__id=3" -H "accept: application/json" |python -m json.tool ``` That will result in a response like this: ```plaintext   { "cluster": "se-demo", "cnode": "cnode-203", "guid": "93718fbe-4156-533e-93ef-99439f564caa", "id": 1, "ip": "10.101.127.29", "name": null, "title": "10.101.127.29", "url": "https://10.100.127.201/api/vips/1/", "vippool": "vippool-1" }, { "cluster": "se-demo", "cnode": "cnode-203", "guid": "4cbddc98-98bd-5a51-94cd-0c63a79f7c97", "id": 2, "ip": "10.101.127.11", "name": null, "title": "10.101.127.11", "url": "https://10.100.127.201/api/vips/2/", "vippool": "vippool-1" }, ....   ``` ### Find which CNode owns a particular VIP Note that the example below puts in a specific IP. You can actually put in a 'portion' of the IP address to match more entries. ```plaintext curl -u admin: --insecure -X GET "https://$VMSIP/api/vips/?ip__contains=10.101.127.46" -H "accept: application/json" |python -m json.tool ``` Result: ```plaintext [ { "cluster": "se-demo", "cnode": "cnode-202", "guid": "1d53456f-0d23-514e-b585-54e5ee1c4346", "id": 16, "ip": "10.101.127.46", "name": null, "title": "10.101.127.46", "url": "https://10.100.127.201/api/vips/16/", "vippool": "vippool-1" } ] ```