{ "info": { "_postman_id": "e864733f-4781-45b6-8ea2-0b841a703dae", "name": "CPS-CORE", "description": "A collection of the endpoints in CPS-CORE. This is not an exhaustive collection but captures the main functionality.\n\nTo perform this functionality execute the API calls in order to create a dataspace, schema set (file is provided), anchor, and data node. Then GET the nodes to retrieve the information. The APIs in CPS-ADMIN can be used after initial POST requests.\n\nbookstore-model.yang can be found at cps/postman-collections/bookstore-model.yang", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "17907116" }, "item": [ { "name": "CPS-ADMIN", "item": [ { "name": "Get all dataspaces", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/admin/dataspaces", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "admin", "dataspaces" ] }, "description": "Read all dataspaces" }, "response": [] }, { "name": "Get a dataspace", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/admin/dataspaces/my-store", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "admin", "dataspaces", "my-store" ] }, "description": "Read a dataspace given a dataspace name" }, "response": [] }, { "name": "Get anchors", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors" ] }, "description": "Read all anchors, given a dataspace" }, "response": [] }, { "name": "Get an anchor", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors/bookstore-anchor", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors", "bookstore-anchor" ] }, "description": "Read all anchors, given a dataspace" }, "response": [] }, { "name": "Get schema sets", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/schema-sets", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "schema-sets" ] }, "description": "Read all schema sets, given a dataspace" }, "response": [] }, { "name": "Get a schema set", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/schema-sets/stores-module", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "schema-sets", "stores-module" ] }, "description": "Read a schema set given a schema set name and a dataspace" }, "response": [] } ], "description": "Some endpoints of CPS-ADMIN not mentioed in the CPS-CORE folder" }, { "name": "Create Dataspace", "request": { "method": "POST", "header": [], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces?dataspace-name=my-store", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces" ], "query": [ { "key": "dataspace-name", "value": "my-store" } ] } }, "response": [] }, { "name": "Create Schema Set", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "multipart/form-data", "type": "text", "disabled": true } ], "body": { "mode": "formdata", "formdata": [ { "key": "file", "type": "file", "src": "cps/postman-collections/bookstore.zip" } ] }, "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/schema-sets?schema-set-name=stores-module", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "schema-sets" ], "query": [ { "key": "schema-set-name", "value": "stores-module" } ] }, "description": "Make sure in the body there is form data. key = file and value will be the zip/yang file." }, "response": [] }, { "name": "Create Anchor", "request": { "method": "POST", "header": [], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors?schema-set-name=stores-module&anchor-name=bookstore-anchor", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors" ], "query": [ { "key": "schema-set-name", "value": "stores-module" }, { "key": "anchor-name", "value": "bookstore-anchor" } ] } }, "response": [] }, { "name": "Create DataNodes", "request": { "method": "POST", "header": [], "body": { "mode": "raw", "raw": "{\n \"bookstore-address\": [\n {\n \"bookstore-name\": \"Easons\",\n \"address\": \"Dublin,Ireland\",\n \"postal-code\": \"D02HA21\"\n }\n ],\n \"bookstore\": {\n \"bookstore-name\": \"Easons\",\n \"premises\": {\n \"addresses\": [\n {\n \"house-number\": 2,\n \"street\": \"Main Street\",\n \"town\": \"Maynooth\",\n \"county\": \"Kildare\"\n },\n {\n \"house-number\": 24,\n \"street\": \"Grafton Street\",\n \"town\": \"Dublin\",\n \"county\": \"Dublin\"\n }\n ]\n },\n \"categories\": [\n {\n \"code\": 1,\n \"name\": \"Children\",\n \"books\" : [\n {\n \"title\": \"Matilda\",\n \"lang\": \"English\",\n \"authors\": [\"Roald Dahl\"],\n \"editions\": [1988, 2000],\n \"price\": 20\n },\n {\n \"title\": \"The Gruffalo\",\n \"lang\": \"English\",\n \"authors\": [\"Julia Donaldson\"],\n \"editions\": [1999],\n \"price\": 15\n }\n ]\n },\n {\n \"code\": 2,\n \"name\": \"Thriller\",\n \"books\" : [\n {\n \"title\": \"Annihilation\",\n \"lang\": \"English\",\n \"authors\": [\"Jeff VanderMeer\"],\n \"editions\": [2014],\n \"price\": 15\n }\n ]\n },\n {\n \"code\": 3,\n \"name\": \"Comedy\",\n \"books\" : [\n {\n \"title\": \"Good Omens\",\n \"lang\": \"English\",\n \"authors\": [\"Neil Gaiman\", \"Terry Pratchett\"],\n \"editions\": [2006],\n \"price\": 13\n },\n {\n \"title\": \"The Colour of Magic\",\n \"lang\": \"English\",\n \"authors\": [\"Terry Pratchett\"],\n \"editions\": [1983],\n \"price\": 12\n },\n {\n \"title\": \"The Light Fantastic\",\n \"lang\": \"English\",\n \"authors\": [\"Terry Pratchett\"],\n \"editions\": [1986],\n \"price\": 14\n },\n {\n \"title\": \"A Book with No Language\",\n \"lang\": \"\",\n \"authors\": [\"Joe Bloggs\"],\n \"editions\": [2023],\n \"price\": 20\n }\n ]\n },\n {\n \"code\": 4,\n \"name\": \"Computing\",\n \"books\" : [\n {\n \"title\": \"Debian GNU/Linux\",\n \"lang\": \"German\",\n \"authors\": [\"Peter H. Ganten\", \"Wulf Alex\"],\n \"editions\": [2007, 2013, 2021],\n \"price\": 39\n },\n {\n \"title\": \"Logarithm tables\",\n \"lang\": \"N/A\",\n \"authors\": [\"Joe Bloggs\"],\n \"editions\": [2009],\n \"price\": 11\n }\n ]\n },\n {\n \"code\": 5,\n \"name\": \"Discount books\",\n \"books\" : [\n {\n \"title\": \"Book 1\",\n \"lang\": \"blah\",\n \"authors\": [],\n \"editions\": [],\n \"price\": 1\n },\n {\n \"title\": \"Book 2\",\n \"lang\": \"blah\",\n \"authors\": [],\n \"editions\": [],\n \"price\": 2\n },\n {\n \"title\": \"Book 3\",\n \"lang\": \"blah\",\n \"authors\": [],\n \"editions\": [],\n \"price\": 3\n },\n {\n \"title\": \"Book 4\",\n \"lang\": \"blah\",\n \"authors\": [],\n \"editions\": [],\n \"price\": 4\n },\n {\n \"title\": \"Book 5\",\n \"lang\": \"blah\",\n \"authors\": [],\n \"editions\": [],\n \"price\": 5\n },\n {\n \"title\": \"Book 6\",\n \"lang\": \"blah\",\n \"authors\": [],\n \"editions\": [],\n \"price\": 6\n },\n {\n \"title\": \"Book 7\",\n \"lang\": \"blah\",\n \"authors\": [],\n \"editions\": [],\n \"price\": 7\n },\n {\n \"title\": \"Book 8\",\n \"lang\": \"blah\",\n \"authors\": [],\n \"editions\": [],\n \"price\": 8\n },\n {\n \"title\": \"Book 9\",\n \"lang\": \"blah\",\n \"authors\": [],\n \"editions\": [],\n \"price\": 9\n },\n {\n \"title\": \"Book 10\",\n \"lang\": \"blah\",\n \"authors\": [],\n \"editions\": [],\n \"price\": 10\n }\n ]\n }\n ]\n }\n}\n", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors/bookstore-anchor/nodes", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors", "bookstore-anchor", "nodes" ] } }, "response": [] }, { "name": "Get Root Node All Descendants", "request": { "method": "GET", "header": [], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors/bookstore-anchor/node?xpath=/&descendants=all", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors", "bookstore-anchor", "node" ], "query": [ { "key": "xpath", "value": "/" }, { "key": "descendants", "value": "all" } ] } }, "response": [] }, { "name": "Get Node Categories No Descendants", "request": { "method": "GET", "header": [], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors/bookstore-anchor/node?xpath=/bookstore/categories&descendants=none", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors", "bookstore-anchor", "node" ], "query": [ { "key": "xpath", "value": "/bookstore/categories" }, { "key": "descendants", "value": "none" } ] } }, "response": [] }, { "name": "Get Node Premises All Descendants", "request": { "method": "GET", "header": [], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors/bookstore-anchor/node?xpath=/bookstore/premises&descendants=all", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors", "bookstore-anchor", "node" ], "query": [ { "key": "xpath", "value": "/bookstore/premises" }, { "key": "descendants", "value": "all" } ] } }, "response": [] }, { "name": "Get Node Categories with code 2 Direct Descendants", "request": { "method": "GET", "header": [], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors/bookstore-anchor/node?xpath=/bookstore/categories[@code='2']&descendants=direct", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors", "bookstore-anchor", "node" ], "query": [ { "key": "xpath", "value": "/bookstore/categories[@code='2']" }, { "key": "descendants", "value": "direct" } ] } }, "response": [] }, { "name": "Query Path Leaf Condition All Descendants", "request": { "method": "GET", "header": [], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors/bookstore-anchor/nodes/query?cps-path=/bookstore/categories[@name=\"Discount books\"]&descendants=-1", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors", "bookstore-anchor", "nodes", "query" ], "query": [ { "key": "cps-path", "value": "/bookstore/categories[@name=\"Discount books\"]" }, { "key": "descendants", "value": "-1" } ] } }, "response": [] }, { "name": "Query Path Ancestor No Descendants", "request": { "method": "GET", "header": [], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors/bookstore-anchor/nodes/query?cps-path=//books[@lang=\"German\"]/ancestor::categories&descendants=0", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors", "bookstore-anchor", "nodes", "query" ], "query": [ { "key": "cps-path", "value": "//books[@lang=\"German\"]/ancestor::categories" }, { "key": "descendants", "value": "0" } ] } }, "response": [] }, { "name": "Patch Nodes", "request": { "method": "PATCH", "header": [], "body": { "mode": "raw", "raw": "{\r\n \"bookstore\": {\r\n \"bookstore-name\": \"Chapters\"\r\n }\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors/bookstore-anchor/nodes?xpath=/", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors", "bookstore-anchor", "nodes" ], "query": [ { "key": "xpath", "value": "/" } ] } }, "response": [] }, { "name": "Put Nodes", "request": { "method": "PUT", "header": [], "body": { "mode": "raw", "raw": "\r\n {\r\n \"premises\": {\r\n \"addresses\": [\r\n {\r\n \"town\": \"Maynooth\",\r\n \"county\": \"Kildare\",\r\n \"street\": \"Main Street\",\r\n \"house-number\": 2\r\n },\r\n {\r\n \"town\": \"Dublin\",\r\n \"county\": \"Dublin\",\r\n \"street\": \"Grafton Street\",\r\n \"house-number\": 24\r\n },\r\n {\r\n \"house-number\": 13,\r\n \"street\": \"Church Street\",\r\n \"town\": \"Athlone\",\r\n \"county\": \"Westmeath\"\r\n }\r\n ]\r\n }\r\n }\r\n", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors/bookstore-anchor/nodes?xpath=/bookstore", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors", "bookstore-anchor", "nodes" ], "query": [ { "key": "xpath", "value": "/bookstore" } ] } }, "response": [] }, { "name": "Get Node Premises Direct Descendants", "request": { "method": "GET", "header": [], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors/bookstore-anchor/node?xpath=/bookstore/premises&descendants=1", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors", "bookstore-anchor", "node" ], "query": [ { "key": "xpath", "value": "/bookstore/premises" }, { "key": "descendants", "value": "1" } ] } }, "response": [] }, { "name": "Delete DataNodes", "request": { "method": "DELETE", "header": [], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors/bookstore-anchor/nodes?xpath=/", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors", "bookstore-anchor", "nodes" ], "query": [ { "key": "xpath", "value": "/" } ] } }, "response": [] }, { "name": "Delete Anchor", "request": { "method": "DELETE", "header": [], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/anchors/bookstore-anchor", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "anchors", "bookstore-anchor" ] } }, "response": [] }, { "name": "Delete Schema Set", "request": { "method": "DELETE", "header": [ { "key": "Content-Type", "value": "multipart/form-data", "type": "text", "disabled": true } ], "body": { "mode": "formdata", "formdata": [ { "key": "file", "type": "file", "src": "/home/jeff/Downloads/bookstore-model.yang" } ] }, "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces/my-store/schema-sets/stores-module", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces", "my-store", "schema-sets", "stores-module" ] }, "description": "Make sure in the body there is form data. key = file and value will be the zip/yang file." }, "response": [] }, { "name": "Delete Dataspace", "request": { "method": "DELETE", "header": [], "url": { "raw": "http://{{CPS_HOST}}:{{CPS_PORT}}/cps/api/v2/dataspaces?dataspace-name=my-store", "protocol": "http", "host": [ "{{CPS_HOST}}" ], "port": "{{CPS_PORT}}", "path": [ "cps", "api", "v2", "dataspaces" ], "query": [ { "key": "dataspace-name", "value": "my-store" } ] } }, "response": [] } ], "auth": { "type": "basic", "basic": [ { "key": "password", "value": "cpsr0cks!", "type": "string" }, { "key": "username", "value": "cpsuser", "type": "string" } ] } }