diff --git a/apis/10.11/collection/webMethods_dev_portal_collection.json b/apis/10.11/collection/webMethods_dev_portal_collection.json deleted file mode 100644 index a419618..0000000 --- a/apis/10.11/collection/webMethods_dev_portal_collection.json +++ /dev/null @@ -1,9767 +0,0 @@ -{ - "info": { - "_postman_id": "3260c78e-bfd4-4905-9e37-82d2caca01d4", - "name": "webMethods Developer Portal APIs", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" - }, - "item": [ - { - "name": "Administration", - "item": [ - { - "name": "Certificates", - "item": [ - { - "name": "Get all Certifiicates", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/certs", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "certs" - ] - } - }, - "response": [] - }, - { - "name": "Save a certificate", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "files", - "type": "file", - "src": [] - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/certs", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "certs" - ] - } - }, - "response": [] - }, - { - "name": "Get a certificate", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/certs/8366e778-e804-4178-bd55-b1ea28a9560b", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "certs", - "8366e778-e804-4178-bd55-b1ea28a9560b" - ] - } - }, - "response": [] - }, - { - "name": "Delete a certificiate", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "" - } - }, - "response": [] - } - ] - }, - { - "name": "File", - "item": [ - { - "name": "Create a file", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/x-www-form-urlencoded", - "type": "text" - } - ], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "files", - "type": "file", - "src": [] - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/files", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "files" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Flow", - "item": [ - { - "name": "Get suspended flows", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/flows/suspended", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "flows", - "suspended" - ] - } - }, - "response": [] - } - ] - } - ] - }, - { - "name": "API Management", - "item": [ - { - "name": "Try API", - "item": [ - { - "name": "OAuth", - "item": [ - { - "name": "Create Token with Client credentials grant", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"cc grant token\",\r\n \"scope\": \"Read\",\r\n \"applicationId\": \"55de08f7-9db9-4d60-b478-2355fa2520d9\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/oauth/tokens", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "oauth", - "tokens" - ] - } - }, - "response": [] - }, - { - "name": "Create OAuth state", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"implicit token\",\r\n \"applicationId\": \"b07b133d-46c9-480b-bf6f-f3b3de669940\",\r\n \"grantType\": \"implicit\",\r\n \"authorizationUri\": \"https://SAG-BTKPWT2:7777/invoke/pub.apigateway.oauth2/authorize\",\r\n \"accessUri\": \"https://SAG-BTKPWT2:7777/invoke/pub.apigateway.oauth2/getAccessToken\",\r\n \"redirectUri\": \"http://localhost:18101/portal/rest/v1/oauth/callback\",\r\n \"clientId\": \"1a57e392-e7ad-44dd-b878-cfffa3a4e9e7\",\r\n \"clientSecret\": \"2a1382b3-ac9e-45f7-bb59-0b371d293d21\",\r\n \"scope\": \"Read\",\r\n \"credentialsIn\": \"HEADER\"\r\n}\r\n\r\n", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/oauth/tokens/state", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "oauth", - "tokens", - "state" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "SOAP API Tryout", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"operation\": \"SOAP11\",\r\n \"endpoint\": \"http://dneonline.com/calculator.asmx\",\r\n \"headers\": {\r\n \"SOAPAction\": \"http://tempuri.org/Add\"\r\n },\r\n \"body\": {\r\n \"request_type\": \"soap\",\r\n \"payload\": \" 10 19 \",\r\n \"namespaceUri\": {\r\n \"tem\": \"http://tempuri.org\"\r\n },\r\n \"security\": {\r\n \"namespaceUri\": {\r\n \"tem\": \"http://tempuri.org\"\r\n }\r\n }\r\n },\r\n \"type\": \"SOAP\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/a7ff704a-b4e2-434e-829b-083d6a8c0ebf/try", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "a7ff704a-b4e2-434e-829b-083d6a8c0ebf", - "try" - ] - } - }, - "response": [] - }, - { - "name": "Get API tryout history", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/apis/a7ff704a-b4e2-434e-829b-083d6a8c0ebf/try/history", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "a7ff704a-b4e2-434e-829b-083d6a8c0ebf", - "try", - "history" - ] - } - }, - "response": [] - }, - { - "name": "REST API Tryout - GET Request with Query", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"type\" : \"REST\",\r\n \"operation\": \"GET\",\r\n \"endpoint\": \"http://petstore.swagger.io/v2\",\r\n \"resource\" : \"/pet/findByStatus\",\r\n \"params\": {\r\n \"status\" : [\"sold\"]\r\n },\r\n \"headers\" : {\r\n \"Accept\" : \"application/json\"\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/d50d9fa8-63c0-4fa7-85e6-efec973419f6/try", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "d50d9fa8-63c0-4fa7-85e6-efec973419f6", - "try" - ] - } - }, - "response": [] - }, - { - "name": "REST API Tryout - GET Request with Path Param", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"type\" : \"REST\",\r\n \"operation\": \"GET\",\r\n \"endpoint\": \"http://petstore.swagger.io/v2\",\r\n \"resource\" : \"/pet/{id}\",\r\n \"variables\": {\r\n \"id\" : \"1\"\r\n },\r\n \"headers\" : {\r\n \"Accept\" : \"application/json\"\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/d50d9fa8-63c0-4fa7-85e6-efec973419f6/try", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "d50d9fa8-63c0-4fa7-85e6-efec973419f6", - "try" - ] - } - }, - "response": [] - }, - { - "name": "REST API Tryout - POST Request - RAW", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"type\" : \"REST\",\r\n \"operation\": \"POST\",\r\n \"endpoint\": \"http://petstore.swagger.io/v2\",\r\n \"resource\" : \"/pet\",\r\n \"headers\" : {\r\n \"Content-Type\" : \"application/xml\"\r\n },\r\n \"body\": {\r\n \"request_type\": \"raw\",\r\n \"payload\": \"siyaanavailable\"\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/d50d9fa8-63c0-4fa7-85e6-efec973419f6/try", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "d50d9fa8-63c0-4fa7-85e6-efec973419f6", - "try" - ] - } - }, - "response": [] - }, - { - "name": "REST API Tryout - PUT Request - RAW", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"type\" : \"REST\",\r\n \"operation\": \"PUT\",\r\n \"endpoint\": \"https://jsonplaceholder.typicode.com\",\r\n \"resource\" : \"/posts/{id}\",\r\n \"variables\" : {\r\n \"id\" : \"1\"\r\n },\r\n \"headers\" : {\r\n \"Content-Type\" : \"application/json\"\r\n },\r\n \"body\": {\r\n \"request_type\": \"raw\",\r\n \"payload\": \"{\\\"title\\\" : \\\"test\\\",\\\"body\\\" : \\\"this is my body\\\"}\"\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/d50d9fa8-63c0-4fa7-85e6-efec973419f6/try", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "d50d9fa8-63c0-4fa7-85e6-efec973419f6", - "try" - ] - } - }, - "response": [] - }, - { - "name": "REST API Tryout - PATCH Request - RAW", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"type\" : \"REST\",\r\n \"operation\": \"PATCH\",\r\n \"endpoint\": \"https://jsonplaceholder.typicode.com\",\r\n \"resource\" : \"/posts/{id}\",\r\n \"variables\" : {\r\n \"id\" : \"1\"\r\n },\r\n \"headers\" : {\r\n \"Content-Type\" : \"application/json\"\r\n },\r\n \"body\": {\r\n \"request_type\": \"raw\",\r\n \"payload\": \"{\\\"title\\\" : \\\"test\\\"}\"\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/d50d9fa8-63c0-4fa7-85e6-efec973419f6/try", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "d50d9fa8-63c0-4fa7-85e6-efec973419f6", - "try" - ] - } - }, - "response": [] - }, - { - "name": "REST API Tryout - DELETE Request", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"type\" : \"REST\",\r\n \"operation\": \"DELETE\",\r\n \"endpoint\": \"https://jsonplaceholder.typicode.com\",\r\n \"resource\" : \"/posts/{id}\",\r\n \"variables\" : {\r\n \"id\" : \"1\"\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/d50d9fa8-63c0-4fa7-85e6-efec973419f6/try", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "d50d9fa8-63c0-4fa7-85e6-efec973419f6", - "try" - ] - } - }, - "response": [] - }, - { - "name": "REST API Tryout - URL Encoded", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"type\" : \"REST\",\r\n \"operation\": \"POST\",\r\n \"endpoint\": \"http://petstore.swagger.io/v2\",\r\n \"resource\" : \"/pets/{id}\",\r\n \"variables\" : {\r\n \"id\" : \"1\"\r\n },\r\n \"headers\" : {\r\n \"Content-Type\" : \"application/x-www-form-urlencoded\",\r\n \"Accept\" : \"application/json\"\r\n },\r\n \"body\": {\r\n \"request_type\": \"urlencoded\",\r\n \"payload\": [\r\n {\r\n \"key\": \"name\",\r\n \"value\": \"puggie\",\r\n \"type\" : \"text\"\r\n },\r\n {\r\n \"key\": \"status\",\r\n \"value\": \"available\",\r\n \"type\" : \"text\"\r\n }\r\n ]\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/d50d9fa8-63c0-4fa7-85e6-efec973419f6/try", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "d50d9fa8-63c0-4fa7-85e6-efec973419f6", - "try" - ] - } - }, - "response": [] - }, - { - "name": "REST API Tryout - Form Submit", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"type\" : \"REST\",\r\n \"operation\": \"POST\",\r\n \"endpoint\": \"https://postman-echo.com\",\r\n \"resource\" : \"/post\",\r\n \"headers\" : {\r\n \"Content-Type\" : \"multipart/form-data\"\r\n },\r\n \"body\": {\r\n \"request_type\": \"multipart\",\r\n \"payload\": [\r\n {\r\n \"key\": \"foo1\",\r\n \"value\": \"bar1\",\r\n \"type\" : \"text\"\r\n },\r\n {\r\n \"key\": \"foo2\",\r\n \"value\": \"bar2\",\r\n \"type\" : \"text\"\r\n }\r\n ]\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/d50d9fa8-63c0-4fa7-85e6-efec973419f6/try", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "d50d9fa8-63c0-4fa7-85e6-efec973419f6", - "try" - ] - } - }, - "response": [] - }, - { - "name": "REST API Tryout - POST Multipart File request", - "request": { - "method": "POST", - "header": [ - { - "key": "x-tryout-endpoint", - "value": "https://file.io/?expires=1w", - "type": "text" - } - ], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "file", - "type": "file", - "src": "/C:/Users/graj/Desktop/tryout/engagementanalytics.pdf" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/595c2ff7-c13d-4389-a322-9c9a4cea1c5a/fileTypeTry", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "595c2ff7-c13d-4389-a322-9c9a4cea1c5a", - "fileTypeTry" - ] - } - }, - "response": [] - }, - { - "name": "REST API Tryout - POST Binary Request", - "request": { - "method": "POST", - "header": [ - { - "key": "x-tryout-endpoint", - "value": "http://localhost:2345/binaryupload", - "type": "text" - } - ], - "body": { - "mode": "file", - "file": { - "src": "/C:/Users/graj/Desktop/tryout/petapi.json" - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/595c2ff7-c13d-4389-a322-9c9a4cea1c5a/fileTypeTry", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "595c2ff7-c13d-4389-a322-9c9a4cea1c5a", - "fileTypeTry" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "API Details", - "item": [ - { - "name": "Get API By ID", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/apis/754eeb5d-9fae-4e77-a29a-72afb8b335f8", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "754eeb5d-9fae-4e77-a29a-72afb8b335f8" - ] - } - }, - "response": [] - }, - { - "name": "Get the API Resources by ID (For REST)", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/resources/754eeb5d-9fae-4e77-a29a-72afb8b335f8", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "resources", - "754eeb5d-9fae-4e77-a29a-72afb8b335f8" - ] - } - }, - "response": [] - }, - { - "name": "Get the API Methods by ID (For REST)", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/methods/754eeb5d-9fae-4e77-a29a-72afb8b335f8", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "methods", - "754eeb5d-9fae-4e77-a29a-72afb8b335f8" - ] - } - }, - "response": [] - }, - { - "name": "Get API by method tags grouping", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/apis/754eeb5d-9fae-4e77-a29a-72afb8b335f8/grpups", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "754eeb5d-9fae-4e77-a29a-72afb8b335f8", - "grpups" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Get All APIs", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/apis/", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "" - ] - } - }, - "response": [] - }, - { - "name": "Get APIs count", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/apis/_count", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "_count" - ] - } - }, - "response": [] - }, - { - "name": "Get APIs using filter", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/apis/filter", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "filter" - ] - } - }, - "response": [] - }, - { - "name": "Delete API by ID", - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/754eeb5d-9fae-4e77-a29a-72afb8b335f8", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "754eeb5d-9fae-4e77-a29a-72afb8b335f8" - ] - } - }, - "response": [] - }, - { - "name": "Import / Publish API by File", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "data", - "type": "file", - "src": [] - }, - { - "key": "type", - "value": "acdl", - "type": "text" - }, - { - "key": "async", - "value": "false", - "type": "text" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Import / Publish API by URL", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "url", - "value": "http://dneonline.com/calculator.asmx?wsdl", - "type": "text" - }, - { - "key": "type", - "value": "wsdl", - "type": "text" - }, - { - "key": "async", - "value": "false", - "type": "text" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Import / Publish API by Content", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "api-content", - "value": "\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Adds two integers. This is a test WebService. ©DNE Online\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n", - "type": "text" - }, - { - "key": "type", - "value": "wsdl", - "type": "text" - }, - { - "key": "async", - "value": "false", - "type": "text" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Re-publish API by File", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "data", - "type": "file", - "src": [] - }, - { - "key": "type", - "value": "acdl", - "type": "text" - }, - { - "key": "async", - "value": "false", - "type": "text" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/754eeb5d-9fae-4e77-a29a-72afb8b335f8", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "754eeb5d-9fae-4e77-a29a-72afb8b335f8" - ] - } - }, - "response": [] - }, - { - "name": "Re-publish API by URL", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "url", - "value": "http://dneonline.com/calculator.asmx?wsdl", - "type": "text" - }, - { - "key": "type", - "value": "wsdl", - "type": "text" - }, - { - "key": "async", - "value": "false", - "type": "text" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/754eeb5d-9fae-4e77-a29a-72afb8b335f8", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "754eeb5d-9fae-4e77-a29a-72afb8b335f8" - ] - } - }, - "response": [] - }, - { - "name": "Re-publish API by Content", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "api-content", - "value": "\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Adds two integers. This is a test WebService. ©DNE Online\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n", - "type": "text" - }, - { - "key": "type", - "value": "wsdl", - "type": "text" - }, - { - "key": "async", - "value": "false", - "type": "text" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/754eeb5d-9fae-4e77-a29a-72afb8b335f8", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "754eeb5d-9fae-4e77-a29a-72afb8b335f8" - ] - } - }, - "response": [] - }, - { - "name": "Get_PublishStatus", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "data", - "type": "file", - "src": [] - }, - { - "key": "type", - "value": "acdl", - "type": "text" - }, - { - "key": "async", - "value": "false", - "type": "text" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/status/47a2cb3f-9612-4567-91b6-fa4a5dba4f19", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "status", - "47a2cb3f-9612-4567-91b6-fa4a5dba4f19" - ] - } - }, - "response": [] - }, - { - "name": "Get versions of API By Id", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/apis/a8e8a660-1865-4f97-83ee-ddd8911639b0/versions", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "a8e8a660-1865-4f97-83ee-ddd8911639b0", - "versions" - ] - } - }, - "response": [] - }, - { - "name": "Get stages of API By Id", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/apis/534dbbb7-67bb-414f-bf8b-0177c53f4f3a/stages", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "534dbbb7-67bb-414f-bf8b-0177c53f4f3a", - "stages" - ] - } - }, - "response": [] - }, - { - "name": "Get Communities linked with API", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/apis/53488d75-a3f3-4e57-8f1e-0dd46ed1fa2f/communities", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "53488d75-a3f3-4e57-8f1e-0dd46ed1fa2f", - "communities" - ] - } - }, - "response": [] - }, - { - "name": "Get Packages", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/apis/53488d75-a3f3-4e57-8f1e-0dd46ed1fa2f/packages", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "53488d75-a3f3-4e57-8f1e-0dd46ed1fa2f", - "packages" - ] - } - }, - "response": [] - }, - { - "name": "Get Application - Direct", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/apis/1dea2206-d0b4-4aac-b5ee-7130489b2ae3/applications", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "1dea2206-d0b4-4aac-b5ee-7130489b2ae3", - "applications" - ] - } - }, - "response": [] - }, - { - "name": "Get Application - Subscribed", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/apis/1dea2206-d0b4-4aac-b5ee-7130489b2ae3/subscriptions", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "1dea2206-d0b4-4aac-b5ee-7130489b2ae3", - "subscriptions" - ] - } - }, - "response": [] - }, - { - "name": "Get Topics", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/apis/1dea2206-d0b4-4aac-b5ee-7130489b2ae3/topics", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "1dea2206-d0b4-4aac-b5ee-7130489b2ae3", - "topics" - ] - } - }, - "response": [] - }, - { - "name": "Get followers", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/apis/5adaed5e-befe-4954-b988-2853f63550f6/followers", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "5adaed5e-befe-4954-b988-2853f63550f6", - "followers" - ] - } - }, - "response": [] - }, - { - "name": "Get followers count", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/apis/17f82fcc-a8cc-4f7c-b8a9-3c0632eb9e01/followers/_count", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "17f82fcc-a8cc-4f7c-b8a9-3c0632eb9e01", - "followers", - "_count" - ] - } - }, - "response": [] - }, - { - "name": "Add/Remove follower", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/5adaed5e-befe-4954-b988-2853f63550f6/followers", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "5adaed5e-befe-4954-b988-2853f63550f6", - "followers" - ] - } - }, - "response": [] - }, - { - "name": "Rate an API", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"rating\": 5\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/4c2a4956-3eea-4ea5-b74c-9408ed82a9f2/rate", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "4c2a4956-3eea-4ea5-b74c-9408ed82a9f2", - "rate" - ] - } - }, - "response": [] - }, - { - "name": "Get the rating of an API", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/apis/4c2a4956-3eea-4ea5-b74c-9408ed82a9f2/rate", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "4c2a4956-3eea-4ea5-b74c-9408ed82a9f2", - "rate" - ] - } - }, - "response": [] - }, - { - "name": "Export to OpenAPI spec", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/apis/715e6192-4048-49f7-bf0e-96a848791b0f/export", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "715e6192-4048-49f7-bf0e-96a848791b0f", - "export" - ], - "query": [ - { - "key": "type", - "value": "yaml", - "disabled": true - } - ] - } - }, - "response": [] - }, - { - "name": "Get Applications to link to the given API", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/apis/1dea2206-d0b4-4aac-b5ee-7130489b2ae3/applications/available", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "1dea2206-d0b4-4aac-b5ee-7130489b2ae3", - "applications", - "available" - ] - } - }, - "response": [] - }, - { - "name": "Update view preference", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "1234", - "type": "string" - }, - { - "key": "username", - "value": "consumer1", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/apis/3644a47c-a7fe-4b26-89d2-e37ba0428c2f/preferences?type=SOAP", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "3644a47c-a7fe-4b26-89d2-e37ba0428c2f", - "preferences" - ], - "query": [ - { - "key": "type", - "value": "SOAP" - } - ] - } - }, - "response": [] - }, - { - "name": "Edit an API", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"api\": {\r\n \"update\": [\r\n {\r\n \"attribute\": \"NAME\",\r\n \"locale\": \"en\",\r\n \"value\": \"Name modified\"\r\n }\r\n ],\r\n \"insert\": [\r\n {\r\n \"attribute\": \"ATTACHMENT\",\r\n \"value\": \"/portal/rest/v1/files/52c0b766-8bdc-4932-93f2-c7bcb8a16750\"\r\n }\r\n ]\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/3644a47c-a7fe-4b26-89d2-e37ba0428c2f/edits", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "3644a47c-a7fe-4b26-89d2-e37ba0428c2f", - "edits" - ] - } - }, - "response": [] - }, - { - "name": "Update the logo", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "file", - "type": "file", - "src": [] - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/3644a47c-a7fe-4b26-89d2-e37ba0428c2f/logo", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "3644a47c-a7fe-4b26-89d2-e37ba0428c2f", - "logo" - ] - } - }, - "response": [] - }, - { - "name": "Add new attachments", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "file", - "type": "file", - "src": [] - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/3644a47c-a7fe-4b26-89d2-e37ba0428c2f/attachments", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "3644a47c-a7fe-4b26-89d2-e37ba0428c2f", - "attachments" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Approval Management", - "item": [ - { - "name": "Approve/Reject", - "item": [ - { - "name": "All pending approvals", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/approvals/request", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approvals", - "request" - ] - } - }, - "response": [] - }, - { - "name": "Get Id - particular approval", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/approvals/request/1", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approvals", - "request", - "1" - ] - } - }, - "response": [] - }, - { - "name": "Approve Request {id}", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/approvals/request/1/approve", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approvals", - "request", - "1", - "approve" - ] - } - }, - "response": [] - }, - { - "name": "Approve multiple request", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "[]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/approvals/request/approve", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approvals", - "request", - "approve" - ] - } - }, - "response": [] - }, - { - "name": "Reject Reqeust {id}", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/approvals/request/1/reject", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approvals", - "request", - "1", - "reject" - ] - } - }, - "response": [] - }, - { - "name": "Reject mutiple reqeust", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "[]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/approvals/request/reject", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approvals", - "request", - "reject" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Flows", - "item": [ - { - "name": "Create a Flow", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"New Flow\",\r\n \"description\": \"Flow with multilevel approval\",\r\n \"steps\": [\r\n {\r\n \"approver\": [\r\n {\r\n \"id\": \"200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4\",\r\n \"name\": \"Administrator\"\r\n }\r\n ],\r\n \"approver_type\": \"USER\",\r\n \"mode\": \"EVERYONE\"\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/approvals/", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approvals", - "" - ] - } - }, - "response": [] - }, - { - "name": "Update a flow", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"My application approval flow\",\r\n \"description\": \"Flow with multilevel approval\",\r\n \"steps\": [\r\n {\r\n \"approver\": [\r\n {\r\n \"id\": \"200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4\",\r\n \"name\": \"Administrator\"\r\n }\r\n ],\r\n \"approver_type\": \"USER\",\r\n \"mode\": \"EVERYONE\"\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/approvals/b6128472-52ae-4225-8d8d-b44fe8a94bb5", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approvals", - "b6128472-52ae-4225-8d8d-b44fe8a94bb5" - ] - } - }, - "response": [] - }, - { - "name": "Get all flows", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/approvals/", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approvals", - "" - ] - } - }, - "response": [] - }, - { - "name": "Get a flow by id", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/approvals/25f83788-4db7-439a-acb0-ae4225d65e42", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approvals", - "25f83788-4db7-439a-acb0-ae4225d65e42" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Get all flow instance", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/approvals/instance?status=COMPLETED", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approvals", - "instance" - ], - "query": [ - { - "key": "status", - "value": "COMPLETED" - } - ] - } - }, - "response": [] - }, - { - "name": "Get all approval requests of a step", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/approvals/instance/step/024e0e68-a7ce-4931-9464-2d2a92c0bae1/request", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approvals", - "instance", - "step", - "024e0e68-a7ce-4931-9464-2d2a92c0bae1", - "request" - ] - } - }, - "response": [] - }, - { - "name": "Get all approval request trace of a flow", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/approvals/instance/b2e58c4d-6fe4-4e09-8f07-c9d2c4862272/trace", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approvals", - "instance", - "b2e58c4d-6fe4-4e09-8f07-c9d2c4862272", - "trace" - ] - } - }, - "response": [] - }, - { - "name": "Get Onboarding approval flow", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/approval/policy?type=USER_CREATION", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approval", - "policy" - ], - "query": [ - { - "key": "type", - "value": "USER_CREATION" - } - ] - } - }, - "response": [] - }, - { - "name": "Update Onboarding approval flow", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"policies\": [\r\n {\r\n \"type\": \"INTERNAL_APPROVAL\",\r\n \"parameters\": {\r\n \"flow_id\": \"b6128472-52ae-4225-8d8d-b44fe8a94bb5\"\r\n }\r\n },\r\n {\r\n \"type\": \"EMAIL_VERIFICATION\",\r\n \"parameters\": {\r\n \"expiry\": \"2d\"\r\n }\r\n },\r\n {\r\n \"type\": \"EXTERNAL_APPROVAL\",\r\n \"parameters\": {\r\n \"expiry\": \"10d\"\r\n }\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/approval/policy?type=USER_CREATION", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approval", - "policy" - ], - "query": [ - { - "key": "type", - "value": "USER_CREATION" - } - ] - } - }, - "response": [] - }, - { - "name": "Get Application approval flow", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/approval/policy?type=APPLICATION_CREATION", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approval", - "policy" - ], - "query": [ - { - "key": "type", - "value": "APPLICATION_CREATION" - } - ] - } - }, - "response": [] - }, - { - "name": "Update Application approval flow", - "request": { - "method": "PUT", - "header": [ - { - "key": "xsrf-token", - "value": "wi78rt24cL-jKzqtY-QVv2Ejk3r41IkYL056unlF7SE", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"policies\": [\r\n {\r\n \"type\": \"EXTERNAL_APPROVAL\",\r\n \"parameters\": {\r\n \"expiry\": \"10d\"\r\n }\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/approval/policy?type=APPLICATION_CREATION&enableForRegistration=true", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approval", - "policy" - ], - "query": [ - { - "key": "type", - "value": "APPLICATION_CREATION" - }, - { - "key": "enableForRegistration", - "value": "true" - } - ] - } - }, - "response": [] - }, - { - "name": "Get API Registration approval flow", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/approval/policy?type=APPLICATION_API_REGISTRATION", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "approval", - "policy" - ], - "query": [ - { - "key": "type", - "value": "APPLICATION_API_REGISTRATION" - } - ] - } - }, - "response": [] - } - ], - "description": "workflow endpoints" - }, - { - "name": "Application Management", - "item": [ - { - "name": "User Request Management", - "item": [ - { - "name": "Create Application Creation Request", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"name\": \"App100\",\n \"description\": \"This application is used for building Hotel app\",\n \"apis\": [\n \"208eefed-aee7-478d-9504-f04978bdfbc7\"\n ],\n \"redirect_uris\": [\n \"http://localhost:18101\"\n ],\n \"custom\": {\n \"email\": \"abc@xyz.com\"\n }\n },\n \"type\": \"APPLICATION_CREATION_REQUEST\"\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/requests", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "requests" - ] - } - }, - "response": [] - }, - { - "name": "Create Application Scope Increase Request", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"application\": \"a09c1a81-7f16-4cb2-a1de-87edf9ac3ba7\",\n \"apis\": [\n \"208eefed-aee7-478d-9504-f04978bdfbc7\"\n ]\n },\n \"type\": \"APPLICATION_API_REGISTRATION_REQUEST\"\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/requests", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "requests" - ] - } - }, - "response": [] - }, - { - "name": "Create Application Update Request", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"application\": \"18c44cd9-0cd4-4a07-b068-f42541b02a01\",\n \"redirect_uris\": [\n \"http://localhost:18101/updated\"\n ]\n },\n \"type\": \"APPLICATION_UPDATE_REQUEST\"\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/requests", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "requests" - ] - } - }, - "response": [] - }, - { - "name": "Create Application Deletion Request", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"context\": {\r\n \"application\": \"a09c1a81-7f16-4cb2-a1de-87edf9ac3ba7\"\r\n },\r\n \"type\": \"APPLICATION_DELETION_REQUEST\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/requests", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "requests" - ] - } - }, - "response": [] - }, - { - "name": "Create Application Revoke Request", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"application\": \"a09c1a81-7f16-4cb2-a1de-87edf9ac3ba7\",\n \"apis\": [\n \"208eefed-aee7-478d-9504-f04978bdfbc7\"\n ]\n },\n \"type\": \"APPLICATION_API_DEREGISTRATION_REQUEST\"\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/requests", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "requests" - ] - } - }, - "response": [] - }, - { - "name": "Create Subscription Revoke Request", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"application\": \"18c44cd9-0cd4-4a07-b068-f42541b02a01\"\n },\n \"type\": \"SUBSCRIPTION_REVOKE_REQUEST\"\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/requests", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "requests" - ] - } - }, - "response": [] - }, - { - "name": "Create Subscription Creation Request", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"context\": {\n \"name\": \"Subtoken3\",\n \"description\": \"This application is used for building Hotel app\",\n \"plan\": \"d5adf283-f394-45b6-8d7a-2f85290c6219\",\n \"package\": \"5811a0e3-3996-4ddc-b467-1bae52a0688c\",\n \"redirect_uris\": [\n \"http://localhost:18101\"\n ]\n },\n \"type\": \"SUBSCRIPTION_CREATION_REQUEST\"\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/requests", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "requests" - ] - } - }, - "response": [] - }, - { - "name": "Get All Pending Requests by type", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/requests/pending?type=SUBSCRIPTION_CREATION_REQUEST", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "requests", - "pending" - ], - "query": [ - { - "key": "type", - "value": "SUBSCRIPTION_CREATION_REQUEST" - } - ] - } - }, - "response": [] - }, - { - "name": "Get My Requests of type", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/requests?type=SUBSCRIPTION_CREATION_REQUEST", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "requests" - ], - "query": [ - { - "key": "type", - "value": "SUBSCRIPTION_CREATION_REQUEST" - } - ] - } - }, - "response": [] - }, - { - "name": "Get Request by Id", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/requests/3035d2c4-c9ae-46da-bebf-b26b269fa0f4", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "requests", - "3035d2c4-c9ae-46da-bebf-b26b269fa0f4" - ] - } - }, - "response": [] - }, - { - "name": "Get request trace", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/requests/9a61eef0-e4e8-4320-8a05-3231f336acab/trace", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "requests", - "9a61eef0-e4e8-4320-8a05-3231f336acab", - "trace" - ] - } - }, - "response": [] - }, - { - "name": "Delete user request", - "request": { - "method": "DELETE", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/requests/3035d2c4-c9ae-46da-bebf-b26b269fa0f4", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "requests", - "3035d2c4-c9ae-46da-bebf-b26b269fa0f4" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Get Application by Id", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/applications/f64c2a29-a5fd-4416-b79a-656f6bbe45a3", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "applications", - "f64c2a29-a5fd-4416-b79a-656f6bbe45a3" - ] - } - }, - "response": [] - }, - { - "name": "Get all user requests", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/applications/f64c2a29-a5fd-4416-b79a-656f6bbe45a3/requests", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "applications", - "f64c2a29-a5fd-4416-b79a-656f6bbe45a3", - "requests" - ] - } - }, - "response": [] - }, - { - "name": "Create an Application", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"Test app1\",\r\n \"summary\": \"This application is used for building Hotel app\",\r\n \"description\": \"Description of this Application for Hotel\"\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/applications/", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "applications", - "" - ] - } - }, - "response": [] - }, - { - "name": "Update Application by Id", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"Test app1\",\r\n \"subscription\": false,\r\n \"isowner\": false,\r\n \"details\": [],\r\n \"summary\": \"This application is used for building Hotel app\",\r\n \"description\": \"Description of this Application for Hotel\"\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/applications/044f7957-f122-4b17-85c1-dc380692737c", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "applications", - "044f7957-f122-4b17-85c1-dc380692737c" - ] - } - }, - "response": [] - }, - { - "name": "Get all applications", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/applications", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "applications" - ] - } - }, - "response": [] - }, - { - "name": "List all applications by admin", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/applications/_all", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "applications", - "_all" - ] - } - }, - "response": [] - }, - { - "name": "Delete Application by id", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/applications/80fe2e50-9e85-46b9-9287-9311186c6832", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "applications", - "80fe2e50-9e85-46b9-9287-9311186c6832" - ] - } - }, - "response": [] - }, - { - "name": "Share wtih Team, User", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\n\t\"teams\": [],\n\t\"users\": []\n\t\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/applications/80fe2e50-9e85-46b9-9287-9311186c6832/share", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "applications", - "80fe2e50-9e85-46b9-9287-9311186c6832", - "share" - ] - } - }, - "response": [] - }, - { - "name": "UnShare wtih Team, User", - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\n\t\"teams\": [],\n\t\"users\": []\n\t\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/applications/80fe2e50-9e85-46b9-9287-9311186c6832/share", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "applications", - "80fe2e50-9e85-46b9-9287-9311186c6832", - "share" - ] - } - }, - "response": [] - }, - { - "name": "Create Jwt Token", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "urlencoded", - "urlencoded": [ - { - "key": "username", - "value": "username", - "type": "text" - }, - { - "key": "password", - "value": "password", - "type": "text" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/applications/2c3c2be5-9140-4fa5-b2b0-e317a439e821/jwt", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "applications", - "2c3c2be5-9140-4fa5-b2b0-e317a439e821", - "jwt" - ] - } - }, - "response": [] - }, - { - "name": "List my tokens", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/applications/55de08f7-9db9-4d60-b478-2355fa2520d9/tokens?type=JWT", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "applications", - "55de08f7-9db9-4d60-b478-2355fa2520d9", - "tokens" - ], - "query": [ - { - "key": "type", - "value": "JWT" - } - ] - } - }, - "response": [] - }, - { - "name": "Delete a token by id", - "request": { - "method": "DELETE", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/applications/55de08f7-9db9-4d60-b478-2355fa2520d9/tokens/f64c2a29-a5fd-4416-b79a-656f6bbe45a3", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "applications", - "55de08f7-9db9-4d60-b478-2355fa2520d9", - "tokens", - "f64c2a29-a5fd-4416-b79a-656f6bbe45a3" - ] - } - }, - "response": [] - }, - { - "name": "Get scopes", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "manage", - "type": "string" - }, - { - "key": "username", - "value": "Administrator", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/applications/688a4e6e-5173-4463-b360-cffeb7b16d94/scopes", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "applications", - "688a4e6e-5173-4463-b360-cffeb7b16d94", - "scopes" - ], - "query": [ - { - "key": "apiId", - "value": "9f63a24c-e515-43f5-bdab-81af6405f2c0", - "disabled": true - } - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Collaboration Management", - "item": [ - { - "name": "Topic Management", - "item": [ - { - "name": "Get topic by Id", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/59d97968-7b25-4964-a0b7-d783ba910db2", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "59d97968-7b25-4964-a0b7-d783ba910db2" - ] - } - }, - "response": [] - }, - { - "name": "Create a topic for an API", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"content\" : {\r\n \t\"type\" : \"simple\",\r\n \t\"value\" : \"This is a topic\"\r\n },\r\n \"tags\": [\"tag1\",\"tag2\"]\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/apis/1871506d-6d2e-4b75-9f4f-0d50ead0ed71/topics", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "1871506d-6d2e-4b75-9f4f-0d50ead0ed71", - "topics" - ] - } - }, - "response": [] - }, - { - "name": "Create a topic for a Package", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"content\" : {\r\n \t\"type\" : \"simple\",\r\n \t\"value\" : \"This is a topic\"\r\n },\r\n \"tags\": [\"tag1\",\"tag2\"]\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/packages/1871506d-6d2e-4b75-9f4f-0d50ead0ed71/topics", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "1871506d-6d2e-4b75-9f4f-0d50ead0ed71", - "topics" - ] - } - }, - "response": [] - }, - { - "name": "Update topic by Id", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"tags\": [\"tag1\",\"tag2\"]\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/bcf9cc27-f820-4393-b7c3-d3a0c8469d66", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "bcf9cc27-f820-4393-b7c3-d3a0c8469d66" - ] - } - }, - "response": [] - }, - { - "name": "UpVote a topic", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/59d97968-7b25-4964-a0b7-d783ba910db2/upvote", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "59d97968-7b25-4964-a0b7-d783ba910db2", - "upvote" - ] - } - }, - "response": [] - }, - { - "name": "No of Upvotes", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/59d97968-7b25-4964-a0b7-d783ba910db2/upvote/_count", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "59d97968-7b25-4964-a0b7-d783ba910db2", - "upvote", - "_count" - ] - } - }, - "response": [] - }, - { - "name": "DownVote a topic", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/59d97968-7b25-4964-a0b7-d783ba910db2/downvote", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "59d97968-7b25-4964-a0b7-d783ba910db2", - "downvote" - ] - } - }, - "response": [] - }, - { - "name": "No of DownVotes", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/59d97968-7b25-4964-a0b7-d783ba910db2/downvote/_count", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "59d97968-7b25-4964-a0b7-d783ba910db2", - "downvote", - "_count" - ] - } - }, - "response": [] - }, - { - "name": "Flag a topic", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/b4706fea-500e-4c28-a355-42d44b59301f/flag", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "b4706fea-500e-4c28-a355-42d44b59301f", - "flag" - ] - } - }, - "response": [] - }, - { - "name": "No of Flags", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/b4706fea-500e-4c28-a355-42d44b59301f/flag/_count", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "b4706fea-500e-4c28-a355-42d44b59301f", - "flag", - "_count" - ] - } - }, - "response": [] - }, - { - "name": "Accept Flag on a topic", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/b4706fea-500e-4c28-a355-42d44b59301f/flagged", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "b4706fea-500e-4c28-a355-42d44b59301f", - "flagged" - ] - } - }, - "response": [] - }, - { - "name": "Pin a topic", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/ab9cca54-29f6-4d8f-b28e-4939e171c9e8/pin", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "ab9cca54-29f6-4d8f-b28e-4939e171c9e8", - "pin" - ] - } - }, - "response": [] - }, - { - "name": "Get total no of upvotes,downvotes,flags", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/b4706fea-500e-4c28-a355-42d44b59301f/_count", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "b4706fea-500e-4c28-a355-42d44b59301f", - "_count" - ] - } - }, - "response": [] - }, - { - "name": "Delete topic by id", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/f3be0f7e-b46e-43ad-92ab-18f0098f7376", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "f3be0f7e-b46e-43ad-92ab-18f0098f7376" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Comment Management", - "item": [ - { - "name": "Get all comments of a topic", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/c7293834-35f8-4798-941b-e6aff55e78dd/comments", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "c7293834-35f8-4798-941b-e6aff55e78dd", - "comments" - ] - } - }, - "response": [] - }, - { - "name": "Create a comment", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"content\": {\n \"value\": \"My new topic\",\n \"type\": \"simple\"\n }\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/b4706fea-500e-4c28-a355-42d44b59301f/comments", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "b4706fea-500e-4c28-a355-42d44b59301f", - "comments" - ] - } - }, - "response": [] - }, - { - "name": "Update comment by id", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"content\": {\n \"value\": \"My new topic\",\n \"type\": \"simple\"\n }\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/b4706fea-500e-4c28-a355-42d44b59301f/comments/c7293834-35f8-4798-941b-e6aff55e78dd", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "b4706fea-500e-4c28-a355-42d44b59301f", - "comments", - "c7293834-35f8-4798-941b-e6aff55e78dd" - ] - } - }, - "response": [] - }, - { - "name": "UpVote a comment", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/ac0b1e59-efed-48f8-b16b-e5954e7374f4/comments/ac0b1e59-efed-48f8-b16b-e5954e7374f4/upvote", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "ac0b1e59-efed-48f8-b16b-e5954e7374f4", - "comments", - "ac0b1e59-efed-48f8-b16b-e5954e7374f4", - "upvote" - ] - } - }, - "response": [] - }, - { - "name": "DownVote a comment", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/ac0b1e59-efed-48f8-b16b-e5954e7374f4/comments/ac0b1e59-efed-48f8-b16b-e5954e7374f4/downvote", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "ac0b1e59-efed-48f8-b16b-e5954e7374f4", - "comments", - "ac0b1e59-efed-48f8-b16b-e5954e7374f4", - "downvote" - ] - } - }, - "response": [] - }, - { - "name": "Flag a comment", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/b4706fea-500e-4c28-a355-42d44b59301f/comments/c7293834-35f8-4798-941b-e6aff55e78dd/flag", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "b4706fea-500e-4c28-a355-42d44b59301f", - "comments", - "c7293834-35f8-4798-941b-e6aff55e78dd", - "flag" - ] - } - }, - "response": [] - }, - { - "name": "Accept Flag on a comment", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/b4706fea-500e-4c28-a355-42d44b59301f/comments/c7293834-35f8-4798-941b-e6aff55e78dd/flagged", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "b4706fea-500e-4c28-a355-42d44b59301f", - "comments", - "c7293834-35f8-4798-941b-e6aff55e78dd", - "flagged" - ] - } - }, - "response": [] - }, - { - "name": "Get a comment by id", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/b4706fea-500e-4c28-a355-42d44b59301f/comments/c7293834-35f8-4798-941b-e6aff55e78dd", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "b4706fea-500e-4c28-a355-42d44b59301f", - "comments", - "c7293834-35f8-4798-941b-e6aff55e78dd" - ] - } - }, - "response": [] - }, - { - "name": "Delete comment by id", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/b4706fea-500e-4c28-a355-42d44b59301f/comments/c7293834-35f8-4798-941b-e6aff55e78dd", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "b4706fea-500e-4c28-a355-42d44b59301f", - "comments", - "c7293834-35f8-4798-941b-e6aff55e78dd" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Bookmark Management", - "item": [ - { - "name": "Bookmark a Topic", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/topics/bcf9cc27-f820-4393-b7c3-d3a0c8469d66/bookmarks", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "topics", - "bcf9cc27-f820-4393-b7c3-d3a0c8469d66", - "bookmarks" - ] - } - }, - "response": [] - }, - { - "name": "Get the bookmarked topics of the API", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/apis/754eeb5d-9fae-4e77-a29a-72afb8b335f8/bookmarks", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "apis", - "754eeb5d-9fae-4e77-a29a-72afb8b335f8", - "bookmarks" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Get all collaboration that have a flag", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/collaboration/flags", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "collaboration", - "flags" - ] - } - }, - "response": [] - }, - { - "name": "Get all collaboration that flag has been accepted", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/collaboration/flagged", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "collaboration", - "flagged" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Community Management", - "item": [ - { - "name": "Get all communities", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/communities/", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "" - ] - } - }, - "response": [] - }, - { - "name": "Create Community", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"Community\",\r\n \"description\": \"This is the description of Community\",\r\n \"users\": [\r\n \"05842128-8aab-455a-ba34-ebe5864d13c7\",\r\n \"0fe00765-dccd-4f40-a565-bc34982f88ef\"\r\n ],\r\n \"groups\": [\r\n \"23b0ce88-3296-36be-b2a1-f470aee3f031\"\r\n ],\r\n \"apis\": [\r\n \"23b0ce88-3296-36be-b2a1-f470aee3f031\"\r\n ],\r\n \"administrators\": [\r\n \"23b0ce88-3296-36be-b2a1-f470aee3f031\"\r\n ]\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/communities/", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "" - ] - } - }, - "response": [] - }, - { - "name": "Update Community", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Community_Mod\",\n \"description\": \"This is the description of Community\",\n \"users\": [\n \"0fe00765-dccd-4f40-a565-bc34982f88ef\"\n ],\n \"groups\": [\n \"23b0ce88-3296-36be-b2a1-f470aee3f031\"\n ],\n \"apis\": [\n \"23b0ce88-3296-36be-b2a1-f470aee3f031\"\n ],\n \"administrators\": [\n \"23b0ce88-3296-36be-b2a1-f470aee3f031\"\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/communities/5cdeb561-ca5f-4903-ba04-6c6099fa8bbe", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "5cdeb561-ca5f-4903-ba04-6c6099fa8bbe" - ] - } - }, - "response": [] - }, - { - "name": "Get Community by Id", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/communities/05842128-8aab-455a-ba34-ebe5864d13c7", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "05842128-8aab-455a-ba34-ebe5864d13c7" - ] - } - }, - "response": [] - }, - { - "name": "Delete Community", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/communities/05842128-8aab-455a-ba34-ebe5864d13c7", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "05842128-8aab-455a-ba34-ebe5864d13c7" - ] - } - }, - "response": [] - }, - { - "name": "Change owner of a Community", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "\"a8ef0204-b46b-4ab4-97a7-2836f6d717cc\"" - }, - "url": { - "raw": "http://{{host}}/rest/v1/communities/745c62d9-5e88-45ea-9d2e-418ed56178cb/owner", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "745c62d9-5e88-45ea-9d2e-418ed56178cb", - "owner" - ] - } - }, - "response": [] - }, - { - "name": "Check if Id of community is public", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/communities/b6b80b4f-f20f-4a1b-9161-e493ebd3fca0/ispublic", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "b6b80b4f-f20f-4a1b-9161-e493ebd3fca0", - "ispublic" - ] - } - }, - "response": [] - }, - { - "name": "Add groups with Community", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": " [\"group3\",\"group4\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/communities/c19a7819-4161-490e-8a1b-ddf1933b2d01/groups", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "c19a7819-4161-490e-8a1b-ddf1933b2d01", - "groups" - ] - } - }, - "response": [] - }, - { - "name": "Get groups of Community", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/communities/745c62d9-5e88-45ea-9d2e-418ed56178cb/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "745c62d9-5e88-45ea-9d2e-418ed56178cb", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Remove groups from Community", - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": " [\"group3\",\"group4\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/communities/c19a7819-4161-490e-8a1b-ddf1933b2d01/groups", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "c19a7819-4161-490e-8a1b-ddf1933b2d01", - "groups" - ] - } - }, - "response": [] - }, - { - "name": "Add users with Community", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": " [\"user1\",\"user2\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/communities/745c62d9-5e88-45ea-9d2e-418ed56178cb/users", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "745c62d9-5e88-45ea-9d2e-418ed56178cb", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Get users of Community", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/communities/745c62d9-5e88-45ea-9d2e-418ed56178cb/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "745c62d9-5e88-45ea-9d2e-418ed56178cb", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Add users from Community", - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": " [\"user2\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/communities/\"user2/users", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "\"user2", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Add apis with Community", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "[\"f1e8531a-3190-440f-90aa-51fcc3b60d0b\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/communities/c19a7819-4161-490e-8a1b-ddf1933b2d01/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "c19a7819-4161-490e-8a1b-ddf1933b2d01", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Get apis of Community", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/communities/745c62d9-5e88-45ea-9d2e-418ed56178cb/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "745c62d9-5e88-45ea-9d2e-418ed56178cb", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Remove apis from Community", - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "[\"f1e8531a-3190-440f-90aa-51fcc3b60d0b\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/communities/c19a7819-4161-490e-8a1b-ddf1933b2d01/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "c19a7819-4161-490e-8a1b-ddf1933b2d01", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Add packages to Community", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "[\"f1e8531a-3190-440f-90aa-51fcc3b60d0b\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/communities/c19a7819-4161-490e-8a1b-ddf1933b2d01/packages", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "c19a7819-4161-490e-8a1b-ddf1933b2d01", - "packages" - ] - } - }, - "response": [] - }, - { - "name": "Get packages of Community", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/communities/745c62d9-5e88-45ea-9d2e-418ed56178cb/packages", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "745c62d9-5e88-45ea-9d2e-418ed56178cb", - "packages" - ] - } - }, - "response": [] - }, - { - "name": "Remove packages from Community", - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "[\"f1e8531a-3190-440f-90aa-51fcc3b60d0b\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/communities/c19a7819-4161-490e-8a1b-ddf1933b2d01/packages", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "c19a7819-4161-490e-8a1b-ddf1933b2d01", - "packages" - ] - } - }, - "response": [] - }, - { - "name": "Get community administrators", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/communities/745c62d9-5e88-45ea-9d2e-418ed56178cb/administrators", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "745c62d9-5e88-45ea-9d2e-418ed56178cb", - "administrators" - ] - } - }, - "response": [] - }, - { - "name": "Update community administrators", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": " [\"user1\",\"user2\"]", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/communities/745c62d9-5e88-45ea-9d2e-418ed56178cb/administrators", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "communities", - "745c62d9-5e88-45ea-9d2e-418ed56178cb", - "administrators" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Configuration Management", - "item": [ - { - "name": "LDAP", - "item": [ - { - "name": "Add LDAP Settings", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"category\": \"LDAP_SETTINGS\",\r\n\r\n \"properties\": [\r\n {\r\n \"key\": \"LDAP_MULTI_ACTIVE\",\r\n \"value\": \"true\"\r\n },\r\n\t {\r\n \"key\": \"LDAP_CONNECTION_COUNT\",\r\n \"value\": \"3\"\r\n },\r\n\t{\r\n \"key\": \"LDAP_ATTRIB_MEMBEROF_RESOLVEONLOGIN\",\r\n \"value\": \"false\"\r\n },\r\n {\r\n \r\n \"key\": \"LDAP_ACTIVE\",\r\n \"value\": \"true\"\r\n },\r\n {\r\n \"key\": \"LDAP_SYNC_SKIPONFAULT\",\r\n \"value\": \"true\"\r\n },\r\n {\r\n \"key\": \"LDAP_AUTHENTICATION_ONLY\",\r\n \"value\": \"false\"\r\n },\r\n\t {\r\n \"key\": \"LDAP_SYNC_SEARCH_MEMBERS_BOTTOM_UP\",\r\n \"value\": \"false\"\r\n },\r\n\t{\r\n \"key\": \"LDAP_SYNC_USE_DN_AS_GUID\",\r\n \"value\": \"true\"\r\n },\r\n\t{\r\n \"key\": \"LDAP_USER_IMPORTONLOGIN\",\r\n \"value\": \"true\"\r\n }\r\n ]\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations" - ] - } - }, - "response": [] - }, - { - "name": "Get LDAP Settings", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/configurations/ldap_settings", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "ldap_settings" - ] - } - }, - "response": [] - }, - { - "name": "Update LDAP Settings", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"properties\": [\n {\n \"key\": \"LDAP_CONNECTION_COUNT\",\n \"value\": \"30\"\n }\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/ldap_settings", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "ldap_settings" - ] - } - }, - "response": [] - }, - { - "name": "Delete LDAP Settings", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/ldap_settings", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "ldap_settings" - ] - } - }, - "response": [] - }, - { - "name": "Add LDAP Connection", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"category\": \"LDAP_CONNECTION\",\r\n \"properties\": [\r\n {\r\n \"key\": \"LDAP_ATTRIB_DN\",\r\n \"value\": \"dn\"\r\n },\r\n {\r\n \"key\": \"LDAP_ATTRIB_ROLENAME\",\r\n \"value\": \"cn\"\r\n },\r\n {\r\n \"key\": \"LDAP_ATTRIB_GUID\",\r\n \"value\": \"objectGUID\"\r\n },\r\n {\r\n \"key\": \"LDAP_ATTRIB_HASMEMBER\",\r\n \"value\": \"member\"\r\n },\r\n {\r\n \"key\": \"LDAP_ATTRIB_MEMBEROF\",\r\n \"value\": \"memberOf\"\r\n },\r\n {\r\n \"key\": \"LDAP_OBJECTCLASS_ATTRIB\",\r\n \"value\": \"objectClass\"\r\n },\r\n {\r\n \"key\": \"LDAP_ATTRIB_EMAIL\",\r\n \"value\": \"mail\"\r\n },\r\n {\r\n \"key\": \"LDAP_ATTRIB_FIRSTNAME\",\r\n \"value\": \"cn\"\r\n },\r\n {\r\n \"key\": \"LDAP_ATTRIB_LASTNAME\",\r\n \"value\": \"sn\"\r\n },\r\n {\r\n \"key\": \"LDAP_ATTRIB_USERNAME\",\r\n \"value\": \"uid\"\r\n },\r\n {\r\n \"key\": \"LDAP_ATTRIB_PHONE\",\r\n \"value\": \"\"\r\n },\r\n {\r\n \"key\": \"LDAP_ATTRIB_PICTURE\",\r\n \"value\": \"\"\r\n },\r\n {\r\n \"key\": \"LDAP_URL2\",\r\n \"value\": \"ldap://daeapiprtldemo1.eur.ad.sag:10389\"\r\n },\r\n {\r\n \"key\": \"LDAP_CONCURRENT_MAX\",\r\n \"value\": \"0\"\r\n },\r\n {\r\n \"key\": \"LDAP_CONNECTION_ID\",\r\n \"value\": \"dap1\"\r\n },\r\n {\r\n \"key\": \"LDAP_CONNECTION_NAME\",\r\n \"value\": \"myldap\"\r\n },\r\n {\r\n \"key\": \"LDAP_FILTER_ROLE\",\r\n \"value\": \"\"\r\n },\r\n {\r\n \"key\": \"LDAP_FILTER_PERSON\",\r\n \"value\": \"\"\r\n },\r\n {\r\n \"key\": \"LDAP_CUSTOMATTRS_ROLE\",\r\n \"value\": \"\"\r\n },\r\n {\r\n \"key\": \"LDAP_OBJECTCLASS_ROLE\",\r\n \"value\": \"groupOfNames\"\r\n },\r\n {\r\n \"key\": \"LDAP_SEARCHPATH_ROLE\",\r\n \"value\": \"DC=example,DC=com\"\r\n },\r\n {\r\n \"key\": \"LDAP_PAGESIZE\",\r\n \"value\": \"9999\"\r\n },\r\n {\r\n \"key\": \"LDAP_READ_TIMEOUT\",\r\n \"value\": \"1800000\"\r\n },\r\n {\r\n \"key\": \"LDAP_RECURSION_DEPTH\",\r\n \"value\": \"0\"\r\n },\r\n {\r\n \"key\": \"LDAP_REFERRAL\",\r\n \"value\": \"follow\"\r\n },\r\n {\r\n \"key\": \"LDAP_SEARCHPATH\",\r\n \"value\": \"DC=example,DC=com\"\r\n },\r\n {\r\n \"key\": \"LDAP_PASSWORD\",\r\n \"value\": \"secret\"\r\n },\r\n {\r\n \"key\": \"LDAP_USERNAME\",\r\n \"value\": \"uid=admin,ou=system\"\r\n },\r\n {\r\n \"key\": \"LDAP_TLS_CERTIFICATE_VERIFICATION\",\r\n \"value\": \"true\"\r\n },\r\n {\r\n \"key\": \"LDAP_TLS_HOST_VERIFICATION\",\r\n \"value\": \"false\"\r\n },\r\n {\r\n \"key\": \"LDAP_TLS_MODE\",\r\n \"value\": \"STARTTLS\"\r\n },\r\n {\r\n \"key\": \"LDAP_USE_TLS\",\r\n \"value\": \"false\"\r\n },\r\n {\r\n \"key\": \"LDAP_TIMEOUT\",\r\n \"value\": \"18000\"\r\n },\r\n {\r\n \"key\": \"LDAP_URL\",\r\n \"value\": \"ldap://daeapiprtldemo1.eur.ad.sag:10389\"\r\n },\r\n {\r\n \"key\": \"LDAP_CUSTOMATTRS_PERSON\",\r\n \"value\": \"\"\r\n },\r\n {\r\n \"key\": \"LDAP_OBJECTCLASS_USER\",\r\n \"value\": \"inetOrgPerson\"\r\n },\r\n {\r\n \"key\": \"LDAP_SEARCHPATH_USER\",\r\n \"value\": \"DC=example,DC=com\"\r\n }\r\n ]\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations" - ] - } - }, - "response": [] - }, - { - "name": "Get LDAP Connection", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/configurations/ldap_connection/dap1", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "ldap_connection", - "dap1" - ] - } - }, - "response": [] - }, - { - "name": "Update a LDAP Connection", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \n \"properties\": [\n {\n \"key\": \"LDAP_ATTRIB_LASTNAME\",\n \"value\": \"lastName\"\n },\n {\n \"key\": \"LDAP_ATTRIB_PICTURE\",\n \"value\": \"thumpPicture\"\n },\n {\n \"key\": \"LDAP_RECURSION_DEPTH\",\n \"value\": \"1\"\n },\n {\n \"key\": \"LDAP_REFERRAL\",\n \"value\": \"follow\"\n }\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/ldap_connection?id=dap1", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "ldap_connection" - ], - "query": [ - { - "key": "id", - "value": "dap1" - } - ] - } - }, - "response": [] - }, - { - "name": "DELETE an LDAP Connection", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/ldap_connection?id=dap1", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "ldap_connection" - ], - "query": [ - { - "key": "id", - "value": "dap1" - } - ] - } - }, - "response": [] - }, - { - "name": "Import Users from LDAP", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"filter\": \"*\",\r\n \"preview\": false,\r\n \"item\": \"USERS\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/ldap_connection/dap1/import", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "ldap_connection", - "dap1", - "import" - ] - } - }, - "response": [] - }, - { - "name": "Import Groups from LDAP", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"filter\": \"*\",\r\n \"preview\": false,\r\n \"item\": \"GROUPS\"\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/ldap_connection/dap1/import", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "ldap_connection", - "dap1", - "import" - ] - } - }, - "response": [] - }, - { - "name": "Test LDAP Connection", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/ldap_connection/dap1/verify", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "ldap_connection", - "dap1", - "verify" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "OAUTH", - "item": [ - { - "name": "Oauth Provider", - "item": [ - { - "name": "Get OAuth Provider", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/configurations/oauth/TWITTER", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "oauth", - "TWITTER" - ] - } - }, - "response": [] - }, - { - "name": "Add OAuth Provider", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"category\": \"OAUTH\",\n \"properties\": [\n {\n \"key\": \"OAUTH_PROVIDERS\",\n \"value\": \"TWITTER\"\n },\n {\n \"key\": \"OAUTH_API_KEYS\",\n \"value\": \"Twitter\"\n },\n {\n \"key\": \"OAUTH_API_SECRETS\",\n \"value\": \"Twitter\"\n }\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations" - ] - } - }, - "response": [] - }, - { - "name": "Update OAuth Provider", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"properties\": [\n {\n \"key\": \"OAUTH_API_KEYS\",\n \"value\": \"key\"\n }\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/oauth?id=TWITTER", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "oauth" - ], - "query": [ - { - "key": "id", - "value": "TWITTER" - } - ] - } - }, - "response": [] - }, - { - "name": "Delete OAuth Provider", - "request": { - "method": "DELETE", - "header": [ - { - "key": "id", - "value": "TWITTER", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/oauth?id=TWITTER", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "oauth" - ], - "query": [ - { - "key": "id", - "value": "TWITTER" - } - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Get OAuth Configuration", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/configurations/oauth", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "oauth" - ] - } - }, - "response": [] - }, - { - "name": "Add OAuth Configuration", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"category\": \"OAUTH\",\n \"properties\": [\n {\n \"key\": \"OAUTH_ACTIVE\",\n \"value\": \"true\"\n }\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations" - ] - } - }, - "response": [] - }, - { - "name": "Update OAuth Configuration", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"properties\": [\n {\n \"key\": \"OAUTH_ACTIVE\",\n \"value\": \"false\"\n }\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/oauth", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "oauth" - ] - } - }, - "response": [] - }, - { - "name": "Delete OAuth Configuration", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/oauth", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "oauth" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "MFA", - "item": [ - { - "name": "Get MFA Configuration", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/configurations/mfa", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "mfa" - ] - } - }, - "response": [] - }, - { - "name": "Add MFA Configuration", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"category\": \"MFA\",\n \"properties\": [\n {\n \"key\": \"MFA_ACTIVE\",\n \"value\": \"true\"\n },\n {\n \"key\": \"MFA_CLOCK_SKEW\",\n \"value\": \"5\"\n }, \n {\n \t\"key\" :\"NOTIFICATION_OTPREQUESTED_ENABLED\",\n \t\"value\" : true\n },\n {\n \t\"key\" : \"NOTIFICATION_OTPREQUESTED_SUBJECT\",\n \t\"value\" : \"Requested OTP\"\n },\n {\n \t\"key\" : \"NOTIFICATION_OTPREQUESTED_MESSAGE\",\n \t\"value\": \"Dear @user.givenName,\\n\\nYou have requested a one-time password for your account: \\n\\n\\tTenant: @tenant.name \\n\\n\\tUser name: @user.login\\n\\n\\tOne-time password: @user.password\\n\\nUse the one-time password within 30 seconds. Ignore this e-mail if you have not submitted any request.\\n\\nBest regards,\\nAPI Portal team\\n\\n*** This notification was sent automatically by API Management Solutions powered by webMethods. Please do not reply to this e-mail.***\"\n }\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations" - ] - } - }, - "response": [] - }, - { - "name": "Update MFA Configuration", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"properties\": [\n {\n \"key\": \"MFA_ACTIVE\",\n \"value\": \"true\"\n }\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/MFA", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "MFA" - ] - } - }, - "response": [] - }, - { - "name": "Delete MFA Configuration", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/mfa", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "mfa" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "PASSWORD_POLICY", - "item": [ - { - "name": "Add Password Policy", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"category\": \"PASSWORD_POLICY\",\r\n \"properties\": [\r\n {\r\n \"key\": \"PWD_UPPERCASE_ALLOWED\",\r\n \"value\": \"true\"\r\n },\r\n {\r\n \"key\": \"PWD_LOWERCASE_MIN\",\r\n \"value\": \"0\"\r\n },\r\n {\r\n \"key\": \"PWD_RESET_CONFIRMATION_TTL\",\r\n \"value\": \"30\"\r\n },\r\n {\r\n \"key\": \"PWD_SPECIAL_ALLOWED\",\r\n \"value\": \"true\"\r\n },\r\n {\r\n \"key\": \"PWD_NUMERIC_MIN\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"key\": \"PWD_NUMERIC_ALLOWED\",\r\n \"value\": \"true\"\r\n },\r\n {\r\n \"key\": \"PWD_LENGTH_MAX\",\r\n \"value\": \"40\"\r\n },\r\n {\r\n \"key\": \"PWD_EXPIRY_DAYS\",\r\n \"value\": \"30\"\r\n },\r\n {\r\n \"key\": \"PWD_EXPIRY_ACTIVE\",\r\n \"value\": \"false\"\r\n },\r\n {\r\n \"key\": \"PWD_RESET_CONFIRMATION_ACTIVE\",\r\n \"value\": \"true\"\r\n },\r\n {\r\n \"key\": \"PWD_SPECIAL_SET\",\r\n \"value\": \"*$-+?_&=!%{}/\"\r\n },\r\n {\r\n \"key\": \"PWD_LENGTH_MIN\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"key\": \"PWD_CHANGE_FORCE_DIFFERENCE\",\r\n \"value\": \"false\"\r\n },\r\n {\r\n \"key\": \"PWD_CHANGE_FORCE_ON_FIRST_LOGIN\",\r\n \"value\": \"false\"\r\n },\r\n {\r\n \"key\": \"PWD_UPPERCASE_MIN\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"key\": \"PWD_SPECIAL_MIN\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"key\": \"PWD_CHANGE_FORCE_AFTER_RESET\",\r\n \"value\": \"false\"\r\n }\r\n ]\r\n }" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations" - ] - } - }, - "response": [] - }, - { - "name": "Update Password Policy Configuration", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"category\": \"PASSWORD_POLICY\",\r\n \"properties\": [\r\n {\r\n \"key\": \"PWD_UPPERCASE_ALLOWED\",\r\n \"value\": \"true\"\r\n },\r\n {\r\n \"key\": \"PWD_LOWERCASE_MIN\",\r\n \"value\": \"0\"\r\n },\r\n {\r\n \"key\": \"PWD_RESET_CONFIRMATION_TTL\",\r\n \"value\": \"30\"\r\n },\r\n {\r\n \"key\": \"PWD_SPECIAL_ALLOWED\",\r\n \"value\": \"true\"\r\n },\r\n {\r\n \"key\": \"PWD_NUMERIC_MIN\",\r\n \"value\": \"1\"\r\n },\r\n {\r\n \"key\": \"PWD_NUMERIC_ALLOWED\",\r\n \"value\": \"true\"\r\n },\r\n {\r\n \"key\": \"PWD_LENGTH_MAX\",\r\n \"value\": \"40\"\r\n },\r\n {\r\n \"key\": \"PWD_EXPIRY_DAYS\",\r\n \"value\": \"30\"\r\n },\r\n {\r\n \"key\": \"PWD_EXPIRY_ACTIVE\",\r\n \"value\": \"false\"\r\n },\r\n {\r\n \"key\": \"PWD_RESET_CONFIRMATION_ACTIVE\",\r\n \"value\": \"true\"\r\n },\r\n {\r\n \"key\": \"PWD_SPECIAL_SET\",\r\n \"value\": \"*$-+?_&=!%{}/\"\r\n },\r\n {\r\n \"key\": \"PWD_LENGTH_MIN\",\r\n \"value\": \"8\"\r\n },\r\n {\r\n \"key\": \"PWD_CHANGE_FORCE_DIFFERENCE\",\r\n \"value\": \"false\"\r\n },\r\n {\r\n \"key\": \"PWD_CHANGE_FORCE_ON_FIRST_LOGIN\",\r\n \"value\": \"false\"\r\n },\r\n {\r\n \"key\": \"PWD_UPPERCASE_MIN\",\r\n \"value\": \"0\"\r\n },\r\n {\r\n \"key\": \"PWD_SPECIAL_MIN\",\r\n \"value\": \"0\"\r\n },\r\n {\r\n \"key\": \"PWD_CHANGE_FORCE_AFTER_RESET\",\r\n \"value\": \"false\"\r\n }\r\n ]\r\n }" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/password_policy", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "password_policy" - ] - } - }, - "response": [] - }, - { - "name": "Delete Password Policy Configuration", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/password_policy", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "password_policy" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "SAML", - "item": [ - { - "name": "Add SAML Configuration", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"category\": \"SAML\",\n \"properties\": [\n {\n \"key\": \"SAML_ACTIVE\",\n \"value\": \"true\"\n },\n {\n \"key\": \"SAML_IDENTITY_PROVIDER_SSO_URL\",\n \"value\": \"https://localhost:8085/services/SAML\"\n }\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations" - ] - } - }, - "response": [] - }, - { - "name": "Get SAML Configuration", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/saml", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "saml" - ] - } - }, - "response": [] - }, - { - "name": "Update a SAML Configuration", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"category\": \"SAML\",\n \"properties\": [\n {\n \"key\": \"SAML_SERVICE_PROVIDER_ID\",\n \"value\": \"UMC@123\"\n },\n {\n \"key\": \"SAML_IDENTITY_PROVIDER_SSO_URL\",\n \"value\": \"https://localhost:8085/services/SAML/login\"\n }\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/saml", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "saml" - ] - } - }, - "response": [] - }, - { - "name": "DELETE a SAML Configuration", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/saml", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "saml" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "SMTP", - "item": [ - { - "name": "Add SMTP Configuration", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n\t\"category\" :\"SMTP\",\r\n\t\r\n\t\t\"properties\": [\r\n\t\t\t{\r\n\t\t\t\"key\": \"NOTIFICATION_HOST\",\r\n\t\t\t\"value\": \"smtp.eur.ad.sag\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"key\": \"NOTIFICATION_PORT\",\r\n\t\t\t\"value\": \"25\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"key\": \"NOTIFICATION_SENDER\",\r\n\t\t\t\"value\": \"api-portal@softwareag.com\"\r\n\t\t}\r\n\t]\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations" - ] - } - }, - "response": [] - }, - { - "name": "Retrieve SMTP Configuration", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/configurations/smtp", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "smtp" - ] - } - }, - "response": [] - }, - { - "name": "Update SMTP Configuration", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n\t\"category\" :\"SMTP\",\r\n\t\r\n\t\t\"properties\": [\r\n\t\t\t{\r\n\t\t\t\"key\": \"NOTIFICATION_HOST\",\r\n\t\t\t\"value\": \"smtp.eur.ad.sag\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"key\": \"NOTIFICATION_PORT\",\r\n\t\t\t\"value\": \"205\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"key\": \"NOTIFICATION_SENDER\",\r\n\t\t\t\"value\": \"prga@softwareag.com\"\r\n\t\t}\r\n\t]\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/smtp", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "smtp" - ] - } - }, - "response": [] - }, - { - "name": "Delete SMTP Configuration", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/smtp", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "smtp" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "UMC General", - "item": [ - { - "name": "Get UMC General Configuration", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/configurations/umc_general", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "umc_general" - ] - } - }, - "response": [] - }, - { - "name": "Update UMC general configuration", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"properties\": [\n {\n \"key\": \"KERBEROS_ACTIVE\",\n \"value\": \"false\"\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/umc_general", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "umc_general" - ] - } - }, - "response": [] - }, - { - "name": "Update UMC general configuration Copy", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"category\": \"UMC_GENERAL\",\r\n \"properties\": [\r\n {\r\n \"key\": \"KERBEROS_ALLOW_LOCAL_USERS\",\r\n \"value\": \"false\"\r\n },\r\n {\r\n \"key\": \"KERBEROS_KEYTAB\",\r\n \"value\": \"\"\r\n },\r\n {\r\n \"key\": \"LOADBALANCER_URL_HTTPS\",\r\n \"value\": \"\"\r\n },\r\n {\r\n \"key\": \"KERBEROS_REALM\",\r\n \"value\": \"\"\r\n },\r\n {\r\n \"key\": \"AUTH_LOCK_ENABLED\",\r\n \"value\": \"false\"\r\n },\r\n {\r\n \"key\": \"OTP_TTL\",\r\n \"value\": \"300\"\r\n },\r\n {\r\n \"key\": \"AUTH_LOCK_TTL\",\r\n \"value\": \"60\"\r\n },\r\n {\r\n \"key\": \"AUTH_LOCK_COUNTER_TTL\",\r\n \"value\": \"60\"\r\n },\r\n {\r\n \"key\": \"KERBEROS_KDC\",\r\n \"value\": \"\"\r\n },\r\n {\r\n \"key\": \"AUTH_LOCK_COUNTER_LIMIT\",\r\n \"value\": \"5\"\r\n },\r\n {\r\n \"key\": \"LOADBALANCER_URL_HTTP\",\r\n \"value\": \"\"\r\n },\r\n {\r\n \"key\": \"KERBEROS_DEBUG\",\r\n \"value\": \"false\"\r\n },\r\n {\r\n \"key\": \"OTP_ACTIVE\",\r\n \"value\": \"true\"\r\n },\r\n {\r\n \"key\": \"LOADBALANCER_URL\",\r\n \"value\": \"http://localhost:18101\"\r\n },\r\n {\r\n \"key\": \"KERBEROS_CONFIGFILE\",\r\n \"value\": \"\"\r\n },\r\n {\r\n \"key\": \"KERBEROS_TENANT\",\r\n \"value\": \"default\"\r\n },\r\n {\r\n \"key\": \"KERBEROS_ACTIVE\",\r\n \"value\": \"false\"\r\n },\r\n {\r\n \"key\": \"KERBEROS_SPN\",\r\n \"value\": \"\"\r\n },\r\n {\r\n \"key\": \"KERBEROS_VALIDATE_USERNAME\",\r\n \"value\": \"false\"\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations" - ] - } - }, - "response": [] - }, - { - "name": "Delete UMC General Configuration", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "" - } - }, - "response": [] - } - ] - }, - { - "name": "Email Templates", - "item": [ - { - "name": "List All Email Templates", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/configurations/email-templates", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "email-templates" - ] - } - }, - "response": [] - }, - { - "name": "Retrieve configuration details of an email template", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/configurations/email-templates/APPROVAL_PENDING", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "email-templates", - "APPROVAL_PENDING" - ] - } - }, - "response": [] - }, - { - "name": "Update the configurations of an email template", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"enabled\": false,\n \"message\": \"\\r\\n\\r\\n
\\r\\nHello ${recipient.name},\\r\\n\\r\\n

\\r\\n\\r\\nA new request by ${originator.name} needs your review and approval.\\r\\n

\\r\\nYou can click the link ${loadbalancer.url}/approvals/pending to see your pending approval(s).\\r\\n\\r\\n

\\r\\n\\r\\nBest Regards,
\\r\\nAPI Portal Team\\r\\n

\\r\\n\\r\\n*** This notification was sent automatically. Do not reply to this email.***\\r\\n
\\r\\n\\r\\n\",\n \"subject\": \"Approval request pending\",\n \"type\": \"html\"\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations/email-templates/APPROVAL_PENDING", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "email-templates", - "APPROVAL_PENDING" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Get Configuration by Category", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/configurations/flow_settings", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "flow_settings" - ] - } - }, - "response": [] - }, - { - "name": "Create application email configuration", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n\t\"category\" :\"APPLICATION_EMAIL_CONFIGURATION\",\r\n\t\r\n\t\t\"properties\": [\r\n\t\t\t{\r\n\t\t\t\"key\": \"APPLICATION_SHARED_SUBJECT\",\r\n\t\t\t\"value\": \"An Application has been shared\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"key\": \"APPLICATION_SHARED_MESSAGE\",\r\n\t\t\t\"value\": \"Hello ${user.name}, \\\\n\\\\n An application ${application.name} has been shared to you by ${application.owner}. \\\\n\\\\n \\\\n\\\\n Best Regards,\\\\nAPI Cloud Team \\\\n\\\\n *** This notification was sent automatically. Do not reply to this email.***\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"key\": \"APPLICATION_REVOKED_SUBJECT\",\r\n\t\t\t\"value\": \"Application access has been revoked\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"key\":\"APPLICATION_REVOKED_MESSAGE\",\r\n\t\t\t\"value\": \"Hello ${user.name},\\\\n\\\\n ${application.name} application access has been revoked by the owner \\\\n\\\\n \\\\n\\\\n Best Regards,\\\\nAPI Cloud Team \\\\n\\\\n *** This notification was sent automatically. Do not reply to this email.***\"\r\n\t\t}\r\n\t]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations" - ] - } - }, - "response": [] - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ] - }, - { - "name": "Data Management", - "item": [ - { - "name": "Backup data", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "manage", - "type": "string" - }, - { - "key": "username", - "value": "administrator", - "type": "string" - } - ] - }, - "method": "POST", - "header": [ - { - "key": "xsrf-token", - "value": "VbOuuiSA6K8YNWvN2D8Dl-I9sUU9GVM8bFZBMjVScFo", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"modules\": [\"User\",\"Collaboration\",\"Theme\",\"Core\"]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/data/backup/", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "data", - "backup", - "" - ] - } - }, - "response": [] - }, - { - "name": "Restore data", - "protocolProfileBehavior": { - "followAuthorizationHeader": true - }, - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "manage", - "type": "string" - }, - { - "key": "username", - "value": "administrator", - "type": "string" - } - ] - }, - "method": "POST", - "header": [ - { - "key": "xsrf-token", - "type": "text", - "value": "VbOuuiSA6K8YNWvN2D8Dl-I9sUU9GVM8bFZBMjVScFo" - } - ], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "file", - "type": "file", - "src": "/C:/Users/y509291/OneDrive - Software AG/Desktop/back1" - }, - { - "key": "modules", - "value": "User,Core,Theme,Collaboration", - "type": "text" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/data/restore", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "data", - "restore" - ] - } - }, - "response": [] - }, - { - "name": "Download backup", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "manage", - "type": "string" - }, - { - "key": "username", - "value": "administrator", - "type": "string" - } - ] - }, - "method": "GET", - "header": [ - { - "key": "xsrf-token", - "value": "VbOuuiSA6K8YNWvN2D8Dl-I9sUU9GVM8bFZBMjVScFo", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/data/status/fd83b446-4fd4-4a18-b820-133ef5cb702b/backup", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "data", - "status", - "fd83b446-4fd4-4a18-b820-133ef5cb702b", - "backup" - ] - } - }, - "response": [] - }, - { - "name": "Get backup/restore progress", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "manage", - "type": "string" - }, - { - "key": "username", - "value": "administrator", - "type": "string" - } - ] - }, - "method": "GET", - "header": [ - { - "key": "xsrf-token", - "value": "VbOuuiSA6K8YNWvN2D8Dl-I9sUU9GVM8bFZBMjVScFo", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/data/status/fd83b446-4fd4-4a18-b820-133ef5cb702b", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "data", - "status", - "fd83b446-4fd4-4a18-b820-133ef5cb702b" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Event Management", - "item": [ - { - "name": "Event APIs", - "item": [ - { - "name": "Get events", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "manage", - "type": "string" - }, - { - "key": "username", - "value": "administrator", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/events?to=2021-09-17&from=2021-09-16&limit=20&system=UMC", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "events" - ], - "query": [ - { - "key": "type", - "value": "USER_CREATION,USER_UPDATE", - "disabled": true - }, - { - "key": "to", - "value": "2021-09-17" - }, - { - "key": "from", - "value": "2021-09-16" - }, - { - "key": "limit", - "value": "20" - }, - { - "key": "system", - "value": "UMC" - } - ] - } - }, - "response": [] - }, - { - "name": "Purge events", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "manage", - "type": "string" - }, - { - "key": "username", - "value": "administrator", - "type": "string" - } - ] - }, - "method": "DELETE", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/events?from=2021-09-05&to=2021-09-17&system=UMC", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "events" - ], - "query": [ - { - "key": "from", - "value": "2021-09-05" - }, - { - "key": "to", - "value": "2021-09-17" - }, - { - "key": "system", - "value": "UMC" - } - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Webhook APIs", - "item": [ - { - "name": "Create a hook [Basic Auth]", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"url\": \"http://localhost:8086/events\",\r\n \"parameters\": {\r\n \t\"authentication\": \"BASIC\",\r\n \"username\": \"system\",\r\n \"password\": \"sss\"\r\n },\r\n \"subscriptions\":[\"API_PUBLISH_EVENT\"]\r\n}\r\n" - }, - "url": { - "raw": "http://{{host}}/rest/v1/hooks", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "hooks" - ] - } - }, - "response": [] - }, - { - "name": "Create a Provider Hook", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"url\": \"http://localhost:8086/events\",\r\n \"configuration_type\": \"PROVIDER\",\r\n \"parameters\": {\r\n \t\"authentication\": \"BASIC\",\r\n \"username\": \"system\",\r\n \"password\": \"sss\"\r\n },\r\n \"subscriptions\":[\"API_PUBLISH_EVENT\"]\r\n}\r\n", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/hooks", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "hooks" - ] - } - }, - "response": [] - }, - { - "name": "Create a hook [SSL]", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"url\": \"http://localhost:8086/events\",\r\n \"parameters\": {\r\n \"authentication\": \"SSL\",\r\n \"type\": \"jks\",\r\n \"file_id\": \"1234\",\r\n \"password\": \"sss\"\r\n },\r\n \"subscriptions\": [\"API_PUBLISH_EVENT\"]\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/hooks", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "hooks" - ] - } - }, - "response": [] - }, - { - "name": "Get by id", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/hooks/550c52c8-7812-4f69-ac1d-7951351b5c88", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "hooks", - "550c52c8-7812-4f69-ac1d-7951351b5c88" - ] - } - }, - "response": [] - }, - { - "name": "Get all webhooks", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/hooks", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "hooks" - ] - } - }, - "response": [] - }, - { - "name": "Update hook by id", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"url\": \"http://localhost:8086/events\",\r\n \"parameters\": {\r\n \t\"authentication\": \"BASIC\",\r\n \"username\": \"system\",\r\n \"password\": \"sss\"\r\n },\r\n \"subscriptions\":[\"API_PUBLISH_EVENT\"]\r\n}\r\n" - }, - "url": { - "raw": "http://{{host}}/rest/v1/hooks/a1dbe144-8e6b-4f91-a4e5-053f87543c77", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "hooks", - "a1dbe144-8e6b-4f91-a4e5-053f87543c77" - ] - } - }, - "response": [] - }, - { - "name": "Delete hook by id", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/hooks/0398c383-9f7d-41ac-adc4-24ea5735d9e1", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "hooks", - "0398c383-9f7d-41ac-adc4-24ea5735d9e1" - ] - } - }, - "response": [] - }, - { - "name": "Get events", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/hooks/events", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "hooks", - "events" - ] - } - }, - "response": [] - } - ] - } - ] - }, - { - "name": "Package Management", - "item": [ - { - "name": "Create package", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"SoftwareAG APIPortal\",\n \"summary\": \"This is the summary of Package\",\n \"description\": \"This is the description of Package\",\n \"apis\": [\n \"c2e38064-a94d-4195-8e99-07a9bfeeeac9\",\n \"be5e4369-9241-45e4-a50b-0f513b98dcfe\"\n ],\n \"plans\": [\n \"a31fcbe0-ad63-4a8a-a283-c776efc8d1df\"\n ],\n \"providers\": [\n \"be5e4369-9241-45e4-a50b-0f513b98dcfe\"\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/packages", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages" - ] - } - }, - "response": [] - }, - { - "name": "Get all packages", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/packages", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages" - ] - } - }, - "response": [] - }, - { - "name": "Get package by Id", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/packages/8f924f7c-15db-40a6-91a1-3900bb2318d4", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "8f924f7c-15db-40a6-91a1-3900bb2318d4" - ] - } - }, - "response": [] - }, - { - "name": "Delete package", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/packages/8f924f7c-15db-40a6-91a1-3900bb2318d4", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "8f924f7c-15db-40a6-91a1-3900bb2318d4" - ] - } - }, - "response": [] - }, - { - "name": "Update package", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"SoftwareAG APIPortal\",\n \"summary\": \"This is the summary of Package\",\n \"description\": \"This is the description of Package\",\n \"apis\": [\n \"c2e38064-a94d-4195-8e99-07a9bfeeeac9\",\n \"be5e4369-9241-45e4-a50b-0f513b98dcfe\"\n ],\n \"plans\": [\n \"a31fcbe0-ad63-4a8a-a283-c776efc8d1df\"\n ],\n \"providers\": [\n \"be5e4369-9241-45e4-a50b-0f513b98dcfe\"\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/packages/a4b08e01-da0e-4aa8-b8c5-aa4890a701a6", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "a4b08e01-da0e-4aa8-b8c5-aa4890a701a6" - ] - } - }, - "response": [] - }, - { - "name": "Add APIs to package", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "[\"f1e8531a-3190-440f-90aa-51fcc3b60d0b\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/packages/c19a7819-4161-490e-8a1b-ddf1933b2d01/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "c19a7819-4161-490e-8a1b-ddf1933b2d01", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Remove APIs from package", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "[\"f1e8531a-3190-440f-90aa-51fcc3b60d0b\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/packages/c19a7819-4161-490e-8a1b-ddf1933b2d01/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "c19a7819-4161-490e-8a1b-ddf1933b2d01", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Add Plans to package", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "[\"f1e8531a-3190-440f-90aa-51fcc3b60d0b\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/packages/c19a7819-4161-490e-8a1b-ddf1933b2d01/plans", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "c19a7819-4161-490e-8a1b-ddf1933b2d01", - "plans" - ] - } - }, - "response": [] - }, - { - "name": "Remove plans from package", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "[\"f1e8531a-3190-440f-90aa-51fcc3b60d0b\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/packages/c19a7819-4161-490e-8a1b-ddf1933b2d01/plans", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "c19a7819-4161-490e-8a1b-ddf1933b2d01", - "plans" - ] - } - }, - "response": [] - }, - { - "name": "Get APIS", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/packages/8f924f7c-15db-40a6-91a1-3900bb2318d4/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "8f924f7c-15db-40a6-91a1-3900bb2318d4", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Get Plans", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/packages/8f924f7c-15db-40a6-91a1-3900bb2318d4/plans", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "8f924f7c-15db-40a6-91a1-3900bb2318d4", - "plans" - ] - } - }, - "response": [] - }, - { - "name": "Get Communities", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/packages/8f924f7c-15db-40a6-91a1-3900bb2318d4/communities", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "8f924f7c-15db-40a6-91a1-3900bb2318d4", - "communities" - ] - } - }, - "response": [] - }, - { - "name": "Get Topics", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/packages/8f924f7c-15db-40a6-91a1-3900bb2318d4/topics", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "8f924f7c-15db-40a6-91a1-3900bb2318d4", - "topics" - ] - } - }, - "response": [] - }, - { - "name": "Get followers ", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/packages/edf3ae6c-f1e4-4429-909e-7afa349bf4e7/followers", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "edf3ae6c-f1e4-4429-909e-7afa349bf4e7", - "followers" - ] - } - }, - "response": [] - }, - { - "name": "Get followers count", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/packages/7e0b64a7-46bf-4881-9e18-5ec64e6d7f97/followers/_count", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "7e0b64a7-46bf-4881-9e18-5ec64e6d7f97", - "followers", - "_count" - ] - } - }, - "response": [] - }, - { - "name": "Add/Remove follower", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/packages/edf3ae6c-f1e4-4429-909e-7afa349bf4e7/followers", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "edf3ae6c-f1e4-4429-909e-7afa349bf4e7", - "followers" - ] - } - }, - "response": [] - }, - { - "name": "Rate a Package", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"rating\": 5\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/packages/edf3ae6c-f1e4-4429-909e-7afa349bf4e7/rate", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "edf3ae6c-f1e4-4429-909e-7afa349bf4e7", - "rate" - ] - } - }, - "response": [] - }, - { - "name": "Get rating of a Package", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/packages/edf3ae6c-f1e4-4429-909e-7afa349bf4e7/rate", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "packages", - "edf3ae6c-f1e4-4429-909e-7afa349bf4e7", - "rate" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Plan Management", - "item": [ - { - "name": "Create a Plan", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Gold Plan\",\n \"summary\": \"Summary of gold plan\",\n \"description\": \"Description of gold plan\",\n \"cost\": {\n \"currency\": \"US\",\n \"value\": \"100\",\n \"duration\": \"hour\"\n },\n \"terms\": \"Subject to terms and conditions\",\n \"license\": \"Apache 2.0 Licensed\",\n \"enforcements\": [\n {\n \"name\": \"Throttling\",\n \"properties\": [\n {\n \"key\": \"Maximum Request Quota\",\n \"value\": \"100\"\n },\n {\n \"key\": \"Validation Interval\",\n \"value\": \"3 minutes\"\n },\n {\n \"key\": \"Violation Message\",\n \"value\": \"Hard limit crossed\"\n }\n ]\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/plans", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "plans" - ] - } - }, - "response": [] - }, - { - "name": "Get all plans", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/plans", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "plans" - ] - } - }, - "response": [] - }, - { - "name": "Get a Plan by Id", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/plans/8f924f7c-15db-40a6-91a1-3900bb2318d4", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "plans", - "8f924f7c-15db-40a6-91a1-3900bb2318d4" - ] - } - }, - "response": [] - }, - { - "name": "Update a Plan by Id", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Gold Plan 1\",\n \"summary\": \"Summary of gold plan\",\n \"description\": \"Description of gold plan\",\n \"cost\": {\n \"currency\": \"US\",\n \"value\": \"90\",\n \"duration\": \"hour\"\n },\n \"terms\": \"New terms and conditions\",\n \"license\": \"Apache 2.0 Licensed\",\n \"enforcements\": [\n {\n \"name\": \"Throttling\",\n \"properties\": [\n {\n \"key\": \"Maximum Request Quota\",\n \"value\": \"120\"\n },\n {\n \"key\": \"Validation Interval\",\n \"value\": \"3 minutes\"\n },\n {\n \"key\": \"Violation Message\",\n \"value\": \"Hard limit crossed\"\n }\n ]\n }\n ]\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/plans/8f924f7c-15db-40a6-91a1-3900bb2318d4", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "plans", - "8f924f7c-15db-40a6-91a1-3900bb2318d4" - ] - } - }, - "response": [] - }, - { - "name": "Delete a Plan by Id", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/plans/8f924f7c-15db-40a6-91a1-3900bb2318d4", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "plans", - "8f924f7c-15db-40a6-91a1-3900bb2318d4" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Provider Management", - "item": [ - { - "name": "Create a Provider", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"Provider1\",\r\n \"version\": \"10.5\",\r\n \"external_key_provider\": false,\r\n \"credentials\": \"QWRtaW5pc3RyYXRvcjptYW5hZ2U=\",\r\n \"apiportaluuid\": \"cc050c1c-3d29-4121-b1be-bf0e85c3ce3c\",\r\n \"notificationPlugins\": [\r\n {\r\n \"id\": \"HTTP\",\r\n \"pluginParameters\": {\r\n \"com.aris.umc.apiportal.external.event.notify.endpoint\": \"http://sag-56hpwt2.eur.ad.sag:5555/portal/rest/apigateway/accesstokens\",\r\n \"com.aris.umc.apiportal.external.event.notify.method\": \"POST\",\r\n \"com.aris.umc.apiportal.external.event.notify.contentType\": \"application/json\"\r\n }\r\n }\r\n ]\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/providers", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "providers" - ] - } - }, - "response": [] - }, - { - "name": "Get Provider by Id", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/providers/f64c2a29-a5fd-4416-b79a-656f6bbe45a3", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "providers", - "f64c2a29-a5fd-4416-b79a-656f6bbe45a3" - ] - } - }, - "response": [] - }, - { - "name": "Update Provider by Id", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"Provider1\",\r\n \"version\": \"10.5\",\r\n \"external_key_provider\": false,\r\n \"shortDescription\": \"desc updated\",\r\n \"credentials\": \"QWRtaW5pc3RyYXRvcjptYW5hZ2U=\",\r\n \"notificationPlugins\": [\r\n {\r\n \"id\": \"HTTP\",\r\n \"pluginParameters\": {\r\n \"com.aris.umc.apiportal.external.event.notify.endpoint\": \"http://sag-56hpwt2.eur.ad.sag:5555/portal/rest/apigateway/accesstokens\",\r\n \"com.aris.umc.apiportal.external.event.notify.method\": \"POST\",\r\n \"com.aris.umc.apiportal.external.event.notify.contentType\": \"application/json\"\r\n }\r\n }\r\n ]\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/providers/80fe2e50-9e85-46b9-9287-9311186c6832", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "providers", - "80fe2e50-9e85-46b9-9287-9311186c6832" - ] - } - }, - "response": [] - }, - { - "name": "Get all providers", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/providers/", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "providers", - "" - ] - } - }, - "response": [] - }, - { - "name": "Delete provider by id", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/providers/80fe2e50-9e85-46b9-9287-9311186c6832", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "providers", - "80fe2e50-9e85-46b9-9287-9311186c6832" - ] - } - }, - "response": [] - }, - { - "name": "Get Provider apis", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/providers/f64c2a29-a5fd-4416-b79a-656f6bbe45a3/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "providers", - "f64c2a29-a5fd-4416-b79a-656f6bbe45a3", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Unlink API from Provider", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "[\"35b9d621-0c41-4c76-8bee-974524894d99\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/providers/706e886c-4c15-4a0e-a8d9-d10cb8479e89/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "providers", - "706e886c-4c15-4a0e-a8d9-d10cb8479e89", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Link API to Provider", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "[\"35b9d621-0c41-4c76-8bee-974524894d99\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/providers/706e886c-4c15-4a0e-a8d9-d10cb8479e89/apis", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "providers", - "706e886c-4c15-4a0e-a8d9-d10cb8479e89", - "apis" - ] - } - }, - "response": [] - }, - { - "name": "Get Packages", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/providers/068274cd-90b1-4a86-aaf8-821a2282b7cb/packages", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "providers", - "068274cd-90b1-4a86-aaf8-821a2282b7cb", - "packages" - ] - } - }, - "response": [] - }, - { - "name": "Link Packages to Provider", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "[\"35b9d621-0c41-4c76-8bee-974524894d99\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/providers/706e886c-4c15-4a0e-a8d9-d10cb8479e89/packages", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "providers", - "706e886c-4c15-4a0e-a8d9-d10cb8479e89", - "packages" - ] - } - }, - "response": [] - }, - { - "name": "Unlink Packages from Provider", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "[\"35b9d621-0c41-4c76-8bee-974524894d99\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/providers/706e886c-4c15-4a0e-a8d9-d10cb8479e89/packages", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "providers", - "706e886c-4c15-4a0e-a8d9-d10cb8479e89", - "packages" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Team Management", - "item": [ - { - "name": "Create a Team", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Team Silicon\",\n \"summary\": \"Summary of team silicon\",\n \"description\": \"Description of team silicon\"\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/teams", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "teams" - ] - } - }, - "response": [] - }, - { - "name": "Get my Teams", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/teams", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "teams" - ] - } - }, - "response": [] - }, - { - "name": "Get a Team by Id", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/teams/8f924f7c-15db-40a6-91a1-3900bb2318d4", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "teams", - "8f924f7c-15db-40a6-91a1-3900bb2318d4" - ] - } - }, - "response": [] - }, - { - "name": "Update a Team by Id", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"name\": \"Team Titans\",\n \"summary\": \"Summary of team Titans\",\n \"description\": \"Description of team Titans\",\n \"users\": [\n \"userId1\",\n \"userId2\"\n ]\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/teams/8f924f7c-15db-40a6-91a1-3900bb2318d4", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "teams", - "8f924f7c-15db-40a6-91a1-3900bb2318d4" - ] - } - }, - "response": [] - }, - { - "name": "Delete a Team by Id", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/teams/8f924f7c-15db-40a6-91a1-3900bb2318d4", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "teams", - "8f924f7c-15db-40a6-91a1-3900bb2318d4" - ] - } - }, - "response": [] - }, - { - "name": "Get the users of a Team", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/teams/8f924f7c-15db-40a6-91a1-3900bb2318d4/users", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "teams", - "8f924f7c-15db-40a6-91a1-3900bb2318d4", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Update the users of a Team", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "[\"54b53072-540e-3eb8-b8e9-343e71f28176\"]", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/teams/8f924f7c-15db-40a6-91a1-3900bb2318d4/users", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "teams", - "8f924f7c-15db-40a6-91a1-3900bb2318d4", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Delete the users of a Team", - "request": { - "method": "DELETE", - "header": [], - "body": { - "mode": "raw", - "raw": "[\n \"memberId1\",\n \"memberId2\"\n]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/teams/8f924f7c-15db-40a6-91a1-3900bb2318d4/users", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "teams", - "8f924f7c-15db-40a6-91a1-3900bb2318d4", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Get the applications of a Team", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/teams/8f924f7c-15db-40a6-91a1-3900bb2318d4/applications", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "teams", - "8f924f7c-15db-40a6-91a1-3900bb2318d4", - "applications" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "User Management", - "item": [ - { - "name": "Login", - "item": [ - { - "name": "OAuth", - "item": [ - { - "name": "Get active OAuth providers", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/oauth/providers", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "oauth", - "providers" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "SSO", - "item": [ - { - "name": "Get SSO details", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/saml/active", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "saml", - "active" - ] - } - }, - "response": [] - }, - { - "name": "Init SSO Login", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/saml/initsso", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "saml", - "initsso" - ] - } - }, - "response": [] - }, - { - "name": "Login with SSO", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "urlencoded", - "urlencoded": [ - { - "key": "SAMLResponse", - "value": "some xml saml response", - "type": "text" - }, - { - "key": "RelayState", - "value": "relay state value", - "type": "text" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/saml/initsso", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "saml", - "initsso" - ] - } - }, - "response": [] - }, - { - "name": "Init SSO Logout", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/saml/initslo?tenant=tenantname", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "saml", - "initslo" - ], - "query": [ - { - "key": "tenant", - "value": "tenantname" - }, - { - "key": "SAMLResponse", - "value": "some xml saml response", - "disabled": true - }, - { - "key": "RelayState", - "value": "relay state value", - "disabled": true - } - ] - } - }, - "response": [] - }, - { - "name": "Logout with SSO", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "urlencoded", - "urlencoded": [ - { - "key": "SAMLResponse", - "value": "some xml saml response", - "type": "text" - }, - { - "key": "RelayState", - "value": "relay state value", - "type": "text" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/saml/initslo", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "saml", - "initslo" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "MFA", - "item": [ - { - "name": "Get MFA Status", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/mfa/active", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "mfa", - "active" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Login", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"username\": \"Administrator\",\n\t\"password\": \"manage\"\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/login", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "login" - ] - } - }, - "response": [] - }, - { - "name": "Send otp", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n \"username\": \"prga@softwareag.com\",\n \"password\": \"prga\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://{{host}}/rest/v1/login/sendotp", - "protocol": "https", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "login", - "sendotp" - ] - } - }, - "response": [] - }, - { - "name": "Logout", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/logout", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "logout" - ] - } - }, - "response": [] - }, - { - "name": "Get Password policy", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/passwordpolicy", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "passwordpolicy" - ] - } - }, - "response": [] - }, - { - "name": "Change Password before Logging in", - "request": { - "method": "PUT", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/changepassword?userName=username&oldPassword=abc&newPassword=xyz", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "changepassword" - ], - "query": [ - { - "key": "userName", - "value": "username" - }, - { - "key": "oldPassword", - "value": "abc" - }, - { - "key": "newPassword", - "value": "xyz" - } - ] - } - }, - "response": [] - }, - { - "name": "Email verification", - "request": { - "method": "POST", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/verify?id=54b53072-540e-3eb8-b8e9-343e71f28176", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "verify" - ], - "query": [ - { - "key": "id", - "value": "54b53072-540e-3eb8-b8e9-343e71f28176" - } - ] - } - }, - "response": [] - }, - { - "name": "Resend email verification", - "request": { - "method": "POST", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/email/verify?email=abc@xyz.com", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "email", - "verify" - ], - "query": [ - { - "key": "email", - "value": "abc@xyz.com" - } - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Group", - "item": [ - { - "name": "Get all Groups", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/groups?allowLDAP=false", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "groups" - ], - "query": [ - { - "key": "allowLDAP", - "value": "false" - } - ] - } - }, - "response": [] - }, - { - "name": "Get Group By ID", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/groups/8ad53d34-550a-35f8-ac0b-c540aa751dbf", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "groups", - "8ad53d34-550a-35f8-ac0b-c540aa751dbf" - ] - } - }, - "response": [] - }, - { - "name": "Create Group", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"API Provider Group\",\r\n \"description\": \"Group of API Provider\"\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/groups", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "groups" - ] - } - }, - "response": [] - }, - { - "name": "Update Group", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"API Provider Group_Mod\",\r\n \"description\": \"Group of API Provider\"\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/groups/7dead6ba-d7f3-321d-a5c9-971dc33b73fd", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "groups", - "7dead6ba-d7f3-321d-a5c9-971dc33b73fd" - ] - } - }, - "response": [] - }, - { - "name": "Assign Users to Group", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": " [\"user1\",\"user2\",\"user3\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/groups/23b0ce88-3296-36be-b2a1-f470aee3f031/users", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "groups", - "23b0ce88-3296-36be-b2a1-f470aee3f031", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Delete Group", - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/groups/8ad53d34-550a-35f8-ac0b-c540aa751dbf", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "groups", - "8ad53d34-550a-35f8-ac0b-c540aa751dbf" - ] - } - }, - "response": [] - }, - { - "name": "Unassign Users from a Group", - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": " [\"user1\",\"user2\",\"user3\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/groups/9870271b-5413-3053-b5b3-12f97a513552/users", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "groups", - "9870271b-5413-3053-b5b3-12f97a513552", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Assigned Users of a Group", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/groups/23b0ce88-3296-36be-b2a1-f470aee3f031/users", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "groups", - "23b0ce88-3296-36be-b2a1-f470aee3f031", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Assign/Unassign privileges", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"assigned\": {\r\n \"ROLE_CONSUMER\": true,\r\n \"ROLE_ADMINISTRATOR\": false,\r\n \"ROLE_PROVIDER\": true\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/groups/1f1e5beb-6d56-4979-87e1-df0514fba1ee/permissions", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "groups", - "1f1e5beb-6d56-4979-87e1-df0514fba1ee", - "permissions" - ] - } - }, - "response": [] - }, - { - "name": "Get group privileges", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/groups/1f1e5beb-6d56-4979-87e1-df0514fba1ee/permissions", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "groups", - "1f1e5beb-6d56-4979-87e1-df0514fba1ee", - "permissions" - ] - } - }, - "response": [] - }, - { - "name": "Sync Ldap Group", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/groups/1f1e5beb-6d56-4979-87e1-df0514fba1ee/sync", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "groups", - "1f1e5beb-6d56-4979-87e1-df0514fba1ee", - "sync" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "User", - "item": [ - { - "name": "Get all Users", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/users/", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "" - ] - } - }, - "response": [] - }, - { - "name": "Create User", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"username\": \"prga\",\r\n \"password\":\"prga\",\r\n \"firstname\": \"prga\",\r\n \"lastname\": \"prga\",\r\n \"email\":\"prga@softwareag.com\"\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/users", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users" - ] - } - }, - "response": [] - }, - { - "name": "Update User", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"username\": \"system2_Mod\",\r\n \"firstname\": \"Administrator\",\r\n \"lastname\": \"System\",\r\n \"tenant\": \"default\"\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/users/3453ferg4t3tt4", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "3453ferg4t3tt4" - ] - } - }, - "response": [] - }, - { - "name": "Delete User", - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/users/1f1e5beb-6d56-4979-87e1-df0514fba1ee", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "1f1e5beb-6d56-4979-87e1-df0514fba1ee" - ] - } - }, - "response": [] - }, - { - "name": "Get User By ID", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/users/1f1e5beb-6d56-4979-87e1-df0514fba1ee", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "1f1e5beb-6d56-4979-87e1-df0514fba1ee" - ] - } - }, - "response": [] - }, - { - "name": "Get Self", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"username\": \"system2_Mod\",\r\n \"firstname\": \"Administrator\",\r\n \"lastname\": \"System\",\r\n \"tenant\": \"default\",\r\n \"createdOn\": \"2020-02-11 09:18\",\r\n \"modifiedOn\": \"2020-02-11 09:18\"\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/users/self", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "self" - ] - } - }, - "response": [] - }, - { - "name": "Get self roles", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/users/self/privileges", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "self", - "privileges" - ] - } - }, - "response": [] - }, - { - "name": "Change Password", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/x-www-form-urlencoded", - "type": "text" - } - ], - "body": { - "mode": "urlencoded", - "urlencoded": [ - { - "key": "oldPassword", - "value": "omg1", - "type": "text" - }, - { - "key": "newPassword", - "value": "n1", - "type": "text" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/users/updatepassword", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "updatepassword" - ], - "query": [ - { - "key": "oldPassword", - "value": "n1", - "disabled": true - }, - { - "key": "newPassword", - "value": "omg1", - "disabled": true - } - ] - } - }, - "response": [] - }, - { - "name": "Change password by Admin", - "request": { - "method": "PUT", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/users/1f1e5beb-6d56-4979-87e1-df0514fba1ee/updatepassword", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "1f1e5beb-6d56-4979-87e1-df0514fba1ee", - "updatepassword" - ], - "query": [ - { - "key": "newPassword", - "value": "password", - "disabled": true - } - ] - } - }, - "response": [] - }, - { - "name": "Update Email", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/x-www-form-urlencoded", - "type": "text" - } - ], - "body": { - "mode": "urlencoded", - "urlencoded": [ - { - "key": "password", - "value": "test", - "type": "text" - }, - { - "key": "email", - "value": "abc@abc.com", - "type": "text" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/users/updateemail", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "updateemail" - ] - } - }, - "response": [] - }, - { - "name": "Update Profile Picture", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/x-www-form-urlencoded", - "type": "text" - } - ], - "body": { - "mode": "formdata", - "formdata": [ - { - "key": "file", - "type": "file", - "src": "/C:/Users/y509291/Downloads/img1.jpg" - } - ] - }, - "url": { - "raw": "http://{{host}}/rest/v1/users/updatepicture", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "updatepicture" - ] - } - }, - "response": [] - }, - { - "name": "Get Profile Picture", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/users/200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4/picture", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4", - "picture" - ] - } - }, - "response": [] - }, - { - "name": "Verify Password", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/x-www-form-urlencoded", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "omg1" - }, - "url": { - "raw": "http://{{host}}/rest/v1/users/verifypassword", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "verifypassword" - ] - } - }, - "response": [] - }, - { - "name": "Regenerate otp secret", - "request": { - "method": "POST", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/users/otpsecret", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "otpsecret" - ] - } - }, - "response": [] - }, - { - "name": "Regenerate secret by Admin", - "request": { - "method": "POST", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/users/8658b490-1a65-3633-bf46-e32bb8176d82/otpsecret", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "8658b490-1a65-3633-bf46-e32bb8176d82", - "otpsecret" - ] - } - }, - "response": [] - }, - { - "name": "Reset Password", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n\t\"token\": \"eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1ODc5OTU5NDEsImp0aSI6IlEzeHZnNlA4VTNLdjZ2YlRFN1paaGNKaG1ybi0wd0J3cnBUTTlfSGF1X3hYVXZ2bExJdjNjeXB1X3VNczZRMmViamRXZHpuRSIsInN1YiI6InB0aGEiLCJ0ZW4iOiJkZWZhdWx0IiwiYXBpIjpmYWxzZSwia25kIjoiT05FVElNRSJ9.RNqWFqePp8FFW8I87M6qUbwDt02nq_kUK4ZI3ume4qk\",\n\t\"password\": \"123abc@\"\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/resetpassword", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "resetpassword" - ], - "query": [ - { - "key": "", - "value": "", - "disabled": true - } - ] - } - }, - "response": [] - }, - { - "name": "Forgot Password", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/forgotpassword?userName=developer1", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "forgotpassword" - ], - "query": [ - { - "key": "userName", - "value": "developer1" - } - ] - } - }, - "response": [] - }, - { - "name": "Verify session token", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\n\t\"token\": \"eyJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1ODc5OTU5NDEsImp0aSI6IlEzeHZnNlA4VTNLdjZ2YlRFN1paaGNKaG1ybi0wd0J3cnBUTTlfSGF1X3hYVXZ2bExJdjNjeXB1X3VNczZRMmViamRXZHpuRSIsInN1YiI6InB0aGEiLCJ0ZW4iOiJkZWZhdWx0IiwiYXBpIjpmYWxzZSwia25kIjoiT05FVElNRSJ9.RNqWFqePp8FFW8I87M6qUbwDt02nq_kUK4ZI3ume4qk\"\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/validatesession", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "validatesession" - ] - } - }, - "response": [] - }, - { - "name": "Password Policy", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/passwordpolicy", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "passwordpolicy" - ] - } - }, - "response": [] - }, - { - "name": "Get Follow Streams", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "url": { - "raw": "http://{{host}}/rest/v1/users/follows", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "follows" - ] - } - }, - "response": [] - }, - { - "name": "Update Notification Preference", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"INAPP\": {\r\n \"TOPIC_CREATED\": \"OFF\",\r\n \"COMMENT_CREATED\": \"INSTANT\",\r\n \"APPROVAL_PENDING\": \"INSTANT\"\r\n },\r\n \"EMAIL\": {\r\n \"TOPIC_CREATED\": \"INSTANT\",\r\n \"COMMENT_CREATED\": \"OFF\",\r\n \"APPROVAL_PENDING\": \"INSTANT\"\r\n }\r\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/users/preferences", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "preferences" - ] - } - }, - "response": [] - }, - { - "name": "Get Notification Preference", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/users/preferences", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "preferences" - ] - } - }, - "response": [] - }, - { - "name": "Assign/Unassign Privileges", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"assigned\": {\r\n \"ROLE_CONSUMER\": true,\r\n \"ROLE_ADMINISTRATOR\": false,\r\n \"ROLE_PROVIDER\": true\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/users/1f1e5beb-6d56-4979-87e1-df0514fba1ee/permissions", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "1f1e5beb-6d56-4979-87e1-df0514fba1ee", - "permissions" - ] - } - }, - "response": [] - }, - { - "name": "Get user privileges", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/users/1f1e5beb-6d56-4979-87e1-df0514fba1ee/permissions", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "1f1e5beb-6d56-4979-87e1-df0514fba1ee", - "permissions" - ] - } - }, - "response": [] - }, - { - "name": "Sync Ldap User", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/users/1f1e5beb-6d56-4979-87e1-df0514fba1ee/sync", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "1f1e5beb-6d56-4979-87e1-df0514fba1ee", - "sync" - ] - } - }, - "response": [] - }, - { - "name": "Get communities", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/users/self/communities", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "self", - "communities" - ] - }, - "description": "List all communities of the loged in User" - }, - "response": [] - }, - { - "name": "Assign groups to an user", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "manage", - "type": "string" - }, - { - "key": "username", - "value": "administrator", - "type": "string" - } - ] - }, - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": " [\"1a6cebe9-a842-3a78-b98e-3a17c2ac7553\",\"6dcd557a-2118-3623-8196-5025b95fc18d\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/users/a8a15bca-2cb1-3be0-ba71-0f778aced8a7/groups", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "a8a15bca-2cb1-3be0-ba71-0f778aced8a7", - "groups" - ] - } - }, - "response": [] - }, - { - "name": "Unassign groups from an user", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "manage", - "type": "string" - }, - { - "key": "username", - "value": "administrator", - "type": "string" - } - ] - }, - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": " [\"1a6cebe9-a842-3a78-b98e-3a17c2ac7553\",\"6dcd557a-2118-3623-8196-5025b95fc18d\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/users/a8a15bca-2cb1-3be0-ba71-0f778aced8a7/groups", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "a8a15bca-2cb1-3be0-ba71-0f778aced8a7", - "groups" - ] - } - }, - "response": [] - }, - { - "name": "Get Usage Report Preference", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/users/preferences/reports", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "preferences", - "reports" - ] - } - }, - "response": [] - }, - { - "name": "Update Usage Report Preference", - "request": { - "method": "PUT", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"reportFrequency\": [\r\n \"DAILY\",\r\n \"MONTHLY\",\r\n \"WEEKLY\"\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/users/preferences/reports", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "users", - "preferences", - "reports" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Signup", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"username\": \"test@gmail.com\",\n\t\"password\": \"test\",\n\t\"firstname\" :\"test\",\n\t\"lastname\" :\"test\",\n\t\"email\" : \"test@gmail.com\"\n}" - }, - "url": { - "raw": "http://{{host}}/rest/v1/signup", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "signup" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Notification Management", - "item": [ - { - "name": "Get all notifications", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/notifications/", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "notifications", - "" - ] - } - }, - "response": [] - }, - { - "name": "Get count of unread notifications", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [], - "body": { - "mode": "raw", - "raw": "" - }, - "url": { - "raw": "http://{{host}}/rest/v1/notifications/_count", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "notifications", - "_count" - ] - } - }, - "response": [] - }, - { - "name": "Update notification status", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "[\n \"23b0ce88-3296-36be-b2a1-f470aee3f031\",\n \"23b0ce88-3296-36be-b2a1-f470aee3f032\"\n]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/notifications?status=UNREAD", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "notifications" - ], - "query": [ - { - "key": "status", - "value": "UNREAD" - } - ] - } - }, - "response": [] - }, - { - "name": "Delete notifications", - "request": { - "method": "DELETE", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": " [\"05842128-8aab-455a-ba34-ebe5864d13c7\",\"05842128-8aab-455a-ba34-ebe5864d1397\"]" - }, - "url": { - "raw": "http://{{host}}/rest/v1/notifications", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "notifications" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Search", - "item": [ - { - "name": "Search APIs", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"conjunction\": \"AND\",\r\n \"criterias\": [\r\n {\r\n \"field\": \"name\",\r\n \"values\": [\r\n \"BookWizard\"\r\n ],\r\n \"operation\": \"CONTAINS\"\r\n },\r\n {\r\n \"field\": \"description\",\r\n \"values\": [\r\n \"My API : Book Wizard API\"\r\n ],\r\n \"operation\": \"CONTAINS\"\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/search/basic?type=api", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "search", - "basic" - ], - "query": [ - { - "key": "type", - "value": "api" - } - ] - } - }, - "response": [] - }, - { - "name": "Search protected APIs of Provider", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"conjunction\": \"AND\",\r\n \"criterias\": [\r\n {\r\n \"field\": \"providerRef\",\r\n \"values\": [\r\n \"1e6af881-87dd-4436-b76a-00c285ed70f8\"\r\n ],\r\n \"operation\": \"CONTAINS\"\r\n },\r\n {\r\n \"field\": \"securitySchemes\",\r\n \"values\": [\r\n \"APIKEY\",\r\n \"OAUTH2\"\r\n ],\r\n \"operation\": \"EQUALS\"\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/search/basic?type=api", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "search", - "basic" - ], - "query": [ - { - "key": "type", - "value": "api" - } - ] - } - }, - "response": [] - }, - { - "name": "Search Communities", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"conjunction\": \"OR\",\r\n \"criterias\": [\r\n {\r\n \"field\": \"name\",\r\n \"values\": [\r\n \"CommunityA\"\r\n ],\r\n \"operation\": \"EQUALS\"\r\n },\r\n {\r\n \"field\": \"description\",\r\n \"values\": [\r\n \"Description\"\r\n ],\r\n \"operation\": \"CONTAINS\"\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/search/basic?type=community", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "search", - "basic" - ], - "query": [ - { - "key": "type", - "value": "community" - } - ] - } - }, - "response": [] - }, - { - "name": "Search Users by Role", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"criterias\": [\r\n {\r\n \"field\": \"role\",\r\n \"values\": [\r\n \"API Consumer\"\r\n ],\r\n \"operation\": \"EQUALS\"\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/search/basic?type=user", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "search", - "basic" - ], - "query": [ - { - "key": "type", - "value": "user" - } - ] - } - }, - "response": [] - }, - { - "name": "Search Users by Name", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"criterias\": [\r\n {\r\n \"field\": \"name\",\r\n \"values\": [\r\n \"ProviderUser1\"\r\n ],\r\n \"operation\": \"CONTAINS\"\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/search/basic?type=user", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "search", - "basic" - ], - "query": [ - { - "key": "type", - "value": "user" - } - ] - } - }, - "response": [] - }, - { - "name": "Search Groups", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"criterias\": [\r\n {\r\n \"field\": \"name\",\r\n \"values\": [\r\n \"ConsumerGroup1\"\r\n ],\r\n \"operation\": \"EQUALS\"\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/search/basic?type=group", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "search", - "basic" - ], - "query": [ - { - "key": "type", - "value": "group" - } - ] - } - }, - "response": [] - }, - { - "name": "Search Packages", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"conjunction\": \"AND\",\r\n \"criterias\": [\r\n {\r\n \"field\": \"name\",\r\n \"values\": [\r\n \"PublicPackageA\"\r\n ],\r\n \"operation\": \"CONTAINS\"\r\n },\r\n {\r\n \"field\": \"description\",\r\n \"values\": [\r\n \"Description of PublicPackageA\"\r\n ],\r\n \"operation\": \"CONTAINS\"\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/search/basic?type=package", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "search", - "basic" - ], - "query": [ - { - "key": "type", - "value": "package" - } - ] - } - }, - "response": [] - }, - { - "name": "Search by Keyword", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/search?q=*", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "search" - ], - "query": [ - { - "key": "q", - "value": "*" - } - ] - } - }, - "response": [] - }, - { - "name": "Search by Keyword (advanced)", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/search/advanced?q=*&type=package", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "search", - "advanced" - ], - "query": [ - { - "key": "q", - "value": "*" - }, - { - "key": "type", - "value": "package" - } - ] - } - }, - "response": [] - }, - { - "name": "Search Teams", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n \"conjunction\": \"AND\",\r\n \"criterias\": [\r\n {\r\n \"field\": \"name\",\r\n \"values\": [\r\n \"*\"\r\n ],\r\n \"operation\": \"CONTAINS\"\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/search/basic?type=community", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "search", - "basic" - ], - "query": [ - { - "key": "type", - "value": "community" - } - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Health and Monitoring", - "item": [ - { - "name": "Overall Health", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/portal/rest/v1/health", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "portal", - "rest", - "v1", - "health" - ] - }, - "description": "Request can be made without authorization to get only the overall status" - }, - "response": [] - }, - { - "name": "Detailed Health", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "manage", - "type": "string" - }, - { - "key": "username", - "value": "Administrator", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/portal/rest/v1/health", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "portal", - "rest", - "v1", - "health" - ] - }, - "description": "Authorization header need to be sent to get the complete details" - }, - "response": [] - }, - { - "name": "Liveness probe", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/portal/rest/v1/health/liveness", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "portal", - "rest", - "v1", - "health", - "liveness" - ] - }, - "description": "Endpoint can be used in K8s deployment" - }, - "response": [] - }, - { - "name": "Readiness probe", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/portal/rest/v1/health/readiness", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "portal", - "rest", - "v1", - "health", - "readiness" - ] - }, - "description": "Endpoint can be used in K8s deployment" - }, - "response": [] - }, - { - "name": "About application", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/portal/rest/v1/info", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "portal", - "rest", - "v1", - "info" - ] - }, - "description": "Endpoint will get you application build details" - }, - "response": [] - }, - { - "name": "Prometheus consumption", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/portal/rest/v1/prometheus", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "portal", - "rest", - "v1", - "prometheus" - ] - }, - "description": "Endpoint can be configured in prometheus for monitoring the application" - }, - "response": [] - }, - { - "name": "Environment settings", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "manage", - "type": "string" - }, - { - "key": "username", - "value": "Administrator", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/portal/rest/v1/env", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "portal", - "rest", - "v1", - "env" - ] - }, - "description": "Endpoint to get application and system environment settings details" - }, - "response": [] - }, - { - "name": "Metrics", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "manage", - "type": "string" - }, - { - "key": "username", - "value": "Administrator", - "type": "string" - } - ] - }, - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/portal/rest/v1/metrics", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "portal", - "rest", - "v1", - "metrics" - ] - }, - "description": "Endpoint to get the available JVM and tomcat metrics. The metrics can be drilled down by sending the particular metric name as path parameter" - }, - "response": [] - } - ], - "description": "The set of request to know about the application various metrics and health" - } - ] -} \ No newline at end of file diff --git a/apis/10.11/openapis/applications.yaml b/apis/10.11/openapis/applications.yaml deleted file mode 100644 index 79c1ce2..0000000 --- a/apis/10.11/openapis/applications.yaml +++ /dev/null @@ -1,1036 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Applications API - description: | - ## Overview - Applications are used for accessing APIs at runtime to enforce certain runtime rules - - Consumer User Identification - - Protect APIs' access at runtime by defining and enforcing various type of access tokens like - - API Key - - OAuth2 - - JWT - - Define and enforce Service-Level Agrrement between provider and consumer - - Trace the runtime logs for the usage of application. - - - ## Details - An application defines the precise identifiers by which messages/requests from a particular consumer - application is recognized at run time. - An application contains the security informations like access tokens only by which the APIs can be accessed. - - The identifiers can be, for example, user name in HTTP - headers, a range of IP addresses, such that API Portal can identify or authenticate the applications - that are requesting an API. - - The ability of API Portal to relate a message to a specific application enables it to: - - - Control access to an API at run time (that is, allow only authorized applications to invoke an - API). - - Monitor an API for violations of a Service-Level Agreement (SLA) for a specified application. - - Indicate the application to which a logged transaction event belongs. - - ## Types of Applications - - API - - Used for accessing APIs with defined cosumer identification and access tokens. - - - Subscription - - In addition to API type, it has defined SLAs and Cost structure through packages and plans. - - ## Application API - The Application REST endpoint provides below capabilities to manage its details. - - By Administrators - - Create/Update/Delete applications (by Administrators) - - Note : In prior, the actual requests will be raised by consumer as UserRequests entity. - For mode details, please refer 'Portal UserRequests API' - - Find all applications of all users - - - By Owner of the application and/or Users with READ/UPDATE permissions on the Application: - - Get all applications - - Add/Remove APIs to/from applications - - Get APIs of applications - - Share/Unshare applications to Team and/or other users - - Create/Delete JWT Token for application - - Find all User Requests associated to the application - - - - version: "10.11" -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server -paths: - /applications: - get: - tags: - - Application - - Subscription - - User Request - summary: Get all the applications of the current user - parameters: - - name: page - in: query - description: Defines the page number for the data - required: false - schema: - type: integer - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - responses: - "200": - $ref: '#/components/responses/SearchResponse' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - post: - tags: - - Application - - Subscription - - User Request - summary: Create an application with the given data - requestBody: - description: Create application payload - content: - application/json: - schema: - $ref: '#/components/schemas/Application' - examples: - application: - $ref: '#/components/examples/Application' - responses: - "201": - $ref: '#/components/responses/CreatedResponse' - "400": - $ref: '#/components/responses/BadRequest' - "403": - $ref: '#/components/responses/Forbidden' - "401": - $ref: '#/components/responses/Unauthorized' - /applications/{id}: - get: - tags: - - Application - - Subscription - - User Request - summary: Get a particular application given by the id - responses: - "200": - $ref: '#/components/responses/Application' - "403": - $ref: '#/components/responses/Forbidden' - "401": - $ref: '#/components/responses/Unauthorized' - "404": - $ref: '#/components/responses/NotFound' - put: - tags: - - Application - - Subscription - - User Request - summary: Update an application given by the id - requestBody: - description: Application update payload - content: - application/json: - schema: - $ref: '#/components/schemas/Application' - examples: - application: - $ref: '#/components/examples/Application' - responses: - "200": - $ref: '#/components/responses/ApplicationUpdateResponse' - "400": - $ref: '#/components/responses/BadRequest' - "403": - $ref: '#/components/responses/Forbidden' - "401": - $ref: '#/components/responses/Unauthorized' - "404": - $ref: '#/components/responses/NotFound' - delete: - tags: - - Application - - Subscription - - User Request - summary: Delete a particular application given by the id - parameters: - - name: force - in: query - description: Administartor can forcefully clean up particular application from the developer portal. It won't perform clean up on Gateway. - required: false - schema: - type: boolean - enum: - - true - - false - responses: - "204": - description: Application deleted successfully - "403": - $ref: '#/components/responses/Forbidden' - "401": - $ref: '#/components/responses/Unauthorized' - "404": - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identifier of an application - required: true - schema: - type: string - /applications/{id}/share: - put: - tags: - - Application - - Subscription - - User Request - summary: Share application to team or user - requestBody: - description: Application update payload - content: - application/json: - schema: - $ref: '#/components/schemas/AccessControlList' - examples: - AccessControl: - $ref: '#/components/examples/AccessControlList' - responses: - "200": - $ref: '#/components/responses/ApplicationSharedResponse' - "403": - $ref: '#/components/responses/Forbidden' - "401": - $ref: '#/components/responses/Unauthorized' - "404": - $ref: '#/components/responses/NotFound' - "400": - $ref: '#/components/responses/BadRequest' - delete: - tags: - - Application - - Subscription - - User Request - summary: Unshare application to team or user - responses: - "200": - $ref: '#/components/responses/ApplicationUnsharedResponse' - "403": - $ref: '#/components/responses/Forbidden' - "401": - $ref: '#/components/responses/Unauthorized' - "404": - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identifier of an application - required: true - schema: - type: string - /applications/_all: - get: - tags: - - Application - - Subscription - - User Request - summary: Get all the applications of all users - parameters: - - name: page - in: query - description: Defines the page number for the data - required: false - schema: - type: integer - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - responses: - "200": - $ref: '#/components/responses/SearchResponse' - "403": - $ref: '#/components/responses/Forbidden' - "401": - $ref: '#/components/responses/Unauthorized' - /applications/{id}/requests: - get: - tags: - - Application - - Subscription - - User Request - summary: Get the all the user requests for this application - parameters: - - name: page - in: query - description: Defines the page number for the data - required: false - schema: - type: integer - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - responses: - "200": - $ref: '#/components/responses/UserRequestListResponse' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - parameters: - - name: id - in: path - description: Unique identifier of an application - required: true - schema: - type: string - - /applications/{id}/tokens: - get: - tags: - - Application - - Subscription - - User Request - summary: Get specified type of tokens generated for the application - parameters: - - name: type - in: query - description: type of access token; applicable values 'OAUTH', 'JWT'. Default value 'OAUTH' - required: false - schema: - type: string - - name: page - in: query - description: Defines the page number for the data - required: false - schema: - type: integer - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - responses: - "200": - $ref: '#/components/responses/AccessTokenListResponse' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - parameters: - - name: id - in: path - description: Unique identifier of an application - required: true - schema: - type: string - - /applications/{id}/tokens/{tokenId}: - delete: - tags: - - Application - - Subscription - - User Request - summary: Delete the specified token for the given application - responses: - "204": - description: Token deleted successfully - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - parameters: - - name: id - in: path - description: Unique identifier of an application - required: true - schema: - type: string - - - name: tokenId - in: path - description: Unique identifier of the token - required: true - schema: - type: string - - /applications/{id}/scopes: - get: - tags: - - Application - summary: Get the scopes associated with the application - description: Get the scopes associated with the application - responses: - "200": - $ref: '#/components/responses/ScopesList' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identifier of an application - required: true - schema: - type: string - - name: apiId - in: query - required: false - description: Unique identifier of an API - schema: - type: string - -components: - schemas: - AccessControlList: - type: object - description: contains details of the teams and users whoc has access rights for the application - properties: - teams: - type: array - items: - type: string - users: - type: array - items: - type: string - UserRequestType: - type: string - enum: - - APPLICATION_CREATION_REQUEST - - APPLICATION_API_REGISTRATION_REQUEST - - APPLICATION_API_DEREGISTRATION_REQUEST - - APPLICATION_UPDATE_REQUEST - - SUBSCRIPTION_REVOKE_REQUEST - - SUBSCRIPTION_CREATION_REQUEST - ApplicationState: - type: string - enum: - - INACTIVE - - LIVE - - REJECTED - Error: - required: - - code - - message - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - SearchResponse: - required: - - result - - count - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/Application' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - format: int32 - - AccessTokenResponse: - required: - - result - - count - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/AccessToken' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - format: int32 - CreatedResponse: - required: - - id - - _self - type: object - properties: - id: - type: string - _self: - type: string - ApplicationSharedUnsharedResponse: - required: - - code - - message - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - ApplicationType: - type: string - description: Type of the Application. Possible values 'API','SUBSCRIPTION' - enum: - - API - - SUBSCRIPTION - Pagination: - required: - - _self - type: object - properties: - _self: - type: string - _next: - type: string - UserRequestStatus: - type: string - enum: - - NEW - - APPROVAL_PENDING - - APPROVED - - WAITING_THIRDPARTY - - COMPLETED - - FAILED - - REJECTED - ApplicationCredential: - type: object - enum: - - $ref: '#/components/schemas/APIKeyCredential' - - $ref: '#/components/schemas/OAuthCredential' - - $ref: '#/components/schemas/JWTCredential' - - APIKeyCredential: - type: object - properties: - apiKey: - type: string - description: unique token in GUID format to access the API - expiry: - type: string - format: date - description: expiry date of the API Key token - - OAuthCredential: - type: object - properties: - clientId: - type: string - clientSecret: - type: string - scopes: - type: array - items: - type: string - tokenLifeTime: - type: integer - tokenRefreshLimit: - type: integer - authorizationUris: - type: array - items: - type: string - accessTokenUris: - type: array - items: - type: string - redirectUris: - type: array - items: - type: string - refreshTokenUris: - type: array - items: - type: string - - - JWTCredential: - type: object - properties: - claimsets: - type: array - items: - $ref: '#/components/schemas/Claimset' - accesstoken_uris: - type: array - items: - type: string - - Claimset: - type: object - properties: - name: - type: string - claims: - type: array - items: - $ref: '#/components/schemas/Claim' - - Claim: - type: object - properties: - key: - type: string - value: - type: string - - UserRequestList: - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/UserRequest' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - format: int32 - Application: - type: object - properties: - owner: - type: string - description: owner user of the application - summary: - type: string - description: short summary of the application - access: - $ref: '#/components/schemas/AccessControlList' - apis: - type: array - description: APIs that are included in the application. - items: - type: string - credentials: - type: array - description: | - Access credentials for the application's APIs. - - Contains one more credetials of the types APIKey, OAuth2 and JWT. - items: - $ref: '#/components/schemas/ApplicationCredential' - appType: - $ref: '#/components/schemas/ApplicationType' - name: - type: string - description: name of the application - packageId: - type: string - description: identifier of the package. Applicable for 'SUBSCRIPTION' type of application. - description: - type: string - description: detailed summary of the application - planId: - type: string - description: identifier of the plan. Applicable for 'SUBSCRIPTION' type of application. - id: - type: string - description: Unique identification for application. Refers to the GUID fo the application.For example `463063e4-724e-45d7-ad58-004de9b0ad26` - status: - $ref: '#/components/schemas/ApplicationState' - UserRequest: - type: object - properties: - owner: - type: string - description: id of the user who created the request - application: - type: string - description: id of the application - context: - type: object - description: |+ - Has all details required for application creation. - e.g Name and description of the application, API and re-direct url. - additionalProperties: - type: string - id: - type: string - description: Unique identification for User Request. Refers to the GUID fo the user request. For example `12896841-d85c-4a6c-88c9-632e927dee3d` - state: - type: object - description: indicates the request state of each API/Subscription in the user request. - additionalProperties: - type: string - type: - $ref: '#/components/schemas/UserRequestType' - status: - $ref: '#/components/schemas/UserRequestStatus' - AccessToken: - type: object - properties: - token: - $ref: '#/components/schemas/TokenResponse' - applicationId: - type: string - description: identifier of the application - scope: - type: string - status: - $ref: '#/components/schemas/TokenStatus' - type: - $ref: '#/components/schemas/TokenType' - - TokenResponse: - type: object - properties: - access_token: - type: string - token_type: - type: string - expires_in: - type: string - refresh_token: - type: string - scope: - type: string - - TokenStatus: - type: string - enum: - - INACTIVE - - ACTIVE - TokenType: - type: string - enum: - - OAUTH - - JWT - - responses: - BadRequest: - description: "The request was unacceptable, due to invalid payload" - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/400' - CreatedResponse: - description: "Application is created successfully" - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedResponse' - examples: - 201: - $ref: '#/components/examples/CreatedResponse' - ApplicationUnsharedResponse: - description: Application unshared successfully - content: - application/json: - schema: - $ref: '#/components/schemas/ApplicationSharedUnsharedResponse' - examples: - 200: - $ref: '#/components/examples/ApplicationUnsharedResponse' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - ApplicationSharedResponse: - description: Application shared successfully - content: - application/json: - schema: - $ref: '#/components/schemas/ApplicationSharedUnsharedResponse' - examples: - 200: - $ref: '#/components/examples/ApplicationSharedResponse' - UserRequestListResponse: - description: List of user requests fetched successfully - content: - application/json: - schema: - $ref: '#/components/schemas/UserRequestList' - examples: - 200: - $ref: '#/components/examples/UserRequestsList' - Application: - description: "" - content: - application/json: - schema: - $ref: '#/components/schemas/Application' - examples: - 200: - $ref: '#/components/examples/Application' - - ApplicationUpdateResponse: - description: Application updated successfully - content: - application/json: - schema: - $ref: '#/components/schemas/Application' - examples: - 200: - $ref: '#/components/examples/Application' - - NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404: - $ref: '#/components/examples/404' - SearchResponse: - description: Retrived applications successfully - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponse' - examples: - 200: - $ref: '#/components/examples/SearchResponse' - AccessTokenListResponse: - description: Retrived the specified type of accesstokens from the given application - content: - application/json: - schema: - $ref: '#/components/schemas/AccessTokenResponse' - examples: - OAuthTokens: - $ref: '#/components/examples/OAuthTokensResponse' - ScopesList: - description: List of scope names - content: - application/json: - schema: - type: array - items: - type: string - examples: - ScopeList: - $ref: '#/components/examples/ScopesList' - - examples: - CreatedResponse: - value: - id: 463063e4-724e-45d7-ad58-004de9b0ad26 - _self: /rest/v1/applications/463063e4-724e-45d7-ad58-004de9b0ad26 - ApplicationUnsharedResponse: - value: - code: 200 - message: Application is unshared successfully - "400": - value: - code: 400 - message: The payload given is invalid - "401": - value: - code: 401 - message: Invalid credentials - "403": - value: - code: 403 - message: Insufficient privileges - NotificationList: - value: - count: 1 - result: - - id: f3afe393-655b-4755-8c50-2ecd1c7379da - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - type: APPLICATION_CREATION_REQUEST - status: APPROVAL_PENDING - context: { } - application: fce645f8-fdeb-4b9a-8c33-6a4e75b36fdd - state: { } - "404": - value: - code: 404 - message: Unable to find the Application - ApplicationSharedResponse: - value: - code: 200 - message: Application is shared successfully - Application: - value: - name: Test Application - owner: cdb82d56-4739-3164-9525-fbbd1d5dab56 - id: 463063e4-724e-45d7-ad58-004de9b0ad26 - providerRef: 63360be0-db5c-4266-9096-011e2f1f0634 - access: - teams: [ ] - users: [ ] - apis: - - 8294372b-5037-4501-b5da-95dad13fcf96 - credentials: - - expiry: null - apiKey: 5ff994b2-3259-4799-a0b1-cab2d450c459 - type: APIKey - - clientId: 2321ab15-d561-4422-8e49-0441bd3ba6ef - clientSecret: 3a7e2754-fb21-47ae-8f31-651c1f3ebf80 - scopes: [ ] - tokenLifeTime: 3600 - tokenRefreshLimit: 0 - authorizationUris: - - 'https://localhost:5543/invoke/pub.apigateway.oauth2/authorize' - accessTokenUris: - - 'https://localhost:5543/invoke/pub.apigateway.oauth2/getAccessToken' - redirectUris: - - /rest/v1/oauth/callback - - 'http://localhost:8080' - refreshTokenUris: - - 'https://localhost:5543/invoke/pub.oauth/refreshAccessToken' - type: OAuth2 - - claimsets: - - name: JWT default claims set - claims: - - key: app_id - value: c1cb7679-e171-4991-a306-4632971d4945 - accesstoken_uris: null - type: JWT - status: LIVE - slots: - $stage: lean portal - deleted: false - description: This application is used for building Hotel app - externalRefKey: c1cb7679-e171-4991-a306-4632971d4945 - app_type: API - - AccessControlList: - value: - teams: - - d0b1d693-daba-44a5-970a-e8ef38798f1c - users: - - ebfc815e-e2cc-3a16-a251-05bb7b3e1e53 - - SearchResponse: - value: - result: - - name: Petstore Application - owner: cdb82d56-4739-3164-9525-fbbd1d5dab56 - id: 76a32b75-13e7-4097-afd8-27088fb2e047 - providerRef: 63360be0-db5c-4266-9096-011e2f1f0634 - access: - teams: [ ] - users: [ ] - apis: - - 8294372b-5037-4501-b5da-95dad13fcf96 - credentials: - - expiry: null - apiKey: d9c1ee4c-03c3-4e13-b3aa-ff073939d797 - type: APIKey - - clientId: baf2b181-9fd3-4733-a532-b993e522bc04 - clientSecret: 9d088033-16a7-494f-b46d-3953b470a7b6 - scopes: [ ] - tokenLifeTime: 3600 - tokenRefreshLimit: 0 - authorizationUris: - - 'https://localhost:5543/invoke/pub.apigateway.oauth2/authorize' - accessTokenUris: - - 'https://localhost:5543/invoke/pub.apigateway.oauth2/getAccessToken' - redirectUris: - - /rest/v1/oauth/callback - - 'http://localhost:8080' - refreshTokenUris: - - 'https://localhost:5543/invoke/pub.oauth/refreshAccessToken' - type: OAuth2 - - claimsets: - - name: JWT default claims set - claims: - - key: app_id - value: 0683f0c7-b88c-4ba0-95dd-398931fa6ee4 - accesstoken_uris: null - type: JWT - status: LIVE - slots: - $stage: lean portal - deleted: false - description: This application is used for building petstore app - externalRefKey: 0683f0c7-b88c-4ba0-95dd-398931fa6ee4 - app_type: API - - name: SubscriptionForGoldPlan - owner: cdb82d56-4739-3164-9525-fbbd1d5dab56 - id: d0d2ef67-d338-4662-a0cb-d1a69c5fac96 - providerRef: 63360be0-db5c-4266-9096-011e2f1f0634 - access: - teams: [ ] - users: [ ] - apis: [ ] - credentials: [ ] - status: INACTIVE - slots: - $stage: lean portal - deleted: false - description: This application is used for building Hotel app - app_type: SUBSCRIPTION - count: 2 - _links: - _self: /rest/v1/applications?page=0 - - UserRequestsList: - value: - result: - - owner: cdb82d56-4739-3164-9525-fbbd1d5dab56 - id: 12896841-d85c-4a6c-88c9-632e927dee3d - modified: '2021-03-26 08:54 UTC' - created: '2021-03-26 08:54 UTC' - type: SUBSCRIPTION_CREATION_REQUEST - status: WAITING_THIRDPARTY - application: 5097cc01-bd6d-443c-b356-0788af0666b7 - state: - 69c8ccc7-4ffa-4612-b097-8a27194bc63c: WAITING_THIRDPARTY - count: 1 - OAuthTokensResponse: - value: - result: - - name: token_for_petstore_app - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: e4ddf133-4175-4827-a09d-ffed5bff5939 - modified: '2021-03-30 06:30 UTC' - created: '2021-03-30 06:30 UTC' - token: - access_token: b7fdbbfa1b3b4e2d80f1ce4a3e53ee759e2af517412e4d1a86143e629e1ab4c2 - token_type: Bearer - expires_in: '3600' - scope: test - applicationId: eb6d4a40-33cf-4e42-8c0c-2598f08bb7b3 - status: ACTIVE - type: OAUTH - count: 1 - _links: - _self: >- - /rest/v1/applications/eb6d4a40-33cf-4e42-8c0c-2598f08bb7b3/tokens?type=OAUTH&page=0 - ScopesList: - value: - - scope1 - scope2 diff --git a/apis/10.11/openapis/configurations.yaml b/apis/10.11/openapis/configurations.yaml deleted file mode 100644 index f4446b3..0000000 --- a/apis/10.11/openapis/configurations.yaml +++ /dev/null @@ -1,1236 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Configurations API - description: |- - ## Overview - Unified configuration API which helps to leverage different configurations of API Portal such as LDAP, MFA, OAUTH, Password Policy, SMTP, SAML etc., - and manage email templates which are used by API Portal for sending email notifications on various events. - - ## Functionalities supported - - ## LDAP - - LDAP Settings - - General configurations covering truststore/group import etc - - - LDAP Connection - - Configuration properties specific to a LDAP Connection. - - ## OAuth - - OAuth configuration settings - - General configurations including enabling OAuth, List of configured OAuth providers - - - OAuth provider specific configuration setting - - Configuration properties specific to a OAuth provider which includes the api key/ secret. - - ## MFA - - Allows configuring MFA which includes the enabling MFA, configuring exclusion users, clock skew etc. - - ## Password policy - - Allows Configuring the password policy used for the system - - ## SAML - - Allows Configuring the single signon(SAML) configuration used by the system. - - ## SMTP - - Allows Configuring the email server(SMTP) configuration used by the system. - - ## Email Templates - - API Portal has below list of pre-defined email templates for sending email notifications on various events. - - By default notifications for all these templates are 'Enabled' - - Allows to enable/disable notification for a particualr template - - Allows to modify the subject and/or message for a particular template - Note: Only pre-defined variables/parameters/tokens in the message will be replaced/filled with its value by the system. - User can't introduce new variables/parameters/tokens. - - List of email templates are - - TOPIC_CREATED - - COMMENT_CREATED - - APPROVAL_PENDING - - APPROVAL_RESULT - - API_REPUBLISH - - API_UNPUBLISH - - PACKAGE_REPUBLISH - - PACKAGE_UNPUBLISH - - EMAIL_VERIFICATION - - WELCOME_EMAIL - - PASSWORD_RESET - - PASSWORD_RESET_REQUESTED - - PASSWORD_CHANGED - - OTP_REQUEST - - OTP_SECRET_CHANGE - - LICENSE_EXPIRED - - LICENSE_WILL_EXPIRE - - - ## General - - Allows Configuring the general configuration like external DNS used by the system. - - ## Authorization - Users with role **Administrator** can only perform the configuration settings. - - - version: '10.11' - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - - '/configurations/smtp': - get: - tags: - - SMTP - summary: Retrieve email server configuration used in the system - responses: - '200': - $ref: '#/components/responses/smtp_configuration' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - put: - tags: - - SMTP - summary: Update email server configuration in the sytem - requestBody: - description: email server configuration payload - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - password_policy: - $ref: '#/components/examples/smtp_configuration' - responses: - '201': - $ref: '#/components/responses/CreatedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - delete: - tags: - - SMTP - summary: Reset the email server configuration to default values - responses: - '204': - description: Configuration is restored to default values - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/configurations/password_policy': - get: - tags: - - Configuration - summary: Retrieve password policy configuration in the system - responses: - '200': - $ref: '#/components/responses/password_policy' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - put: - tags: - - Configuration - summary: Update password policy configuration in the sytem - requestBody: - description: multi-factor authentication configuration payload - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - password_policy: - $ref: '#/components/examples/password_policy' - responses: - '201': - $ref: '#/components/responses/CreatedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - delete: - tags: - - Configuration - summary: Reset the password policy configuration to default values - responses: - '204': - description: Configuration is restored to default values - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - - - '/configurations/saml': - get: - tags: - - SAML - summary: Retrieve Single Signon (SAML) configuration in the system - responses: - '200': - $ref: '#/components/responses/saml_configuration' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - put: - tags: - - SAML - summary: Update Single Signon (SAML) configuration in the sytem - requestBody: - description: Single Signon (SAML) configuration payload - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - saml_configuration: - $ref: '#/components/examples/saml_configuration' - responses: - '201': - $ref: '#/components/responses/CreatedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - delete: - tags: - - SAML - summary: Reset the Single Signon (SAML) configuration to default values - responses: - '204': - description: Configuration is restored to default values - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/configurations/mfa': - get: - tags: - - MFA - summary: Retrieve multi-factor authentication configuration in the system - responses: - '200': - $ref: '#/components/responses/mfa_configuration' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - put: - tags: - - MFA - summary: Update multi-factor authentication configuration - requestBody: - description: multi-factor authentication configuration payload - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - mfa_configuration: - $ref: '#/components/examples/mfa_configuration' - responses: - '201': - $ref: '#/components/responses/CreatedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - delete: - tags: - - MFA - summary: Remove multi-factor authentication configuration - responses: - '204': - description: Configuration is restored to default values - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/configurations/oauth/{id}': - get: - tags: - - OAuth - parameters: - - name: "id" - in: "path" - description: unique identifier of the oauth provider. - required: true - schema: - type: string - summary: Retrieve specific OAuth provider configuration identified by given id - responses: - '200': - $ref: '#/components/responses/oauth_provider' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/configurations/oauth': - get: - tags: - - OAuth - summary: Retrieve OAuth configuration in the system - responses: - '200': - $ref: '#/components/responses/oauth_configuration' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - put: - tags: - - OAuth - parameters: - - name: "id" - in: "query" - description: unique identifier of the OAuth provider - required: false - schema: - type: string - summary: Update OAuth provider configuration identified by the given query parameter - requestBody: - description: OAuth provider configuration payload - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - oauth_provider: - $ref: '#/components/examples/oauth_provider' - responses: - '201': - $ref: '#/components/responses/CreatedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - delete: - tags: - - OAuth - summary: Remove OAuth provider configuration - parameters: - - name: "id" - in: "query" - description: unique identifier of the OAuth provider - required: false - schema: - type: string - responses: - '204': - description: Configuration is restored to default values - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/configurations/ldap_connection/{id}': - get: - tags: - - LDAP - parameters: - - name: "id" - in: "path" - description: unique identifier of the ldap connection - required: true - schema: - type: string - summary: Retrieve LDAP connection configuration identified by given id - responses: - '200': - $ref: '#/components/responses/ldap_connection' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/configurations/ldap_connection': - put: - tags: - - LDAP - parameters: - - name: "id" - in: "query" - description: unique identifier of the ldap connection - required: false - schema: - type: string - summary: Update LDAP connection configuration identified by the given query parameter - requestBody: - description: LDAP connection configuration payload - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - ldap_connection: - $ref: '#/components/examples/ldap_connection' - responses: - '201': - $ref: '#/components/responses/CreatedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - delete: - tags: - - LDAP - summary: Remove LDAP connection configuration - parameters: - - name: "id" - in: "query" - description: unique identifier of the ldap connection - required: false - schema: - type: string - responses: - '204': - description: Configuration is restored to default values - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/configurations/ldap_settings': - get: - tags: - - LDAP - summary: Retrieve LDAP settings configuration - responses: - '200': - $ref: '#/components/responses/ldap_settings' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - put: - tags: - - LDAP - summary: Update LDAP setting configuration - requestBody: - description: LDAP settings configuration payload - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - ldap_settings: - $ref: '#/components/examples/ldap_settings' - responses: - '201': - $ref: '#/components/responses/CreatedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - delete: - tags: - - LDAP - summary: Remove LDAP settings configuration - responses: - '204': - description: Configuration is restored to default values - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/configurations/umc_general': - get: - tags: - - Configuration - summary: Retrieve General configuration - responses: - '200': - $ref: '#/components/responses/general_configuration' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - put: - tags: - - Configuration - summary: Update General configuration - requestBody: - description: General configuration payload - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - general_configuration: - $ref: '#/components/examples/general_configuration' - responses: - '201': - $ref: '#/components/responses/CreatedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - delete: - tags: - - Configuration - summary: Remove General configuration - responses: - '204': - description: Configuration is restored to default values - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - - - /configurations: - post: - tags: - - Configuration - summary: Create configuration - requestBody: - description: Create configuration payload - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - ldap_settings: - $ref: '#/components/examples/ldap_settings' - ldap_connection: - $ref: '#/components/examples/ldap_connection' - oauth_provider: - $ref: '#/components/examples/oauth_provider' - mfa_configuration: - $ref: '#/components/examples/mfa_configuration' - password_policy: - $ref: '#/components/examples/password_policy' - saml_configuration: - $ref: '#/components/examples/saml_configuration' - smtp_configuration: - $ref: '#/components/examples/smtp_configuration' - umc_general: - $ref: '#/components/examples/general_configuration' - - responses: - '201': - $ref: '#/components/responses/CreatedResponse' - - - '/configurations/{category}': - get: - tags: - - Configuration - summary: Get Configuration by category - parameters: - - name: category - in: path - description: Configuration category - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/ConfigurationResponse' - put: - tags: - - Configuration - summary: Update Configuration by category - parameters: - - name: category - in: path - description: Configuration category - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/ConfigurationResponse' - delete: - tags: - - Configuration - summary: Delete Configuration by category - parameters: - - name: category - in: path - description: Configuration category - required: true - schema: - type: string - responses: - '204': - description: Configuration is restored to default values - - '/configurations/email-templates': - get: - tags: - - Email Template - summary: Lists summary of all email templates available in API Portal - responses: - '200': - $ref: '#/components/responses/EmailTemplateSummaryResponse' - - '/configurations/email-templates/{templateId}': - get: - tags: - - Email Template - summary: Retrives the email template with given identifier - parameters: - - name: templateId - in: path - description: Unique identifier of the email template - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/EmailTemplateDetails' - - put: - tags: - - Email Template - summary: Updates the email template of the given identifier - parameters: - - name: templateId - in: path - description: Unique identifier of the email template - required: true - schema: - type: string - requestBody: - description: Email template payload - content: - application/json: - schema: - $ref: '#/components/schemas/EmailTemplateDetail' - examples: - WELCOME_EMAIL: - $ref: '#/components/examples/welcome_email_template' - responses: - '200': - $ref: '#/components/responses/CreatedResponse' - -components: - schemas: - CreatedResponse: - required: - - id - - _self - type: object - properties: - id: - type: string - _self: - type: string - Configuration: - type: object - properties: - category: - type: string - description: category of the configuration object. - properties: - type: array - items: - $ref: '#/components/schemas/ConfigurationEntry' - Error: - required: - - code - - message - type: object - properties: - code: - type: integer - format: int32 - description: Error code - message: - type: string - description: detailed error message if any. - - ConfigurationEntry: - type: object - properties: - value: - type: string - description: actual value - key: - type: string - description: specific key to be updated - - EmailTemplates: - type: array - items: - $ref: '#/components/schemas/EmailTemplateSummary' - - EmailTemplateSummary: - type: object - properties: - id: - type: string - description: unique identifier of the email template - name: - type: string - description: name of the email template - summary: - type: string - description: detailed summary/usage of the email template - - EmailTemplateDetail: - type: object - properties: - enabled: - type: boolean - description: tells wheather the email notification is enabled or not for the event to which this template pertain to. - message: - type: string - description: template of the email body - subject: - type: string - description: subject of the email - type: - type: string - description: content type of the email body. Possible values are 'text' and 'html' - - - responses: - CreatedResponse: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedResponse' - BadRequest: - description: 'The request was unacceptable, due to invalid payload' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - password_policy: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - password_policy: - $ref: '#/components/examples/password_policy' - smtp_configuration: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - smtp_configuration: - $ref: '#/components/examples/smtp_configuration' - saml_configuration: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - saml_configuration: - $ref: '#/components/examples/saml_configuration' - mfa_configuration: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - mfa_configuration: - $ref: '#/components/examples/mfa_configuration' - oauth_provider: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - oauth_provider: - $ref: '#/components/examples/oauth_provider' - oauth_configuration: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - oauth_provider: - $ref: '#/components/examples/oauth_configuration' - ldap_settings: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - ldap_settings: - $ref: '#/components/examples/ldap_settings' - ldap_connection: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - ldap_connection: - $ref: '#/components/examples/ldap_connection' - general_configuration: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - general_configuration: - $ref: '#/components/examples/general_configuration' - - ConfigurationResponse: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/Unauthorized' - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/Forbidden' - NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - - EmailTemplateSummaryResponse: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/EmailTemplates' - - EmailTemplateDetails: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/EmailTemplateDetail' - - - examples: - ldap_connection: - value: - category: LDAP_CONNECTION - properties: - - key: LDAP_ATTRIB_DN - value: dn - - key: LDAP_ATTRIB_ROLENAME - value: cn - - key: LDAP_ATTRIB_GUID - value: objectGUID - - key: LDAP_ATTRIB_HASMEMBER - value: member - - key: LDAP_ATTRIB_MEMBEROF - value: memberOf - - key: LDAP_OBJECTCLASS_ATTRIB - value: objectClass - - key: LDAP_ATTRIB_EMAIL - value: mail - - key: LDAP_ATTRIB_FIRSTNAME - value: cn - - key: LDAP_ATTRIB_LASTNAME - value: sn - - key: LDAP_ATTRIB_USERNAME - value: uid - - key: LDAP_ATTRIB_PHONE - value: '' - - key: LDAP_ATTRIB_PICTURE - value: '' - - key: LDAP_URL2 - value: 'ldap://xyz.eur.ad.sag:1389' - - key: LDAP_CONCURRENT_MAX - value: '0' - - key: LDAP_CONNECTION_ID - value: dap1 - - key: LDAP_CONNECTION_NAME - value: myldap - - key: LDAP_FILTER_ROLE - value: '' - - key: LDAP_FILTER_PERSON - value: '' - - key: LDAP_CUSTOMATTRS_ROLE - value: '' - - key: LDAP_OBJECTCLASS_ROLE - value: groupOfNames - - key: LDAP_SEARCHPATH_ROLE - value: 'DC=example,DC=com' - - key: LDAP_PAGESIZE - value: '9999' - - key: LDAP_READ_TIMEOUT - value: '1800000' - - key: LDAP_RECURSION_DEPTH - value: '0' - - key: LDAP_REFERRAL - value: follow - - key: LDAP_SEARCHPATH - value: 'DC=example,DC=com' - - key: LDAP_PASSWORD - value: secret - - key: LDAP_USERNAME - value: 'uid=admin,ou=system' - - key: LDAP_TLS_CERTIFICATE_VERIFICATION - value: 'true' - - key: LDAP_TLS_HOST_VERIFICATION - value: 'false' - - key: LDAP_TLS_MODE - value: STARTTLS - - key: LDAP_USE_TLS - value: 'false' - - key: LDAP_TIMEOUT - value: '18000' - - key: LDAP_URL - value: 'ldap://xyz.eur.ad.sag:1389' - - key: LDAP_CUSTOMATTRS_PERSON - value: '' - - key: LDAP_OBJECTCLASS_USER - value: inetOrgPerson - - key: LDAP_SEARCHPATH_USER - value: 'DC=example,DC=com' - - oauth_configuration: - value: - - category: OAUTH - properties: - - key: OAUTH_PROVIDERS - value: 'GOOGLE,FACEBOOK,GITHUB,SOFTWAREAG,SAGCLOUD' - - key: OAUTH_ACTIVE - value: 'true' - oauth_provider: - value: - properties: - - key: OAUTH_API_KEYS - value: "***************1213" - - key: OAUTH_API_SECRETS - value: "*************232324" - mfa_configuration: - value: - - category: MFA - properties: - - key: NOTIFICATION_OTPREQUESTED_MESSAGE - value: '' - - key: NOTIFICATION_OTPSECRETCHANGED_ENABLED - value: 'true' - - key: MFA_ACTIVE - value: 'false' - - key: MFA_EXCLUDED_USERS - value: 'superuser,administrator' - - key: NOTIFICATION_OTPSECRETCHANGED_SUBJECT - value: '' - - key: MFA_CLOCK_SKEW - value: '1' - - key: NOTIFICATION_OTPREQUESTED_SUBJECT - value: '' - - key: NOTIFICATION_OTPSECRETCHANGED_MESSAGE - value: '' - - key: NOTIFICATION_OTPREQUESTED_ENABLED - value: 'true' - - smtp_configuration: - value: - - category: SMTP - properties: - - key: NOTIFICATION_HOST - value: '****.amazonaws.com' - - key: NOTIFICATION_USEAUTH - value: 'true' - - key: NOTIFICATION_USETLS - value: 'true' - - key: NOTIFICATION_SENDER - value: api-portal@webmethodscloud.com - - key: NOTIFICATION_TIMEOUT - value: '5000' - - key: NOTIFICATION_TLS_MODE - value: SSL - - key: NOTIFICATION_PORT - value: '465' - - key: NOTIFICATION_PASSWORD - value: '**********' - - key: NOTIFICATION_USERNAME - value: sender - - password_policy: - value: - - category: PASSWORD_POLICY - properties: - - key: PWD_UPPERCASE_ALLOWED - value: 'true' - - key: PWD_RESET_CONFIRMATION_ACTIVE - value: 'true' - - key: PWD_LOWERCASE_MIN - value: '0' - - key: PWD_SPECIAL_SET - value: '*$-+?_&=!%{}/' - - key: PWD_RESET_CONFIRMATION_TTL - value: '30' - - key: PWD_SPECIAL_ALLOWED - value: 'true' - - key: PWD_LENGTH_MIN - value: '4' - - key: PWD_CHANGE_FORCE_DIFFERENCE - value: 'false' - - key: PWD_NUMERIC_MIN - value: '0' - - key: PWD_CHANGE_FORCE_ON_FIRST_LOGIN - value: 'false' - - key: PWD_UPPERCASE_MIN - value: '0' - - key: PWD_NUMERIC_ALLOWED - value: 'true' - - key: PWD_SPECIAL_MIN - value: '0' - - key: PWD_LENGTH_MAX - value: '40' - - key: PWD_EXPIRY_DAYS - value: '1' - - key: PWD_CHANGE_FORCE_AFTER_RESET - value: 'false' - - key: PWD_EXPIRY_ACTIVE - value: 'false' - - ldap_settings: - value: - - category: LDAP_SETTINGS - properties: - - key: LDAP_SYNC_USE_DN_AS_GUID - value: 'false' - - key: LDAP_TRUSTSTORE_TYPE - value: JKS - - key: LDAP_TRUSTSTORE_PASSWORD - value: manage - - key: LDAP_URL - value: '' - - key: LDAP_SYNC_SKIPONFAULT - value: 'false' - - key: LDAP_ACTIVE - value: 'false' - - key: LDAP_USER_IMPORTONLOGIN - value: 'false' - - key: LDAP_AUTHENTICATION_ONLY - value: 'false' - - key: LDAP_SYNC_SEARCH_MEMBERS_BOTTOM_UP - value: 'true' - - key: LDAP_USER_IMPORTGROUPSONSYNC - value: 'false' - - key: LDAP_DEBUG - value: 'false' - - key: LDAP_CONCURRENT_TIMEOUT - value: '5' - - key: LDAP_CONNECTION_NAME - value: '' - - key: LDAP_ATTRIB_PAGING_ENABLED - value: 'true' - - key: LDAP_TRUSTSTORE_LOCATION - value: '' - - key: LDAP_CONNECTION_ID - value: '' - - key: LDAP_POOL_TIMEOUT - value: '180' - - key: LDAP_POOL_SIZE - value: '150' - - key: LDAP_ATTRIB_MEMBEROF_RESOLVEONLOGIN - value: 'false' - - key: LDAP_IMPORT_ENTITY_CACHE_SIZE - value: '35000' - - key: LDAP_GROUP_IMPORT_PARENT - value: 'false' - - key: LDAP_MULTI_ACTIVE - value: 'false' - - key: LDAP_CONNECTION_COUNT - value: '0' - saml_configuration: - value: - - category: SAML - properties: - - key: SAML_KEYSTORE_TYPE - value: JKS - - key: SAML_ASSERTION_AS_QUERYSTRING - value: '' - - key: SAML_ASSERTION_TIMEOFFSET - value: '0' - - key: SAML_SIGN_RESPONSE - value: 'false' - - key: SAML_ATTRIB_EMAIL - value: 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress' - - key: SAML_IDENTITY_PROVIDER_ID - value: 'https://sts.windows.net/***************/' - - key: SAML_ASSERTION_VALIDATION - value: 'false' - - key: SAML_ATTRIB_FNAME - value: 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname' - - key: SAML_KEYSTORE_PASSWORD - value: "******" - - key: SAML_TRUSTSTORE_PASSWORD - value: manage - - key: SAML_ATTRIB_LNAME - value: 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname' - - key: SAML_ASSERTION_SUBDOMAINATTRIBUTE_NAME - value: '' - - key: SAML_ASSERTION_CONSUMER_URL - value: '' - - key: SAML_TENANT - value: default - - key: SAML_EXTENSION_ENABLE - value: 'false' - - key: SAML_ASSERTION_LNAMEATTRIBUTE_NAME - value: '' - - key: SAML_EXTENSION_FOR_ROLES - value: '' - - key: SAML_ASSERTION_LIFETIME - value: '10' - - key: SAML_SIGNATURE_ALGORITHM - value: RSAwithSHA1 - - key: SAML_ATTRIB_PHONE - value: '' - - key: SAML_ASSERTION_FNAMEATTRIBUTE_NAME - value: '' - - key: SAML_SERVICE_PROVIDER_URLS - value: '' - - key: SAML_AUTH_CTX_COMPARISON - value: exact - - key: SAML_AUTH_NAMEID_FORMAT - value: unspecified - - key: SAML_KEYSTORE_ALIAS - value: ssos - - key: SAML_TRUSTSTORE_TYPE - value: JKS - - key: SAML_TRUSTSTORE_LOCATION - value: '' - - key: SAML_AUTH_CTX_CLASS_REFS - value: 'unspecified,PasswordProtectedTransport' - - key: SAML_BINDING - value: POST - - key: SAML_ASSERTION_COOKIE_DOMAIN - value: '' - - key: SAML_LOGIN_KEYWORD_NAME - value: uid - - key: SAML_SERVICE_PROVIDER_ID - value: UMCdaeapiportal06rh - - key: SAML_SIGN_ASSERTION - value: 'false' - - key: SAML_IDENTITY_PROVIDER_LOGOUT_URL - value: 'https://login.microsoftonline.com/*******/saml2' - - key: SAML_LOGIN_MODE_DN - value: 'false' - - key: SAML_KEYSTORE_LOCATION - value: '' - - key: SAML_ACTIVE - value: 'true' - - key: SAML_IDENTITY_PROVIDER_SSO_URL - value: 'https://login.microsoftonline.com/*******/saml2' - - key: SAML_SIGN_METADATA - value: 'false' - - key: SAML_ATTRIB_USERDEFINED - value: '' - - key: SAML_TRUSTSTORE_ALIAS - value: ssos - - key: SAML_CREATE_USER_IF_MISSING - value: 'true' - - key: SAML_SIGN_REQUEST - value: 'false' - - key: SAML_ATTRIB_MEMBEROF - value: '' - - key: SAML_ASSERTION_ROLEATTRIBUTE_NAME - value: '' - - key: SAML_ASSERTION_EMAILATTRIBUTE_NAME - value: '' - - key: SAML_LOGIN_MODE_KEYWORD - value: 'false' - general_configuration: - value: - - category: UMC_GENERAL - properties: - - key: KERBEROS_ALLOW_LOCAL_USERS - value: 'false' - - key: KERBEROS_KEYTAB - value: '' - - key: LOADBALANCER_URL_HTTPS - value: '' - - key: KERBEROS_REALM - value: '' - - key: KERBEROS_KDC - value: '' - - key: LOADBALANCER_URL - value: 'https://devportal.saglive.com' - - key: LOADBALANCER_URL_HTTP - value: '' - - key: KERBEROS_DEBUG - value: 'false' - - key: KERBEROS_CONFIGFILE - value: '' - - key: KERBEROS_TENANT - value: default - - key: KERBEROS_SPN - value: '' - - key: KERBEROS_ACTIVE - value: 'false' - - key: KERBEROS_VALIDATE_USERNAME - value: 'false' - - - welcome_email_template: - value: - enabled: true - message: "\r\n\r\n
\r\nHello,\r\n\r\n

\r\n\r\nYour user account was - activated.\r\n\r\n
\r\nTenant: ${tenant}\r\n
\r\nUser name: ${recipient.name}\r\n\r\n

\r\n\r\nBest - Regards,
\r\nAPI Portal Team\r\n

\r\n\r\n*** This notification was sent - automatically. Do not reply to this email.***\r\n
\r\n\r\n" - subject: Welcome to API Portal - type: html - - CreatedResponse: - value: - id: SMTP - _self: /rest/v1/configurations/SMTP - - UpdatedEmailTemplateResponse: - value: - id: - _self: /portal/rest/v1/configurations/email-templates/ - - BadRequest: - value: - code: 400 - message: The payload given is invalid - Unauthorized: - value: - code: 401 - message: Invalid credentials - Forbidden: - value: - code: 403 - message: Insufficient privileges - NotFound: - value: - code: 404 - message: Unable to find the Configuration diff --git a/apis/10.11/openapis/events.yaml b/apis/10.11/openapis/events.yaml deleted file mode 100644 index f2ccab6..0000000 --- a/apis/10.11/openapis/events.yaml +++ /dev/null @@ -1,534 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Events API - description: |- - ## Overview - The purpose of this API is to view the audit events which will record the lifecycle of an API, Application, Packages, Plans, Community, Provider, Topic, Comment and monitor the subscriptions per package, access token requests per API, API Portal system usage etc. - - A user can use this API, to have a holisitic view of following events that are audited in the system. - - ## Authorization - - Getting all the events can be done only by a user having *API Administrator* privilege - - --- - ## API Level - - API_PUBLISH_EVENT - - When an API is published from provider to API Portal then API_PUBLISH_EVENT will be recorded for an audit purpose. This event will hold the information of an API and the source. - - - API_REPUBLISH_EVENT - - When an API is re-published from provider to API Portal then API_REPUBLISH_EVENT will be recorded for an audit purpose. This event will hold the information of an API and the source. - - - API_UN_PUBLISH_EVENT - - When an API is un-pblished from provider to API Portal then API_UN_PUBLISH_EVENT will be recorded for an audit purpose. This event will hold the information of an API and the source. - - - API_TRY_EVENT - - When an API is tested using the API Portal try functionality then API_TRY_EVENT will be recorded for an audit purpose. This event will hold the request and response headers, body, status, user information, time taken and API information. - --- - ## Application Level - - GATEWAY_APPLICATION_CREATION_REQUEST_EVENT - - When an Application is created in API Portal or requested from provider then GATEWAY_APPLICATION_CREATION_REQUEST_EVENT will be recorded for an audit purpose. This event will hold the application information, user requested, provider information and status of an application. - - - GATEWAY_APPLICATION_SCOPE_INCREASE_REQUEST_EVENT - - When an API is additionaly added to the application scope then GATEWAY_APPLICATION_SCOPE_INCREASE_REQUEST_EVENT will be recorded for an audit purpose. - - - GATEWAY_APPLICATION_SCOPE_DECREASE_REQUEST_EVENT - - When an API is removed from the application scope then GATEWAY_APPLICATION_SCOPE_DECREASE_REQUEST_EVENT will be recorded for an audit purpose. - - - GATEWAY_APPLICATION_UPDATION_REQUEST_EVENT - - When there is an update in application metadata then GATEWAY_APPLICATION_UPDATION_REQUEST_EVENT will be recorded for an audit purpose. - - - APPLICATION_REQUEST_PENDING_EVENT - - When a new application is requested but an approval workflow is in place then APPLICATION_REQUEST_PENDING_EVENT will be recorded for an audit purpose. - - - APPLICATION_REQUEST_APPROVED_EVENT - - When a new application is requested by a user and it is approved as per the approval workflow configuration then APPLICATION_REQUEST_APPROVED_EVENT will be recorded for an audit purpose. - - - APPLICATION_REQUEST_REJECTED_EVENT - - When a new application is requested by a user and it is rejected by a user in approval workflow configuration then APPLICATION_REQUEST_REJECTED_EVENT will be recorded for an audit purpose. - - - APPLICATION_GRANTED_EVENT - - When an owner of an application share this application to another memeber of the team then APPLICATION_GRANTED_EVENT will be recorded for an audit purpose. - - - APPLICATION_REVOKED_EVENT - - When an owner of an application revokes the access of this application from another user in the team then APPLICATION_REVOKED_EVENT will be recorded for an audit purpose. - - - APPLICATION_PUBLISH_EVENT - - When an application is created and moved to live status then APPLICATION_PUBLISH_EVENT will be recorded for an audit purpose. - - - APPLICATION_UNPUBLISH_EVENT - - When an application is deleted then APPLICATION_UNPUBLISH_EVENT will be recorded for an audit purpose. - - - APPLICATION_SCOPE_CHANGE_EVENT - - When any parameter in an application is updated then APPLICATION_SCOPE_CHANGE_EVENT will be recorded for an audit purpose. - --- - ## Community Level - - COMMUNITY_CREATION_EVENT - - When an new community is created then COMMUNITY_CREATION_EVENT will be recorded for an audit purpose. - - - COMMUNITY_DELETION_EVENT - - When an community is deleted then COMMUNITY_DELETION_EVENT will be recorded for an audit purpose. - - - COMMUNITY_MEMBERSHIP_CHANGE_EVENT - - When an community user or group is updated then COMMUNITY_MEMBERSHIP_CHANGE_EVENT will be recorded for an audit purpose. This event will hold the changed made information - - - COMMUNITY_SCOPE_CHANGE_EVENT - - When any parameter in an community is updated then COMMUNITY_SCOPE_CHANGE_EVENT will be recorded for an audit purpose. - --- - ## Provider Level - - PROVIDER_PUBLISH_EVENT - - When an provider is registered to API Portal then PROVIDER_PUBLISH_EVENT will be recorded for an audit purpose. - - - PROVIDER_REPUBLISH_EVENT - - When an provider re-register itself to an API Portal then PROVIDER_REPUBLISH_EVENT will be recorded for an audit purpose. - - - PROVIDER_UNPUBLISH_EVENT - - When an provider is deleted from an API Portal then PROVIDER_UNPUBLISH_EVENT will be recorded for an audit purpose. - --- - ## Package Level - - PACKAGE_PUBLISH_EVENT - - When an package is published from an provider to an API Portal then PACKAGE_PUBLISH_EVENT will be recorded for an audit purpose. - - - PACKAGE_REPUBLISH_EVENT - - When an package is republished from an provider to an API Portal then PACKAGE_REPUBLISH_EVENT will be recorded for an audit purpose. - - - PACKAGE_UNPUBLISH_EVENT - - When an package is unpublished from an provider or deleted from an API Portal then PACKAGE_UNPUBLISH_EVENT will be recorded for an audit purpose. - --- - ## Plan Level - - PLAN_PUBLISH_EVENT - - When an plan is published from an provider to an API Portal then PLAN_PUBLISH_EVENT will be recorded for an audit purpose. - - - PLAN_REPUBLISH_EVENT - - When an plan is re-published from an provider to an API Portal then PLAN_REPUBLISH_EVENT will be recorded for an audit purpose. - --- - ## Topic Level - - TOPIC_CREATION_EVENT - - When an topic is created at any asset level then TOPIC_CREATION_EVENT will be recorded for an audit purpose. This event will hold the asset type information too. - - - TOPIC_UPDATE_EVENT - - When an existing topic is edited at any asset level then TOPIC_UPDATE_EVENT will be recorded for an audit purpose. - - - TOPIC_DELETION_EVENT - - When an existing topic is deleted then TOPIC_DELETION_EVENT will be recorded for an audit purpose. - - - COLLABORATION_FLAG_EVENT - - When an topic is flagged by a user then COLLABORATION_FLAG_EVENT will be recorded for an audit purpose. - --- - ## Comment Level - - COMMENT_CREATION_EVENT - - When an comment is created under an topic then COMMENT_CREATION_EVENT will be recorded for an audit purpose. - - - COMMENT_UPDATE_EVENT - - When an existing comment is updated by user then COMMENT_UPDATE_EVENT will be recorded for an audit purpose. - - - COMMENT_DELETION_EVENT - - When an existing comment is deleted by user then COMMENT_DELETION_EVENT will be recorded for an audit purpose. - --- - ## API Portal System Level - - SIGN_UP_EVENT - - When a user is signed-up to use the API Portal then SIGN_UP_EVENT will be recorded for an audit purpose. - - - CRON_EXECUTION_EVENT - - When an internal regular interval system jobs are executed then CRON_EXECUTION_EVENT will be recorded for an audit purpose. - - --- - ## UMC Events - - LOGIN_SUCCESSFUL - - On sucessful login into the system LOGIN_SUCCESSFUL event will be recorded for audit purpose. - - LOGIN_FAILED - - On failed login into the system LOGIN_FAILED event will be recorded for audit purpose. - - LOGOUT - - On sucessful logout into the system LOGOUT event will be recorded for audit purpose. - - LOGOUT_FORCED - - When forced logout is executed LOGOUT_FORCED event will be recorded for audit purpose. - - USER_CREATION - - When a new user is created in the system USER_CREATION event will be recorded for audit purpose. - - USER_UPDATE - - When an existing user details is updated in the system USER_UPDATE event will be recorded for audit purpose. - - USER_DELETION - - When an user is deleted in the system USER_DELETION event will be recorded for audit purpose. - - GROUP_CREATION - - When a new group is created in the system GROUP_CREATION event will be recorded for audit purpose. - - GROUP_UPDATE - - When an existing group details is updated in the system GROUP_UPDATE event will be recorded for audit purpose. - - GROUP_DELETION - - When a group is deleted in the system GROUP_DELETION event will be recorded for audit purpose. - - PASSWORD_CHANGE - - When an user's password is changed PASSWORD_CHANGE event will be recorded for audit purpose. - - PASSWORD_RESET - - When an user's password is resetted by Administrator PASSWORD_RESET event will be recorded for audit purpose. - - PRIVILEGE_ASSIGNMENT - - When a privilege is assgined to an user PRIVILEGE_ASSIGNMENT event will be recorded for audit purpose. - - PRIVILEGE_UNASSIGNMENT - - When a privilege is unassgined from an user PRIVILEGE_UNASSIGNMENT event will be recorded for audit purpose. - - USER_SETTING_ADDED - - When new setting is added by an user USER_SETTING_ADDED event will be recorded for audit purpose. - - USER_SETTING_REMOVED - - When an existing setting is removed by an user USER_SETTING_REMOVED event will be recorded for audit purpose. - - version: '10.11' - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - /events: - get: - security: - - basicAuth: [ ] - operationId: getEvents - summary: Retrieve the list of audit events - description: Endpoint to retrieve the list of audit events. By default, this endpoint will return the Portal audit events that are created on the day of search. Search of events can be narrowed down based on the parameters - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - default: 12 - - name: from - in: query - schema: - type: string - format: date - example: '2020-03-21' - description: Start date to filter the events. Events that are created on or after the mentioned date will be listed. If no date is mentioned start of today is assumed. The start date parameter supports only following format **'yyyy-mm-dd'** example **'2020-03-21'**. - - name: to - in: query - schema: - type: string - format: date - example: '2020-04-01' - description: End date to filter the events. Events that are created before the end date (current time) will be listed. If no date is mentioned current date with time till 23:59 is considered. End date should be after Start date. The end date parameter supports only following format **'yyyy-mm-dd'** example **'2020-04-01'**. - - name: type - in: query - schema: - type: string - description: Comma separated Audit event names. Varies depending on the selected system parameter. - enum: - - $ref: '#/components/schemas/EventType' - - $ref: '#/components/schemas/UmcEventType' - - name: system - in: query - schema: - type: string - description: Type of Audit events to fetch (Portal or UMC events) - default: CORE - enum: - - CORE - - UMC - description: |- - Event type to filter the events. Events of the requested type will be listed. - #### Sample Portal event types - - API_PUBLISH_EVENT - - GATEWAY_APPLICATION_CREATION_REQUEST_EVENT - - COMMUNITY_DELETION_EVENT - - PLAN_PUBLISH_EVENT - - TOPIC_UPDATE_EVENT - - SIGN_UP_EVENT - - etc.... - #### Sample UMC event types - - LOGIN_SUCCESSFUL - - USER_CREATION - - GROUP_UPDATE - - etc.... - responses: - '200': - $ref: '#/components/responses/SearchResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '400': - $ref: '#/components/responses/EventsErrorResponse' - tags: - - Events - delete: - security: - - basicAuth: [ ] - operationId: purgeEvents - summary: Purge the audit events - description: Endpoint to purge the audit events within the given time range - parameters: - - name: from - in: query - schema: - type: string - format: date - example: '2020-03-21' - description: Start date to purge the events. Events that are created on or after the mentioned date will be purged. If no date is mentioned start of today is assumed. The start date parameter supports only following format **'yyyy-mm-dd'** example **'2020-03-21'**. - - name: to - in: query - schema: - type: string - format: date - example: '2020-04-01' - description: End date to purge the events. Events that are created before the end date (current time) will be purged. If no date is mentioned current date with time till 23:59 is considered. End date should be after Start date. The end date parameter supports only following format **'yyyy-mm-dd'** example **'2020-04-01'**. - - name: system - in: query - schema: - type: string - description: Type of Audit events to purge (Portal or UMC events) - default: CORE - enum: - - CORE - - UMC - responses: - '204': - description: Purging of audit events was successful - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - tags: - - Events - -components: - schemas: - EventType: - title: Type of the event - description: Different kind of events are recorded by the API Portal. User could use any one this to query that particular type of event - type: string - example: API_PUBLISH_EVENT - enum: - - API_PUBLISH_EVENT - - API_REPUBLISH_EVENT - - API_UN_PUBLISH_EVENT - - API_TRY_EVENT - - GATEWAY_APPLICATION_CREATION_REQUEST_EVENT - - GATEWAY_APPLICATION_SCOPE_INCREASE_REQUEST_EVENT - - GATEWAY_APPLICATION_SCOPE_DECREASE_REQUEST_EVENT - - GATEWAY_APPLICATION_UPDATION_REQUEST_EVENT - - APPLICATION_REQUEST_PENDING_EVENT - - APPLICATION_REQUEST_APPROVED_EVENT - - APPLICATION_REQUEST_REJECTED_EVENT - - APPLICATION_GRANTED_EVENT - - APPLICATION_REVOKED_EVENT - - APPLICATION_PUBLISH_EVENT - - APPLICATION_SCOPE_CHANGE_EVENT - - APPLICATION_UNPUBLISH_EVENT - - COMMUNITY_CREATION_EVENT - - COMMUNITY_DELETION_EVENT - - COMMUNITY_MEMBERSHIP_CHANGE_EVENT - - COMMUNITY_SCOPE_CHANGE_EVENT - - PROVIDER_PUBLISH_EVENT - - PROVIDER_REPUBLISH_EVENT - - PROVIDER_UNPUBLISH_EVENT - - PACKAGE_PUBLISH_EVENT - - PACKAGE_REPUBLISH_EVENT - - PACKAGE_UNPUBLISH_EVENT - - PLAN_PUBLISH_EVENT - - PLAN_REPUBLISH_EVENT - - TOPIC_CREATION_EVENT - - TOPIC_UPDATE_EVENT - - TOPIC_DELETION_EVENT - - COLLABORATION_FLAG_EVENT - - COMMENT_CREATION_EVENT - - COMMENT_UPDATE_EVENT - - COMMENT_DELETION_EVENT - - SIGN_UP_EVENT - - CRON_EXECUTION_EVENT - UmcEventType: - type: string - enum: - - LOGIN_SUCCESSFUL - - LOGIN_FAILED - - LOGOUT - - LOGOUT_FORCED - - USER_CREATION - - USER_UPDATE - - USER_DELETION - - GROUP_CREATION - - GROUP_UPDATE - - GROUP_DELETION - - PASSWORD_CHANGE - - PASSWORD_RESET - - PRIVILEGE_ASSIGNMENT - - PRIVILEGE_UNASSIGNMENT - - USER_SETTING_ADDED - - USER_SETTING_REMOVED - APIPortalErrorResponse: - type: object - properties: - code: - description: API Portal error code - type: integer - message: - description: API Portal error response message - type: string - EventsErrorResponse: - type: object - properties: - code: - description: API Portal error code - type: integer - message: - description: API Portal error response message - type: string - errors: - description: Specific error message - type: string - SearchResponse: - type: object - properties: - result: - description: List of audit event records - type: array - items: - $ref: '#/components/schemas/AuditEventRepositoryObject' - count: - description: Number of audit events matches for request query - type: integer - _links: - description: List of available pagination links - type: object - additionalProperties: - type: string - - AuditEventRepositoryObject: - allOf: - - $ref: '#/components/schemas/RepositoryObject' - type: object - properties: - parameters: - description: Event meta data - type: object - additionalProperties: - type: object - example: - api_name: AccuWeather - type: - description: Type of the event - type: object - enum: - - $ref: '#/components/schemas/EventType' - RepositoryObject: - type: object - properties: - id: - type: string - format: uuid - name: - type: string - summary: - type: string - description: - type: string - owner: - type: string - modified: - type: string - format: 'yyyy-MM-dd HH:mm' - created: - type: string - format: 'yyyy-MM-dd HH:mm' - - securitySchemes: - basicAuth: - type: http - scheme: basic - - responses: - EventsErrorResponse: - description: Error occurred while retrieving the audit event - content: - application/json: - schema: - $ref: '#/components/schemas/EventsErrorResponse' - examples: - 400: - $ref: '#/components/examples/EventsErrorResponse' - Forbidden: - description: User does not have sufficient privilages to perform this operation - content: - application/json: - schema: - $ref: '#/components/schemas/APIPortalErrorResponse' - examples: - 403: - $ref: '#/components/examples/APIPortalErrorResponseForbidden' - Unauthorized: - description: There is no such user - content: - application/json: - schema: - $ref: '#/components/schemas/APIPortalErrorResponse' - examples: - 401: - $ref: '#/components/examples/APIPortalErrorResponseUnauthorized' - SearchResponse: - description: Successfully retrieved the events in API Portal - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponse' - examples: - PortalAuditSearchResponse: - $ref: '#/components/examples/PortalAuditSearchResponse' - UmcAuditSearchResponse: - $ref: '#/components/examples/UmcAuditSearchResponse' - - examples: - EventsErrorResponse: - value: - code: 400 - message: "User provided data is not correct" - errors: [ - "Future date is not allowed in the 'to' parameter" - ] - APIPortalErrorResponseUnauthorized: - value: - code: 401 - message: Invalid credentials - APIPortalErrorResponseForbidden: - value: - code: 403 - message: Insufficient privileges - PortalAuditSearchResponse: - value: - result: - - id: bfe798fc-71e0-4300-8b74-d86524565a64 - parameters: - provider_id: 677e11aa-3ce0-45e4-9590-731c61fcd402 - source: ProviderManager - provider_name: Provider1 - created_by: 54b53072-540e-3eb8-b8e9-343e71f28176 - type: PROVIDER_PUBLISH_EVENT - count: 1 - _links: - _self: /portal/rest/v1/events?from=2021-09-16&to=2021-09-20&page=0 - UmcAuditSearchResponse: - value: - result: - - type: USER_UPDATE - created: 2021-09-20T06:46+0000 - modified: 2021-09-20T06:46+0000 - parameters: - field: - - LAST_NAME - executor: administrator - clientIp: null - sessionType: - - UMC - sessionId: - - 8c2eb45cc11857206b52b470b5e5e023 - userName: - - testuser - userId: - - f7478165-755c-362c-b8ac-92119fabf588 - value: - - lastnamemodified - nodeId: null - count: 1 - _links: - _self: /portal/rest/v1/events?from=2021-09-16&to=2021-09-20&system=UMC&page=0 - diff --git a/apis/10.11/openapis/health.yaml b/apis/10.11/openapis/health.yaml deleted file mode 100644 index 161acb1..0000000 --- a/apis/10.11/openapis/health.yaml +++ /dev/null @@ -1,368 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Health API - description: | - ## Overview - Portal Health API can be used to get health, build details and other application related metrics - - ## Functionalities supported - - Get the build information of the application. - - Get the metrics related to the application. - - Get environment properties of the application. - - Get health of application and its dependant components. - - K8s readiness and liveness probe support - - ## Authorization - - Users with role `Administrator` can view the metrics and environment properties of the application. - - Any user can view the health and build information of the application. - - K8s probe can be accessesed without authentication - - version: '10.11' -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - '/info': - get: - tags: - - info - summary: Get the build information - description: Get the build information of the application - responses: - '200': - $ref: '#/components/responses/Info' - '401': - $ref: '#/components/responses/Unauthorized' - - '/metrics': - get: - tags: - - metrics - summary: Get the application metrics - description: Get details of various application related metrics - responses: - '200': - $ref: '#/components/responses/Metrics' - '401': - $ref: '#/components/responses/Unauthorized' - - '/health': - get: - tags: - - health - summary: Get the application health details - description: Get information about application and the dependant components health - responses: - '200': - $ref: '#/components/responses/Health' - '401': - $ref: '#/components/responses/Unauthorized' - - '/health/liveness': - get: - tags: - - health - summary: Get the application liveness status - description: K8s deplyment can use this probe to check the application liveness. - responses: - '200': - $ref: '#/components/responses/HealthLivenessReadiness' - - '/health/readiness': - get: - tags: - - health - summary: Get the application readiness status - description: K8s deplyment can use this probe to check the application readiness. - responses: - '200': - $ref: '#/components/responses/HealthLivenessReadiness' - - '/env': - get: - tags: - - environment - summary: Get the environment details - description: Get information about application environment details - responses: - '200': - $ref: '#/components/responses/Environment' - '401': - $ref: '#/components/responses/Unauthorized' - - - -components: - - schemas: - Info: - type: object - properties: - build: - $ref: '#/components/schemas/BuildInfo' - BuildInfo: - type: object - properties: - Implementation-Vendor: - type: string - Implementation-Title: - type: string - Implementation-Version: - type: string - Build-Version-Major: - type: string - Build-Version-Minor: - type: string - Build-Version-Micro: - type: string - Build-Number: - type: string - Build-Revision: - type: string - Built-On: - type: string - Metrics: - type: array - items: - type: string - HealthLivenessReadiness: - type: object - properties: - status: - type: string - Health: - type: object - properties: - status: - type: string - checks: - $ref: '#/components/schemas/HealthCheckList' - HealthCheckList: - type: object - properties: - DiskSpace: - $ref: '#/components/schemas/HealthCheckDetails' - ElasticSearch: - $ref: '#/components/schemas/HealthCheckDetails' - License: - $ref: '#/components/schemas/HealthCheckDetails' - Provider: - $ref: '#/components/schemas/HealthCheckDetails' - SMTP: - $ref: '#/components/schemas/HealthCheckDetails' - HealthCheckDetails: - type: object - properties: - status: - type: string - enum: - - green - - yellow - - red - details: - type: object - additionalProperties: true - Environment: - type: object - properties: - activeProfiles: - type: array - items: - type: string - propertySources: - type: array - items: - type: object - properties: - name: - type: string - properties: - type: object - additionalProperties: true - Error: - type: object - properties: - code: - type: integer - description: Error code - message: - type: string - description: Error message - errors: - type: array - description: Error detail list - items: - type: string - - examples: - Info: - value: - build: - Implementation-Vendor: Software AG - Implementation-Title: webMethods API Portal - Implementation-Version: 10.11.0.0000-0001 - Build-Version-Major: '10' - Build-Version-Minor: '11' - Build-Version-Micro: '0' - Build-Number: '0' - Build-Revision: '1410856' - Built-On: 2021-04-12 14:30 - Metrics: - value: - names: - - http.server.requests - - jvm.buffer.count - - jvm.buffer.memory.used - - jvm.buffer.total.capacity - - jvm.classes.loaded - - jvm.classes.unloaded - - jvm.gc.live.data.size - - jvm.gc.max.data.size - - jvm.gc.memory.allocated - - jvm.gc.memory.promoted - - jvm.gc.pause - - jvm.memory.committed - - jvm.memory.max - - jvm.memory.used - - jvm.threads.daemon - - jvm.threads.live - - jvm.threads.peak - - jvm.threads.states - - log4j2.events - - process.cpu.usage - - process.start.time - - process.uptime - - spring.integration.channels - - spring.integration.handlers - - spring.integration.sources - - system.cpu.count - - system.cpu.usage - - tomcat.cache.access - - tomcat.cache.hit - - tomcat.global.error - - tomcat.global.received - - tomcat.global.request - - tomcat.global.request.max - - tomcat.global.sent - - tomcat.servlet.error - - tomcat.servlet.request - - tomcat.servlet.request.max - - tomcat.threads.busy - - tomcat.threads.config.max - - tomcat.threads.current - HealthLivenessReadiness: - value: - status: green - Health: - value: - status: yellow - checks: - DiskSpace: - status: green - details: - total: 1013310287872 - free: 904146731008 - threshold: 10485760 - exists: true - ElasticSearch: - status: green - details: - cluster_name: elasticsearch - status: yellow - timed_out: false - number_of_nodes: 1 - number_of_data_nodes: 1 - active_primary_shards: 43 - active_shards: 43 - relocating_shards: 0 - initializing_shards: 0 - unassigned_shards: 43 - delayed_unassigned_shards: 0 - number_of_pending_tasks: 0 - number_of_in_flight_fetch: 0 - task_max_waiting_in_queue_millis: 0 - active_shards_percent_as_number: 50 - License: - status: red - details: - License: - licenses: [ ] - Provider: - status: green - details: - API Portal: green - Lean Portal Dev: green - SMTP: - status: red - details: - 'Error: ': Host and port configuration is missing - Environment: - value: - activeProfiles: - - dev - propertySources: - - name: servletContextInitParams - properties: - contextConfigLocation: - value: "" - 401: - value: - code: 401 - message: "Invalid credentials" - - responses: - Info: - description: Application build information response - content: - application/json: - schema: - $ref: '#/components/schemas/Info' - examples: - Info: - $ref: '#/components/examples/Info' - Metrics: - description: Application metrics response - content: - application/json: - schema: - $ref: '#/components/schemas/Metrics' - examples: - Metrics: - $ref: '#/components/examples/Metrics' - HealthLivenessReadiness: - description: Application health liveness and readiness response - content: - application/json: - schema: - $ref: '#/components/schemas/HealthLivenessReadiness' - examples: - Health: - $ref: '#/components/examples/HealthLivenessReadiness' - Health: - description: Application health response - content: - application/json: - schema: - $ref: '#/components/schemas/Health' - examples: - Health: - $ref: '#/components/examples/Health' - Environment: - description: Application environment properties response - content: - application/json: - schema: - $ref: '#/components/schemas/Environment' - examples: - Environment: - $ref: '#/components/examples/Environment' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' \ No newline at end of file diff --git a/apis/10.11/openapis/packages.yaml b/apis/10.11/openapis/packages.yaml deleted file mode 100644 index c64fd45..0000000 --- a/apis/10.11/openapis/packages.yaml +++ /dev/null @@ -1,1373 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Packages API - description: |- - ## Overview - API Package refers to a logical grouping of multiple APIs from a single API provider.A package can contain one or more APIs and an API can belong to more than one package. An API Package can be associated with multiple plans at a time. - - This helps the API Providers in providing tiered access to their APIs to allow for different service levels and pricing plans. - - ## Package Management API - Package Management API helps to manage packages in API Portal - - ## Functionalities supported - - Get details of the packages and its APIs,Plans,followers, topics/comments, rating and communities - - Add/Remove APIs linked with the package - - Add/Remove Plans linked with the package - - Apply rating to a package - - Follow/Un-Follow a package - - ## Authorization - - Users with privileges *API Administrator* and/or *API Provider* can view,create,update and delete package details. - - Users with privilege *API Consumer* can only view the package details except the 'deprecated' packages. - - version: "10.11" -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - /packages: - get: - tags: - - Package - summary: Get all packages - description: Get all the packages available in the system - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - responses: - "200": - $ref: '#/components/responses/PackageListResponse' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - post: - tags: - - Package - summary: Create a package - description: Create a new package - requestBody: - description: Package payload - content: - application/json: - schema: - $ref: '#/components/schemas/Package' - examples: - package: - $ref: '#/components/examples/NewPackage' - responses: - "201": - $ref: '#/components/responses/PackageCreatedResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - /packages/{id}: - get: - tags: - - Package - summary: Retrieve package details - description: Retrieve the details of a package identified by its id - responses: - "200": - $ref: '#/components/responses/PackageByIdResponse' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - put: - tags: - - Package - summary: Update a package - description: Update a package identified by its id with the input data - requestBody: - description: Create package payload - content: - application/json: - schema: - $ref: '#/components/schemas/Package' - examples: - package: - $ref: '#/components/examples/Package' - responses: - "200": - $ref: '#/components/responses/PackageByIdResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - delete: - tags: - - Package - summary: Delete package - description: Delete a package identified by its id - responses: - "204": - description: Package is deleted successfully - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for package. Refers to the GUID for the package. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - schema: - type: string - /packages/{id}/plans: - get: - tags: - - Package - summary: Get all the plans of the given package - responses: - "200": - $ref: '#/components/responses/GetLinkedPlansResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - put: - tags: - - Package - summary: Add Plans to a package - description: Add Plans to the given package - requestBody: - description: Update Plans payload - content: - application/json: - schema: - type: array - items: - type: string - examples: - plans: - $ref: '#/components/examples/PlanIdsExample' - responses: - "200": - $ref: '#/components/responses/PlansLinkedResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - delete: - tags: - - Package - summary: Removes specified plan(s) - description: Removes specified plan(s) from the package - requestBody: - description: Array of plan ids - content: - application/json: - schema: - type: array - items: - type: string - examples: - plans: - $ref: '#/components/examples/PlanIdsExample' - responses: - "200": - $ref: '#/components/responses/PlansUnlinkedResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for package. Refers to the GUID for the package. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - schema: - type: string - /packages/{id}/apis: - get: - tags: - - Package - summary: Get all APIs - description: Get all the APIs of the package identified by its id - responses: - "200": - $ref: '#/components/responses/GetLinkedAPIsResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - put: - tags: - - Package - summary: Add API(s) - description: Add API(s) to a package by passing their ids. - requestBody: - description: Update APIs payload - content: - application/json: - schema: - type: array - items: - type: string - examples: - APIs: - $ref: '#/components/examples/PlanIdsExample' - responses: - "200": - $ref: '#/components/responses/APIsLinkedResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - delete: - tags: - - Package - summary: Remove API(s) - description: Remove the API(s) from the package - requestBody: - description: identifiers (id) of the APIs - content: - application/json: - schema: - type: array - items: - type: string - examples: - APIs: - $ref: '#/components/examples/PlanIdsExample' - responses: - "200": - $ref: '#/components/responses/APIsUnlinkedResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for package. Refers to the GUID for the package. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - schema: - type: string - /packages/{id}/communities: - get: - tags: - - Package - summary: Get the Communities of a package - description: Get the Communities associated to a package - responses: - "200": - $ref: '#/components/responses/LinkedCommunityListResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for package. Refers to the GUID for the package. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - schema: - type: string - /packages/{id}/topics: - get: - tags: - - Package - summary: Get the topics - description: Get the topics associated with the package - responses: - "200": - $ref: '#/components/responses/TopicListResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for package. Refers to the GUID for the package. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - schema: - type: string - /packages/{id}/rate: - get: - tags: - - Package - summary: Retrieve the rating details - description: Retrieve the rating details of the package - responses: - "200": - $ref: '#/components/responses/RatingResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - put: - tags: - - Package - summary: Give rating to a package - description: Give rating to a package identified by its id - requestBody: - description: Apply rating payload - content: - application/json: - schema: - $ref: '#/components/schemas/RatingRequest' - examples: - rating: - $ref: '#/components/examples/RatingExample' - responses: - "200": - $ref: '#/components/responses/RatingResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for package. Refers to the GUID for the package. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - schema: - type: string - /packages/{id}/followers: - get: - tags: - - Package - summary: Get the followers - description: Get the details of followers of the given package - responses: - "200": - $ref: '#/components/responses/FollowersListResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - put: - tags: - - Package - summary: Follow or Un-Follow the package - description: Follow or Un-Follow the package to get/stop the notifications - responses: - "200": - $ref: '#/components/responses/PackageFollowResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for package. Refers to the GUID for the package. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - schema: - type: string - /packages/{id}/followers/_count: - get: - tags: - - Package - summary: Get the count of followers following the given package - responses: - "200": - $ref: '#/components/responses/FollowersCountResponse' - "400": - $ref: '#/components/responses/BadRequest' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for package. Refers to the GUID for the package. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - schema: - type: string -components: - securitySchemes: - accesstoken: - type: apiKey - in: cookie - name: accesstoken - bearerAuth: - type: http - scheme: bearer - bearerFormat: JWT - schemas: - ObjectLinked: - required: - - code - - message - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - description: detailed message - RatingRequest: - type: object - properties: - rating: - type: integer - format: int32 - description: rate the package with the number ranging from 1 to 5 - StringList: - type: object - Error: - required: - - code - - message - type: object - properties: - code: - type: integer - description: error code - format: int32 - message: - description: detailed error message - type: string - Property: - type: object - properties: - value: - type: string - key: - type: string - PlanEnforcements: - type: object - properties: - name: - type: string - properties: - type: array - items: - $ref: '#/components/schemas/Property' - PlanCost: - description: cost structure of the plan - type: object - properties: - duration: - description: incurs cost at this duration interval. e.g 1 hour - type: string - currency: - description: name of the currency. e.g US$ or INR - type: string - value: - description: price value. e.g 1500 - type: string - API: - type: object - properties: - id: - type: string - description: Unique identification for API. Refers to the GUID fo the API. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - name: - type: string - description: name of the API - summary: - type: string - description: details of the API - version: - type: string - description: Version information of the API - type: - type: string - description: Type of the API. Supported Values 'REST','SOAP','ODATA' - enum: - - REST - - SOAP - - ODATA - externalRefKey: - type: string - Plan: - type: object - properties: - license: - type: string - description: holds the license details for using the plan - enforcements: - description: contains the quota limits and alert message definition - type: array - items: - $ref: '#/components/schemas/PlanEnforcements' - cost: - $ref: '#/components/schemas/PlanCost' - terms: - type: string - description: terms and contions of the plan - deprecated: - type: boolean - description: indicates if the plan is depricated or active - name: - type: string - description: Name of the plan - id: - type: string - description: Unique identification for plan. Refers to the GUID fo the plan. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - icon: - $ref: '#/components/schemas/Icon' - description: - description: detailed description and usage of the plan - type: string - - Community: - type: object - properties: - id: - type: string - description: Unique identification for community. Refers to the GUID fo the community. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - name: - type: string - description: Name of the Community - owner: - type: string - description: GUID of the user who owns of the Community - description: - type: string - description: Description of the Community - - Followers: - type: object - properties: - firstname: - type: string - description: firstname of the follower user - id: - type: string - description: Unique identification for follower user. Refers to the GUID fo the user. For example `ebfc815e-e2cc-3a16-a251-05bb7b3e1e53` - lastname: - type: string - description: lastname of the follower user - - LinkedAPIList: - type: object - properties: - result: - required: true - type: array - description: Array of objects matching given criteria - items: - $ref: '#/components/schemas/API' - _links: - $ref: '#/components/schemas/Pagination' - count: - required: true - type: integer - description: total number of results found - format: int32 - LinkedPlanList: - required: - - result - - count - type: object - properties: - result: - type: array - description: Array of objects matching given criteria - items: - $ref: '#/components/schemas/Plan' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - description: total number of results found - format: int32 - - LinkedCommunityList: - required: - - result - - count - type: object - properties: - result: - type: array - description: Array of objects matching given criteria - items: - $ref: '#/components/schemas/Community' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - description: total number of results found - format: int32 - - LinkedTopicList: - required: - - result - - count - type: object - properties: - result: - type: array - description: Array of objects matching given criteria - items: - $ref: '#/components/schemas/Topic' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - description: total number of results found - format: int32 - - Pagination: - required: - - _self - type: object - properties: - _self: - type: string - _next: - type: string - FollowersList: - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/Followers' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - format: int32 - PackageList: - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/Package' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - format: int32 - - Summary: - type: object - properties: - summary: - type: string - name: - type: string - id: - type: string - TopicList: - required: - - result - - count - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/Topic' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - format: int32 - PackageCreated: - required: - - id - - _self - type: object - properties: - id: - type: string - description: Unique identification for package. Refers to the GUID fo the package.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - _self: - type: string - description: link to the current package - Stream: - type: object - properties: - id: - type: string - type: - type: string - Package: - type: object - properties: - plans: - description: plans included in the package - type: array - items: - type: string - description: id of the plan - name: - type: string - description: name of the package - description: - type: string - description: detailed description and usage of the package - summary: - type: string - description: short summary of the package - icon: - $ref: '#/components/schemas/Icon' - id: - type: string - description: Unique identification for package. Refers to the GUID fo the package. For example `532e53ef-3b2a-45af-b859-2456dca1bb1f` - rating: - type: number - description: review rating of the package for out of 5. Default value is '0' - communities: - description: the package shared to the communities - type: array - items: - type: string - description: id of the coomunity - apis: - description: APIs included in the package - type: array - items: - type: string - description: id of the API - follower: - type: boolean - description: indicates if any follower(s) following the package - Icon: - description: logo/icon for the package - type: object - properties: - url: - type: string - description: location of the icon file - type: - type: string - description: denotes if internal file system icon of externally located. Supported values 'INTERNAL', 'EXTERNAL' - enum: - - INTERNAL - - EXTERNAL - RatingResponse: - type: object - properties: - average: - type: number - format: double - description: average of all total ratings - total: - type: integer - format: int32 - description: total number of users rated the package - rating: - type: number - format: double - description: rating of the particular user who views the package currently. - Topic: - allOf: - - $ref: '#/components/schemas/CollabObject' - - type: object - properties: - pinned: - description: Indicates whether the given topic is pinned - type: boolean - stream: - type: object - description: Indicates the Stream details(API/Package) for which the topic is created - properties: - type: - description: Indicates the stream type(API/Package) - type: string - id: - description: Unique identification for Stream(API/Package). Refers to the GUID of the Stream(API/Package).For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - type: string - tags: - type: array - description: Tags for the given topic - items: - type: string - - CollabObject: - type: object - properties: - id: - type: string - description: Unique identification for collaboration object. Refers to the GUID of the collaboration object.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - content: - description: Content of the topic - type: object - properties: - type: - description: Type of content - type: string - enum: - - link - - simple - - rich - value: - description: Content text - type: string - upvotes: - description: List of users upvoted the entity - type: array - items: - type: string - downvotes: - description: List of users downvoted the entity - type: array - items: - type: string - flags: - description: List of users who flagged the entity - type: array - items: - type: string - flagged: - description: Indicates whether given entity is flagged - type: boolean - owner: - description: Owner id of the entity - type: string - created: - type: string - description: Entity creation time - modified: - type: string - description: Entity modified time - responses: - RatingRequest: - description: Package rated successfully - content: - application/json: - schema: - $ref: '#/components/schemas/RatingRequest' - FollowersCountResponse: - description: Followers count of package is retrieved successfully - content: - application/json: - schema: - type: integer - format: int64 - description: denotes the number of followers of this package - examples: - 200: - value: 4 - - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/Forbidden' - - GetLinkedAPIsResponse: - description: Retrived all APIs associated with the package successfully - content: - application/json: - schema: - $ref: '#/components/schemas/LinkedAPIList' - examples: - 200: - $ref: '#/components/examples/LinkedAPIListExample' - - APIsLinkedResponse: - description: Given APIs are added to the package successfully - content: - application/json: - schema: - $ref: '#/components/schemas/ObjectLinked' - examples: - 200: - $ref: '#/components/examples/APIsLinked' - - APIsUnlinkedResponse: - description: APIs are removed from the package successfully - content: - application/json: - schema: - $ref: '#/components/schemas/ObjectLinked' - examples: - 200: - $ref: '#/components/examples/APIsUnlikned' - - GetLinkedPlansResponse: - description: Retrived all plans associated with the package successfully - content: - application/json: - schema: - $ref: '#/components/schemas/LinkedPlanList' - examples: - 200: - $ref: '#/components/examples/LinkedPlanListExample' - PlansLinkedResponse: - description: Given plans associated to the package successfully - content: - application/json: - schema: - $ref: '#/components/schemas/ObjectLinked' - examples: - 200: - $ref: '#/components/examples/PlansLinked' - PlansUnlinkedResponse: - description: Plans are removed from the package successfully - content: - application/json: - schema: - $ref: '#/components/schemas/ObjectLinked' - examples: - 200: - $ref: '#/components/examples/PlansUnlikned' - BadRequest: - description: User provided data is not correct - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/BadRequest' - PackageCreatedResponse: - description: Created successfully - content: - application/json: - schema: - $ref: '#/components/schemas/PackageCreated' - examples: - 201: - $ref: '#/components/examples/CreatedResponse' - - LinkedCommunityListResponse: - description: Communities associated with the package is retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/LinkedCommunityList' - examples: - 200: - $ref: '#/components/examples/LinkedCommunitiesExample' - - TopicListResponse: - description: Topics of the package is retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/LinkedTopicList' - examples: - 200: - $ref: '#/components/examples/LinkedTopicsExample' - - PackageByIdResponse: - description: Package is retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/Package' - examples: - package: - $ref: '#/components/examples/Package' - FollowersListResponse: - description: Followers details of package is retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/FollowersList' - examples: - 200: - $ref: '#/components/examples/FollowersListExample' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/Unauthorized' - RatingResponse: - description: Rating details of package is retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/RatingResponse' - examples: - 200: - $ref: '#/components/examples/RatingResponse' - PackageListResponse: - description: List of packages retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/PackageList' - examples: - packages: - $ref: '#/components/examples/PackageListExample' - - PackageFollowResponse: - description: Successfully Followed/Un-Followed the package - content: - application/json: - schema: - $ref: '#/components/schemas/ObjectLinked' - examples: - 200-Follow: - $ref: '#/components/examples/PackageFollowed' - 200-UnFollow: - $ref: '#/components/examples/PackageUnFollowed' - NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404: - $ref: '#/components/examples/NotFound' - examples: - CreatedResponse: - value: - id: 532e53ef-3b2a-45af-b859-2456dca1bb1f - _self: /rest/v1/packages/532e53ef-3b2a-45af-b859-2456dca1bb1f - RatingRequest: - value: - rating: 3 - ObjectLinkedExample: - value: - code: 200 - message: Objects linked / unlinked successfully with the package - FollowersCountExample: - value: 1 - "400": - value: - code: 400 - message: User provided data is not correct - FollowersListExample: - value: - result: - - id: ebfc815e-e2cc-3a16-a251-05bb7b3e1e53 - firstName: Paul - lastname: Alex - - id: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - firstName: Sam - lastName: Alex - count: 2 - _links: - _self: "/rest/v1/packages/532e53ef-3b2a-45af-b859-2456dca1bb1f/followers?page=0" - "401": - value: - code: 401 - message: Invalid credentials - PackageListExample: - value: - result: - - name: Gold package - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 532e53ef-3b2a-45af-b859-2456dca1bb1f - providerRef: 63360be0-db5c-4266-9096-011e2f1f0634 - deprecated: false - icon: - url: "/rest/v1/files/9ab59a45-05bb-4781-ace1-bb41675ba867" - type: INTERNAL - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apis: - - 8294372b-5037-4501-b5da-95dad13fcf96 - - f8530d9e-89bb-470e-973f-12ea3077e37f - plans: - - 16760aab-0d4b-4120-86e4-ad0aa03fb48e - follower: true - rating: 0 - externalRefKey: 3a0f1390-4025-4d37-b021-4aa8af25643f - - name: SoftwareAG APIPortal - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 6659ded2-d37b-4602-9ff3-dee68aa1296b - deprecated: false - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apis: - - e4a84d8e-5d20-4bd0-a761-3d8581924276 - - 81074b45-ea22-4b67-806e-22d9abd237ca - plans: - - 5f5947f7-ffb5-4534-bf44-360aceca9b24 - follower: false - rating: 0 - summary: This is the summary of Package - description: This is the description of Package - count: 2 - _links: - _self: "/rest/v1/packages/search?page=0" - PlanIdsExample: - value: - - 16760aab-0d4b-4120-86e4-ad0aa03fb48e - - 5f5947f7-ffb5-4534-bf44-360aceca9b24 - LinkedAPIListExample: - value: - result: - - id: 8294372b-5037-4501-b5da-95dad13fcf96 - name: petStore3 - summary: 'This is a sample server Petstore server. You can find out more about - Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For - this sample, you can use the api key `special-key` to test the authorization filters.' - version: 1.0.5 - type: REST - externalRefKey: 30f82749-704c-4b35-8b16-4e18fdfcdc0c - - id: f8530d9e-89bb-470e-973f-12ea3077e37f - name: petStore4 - summary: 'This is a sample server Petstore server. You can find out more about - Swagger at [http://swagger.io](http://swagger.io) or on [irc.freenode.net, #swagger](http://swagger.io/irc/). For - this sample, you can use the api key `special-key` to test the authorization filters.' - version: 1.0.5 - type: REST - externalRefKey: 4b44b171-0d9a-49d2-baab-42b142e23348 - count: 2 - _links: - _self: "/rest/v1/packages/532e53ef-3b2a-45af-b859-2456dca1bb1f/apis?page=0" - LinkedPlanListExample: - value: - result: - - name: Gold Plan - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 16760aab-0d4b-4120-86e4-ad0aa03fb48e - providerRef: 63360be0-db5c-4266-9096-011e2f1f0634 - icon: - url: "/rest/v1/files/e4f80c77-c3f9-4c9e-8922-344292e64a46" - type: INTERNAL - cost: - value: '1000' - terms: T&C - license: LGPL - deprecated: false - enforcements: - - name: 'Throttling ' - properties: - - key: Maximum Request Quota - value: '10' - - key: Validation Interval - value: 1 minutes - - key: Violation Message - value: max req count reached - externalRefKey: ab047335-8398-48d2-a669-e3128fbe4429 - count: 1 - _links: - _self: "/rest/v1/packages/532e53ef-3b2a-45af-b859-2456dca1bb1f/plans?page=0" - - LinkedCommunitiesExample: - value: - result: - - id: 3bdf8005-5685-3ef5-b132-de4681963fb6 - name: Public Community - count: 1 - _links: - _self: "/rest/v1/packages/532e53ef-3b2a-45af-b859-2456dca1bb1f/communities?page=0" - - LinkedTopicsExample: - value: - result: - - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 589e41b9-a7e8-4494-a387-1ab40638e9ed - modified: 1616681699343 - created: 1616666209768 - flagged: false - upvotes: - - 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - stream: - type: PACKAGE - id: 532e53ef-3b2a-45af-b859-2456dca1bb1f - content: - value: '{"ops":[{"insert":"how to consume this package\n"}]}' - type: rich - pinned: false - person: - id: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - firstName: Administrator - lastName: System - comments: 1 - count: 1 - _links: - _self: "/rest/v1/packages/532e53ef-3b2a-45af-b859-2456dca1bb1f/topics?page=0" - - "403": - value: - code: 403 - message: Insufficient privileges - APIsLinked: - value: - code: 200 - message: API(s) linked successfully from package - - APIsUnlikned: - value: - code: 200 - message: API(s) unlinked successfully from package - - PlansLinked: - value: - code: 200 - message: Plan(s) linked successfully from package - - PackageFollowed: - value: - code: 200 - message: Follow entity successful - - PackageUnFollowed: - value: - code: 200 - message: Un-Follow entity successful - - PlansUnlikned: - value: - code: 200 - message: Plan(s) unlinked successfully from package - - NotFound: - value: - code: 404 - message: Unable to find the package with the given id - - BadRequest: - value: - code: 400 - message: The payload given is invalid - - Unauthorized: - value: - code: 401 - message: Invalid credentials - - Forbidden: - value: - code: 403 - message: Insufficient privileges - - Package: - value: - name: Gold package - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - deprecated: false - icon: - url: "/rest/v1/files/9ab59a45-05bb-4781-ace1-bb41675ba867" - type: INTERNAL - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apis: - - 8294372b-5037-4501-b5da-95dad13fcf96 - - f8530d9e-89bb-470e-973f-12ea3077e37f - plans: - - 16760aab-0d4b-4120-86e4-ad0aa03fb48e - follower: true - rating: 0 - - NewPackage: - value: - name: Gold package - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - deprecated: false - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apis: - - 8294372b-5037-4501-b5da-95dad13fcf96 - - f8530d9e-89bb-470e-973f-12ea3077e37f - plans: - - 16760aab-0d4b-4120-86e4-ad0aa03fb48e - RatingResponse: - value: - total: 3 - average: 3.5 - rating: 4.0 - - RatingExample: - value: - rating: 4 - TopicListExample: - value: - result: - - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 7e729e3c-f767-4a55-8c15-14e66b51abdb - flagged: false - upvotes: [ ] - downvotes: [ ] - pinned: false - stream: - type: PACKAGE - id: 5d248c0b-4ec7-4eb5-b514-7c2e726afb4d - tags: - - tag - count: 1 - _links: - _self: /rest/v1/packages/5d248c0b-4ec7-4eb5-b514-7c2e726afb4d/topics?page=0 - PackageCreatedExample: - value: - id: 015a2458-9f62-4ac6-a97e-8c2454c0ef61 - _self: /rest/v1/packages/015a2458-9f62-4ac6-a97e-8c2454c0ef61 - -security: - - accesstoken: [ ] - - bearerAuth: [ ] diff --git a/apis/10.11/openapis/themes.yaml b/apis/10.11/openapis/themes.yaml deleted file mode 100644 index f03f0b8..0000000 --- a/apis/10.11/openapis/themes.yaml +++ /dev/null @@ -1,1577 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Theme API - description: |- - ## Overview - Administrators can customize their portal’s logo, colors, and - fonts to match their organization’s corporate identity. Administrators can further customize - their portal by modifying pages, incorporating widgets, and changing the appearance and - organization of APIs, adding custom pages, components, and labels. - - Theme contains all information about the UI appearance and they determine the look and feel of - the UI. So, you should create a theme, specify your changes and apply it to customize the UI. - - ## Functionalities supported - - ### Theme CRUD - - API Portal Administrator can create theme, update theme, delete theme and backup and restore the theme. - - --- - - ### Page CRUD - - The API Portal Administrator can able to create new page and customize the page. - - --- - ### Layout CRUD - - The API Portal Administrator can able to create new layout and customize the layout. - - --- - - ### Properties CRUD - - The API Portal Administrator can able to add new i18n properties, edit the value and delete the property. Language translation for any existing key can also be added. - - --- - - ## Authorization - - Users with role **Administrator** can perform Create/Update/Delete of Theme - - - version: '10.11' - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - /themes: - get: - tags: - - Theme management - summary: Retrieve the list of available themes - description: |- - Endpoint to retrieve the list of all available themes in API Portal. - - *Endpoint can be accessed only by a user having **Administrator** role* - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - default: 0 - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeSearchResponse' - examples: - ThemeSearchResponse: - $ref: '#/components/examples/ThemeSearchResponse' - '403': - $ref: '#/components/responses/403' - '401': - $ref: '#/components/responses/401' - - post: - tags: - - Theme management - summary: Create a new theme - description: |- - Endpoint to create a new theme in API Portal - - *Endpoint can be accessed only by a user having **Administrator** role* - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeBasic' - example: - name: Theme one - description: This is a dark mode theme - version: 1.0 - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/CreationResponse' - example: - id: 0392ce93-49e5-4302-9e84-7ba53431ff69 - _self: /rest/v1/themes/41874e13-03d7-4cd6-9911-b96711e51cf4 - - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/PortalResponse' - examples: - 400: - $ref: '#/components/examples/PortalResponseError' - '403': - $ref: '#/components/responses/403' - '401': - $ref: '#/components/responses/401' - - /themes/{id}: - get: - tags: - - Theme management - summary: Retrieve the theme by Id - description: |- - Endpoint to obtain details of particular theme based on ID - - *Endpoint can be accessed only by a user having **Administrator** role* - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeTemplate' - examples: - ThemeResponse: - $ref: '#/components/examples/Theme' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - put: - tags: - - Theme management - summary: Update the theme by Id - description: |- - Endpoint to update details of particular theme based on ID. Using this endpoint only theme name, description and version can be updated. - - *Endpoint can be accessed only by a user having **Administrator** role* - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeBasic' - example: - name: Theme two - description: This is a dark mode theme - version: 2.0 - - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeUpdate' - examples: - 200: - $ref: '#/components/examples/ThemeUpdate' - - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/PortalResponse' - examples: - 400: - $ref: '#/components/examples/PortalResponseError' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - delete: - tags: - - Theme management - summary: Delete the theme by Id - description: |- - Endpoint to delete a particular theme based on ID - - *Endpoint can be accessed only by a user having **Administrator** role* - responses: - '204': - description: OK - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - /themes/{id}/clone: - put: - tags: - - Theme management - summary: Clone the theme by Id - description: |- - Endpoint to clone a particular theme. - - *Endpoint can be accessed only by a user having **Administrator** role* - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeTemplate' - example: - name: Dark theme-cloned - description: This is a cloned theme - version: 2.1 - - responses: - '201': - description: ok - content: - application/json: - schema: - $ref: '#/components/schemas/CreationResponse' - example: - id: 0392ce93-49e5-4302-9e84-7ba53431ff69 - _self: /rest/v1/themes/41874e13-03d7-4cd6-9911-b96711e51cf4 - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - /themes/{id}/activate: - post: - tags: - - Theme management - summary: Activate a particular theme by Id - description: |- - Endpoint to activate a particular theme. Activated theme style will be applied to the API Portal. - - *Endpoint can be accessed only by a user having **Administrator** role* - - responses: - '200': - description: ok - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeUpdate' - example: - code: 200 - message: Theme has been activated - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - - /themes/{id}/backup: - post: - tags: - - Theme management - summary: Backup/Export a theme - description: |- - Endpoint to export a theme in API Portal by ID - - *Endpoint can be accessed only by a user having **Administrator** role* - - responses: - '200': - description: file with zipped theme content (component, file, i18n, layout, page, style) - content: - application/octet-stream: - schema: - type: string - format: binary - - '403': - $ref: '#/components/responses/403' - '401': - $ref: '#/components/responses/401' - - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - /themes/{id}/restore: - post: - tags: - - Theme management - summary: Restore a theme - description: |- - Endpoint to restore a theme in API Portal - - *Endpoint can be accessed only by a user having **Administrator** role* - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - file: - type: string - format: binary - responses: - "200": - description: No content - "400": - $ref: '#/components/responses/LargerZipFile' - '401': - $ref: '#/components/responses/401' - '403': - $ref: '#/components/responses/403' - - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - - /themes/{id}/pages: - get: - tags: - - Page management - summary: Retrieve the list of pages by theme ID - description: |- - Endpoint to obtain details of list of pages created inside a particular theme. - - *Endpoint can be accessed only by a user having **Administrator** role - - responses: - '200': - $ref: '#/components/responses/Pages' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - - /themes/{id}/pages/{name}: - post: - tags: - - Page management - summary: create a new page - description: |- - Endpoint to create a page inside a theme. Attribute 'type' can have layout and widget as value. - - *Endpoint can be accessed only by a user having **Administrator** role - - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PageDetail' - example: - - name: FLEXBOX - type: layout - options: - direction: column - style: - wrapper: 'margin-left: 1rem; margin-right: 1rem; margin-top: 1rem; margin-bottom: 1rem;' - children: - - name: HeadingComponent - type: widget - options: - type: 1 - text: Add your heading here... - - name: ParagraphComponent - type: widget - options: - text: Add your text here.. - - responses: - '200': - description: Updated - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeUpdate' - example: - code: 200 - message: Updated successfully - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: name - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for page. Refers to the name of the page. For example `HomePage` - - put: - tags: - - Page management - summary: Update an existing page - description: |- - Endpoint to update an existing page inside a theme. - - *Endpoint can be accessed only by a user having **Administrator** role - - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PageDetail' - example: - - name: FLEXBOX - type: layout - options: - direction: column - style: - wrapper: 'margin-left: 1rem; margin-right: 1rem; margin-top: 1rem; margin-bottom: 1rem;' - children: - - name: HeadingComponent - type: widget - options: - type: 1 - text: Add your heading here... - - - responses: - '200': - description: Updated - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeUpdate' - example: - code: 200 - message: Updated successfully - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: name - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for page. Refers to the name of the page. For example `HomePage` - - get: - tags: - - Page management - summary: Retrieve a particular page by name - description: |- - Endpoint to obtain details of a particular page inside a theme. - - *Endpoint can be accessed only by a user having **Administrator** role - responses: - '200': - $ref: '#/components/responses/PageDetail' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: name - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for page. Refers to the name of the page. For example `HomePage` - - delete: - tags: - - Page management - summary: Delete the existing page - description: |- - Endpoint to delete a particular page based on page name. - - *Endpoint can be accessed only by a user having **Administrator** role* - responses: - '204': - description: OK - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: name - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for page. Refers to the name of the page. For example `HomePage` - - - /themes/{id}/layouts: - get: - tags: - - Layout management - summary: Retrieve the list of layouts by theme ID - description: |- - Endpoint to obtain details of list of layouts created inside a particular theme. - - *Endpoint can be accessed only by a user having **Administrator** role - - responses: - '200': - $ref: '#/components/responses/Layouts' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - /themes/{id}/layouts/{name}: - post: - tags: - - Layout management - summary: create a new layout - description: |- - Endpoint to create a layout inside a theme. - - *Endpoint can be accessed only by a user having **Administrator** role - - ### Layout: - Layout defines the skeleton of a building block. Layouts are used to pad the content inside of them. These are called children. - - #### Options: - Below are the different options can be configured for a layout. - - * direction: - - Specifies the direction of in which the child components added inside the current block. Available options are - - `Row` - Aligns components in a horizontal fashion like a row - - `Column` - Aligns components in a version fashion like a column - - * mainAxis: - - Specifies the option to determine how the components inside the current block must be distributed between and around the main axis of the page. Available options are - - `Start` - Aligns components from the start of the block. - - `Center` -Aligns components towards the center of the block - - `End` - Aligns components towards the bottom portion of the block. - - `Space around` - Distributes components evenly. Components have a half-size space on either end. Aligns the paragraphs in a block - allowing space around each paragraph. - - `Space between` - Distribute components evenly The first item is - flush with the start, the last is flush with the end - - * crossAxis: - - Specifies the option to determine how the components inside the current block must be distributed between and around the cross axis of the page. Available options are - - `Start` - Aligns components from the start of the block. - - `Center` -Aligns components towards the center of the block - - `End` - Aligns components towards the bottom portion of the block. - - `Stretch` - Stretches and aligns components to fill the block. - - * flexBasis: - Specifies the initial minimum width of the block. - - * width: - Specifies the width of the block. - - ### Widget: - Widgets offer are core components that can be placed inside a container. Developer portal offers various basic widgets that can be used to build a full blown HTML pages. - - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PageDetail' - example: - - name: FLEXBOX - type: layout - options: - width: 100% - children: - - name: FLEXBOX - type: layout - options: - direction: column - flexBasis: 50% - mainAxis: center - crossAxis: center - style: - wrapper: 'margin: 1rem; min-height: 12rem;' - - name: FLEXBOX - type: layout - options: - direction: column - flexBasis: 50% - mainAxis: center - crossAxis: center - style: - wrapper: 'margin: 1rem; min-height: 12rem;' - - responses: - '200': - description: Updated - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeUpdate' - example: - code: 200 - message: Updated successfully - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: name - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for layout. Refers to the name of the layout. For example `two-horizontl` - - put: - tags: - - Layout management - summary: Update an existing layout - description: |- - Endpoint to update an existing layout inside a theme. - - *Endpoint can be accessed only by a user having **Administrator** role - - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PageDetail' - example: - - name: FLEXBOX - type: layout - options: - width: 100% - children: - - name: FLEXBOX - type: layout - options: - direction: column - flexBasis: 50% - mainAxis: center - crossAxis: center - style: - wrapper: 'margin: 1rem; min-height: 12rem;' - id: 6f862559-b88f-4319-f384-3014ffbdea47 - id: 9c6a7b6a-f294-2769-c6fe-e5bf5ca4a604 - - responses: - '200': - description: Updated - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeUpdate' - example: - code: 200 - message: Updated successfully - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: name - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for layout. Refers to the name of the layout. For example `two-horizontal` - - get: - tags: - - Layout management - summary: Retrieve a particular layout by name - description: |- - Endpoint to obtain details of a particular layout inside a theme. - - *Endpoint can be accessed only by a user having **Administrator** role - responses: - '200': - $ref: '#/components/responses/LayoutDetail' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: name - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for layout. Refers to the name of the layout. For example `two-horizontal` - - delete: - tags: - - Layout management - summary: Delete the existing layout - description: |- - Endpoint to delete a particular layout based on layout name. - - *Endpoint can be accessed only by a user having **Administrator** role* - responses: - '204': - description: OK - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: name - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for layout. Refers to the name of the layout. For example `two-horizontal` - - /themes/{id}/i18n/{key}: - post: - tags: - - Properties management - summary: Add new property - description: |- - Endpoint to create a new property. New key and value can be added for a particular language. If the key is already available, new value will be updated. - - *Endpoint can be accessed only by a user having **Administrator** role - - requestBody: - content: - application/json: - schema: - type: string - additionalProperties: - type: string - example: - it_IT: etichetta - es_ES: etiqueta - - - responses: - '200': - description: Updated - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeUpdate' - example: - code: 200 - message: Updated successfully - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: key - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for property. Refers to the key of the property. For example `base.shared.label.LBL` - delete: - tags: - - Properties management - summary: Delete the existing key - description: |- - Endpoint to delete a existing key which is added by the API Administrator. - - *Endpoint can be accessed only by a user having **Administrator** role* - responses: - '204': - description: No Content - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: key - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for property. Refers to the key of the property. For example `base.shared.label.LBL` - - /themes/{id}/i18n: - put: - tags: - - Properties management - summary: Update value of existing key - description: |- - Endpoint to update an existing key. - - *Endpoint can be accessed only by a user having **Administrator** role - - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Property' - example: - base.name.LBL: - es_ES: nombre - it_IT: nome - - responses: - '200': - description: Updated - content: - application/json: - schema: - $ref: '#/components/schemas/ThemeUpdate' - example: - code: 200 - message: Updated successfully - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - get: - tags: - - Properties management - summary: Retrieve list of i18n keys and values - description: |- - Endpoint to retrieve list of i18n keys and values of current language. - - *Endpoint can be accessed only by a user having **Administrator** role - responses: - '200': - $ref: '#/components/responses/PropertyDetail' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for theme. Refers to the GUID of the theme.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - - -components: - schemas: - CreatedResponse: - required: - - id - - _self - type: object - properties: - id: - type: string - description: Unique identification for policy.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - _self: - type: string - description: link to the onboarding type policy - - RestoreRequest: - type: object - properties: - file: - description: backup file to be restored. - type: string - format: binary - ThemeSearchResponse: - type: object - properties: - result: - description: List of themes - type: array - items: - $ref: '#/components/schemas/ThemeTemplate' - count: - description: Number of themes - type: integer - _links: - description: List of available themes - type: object - additionalProperties: - type: string - - Error: - type: object - properties: - code: - type: integer - format: int32 - description: Error code - message: - type: string - description: Error message - errors: - type: array - items: - type: string - - PortalResponse: - type: object - title: '' - properties: - code: - type: integer - description: Error code - message: - type: string - description: Error message - errors: - type: array - description: Array of failed validation errors - items: - type: string - - ThemeUpdate: - title: Theme update - type: object - properties: - code: - type: string - description: Http response code - message: - type: string - description: short message about the response - - ThemeBasic: - title: ThemeBasic - type: object - properties: - id: - type: string - description: Unique representation of theme object - name: - type: string - description: An Unique name for the identification of theme - description: - type: string - description: Short description on theme - version: - type: string - description: version of a theme - required: - - name - - ThemeTemplate: - title: Theme - type: object - properties: - id: - type: string - description: Unique representation of theme object - name: - type: string - description: An Unique name for the identification of theme - description: - type: string - description: Short description on theme - pages: - type: object - layouts: - type: object - components: - type: object - resources: - type: object - required: - - name - - CreationResponse: - title: CreationResponse - type: object - properties: - id: - type: string - description: Unique id of saved object - _self: - type: string - description: Location of entity - - PageTemplate: - title: DefinitionTemplate - type: object - properties: - name: - type: string - description: Unique name of page - custom: - type: string - description: false if the page is available by default in the API portal - - PageDetail: - title: Definition - type: object - properties: - name: - type: string - description: name of the component in the page - type: - type: string - description: type of component - options: - type: object - description: Options of the definition - style: - type: object - description: Css style that need to be applied to this component - children: - type: array - description: List of components - items: - type: - $ref: '#/components/schemas/PageDetail' - - Property: - title: Property - type: object - properties: - StringStringMap: - type: object - additionalProperties: - type: string - - - - responses: - 401: - description: The request was unacceptable, due to invalid credentials - content: - application/json: - schema: - $ref: '#/components/schemas/PortalResponse' - examples: - 401: - $ref: '#/components/examples/401' - 403: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/PortalResponse' - examples: - 403: - $ref: '#/components/examples/403' - 404: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/PortalResponse' - examples: - 404: - $ref: '#/components/examples/404' - - LargerZipFile: - description: Zip file content is larger. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/LargerZipFile' - - Pages: - description: ok - content: - application/json: - schema: - $ref: '#/components/schemas/PageTemplate' - examples: - Pages: - $ref: '#/components/examples/Pages' - Layouts: - description: ok - content: - application/json: - schema: - $ref: '#/components/schemas/PageTemplate' - examples: - Layouts: - $ref: '#/components/examples/Layouts' - - PageDetail: - description: ok - content: - application/json: - schema: - $ref: '#/components/schemas/PageDetail' - examples: - Pages: - $ref: '#/components/examples/PageDetail' - - LayoutDetail: - description: ok - content: - application/json: - schema: - $ref: '#/components/schemas/PageDetail' - examples: - Layout: - $ref: '#/components/examples/LayoutDetail' - - PropertyDetail: - description: ok - content: - application/json: - schema: - type: string - additionalProperties: - type: string - examples: - Property: - $ref: '#/components/examples/PropertyDetail' - - PageTemplate: - description: ok - - - examples: - 401: - value: - code: 401 - message: Invalid credentials - 403: - value: - code: 403 - message: Insufficient privileges - 404: - value: - status: 404 - message: Unable to find the theme - ThemeSearchResponse: - value: - result: - - name: Theme one - documentType: THEME - id: 14594abf-054f-4e4d-b16d-3eb8495f25dc - - name: DEFAULT - documentType: THEME - id: 5535a71b-01ef-47b7-b813-922655ba788c - count: 2 - _links: - _self: rest/v1/themes?page=0 - _next: rest/v1/themes?page=1 - - Pages: - value: - - name: about - custom: false - - name: api-details - custom: false - - name: api-gallery - custom: false - - name: footer - custom: false - - Layouts: - value: - - name: two-horizontal - custom: false - - name: three-horizontal - custom: false - - name: composite-b - custom: false - - name: two-vertical - custom: false - - LayoutDetail: - value: - - name: FLEXBOX - type: layout - options: - width: 100% - children: - - name: FLEXBOX - type: layout - options: - direction: column - flexBasis: 50% - mainAxis: center - crossAxis: center - style: - wrapper: 'margin: 1rem; min-height: 12rem;' - - name: FLEXBOX - type: layout - options: - direction: column - flexBasis: 50% - mainAxis: center - crossAxis: center - style: - wrapper: 'margin: 1rem; min-height: 12rem;' - - PropertyDetail: - value: - base.name.LBL: Name - base.password.LBL: Password - base.description.LBL: description - base.summary.LBL: summary - - - PageDetail: - value: - - name: FLEXBOX - type: layout - options: - direction: column - width: 100% - style: - wrapper: 'padding: 0 24px;' - children: - - name: FLEXBOX - type: layout - options: - crossAxis: center - style: - wrapper: 'padding-top: 1rem;' - children: - - name: LinkComponent - type: widget - options: - key: base.shared.home.LBL - type: internal - href: / - - name: IconComponent - type: widget - options: - name: dlt-icon-chevron-breadcrumb - style: - element: |- - padding: 0 .125rem; - color: grey; - font-size: 1rem; - vertical-align: middle; - line-height: 1.5; - - name: LinkComponent - type: widget - options: - key: consumer.about.headingcomponent.heading.LBL - current: page - type: internal - href: /communities - - name: HeadingComponent - type: widget - options: - key: consumer.header.aboutcomponent.heading.LBL - type: 1 - style: - element: |- - font-weight: 300; - margin-bottom: 0; - margin-top: 0.5rem; - - - name: ParagraphComponent - type: widget - options: - key: consumer.header.aboutcomponent.subheading.LBL - style: - element: |- - font-size: 90%; - line-height: 1.5; - - name: FLEXBOX - type: layout - options: - width: 100% - children: - - name: AboutComponent - type: widget - - name: FLEXBOX - type: layout - options: - direction: column - children: - - name: HeadingComponent - type: widget - options: - key: base.header.aboutcomponent.copyright.heading.LBL - type: 1 - style: - element: |- - font-weight: 300; - margin-bottom: 1rem; - margin-top: 0.5rem; - - - name: ParagraphComponent - type: widget - options: - key: base.footer.paragraphcomponent.copyright.LBL - style: - element: |- - margin-bottom: 1rem; - font-size: 90%; - line-height: 1.5; - - name: ParagraphComponent - type: widget - options: - key: base.header.aboutcomponent.trademarks.LBL - style: - element: |- - margin-bottom: 1rem; - font-size: 90%; - line-height: 1.5; - - name: ParagraphComponent - type: widget - options: - key: base.header.aboutcomponent.copyright.LBL - style: - element: |- - margin-bottom: 1rem; - font-size: 90%; - line-height: 1.5; - - name: ParagraphComponent - type: widget - options: - key: base.header.aboutcomponent.thirdparty.LBL - style: - element: |- - margin-bottom: 1rem;font-size: 90%; - line-height: 1.5; - - name: ParagraphComponent - type: widget - options: - key: base.header.aboutcomponent.confidentiality.LBL - style: - element: |- - font-size: 90%; - line-height: 1.5; - - - LargerZipFile: - value: - code: 400 - message: The zip file content is larger than the maximum allowed size - - Theme: - value: - name: Dark theme - documentType: THEME - id: 14594abf-054f-4e4d-b16d-3eb8495f25dc - - - ThemeUpdate: - value: - code: 200 - message: Theme has been updated successfully - PortalResponseError: - value: - code: 400 - message: "User provided data is not correct" - errors: [ - - ] - CreatedResponse: - value: - id: f790526b-4de4-c305-732d-d8a3d3e2bc12 - _self: /rest/v1/approval/policy - - - requestBodies: {} - securitySchemes: - basicAuth: - type: http - scheme: basic -security: - - basicAuth: [] \ No newline at end of file diff --git a/apis/10.11/openapis/users.yaml b/apis/10.11/openapis/users.yaml deleted file mode 100644 index 5d653de..0000000 --- a/apis/10.11/openapis/users.yaml +++ /dev/null @@ -1,1153 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Users API - description: | - ## Overview - API Portal User Management Service allows you to manage Users, Groups in the API Portal. - - Any user with the **API Administrator** functional privilege can manage the Users, Groups in API Portal. - - By default, the users who are part of **API Administrator** groups will have this privilege. - - ## Functionalities supported - - ### Managing users - User with **API Administrator** functional privilege can manage list of user accounts in the API Portal. This includes - 1) retrieving the users by their unique identifer - 2) creating brand new users with specific functional privilege - 3) updating the users basic attributes and assigning them the required functional privilege - 4) deleteing the stale / unwanted users. - - ### Managing groups - User with **API Administrator** functional privilege can manage list of user groups in the API Portal. This includes - 1) retrieving the groups by their unique identifer - 2) creating new user groups with specific functional privilege and assign a collection of users - 3) updating the groups basic attributes and assigning them the required functional privilege - 4) deleteing the stale / unwanted groups. - - ### My profile - API Portal allows you to manage your own profile account using this API. As a registered user in API Portal user can manage his own profile information which includes the profile picture, firstname, last name, phone numbers, preferrer locale etc. - - You can only update your own profile info including the passwords. Changing the password in profile, will require to re-confirm his identity again. - - Profile info is **read only** for LDAP/ Social users, since the actual source of truth for those users are maintained in respective source systems. - - ## Authorization - - User with **API Administrator** functional privilege can manage users and groups. - - All users can manage their own profile details. - - version: '10.11' - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - /login: - post: - description: |- - Login to Portal with a valid user name and password. This API supports only `NATIVE` / `LDAP` users login only. - - *This is an **ANONYMOUS** endpoint; No authorization required* - summary: Login API - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/LoginRequest' - examples: - LoginRequest: - $ref: '#/components/examples/LoginRequest' - responses: - '200': - $ref: '#/components/responses/LoginSuccess' - '400': - $ref: '#/components/responses/LoginFailure' - /forgotpassword: - post: - description: | - To recover the forgotten password via registered email. User will be sent a link via email to recover his/her password. - - *This is an **ANONYMOUS** endpoint; No authorization required* - - summary : Recover password - parameters: - - in: query - name: userName - schema: - type: string - description: unique username of the user for whom we need to recover the password - responses: - '200': - description: 'Response when we successfully executed the recover password flow' - /resetpassword: - post: - description: | - To reset the password of the APIPortal user. After succesfully password reset user will get a intimation mail. - - *This is an **ANONYMOUS** endpoint; No authorization required* - summary: Reset password using recovery link - requestBody: - content: - application/json: - schema: - type: object - properties: - token: - type: string - password: - type: string - - responses: - '200': - description: '' - - /passwordpolicy: - get: - description: | - Retrieve the configured password policy in the system. Password policies defines the number of uppercase / lowercase / specical character to be used for a secure password for each regisered user. - - *This is an **ANONYMOUS** endpoint; No authorization required* - summary: Retrieve password policy - responses: - '200': - description: 'Password policy configuration' - content: - application/json: - schema: - $ref: '#/components/schemas/Configuration' - examples: - passwordpolicy: - $ref: '#/components/examples/PasswordPolicy' - /signup: - post: - description: | - Register a new user information with API Portal. The fields required for signup form is customizable with self service customization. - - *This is an **ANONYMOUS** endpoint; No authorization required* - summary: Register new user - tags: - - signup - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/User' - examples: - signup: - $ref: '#/components/examples/Signup' - responses: - '200': - description: 'Response when the user information is successfully registered in the system' - '400': - $ref: '#/components/responses/SignupFailure' - /users/updatepassword: - put: - description: | - Updating password of current user. - - Any registered user in API Portal can use this method to update his current password. - - *Endpoint can be accessed by **all** users of type **NATIVE**. **LDAP**/**SOCIAL** users passwords **can not** be updated here.* - summary: Change password - tags: - - MyProfile - requestBody: - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/UpdatePassword' - example: | - ------WebKitFormBoundaryjtODoCFCAO2kmPcI - Content-Disposition: form-data; name="oldPassword" - - manage - ------WebKitFormBoundaryjtODoCFCAO2kmPcI - Content-Disposition: form-data; name="newPassword" - - Test@123 - ------WebKitFormBoundaryjtODoCFCAO2kmPcI-- - responses: - '200': - description: 'Response when successfully updated the logged in user password' - '400': - $ref: '#/components/responses/UpdatePasswordFailure' - /users/updateemail: - put: - description: | - Updating email address of current user. - - Any registered user in API Portal can use this method to update his current password. - - *Endpoint can be accessed by **all** users of type **NATIVE**.* - summary: Update email address - tags: - - MyProfile - requestBody: - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/UpdateEmail' - example: | - ------WebKitFormBoundaryV3OkkCA5GCpszswD - Content-Disposition: form-data; name="password" - - manage - ------WebKitFormBoundaryV3OkkCA5GCpszswD - Content-Disposition: form-data; name="email" - - abc@xyz.com - ------WebKitFormBoundaryV3OkkCA5GCpszswD-- - responses: - '200': - description: 'Response when successfully updated the logged in user email address' - '400': - $ref: '#/components/responses/PasswordDoNotMatch' - /users/updatepicture: - put: - description: | - Updating profile picture of current user. - - Any registered user in API Portal can use this method to update his current profile pic. - - *Endpoint can be accessed by **all** users of type **NATIVE**.* - summary: Update profile picture - tags: - - MyProfile - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - file: - type: object - description: profile picture to be uploaded. - example: | - ------WebKitFormBoundaryWh7YIEN5mdUWFbkh - Content-Disposition: form-data; name="file"; filename="Johnson.jpg" - Content-Type: image/jpeg - - - ------WebKitFormBoundaryWh7YIEN5mdUWFbkh-- - responses: - '200': - description: 'Response when successfully updated the logged in user profile picture' - '400': - $ref: '#/components/responses/InvalidProfilePicture' - /users: - get: - summary: Retrieve available users - description: Retrieves available users in the system for the specified page number - tags: - - Users - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - responses: - '200': - description: Response when succesfully fetch the users available in the system. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Users' - examples: - Users: - $ref: '#/components/examples/Users' - post: - description: | - Create new user in API Portal by filling in basic information like firstname, lastname, email - - *Endpoint can be accessed only by users with **API-Administrator** functional privilege* - - summary: Create a new user in API Portal. - tags: - - Users - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/User' - examples: - User: - $ref: '#/components/examples/User' - responses: - '201': - $ref: '#/components/responses/CreateUser' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - /users/self: - get: - description: | - Retrieve the details about currently logged in user. - - *Endpoint can be accessed by **ALL** registered users* - - summary: Retrieve logged in user details - tags: - - Users - responses: - '200': - $ref: '#/components/responses/SelfResponse' - '401': - $ref: '#/components/responses/Unauthorized' - - parameters: [] - /users/self/privileges: - get: - summary: Retrieves the privileges of loggedin user - description: | - Fetch the currently logged in user privileges. - - *Endpoint can be accessed by **ALL** registered users* - tags: - - Users - responses: - '200': - $ref: '#/components/responses/SelfPrivilegesResponse' - '401': - $ref: '#/components/responses/Unauthorized' - - /users/{id}: - get: - summary: Retrieve specific user identified given UUID - description: Retrieve specific user detail by using the unique identifier(uuid). - tags: - - Users - responses: - '200': - $ref: '#/components/responses/UserById' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - put: - summary: Update user - description: | - Update user basic information like `firstname` , `lastname`, `email` for specific user identified given UUID - - *Endpoint can be accessed only by a user having permission to **UPDATE** user* - tags: - - Users - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/User' - examples: - User: - $ref: '#/components/examples/User' - responses: - '200': - $ref: '#/components/responses/UserById' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - summary: Delete user - description: | - Delete specific user identified by given unique identifier(UUID) - - *Endpoint can be accessed only by users with **API-Administrator** functional privilege* - tags: - - Users - responses: - '204': - description: Response when succesfuly removed the user. - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for user. Refers to the UUID of the user. - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - /users/delete: - post: - summary: Delete my account - description: | - Deleting the logged in user account. User must provide his current password to re-confirm his identity. - - *Endpoint can be accessed by **ALL** registered users* - tags: - - Users - requestBody: - content: - application/x-www-form-urlencoded: - schema: - type: object - properties: - password: - type: string - description: logged in user password. - example: - password: manage - responses: - '204': - description: Response when succesfully deleted the user account. - 400: - $ref: '#/components/responses/PasswordDoNotMatch' - '401': - $ref: '#/components/responses/Unauthorized' - - /groups/{id}/users: - put: - summary: Add users to group - description: | - Add collection of users as members of the specific group identified given UUID - - *Endpoint can be accessed only by users with **API-Administrator** functional privilege* - tags: - - Groups - requestBody: - content: - application/json: - schema: - type: array - description: Collection of uuids - items: - type: string - example: ["90015098-3cd2-3fb0-9696-3f7d28e17f72"] - responses: - '200': - description: Adding Users to Group Successful - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - summary: Remove users from group - description: | - Remove users identified by the collection of unique identifiers(uuid) from the given APIPortal user group - - *Endpoint can be accessed only by users with **API-Administrator** functional privilege* - tags: - - Groups - responses: - '200': - description: Removal of users from group Successful - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/GroupNotFound' - get: - summary: Fetch members of user group - description: | - Retrieve the users associated toa specific group identified by given UUID - - *Endpoint can be accessed by users with **API-Administrator** or **API-Provider** functional privilege* - tags: - - Groups - responses: - '200': - description: Response when succesfully retrieved all users in a group - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/User' - examples: - Users: - $ref: '#/components/examples/UserList' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/GroupNotFound' - parameters: - - name: id - in: path - description: Unique Identification for a group - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - /groups: - get: - description: | - Retrieves paginated collection of user groups available in the system - - *Endpoint can be accessed by **ALL** registered users* - summary: Fetch groups - tags: - - Groups - responses: - '200': - description: Response when succesfully retrieved the groups in the system - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Groups' - examples: - Users: - $ref: '#/components/examples/Groups' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - post: - description: | - Create a group with its basic details - - *Endpoint can be accessed only by users with **API-Administrator** functional privilege* - summary: Fetch groups - tags: - - Groups - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Group' - example: - $ref: '#/components/examples/Group' - responses: - '201': - description: Response when the group is successfully created the group - content: - application/json: - schema: - $ref: '#/components/schemas/CreationResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - /groups/{id}: - get: - summary: Retrieve group - description: | - Retrieve a specific group identified by given unique identifier(UUID) - - *Endpoint can be accessed by **ALL** registered users* - tags: - - Groups - responses: - '200': - description: Response when succesfully retrieved the group - content: - application/json: - schema: - $ref: '#/components/schemas/Group' - examples: - Groups: - $ref: '#/components/examples/Group' - '401': - $ref: '#/components/responses/Unauthorized' - put: - summary: Update user group - description: | - Update a specific group identified by given unique identifier(UUID) - - *Endpoint can be accessed only by users with **API-Administrator** functional privilege* - tags: - - Groups - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Group' - example: - $ref: '#/components/examples/Group' - responses: - '200': - description: Response when the group is succesfully updated in the system - content: - application/json: - schema: - $ref: '#/components/schemas/Group' - example: - $ref: '#/components/examples/Group' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/GroupNotFound' - delete: - summary: Delete group - description: | - Delete a specific group identified by given unique identifier(uuid) - - *Endpoint can be accessed only by users with **API-Administrator** functional privilege* - tags: - - Groups - responses: - '204': - description: Response when group is succesfully removed. - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/GroupNotFound' - parameters: - - name: id - in: path - description: Unique Identification of a group - required: true - allowEmptyValue: false - schema: - type: string - -components: - - schemas: - UpdateEmail: - type: object - properties: - password: - type: string - description: existing password for the logged in user - email: - type: string - description: new email address to be updated. - - UpdatePassword: - type: object - properties: - oldPassword: - type: string - description: existing password for the logged in user - newPassword: - type: string - description: new password to be updated. Password must comply to `password policy` configured. - - Configuration: - type: object - properties: - category: - type: string - description: category of the configuration object. - properties: - type: array - items: - $ref: '#/components/schemas/ConfigurationEntry' - - ConfigurationEntry: - type: object - properties: - value: - type: string - description: actual value - key: - type: string - description: specific key to be updated - - Error: - required: - - code - - message - type: object - properties: - code: - type: integer - format: int32 - description: Error code - message: - type: string - description: detailed error message if any. - - LoginRequest: - type: object - description: Login request - properties: - username: - description: Login user name - type: string - password: - type: string - description: Login user password - otp: - type: string - description: One time password for the user. Required if `multi factor authentication` is enabled. - - LoginResponse: - type: object - description: Login response - properties: - user: - $ref: '#/components/schemas/User' - result: - type: string - description: status of the login request. It could be `LOGIN_SUCCESSFUL` or `MFA_REQUIRED` or `PASSWORD_EXPIRED` - - User: - description: User information - type: object - properties: - username: - description: username of the user - type: string - displayname: - description: dervied name for the user. Usually in the combiation of `first name` + `last name` - type: string - firstname: - description: first name of the user - type: string - lastname: - description: last name of the user - type: string - email: - description: email of the user - type: string - type: - description: type of the user. It could be `NATIVE` / `LDAP` / `SOCIAL` - type: string - created: - description: date in which user was provisioned in the system - type: string - modified: - description: date in which user was modified in the system - type: string - id: - description: uuid of the user. - type: string - format: uuid - attributes: - description: additional attributes of the user - type: object - - UsersList: - type: array - description: Collection of users - items: - $ref: '#/components/schemas/User' - - Users: - type: object - properties: - result: - type: array - description: Collection of users - items: - $ref: '#/components/schemas/User' - count: - type: integer - description: Total number of users available - _links: - type: object - properties: - _self: - description: Link for current page - type: string - _next: - description: Optional link for the next page. Will be missing if the next page does not exist. - type: string - - Groups: - type: object - properties: - result: - type: array - description: Collection of groups - items: - $ref: '#/components/schemas/Group' - count: - type: integer - description: Total number of groups available - _links: - type: object - properties: - _self: - description: Link for current page - type: string - _next: - description: Optional link for the next page. Will be missing if the next page does not exist. - type: string - - Group: - type: object - properties: - name: - description: name of the group - type: string - description: - description: description of the group - type: string - created: - description: date in which group was provisioned in the system - type: string - modified: - description: date in which group was modified in the system - type: string - id: - description: uuid of the user. - type: string - format: uuid - - CreationResponse: - type: object - properties: - id: - description: uuid of the created object - type: string - _self: - description: link for retrieving the created obejct - type: string - required: - - id - - _self - - responses: - SelfPrivilegesResponse: - description: Response when successfully retrieved the logged in user privileges - content: - application/json: - schema: - description: Collectin of privileges. Privileges are `ROLE_CONSUMER` / `ROLE_ADMINISTRATOR` / `ROLE_PROVIDER` - type: array - items: - type: string - enum: - - ROLE_CONSUMER - - ROLE_ADMINISTRATOR - - ROLE_PROVIDER - example: - ["ROLE_ADMINISTRATOR"] - SelfResponse: - description: Response when succesfully retrieved the logged in user details. - content: - application/json: - schema: - $ref: '#/components/schemas/User' - examples: - User: - $ref: '#/components/examples/User' - NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404: - $ref: '#/components/examples/404' - GroupNotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404: - $ref: '#/components/examples/404-Group' - - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - - CreateUser: - description: Response when successfully created a new user - content: - application/json: - schema: - $ref: '#/components/schemas/CreationResponse' - - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - LoginSuccess: - description: 'Response when the user is successfully authenticated' - content: - application/json: - schema: - $ref: '#/components/schemas/LoginResponse' - examples: - loginResponse: - $ref: '#/components/examples/LoginResponse' - - LoginFailure: - description: 'The request was unacceptable, due to incorrect provided information' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - code: 400 - message: Incorrect user name or password. - - SignupFailure: - description: 'The request was unacceptable, due to incorrect provided information' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - code: 19 - message: The password does not comply with the conventions. - - InvalidProfilePicture: - description: 'The request was unacceptable, due to incorrect provided information' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - code: 400 - message: Not a supported Mime type - - - PasswordDoNotMatch: - description: 'Invalid request. User provided information is not correct' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - code: 11 - message: The password does not match the password stored in the database. - - UpdatePasswordFailure: - description: 'Invalid request. User provided information is not correct' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - example: - code: 19 - message: The password does not comply with the conventions. - - BadRequest: - description: 'The request was unacceptable, due to invalid payload' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/400' - - UserById: - description: Response when succesfully retrieved the user by given UUID. - content: - application/json: - schema: - $ref: '#/components/schemas/User' - examples: - User: - $ref: '#/components/examples/User' - - examples: - PasswordPolicy: - value: - - category: PASSWORD_POLICY - properties: - - key: PWD_UPPERCASE_ALLOWED - value: 'true' - - key: PWD_RESET_CONFIRMATION_ACTIVE - value: 'true' - - key: PWD_LOWERCASE_MIN - value: '0' - - key: PWD_SPECIAL_SET - value: '*$-+?_&=!%{}/' - - key: PWD_RESET_CONFIRMATION_TTL - value: '30' - - key: PWD_SPECIAL_ALLOWED - value: 'true' - - key: PWD_LENGTH_MIN - value: '3' - - key: PWD_CHANGE_FORCE_DIFFERENCE - value: 'false' - - key: PWD_NUMERIC_MIN - value: '1' - - key: PWD_CHANGE_FORCE_ON_FIRST_LOGIN - value: 'false' - - key: PWD_UPPERCASE_MIN - value: '1' - - key: PWD_NUMERIC_ALLOWED - value: 'true' - - key: PWD_SPECIAL_MIN - value: '1' - - key: PWD_LENGTH_MAX - value: '40' - - key: PWD_EXPIRY_DAYS - value: '30' - - key: PWD_EXPIRY_ACTIVE - value: 'false' - - key: PWD_CHANGE_FORCE_AFTER_RESET - value: 'false' - LoginRequest: - value: - username: Administrator - password: manage - - 400: - value: - code: 400 - message: User provided data is not correct - - 401: - value: - code: 401 - message: "Invalid credentials" - - 403: - value: - code: 403 - message: "Insufficient privileges" - - 404: - value: - code: 404 - message: Unable to find the user with id [3bdf8005-5685-3ef5-b132-de4681963fb6] - 404-Group: - value: - code: 404 - message: Unable to find the group with id [3bdf8005-5685-3ef5-b132-de4681963fb6] - - LoginResponse: - value: - user: - username: administrator - id: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - firstname: Administrator - lastname: System - locale: en_US - type: NATIVE - created: 2021-03-24 08:15 - modified: 2021-03-24 08:15 - name: administrator - displayName: Administrator System - result: LOGIN_SUCCESSFUL - - UserList: - value: - - username: administrator - id: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - firstname: Administrator - lastname: System - locale: en_US - externalPictureUrl: "/rest/v1/users/200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4/picture" - type: NATIVE - created: 2021-03-24 08:15 - modified: 2021-03-24 08:15 - name: administrator - displayName: Administrator System - - Users: - value: - result: - - username: administrator - id: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - firstname: Administrator - lastname: System - locale: en_US - externalPictureUrl: "/rest/v1/users/200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4/picture" - type: NATIVE - created: 2021-03-24 08:15 - modified: 2021-03-24 08:15 - name: administrator - displayName: Administrator System - count: 1 - _links: - _self: "/rest/v1/users?page=0" - Group: - value: - id: 7a26cf6e-bfc8-4f5e-a383-25fa49a1bfcb - name: APIPortal GroupOne - description: Description of APIPortal GroupOne - Groups: - value: - result: - - id: 9870271b-5413-3053-b5b3-12f97a513552 - name: API Administrator - description: Group of API Administrators - created: 2021-03-24 08:15 - modified: 2021-03-24 08:15 - displayName: API Administrator - - id: 7dead6ba-d7f3-321d-a5c9-971dc33b73fd - name: API Consumer - description: Group of API Consumer - created: 2021-03-24 08:15 - modified: 2021-03-24 08:15 - displayName: API Consumer - - id: 8ad53d34-550a-35f8-ac0b-c540aa751dbf - name: API Provider - description: Group of API Provider - created: 2021-03-24 08:15 - modified: 2021-03-24 08:15 - displayName: API Provider - count: 3 - _links: - _self: "/rest/v1/groups?page=0" - - Followstreams: - value: - apis: - - id: 5adaed5e-befe-4954-b988-2853f63550f6 - name: Swagger Petstore - url: /rest/v1/files/9aff2687-a6b6-4bf4-960c-5f25ff767a8c - version: 1.0.0 - type: REST - externalRefKey: fcff54b2-8546-4cf2-a148-567c1937a5f7 - packages: - - id: edf3ae6c-f1e4-4429-909e-7afa349bf4e7 - name: SoftwareAG APIPortal - summary: This is the summary of Package - - Signup: - value: - email: demouser@softwareag.com - password: demo@1234 - User: - value: - firstname: John - lastname: Williams - username: Williams - email: john@xyz.com diff --git a/apis/10.12/openapis/analytics.yaml b/apis/10.12/openapis/analytics.yaml deleted file mode 100644 index 33d6c0f..0000000 --- a/apis/10.12/openapis/analytics.yaml +++ /dev/null @@ -1,1189 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Analytics API - version: '10.11' - description: |- - ## Overview - Portal Analytics API is used to get deeper insgihts about the APIs and applications in the system. - It gives detailed information about the trends, top hits, usage based on the filters applied. - There are variety of feeds and each is responsible for providing the aforesaid specific informations. - - ## Feeds available - Following are the list of anaytic feeds available in the system - - TRANSACTION_SUMMARY_FEED - - API_ACCESS_TREND_FEED - - APP_ACCESS_TREND_FEED - - API_RESPONSE_TIME_TREND_FEED - - TOP_API_HITS_BY_ACCESS_FEED - - TOP_API_BY_FOLLOWERS_FEED - - TOP_RESOURCE_HITS_BY_ACCESS_FEED - - TOP_STATUSCODE_HITS_BY_ACCESS_FEED - - TOP_APP_HITS_BY_ACCESS_FEED - - APP_DISTRIBUTION_IN_API_FEED - - API_DISTRIBUTION_IN_APP_FEED - - SIGN_UP_TREND_FEED - - LOGIN_TREND_FEED - - ACCESS_LOGS - - TOP_APP_TYPE_HITS_BY_ACCESS_FEED - - USER_SIGNUP_SUMMARY_FEED - - USER_LOGIN_SUMMARY_FEED - - TOP_CONSUMER_LOGINS - - TOTAL_USER_SIGNUP_AND_DELETE_FEED - - ENTITY_SUMMARY_FEED - - ## Authorization - - User having Administrator permission can access **every** feed. - - - User having Provider permission can access the below feeds **and** the feeds applicable for Consumer users. - The metrics are about **all** published APIs and subscribed applications. - - ENTITY_SUMMARY_FEED - - TOP_API_VIEW_HITS_BY_ACCESS_FEED - - TOP_API_BY_FOLLOWERS_FEED - - API_VIEW_TREND_FEED - - TOP_API_TEST_HITS_BY_ACCESS_FEED - - CONSUMPTION_TREND_FEED - - TOP_API_POST_HITS_BY_ACCESS_FEED - - TOP_ENGAGED_USERS - - - User having Consumer permission can access the below feeds. - The metrics are **only** about his/her own APIs and Applications. - - TRANSACTION_SUMMARY_FEED - - TOP_STATUSCODE_HITS_BY_ACCESS_FEED - - API_ACCESS_TREND_FEED - - TOP_API_HITS_BY_ACCESS_FEED - - ACCESS_LOGS - - TOP_APP_TYPE_HITS_BY_ACCESS_FEED - - APP_ACCESS_TREND_FEED - - API_DISTRIBUTION_IN_APP_FEED - - TOP_APP_HITS_BY_ACCESS_FEED - - API_RESPONSE_TIME_TREND_FEED - - TOP_RESOURCE_HITS_BY_ACCESS_FEED - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server -paths: - '/analytics/{id}': - post: - summary: Get the analytic insights for the given feed id and matching filter criteria. - description: Get the analytic insights for the given feed id and matching filter criteria. - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/WidgetFilters' - examples: - WidgetFilters: - $ref: '#/components/examples/WidgetFilters' - responses: - '200': - $ref: '#/components/responses/AnalyticsResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - parameters: - - name: id - in: path - required: true - schema: - type: string - enum: - - TRANSACTION_SUMMARY_FEED - - API_ACCESS_TREND_FEED - - APP_ACCESS_TREND_FEED - - API_RESPONSE_TIME_TREND_FEED - - TOP_API_HITS_BY_ACCESS_FEED - - TOP_API_BY_FOLLOWERS_FEED - - TOP_RESOURCE_HITS_BY_ACCESS_FEED - - TOP_STATUSCODE_HITS_BY_ACCESS_FEED - - TOP_APP_HITS_BY_ACCESS_FEED - - APP_DISTRIBUTION_IN_API_FEED - - API_DISTRIBUTION_IN_APP_FEED - - SIGN_UP_TREND_FEED - - LOGIN_TREND_FEED - - ACCESS_LOGS - - TOP_APP_TYPE_HITS_BY_ACCESS_FEED - - USER_SIGNUP_SUMMARY_FEED - - USER_LOGIN_SUMMARY_FEED - - TOP_CONSUMER_LOGINS - - TOTAL_USER_SIGNUP_AND_DELETE_FEED - - '/analytics/ACCESS_LOGS': - post: - summary: Get the access logs for the matching filter criteria - description: Get the access logs for the matching filter criteria - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/WidgetFilters' - examples: - WidgetFilters: - $ref: '#/components/examples/WidgetFilters' - responses: - '200': - $ref: '#/components/responses/SearchResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - parameters: - - name: page - in: query - required: false - schema: - type: integer - default: 0 - description: Page number to retrieve - -components: - schemas: - WidgetFilters: - type: object - properties: - apis: - type: array - description: List of api ids - items: - type: string - applications: - type: array - description: List of application ids - items: - type: string - dates: - type: array - description: Start and end date - items: - type: string - resources: - type: array - description: List of resource ids - items: - type: string - methods: - type: array - description: List of method ids - items: - type: string - status: - type: array - description: Status code - items: - type: string - interval: - description: Time interval - type: string - user: - description: User id - type: string - AnalyticsResponse: - type: object - properties: - value: - description: Value of the metric - type: integer - detail: - type: array - description: Analytics details - items: - $ref: '#/components/schemas/AnalyticsResponse' - metadata: - type: object - description: Additional metadata about the metric - additionalProperties: true - TransactionalEvent: - type: object - additionalProperties: true - properties: - cachedResponse: - type: string - description: Cached response if any - providerTime: - type: string - description: Time taken by the provider - request: - type: string - description: Actual request made - response: - type: string - description: Actual response of the event invocation - totalSize: - type: string - totalTime: - type: string - description: Total time taken for the invocation - responseCode: - type: string - description: Response code of the event invocation - nativeHttpMethod: - type: string - description: HTTP method invoked - operationName: - type: string - description: Name of the resource invoked - consumerId: - description: Identifier of the application - type: string - consumerName: - description: Application name - type: string - apiId: - description: Identifier of the API - type: string - apiName: - type: string - description: Name of the API - SearchResponse: - type: object - properties: - result: - type: array - description: Result list - items: - $ref: '#/components/schemas/TransactionalEvent' - count: - type: integer - description: Total count of events - _links: - type: object - description: Links of current and next pages - properties: - _self: - type: string - description: Current page reference - _next: - type: string - description: Next page reference - Error: - type: object - properties: - code: - type: integer - description: Error code - message: - type: string - description: Error message - errors: - type: array - description: Error detail list - items: - type: string - - responses: - AnalyticsResponse: - description: Analytics response of the feed - content: - application/json: - schema: - $ref: '#/components/schemas/AnalyticsResponse' - examples: - TransactionSummaryFeedResponse: - $ref: '#/components/examples/TransactionSummaryFeedResponse' - TopApiHitsResponse: - $ref: '#/components/examples/TopApiHitsResponse' - TopApiByFollowersResponse: - $ref: '#/components/examples/TopApiByFollowersResponse' - TopStatusCodeHitsResponse: - $ref: '#/components/examples/TopStatusCodeHitsResponse' - TopAppHitsResponse: - $ref: '#/components/examples/TopAppHitsResponse' - ApiAccessTrendResponse: - $ref: '#/components/examples/ApiAccessTrendResponse' - AppAccessTrendResponse: - $ref: '#/components/examples/AppAccessTrendResponse' - SignUpTrendFeedResponse: - $ref: '#/components/examples/SignupTrendFeedResponse' - LoginTrendFeedResponse: - $ref: '#/components/examples/LoginTrendFeedResponse' - TopAppTypeHitsFeedResponse: - $ref: '#/components/examples/TopAppTypeHitsFeedResponse' - UserSignUpSummaryFeedResponse: - $ref: '#/components/examples/UserSignUpSummaryFeedResponse' - UserLoginSummaryFeedResponse: - $ref: '#/components/examples/UserLoginSummaryFeedResponse' - ApiResponseTimeTrendFeedResponse: - $ref: '#/components/examples/ApiResponseTimeTrendFeedResponse' - TotalUserSignupAndDeleteFeedResponse: - $ref: '#/components/examples/TotalUserSignupAndDeleteFeedResponse' - TopResourceHitsFeedResponse: - $ref: '#/components/examples/TopResourceHitsFeedResponse' - AppDistributionInApiFeedResponse: - $ref: '#/components/examples/AppDistributionInApiFeedResponse' - ApiDistributionInAppFeedResponse: - $ref: '#/components/examples/ApiDistributionInAppFeedResponse' - EntitySummaryFeedResponse: - $ref: '#/components/examples/EntitySummaryFeedResponse' - SearchResponse: - description: Analytics response of the feed - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponse' - examples: - AccessLogsResponse: - $ref: '#/components/examples/SearchResponse' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - - examples: - EntitySummaryFeedResponse: - value: - detail: - - metadata: - APPLICATION: 3 - API: 5 - TOPIC: 1 - ApiDistributionInAppFeedResponse: - value: - value: 3223 - detail: - - value: 1483 - detail: - - value: 990 - metadata: - id: 58436a0d-df78-4c9b-968f-2d8d1c082283 - name: HttpMethodInvoker - version: '1.0' - - value: 493 - metadata: - id: d6376456-9d08-4a3e-b44d-7f40bb206d51 - name: HTTPBin_Format_API - version: '1.0' - metadata: - id: 21236a05-dbd0-44cd-a62d-df16b7798892 - name: HTTPApp - - value: 744 - detail: - - value: 744 - metadata: - id: 9fe63f05-1ec9-47a2-9133-e786f6af20d9 - name: JsonPlaceholderUsers - version: '1.0' - metadata: - id: 63a2d01a-c6cd-4d22-b127-6545c0abb856 - name: PlaceholderApp - - value: 498 - detail: - - value: 498 - metadata: - id: c2eb4247-8274-4ffb-978e-382c23825cfa - name: PhotosAPI - version: '1.0' - metadata: - id: 379cbafd-b3a3-4d10-aa8c-b639eb1b7e05 - name: PhotoApp - - value: 498 - detail: - - value: 498 - metadata: - id: d3af0fc6-1e8b-42a8-a7bb-79524cc346e6 - name: XKCD_API - version: '1.0' - metadata: - id: 4b8f34e5-bdb9-4250-8678-7784e92781c3 - name: XKCDApp - AppDistributionInApiFeedResponse: - value: - value: 3223 - detail: - - value: 990 - detail: - - value: 990 - metadata: - id: 21236a05-dbd0-44cd-a62d-df16b7798892 - name: HTTPApp - metadata: - id: 58436a0d-df78-4c9b-968f-2d8d1c082283 - name: HttpMethodInvoker - version: '1.0' - - value: 744 - detail: - - value: 744 - metadata: - id: 63a2d01a-c6cd-4d22-b127-6545c0abb856 - name: PlaceholderApp - metadata: - id: 9fe63f05-1ec9-47a2-9133-e786f6af20d9 - name: JsonPlaceholderUsers - version: '1.0' - - value: 498 - detail: - - value: 498 - metadata: - id: 379cbafd-b3a3-4d10-aa8c-b639eb1b7e05 - name: PhotoApp - metadata: - id: c2eb4247-8274-4ffb-978e-382c23825cfa - name: PhotosAPI - version: '1.0' - - value: 498 - detail: - - value: 498 - metadata: - id: 4b8f34e5-bdb9-4250-8678-7784e92781c3 - name: XKCDApp - metadata: - id: d3af0fc6-1e8b-42a8-a7bb-79524cc346e6 - name: XKCD_API - version: '1.0' - - value: 493 - detail: - - value: 493 - metadata: - id: 21236a05-dbd0-44cd-a62d-df16b7798892 - name: HTTPApp - metadata: - id: d6376456-9d08-4a3e-b44d-7f40bb206d51 - name: HTTPBin_Format_API - version: '1.0' - TopResourceHitsFeedResponse: - value: - value: 3223 - detail: - - value: 498 - metadata: - id: '/photos/{id}' - resource: '/photos/{id}' - - value: 498 - metadata: - id: '/{id}/info.0.json' - resource: '/{id}/info.0.json' - - value: 494 - metadata: - id: '/users/{id}' - resource: '/users/{id}' - - value: 250 - metadata: - id: /delete - resource: /delete - - value: 250 - metadata: - id: /post - resource: /post - WidgetFilters: - value: - apis: - - 550c52c8-7812-4f69-ac1d-7951351b5c88 - applications: - - 1d4a465a-3b9a-3b0e-b14d-ae3d08c3b1d9 - ApiResponseTimeTrendFeedResponse: - value: - value: 3226 - detail: - - value: 991 - detail: - - value: 761 - metadata: - key: '2021-04-01T05:20:00.000Z' - - value: 673 - metadata: - key: '2021-04-01T05:25:00.000Z' - - value: 680 - metadata: - key: '2021-04-01T05:30:00.000Z' - - value: 656 - metadata: - key: '2021-04-01T05:35:00.000Z' - - value: 747 - metadata: - key: '2021-04-01T05:40:00.000Z' - metadata: - id: 58436a0d-df78-4c9b-968f-2d8d1c082283 - name: HttpMethodInvoker - version: '1.0' - - value: 744 - detail: - - value: 918 - metadata: - key: '2021-04-01T05:20:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:21:00.000Z' - - value: 391 - metadata: - key: '2021-04-01T05:22:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:23:00.000Z' - - value: 423 - metadata: - key: '2021-04-01T05:24:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:25:00.000Z' - - value: 434 - metadata: - key: '2021-04-01T05:26:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:27:00.000Z' - - value: 429 - metadata: - key: '2021-04-01T05:28:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:29:00.000Z' - - value: 405 - metadata: - key: '2021-04-01T05:30:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:31:00.000Z' - - value: 425 - metadata: - key: '2021-04-01T05:32:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:33:00.000Z' - - value: 395 - metadata: - key: '2021-04-01T05:34:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:35:00.000Z' - - value: 412 - metadata: - key: '2021-04-01T05:36:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:37:00.000Z' - - value: 447 - metadata: - key: '2021-04-01T05:38:00.000Z' - metadata: - id: 9fe63f05-1ec9-47a2-9133-e786f6af20d9 - name: JsonPlaceholderUsers - version: '1.0' - - value: 500 - detail: - - value: 1597 - metadata: - key: '2021-04-01T05:20:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:21:00.000Z' - - value: 281 - metadata: - key: '2021-04-01T05:22:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:23:00.000Z' - - value: 229 - metadata: - key: '2021-04-01T05:24:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:25:00.000Z' - - value: 283 - metadata: - key: '2021-04-01T05:26:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:27:00.000Z' - - value: 293 - metadata: - key: '2021-04-01T05:28:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:29:00.000Z' - - value: 288 - metadata: - key: '2021-04-01T05:30:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:31:00.000Z' - - value: 247 - metadata: - key: '2021-04-01T05:32:00.000Z' - metadata: - id: d3af0fc6-1e8b-42a8-a7bb-79524cc346e6 - name: XKCD_API - version: '1.0' - - value: 498 - detail: - - value: 1636 - metadata: - key: '2021-04-01T05:20:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:21:00.000Z' - - value: 468 - metadata: - key: '2021-04-01T05:22:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:23:00.000Z' - - value: 401 - metadata: - key: '2021-04-01T05:24:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:25:00.000Z' - - value: 377 - metadata: - key: '2021-04-01T05:26:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:27:00.000Z' - - value: 425 - metadata: - key: '2021-04-01T05:28:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:29:00.000Z' - - value: 398 - metadata: - key: '2021-04-01T05:30:00.000Z' - - value: 0 - metadata: - key: '2021-04-01T05:31:00.000Z' - - value: 458 - metadata: - key: '2021-04-01T05:32:00.000Z' - metadata: - id: c2eb4247-8274-4ffb-978e-382c23825cfa - name: PhotosAPI - version: '1.0' - - value: 493 - detail: - - value: 911 - metadata: - key: '2021-03-29T10:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-29T22:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-30T10:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-30T22:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-31T10:00:00.000Z' - - value: 707 - metadata: - key: '2021-03-31T22:00:00.000Z' - metadata: - id: d6376456-9d08-4a3e-b44d-7f40bb206d51 - name: HTTPBin_Format_API - version: '1.0' - SignupTrendFeedResponse: - value: - value: 1 - detail: - - value: 1 - detail: - - value: 1 - metadata: - key: '2021-03-26T06:30:00.000Z' - metadata: - event_type: Signup - TransactionSummaryFeedResponse: - value: - value: 100 - detail: - - metadata: - yesterday: 10 - today: 20 - thisWeek: 40 - lastWeek: 10 - thisMonth: 60 - lastMonth: 40 - TopApiHitsResponse: - value: - value: 85 - detail: - - value: 40 - metadata: - id: 1f5a934f-38ee-4baf-a206-651fd2c4e5a7 - name: SwaggerPet2 - version: 1.0.5 - - value: 28 - metadata: - id: 527f43fb-d699-4f78-92c0-447f39ed26be - name: SwaggerPet3 - version: 1.0.5 - - value: 17 - metadata: - id: ec196cd7-bfaf-4f43-a0e8-17fbbdd8f86b - name: SwaggerGW - version: 1.0.5 - - TopApiByFollowersResponse: - value: - value: 13 - detail: - - value: 4 - metadata: - id: d51f6adb-144e-4e48-b451-7abd82c7b38b - name: petStore5 - version: 1.0.5 - - value: 3 - metadata: - id: e4a84d8e-5d20-4bd0-a761-3d8581924276 - name: petStore1 - version: 1.0.5 - - value: 2 - metadata: - id: '01677380-9270-4e24-a9ab-c3a716ad9d87' - name: Portal Configurations API - version: '10.11' - - value: 2 - metadata: - id: 0f35edb1-ff09-42cb-b91c-f447e8fc94fb - name: Plan Management API - version: '10.11' - - value: 2 - metadata: - id: 81a6cc39-5a36-489f-89a0-ef4cf8878a8e - name: Portal OAuthToken API - version: '10.11' - - UserSignUpSummaryFeedResponse: - value: - value: 1 - detail: - - value: 0 - metadata: - yesterday: '0' - today: '0' - thisWeek: '0' - lastMonth: '1' - thisMonth: '0' - lastWeek: '1' - UserLoginSummaryFeedResponse: - value: - value: 26 - detail: - - value: 0 - metadata: - yesterday: '0' - today: '5' - thisWeek: '13' - lastMonth: '21' - thisMonth: '5' - lastWeek: '13' - SignUpTrendFeedResponse: - value: - value: 1 - detail: - - value: 1 - detail: - - value: 1 - metadata: - key: '2021-03-26T06:30:00.000Z' - metadata: - id: Signup - name: Signup - LoginTrendFeedResponse: - value: - value: 25 - detail: - - value: 25 - detail: - - value: 12 - metadata: - key: '2021-03-26T04:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-26T16:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-27T04:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-27T16:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-28T04:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-28T16:00:00.000Z' - - value: 4 - metadata: - key: '2021-03-29T04:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-29T16:00:00.000Z' - - value: 4 - metadata: - key: '2021-03-30T04:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-30T16:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-31T04:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-31T16:00:00.000Z' - - value: 5 - metadata: - key: '2021-04-01T04:00:00.000Z' - metadata: - event_type: Login - TotalUserSignupAndDeleteFeedResponse: - value: - value: 1 - detail: - - value: 1 - metadata: - id: Signup - name: Signup - TopStatusCodeHitsResponse: - value: - value: 85 - detail: - - value: 67 - metadata: - id: '200' - status: '200' - - value: 11 - metadata: - id: '404' - status: '404' - - value: 6 - metadata: - id: '401' - status: '401' - - value: 1 - metadata: - id: '408' - status: '408' - TopAppHitsResponse: - value: - value: 85 - detail: - - value: 38 - metadata: - id: fa4d2f09-a8c4-45ce-bf1b-77375bcd7104 - name: MyApp - - value: 28 - metadata: - id: b8bccea3-0d94-41c7-861e-027e27a997d6 - name: consumer2App2 - - value: 12 - metadata: - id: b06ec36d-fc00-4ffd-a9d1-2510d69082ba - name: consumer2App - - value: 7 - metadata: - name: UNKNOWN - ApiAccessTrendResponse: - value: - value: 85 - detail: - - value: 40 - detail: - - value: 15 - metadata: - key: '2021-03-18T09:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T12:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T15:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T18:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T21:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-19T00:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-19T03:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-19T06:00:00.000Z' - - value: 25 - metadata: - key: '2021-03-19T09:00:00.000Z' - metadata: - id: 1f5a934f-38ee-4baf-a206-651fd2c4e5a7 - name: SwaggerPet2 - version: 1.0.5 - - value: 28 - detail: - - value: 14 - metadata: - key: '2021-03-22T10:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-22T13:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-22T16:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-22T19:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-22T22:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-23T01:00:00.000Z' - - value: 14 - metadata: - key: '2021-03-23T04:00:00.000Z' - metadata: - id: 527f43fb-d699-4f78-92c0-447f39ed26be - name: SwaggerPet3 - version: 1.0.5 - - value: 17 - detail: - - value: 6 - metadata: - key: '2021-03-18T06:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T09:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T12:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T15:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T18:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T21:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-19T00:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-19T03:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-19T06:00:00.000Z' - - value: 11 - metadata: - key: '2021-03-19T09:00:00.000Z' - metadata: - id: ec196cd7-bfaf-4f43-a0e8-17fbbdd8f86b - name: SwaggerGW - version: 1.0.5 - TopAppTypeHitsFeedResponse: - value: - value: 7 - detail: - - value: 6 - metadata: - id: APISubscription - type: API Subscription - - value: 1 - metadata: - id: PackageSubscription - type: API Subscription - AppAccessTrendResponse: - value: - value: 85 - detail: - - value: 38 - detail: - - value: 14 - metadata: - key: '2021-03-18T09:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T12:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T15:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T18:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T21:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-19T00:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-19T03:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-19T06:00:00.000Z' - - value: 24 - metadata: - key: '2021-03-19T09:00:00.000Z' - metadata: - id: fa4d2f09-a8c4-45ce-bf1b-77375bcd7104 - name: MyApp - - value: 28 - detail: - - value: 14 - metadata: - key: '2021-03-22T10:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-22T13:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-22T16:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-22T19:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-22T22:00:00.000Z' - - value: 0 - metadata: - key: '2021-03-23T01:00:00.000Z' - - value: 14 - metadata: - key: '2021-03-23T04:00:00.000Z' - metadata: - id: b8bccea3-0d94-41c7-861e-027e27a997d6 - name: consumer2App2 - - value: 12 - detail: - - value: 4 - metadata: - key: '2021-03-19T10:18:00.000Z' - - value: 0 - metadata: - key: '2021-03-19T10:18:30.000Z' - - value: 0 - metadata: - key: '2021-03-19T10:19:00.000Z' - - value: 0 - metadata: - key: '2021-03-19T10:19:30.000Z' - - value: 4 - metadata: - key: '2021-03-19T10:20:00.000Z' - - value: 0 - metadata: - key: '2021-03-19T10:20:30.000Z' - - value: 0 - metadata: - key: '2021-03-19T10:21:00.000Z' - - value: 0 - metadata: - key: '2021-03-19T10:21:30.000Z' - - value: 4 - metadata: - key: '2021-03-19T10:22:00.000Z' - metadata: - id: b06ec36d-fc00-4ffd-a9d1-2510d69082ba - name: consumer2App - - value: 7 - detail: - - value: 5 - metadata: - key: '2021-03-18T06:28:00.000Z' - - value: 1 - metadata: - key: '2021-03-18T06:38:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T06:48:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T06:58:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T07:08:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T07:18:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T07:28:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T07:38:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T07:48:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T07:58:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T08:08:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T08:18:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T08:28:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T08:38:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T08:48:00.000Z' - - value: 0 - metadata: - key: '2021-03-18T08:58:00.000Z' - - value: 1 - metadata: - key: '2021-03-18T09:08:00.000Z' - metadata: - name: UNKNOWN - SearchResponse: - value: - count: 1 - result: - - id: null, - tenantId: null, - source: null, - creationDate: 1617012431810, - executor: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4, - eventType: TransactionalEvents, - eventSource: null, - apiId: d6376456-9d08-4a3e-b44d-7f40bb206d51, - apiName: HTTPBin_Format_API, - apiVersion: 1.0, - applicationId: 21236a05-dbd0-44cd-a62d-df16b7798892, - applicationIp: null, - applicationName: null, - operationName: /json, - responseCode: 200, - sessionId: eca7d15a1fe841a4a809e7348e1a7b80, - userAgent: null, - consumerId: cc4ef914-3e6b-439b-bed6-2fd63af3ead2, - consumerName: HTTPApp, - cachedResponse: null, - providerTime: 832, - totalSize: null, - totalTime: 911, - nativeHttpMethod: GET - _links: - _self: /rest/v1/analytics/ACCESS_LOGS?page=0 - 401: - value: - code: 401 - message: "Invalid credentials" - 403: - value: - code: 403 - message: "Insufficient privileges" diff --git a/apis/10.12/openapis/apis.yaml b/apis/10.12/openapis/apis.yaml deleted file mode 100644 index c3529a0..0000000 --- a/apis/10.12/openapis/apis.yaml +++ /dev/null @@ -1,4261 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Manage APIs - version: "10.11" - description: |- - ## Overview - API Portal functions as the key component of an effective API management solution. Third party providers use API Portal to - securely publish APIs to external developers and partners and provides design-time governance capabilities to the APIs. API Portal - offers direct API importing facility for standalone scenarios. - - This endpoint provides APIs management capability of an API Portal. Following functionalities can be achieved byt using this endpoint, - - ## APIs CRUD - - Import API using the Swagger/OpeanAPI/RAML/WSDL file - - Import API using the external URL API Definition - - Import API using the API Definition - - Modify API using the Swagger/OpeanAPI/RAML/WSDL file - - Modify API using the external URL API Definition - - Modify API using the API Definition - - Retrieve the publish status of an API - - Delete an particular API - - Export an API - - Retrieve the different version information of an API - - Retrieve the different stages infomration of an API - - ## APIs search - - Retrieive all APIs - - Get number of APIs imported into API Portal - - Retrieve the APIs linked to an API Provider - - Retrieve the APIs based on search criteria - - Retrieve the particular API - - Retrieve the possible filters that can be used to search an API - - ## APIs association information - - Retrieve the subscriptions linked to an API - - Retrieve the applications linked to an API - - Retrieve the packages linked to an API - - Retrieve the groups linked to an API - - Retrieve the bookmarked topics linked to an API - - ## API collobration information - - Retrieve the communities linked to an API - - Retrieve the topics linked to an API - - Retrieve the bookmarked topics linked to an API - - Rate an API - - Follow an API - - Retrieve the followers count for an API - - Retrieve the followers of an API - - Update the view preference of a hybrid API - - ## API Tryout - - Test the resource/operation on an API - - Test the multipart or binary type resource of an API - - Retrieve the history of an API tryout - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - "/apis": - get: - summary: Retrieve all the APIs in the API Portal - description: |- - Endpoint to retrieve the list of all APIs in API Portal. - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponse' - example: |- - { "result": [ - { - "id": "fef45c9c-ddfb-4cae-a10a-e23213687c3e", - "name": "Swagger Petstore", - "type": "REST", - "accessToken": "OAuth2,APIKey", - "version": "1.0.0", - "icon": "4cd95998-0ba3-4c8e-a4aa-543a82aac0ce", - "systemVersion": "1.0", - "versionFamilyRef": "c53a7e34-6b93-4d33-a34f-786dd46f367b", - "communities": [ - "3bdf8005-5685-3ef5-b132-de4681963fb6" - ], - "tags": [ - "pet" - ], - "endPoints": [ - { - "name": "https://petstore.swagger.io/v2", - "baseUrl": "https://petstore.swagger.io/v2", - "properties": [ - { - "name": "xAPIKeyHeader", - "key": "xAPIKeyHeader", - "value": "api_key" - } - ] - }, - { - "name": "http://petstore.swagger.io/v2", - "baseUrl": "http://petstore.swagger.io/v2", - "properties": [ - { - "name": "xAPIKeyHeader", - "key": "xAPIKeyHeader", - "value": "api_key" - } - ] - } - ], - "attachments": [ - { - "name": "Swagger_Petstore.yaml", - "uri": "08b9f7ab-51c6-43a5-b746-7910c8a00582" - } - ], - "policies": [ - { - "name": "petstore_auth", - "description": "
!!io.swagger.models.auth.OAuth2Definition\nauthorizationUrl: http://petstore.swagger.io/oauth/dialog\ndescription: null\nflow: implicit\nscopes:\n  write:pets: modify pets in your account\n  read:pets: read your pets\ntokenUrl: null\ntype: oauth2\nvendorExtensions: {\n  }\n
" - }, - { - "name": "api_key", - "description": "
!!io.swagger.models.auth.ApiKeyAuthDefinition\ndescription: null\nin: HEADER\nname: api_key\ntype: apiKey\nvendorExtensions: {\n  }\n
" - } - ], - "properties": [ - { - "name": "Contact Email", - "key": "Contact Email", - "value": "apiteam@swagger.io", - "type": "STRING" - }, - { - "name": "External Document Description", - "key": "External Document Description", - "value": "Find out more about Swagger", - "type": "STRING" - }, - { - "name": "Terms Of Service", - "key": "Terms Of Service", - "value": "http://swagger.io/terms/", - "type": "STRING" - }, - { - "name": "License Name", - "key": "License Name", - "value": "Apache 2.0", - "type": "STRING" - }, - { - "name": "External Document Url", - "key": "External Document Url", - "value": "http://swagger.io", - "type": "STRING" - }, - { - "name": "License URL", - "key": "License URL", - "value": "http://www.apache.org/licenses/LICENSE-2.0.html", - "type": "STRING" - } - ], - "providerRef": "5390f906-1334-44cd-b251-7087f4d4e6ce", - "inputContentType": "[]", - "outputContentType": "[]", - "components": [ - { - "schema": [ - { - "name": "Order", - "schema": "{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"integer\",\"format\":\"int64\"},\"petId\":{\"type\":\"integer\",\"format\":\"int64\"},\"quantity\":{\"type\":\"integer\",\"format\":\"int32\"},\"shipDate\":{\"type\":\"string\",\"format\":\"date-time\"},\"status\":{\"type\":\"string\",\"description\":\"Order Status\",\"enum\":[\"placed\",\"approved\",\"delivered\"]},\"complete\":{\"type\":\"boolean\",\"default\":false}},\"xml\":{\"name\":\"Order\"}}", - "description": "" - }, - { - "name": "Category", - "schema": "{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"integer\",\"format\":\"int64\"},\"name\":{\"type\":\"string\"}},\"xml\":{\"name\":\"Category\"}}", - "description": "" - }, - { - "name": "User", - "schema": "{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"integer\",\"format\":\"int64\"},\"username\":{\"type\":\"string\"},\"firstName\":{\"type\":\"string\"},\"lastName\":{\"type\":\"string\"},\"email\":{\"type\":\"string\"},\"password\":{\"type\":\"string\"},\"phone\":{\"type\":\"string\"},\"userStatus\":{\"type\":\"integer\",\"format\":\"int32\",\"description\":\"User Status\"}},\"xml\":{\"name\":\"User\"}}", - "description": "" - }, - { - "name": "Tag", - "schema": "{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"integer\",\"format\":\"int64\"},\"name\":{\"type\":\"string\"}},\"xml\":{\"name\":\"Tag\"}}", - "description": "" - }, - { - "name": "Pet", - "schema": "{\"type\":\"object\",\"required\":[\"name\",\"photoUrls\"],\"properties\":{\"id\":{\"type\":\"integer\",\"format\":\"int64\"},\"category\":{\"$ref\":\"#/definitions/Category\",\"originalRef\":\"#/definitions/Category\"},\"name\":{\"type\":\"string\",\"example\":\"doggie\"},\"photoUrls\":{\"type\":\"array\",\"xml\":{\"name\":\"photoUrl\",\"wrapped\":true},\"items\":{\"type\":\"string\"}},\"tags\":{\"type\":\"array\",\"xml\":{\"name\":\"tag\",\"wrapped\":true},\"items\":{\"$ref\":\"#/definitions/Tag\",\"originalRef\":\"#/definitions/Tag\"}},\"status\":{\"type\":\"string\",\"description\":\"pet status in the store\",\"enum\":[\"available\",\"pending\",\"sold\"]}},\"xml\":{\"name\":\"Pet\"}}", - "description": "" - }, - { - "name": "ApiResponse", - "schema": "{\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"integer\",\"format\":\"int32\"},\"type\":{\"type\":\"string\"},\"message\":{\"type\":\"string\"}}}", - "description": "" - } - ] - } - ], - "resourceIds": [ - "bef97b8d-fb7c-4bfc-bcfb-176077c79352" - ], - "hybridAPI": false, - "protected": true, - "secured": true, - "summary": "This is a sample server Petstore server.", - "description": "This is a sample server Petstore server.", - "externalRefKey": "71a172a4-ac3f-457f-a150-82e704242c0e" - } - ], - "count": 1, - "_links" : { - "_self": "rest/v1/apis?page=0" - } - } - '403': - $ref: '#/components/responses/Forbidden' - '401': - $ref: '#/components/responses/Unauthorized' - post: - summary: Publish an API to an APIPortal - description: |- - Endpoint to publish an API to an API Portal. API can be imported in following ways, - - Import API using the Swagger/OpeanAPI/RAML/WSDL file - ![Import using file!](/public/assets/images/publish_api_file.jpg) - - Import API using the external URL API Definition - ![Import using url!](/public/assets/images/publish_api_url.jpg) - - Import API using the API Definition - ![Import using content!](/public/assets/images/publish_api_content.jpg) - - *Endpoint can be accessed only by a user having **Administrator** or **Provider** role* - requestBody: - content: - multipart/formdata: - schema: - type: object - properties: - name: - type: string - description: Name of an API can be provided, this will override the name in API Definition - example: Pet store - tenant: - type: string - description: Tenant to which the API needs to be published. If the parameter is not provided then based upon user session tenant will be decided. - example: default - data: - type: string - description: API definition file in binary format - api-content: - type: string - description: API Definition in Swagger/OpenAPI/RAML/WSDL format. This parameter is used for inline API publish - url: - type: string - description: URL of API Definition in Swagger/OpenAPI/RAML/WSDL format - example: https://petstore.swagger.io/v2/swagger.json - root-file: - type: string - description: If an zip file containing API definitions is been used for publishing then the root file name needs to be provided. - version: - type: string - description: Represent current version of the API - versionof: - type: string - description: Represent Version family of APIs - examples: - Publish API using URL: - value: |- - ------WebKitFormBoundaryW3ScWDgMrYIFpLVZ - Content-Disposition: form-data; name="name" - - Pet - ------WebKitFormBoundaryW3ScWDgMrYIFpLVZ - Content-Disposition: form-data; name="url" - - https://petstore.swagger.io/v2/swagger.json - ------WebKitFormBoundaryW3ScWDgMrYIFpLVZ-- - Publish API using Inline content: - value: |- - ------WebKitFormBoundarypaYOOLBaB3Dn59rP - Content-Disposition: form-data; name="name" - - InlineAPI - ------WebKitFormBoundarypaYOOLBaB3Dn59rP - Content-Disposition: form-data; name="api-content" - - { - "swagger" : "2.0", - "info" : { - "version" : "1.0", - "title" : "HTTPBin_Format_API" - }, - "host" : "httpbin.org", - "basePath" : "/", - "schemes" : [ "http" ], - "paths" : { - "/xml" : { - "get" : { - "consumes" : [ ], - "parameters" : [ ] - } - }, - "/json" : { - "get" : { - "consumes" : [ ], - "parameters" : [ ] - } - } - } - } - ------WebKitFormBoundarypaYOOLBaB3Dn59rP-- - Publish API using the file: - value: |- - ------WebKitFormBoundaryOBl7vP7ee7F5cESA - Content-Disposition: form-data; name="name" - - FileImport - ------WebKitFormBoundaryOBl7vP7ee7F5cESA - Content-Disposition: form-data; name="version" - - 1.0 - ------WebKitFormBoundaryOBl7vP7ee7F5cESA - Content-Disposition: form-data; name="data"; filename="HTTPBin_Format_API.json" - Content-Type: application/json - - - ------WebKitFormBoundaryOBl7vP7ee7F5cESA-- - - parameters: - - name: type - in: query - description: Type of an API that is being published - required: true - allowEmptyValue: false - schema: - type: string - enum: - - swagger - - raml - - wsdl - - openapi - - name: async - in: query - description: Defines whether the API needs to be published synchronously or asynchronously. By default the API will be published asynchronously. - required: false - allowEmptyValue: false - schema: - type: boolean - enum: - - true - - false - - name: locale - in: query - description: The language of an API definition can be provided. By default 'English' would be considered. - required: false - allowEmptyValue: false - example: en - schema: - type: string - - name: providerid - in: query - description: GUID of provider to which the API to be associated - required: false - allowEmptyValue: false - example: 3bdf8005-5685-3ef5-b132-de4681963fb6 - schema: - type: string - - name: communities - in: query - description: GUID of communities to which the API to be associated - required: false - allowEmptyValue: false - example: 3bdf8005-5685-3ef5-b132-de4681963fb6, 63df8005-5685-3ef5-b132-de4681963fb6 - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - id: - type: string - processedCount: - type: integer - pendingCount: - type: integer - skippedCount: - type: integer - message: - type: string - status: - type: string - fileSize: - type: integer - elapsedTime: - type: integer - examples: - async: - value: - id: 83d0b5e7-5f70-47e2-b89e-883f4857f056 - processedCount: 0 - pendingCount: 0 - skippedCount: 0 - message: Parsing Source File - status: PARSING - fileSize: 0 - elapsedTime: 0 - sync: - value: - id: c98d046b-1356-4216-8904-d89035ea66df - _self: /rest/v1/apis/c98d046b-1356-4216-8904-d89035ea66df - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/400' - - '/apis/_count': - get: - summary: Retrieve the count of APIs in API Portal - description: |- - Endpoint to get the number of APIs available in API Portal - responses: - '200': - description: Retrieval of Count of APIs Successful - content: - plain/text: - example: 10 - - '/apis/filter': - get: - summary: Retrieve possible filter criterias of an APIs - description: |- - Endpoint to get the possible filter values that can be used to search or group an APIs - parameters: - - name: tenant - in: query - description: Filter values based on the API of the provided tenant will be returned. If the parameter is not provided then based upon user session tenant will be decided. - required: false - allowEmptyValue: false - example: default - schema: - type: string - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/ApiFilter' - example: |- - { - "categories": [], - "maturityStatus": [ - "Beta" - ], - "tags": [ - "Administrative", - "Approvals", - "API", - "events", - "Flow" - ], - "businessTerms": [], - "type": [ - "ODATA", - "REST", - "SOAP" - ] - } - - '/apis/{id}': - parameters: - - $ref: '#/components/parameters/apiId' - get: - summary: Retrieve an API by an ID - description: |- - Endpoint to obtain details of particular API based on ID - - *Endpoint can be accessed only by a user having **API READ** permission* - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/API' - examples: - 200: - $ref: '#/components/examples/API' - - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - '403': - $ref: '#/components/responses/Forbidden' - '401': - $ref: '#/components/responses/Unauthorized' - - put: - summary: Update an API in API Portal - description: |- - Endpoint to re-publish an API to an API Portal. API can be updated in following ways, - - Update API using the Swagger/OpeanAPI/RAML/WSDL file - ![Update using file!](/public/assets/images/publish_api_file.jpg) - - Update API using the external URL API Definition - ![Update using url!](/public/assets/images/publish_api_url.jpg) - - Update API using the API Definition - ![Update using content!](/public/assets/images/publish_api_content.jpg) - - *Endpoint can be accessed only by a user having **Administrator** or **Provider** role* - parameters: - - name: type - in: query - description: Type of an API that is being published - required: true - allowEmptyValue: false - schema: - type: string - enum: - - swagger - - raml - - wsdl - - openapi - - name: async - in: query - description: Defines whether the API needs to be published synchronously or asynchronously. By default the API will be published asynchronously. - required: false - allowEmptyValue: false - schema: - type: boolean - enum: - - true - - false - - name: locale - in: query - description: The language of an API definition can be provided. By default 'English' would be considered. - required: false - allowEmptyValue: false - example: en - schema: - type: string - - name: providerid - in: query - description: GUID of provider to which the API to be associated - required: false - allowEmptyValue: false - example: 3bdf8005-5685-3ef5-b132-de4681963fb6 - schema: - type: string - - name: communities - in: query - description: GUID of communities to which the API to be associated - required: false - allowEmptyValue: false - example: 3bdf8005-5685-3ef5-b132-de4681963fb6, 63df8005-5685-3ef5-b132-de4681963fb6 - schema: - type: string - requestBody: - content: - multipart/formdata: - schema: - type: object - properties: - name: - type: string - description: Name of an API can be provided, this will override the name in API Definition - example: Pet store - tenant: - type: string - description: Tenant to which the API needs to be published. If the parameter is not provided then based upon user session tenant will be decided. - example: default - data: - type: string - description: API definition file in binary format - api-content: - type: string - description: API Definition in Swagger/OpenAPI/RAML/WSDL format. This parameter is used for inline API publish - url: - type: string - description: URL of API Definition in Swagger/OpenAPI/RAML/WSDL format - example: https://petstore.swagger.io/v2/swagger.json - root-file: - type: string - description: If an zip file containing API definitions is been used for publishing then the root file name needs to be provided. - version: - type: string - description: Represent current version of the API - versionof: - type: string - description: Represent Version family of APIs - examples: - Publish API using URL: - value: |- - ------WebKitFormBoundaryW3ScWDgMrYIFpLVZ - Content-Disposition: form-data; name="name" - - Pet - ------WebKitFormBoundaryW3ScWDgMrYIFpLVZ - Content-Disposition: form-data; name="url" - - https://petstore.swagger.io/v2/swagger.json - ------WebKitFormBoundaryW3ScWDgMrYIFpLVZ-- - Publish API using Inline content: - value: |- - ------WebKitFormBoundarypaYOOLBaB3Dn59rP - Content-Disposition: form-data; name="name" - - InlineAPI - ------WebKitFormBoundarypaYOOLBaB3Dn59rP - Content-Disposition: form-data; name="api-content" - - { - "swagger" : "2.0", - "info" : { - "version" : "1.0", - "title" : "HTTPBin_Format_API" - }, - "host" : "httpbin.org", - "basePath" : "/", - "schemes" : [ "http" ], - "paths" : { - "/xml" : { - "get" : { - "consumes" : [ ], - "parameters" : [ ] - } - }, - "/json" : { - "get" : { - "consumes" : [ ], - "parameters" : [ ] - } - } - } - } - ------WebKitFormBoundarypaYOOLBaB3Dn59rP-- - Publish API using the file: - value: |- - ------WebKitFormBoundaryOBl7vP7ee7F5cESA - Content-Disposition: form-data; name="name" - - FileImport - ------WebKitFormBoundaryOBl7vP7ee7F5cESA - Content-Disposition: form-data; name="version" - - 1.0 - ------WebKitFormBoundaryOBl7vP7ee7F5cESA - Content-Disposition: form-data; name="data"; filename="HTTPBin_Format_API.json" - Content-Type: application/json - - - ------WebKitFormBoundaryOBl7vP7ee7F5cESA-- - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - id: - type: string - processedCount: - type: integer - pendingCount: - type: integer - skippedCount: - type: integer - message: - type: string - status: - type: string - fileSize: - type: integer - elapsedTime: - type: integer - examples: - async: - value: - id: 83d0b5e7-5f70-47e2-b89e-883f4857f056 - processedCount: 0 - pendingCount: 0 - skippedCount: 0 - message: Parsing Source File - status: PARSING - fileSize: 0 - elapsedTime: 0 - sync: - $ref: '#/components/examples/API' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/400' - - delete: - summary: Unpublish an API by an ID - description: |- - Endpoint to un-publish/delete an API from an API Portal. - - *Endpoint can be accessed only by a user having **Administrator** or **Provider** role* - responses: - '204': - description: 'No content' - - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - - '/apis/available': - get: - summary: Retrieve the APIs to be linked to an API Provider - description: |- - Endpoint to obtain list of APIs that can be linked to an API Provider - - *Endpoint can be accessed only by a user having **Administrator** or **Provider** role* - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - responses: - '200': - description: Successfully retrieved the APIs - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponse' - example: |- - { - "result": [ - { - "id": "a7f0f278-5620-4c0e-b1d2-052fd9585843", - "name": "Import API", - "icon": { - "url": "/public/assets/images/rest-api-icon.svg", - "type": "INTERNAL" - }, - "version": "1.0", - "type": "REST", - "externalRefKey": "71ac978f-e665-4061-bddb-79338f76faba" - }, - { - "id": "d21466d7-f4e1-46e9-93de-3323a594a656", - "name": "Portal Approval API", - "summary": "API to manage workflow in portal. List of available operations are as follows\n- Create, update and list a flow\n- List available approval flows in Portal\n- List available pending approval requests\n- Approve/Reject approval request", - "icon": { - "url": "/public/assets/images/rest-api-icon.svg", - "type": "INTERNAL" - }, - "version": "10.11", - "type": "REST", - "externalRefKey": "8d59eb88-8a9b-4c41-8c38-e670db725038" - } - ], - "count": 2, - "_links": { - "_self": "/rest/v1/apis/available?page=0" - } - } - - '/apis/{id}/communities': - parameters: - - $ref: '#/components/parameters/apiId' - get: - summary: 'Get Communities linked with the API' - description: |- - Endpoint to obtain list of communites that are linked with an API - - *Endpoint can be accessed only by a user having **Administrator** or **Provider** role* - responses: - '200': - $ref: '#/components/responses/Community' - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/apis/{id}/topics': - parameters: - - $ref: '#/components/parameters/apiId' - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - get: - summary: Get Topics linked with the API - description: |- - Endpoint to obtain list of topics that are linked with an API - - *Endpoint can be accessed only by a user having **API READ** permission* - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponseTopics' - examples: - 200: - $ref: '#/components/examples/SearchResponseTopicSummary' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - - '/apis/{id}/applications': - parameters: - - $ref: '#/components/parameters/apiId' - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - get: - summary: Get Applications linked with the API - description: |- - Endpoint to obtain list of applications that are linked with an API - - responses: - '200': - $ref: '#/components/responses/Application' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - - '/apis/{id}/subscriptions': - parameters: - - $ref: '#/components/parameters/apiId' - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: status - in: query - description: Optional parameter. Query based on the status of subscription. Default value is LIVE - required: false - schema: - type: string - default: LIVE - get: - summary: Get Subscriptions linked with the API - description: |- - Endpoint to obtain list of subscriptions that are linked with an API - - responses: - '200': - $ref: '#/components/responses/Subscriptions' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - - '/apis/{id}/versions': - parameters: - - $ref: '#/components/parameters/apiId' - get: - summary: 'Get versions of the API' - description: |- - Endpoint to obtain list of versions of an API - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/APISummary' - example: - - id: d6376456-9d08-4a3e-b44d-7f40bb206d51 - name: HTTPBin_Format_API - summary: '' - icon: - url: /public/assets/images/rest-api-icon.svg - type: INTERNAL - version: '1.0' - type: REST - externalRefKey: a76728ed-f760-4fff-a4b6-993b99356d07 - - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/apis/{id}/stages': - parameters: - - $ref: '#/components/parameters/apiId' - - get: - summary: 'Get stages of the API' - description: |- - Endpoint to obtain different stages of an API - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/APISummary' - example: - - id: d6376456-9d08-4a3e-b44d-7f40bb206d51 - name: HTTPBin_Format_API - summary: '' - icon: - url: /public/assets/images/rest-api-icon.svg - type: INTERNAL - version: '1.0' - type: REST - stage: API Portal Dev - externalRefKey: a76728ed-f760-4fff-a4b6-993b99356d07 - - id: d6376456-9d08-4a3e-b44d-7f40bb206d51 - name: HTTPBin_Format_API - summary: '' - icon: - url: /public/assets/images/rest-api-icon.svg - type: INTERNAL - version: '1.0' - type: REST - stage: API Portal QA - externalRefKey: a76728ed-f760-4fff-a4b6-993b99356d07 - - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/api/{id}/followers': - parameters: - - $ref: '#/components/parameters/apiId' - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - default: 0 - get: - summary: Get followers of an API - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - result: - type: array - items: - type: object - properties: - firstname: - type: string - lastname: - type: string - picture: - type: string - id: - type: string - count: - type: number - links: - type: object - properties: - _self: - type: string - _next: - type: string - _previous: - type: string - examples: - Followers: - value: - result: - - id: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - firstname: Administrator - lastname: System - pictureUrl: null - count: 1 - _links: - _self: /rest/v1/apis/0938f456-d34f-49ea-8a32-dc72ee13a8a3/followers?page=0 - description: |- - Endpoint to obtain followers list of an API - put: - summary: Follow/ Un-Follow API - description: |- - Endpoint to follow or unfollow an API - - responses: - '200': - description: 'The response when the follow/ un-follow is successfully' - content: - application/json: - schema: - $ref: '#/components/schemas/UpdationResponse' - examples: - updated: - summary: Example - value: - code: 200 - message: Follow entity successful - - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - description: 'The response when the requested API is not found in API Portal' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the API with id [fefcfc8f-0a77-4976-b5aasd4-eeaa53884f3b] - - '/apis/{id}/packages': - parameters: - - $ref: '#/components/parameters/apiId' - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - get: - summary: 'Get packages linked with the API' - description: |- - Endpoint to obtain list of communites that are linked with an API - - *Endpoint can be accessed only by a user having **API READ** permission* - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponsePackage' - examples: - 200: - $ref: '#/components/examples/SearchResponsePackageSummary' - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/apis/{id}/groups': - parameters: - - $ref: '#/components/parameters/apiId' - get: - summary: 'Get API methods by group' - description: |- - Endpoint to obtain methods of an API segregated by groups - - *Endpoint can be accessed only by a user having **API READ** permission* - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Groups' - examples: - 200: - $ref: '#/components/examples/Groups' - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/apis/{id}/applications/available': - parameters: - - $ref: '#/components/parameters/apiId' - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - get: - summary: Get Applications that can be linked with the API - description: |- - Endpoint to obtain list of applications that can be linked with an API - - responses: - '200': - $ref: '#/components/responses/Application' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - - '/apis/{id}/rate': - parameters: - - $ref: '#/components/parameters/apiId' - put: - summary: Rate an API - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/RatingRequest' - examples: - RatingRequest: - $ref: '#/components/examples/RatingRequest' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/RatingResponse' - examples: - RatingResponse: - $ref: '#/components/examples/RatingResponse' - description: |- - Endpoint to rate an API - - *Endpoint can be accessed only by a user having **API READ** permission* - get: - summary: Get the rating for an API - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/RatingResponse' - examples: - RatingResponse: - $ref: '#/components/examples/RatingResponse' - description: |- - Endpoint to get rating of an API - - *Endpoint can be accessed only by a user having **API READ** permission* - - '/apis/{id}/followers/_count': - parameters: - - $ref: '#/components/parameters/apiId' - get: - summary: Retrieve the count of followers for an API - responses: - '200': - description: OK - content: - application/json: - schema: - type: number - description: Number of followers in the API - example: - 3 - description: |- - Endpoint to get the number of followers fo an API - - '/apis/{id}/bookmarks': - parameters: - - $ref: '#/components/parameters/apiId' - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - get: - summary: Get bookmarked topics linked with the API - description: |- - Endpoint to obtain list of bookmarked topics that are linked with an API - - *Endpoint can be accessed only by a user having **API READ** permission* - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponseTopics' - examples: - 200: - $ref: '#/components/examples/SearchResponseTopicSummary' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - - '/apis/{id}/try': - parameters: - - $ref: '#/components/parameters/apiId' - post: - summary: Test an API - description: |- - Endpoint to test the resource or operation of an API - - *Endpoint can be accessed only by a user having **API READ** permission* - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TryAPIRequest' - examples: - SOAPTryRequest: - $ref: '#/components/examples/SOAPTryRequest' - RestTryRequest: - $ref: '#/components/examples/RestTryRequest' - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/TryAPIResponse' - examples: - TryAPIResponse: - $ref: '#/components/examples/TryAPIResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - - '/apis/{id}/fileTypeTry': - parameters: - - $ref: '#/components/parameters/apiId' - - $ref: '#/components/parameters/tryendpoint' - post: - summary: To test the multipart or binary type resources of API - description: |- - Endpoint to test the multipart or binary type resourcesof an API - - *Endpoint can be accessed only by a user having **API READ** permission* - requestBody: - content: - multipart/form-data: - schema: - type: object - additionalProperties: true - application/octet-stream: - schema: - type: string - format: binary - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/TryAPIResponse' - examples: - TryAPIResponse: - $ref: '#/components/examples/TryAPIResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - - '/apis/{id}/try/history': - parameters: - - $ref: '#/components/parameters/apiId' - get: - summary: Get tryout history - description: |- - Endpoint to get the history of tryout conducted for an API - - *Endpoint can be accessed only by a user having **API READ** permission* - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponseAudits' - example: |- - { - "result": [ - { - "id": "d2fe3af8-236d-41d5-8178-f47f44518c00", - "parameters": { - "api_id": "29d04ad2-35c5-4c4b-aa3b-bf363557ea39", - "try_out_response": { - "headers": { - "Cache-Control": [ - "max-age=0" - ], - "Server": [ - "Microsoft-IIS/7.5" - ], - "X-AspNet-Version": [ - "2.0.50727" - ], - "Content-Length": [ - "326" - ], - "Date": [ - "25 Jun 2020 07:31:09 GMT" - ], - "Content-Type": [ - "text/xml; charset=utf-8" - ], - "X-Powered-By": [ - "ASP.NET" - ] - }, - "response": { - "type": "TEXT", - "response": "29", - "contentType": null - }, - "status": { - "code": 200, - "reason": "OK" - }, - "metrics": { - "time": 2851, - "ip": null, - "context": null - } - }, - "source": "RequestHandler", - "user": "200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4", - "try_out_request": { - "type": "SOAP", - "operation": "SOAP11", - "endpoint": "http://dneonline.com/calculator.asmx", - "headers": { - "SOAPAction": "http://tempuri.org/Add" - }, - "body": { - "request_type": "SOAP", - "payload": " 10 19 ", - "namespaceUri": { - "tem": "http://tempuri.org" - }, - "security": { - "wssUserToken": null - } - }, - "startTime": 1593070268215, - "endTime": 1593070271066, - "method": null - } - }, - "type": "API_TRY_EVENT" - } - ], - "count": 1, - "_links": { - "_self": "rest/v1/apis?page=0" - } - } - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - - '/apis/status/{referenceId}': - get: - summary: ' Get Publish status of an API' - description: |- - Endpoint to obtain publish status of an API using the reference ID - - *Endpoint can be accessed only by a user having **ADMINISTRATOR** or **PROVIDER** role* - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Status' - examples: - Success: - value: - id: 91c770f3-af28-4f04-8945-93af832c2019 - processed: 1 - pending: 0 - message: Import completed - status: SUCCEEDED - successes: - 6807a792-17f0-4120-8266-11a542dfed6d: Calculator - Parsing: - value: - id: 0c30b9ae-8162-4b5f-8e77-8e9b561a1744 - processed: 0 - pending: 0 - message: Parsing Source File - status: PARSING - - - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - parameters: - - name: referenceId - in: path - required: true - allowEmptyValue: false - schema: - type: string - - '/apis/search': - post: - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - summary: Search APIs based on filter - description: |- - Endpoint to obtain search API based on the filter criterias - - *Endpoint can be accessed only by a user having **API READ** permission* - requestBody: - description: Payload for search - content: - application/json: - schema: - type: object - properties: - conjuction: - type: string - description: Condition for filters - enum: - - AND - - OR - - NOT - - MUST_NOT - criterias: - type: array - items: - type: object - properties: - field: - type: string - values: - type: array - items: - type: string - opertaion: - type: string - enum: - - CONTAINS - - EQUALS - sort: - type: array - items: - type: object - properties: - name: - type: string - order: - type: string - enum: - - ASC - - DSC - examples: - SearchPayload: - value: - conjunction: AND - criterias: - - field: apitype - values: - - REST - operation: EQUALS - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponse' - example: |- - { "result": [ - { - "id": "fef45c9c-ddfb-4cae-a10a-e23213687c3e", - "name": "Swagger Petstore", - "type": "REST", - "accessToken": "OAuth2,APIKey", - "version": "1.0.0", - "icon": "4cd95998-0ba3-4c8e-a4aa-543a82aac0ce", - "systemVersion": "1.0", - "versionFamilyRef": "c53a7e34-6b93-4d33-a34f-786dd46f367b", - "communities": [ - "3bdf8005-5685-3ef5-b132-de4681963fb6" - ], - "tags": [ - "pet" - ], - "endPoints": [ - { - "name": "https://petstore.swagger.io/v2", - "baseUrl": "https://petstore.swagger.io/v2", - "properties": [ - { - "name": "xAPIKeyHeader", - "key": "xAPIKeyHeader", - "value": "api_key" - } - ] - }, - { - "name": "http://petstore.swagger.io/v2", - "baseUrl": "http://petstore.swagger.io/v2", - "properties": [ - { - "name": "xAPIKeyHeader", - "key": "xAPIKeyHeader", - "value": "api_key" - } - ] - } - ], - "attachments": [ - { - "name": "Swagger_Petstore.yaml", - "uri": "08b9f7ab-51c6-43a5-b746-7910c8a00582" - } - ], - "policies": [ - { - "name": "petstore_auth", - "description": "
!!io.swagger.models.auth.OAuth2Definition\nauthorizationUrl: http://petstore.swagger.io/oauth/dialog\ndescription: null\nflow: implicit\nscopes:\n  write:pets: modify pets in your account\n  read:pets: read your pets\ntokenUrl: null\ntype: oauth2\nvendorExtensions: {\n  }\n
" - }, - { - "name": "api_key", - "description": "
!!io.swagger.models.auth.ApiKeyAuthDefinition\ndescription: null\nin: HEADER\nname: api_key\ntype: apiKey\nvendorExtensions: {\n  }\n
" - } - ], - "properties": [ - { - "name": "Contact Email", - "key": "Contact Email", - "value": "apiteam@swagger.io", - "type": "STRING" - }, - { - "name": "External Document Description", - "key": "External Document Description", - "value": "Find out more about Swagger", - "type": "STRING" - }, - { - "name": "Terms Of Service", - "key": "Terms Of Service", - "value": "http://swagger.io/terms/", - "type": "STRING" - }, - { - "name": "License Name", - "key": "License Name", - "value": "Apache 2.0", - "type": "STRING" - }, - { - "name": "External Document Url", - "key": "External Document Url", - "value": "http://swagger.io", - "type": "STRING" - }, - { - "name": "License URL", - "key": "License URL", - "value": "http://www.apache.org/licenses/LICENSE-2.0.html", - "type": "STRING" - } - ], - "providerRef": "5390f906-1334-44cd-b251-7087f4d4e6ce", - "inputContentType": "[]", - "outputContentType": "[]", - "components": [ - { - "schema": [ - { - "name": "Order", - "schema": "{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"integer\",\"format\":\"int64\"},\"petId\":{\"type\":\"integer\",\"format\":\"int64\"},\"quantity\":{\"type\":\"integer\",\"format\":\"int32\"},\"shipDate\":{\"type\":\"string\",\"format\":\"date-time\"},\"status\":{\"type\":\"string\",\"description\":\"Order Status\",\"enum\":[\"placed\",\"approved\",\"delivered\"]},\"complete\":{\"type\":\"boolean\",\"default\":false}},\"xml\":{\"name\":\"Order\"}}", - "description": "" - }, - { - "name": "Category", - "schema": "{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"integer\",\"format\":\"int64\"},\"name\":{\"type\":\"string\"}},\"xml\":{\"name\":\"Category\"}}", - "description": "" - }, - { - "name": "User", - "schema": "{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"integer\",\"format\":\"int64\"},\"username\":{\"type\":\"string\"},\"firstName\":{\"type\":\"string\"},\"lastName\":{\"type\":\"string\"},\"email\":{\"type\":\"string\"},\"password\":{\"type\":\"string\"},\"phone\":{\"type\":\"string\"},\"userStatus\":{\"type\":\"integer\",\"format\":\"int32\",\"description\":\"User Status\"}},\"xml\":{\"name\":\"User\"}}", - "description": "" - }, - { - "name": "Tag", - "schema": "{\"type\":\"object\",\"properties\":{\"id\":{\"type\":\"integer\",\"format\":\"int64\"},\"name\":{\"type\":\"string\"}},\"xml\":{\"name\":\"Tag\"}}", - "description": "" - }, - { - "name": "Pet", - "schema": "{\"type\":\"object\",\"required\":[\"name\",\"photoUrls\"],\"properties\":{\"id\":{\"type\":\"integer\",\"format\":\"int64\"},\"category\":{\"$ref\":\"#/definitions/Category\",\"originalRef\":\"#/definitions/Category\"},\"name\":{\"type\":\"string\",\"example\":\"doggie\"},\"photoUrls\":{\"type\":\"array\",\"xml\":{\"name\":\"photoUrl\",\"wrapped\":true},\"items\":{\"type\":\"string\"}},\"tags\":{\"type\":\"array\",\"xml\":{\"name\":\"tag\",\"wrapped\":true},\"items\":{\"$ref\":\"#/definitions/Tag\",\"originalRef\":\"#/definitions/Tag\"}},\"status\":{\"type\":\"string\",\"description\":\"pet status in the store\",\"enum\":[\"available\",\"pending\",\"sold\"]}},\"xml\":{\"name\":\"Pet\"}}", - "description": "" - }, - { - "name": "ApiResponse", - "schema": "{\"type\":\"object\",\"properties\":{\"code\":{\"type\":\"integer\",\"format\":\"int32\"},\"type\":{\"type\":\"string\"},\"message\":{\"type\":\"string\"}}}", - "description": "" - } - ] - } - ], - "resourceIds": [ - "bef97b8d-fb7c-4bfc-bcfb-176077c79352" - ], - "hybridAPI": false, - "protected": true, - "secured": true, - "summary": "This is a sample server Petstore server.", - "description": "This is a sample server Petstore server.", - "externalRefKey": "71a172a4-ac3f-457f-a150-82e704242c0e" - } - ], - "count": 1, - "_links" : { - "_self": "rest/v1/search?page=0" - } - } - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/apis/{id}/export': - parameters: - - $ref: '#/components/parameters/apiId' - - name: type - in: query - description: Export format can be specified. The supported types are json and yaml - required: false - schema: - type: string - default: json - get: - summary: 'Export an API' - description: |- - Endpoint to export an API - - *Endpoint can be accessed only by a user having **API READ** permission* - responses: - '200': - description: '' - content: - application/json: - example: |- - { - "openapi": "3.0.1", - "info": { - "title": "HTTPBin_Format_API", - "description": "", - "version": "1.0" - }, - "servers": [ - { - "url": "http://SAG-56ZNM13:5555/gateway/HTTPBin_Format_API/1.0" - } - ], - "paths": { - "/json": { - "summary": "", - "description": "", - "get": { - "summary": "", - "description": "", - "operationId": "GET", - "responses": {}, - "security": [ - {} - ] - } - }, - "/xml": { - "summary": "", - "description": "", - "get": { - "summary": "", - "description": "", - "operationId": "GET", - "responses": {}, - "security": [ - {} - ] - } - } - }, - "components": { - "securitySchemes": { - "x-Gateway-APIKey": { - "type": "apiKey", - "name": "x-Gateway-APIKey", - "in": "header" - } - } - } - } - - application/x-yaml: - example: |- - openapi: 3.0.1 - info: - title: HTTPBin_Format_API - description: "" - version: "1.0" - servers: - - url: http://SAG-56ZNM13:5555/gateway/HTTPBin_Format_API/1.0 - paths: - /json: - summary: "" - description: "" - get: - summary: "" - description: "" - operationId: GET - responses: {} - security: - - {} - /xml: - summary: "" - description: "" - get: - summary: "" - description: "" - operationId: GET - responses: {} - security: - - {} - components: - securitySchemes: - x-Gateway-APIKey: - type: apiKey - name: x-Gateway-APIKey - in: header - - '404': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - updated: - summary: Example - value: - code: 404 - message: Unable to find the requested API - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/apis/{id}/preferences': - put: - summary: Used to update the view preference of a hybrid API - description: Used to update the view preference of a hybrid API - responses: - '200': - $ref: '#/components/responses/UpdatePreference' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - $ref: '#/components/parameters/apiId' - - name: type - in: query - required: true - schema: - type: string - enum: - - REST - - SOAP - - '/apis/{id}/edits': - put: - summary: Edit the details of APIs and its associated resources - description: |- - Endpoint that is used to edit the basic details of an API, Resources or Methods - requestBody: - description: API patch payload - content: - application/json: - schema: - $ref: '#/components/schemas/PatchDTO' - examples: - PatchPayload: - $ref: '#/components/examples/PatchPayload' - responses: - '200': - description: Patch created successfully - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - $ref: '#/components/parameters/apiId' - - '/apis/{id}/logo': - put: - summary: Update the logo of the given API - description: Endpoint that is used to update the logo of the given API - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - file: - type: object - description: New Logo of the API to be uploaded. - example: | - ------WebKitFormBoundaryWh7YIEN5mdUWFbkh - Content-Disposition: form-data; name="file"; filename="Logo.jpg" - Content-Type: image/jpeg - - - ------WebKitFormBoundaryWh7YIEN5mdUWFbkh-- - responses: - '200': - $ref: '#/components/responses/CreationResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - $ref: '#/components/parameters/apiId' - - '/apis/{id}/attachments': - put: - summary: Update the attachments of the given API - description: Endpoint that is used to update the attachments of the given API - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - file: - type: object - description: New attachment of the API to be uploaded. - example: | - ------WebKitFormBoundaryWh7YIEN5mdUWFbkh - Content-Disposition: form-data; name="file"; filename="Spec.json" - Content-Type: application/json - - - ------WebKitFormBoundaryWh7YIEN5mdUWFbkh-- - responses: - '200': - $ref: '#/components/responses/CreationResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - $ref: '#/components/parameters/apiId' - -components: - securitySchemes: - accesstoken: - type: apiKey - in: cookie - name: accesstoken - bearerAuth: - type: http - scheme: bearer - bearerFormat: JWT - responses: - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404: - $ref: '#/components/examples/404' - Community: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Community' - examples: - 200: - $ref: '#/components/examples/Community' - Topic: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Topic' - examples: - 200: - $ref: '#/components/examples/Topic' - Application: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponseApplication' - examples: - 200: - $ref: '#/components/examples/Application' - Subscriptions: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponseSubscription' - examples: - 200: - $ref: '#/components/examples/Subscription' - SearchResponse: - description: ok - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponse' - UpdatePreference: - description: Update preference response - content: - application/json: - schema: - $ref: '#/components/schemas/UpdationResponse' - examples: - UpdatePreference: - $ref: '#/components/examples/UpdatePreference' - CreationResponse: - description: The response when an entity is created successfully - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedResponse' - examples: - CreationResponse: - $ref: '#/components/examples/CreatedResponse' - - schemas: - CreatedResponse: - type: object - properties: - id: - description: Identifier of the newly created object - type: string - _self: - description: Self reference of the newly created object - type: string - UpdationResponse: - type: object - properties: - code: - type: integer - message: - type: string - SearchResponse: - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/APISummary' - count: - type: integer - _links: - type: object - additionalProperties: - type: string - SearchResponseApplication: - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/Application' - count: - type: integer - _links: - type: object - additionalProperties: - type: string - SearchResponseSubscription: - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/Subscription' - count: - type: integer - _links: - type: object - additionalProperties: - type: string - SearchResponseTopics: - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/Topic' - count: - type: integer - _links: - type: object - additionalProperties: - type: string - SearchResponsePackage: - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/Package' - count: - type: integer - _links: - type: object - additionalProperties: - type: string - SearchResponseAudits: - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/AuditEventRepositoryObject' - count: - type: integer - _links: - type: object - additionalProperties: - type: string - AuditEventRepositoryObject: - allOf: - - $ref: '#/components/schemas/RepositoryObject' - type: object - properties: - parameters: - description: Event meta data - type: object - additionalProperties: - type: object - example: - api_name: AccuWeather - type: - description: Type of the event - type: object - enum: - - $ref: '#/components/schemas/EventType' - RatingRequest: - type: object - properties: - rating: - type: integer - RatingResponse: - type: object - properties: - total: - type: integer - average: - type: number - format: double - rating: - type: number - format: double - RepositoryObject: - type: object - properties: - id: - type: string - format: uuid - name: - type: string - summary: - type: string - description: - type: string - owner: - type: string - modified: - type: string - format: 'yyyy-MM-dd HH:mm' - created: - type: string - format: 'yyyy-MM-dd HH:mm' - EventType: - title: Type of the event - type: string - example: API_TRY_EVENT - enum: - - API_PUBLISH_EVENT - - API_REPUBLISH_EVENT - - API_UN_PUBLISH_EVENT - - PROVIDER_PUBLISH_EVENT - - PROVIDER_REPUBLISH_EVENT - - PROVIDER_UNPUBLISH_EVENT - - SIGN_UP_EVENT - - APPLICATION_REQUEST_EVENT - - APPLICATION_CREATION_REQUEST_EVENT - - APPLICATION_REQUEST_APPROVED_EVENT - - APPLICATION_REQUEST_REJECTED_EVENT - - COMMUNITY_CREATION_EVENT - - COMMUNITY_DELETION_EVENT - - COMMUNITY_MEMBERSHIP_CHANGE_EVENT - - COMMUNITY_SCOPE_CHANGE_EVENT - - IN_APP_NOTIFICATION_EVENT - - EMAIL_NOTIFICATION_EVENT - - API_TRY_EVENT - Error: - type: object - properties: - code: - type: integer - message: - type: string - Status: - type: object - properties: - id: - type: string - description: unique identification - processed: - type: integer - description: processed api/s count - pending: - type: integer - description: processed api/s count - message: - type: string - description: Publish message - status: - type: string - description: Publish status - enum: - - PENDING - - PARSING - - INPROGRESS - - SUCCEEDED - - FAILED - successes: - description: Id and name of API/s successfully published - key value pair - type: object - additionalProperties: - type: string - failures: - description: Id and name of API/s failed to publish - key value pair - type: object - additionalProperties: - type: string - ApiFilter: - type: object - properties: - categories: - type: array - description: Represent Categories of APIs - items: - type: string - maturityStatus: - type: array - description: Represent Maturity Status of APIs - items: - type: string - tags: - type: array - description: Represent Tags of APIs - items: - type: string - businessTerms: - type: array - description: Represent Business Terms of APIs - items: - type: string - type: - type: array - description: Type of an APIs - items: - type: string - Community: - type: object - properties: - id: - type: string - description: Unique identification of Community - name: - type: string - description: Name of the Community - owner: - type: string - description: owner of the Community - description: - type: string - description: Description of the Community - apis: - type: array - description: APIS associated with the community - items: - type: string - groups: - type: array - description: Group associated with the community - items: - type: string - users: - type: array - description: Users associated with the community - items: - type: string - API: - allOf: - - $ref: '#/components/schemas/APISummary' - - type: object - properties: - tags: - type: array - items: - type: string - endPoints: - type: array - items: - type: object - properties: - name: - type: string - description: The URL to invoke - baseUrl: - type: string - apiProperties: - type: array - items: - type: object - properties: - name: - type: string - key: - type: string - value: - type: string - resources: - type: array - items: - type: object - properties: - name: - type: string - description: Resource name - id: - type: string - description: GUID of an resource object - path: - type: string - description: Resource path - tags: - type: array - items: - type: string - requestBody: - type: object - restMethods: - type: array - items: - type: object - properties: - name: - type: string - httpMethod: - type: string - secured: - type: boolean - parameters: - type: array - items: - type: object - properties: - name: - type: string - cname: - type: string - paramType: - type: string - dataType: - type: string - mandatory: - type: boolean - possibleValues: - type: array - items: - type: string - multivalue: - type: boolean - summary: - type: string - description: - type: string - summary: - type: string - requestBody: - type: object - tags: - type: array - items: - type: string - responses: - type: object - properties: - key: - type: object - properties: - summary: - type: string - responses: - type: object - properties: - key: - type: object - properties: - summary: - type: string - Groups: - type: object - properties: - groupName: - type: array - items: - type: object - properties: - name: - type: string - apiId: - type: string - description: - type: string - id: - type: string - cname: - type: string - httpMethod: - type: string - parameters: - type: array - items: - type: object - properties: - name: - type: string - cname: - type: string - paramType: - type: string - dataType: - type: string - mandatory: - type: boolean - possibleValues: - type: array - items: - type: string - multivalue: - type: boolean - summary: - type: string - description: - type: string - summary: - type: string - requestBody: - type: object - tags: - type: array - items: - type: string - responses: - type: object - properties: - key: - type: object - properties: - summary: - type: string - - APISummary: - type: object - properties: - id: - type: string - description: Unique identification of API - name: - type: string - description: Name of the API - description: - type: string - description: Summary of the API - version: - type: string - description: Version of the API - type: - type: string - description: Type of the API - enum: - - REST - - ODATA - - SOAP - externalRefKey: - type: string - description: Reference key of the API - providerRef: - type: string - description: Provider reference key - systemVersion: - type: string - description: Internal version reference - versionFamilyRef: - type: string - description: Version family group unique GUID - icon: - type: object - properties: - url: - type: string - description: location of an icon file - type: - type: string - communities: - type: array - items: - type: string - description: GUID of the communities - attachments: - type: array - items: - type: object - properties: - name: - type: string - description: Name of the attachment file - uri: - type: string - description: REST path to download the file - maturityStatus: - type: array - items: - type: object - properties: - name: - type: string - cname: - type: string - policies: - type: array - items: - type: object - properties: - name: - type: string - description: Name of the policy - summary: - type: string - description: - type: string - securitySchemes: - type: array - items: - type: object - properties: - type: - type: string - description: Type of the security scheme - name: - type: string - in: - type: string - endpointIds: - type: array - items: - type: string - description: GUID of the endpoint object - rating: - type: integer - description: Rating of an API - resourceIds: - type: array - items: - type: string - description: GUID of an resource object - componentIds: - type: array - items: - type: string - description: GUID of an component object - hybrid: - type: boolean - description: Determines is it an hybrid API. Example REST on SOAP API - Topic: - type: object - required: - - name - properties: - owner: - type: string - id: - type: string - modified: - type: string - created: - type: string - flagged: - type: boolean - content: - type: object - properties: - value: - type: string - type: - type: string - comments: - type: integer - pinned: - type: boolean - stream: - type: object - properties: - type: - type: string - id: - type: string - tags: - type: array - items: - type: string - Package: - type: object - required: - - name - properties: - id: - type: string - name: - type: string - description: - type: string - providerRef: - type: string - deprecated: - type: boolean - icon: - type: object - communities: - type: array - items: - type: string - apis: - type: array - items: - type: string - plans: - type: array - items: - type: string - externalRefKey: - type: string - - Application: - type: object - properties: - id: - type: string - description: Unique identification of Application - name: - type: string - description: Name of the Application - owner: - type: string - description: owner of the Application - description: - type: string - description: Description of the Application - apis: - type: array - description: APIS associated with the Application - items: - type: string - stage: - type: string - description: Stage from which Application is published - packageId: - type: string - description: Id of package associated with the Application - planId: - type: string - description: Id of plan associated with the Application - app_type: - type: string - description: Type of Application - enum: - - API - - SUBSCRIPTION - access: - $ref: '#/components/schemas/AccessControlList' - details: - $ref: '#/components/schemas/Details' - Subscription: - type: object - properties: - id: - type: string - description: Unique identification of Application - name: - type: string - description: Name of the Application - owner: - type: string - description: owner of the Application - description: - type: string - description: Description of the Application - apis: - type: array - description: APIS associated with the Application - items: - type: string - stage: - type: string - description: Stage from which Application is published - status: - type: string - description: Status of an Application - deleted: - type: boolean - packageId: - type: string - description: Id of package associated with the Application - planId: - type: string - description: Id of plan associated with the Application - app_type: - type: string - description: Type of Application - enum: - - API - - SUBSCRIPTION - access: - $ref: '#/components/schemas/AccessControlList' - details: - $ref: '#/components/schemas/Details' - AccessControlList: - type: object - description: Applications access information. - properties: - TEAMS_REF: - type: string - description: Refernce Id of Team - created: - type: string - format: date - description: Created date - modified: - type: string - format: date - description: Modified date - teams: - type: array - description: Teams associated with the Application - items: - type: string - users: - type: array - description: Users associated with the Application - items: - type: string - Details: - type: object - description: Access details of application. - properties: - IdentifierType: - type: string - description: Type of access detail - enum: - - APIKey - - OAuth2 - - JWT - - ApplicationCredential: - type: object - - APIKeyCredential: - type: object - properties: - expiry: - type: string - format: date - description: expiry date - apiKey: - type: string - description: Key for the api - - JwtCredential: - type: object - properties: - claimsets: - type: array - items: - $ref: '#/components/schemas/ClaimSet' - - OAuthCredential: - type: object - properties: - clientId: - type: string - description: Unique identification of the client - clientSecret: - type: string - description: Secret key of the client - token_lifetime: - type: integer - description: Lifetime of the token - token_refresh_limit: - type: integer - description: No of times refresh of the token is allowed - scopes: - type: array - description: Scope of this token - items: - type: string - authorization_uris: - type: array - description: authorization_uris - items: - type: string - access_token_uris: - type: array - description: access_token_uris - items: - type: string - redirect_uris: - type: array - description: redirect_uris - items: - type: string - refreshtoken_uris: - type: array - description: refreshtoken_uris - items: - type: string - ClaimSet: - type: object - properties: - name: - type: string - description: Name of the Claim Set - claims: - type: array - items: - type: string - TryAPIRequest: - type: object - properties: - operation: - type: string - endpoint: - type: string - headers: - type: object - additionalProperties: true - body: - $ref: '#/components/schemas/TryoutBody' - type: - type: string - required: - - operation - - endpoint - - headers - - body - - type - TryoutBody: - anyOf: - - $ref: '#/components/schemas/SoapTryoutBody' - - $ref: '#/components/schemas/RestTryoutBody' - SoapTryoutBody: - type: object - properties: - request_type: - type: string - payload: - type: string - namespaceUri: - type: object - additionalProperties: true - security: - type: object - properties: - wssUserToken: - type: object - properties: - username: - type: string - password: - type: string - required: - - username - - password - required: - - request_type - - payload - RestTryoutBody: - type: object - additionalProperties: true - TryAPIResponse: - type: object - properties: - headers: - type: object - additionalProperties: true - response: - type: object - properties: - type: - type: string - response: - type: string - contentType: - type: string - required: - - type - - response - - contentType - status: - type: object - properties: - code: - type: integer - reason: - type: string - required: - - code - - reason - metrics: - type: object - properties: - time: - type: integer - ip: - type: string - required: - - time - - ip - required: - - headers - - response - - status - - metrics - PatchDTO: - type: object - properties: - api: - allOf: - - $ref: '#/components/schemas/PatchDefinition' - - type: object - properties: - apiId: - type: string - methods: - type: object - additionalProperties: true - paths: - type: object - additionalProperties: true - paths: - type: array - items: - allOf: - - $ref: '#/components/schemas/PatchDefinition' - - type: object - properties: - path: - type: string - methodsMap: - type: object - additionalProperties: true - methods: - type: array - items: - allOf: - - $ref: '#/components/schemas/PatchDefinition' - - type: object - properties: - path: - type: string - operation: - type: string - enum: - - POST - - PUT - - GET - - DELETE - - PATCH - - HEAD - - OPTIONS - - SOAP11 - - SOAP1 - PatchDefinition: - type: object - properties: - insert: - type: array - items: - $ref: '#/components/schemas/PatchStep' - update: - type: array - items: - $ref: '#/components/schemas/PatchStep' - delete: - type: array - items: - $ref: '#/components/schemas/PatchStep' - PatchStep: - type: object - properties: - attribute: - type: string - oneOf: - - enum: - - NAME - - SUMMARY - - DESCRIPTION - - ICON - - TAG - - CATEGORIES - - BUSINESS_TERMS - - MATURITY_STATUS - - ATTACHMENT - locale: - type: string - value: - type: string - - examples: - CreatedResponse: - value: - id: 52c0b766-8bdc-4932-93f2-c7bcb8a16750 - _self: /rest/v1/files/52c0b766-8bdc-4932-93f2-c7bcb8a16750 - PatchPayload: - value: - api: - update: - - attribute: NAME - locale: en - value: Modified name - insert: - - attribute: ATTACHMENT - value: /rest/v1/files/5d248c0b-4ec7-4eb5-b514-7c2e726afb4d - UpdatePreference: - value: - code: 200 - message: Preferences updated successfully - 401: - value: - code: 401 - message: Invalid credentials - 403: - value: - code: 403 - message: Insufficient privileges - 404: - value: - code: 404 - message: Unable to find the requested API - 400: - value: - code: 400 - message: Invalid file - Community: - value: - - id: 3bdf8005-5685-3ef5-b132-de4681963fb6 - name: New Commnunity - description: This community has been created newly - owner: 52c0b766-8bdc-4932-93f2-c7bcb8a16750 - apis: - - 80b2c6d2-30e5-4b2f-82ce-07f9205941cb - - ebf986ac-cb6c-405b-b047-67202706c42e - groups: - - 568ecf56-5fdc-4d2a-a3f7-64a6d824a21d - users: - - 52c0b766-8bdc-4932-93f2-c7bcb8a16750 - - 6b8e787f-142d-4675-901d-21999b8dc6e2 - Topic: - value: - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 8e38ee64-2306-4208-823a-ac9aab5cc43b - modified: 1617013155719 - created: 1617013155719 - flagged: false - stream: - type: API - id: d6376456-9d08-4a3e-b44d-7f40bb206d51 - content: - value: '{"ops":[{"insert":"TestTopic2\n"}]}' - type: rich - pinned: false - person: - id: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - firstName: Administrator - lastName: System - comments: 0 - TopicSummary: - value: - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 8e38ee64-2306-4208-823a-ac9aab5cc43b - modified: 1617013155719 - created: 1617013155719 - flagged: false - stream: - type: API - id: d6376456-9d08-4a3e-b44d-7f40bb206d51 - content: - value: '{"ops":[{"insert":"TestTopic2\n"}]}' - type: rich - pinned: false - person: - id: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - firstName: Administrator - lastName: System - comments: 0 - Application: - value: - result: - - name: HTTPApp - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 21236a05-dbd0-44cd-a62d-df16b7798892 - providerRef: a1b3a59c-0639-4260-a9a6-c75c78fcb62d - access: - teams: [ ] - users: [ ] - apis: - - d6376456-9d08-4a3e-b44d-7f40bb206d51 - - 58436a0d-df78-4c9b-968f-2d8d1c082283 - credentials: - - expiry: null - apiKey: f0d88156-e62b-4679-8519-ef40365c4155 - type: APIKey - - clientId: 9e99de65-7168-48b7-8af3-578882417cf0 - clientSecret: b5cfadb5-dc56-4fbe-8912-c4a369e831c9 - scopes: [ ] - tokenLifeTime: 3600 - tokenRefreshLimit: 0 - authorizationUris: - - 'http://host.docker.internal:5555/invoke/pub.apigateway.oauth2/authorize' - accessTokenUris: - - 'http://host.docker.internal:5555/invoke/pub.apigateway.oauth2/getAccessToken' - redirectUris: - - /rest/v1/oauth/callback - refreshTokenUris: - - 'http://host.docker.internal:5555/invoke/pub.oauth/refreshAccessToken' - type: OAuth2 - claimsets: - - name: JWT default claims set - claims: - - key: app_id - value: cc4ef914-3e6b-439b-bed6-2fd63af3ead2 - - accesstoken_uris: null - type: JWT - status: LIVE - slots: - $stage: API Portal - deleted: false - externalRefKey: cc4ef914-3e6b-439b-bed6-2fd63af3ead2 - app_type: API - count: 1 - _links: - _self: /rest/v1/apis/cb996fe0-95c5-4ba3-8212-148ddd99c15b/applications?page=0 - Subscription: - value: - result: - - name: PlanSubscribe - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: a8660172-7ad4-491c-8a51-3b6dcb64f9e1 - providerRef: a1b3a59c-0639-4260-a9a6-c75c78fcb62d - access: - teams: [ ] - users: [ ] - apis: [ ] - packageId: 41ed0fb4-3c9e-47b4-aab0-119c674c997f - planId: 4738b319-7de5-47e9-b869-1967a042e075 - credentials: - - expiry: null - apiKey: 2f757170-4a3f-47ca-b4ac-5845ad40ec43 - type: APIKey - - clientId: 39ae0aee-67d5-4e62-bb95-2bab469317e1 - clientSecret: 4c24dbb6-a8f7-4b16-88cb-9ab6526067cd - scopes: [ ] - tokenLifeTime: 3600 - tokenRefreshLimit: 0 - authorizationUris: - - 'http://host.docker.internal:5555/invoke/pub.apigateway.oauth2/authorize' - accessTokenUris: - - 'http://host.docker.internal:5555/invoke/pub.apigateway.oauth2/getAccessToken' - redirectUris: - - /rest/v1/oauth/callback - refreshTokenUris: - - 'http://host.docker.internal:5555/invoke/pub.oauth/refreshAccessToken' - type: OAuth2 - status: LIVE - slots: - $stage: API Portal - deleted: false - externalRefKey: 30f1a040-b76f-4bd5-99b7-f18c0c5c9f6e - app_type: SUBSCRIPTION - count: 1 - _links: - _self: /rest/v1/apis/cb996fe0-95c5-4ba3-8212-148ddd99c15b/subscriptions?page=0 - RatingRequest: - value: - rating: 3 - RatingResponse: - value: - total: 3 - average: 3.5 - rating: 4 - SearchResponseTopicSummary: - value: - result: - - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 8e38ee64-2306-4208-823a-ac9aab5cc43b - modified: 1617013155719 - created: 1617013155719 - flagged: false - stream: - type: API - id: d6376456-9d08-4a3e-b44d-7f40bb206d51 - content: - value: '{"ops":[{"insert":"TestTopic2\n"}]}' - type: rich - pinned: false - person: - id: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - firstName: Administrator - lastName: System - comments: 0 - count: 1 - _links: - _self: /rest/v1/apis/cb996fe0-95c5-4ba3-8212-148ddd99c15b/topics?page=0 - SearchResponsePackageSummary: - value: - result: - - id: 41ed0fb4-3c9e-47b4-aab0-119c674c997f - name: TestPkg - description: TestDesc - providerRef: a1b3a59c-0639-4260-a9a6-c75c78fcb62d - deprecated: false - icon: null - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apis: - - d6376456-9d08-4a3e-b44d-7f40bb206d51 - plans: - - 4738b319-7de5-47e9-b869-1967a042e075 - externalRefKey: 0f74a7e2-058c-42d5-b162-9a078dbcc390 - count: 1 - _links: - _self: /rest/v1/apis/cb996fe0-95c5-4ba3-8212-148ddd99c15b/packages?page=0 - SOAPTryRequest: - value: - operation: SOAP11 - endpoint: 'http://VMSIQADEM0O01:4444/ws/Calculator/1' - headers: - SOAPAction: 'http://tempuri.org/Add' - body: - request_type: soap - payload: '2-3' - namespaceUri: - tem: 'http://tempuri.org' - security: - wssUserToken: - username: Administrator - password: manage - type: SOAP - RestTryRequest: - value: - type: REST - operation: POST - endpoint: 'http://petstore.swagger.io/v2' - resource: /pet - headers: - Content-Type: application/xml - body: - request_type: raw - payload: siyaanavailable - TryAPIResponse: - value: - headers: - Cache-Control: - - max-age=0 - X-AspNet-Version: - - 2.0.50727 - Content-Length: - - '326' - X-Powered-By: - - ASP.NET - Content-Type: - - application/xml; charset=utf-8 - response: - type: text - response: '-1' - status: - code: 200 - reason: OK - metrics: - time: 956 - ip: x.x.x.x - Groups: - value: - store: - - name: getOrderById - id: 9ae7f7a9-37d5-40fb-9385-5e1e982ffc6e - cname: getOrderById - parameters: - - name: orderId - cname: orderId - paramType: Path - dataType: integer - mandatory: true - possibleValues: - - '' - multivalue: false - summary: ID of pet that needs to be fetched - description: ID of pet that needs to be fetched - tags: - - store - requestBody: { } - responses: - '200': - content: - application/json: - schema: "{\r\n \"$ref\" : \"#/components/schemas/Order\"\r\n}" - example: '{"petId":2091656554,"quantity":979438708,"id":375377123,"shipDate":"2021-03-01T08:26:03+0530","complete":false,"status":"approved"}' - summary: successful operation - description: successful operation - '400': - summary: Invalid ID supplied - description: Invalid ID supplied - '404': - summary: Order not found - description: Order not found - httpMethod: GET - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions - description: For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions - - name: deleteOrder - id: 5a945724-d251-45f0-9f7c-8740b51034db - cname: deleteOrder - parameters: - - name: orderId - cname: orderId - paramType: Path - dataType: integer - mandatory: true - possibleValues: - - '' - multivalue: false - summary: ID of the order that needs to be deleted - description: ID of the order that needs to be deleted - tags: - - store - requestBody: { } - responses: - '400': - summary: Invalid ID supplied - description: Invalid ID supplied - '404': - summary: Order not found - description: Order not found - httpMethod: DELETE - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors - description: For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors - - name: getInventory - id: 63fcfcd3-e87f-42ae-9d3e-a7ea4339cb1c - cname: getInventory - tags: - - store - requestBody: { } - responses: - '200': - content: - application/json: - schema: "{\r\n \"type\" : \"object\",\r\n \"additionalProperties\" : {\r\n \"type\" : \"integer\",\r\n \"format\" : \"int32\"\r\n }\r\n}" - example: '{}' - summary: successful operation - description: successful operation - httpMethod: GET - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: Returns a map of status codes to quantities - description: Returns a map of status codes to quantities - - name: placeOrder - id: c453c98d-e8e1-4196-8b77-ed06f9189f6d - cname: placeOrder - tags: - - store - requestBody: - content: - application/json: - schema: "{\r\n \"$ref\" : \"#/components/schemas/Order\"\r\n}" - example: '{"petId":1933050918,"quantity":1706702615,"id":1944751911,"shipDate":"2021-03-18T01:28:49+0530","complete":true,"status":"delivered"}' - summary: order placed for purchasing the pet - description: order placed for purchasing the pet - responses: - '200': - content: - application/json: - schema: "{\r\n \"$ref\" : \"#/components/schemas/Order\"\r\n}" - example: '{"petId":806630507,"quantity":281406806,"id":433125620,"shipDate":"2021-03-08T18:31:36+0530","complete":false,"status":"delivered"}' - summary: successful operation - description: successful operation - '400': - summary: Invalid Order - description: Invalid Order - httpMethod: POST - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: '' - description: '' - user: - - name: loginUser - id: 7723e28f-442f-40f8-a9f1-fdd9a8404a93 - cname: loginUser - parameters: - - name: username - cname: username - paramType: Query - dataType: string - mandatory: true - possibleValues: - - '' - multivalue: false - summary: The user name for login - description: The user name for login - - name: password - cname: password - paramType: Query - dataType: string - mandatory: true - possibleValues: - - '' - multivalue: false - summary: The password for login in clear text - description: The password for login in clear text - tags: - - user - requestBody: { } - responses: - '200': - content: - application/xml: - schema: "{\r\n \"type\" : \"string\"\r\n}" - summary: successful operation - description: successful operation - '400': - summary: Invalid username/password supplied - description: Invalid username/password supplied - httpMethod: GET - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: '' - description: '' - - name: logoutUser - id: 493e1baf-939f-46dc-bfa1-4b9ac9ff12a0 - cname: logoutUser - tags: - - user - requestBody: { } - responses: - default: - summary: successful operation - description: successful operation - httpMethod: GET - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: '' - description: '' - - name: updateUser - id: 940b5fd0-eb26-4c7b-adb9-16e253f58ac0 - cname: updateUser - parameters: - - name: username - cname: username - paramType: Path - dataType: string - mandatory: true - possibleValues: - - '' - multivalue: false - summary: name that need to be updated - description: name that need to be updated - tags: - - user - requestBody: - content: - application/json: - schema: "{\r\n \"$ref\" : \"#/components/schemas/User\"\r\n}" - example: '{"firstName":"arGSUmuEnfMe","lastName":"V","password":"nNoHiOiU","userStatus":547873592,"phone":"prUtWLvOjLtD","id":112109356,"email":"AYwSUGNvIS","username":"YVkDLONXnH"}' - summary: Updated user object - description: Updated user object - responses: - '400': - summary: Invalid user supplied - description: Invalid user supplied - '404': - summary: User not found - description: User not found - httpMethod: PUT - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: This can only be done by the logged in user. - description: This can only be done by the logged in user. - - name: createUsersWithListInput - id: f3ae4dc2-54e3-4ff8-9ada-2331beee5a4c - cname: createUsersWithListInput - tags: - - user - requestBody: - content: - application/json: - schema: "{\r\n \"type\" : \"array\",\r\n \"items\" : {\r\n \"$ref\" : \"#/components/schemas/User\"\r\n }\r\n}" - example: '[{"firstName":"pRq","lastName":"OlWgvieVG","password":"EVskbADtVPbd","userStatus":1460906548,"phone":"tpAeTvXoHcdA","id":921663143,"email":"","username":"SLRlhEGt"}]' - summary: List of user object - description: List of user object - responses: - default: - summary: successful operation - description: successful operation - httpMethod: POST - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: '' - description: '' - - name: deleteUser - id: 832880b8-4bb5-4705-998d-833f6617ba07 - cname: deleteUser - parameters: - - name: username - cname: username - paramType: Path - dataType: string - mandatory: true - possibleValues: - - '' - multivalue: false - summary: The name that needs to be deleted - description: The name that needs to be deleted - tags: - - user - requestBody: { } - responses: - '400': - summary: Invalid username supplied - description: Invalid username supplied - '404': - summary: User not found - description: User not found - httpMethod: DELETE - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: This can only be done by the logged in user. - description: This can only be done by the logged in user. - - name: createUser - id: 6ae7ff55-fec2-44c8-9b74-9e189b50d9e4 - cname: createUser - tags: - - user - requestBody: - content: - application/json: - schema: "{\r\n \"$ref\" : \"#/components/schemas/User\"\r\n}" - example: '{"firstName":"nTEFdKRUjQUtEo","lastName":"PdmvMbmrSpwgv","password":"OGvmFNYKwGX","userStatus":853852705,"phone":"","id":1079525661,"email":"","username":"PsVd"}' - summary: Created user object - description: Created user object - responses: - default: - summary: successful operation - description: successful operation - httpMethod: POST - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: This can only be done by the logged in user. - description: This can only be done by the logged in user. - - name: createUsersWithArrayInput - id: b4db6f5e-468a-4119-9401-51bffddb3dce - cname: createUsersWithArrayInput - tags: - - user - requestBody: - content: - application/json: - schema: "{\r\n \"type\" : \"array\",\r\n \"items\" : {\r\n \"$ref\" : \"#/components/schemas/User\"\r\n }\r\n}" - example: '[{"firstName":"lYssYloAupJF","lastName":"","password":"KXokO","userStatus":704607110,"phone":"qCt","id":344298476,"email":"tniTDCRkG","username":"r"}]' - summary: List of user object - description: List of user object - responses: - default: - summary: successful operation - description: successful operation - httpMethod: POST - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: '' - description: '' - - name: getUserByName - id: 10bb3053-fa3d-4427-aea4-50857962a9bb - cname: getUserByName - parameters: - - name: username - cname: username - paramType: Path - dataType: string - mandatory: true - possibleValues: - - '' - multivalue: false - summary: 'The name that needs to be fetched. Use user1 for testing. ' - description: 'The name that needs to be fetched. Use user1 for testing. ' - tags: - - user - requestBody: { } - responses: - '200': - content: - application/json: - schema: "{\r\n \"$ref\" : \"#/components/schemas/User\"\r\n}" - example: '{"firstName":"EV","lastName":"RhMH","password":"dcoXbVdGgc","userStatus":1921012345,"phone":"xHB","id":1298931298,"email":"vsLqux","username":"YHme"}' - summary: successful operation - description: successful operation - '400': - summary: Invalid username supplied - description: Invalid username supplied - '404': - summary: User not found - description: User not found - httpMethod: GET - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: '' - description: '' - pet: - - name: addPet - id: f87bfc61-eed0-455c-892b-9dd1bca650e1 - cname: addPet - tags: - - pet - requestBody: - content: - application/xml: - schema: "{\r\n \"$ref\" : \"#/components/schemas/Pet\"\r\n}" - example: '{"photoUrls":["IjNnqXXUOTDWKS"],"name":"uYsyGXqMfvp","id":176486166,"category":{"name":"DhjRvSmxibe","id":1754543776},"tags":[{"name":"xRcAgIYKPrdcg","id":1152663264}],"status":"available"}' - summary: Pet object that needs to be added to the store - description: Pet object that needs to be added to the store - responses: - '405': - summary: Invalid input - description: Invalid input - httpMethod: POST - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: '' - description: '' - - name: findPetsByStatus - id: 87306151-4b75-47f5-b34c-3e7dca601b91 - cname: findPetsByStatus - parameters: - - name: status - cname: status - paramType: Query - dataType: array - mandatory: true - possibleValues: - - '' - multivalue: true - summary: Status values that need to be considered for filter - description: Status values that need to be considered for filter - tags: - - pet - requestBody: { } - responses: - '200': - content: - application/xml: - schema: "{\r\n \"type\" : \"array\",\r\n \"items\" : {\r\n \"$ref\" : \"#/components/schemas/Pet\"\r\n }\r\n}" - example: '[{"photoUrls":["LpbTTUWbHo"],"name":"eGKBC","id":2069487412,"category":{"name":"","id":943168332},"tags":[{"name":"oBw","id":1678754362}],"status":"available"}]' - summary: successful operation - description: successful operation - '400': - summary: Invalid status value - description: Invalid status value - httpMethod: GET - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: Multiple status values can be provided with comma separated strings - description: Multiple status values can be provided with comma separated strings - - name: uploadFile - id: b990fd23-ef4d-4a1a-81a1-86bf652aeb53 - cname: uploadFile - parameters: - - name: petId - cname: petId - paramType: Path - dataType: integer - mandatory: true - possibleValues: - - '' - multivalue: false - summary: ID of pet to update - description: ID of pet to update - tags: - - pet - requestBody: - content: - multipart/form-data: - schema: "{\r\n \"type\" : \"object\",\r\n \"properties\" : {\r\n \"additionalMetadata\" : {\r\n \"type\" : \"string\",\r\n \"description\" : \"Additional data to pass to server\",\r\n \"readOnly\" : false\r\n },\r\n \"file\" : {\r\n \"type\" : \"string\",\r\n \"description\" : \"file to upload\",\r\n \"format\" : \"binary\",\r\n \"readOnly\" : false\r\n }\r\n }\r\n}" - example: '{"additionalMetadata":"uMneWuIKTjC","file":"xUYuRRNyuY"}' - summary: null - description: null - responses: - '200': - content: - application/json: - schema: "{\r\n \"$ref\" : \"#/components/schemas/ApiResponse\"\r\n}" - example: '{"code":1072914794,"type":"","message":"B"}' - summary: successful operation - description: successful operation - httpMethod: POST - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: '' - description: '' - - name: updatePet - id: 33b568e1-8a6d-4255-b606-f301a99da033 - cname: updatePet - tags: - - pet - requestBody: - content: - application/json: - schema: "{\r\n \"$ref\" : \"#/components/schemas/Pet\"\r\n}" - example: '{"photoUrls":["GLt"],"name":"YdcajshytXt","id":2123834021,"category":{"name":"RkAGlAratgiFr","id":1681833846},"tags":[{"name":"p","id":1741871321}],"status":"sold"}' - summary: Pet object that needs to be added to the store - description: Pet object that needs to be added to the store - responses: - '400': - summary: Invalid ID supplied - description: Invalid ID supplied - '404': - summary: Pet not found - description: Pet not found - '405': - summary: Validation exception - description: Validation exception - httpMethod: PUT - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: '' - description: '' - - name: getPetById - id: e4c8cef8-3a86-4783-850d-769f0e12e567 - cname: getPetById - parameters: - - name: petId - cname: petId - paramType: Path - dataType: integer - mandatory: true - possibleValues: - - '' - multivalue: false - summary: ID of pet to return - description: ID of pet to return - tags: - - pet - requestBody: { } - responses: - '200': - content: - application/xml: - schema: "{\r\n \"$ref\" : \"#/components/schemas/Pet\"\r\n}" - example: '{"photoUrls":["jnKMMdVgeA"],"name":"gVmONCHhKNFKW","id":2003919670,"category":{"name":"JWrySeqSmTBhff","id":351568518},"tags":[{"name":"nqAUcsw","id":1158993365}],"status":"pending"}' - summary: successful operation - description: successful operation - '400': - summary: Invalid ID supplied - description: Invalid ID supplied - '404': - summary: Pet not found - description: Pet not found - httpMethod: GET - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: Returns a single pet - description: Returns a single pet - - name: findPetsByTags - id: a90d057a-7e82-4860-80e5-a91d90b62e1c - cname: findPetsByTags - parameters: - - name: tags - cname: tags - paramType: Query - dataType: array - mandatory: true - possibleValues: - - '' - multivalue: true - summary: Tags to filter by - description: Tags to filter by - tags: - - pet - requestBody: { } - responses: - '200': - content: - application/xml: - schema: "{\r\n \"type\" : \"array\",\r\n \"items\" : {\r\n \"$ref\" : \"#/components/schemas/Pet\"\r\n }\r\n}" - example: '[{"photoUrls":["OuNessQX"],"name":"QgRWiPDy","id":757660868,"category":{"name":"AVNEDMxIFN","id":1940122294},"tags":[{"name":"bNbpvVOnP","id":105438341}],"status":"available"}]' - summary: successful operation - description: successful operation - '400': - summary: Invalid tag value - description: Invalid tag value - httpMethod: GET - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: 'Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.' - description: 'Multiple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing.' - - name: deletePet - id: 496d2037-b49c-4968-88ee-c6fd6279fc76 - cname: deletePet - parameters: - - name: api_key - cname: api_key - paramType: Header - dataType: string - mandatory: false - possibleValues: - - '' - multivalue: false - summary: null - description: null - - name: petId - cname: petId - paramType: Path - dataType: integer - mandatory: true - possibleValues: - - '' - multivalue: false - summary: Pet id to delete - description: Pet id to delete - tags: - - pet - requestBody: { } - responses: - '400': - summary: Invalid ID supplied - description: Invalid ID supplied - '404': - summary: Pet not found - description: Pet not found - httpMethod: DELETE - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: '' - description: '' - - name: updatePetWithForm - id: 89ef042a-12e2-49b1-a28a-f2c4e566949b - cname: updatePetWithForm - parameters: - - name: petId - cname: petId - paramType: Path - dataType: integer - mandatory: true - possibleValues: - - '' - multivalue: false - summary: ID of pet that needs to be updated - description: ID of pet that needs to be updated - tags: - - pet - requestBody: - content: - application/x-www-form-urlencoded: - schema: "{\r\n \"type\" : \"object\",\r\n \"properties\" : {\r\n \"name\" : {\r\n \"type\" : \"string\",\r\n \"description\" : \"Updated name of the pet\",\r\n \"readOnly\" : false\r\n },\r\n \"status\" : {\r\n \"type\" : \"string\",\r\n \"description\" : \"Updated status of the pet\",\r\n \"readOnly\" : false\r\n }\r\n }\r\n}" - example: '{"name":"EHXqAhfEElpR","status":"PTc"}' - summary: null - description: null - responses: - '405': - summary: Invalid input - description: Invalid input - httpMethod: POST - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - apiId: d85a544b-5c55-4bc8-b888-ebe7923726b3 - summary: '' - description: '' - API: - value: - name: Swagger Petstore - id: 9beb59b8-25eb-477c-8148-207216cb716a - type: REST - version: 1.0.0 - icon: 0ec25b14-2fbf-4239-a635-68c3b14af444 - systemVersion: '1.0' - versionFamilyRef: b2e4b4e0-ce9b-41ef-833a-ae9f1a30245d - communities: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - tags: - - pets - endPoints: - - name: 'http://petstore.swagger.io/v1' - baseUrl: 'http://petstore.swagger.io/v1' - attachments: - - name: OpenApi_Petstore.yaml - uri: fcb66d45-958f-426b-b872-1515f1240b57 - apiProperties: - - name: License Name - key: License Name - value: MIT - resources: - - name: /pets - id: 6643a60b-4a8a-4604-bb40-1cb5a66ddbff - path: /pets - restMethods: - - name: createPets - tags: - - pets - requestBody: { } - responses: - '201': - summary: Null response - default: - summary: unexpected error - httpMethod: POST - secured: false - summary: Create a pet - - name: listPets - parameters: - - name: limit - paramType: Query - dataType: integer - mandatory: false - multivalue: false - description: How many items to return at one time (max 100) - tags: - - pets - requestBody: { } - responses: - '200': - headers: - - name: x-next - paramType: Header - dataType: string - description: A link to the next page of responses - summary: An paged array of pets - default: - summary: unexpected error - httpMethod: GET - secured: false - summary: List all pets - protected: false - - name: '/pets/{petId}' - id: f61899a6-a5f6-415a-9b4f-59b447b40a06 - path: '/pets/{petId}' - restMethods: - - name: showPetById - parameters: - - name: petId - paramType: Path - dataType: string - mandatory: true - multivalue: false - description: The id of the pet to retrieve - tags: - - pets - requestBody: { } - responses: - '200': - summary: Expected response to a valid request - default: - summary: unexpected error - httpMethod: GET - secured: false - summary: Info for a specific pet - protected: false - components: - - schema: - - type: object - required: - - id - - name - properties: - - name: id - type: trivial - format: int64 - - name: name - type: trivial - - name: tag - type: trivial - - type: array - data_type: string - items: - - type: trivial - - type: object - required: - - code - - message - properties: - - name: code - type: trivial - format: int32 - - name: message - type: trivial - resourceIds: - - 6643a60b-4a8a-4604-bb40-1cb5a66ddbff - - f61899a6-a5f6-415a-9b4f-59b447b40a06 - hybrid: false - protected: false - secured: false - externalRefKey: 85692458-5ad5-4280-90e2-a73c90f033a4 - parameters: - apiId: - name: id - in: path - description: Unique Identification of an API. Refers to the GUID of the API.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - tryendpoint: - name: x-tryout-endpoint - in: header - description: Endpoint of the API - required: true - allowEmptyValue: false - schema: - type: string -security: - - accesstoken: [ ] - - bearerAuth: [ ] diff --git a/apis/10.12/openapis/approvals.yaml b/apis/10.12/openapis/approvals.yaml deleted file mode 100644 index 13bc41c..0000000 --- a/apis/10.12/openapis/approvals.yaml +++ /dev/null @@ -1,1463 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Approval API - description: |- - ## Overview - API to define a multi-level approval process which can be used to onboard a user, application or subscription. - - ## Functionalities supported - - ### Approval Workflow CRUD - - Depending on the security requirements the API Portal Administrator can create multiple approval workflows. The single approval workflow can contain multiple approval step. The approval step can be of following combinations, - - | Approver type | Approval mode | - | ----------- | ----------- | - | Group | Anyone/Everyone | - | User | Anyone/Everyone | - --- - - ### Approval Workflow Assignment - - The API Portal Administrator can assign one approval workflow for each of the following asset onboarding, - - User onboarding - - Application/Subscription onboarding / Registering API - --- - ### Approval Request Handling - - Based on the approval workflow assignment the approval request will be generated if corresponding onboarding process initiated. By using this API following opertaion can be performed, - - List available pending approval requests - - Approve/Reject approval request - --- - - ## Authorization - - Users with role **Administrator** can perform Create/Update/Delete of Approval work flow creation and Assign/Unassign Approval work flow for User/Application/Subscription on-boarding - - All users can perform approve/reject on the approval requests they have received. - - - version: '10.11' - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - /approvals: - get: - tags: - - Approval Workflow - summary: Retrieve the list of configured approval flows - description: |- - Endpoint to retrieve the list of all approval workflows configured in API Portal. - - *Endpoint can be accessed only by a user having **Administrator** role* - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/FlowSearchResponse' - examples: - ApprovalFlowResponse: - $ref: '#/components/examples/ApprovalFlowSearchResponse' - '403': - $ref: '#/components/responses/403' - '401': - $ref: '#/components/responses/401' - - post: - tags: - - Approval Workflow - summary: Create a new approval workflow - description: |- - Endpoint to create a new approval workflow in API Portal - - *Endpoint can be accessed only by a user having **Administrator** role* - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/FlowTemplate' - examples: - Create a new flow with a user as approver: - value: - name: New Flow - description: Flow with multilevel approval - steps: - - approver: - - id: 9ab209d6-6a9b-3225-8d7f-56cc4b3b125d - name: "Administrator" - approver_type: USER - mode: EVERYONE - notification: - pending: - subject: Approval request pending - message: Hello ${approver.name}, A request by ${requestor.name} to become a registered user needs your review and approval. You can click the link to approve http://localhost:4200/rest/v/approvals/${approval.request.id}/approve or click the link to reject http://localhost:4200/rest/v/approvals/${approval.request.id}/reject Best Regards,API Cloud Team *** This notification was sent automatically. Do not reply to this email.*** - result: - subject: Result of registration request - message: Hello ${approver.name}, A registration request by ${requestor.name} has been ${approval.result} Best Regards, API Cloud Team *** This notification was sent automatically. Do not reply to this email.*** - - Create a new flow with group as approver group: - value: - name: New Flow - description: Flow with multilevel approval - steps: - - approver: - - id: 2bc699d6-6a9b-3225-8d7f-56cc4b3b125d - name: API Provider - approver_type: GROUP - mode: EVERYONE - notification: - pending: - subject: Approval request pending - message: Hello ${approver.name}, A request by ${requestor.name} to become a registered user needs your review and approval. You can click the link to approve http://localhost:4200/rest/v/approvals/${approval.request.id}/approve or click the link to reject http://localhost:4200/rest/v/approvals/${approval.request.id}/reject Best Regards,API Cloud Team *** This notification was sent automatically. Do not reply to this email.*** - result: - subject: Result of registration request - message: Hello ${approver.name}, A registration request by ${requestor.name} has been ${approval.result} Best Regards, API Cloud Team *** This notification was sent automatically. Do not reply to this email.*** - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/CreationResponse' - example: - id: 0392ce93-49e5-4302-9e84-7ba53431ff69 - _self: /rest/v1/approvals/0392ce93-49e5-4302-9e84-7ba53431ff69 - - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/PortalResponse' - examples: - 400: - $ref: '#/components/examples/PortalResponseError' - '403': - $ref: '#/components/responses/403' - '401': - $ref: '#/components/responses/401' - - /approvals/{id}: - get: - tags: - - Approval Workflow - summary: Retrieve the approval flow by Id - description: |- - Endpoint to obtain details of particular approval workflow based on ID - - *Endpoint can be accessed only by a user having **Administrator** role* - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/FlowTemplate' - examples: - ApprovalFlowResponse: - $ref: '#/components/examples/ApprovalFlow' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Approval Flow. Refers to the GUID of the approval flow.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - put: - tags: - - Approval Workflow - summary: Update the approval flow by Id - description: |- - Endpoint to update details of particular approval workflow based on ID - - *Endpoint can be accessed only by a user having **Administrator** role* - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/FlowTemplate' - examples: - Update: - $ref: '#/components/examples/FlowResponse' - - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/FlowTemplate' - examples: - 200: - $ref: '#/components/examples/FlowResponse' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/PortalResponse' - examples: - 400: - $ref: '#/components/examples/PortalResponseError' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Approval Flow. Refers to the GUID of the approval flow.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - delete: - tags: - - Approval Workflow - summary: Delete the approval flow by Id - description: |- - Endpoint to delete the particular approval workflow based on ID - - *Endpoint can be accessed only by a user having **Administrator** role* - responses: - '204': - description: OK - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Approval Flow. Refers to the GUID of the approval flow.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - /approval/policy: - get: - tags: - - Approval Workflow - summary: Retreieve the approval workflow assigned to User onboarding / Application onboarding - description: |- - Endpoint to retrieve the approval workflow policy assigned to onboarding process. The onboarding process is categorized into two parts - - User onboarding - - Application onboarding - - Application creation - - Subscription - - Registering API - - *Endpoint can be accessed only by a user having **Administrator** role* - parameters: - - name: type - in: query - description: |- - Optional parameter. Defines the onboarding type that need to be queryed. The supported values are - - USER_CREATION - - APPLICATION_CREATION - - APPLICATION_API_REGISTRATION - required: false - schema: - type: string - default: USER_CREATION - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ApprovalPolicy' - examples: - ApprovalPolicy: - $ref: '#/components/examples/ApprovalPolicy' - '403': - $ref: '#/components/responses/403' - '401': - $ref: '#/components/responses/401' - - put: - tags: - - Approval Workflow - summary: Assign the approval workflow for User onboarding / Application onboarding - description: |- - Endpoint to assign the approval workflow policy for onboarding process. The onboarding process is categorized into two parts - - User onboarding - - Application onboarding - - Application creation - - Subscription - - Registering API - - *Endpoint can be accessed only by a user having **Administrator** role* - parameters: - - name: type - in: query - description: |- - Optional parameter. Defines the onboarding type for which approval workflow need to be set. The supported values are - - USER_CREATION - - APPLICATION_CREATION - required: false - schema: - type: string - default: APPLICATION_CREATION - enum: - - APPLICATION_CREATION - - USER_CREATION - - name: enableForRegistration - in: query - description: |- - Optional parameter. Defines whether the approval workflow need to be set for API Registeration also. - required: false - schema: - type: boolean - default: false - enum: - - false - - true - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ApprovalPolicy' - examples: - ApprovalPolicy: - $ref: '#/components/examples/ApprovalPolicy' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedResponse' - examples: - 200: - $ref: '#/components/examples/CreatedResponse' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/PortalResponse' - examples: - 400: - $ref: '#/components/examples/PortalResponseError' - '403': - $ref: '#/components/responses/403' - '401': - $ref: '#/components/responses/401' - - /approvals/request: - get: - tags: - - Approval Worflow - summary: Retrieve the list of pending approval requests - description: |- - Endpoint to retrieve the list of all pending approvals requests. - - *Endpoint can be accessed only by a user having **Administrator** or **Provider** role* - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ApprovalRequestSearchResponse' - examples: - ApprovalFlowResponse: - $ref: '#/components/examples/ApprovalRequestSearchResponse' - '403': - $ref: '#/components/responses/403' - '401': - $ref: '#/components/responses/401' - parameters: [] - - /approvals/request/{id}: - get: - tags: - - Approval Worflow - summary: Retrieve the pending approval request by Id - description: |- - Endpoint to obtain details of particular approval request based on ID - - *Endpoint can be accessed only by a user having **Administrator** role or **Approval Request READ** permission* - responses: - '200': - $ref: '#/components/responses/ApprovalRequest' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Approval request. Refers to the GUID of the approval request.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - /approvals/request/{id}/approve: - put: - tags: - - Approval Worflow - summary: Approve a particular approval request - description: |- - Endpoint to approve particular approval request based on ID - - *Endpoint can be accessed only by a user having **Administrator** role or **Approval Request UPDATE** permission* - responses: - '200': - description: 'No content' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Approval request. Refers to the GUID of the approval request.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: comments - in: query - required: false - allowEmptyValue: false - schema: - type: string - description: Approver can add comments while approving the request. The default value is empty - - /approvals/request/external/{id}/approve: - put: - tags: - - Approval Worflow - summary: Approve a particular external approval request - description: |- - Endpoint to approve particular external approval request based on ID - - *Endpoint can be accessed only by a user having **Administrator** role or **Approval Request UPDATE** permission* - responses: - '200': - description: 'No content' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Approval request. Refers to the GUID of the approval request.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: comments - in: query - required: false - allowEmptyValue: false - schema: - type: string - description: Approver can add comments while approving the request. The default value is empty - - /approvals/request/approve: - put: - tags: - - Approval Worflow - summary: Approve a set of approval requests - description: |- - Endpoint to approve a set of approval requests based on IDs - - *Endpoint can be accessed only by a user having **Administrator** role or **Approval Request UPDATE** permission* - parameters: - - name: comments - in: query - required: false - allowEmptyValue: false - schema: - type: string - description: Approver can add comments while approving the request. The default value is empty - requestBody: - content: - application/json: - schema: - type: array - items: - type: string - example: '["dce350d8-72be-4503-acb1-1e0e699abbe1", "dc8aaac3-f7ee-42f4-8474-1e85678942db"]' - responses: - '200': - description: No content - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - - /approvals/request/{id}/reject: - put: - tags: - - Approval Worflow - summary: Reject a particular approval request - description: |- - Endpoint to reject particular approval request based on ID - - *Endpoint can be accessed only by a user having **Administrator** role or **Approval Request UPDATE** permission* - responses: - '200': - description: 'No content' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Approval request. Refers to the GUID of the approval request.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: comments - in: query - required: false - allowEmptyValue: false - schema: - type: string - description: Approver can add comments while rejecting the request. The default value is empty - - /approvals/request/external/{id}/reject: - put: - tags: - - Approval Worflow - summary: Reject a particular external approval request - description: |- - Endpoint to reject a particular external approval request based on ID - - *Endpoint can be accessed only by a user having **Administrator** role or **Approval Request UPDATE** permission* - responses: - '200': - description: 'No content' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Approval request. Refers to the GUID of the approval request.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - name: comments - in: query - required: false - allowEmptyValue: false - schema: - type: string - description: Approver can add comments while rejecting the request. The default value is empty - - /approvals/request/reject: - put: - tags: - - Approval Worflow - summary: Reject a set of approval requests - description: |- - Endpoint to reject a set of approval requests based on IDs - - *Endpoint can be accessed only by a user having **Administrator** role or **Approval Request UPDATE** permission* - parameters: - - name: comments - in: query - required: false - allowEmptyValue: false - schema: - type: string - description: Approver can add comments while rejecting the request. The default value is empty - requestBody: - content: - application/json: - schema: - type: array - items: - type: string - example: '["dce350d8-72be-4503-acb1-1e0e699abbe1", "dc8aaac3-f7ee-42f4-8474-1e85678942db"]' - responses: - '200': - description: No content - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - - /approvals/instance: - get: - summary: Retrieve all approval request instance in API Portal by status - description: |- - Endpoint to retrieve the list of all approval request flow records in API Portal. API Portal records all the steps of approval request for audit purpose this endpoint can be used to retrieve it based on status. - - *Endpoint can be accessed only by a user having **Administrator** role* - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/FlowInstanceSearchResponse' - examples: - FlowInstanceSearchResponse: - $ref: '#/components/examples/FlowInstanceSearchResponse' - '403': - $ref: '#/components/responses/403' - '401': - $ref: '#/components/responses/401' - tags: - - Approval Worflow - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - - name: status - in: query - description: status of the approval request - required: true - allowEmptyValue: false - schema: - type: string - enum: - - NOT_STARTED - - STOPPED - - SUSPENDED - - COMPLETED - - SKIPPED - - FLOW_COMPLETED - - ALL - - FAILED - - /approvals/instance/step/{id}/request: - put: - tags: - - Approval Worflow - summary: Retrieve approval requests of the given step Id - description: |- - Endpoint to get approval request based on the step ID - - *Endpoint can be accessed only by a user having **Administrator** role* - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/ApprovalRequestSearchResponse' - examples: - ApprovalRequestSearchResponse: - $ref: '#/components/examples/ApprovalRequestSearchResponse' - '403': - $ref: '#/components/responses/403' - '404': - $ref: '#/components/responses/404' - '401': - $ref: '#/components/responses/401' - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Approval step. Refers to the GUID of the approval step.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - - /approvals/instance/{id}/trace: - get: - tags: - - Approval Worflow - summary: Retrieve approval request trace logs - description: |- - Endpoint to get approval instance trace logs based on the instance ID - - *Endpoint can be accessed only by a user having **Administrator** role* - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Approval instance. Refers to the GUID of the approval instance.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - responses: - 200: - $ref: '#/components/responses/ApprovalTrace' - 401: - $ref: '#/components/responses/401' - 403: - $ref: '#/components/responses/403' - 404: - $ref: '#/components/responses/404' - - /approvals/instance/{id}/logs: - get: - tags: - - Approval Worflow - summary: Retrieve approval request logs - description: |- - Endpoint to get approval instance logs based on the instance ID - - *Endpoint can be accessed only by a user having **Administrator** role* - parameters: - - name: id - in: path - required: true - allowEmptyValue: false - schema: - type: string - description: Unique Identification for Approval instance. Refers to the GUID of the approval instance.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - responses: - 200: - $ref: '#/components/responses/ApprovalTrace' - 401: - $ref: '#/components/responses/401' - 403: - $ref: '#/components/responses/403' - 404: - $ref: '#/components/responses/404' - -components: - schemas: - CreatedResponse: - required: - - id - - _self - type: object - properties: - id: - type: string - description: Unique identification for policy.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - _self: - type: string - description: link to the onboarding type policy - ApprovalRequestSearchResponse: - type: object - properties: - result: - description: List of approval workflows - type: array - items: - $ref: '#/components/schemas/ApprovalRequest' - count: - description: Number of approval workflows - type: integer - _links: - description: List of available pagination links - type: object - additionalProperties: - type: string - FlowInstanceSearchResponse: - type: object - properties: - result: - description: List of approval request flow - type: array - items: - $ref: '#/components/schemas/FlowInstanceTemplate' - count: - description: Number of approval request flow - type: integer - _links: - description: List of available pagination links - type: object - additionalProperties: - type: string - FlowSearchResponse: - type: object - properties: - result: - description: List of approval workflows - type: array - items: - $ref: '#/components/schemas/ListFlowTemplate' - count: - description: Number of approval workflows - type: integer - _links: - description: List of available pagination links - type: object - additionalProperties: - type: string - ApprovalRequest: - type: object - properties: - owner: - type: string - description: owner of the approval workflow - id: - type: string - description: Unique identification for approval request. Refers to the GUID of the approval request.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - flowId: - type: string - description: Unique Id of flow , approval request belongs to - stepId: - type: string - description: Id of a step, approval request belongs to - groupId: - type: string - description: Id of a group - status: - type: string - description: Status of approval request - enum: - - PENDING - - APPROVED - - SKIPPED - - REJECTED - type: - type: string - description: Onboarding type - enum: - - APPLICATION_CREATION_REQUEST - - USER_ONBOARDING - - APPLICATION_SCOPE_INCREASE_REQUEST - contextId: - type: string - description: GUID of an application or user for which approval request has been raised. - contextData: - type: object - properties: - firstName: - type: string - lastName: - type: string - appType: - type: string - name: - type: string - email: - type: string - RequestTrace: - type: object - additionalProperties: - type: array - items: - $ref: '#/components/schemas/RequestByStep' - RequestByStep: - type: object - properties: - flowId: - type: string - description: 'Unique Id of flow , approval request belongs to' - stepId: - type: string - description: 'Id of a step, approval request belongs to' - status: - type: string - description: Status of approval request - enum: - - PENDING - - APPROVED - - SKIPPED - - REJECTED - comments: - type: string - approver: - $ref: '#/components/schemas/ApproverInfo' - ApproverInfo: - type: object - properties: - id: - type: string - firstName: - type: string - lastName: - type: string - pictureUrl: - type: string - ApprovalPolicy: - type: object - properties: - id: - type: string - description: GUID of approval workflow assignment - policies: - type: array - items: - $ref: '#/components/schemas/Policy' - - Policy: - type: object - properties: - id: - type: string - description: GUID of approval workflow policy - type: - type: string - description: Type of approval - enum: - - INTERNAL_APPROVAL - - EXTERNAL_APPROVAL - parameters: - type: object - properties: - flow_id: - type: string - description: GUID of approval workflow - flow_name: - type: string - description: Approval workflow configuration name - Step: - title: Step - type: object - description: Step instance - properties: - id: - type: string - description: Unique representation of Step - executor: - type: string - staus: - type: string - configuration: - type: object - description: Step configuration as Key value pair - properties: - key: - type: string - value: - type: string - nextSteps: - type: object - description: Next step configuration as Key value pair - properties: - key: - type: string - value: - $ref: '#/components/schemas/Step' - created: - type: string - format: date-time - modified: - type: string - format: date-time - PortalResponse: - type: object - title: '' - properties: - code: - type: integer - description: Error code - message: - type: string - description: Error message - errors: - type: array - description: Array of failed validation errors - items: - type: string - FlowTemplate: - title: FlowTemplate - type: object - properties: - id: - type: string - description: Unique representation of flow object - name: - type: string - description: An Unique name for the identification of approval flow - description: - type: string - description: Short description on approval flow - steps: - type: array - description: Approval flow can have multiple levels.Steps are created in order as provided - items: - $ref: '#/components/schemas/StepTemplate' - required: - - name - - description - ListFlowTemplate: - title: FlowTemplate - type: object - properties: - id: - type: string - description: Unique representation of flow object - name: - type: string - description: An Unique name for the identification of approval flow - description: - type: string - description: Short description on approval flow - required: - - name - - description - FlowInstanceTemplate: - title: FlowInstanceTemplate - type: object - properties: - id: - type: string - description: Unique representation of flow object - status: - type: string - description: Status of the approval request instance flow - enum: - - NOT_STARTED - - STOPPED - - SUSPENDED - - COMPLETED - - SKIPPED - - FLOW_COMPLETED - - ALL - - FAILED - contextId: - type: string - type: - type: string - description: Type of approval request - enum: - - USER_ONBOARDING - - APPLICATION_CREATION_REQUEST - - APPLICATION_SCOPE_INCREASE_REQUEST - root: - type: object - description: Flow step information - properties: - id: - type: string - description: Unique representation of flow step object - executor: - type: string - description: Type of request - enum: - - APPLICATION_REQUEST_PENDING - - USER_REQUEST_PENDING - status: - type: string - description: Status of the approval flow step - enum: - - NOT_STARTED - - STOPPED - - SUSPENDED - - COMPLETED - - SKIPPED - - FLOW_COMPLETED - - ALL - - FAILED - created: - type: string - description: Approval flow step created time - modified: - type: string - description: Approval flow step modified time - configuration: - type: object - nextSteps: - type: object - description: This parameter is a map of next possible steps for this approval request flow - - - StepTemplate: - title: '' - type: object - properties: - id: - type: string - description: Unique identifier for the object. - approver: - type: array - items: - type: object - description: Array of unique Id and name of Portal user or Portal User group - properties: - id: - type: string - description: Unique identifier for the object. - name: - type: string - description: Name of the object. - notification: - type: object - properties: - pending: - type: object - properties: - message: - type: string - subject: - type: string - result: - type: object - properties: - message: - type: string - subject: - type: string - - - mode: - oneOf: - - enum: - - EVERYONE - - ANYONE - description: Approver type. Either user or group - type: string - approverType: - description: Attribute to define type of approver configured. Either be of USER or GROUP - oneOf: - - enum: - - USER - - GROUP - type: string - required: - - approver - - approverType - - mode - - approval_pending_notification_enabled - - approval_pending_notification_subject - - approval_pending_notification_message - - approval_result_notification_enabled - - approval_result_notification_subject - - approval_result_notification_message - description: 'Step objects are used to define a level in a approval workflow. Step can have array of approvers or user group. ' - CreationResponse: - title: CreationResponse - type: object - properties: - id: - type: string - description: Unique id of saved object - _self: - type: string - description: Location of entity - ApprovalTrace: - type: object - properties: - trace: - $ref: '#/components/schemas/RequestTrace' - responses: - 401: - description: The request was unacceptable, due to invalid credentials - content: - application/json: - schema: - $ref: '#/components/schemas/PortalResponse' - examples: - 401: - $ref: '#/components/examples/401' - 403: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/PortalResponse' - examples: - 403: - $ref: '#/components/examples/403' - 404: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/PortalResponse' - examples: - 404: - $ref: '#/components/examples/404' - ApprovalRequest: - description: ok - content: - application/json: - schema: - $ref: '#/components/schemas/ApprovalRequest' - examples: - SearchResponse: - $ref: '#/components/examples/ApprovalRequest' - ApprovalTrace: - description: List of Approval requests grouped by step for the given approval flow - content: - application/json: - schema: - $ref: '#/components/schemas/ApprovalTrace' - examples: - ApprovalTraceExample: - $ref: '#/components/examples/ApprovalTrace' - examples: - 401: - value: - code: 401 - message: Invalid credentials - 403: - value: - code: 403 - message: Insufficient privileges - 404: - value: - status: 404 - message: Unable to find the configuration - ApprovalFlowSearchResponse: - value: - result: - - name: New Flow version - description: Flow with multilevel approval - id: 14594abf-054f-4e4d-b16d-3eb8495f25dc - count: 1 - _links: - _self: rest/v1/approvals?page=0 - _next: rest/v1/approvals?page=1 - ApprovalRequestSearchResponse: - value: - result: - - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 14594abf-054f-4e4d-b16d-3eb8495f25dc - flowId: 5a6eed06-1ec9-4257-b79f-88621da4fffb - stepId: fd972ce8-5d33-4721-aaa5-15c85b9e6566 - groupId: 9870271b-5413-3053-b5b3-12f97a513552 - status: PENDING - type: APPLICATION_CREATION_REQUEST - contextId: d5982437-a78a-40d5-9618-bedae3818c6e - contextData: - firstName: John - lastName: Oliver - appType: API - name: ApprApp - email: johnoliver@gmail.com - - count: 1 - _links: - _self: rest/v1/approvals/request?page=0 - _next: rest/v1/approvals/request?page=1 - FlowInstanceSearchResponse: - value: - result: - - id: fb39605e-0f55-4098-a28e-4db588e1510c - status: COMPLETED - root: - id: 7b5bb9b5-5d63-46fd-89d7-315fae052fa4 - executor: APPLICATION_REQUEST_PENDING - status: COMPLETED - configuration: {} - nextSteps: - APPROVED: - id: 1ce1be73-6408-4b59-b210-45a18bac4fc0 - executor: APPLICATION_REQUEST_ACCEPTED - status: COMPLETED - configuration: {} - nextSteps: {} - created: 2021-03-25 13:03 - modified: 2021-03-25 13:03 - REJECTED: - id: ee58bbc3-7234-4c1d-9d24-12d8055d4fdb - executor: APPLICATION_REQUEST_REJECTED - status: SKIPPED - configuration: {} - nextSteps: {} - created: 2021-03-25 13:03 - modified: 2021-03-25 13:03 - created: 2021-03-25 13:03 - modified: 2021-03-25 13:03 - parameters: - custom: {} - redirect_uris: '[/rest/v1/oauth/callback]' - subscription: false - source: ApplicationCreationHandler - externalrefkey: 757bbd47-35a4-4513-8470-8205cb59f5c4 - step_id: 1ce1be73-6408-4b59-b210-45a18bac4fc0 - provider_ref: a1b3a59c-0639-4260-a9a6-c75c78fcb62d - flow_type: APPLICATION_CREATION_REQUEST - apis: "[c2eb4247-8274-4ffb-978e-382c23825cfa]" - application: 379cbafd-b3a3-4d10-aa8c-b639eb1b7e05 - correlation: e60e1a2e-ba12-475b-843d-8ee994b7de92 - user_request_id: df98180b-a97f-480c-9091-d0d779abc5ea - flow_id: fb39605e-0f55-4098-a28e-4db588e1510c - name: PhotoApp - api: c2eb4247-8274-4ffb-978e-382c23825cfa - user: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - tenant: default - type: APPLICATION_CREATION_REQUEST - contextId: 379cbafd-b3a3-4d10-aa8c-b639eb1b7e05 - - count: 1 - _links: - _self: /rest/v1/approvals/instance?status=ALL&page=0 - _next: /rest/v1/approvals/instance?status=ALL&page=1 - ApprovalFlow: - value: - name: Provider Approval - description: Approve by provider - id: 14594abf-054f-4e4d-b16d-3eb8495f25dc - steps: - - id: 0c6b2610-06de-4f31-9463-0150c176b7c7 - mode: ANYONE - approver_type: GROUP - approver: - - id: 7dead6ba-d7f3-321d-a5c9-971dc33b73fd - name: API Provider - ApprovalRequest: - value: - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 14594abf-054f-4e4d-b16d-3eb8495f25dc - flowId: 5a6eed06-1ec9-4257-b79f-88621da4fffb - stepId: fd972ce8-5d33-4721-aaa5-15c85b9e6566 - groupId: 9870271b-5413-3053-b5b3-12f97a513552 - status: PENDING - type: APPLICATION_CREATION_REQUEST - contextId: d5982437-a78a-40d5-9618-bedae3818c6e - contextData: - firstName: John - lastName: Oliver - appType: API - name: ApprApp - email: johnoliver@gmail.com - ApprovalTrace: - value: - trace: - - Step 1: - owner: 05e85288-f375-43be-a25c-9fba3dc39716 - id: 05e85288-f375-43be-a25c-9fba3dc39716 - modified: 2020-07-10 12:48 - created: 2020-07-10 12:48 - flowId: 05e85288-f375-43be-a25c-9fba3dc39716 - stepId: 05e85288-f375-43be-a25c-9fba3dc39716 - status: APPROVED - approver: - id: 05e85288-f375-43be-a25c-9fba3dc39716 - firstName: Admin - lastName: Admin - pictureUrl: null - - Step 2: - owner: 05e85288-f375-43be-a25c-9fba3dc39716 - id: 05e85288-f375-43be-a25c-9fba3dc39716 - modified: 2020-07-10 12:48 - created: 2020-07-10 12:48 - flowId: 05e85288-f375-43be-a25c-9fba3dc39716 - stepId: 05e85288-f375-43be-a25c-9fba3dc39716 - status: APPROVED - approver: - id: 05e85288-f375-43be-a25c-9fba3dc39716 - firstName: Admin - lastName: Admin - pictureUrl: null - PortalResponseError: - value: - code: 400 - message: "User provided data is not correct" - errors: [ - - ] - CreatedResponse: - value: - id: f790526b-4de4-c305-732d-d8a3d3e2bc12 - _self: /rest/v1/approval/policy - ApprovalPolicy: - value: - id: e5e4a159-26a8-4709-95a0-6bd4412c5b20 - policies: - - id: 4c1f7d17-1e69-47ca-87f6-2f6527180529 - type: INTERNAL_APPROVAL - parameters: - - flow_id: 6e1e3d52-9c62-4e52-910c-fc602a19ad9b - flow_name: ProviderApprovalFlow - FlowResponse: - value: - name: Flow - description: Flow with multilevel approval - id: 326dcd63-f215-415a-bb01-7fa53e75d238 - steps: - - id: 33d727f3-95e2-499f-9679-29d17d968a16 - approver: - - id: 9ab209d6-6a9b-3225-8d7f-56cc4b3b125d - name: "Administrator" - mode: EVERYONE - approver_type: USER - notification: - pending: - subject: Approval request pending - message: Hello ${approver.name}, A request by ${requestor.name} to become a registered user needs your review and approval. You can click the link to approve http://localhost:4200/rest/v/approvals/${approval.request.id}/approve or click the link to reject http://localhost:4200/rest/v/approvals/${approval.request.id}/reject Best Regards,API Cloud Team *** This notification was sent automatically. Do not reply to this email.*** - result: - subject: Result of registration request - message: Hello ${approver.name}, A registration request by ${requestor.name} has been ${approval.result} Best Regards, API Cloud Team *** This notification was sent automatically. Do not reply to this email.*** - - approver: - - id: c32209d6-6a9b-3225-8d7f-56cc4b3b125d - name: "API Administrator" - mode: EVERYONE - approver_type: GROUP - notification: - pending: - subject: Approval request pending - message: Hello ${approver.name}, A request by ${requestor.name} to become a registered user needs your review and approval. You can click the link to approve http://localhost:4200/rest/v/approvals/${approval.request.id}/approve or click the link to reject http://localhost:4200/rest/v/approvals/${approval.request.id}/reject Best Regards,API Cloud Team *** This notification was sent automatically. Do not reply to this email.*** - result: - subject: Result of registration request - message: Hello ${approver.name}, A registration request by ${requestor.name} has been ${approval.result} Best Regards, API Cloud Team *** This notification was sent automatically. Do not reply to this email.*** - requestBodies: {} - securitySchemes: - basicAuth: - type: http - scheme: basic -security: - - basicAuth: [] diff --git a/apis/10.12/openapis/backup-restore.yaml b/apis/10.12/openapis/backup-restore.yaml deleted file mode 100644 index f28dbd4..0000000 --- a/apis/10.12/openapis/backup-restore.yaml +++ /dev/null @@ -1,428 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Backup/Restore API - description: | - ## Overview - API Portal application specific data can be managed by tenant administrator using this API. Generally, - the tenant-specific data are categorized under different modules namely - - * Core - * Collaboration - * Theme - * User - * Analytics - - ## Core - - This module covers Apis, Applications, Approvals, Configurations, Packages and Plans, Communities etc.. - - ## Collaboration - - This module covers Topics, Comments, Notfication, Bookmarks and Favorites. - - ## Theme - - This module covers various themes and its internal like Styles, Layouts, Pages, Components etc.. - - ## User - - This module covers Users and Groups and their Privileges and Configurations. - - ## Analytics - - This module covers Metrics of various assets and Transactional events of an API which are used for analytics analysis - - - ## Accessibility - - Users with role `API Administrator` can perform all operations. - - ## Supported functionalities - - Backup Data. - - Restore Data. - - Get the progress of Backup/Restore activity. - Backup/Restore activities are async in nature. The trigger backup/restore starts the activity and retruns back to the caller immediately with a handle response. Called can make use of this handle to further poll the progress of the backup/restore. - - Download the backed up Data. - - version: "10.11" - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - /data/backup: - post: - tags: - - "Backup" - description: Backup tenant specific data for the requested modules - summary: Backup data - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BackupRequest' - examples: - backup: - $ref: '#/components/examples/BackupRequest' - responses: - "200": - $ref: '#/components/responses/BackupRestoreResponse' - '401': - $ref: '#/components/responses/401' - '403': - $ref: '#/components/responses/403' - - /data/restore: - post: - tags: - - "Restore" - description: | - Restore Data for the requested modules. This is a multi-part request with two parts.`files` part contains the binary file to be restored. `modules` part will contain the specific modules to be restored. - summary: Restore data - requestBody: - content: - multipart/form-data: - schema: - $ref: '#/components/schemas/RestoreRequest' - examples: - restore: - $ref: '#/components/examples/RestoreRequest' - responses: - "200": - $ref: '#/components/responses/BackupRestoreResponse' - "400": - $ref: '#/components/responses/LargerZipFile' - '401': - $ref: '#/components/responses/401' - '403': - $ref: '#/components/responses/403' - - /data/status/{handle}/backup: - get: - tags: - - "Backup" - description: Download the completed backup file using the handle - summary: Download backup - responses: - "200": - description: Response when succesfully downloaded the backup file. - "404": - $ref: '#/components/responses/NotFound' - '401': - $ref: '#/components/responses/401' - '403': - $ref: '#/components/responses/403' - - parameters: - - name: handle - in: path - description: Unique handle id generated to track the progress of Backup/Restore activity - required: true - schema: - type: string - - /data/status/{handle}: - get: - tags: - - "Backup" - description: Get the progress information for the supplied handle - summary: Retrieve progress - responses: - "200": - $ref: '#/components/responses/ProgressResponse' - '401': - $ref: '#/components/responses/401' - '403': - $ref: '#/components/responses/403' - - parameters: - - name: handle - in: path - description: Unique handle id of generated for tracking Backup/Restore activity. Usually be a uuid. - required: true - schema: - type: string -components: - schemas: - Path: - type: object - BackupRestoreResponse: - type: object - properties: - id: - type: string - description: Unique identification for progress. Refers to the GUID of the progress. For example `532e53ef-3b2a-45af-b859-2456dca1bb1f` - _self: - type: string - description: Link to fetch the progress detail. - Activity: - type: string - description: indicates the type of activity. Could be either `backup` or `restore` activity - enum: - - backup - - restore - Error: - type: object - properties: - code: - type: integer - format: int32 - description: Error code - message: - type: string - description: Error message - errors: - type: array - items: - type: string - AsyncStatus: - type: string - description: Status of the Backup/Restore operation triggered asynchronously. Possible values are `PENDING`, `PARSING`, `INPROGRESS`, `COMPLETED`, `FAILED` - enum: - - PENDING - - PARSING - - INPROGRESS - - SUCCEEDED - - FAILED - - RestoreRequest: - type: object - properties: - file: - description: backup file to be restored. - type: string - format: binary - modules: - description: Data belonging to different modules Core, Collaboration, Theme, User and Analytics. - type: array - items: - $ref: '#/components/schemas/BackupRestoreModule' - - BackupRequest: - type: object - properties: - modules: - description: Data belonging to different modules Core, Collaboration, Theme, User and Analytics. - type: array - items: - $ref: '#/components/schemas/BackupRestoreModule' - - BackupRestoreContext: - type: object - properties: - password: - type: string - description: Needed in case, users/groups data need to be password protected. - activity: - $ref: '#/components/schemas/Activity' - fileSize: - description: Size of the Backup file. - type: integer - format: int32 - handle: - description: Link to the progress. - type: string - workDir: - $ref: '#/components/schemas/Path' - fileLocation: - type: string - modules: - description: Data belonging to differnt modules Core, Collaboration, Theme, User and Analytics. - type: array - items: - $ref: '#/components/schemas/BackupRestoreModule' - - BackupRestoreModule: - type: string - description: Data belonging to differnt modules Core, Collaboration, Theme, User and Analytics. - enum: - - Theme - - User - - Core - - Collaboration - - Analytics - - ProgressResponse: - type: object - properties: - failures: - type: object - additionalProperties: - type: string - processedCount: - type: integer - description: No of processed steps. - format: int32 - successes: - type: object - additionalProperties: - type: string - pendingCount: - type: integer - description: No of pending steps. - format: int32 - fileSize: - type: integer - description: Size of the file that is backed up. - format: int32 - skippedCount: - type: integer - description: No of skipped steps. - format: int32 - fileLocation: - type: string - message: - type: string - status: - $ref: '#/components/schemas/AsyncStatus' - elapsedTime: - type: integer - description: The time taken for the Backup/Restore activity so far. - format: int32 - - responses: - - 401: - description: The request was unacceptable, due to invalid credentials - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - 403: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - - LargerZipFile: - description: Zip file content is larger. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/LargerZipFile' - - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - - BackupRestoreResponse: - description: Backup/Restore Response - content: - application/json: - schema: - $ref: '#/components/schemas/BackupRestoreResponse' - examples: - BackupRestoreExample: - $ref: '#/components/examples/BackupRestoreExample' - - ProgressResponse: - description: Progress information of backup/restore activity - content: - application/json: - schema: - $ref: '#/components/schemas/ProgressResponse' - examples: - ProgressResponseExample: - $ref: '#/components/examples/ProgressResponseExample' - - NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - ReadFailed: - $ref: '#/components/examples/ReadFailed' - ProgressMissing: - $ref: '#/components/examples/ProgressMissing' - BackupMissing: - $ref: '#/components/examples/BackupMissing' - - examples: - - "LargerZipFile": - value: - code: 400 - message: The zip file content is larger than the maximum allowed size - - "ReadFailed": - value: - code: 404 - message: Unable to read the backup zip - - "ProgressMissing": - value: - code: 404 - message: Requested progress state not found - - "BackupMissing": - value: - code: 404 - message: Backup file not found. Please backup again to download - - "401": - value: - code: 401 - message: Invalid credentials - - BackupRestoreExample: - value: - id: 4ba06f7c-f4dd-4868-9d97-27134e102d00 - _self: /rest/v1/progress/4ba06f7c-f4dd-4868-9d97-27134e102d00 - - "403": - value: - code: 403 - message: Insufficient privileges - - BackupRequest: - value: - modules: - - Theme - - User - - Collaboration - - Core - - Analytics - - RestoreRequest: - value: | - ------WebKitFormBoundaryOBl7vP7ee7F5cESA - Content-Disposition: form-data; name="modules" - - User, Collaboration - ------WebKitFormBoundaryOBl7vP7ee7F5cESA - Content-Disposition: form-data; name="file"; filename="backup.zip" - - - ------WebKitFormBoundaryOBl7vP7ee7F5cESA-- - - ProgressResponseExample: - value: - processedCount: 25 - pendingCount: 5 - skippedCount: 0 - status: INPROGRESS - fileSize: 5 - elapsedTime: 5 \ No newline at end of file diff --git a/apis/10.12/openapis/comment.yaml b/apis/10.12/openapis/comment.yaml deleted file mode 100644 index 0a5f992..0000000 --- a/apis/10.12/openapis/comment.yaml +++ /dev/null @@ -1,696 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Comments API - version: '10.11' - description: | - ## Overview - Comment management API helps to list or create comments in a topic.It is also used to upvote/downvote a comment or flag a comment in a topic. Depending on whether a post is your own or from another user, you can perform different actions. - - ## Functionalities supported - ### Retrieving Comments - Comments can be retrieved by specifying a topic identifier. If the user has access to a topic stream then user will be able to retrieve the comments associated to the topic stream as well. The comments from the topic stream are retrieved in paginated formats with default page of size 10. - - ### Updating / Deleting Comments - The user who post the comment(owner) can edit/delete his own comments. A user will not be allowed to modify another users comments. - - ### Up/Down vote - The user who reads the comment can decide to up/down vote the comment based on its content. - - ### Flagging - Flagging a comment tells that a comment requires moderator attention. A user can mark flag a comment based on its content if he/she feel inappropriate. - - ## Authorization - - User having persmission to Read the topics can view, upvote, downvote or flag the comment. - - User having permission to Create the topics can post, update or delete the comment. - - User having Administrator permission can accept to flag the comment request. - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - '/topics/{id}/comments': - get: - tags: - - Comment - summary: Get the list of comments in a topic - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - description: |- - Endpoint to retrieve the list of comments in a topic. - - *Endpoint can be accessed only by a user having permission to **READ** topic* - responses: - '200': - $ref: '#/components/responses/SearchResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - post: - tags: - - Comment - summary: Create a comment in a topic - description: |- - Endpoint to post a comment under the topic. - - *Endpoint can be accessed only by a user having permission to **CREATE** topic* - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CommentCreation' - examples: - Comment: - $ref: '#/components/examples/CommentCreation' - responses: - '201': - $ref: '#/components/responses/CreationResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - parameters: - - name: id - in: path - description: Unique identification for topic. Refers to the GUID for the topic.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{topicId}/comments/{id}': - get: - tags: - - Comment - summary: Get details of a paricular comment in a topic - description: |- - Endpoint to retrieve the particular comment in a particular topic. - - *Endpoint can be accessed only by a user having permission to **READ** topic* - responses: - '200': - $ref: '#/components/responses/CommentResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - put: - tags: - - Comment - summary: Update an existing comment in a topic - description: |- - Endpoint to update the particular comment in a particular topic. - - *Endpoint can be accessed only by a user having permission to **CREATE** topic* - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CommentCreation' - examples: - Comment: - $ref: '#/components/examples/CommentCreation' - responses: - '200': - $ref: '#/components/responses/UpdatedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - tags: - - Comment - summary: Delete a comment in a topic - description: |- - Endpoint to delete the particular comment in a particular topic. - - *Endpoint can be accessed only by a user having permission to **CREATE** topic* - responses: - '204': - description: The response when the comment is successfully deleted - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for comment. Refers to the GUID for the comment. - For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - name: topicId - in: path - description: Unique identification for topic. Refers to the GUID for the topic. - For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{topicId}/comments/{id}/upvote': - put: - tags: - - Comment - summary: Upvote a particular comment in a topic - description: |- - Endpoint to upvote the particular comment in a particular topic. Re-invoking the same endpoint will undo the upvote - - *Endpoint can be accessed only by a user having permission to **READ** topic* - responses: - '200': - $ref: '#/components/responses/UpvoteResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - required: true - description: Unique identification for comment. Refers to the GUID for the comment. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - allowEmptyValue: false - schema: - type: string - format: uuid - - name: topicId - in: path - description: Unique identification for topic. Refers to the GUID for the topic. - For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{topicId}/comments/{id}/downvote': - put: - tags: - - Comment - summary: Downvote a particular comment in a topic - description: |- - Endpoint to downvote the particular comment in a particular topic. Re-invoking the same endpoint will undo the downvote - - *Endpoint can be accessed only by a user having permission to **READ** topic* - responses: - '200': - $ref: '#/components/responses/DownVoteResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for comment. Refers to the GUID for the comment. - For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - name: topicId - in: path - description: Unique identification for topic. Refers to the GUID for the topic. - For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{topicId}/comments/{id}/flag': - put: - tags: - - Comment - summary: Flag a comment in a topic - description: |- - Endpoint to flag the particular comment in a particular topic. Re-invoking the same endpoint will undo the flag - - *Endpoint can be accessed only by a user having permission to **READ** topic* - responses: - '200': - $ref: '#/components/responses/FlagResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for comment. Refers to the GUID for the comment. - For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - name: topicId - in: path - description: Unique identification for topic. Refers to the GUID for the topic. - For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{topicId}/comments/{id}/flagged': - put: - tags: - - Comment - summary: Flag a comment in a topic by API Administrator - description: Flag a comment in a topic by API Administrator - responses: - '200': - $ref: '#/components/responses/FlaggedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for comment. Refers to the GUID for the comment. - For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - name: topicId - in: path - description: Unique identification for topic. Refers to the GUID for the topic. - For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - -components: - schemas: - Comment: - type: object - properties: - id: - type: string - description: Unique identifier of a comment - topicId: - type: string - description: Identifier of a topic - content: - description: Content of the comment - type: object - properties: - type: - description: Type of comment - type: string - enum: - - link - - simple - - rich - value: - description: Comment text - type: string - upvotes: - description: List of users upvoted the comment - type: array - items: - type: string - downvotes: - description: List of users downvoted the comment - type: array - items: - type: string - flags: - description: List of users who flagged the comment - type: array - items: - type: string - flagged: - description: Whether given comment is flagged - type: boolean - owner: - description: Owner id of the comment - type: string - created: - type: string - description: Comment creation time - modified: - type: string - description: Comment modified time - CommentDTO: - allOf: - - $ref: '#/components/schemas/Comment' - - type: object - properties: - person: - type: object - properties: - id: - type: string - description: Owner of the comment - firstName: - type: string - description: First name of the owner - lastName: - type: string - description: Last name of the owner - pictureUrl: - type: string - description: Profile pic url of the owner - email: - type: string - description: Email of the comment owner - CommentCreation: - type: object - properties: - topicId: - description: GUID of topic in which comment need to be posted - type: string - content: - type: object - properties: - type: - description: Type of the comment - enum: - - simple - - rich - - link - type: string - value: - type: string - metaData: - type: object - description: If comment type is link then the metadata about the link need to be shared - properties: - title: - type: string - description: - type: string - image: - type: string - CreatedResponse: - type: object - properties: - id: - description: Identifier of newly created comment - type: string - _self: - description: Self reference of newly created comment - type: string - UpdatedResponse: - type: object - properties: - code: - description: Response code - type: integer - message: - description: Response message - type: string - SearchResponse: - type: object - required: - - result - - count - properties: - result: - type: array - items: - $ref: '#/components/schemas/CommentDTO' - count: - description: Total number of comments retrieved - type: integer - _links: - type: object - description: Links of current and next page - required: - - _self - properties: - _self: - type: string - description: Link of current page - _next: - type: string - description: Link of next page - Summary: - type: object - properties: - id: - type: string - description: Unique identifier of a comment - name: - type: string - summary: - type: string - Error: - type: object - properties: - code: - type: integer - description: Response code - message: - type: string - description: Response message - - examples: - SearchResponseComment: - value: - result: - - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 5efd843c-4ce5-493a-9749-c4cce0931888 - modified: 1616649645858 - created: 1616649645858 - flagged: false - upvotes: - - 1d4a465a-3b9a-3b0e-b14d-ae3d08c3b1d9 - topicId: 0bf86cac-5caa-4089-b9c6-48f7043e3ba1 - person: - id: 1d4a465a-3b9a-3b0e-b14d-ae3d08c3b1d9 - email: testgmail.com - content: - value: sample comment - type: rich - count: 1 - _links: - _self: /rest/v1/topics/0bf86cac-5caa-4089-b9c6-48f7043e3ba1/comments?page=0 - Comment: - value: - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 7c59d3cc-3f14-4d65-aa89-47252a7dc377 - flagged: false - modified: 1616649645858 - created: 1616649645858 - upvotes: - - 1d4a465a-3b9a-3b0e-b14d-ae3d08c3b1d9 - topicId: 0bf86cac-5caa-4089-b9c6-48f7043e3ba1 - content: - value: sample comment - type: rich - CommentCreation: - value: - content: - value: My comment - type: rich - CreatedResponse: - value: - id: 4ba06f7c-f4dd-4868-9d97-27134e102d00 - _self: /rest/v1/topics/5efd843c-4ce5-493a-9749-c4cce0931888/comments/7c59d3cc-3f14-4d65-aa89-47252a7dc377 - UpdatedResponse: - value: - code: 200 - message: Comment is updated successfully - UpvoteExample: - value: - code: 200 - message: Upvoted successfully - UndoUpvoteExample: - value: - code: 200 - message: Undo Upvote successful - DownVoteExample: - value: - code: 200 - message: Downvoted successfully - UndoDownVoteExample: - value: - code: 200 - message: Undo downvote successful - FlagResponse: - value: - code: 200 - message: Raised flag successfully - UnFlagResponse: - value: - code: 200 - message: Unflag successful - FlagAcceptedResponse: - value: - code: 400 - message: Flagged successfully - AlreadyFlaggedResponse: - value: - code: 400 - message: Given entity is already flagged - 401: - value: - code: 401 - message: "Invalid credentials" - 403: - value: - code: 403 - message: "Insufficient privileges" - 404_Comment: - value: - code: 404 - message: "Unable to find the comment with id [74733475-a879-4693-b94f-22c9c946d433]" - 404_Topic: - value: - code: 404 - message: "Unable to find the topic with id [74733475-a879-4693-b94f-22c9c946d433]" - - responses: - SearchResponse: - description: List of comments in a topic - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponse' - examples: - CommentList: - $ref: '#/components/examples/SearchResponseComment' - CreationResponse: - description: The response when comment is created successfully - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedResponse' - examples: - CreationResponse: - $ref: '#/components/examples/CreatedResponse' - CommentResponse: - description: The response when the requested comment is successfully retrived - content: - application/json: - schema: - $ref: '#/components/schemas/Comment' - examples: - CommentResponse: - $ref: '#/components/examples/Comment' - UpdatedResponse: - description: The response when the comment is successfully updated - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - UpdationResponse: - $ref: '#/components/examples/UpdatedResponse' - UpvoteResponse: - description: The response when the comment is successfully upvoted - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - UpvoteExample: - $ref: '#/components/examples/UpvoteExample' - UndoUpvoteExample: - $ref: '#/components/examples/UndoUpvoteExample' - DownVoteResponse: - description: The response when the comment is successfully downvoted - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - DownVoteExample: - $ref: '#/components/examples/DownVoteExample' - UndoDownvoteExample: - $ref: '#/components/examples/UndoDownVoteExample' - FlagResponse: - description: The response when the comment is flagged/un-flagged successfully - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - FlaggedResponse: - $ref: '#/components/examples/FlagResponse' - UnflaggedResponse: - $ref: '#/components/examples/UnFlagResponse' - FlaggedResponse: - description: The response when the comment is flagged by Administrator - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - FlaggedResponse: - $ref: '#/components/examples/FlagAcceptedResponse' - AlreadyFlaggedResponse: - $ref: '#/components/examples/AlreadyFlaggedResponse' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404_Topic: - $ref: '#/components/examples/404_Topic' - 404_Comment: - $ref: '#/components/examples/404_Comment' diff --git a/apis/10.12/openapis/communities.yaml b/apis/10.12/openapis/communities.yaml deleted file mode 100644 index d043f1e..0000000 --- a/apis/10.12/openapis/communities.yaml +++ /dev/null @@ -1,1175 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Communities API - version: '10.11' - description: | - ## Overview - Communities in API Portal define the exposure of APIs and packages to consumers. A community - can have one or more administrators that manage the members of a community. The APIs and - packages assigned to the public community are exposed to all users including unregistered users. - - ### Private Community - A private community membership grants API consumers access to private APIs and packages. APIs and - packages that are associated to a private community are only visible to users that belong to this - community. Community owners can add users to or remove users from the community. - - ### Public Community - The public community is a community any registered user can join. Each API Portal instance - features only one public community. By default, all APIs and packages are assigned to the Public - Community and they are visible to all users. This is the default community of a userjoining without - specifying a private community. Public community members and guest users can see the public - APIs and packages - - ## Functionalities supported - - Get detail of all the communities - - Create a new community - - Get detail of a particular community, delete a community and modify community - - Get APIS linked with the community - - Add, delete APIs linked with the community - - Get Groups linked with the community - - Add, delete Groups linked with the community - - Get Users linked with the community - - Add, delete Users linked with the community - - Change owner of a community - - Get Packages linked with the community - - Add, delete Packages linked with the community - - Add or remove community administrators - - ## Authorization - - Any authenticated user can view all the public communites and user's private communities - - Users with privileges *API Administrator* and/or *API Provider* or *owner of the community* can - - view the community, - - view users,groups, apis and packages - - link/unlink apis - - link/unlink packages - if its a private community and no restrictions on these operations if it is a public community - - Users with privileges *API Administrator* and/or *API Provider* can create a community - - Users with privilege *API Administrator* or *owner of the community* can update the community(Public/Private) or - change the owner of the community or add/remove the users or groups in a community - - Users with privilege *API Administrator* or *owner of the community* can delete the community only - if it is a private community - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - '/communities': - get: - tags: - - Community - summary: Retrieve all communities - description: Retrieves all the available communities accessible to the logged in user in the system' - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - responses: - '200': - $ref: '#/components/responses/SearchResponse' - post: - tags: - - Community - summary: Creating a new community - description: Creating a new community with the given data - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Community' - examples: - community: - $ref: '#/components/examples/NewCommunity' - responses: - '201': - $ref: '#/components/responses/CreatedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '400': - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - users-error: - $ref: '#/components/examples/Invalid-user' - groups-error: - $ref: '#/components/examples/Invalid-group' - packages-error: - $ref: '#/components/examples/Invalid-package' - apis-error: - $ref: '#/components/examples/Invalid-API' - '/communities/{id}': - get: - tags: - - Community - summary: Retrieve a Community - description: Retrieve a specific Community identified by given GUID - responses: - '200': - description: Response when community identified by given GUID is successfully retrieved - content: - application/json: - schema: - $ref: '#/components/schemas/Community' - examples: - community: - $ref: '#/components/examples/NewCommunity' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - put: - tags: - - Community - summary: Update a Community - description: Update an existing Community identified by given GUID - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Community' - examples: - community: - $ref: '#/components/examples/Community' - responses: - '200': - $ref: '#/components/responses/UpdatedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - tags: - - Community - summary: Delete a community - description: Delete an existing community identified by given GUID - responses: - '204': - description: The response when the community is successfully deleted - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for community. Refers to the GUID of the community.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - '/communities/{id}/apis': - get: - tags: - - Community - summary: Get all APIs of a community - description: Get all APIs associated to a specific community identified by given GUID - responses: - '200': - description: The response when associated APIs are successfully retrieved for a specific community - content: - application/json: - schema: - $ref: '#/components/schemas/APISearchResponse' - examples: - apis: - $ref: '#/components/examples/APIs' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - put: - tags: - - Community - summary: Add list of APIs to a community - description: Add given list of APIs to a specific community identified by given GUID - requestBody: - content: - application/json: - schema: - type: array - items: - type: string - example: - - 23b0ce88-3296-36be-b2a1-f470aee3f031 - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Community' - examples: - community: - $ref: '#/components/responses/Community' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - tags: - - Community - summary: Delete APIs from a community - description: Delete APIs from a specific community identified by given GUID - responses: - '200': - description: The response when the API is successfully unlinked from given community - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for community. Refers to the GUID fo the community.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - '/communities/{id}/users': - get: - tags: - - Community - summary: Get all users in a community - description: Get all users associated to a specific community identified by given GUID - responses: - '200': - description: The response when associated Users are successfully retrieved for a specific community - content: - application/json: - schema: - $ref: '#/components/schemas/Users' - examples: - apis: - $ref: '#/components/examples/users' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - put: - tags: - - Community - summary: Add users to a community - description: Add collection of users to a specific community identified by given GUID - requestBody: - content: - application/json: - schema: - type: array - items: - type: string - example: - - 23b0ce88-3296-36be-b2a1-f470aee3f031 - responses: - '200': - description: Response when the collection of users are succesfully added to the community - content: - application/json: - schema: - $ref: '#/components/schemas/Community' - examples: - community: - $ref: '#/components/examples/Community' - '400': - $ref: '#/components/responses/BadRequest-Users' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - tags: - - Community - summary: Remove users from a community - description: Remove collection of users from specific community identified by given GUID - responses: - '200': - description: The response when the users are successfully removed from given community - '400': - $ref: '#/components/responses/BadRequest-Users' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for community. Refers to the GUID fo the community.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - '/communities/{id}/groups': - get: - tags: - - Community - summary: Get all groups in a community - description: Get all groups associated with a specific community - responses: - '200': - description: The response when associated groups are successfully retrieved for a specific community - content: - application/json: - schema: - $ref: '#/components/schemas/GroupSearchResponse' - examples: - apis: - $ref: '#/components/examples/groups' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - put: - tags: - - Community - summary: Add groups to a community - description: Add collection of groups to a specific community identified by given GUID - requestBody: - content: - application/json: - schema: - type: array - items: - type: string - example: - - 23b0ce88-3296-36be-b2a1-f470aee3f031 - responses: - '200': - description: Response when the collection of groups are successfully added to specific community - content: - application/json: - schema: - $ref: '#/components/schemas/Community' - examples: - community: - $ref: '#/components/examples/Community' - '400': - $ref: '#/components/responses/BadRequest-Groups' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - tags: - - Community - summary: Remove groups from community - description: Remove collection of groups from specific community identified by given GUID - responses: - '200': - description: The response when the groups are succesfully unlinked from the specific community. - '400': - $ref: '#/components/responses/BadRequest-Groups' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for community. Refers to the GUID fo the community.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - '/communities/{id}/owner': - put: - tags: - - Community - summary: Update owner of a community - description: Update owner of a specific community identified by given GUID - requestBody: - content: - application/json: - schema: - type: string - description: GUID referring to the new owner - example: - 23b0ce88-3296-36be-b2a1-f470aee3f031 - responses: - '200': - description: Response when successfully updated the owner of a specific community - content: - application/json: - schema: - $ref: '#/components/schemas/Community' - examples: - community: - $ref: '#/components/examples/Community' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for community. Refers to the GUID fo the community.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - '/communities/{id}/packages': - get: - tags: - - Community - summary: Retrieves all packages of a community - description: Retrieves all packages associated to a specific community identified by given GUID - responses: - '200': - description: The response when associated pacakges are successfully retrieved for a specific community - content: - application/json: - schema: - $ref: '#/components/schemas/PackageSearchResponse' - examples: - packages: - $ref: '#/components/examples/Packages' - put: - tags: - - Community - summary: Adding packages to a community - description: Adding collection of packages to a community identified using specific GUID - requestBody: - content: - application/json: - schema: - type: array - items: - type: string - example: - - 23b0ce88-3296-36be-b2a1-f470aee3f031 - responses: - '200': - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Community' - example: - $ref: '#/components/examples/Community' - '400': - $ref: '#/components/responses/BadRequest-Packages' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - tags: - - Community - summary: Remove packages from a community - description: Remove packages from a specific community identified by given GUID - responses: - '200': - description: The response when the packages are succesfully unlinked from the specific community. - '400': - $ref: '#/components/responses/BadRequest-Packages' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for community. Refers to the GUID fo the community.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - '/communities/{id}/ispublic': - parameters: - - name: id - in: path - description: Unique identification for community. Refers to the GUID fo the community.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - get: - tags: - - Community - summary: Verify if a community is a public community - description: Verify if a community is a public community by given GUID - responses: - '200': - description: States if the community is a public community - content: - application/json: - schema: - type: boolean - example: - false - '401': - $ref: '#/components/responses/Unauthorized' - '/communities/{id}/administrators': - get: - tags: - - Community - summary: Get the administrators of a community - description: Get the administrator details of the given community - responses: - '200': - description: The response when associated administrators are successfully retrieved for a specific community - content: - application/json: - schema: - $ref: '#/components/schemas/Users' - examples: - apis: - $ref: '#/components/examples/users' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - put: - tags: - - Community - summary: Add administrators to a community - description: Add collection of users as administrators to a specific community identified by given GUID - requestBody: - content: - application/json: - schema: - type: array - items: - type: string - example: - - 23b0ce88-3296-36be-b2a1-f470aee3f031 - responses: - '200': - description: Response when the collection of users are succesfully added as administrators to the community - content: - application/json: - schema: - $ref: '#/components/schemas/Community' - examples: - community: - $ref: '#/components/examples/Community' - '400': - $ref: '#/components/responses/BadRequest-Users' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for community. Refers to the GUID fo the community.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - -components: - securitySchemes: - accesstoken: - type: apiKey - in: cookie - name: accesstoken - bearerAuth: - type: http - scheme: bearer - bearerFormat: JWT - - responses: - SearchResponse: - description: Paginated collection of communities - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponse' - examples: - communities: - $ref: '#/components/examples/Communities' - - CreatedResponse: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedResponse' - examples: - 201: - $ref: '#/components/examples/CreatedResponse' - - UpdatedResponse: - description: The response when the community is successfully updated - content: - application/json: - schema: - $ref: '#/components/schemas/Community' - examples: - community: - $ref: '#/components/examples/Community' - - BadRequest-Packages: - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/Invalid-package' - - BadRequest-Users: - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/Invalid-user' - - BadRequest-Groups: - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/Invalid-group' - - BadRequest: - description: Bad request - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/Invalid-API' - - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - - NotFound: - description: The specified community was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404: - $ref: '#/components/examples/404' - Community: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/Community' - examples: - Community: - $ref: '#/components/examples/Community' - - schemas: - Pagination: - required: - - _self - type: object - properties: - _self: - type: string - description: Link for current page - _next: - type: string - description: Optional link for the next page. Will be missing if the next page does not exist. - - CreatedResponse: - required: - - id - - _self - type: object - properties: - id: - type: string - description: Unique identification for community. Refers to the GUID fo the plan.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - _self: - type: string - description: link to the current community created - - SearchResponse: - required: - - result - - count - type: object - properties: - result: - type: array - description: Array of objects matching given criteria - items: - $ref: '#/components/schemas/Community' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - description: total number of results found - format: int32 - UpdatedResponse: - type: object - properties: - code: - description: Response code - type: integer - message: - description: Response message - type: string - Error: - type: object - properties: - code: - description: Error code - type: integer - message: - description: Error message - type: string - Community: - type: object - properties: - id: - type: string - description: Unique identification for community. Refers to the GUID fo the community. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - name: - type: string - description: Name of the Community - owner: - type: string - description: GUID of the user who owns of the Community - description: - type: string - description: Description of the Community - apis: - type: array - description: GUID of the API's associated with the community - items: - type: string - groups: - type: array - description: GUID of the groups associated with the community - items: - type: string - users: - type: array - description: GUID of the users associated with the community - items: - type: string - packages: - type: array - description: GUID of packages associated with the community - items: - type: string - administrators: - type: array - description: GUID of community administrator users - items: - type: string - SearchResponseSummary: - type: object - required: - - result - - count - properties: - result: - type: array - items: - $ref: '#/components/schemas/Summary' - count: - type: integer - _links: - type: object - required: - - _self - properties: - _self: - type: string - _next: - type: string - Summary: - type: object - properties: - id: - type: string - name: - type: string - summary: - type: string - PackageSearchResponse: - required: - - result - - count - type: object - properties: - result: - type: array - description: Array of objects matching given criteria - items: - $ref: '#/components/schemas/PackageSummary' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - description: total number of results found - format: int32 - APISearchResponse: - required: - - result - - count - type: object - properties: - result: - type: array - description: Collection of APIs - items: - $ref: '#/components/schemas/APISummary' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - description: total number of results found - format: int32 - PackageSummary: - type: object - properties: - id: - description: Unique identification for Package. Refers to the GUID fo the Package. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - type: string - format: uuid - name: - type: string - description: Name of the API - summary: - type: string - description: Summary description for the API - icon: - $ref: '#/components/schemas/Icon' - externalRefKey: - type: string - description: external reference key. Refers to the GUID of the API in the external system like Gateway. - APISummary: - type: object - properties: - id: - description: Unique identification for API. Refers to the GUID fo the API. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - type: string - format: uuid - name: - type: string - description: Name of the API - summary: - type: string - description: Summary description for the API - icon: - $ref: '#/components/schemas/Icon' - version: - type: string - description: Version number of the API - type: - type: string - description: Type of the API. Indicating REST/SOAP/OData - externalRefKey: - type: string - description: external reference key. Refers to the GUID of the API in the external system like Gateway. - Icon: - type: object - properties: - url: - type: string - description: uri location for the icon - type: - type: string - description: type of uri location. refers to either Internal/External. When points to Internal uri is hosted by the API Portal - - GroupSearchResponse: - required: - - result - - count - type: object - properties: - result: - type: array - description: Array of objects matching given criteria - items: - $ref: '#/components/schemas/Group' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - description: total number of results found - format: int32 - Group: - type: object - properties: - id: - description: Unique identification for group. Refers to the GUID for the group. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - type: string - format: uuid - created: - description: date in which the group is provisioned in the system. - type: string - modified: - description: date in which the group was modified in the system. - type: string - name: - description: name of the group - type: string - displayName: - description: display name of the group. - type: string - Users: - type: array - description: Collection of users - items: - $ref: '#/components/schemas/User' - User: - type: object - properties: - username: - description: username of the user - type: string - id: - description: Unique identification for user. Refers to the GUID for the user. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - type: string - format: uuid - firstname: - description: First name of the user - type: string - lastname: - description: Last name of the user - type: string - locale: - description: Preferred locale of the user - type: string - externalPictureUrl: - description: External picture url for the user - type: string - type: - description: field indicating type of user like LDAP/Social/Native user - type: string - created: - description: date in which the user is provisioned in the system. - type: string - modified: - description: date in which the user was modified in the system. - type: string - name: - description: username of the user - type: string - displayName: - description: display name of the user. usually derived from first / last name of the user - type: string - examples: - CreatedResponse: - value: - id: f790526b-4de4-c305-732d-d8a3d3e2bc12 - _self: /rest/v1/communities/f790526b-4de4-c305-732d-d8a3d3e2bc12 - - Communities: - value: - result: - - name: Public Community - id: 3bdf8005-5685-3ef5-b132-de4681963fb6 - description: Public Community - count: 1 - _links: - _self: "/rest/v1/communities?page=0" - - UpdatedResponse: - value: - code: 200 - message: Community is updated successfully - - Invalid-API: - value: - code: 400 - message: User provided data is not correct - errors: - - 'Unable to find the API with id [47b53f39-5f40-4a57-ad-3666f3b8e799]' - Invalid-package: - value: - code: 400 - message: User provided data is not correct - errors: - - 'Unable to find the packages with id [47b53f39-5f40-4a57-ad-3666f3b8e799]' - Invalid-user: - value: - code: 400 - message: User provided data is not correct - errors: - - 'Unable to find the users with id [47b53f39-5f40-4a57-ad-3666f3b8e799]' - Invalid-group: - value: - code: 400 - message: User provided data is not correct - errors: - - 'Unable to find the Groups with id [47b53f39-5f40-4a57-ad-3666f3b8e799]' - APIs: - value: - result: - - id: a1264eff-87f9-4e6d-b4b8-abf51855afda - name: pet1 - summary: 'This is a sample server Petstore server. ' - icon: - url: "/public/assets/images/rest-api-icon.svg" - type: INTERNAL - version: 1.0.5 - type: REST - externalRefKey: 7f4adf29-3beb-45ef-8c1a-345a8eada6f3 - count: 1 - _links: - _self: "/rest/v1/communities/3bdf8005-5685-3ef5-b132-de4681963fb6/apis?page=0" - Packages: - value: - result: - - id: a1264eff-87f9-4e6d-b4b8-abf51855afda - name: TravelPackage - summary: 'This is a travel package which includes the APIs related to travel ' - icon: - url: "/rest/v1/files/9ab59a45-05bb-4781-ace1-bb41675ba867" - type: INTERNAL - externalRefKey: 7f4adf29-3beb-45ef-8c1a-345a8eada6f3 - count: 1 - _links: - _self: "/rest/v1/communities/3bdf8005-5685-3ef5-b132-de4681963fb6/packages?page=0" - 401: - value: - code: 401 - message: "Invalid credentials" - 403: - value: - code: 403 - message: "Insufficient privileges" - 404: - value: - code: 404 - message: "Unable to find the Community with id [c234ec5e-8e8d-4e2d-84f1-526b590bfd37]" - NewCommunity: - value: - name: HealthCareCommunity - description: This community created for healthcare department users. - apis: - - 80b2c6d2-30e5-4b2f-82ce-07f9205941cb - - ebf986ac-cb6c-405b-b047-67202706c42e - groups: - - 568ecf56-5fdc-4d2a-a3f7-64a6d824a21d - users: - - 52c0b766-8bdc-4932-93f2-c7bcb8a16750 - - 6b8e787f-142d-4675-901d-21999b8dc6e2 - packages: - - 23b0ce88-3296-36be-b2a1-f470aee3f031 - users: - value: - - username: user1 - id: 24c9e15e-52af-347c-a25b-757e7bee1f9d - firstname: Harry - lastname: Williams - locale: en_US - externalPictureUrl: "/rest/v1/users/24c9e15e-52af-347c-a25b-757e7bee1f9d/picture" - type: NATIVE - created: 2021-03-25 12:54 - modified: 2021-03-25 12:54 - name: HaryW - displayName: Harry Williams - groups: - value: - result: - - id: da7c1b25-1941-3d31-a411-f058c3c72e86 - name: Sales - created: 2021-03-25 13:41 - modified: 2021-03-25 13:41 - displayName: Sales - count: 1 - _links: - _self: "/rest/v1/communities/0c0fc574-6f3c-4e0f-842b-8969ba044f64/groups?page=0" - Community: - value: - id: 64e1fbe8-bfce-43a5-b728-5e89c1c8d953 - name: HealthCareCommunity - description: This community created for healthcare department users. - apis: - - 80b2c6d2-30e5-4b2f-82ce-07f9205941cb - - ebf986ac-cb6c-405b-b047-67202706c42e - groups: - - 568ecf56-5fdc-4d2a-a3f7-64a6d824a21d - users: - - 52c0b766-8bdc-4932-93f2-c7bcb8a16750 - - 6b8e787f-142d-4675-901d-21999b8dc6e2 - packages: - - 23b0ce88-3296-36be-b2a1-f470aee3f031 - administrators: - - 516fbb8a-402a-4e69-ac31-7d50a4997af2 diff --git a/apis/10.12/openapis/license.yaml b/apis/10.12/openapis/license.yaml deleted file mode 100644 index edab841..0000000 --- a/apis/10.12/openapis/license.yaml +++ /dev/null @@ -1,164 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal License APIs - version: "10.11" - description: |- - ## Overview - Developer Portal requires an license to use his functionalities - - This API will cover how to manage the license. - - ## Functionalities supported - - Add License - - Get License - - Delete License - - ## Authorization - - Users with role 'Administrator' can add/get/delete a license - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - "/licenses": - get: - summary: Retrieve all the licenses added to Developer Portal - description: |- - Endpoint to retrieve the list of all Linceses in Developer Portal. - responses: - '200': - description: '' - content: - application/json: - example: |- - [ - { - "name": "license.xml", - "product": "DPO", - "licenseType": "TEN", - "serialNumber": "0006219", - "licenseKey": null, - "customerName": "SoftwareAG", - "expirationDate": null, - "expiringUnlimited": true, - "productVersion": "10.1", - "alert": false - } - ] - '403': - $ref: '#/components/responses/Forbidden' - '401': - $ref: '#/components/responses/Unauthorized' - post: - summary: Upload an License to an Developer Portal - description: |- - Endpoint to publish an License to an Developer Portal. - - *Endpoint can be accessed only by a user having **Administrator** role* - requestBody: - content: - multipart/formdata: - schema: - type: object - properties: - file: - type: string - description: License file in binary format - example: - |- - ------WebKitFormBoundaryOBl7vP7ee7F5cESA - Content-Disposition: form-data; name="file"; filename="license.xml" - Content-Type: application/json - - - ------WebKitFormBoundaryOBl7vP7ee7F5cESA-- - responses: - '200': - description: '' - content: - application/json: - schema: - type: object - properties: - code: - type: integer - message: - type: string - example: |- - {"code":200,"message":"License is added successfully"} - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '400': - description: Bad Request - content: - application/json: - examples: - 400: - $ref: '#/components/examples/400' - - delete: - summary: Delete an license - description: |- - Endpoint to delete the specific license from an Developer Portal. - parameters: - - name: serialNumber - in: query - description: serialNumber of an license that need to be deleted - required: true - schema: - type: integer - responses: - '204': - description: 'No content' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - -components: - responses: - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - - schemas: - Error: - type: object - properties: - code: - type: integer - message: - type: string - - examples: - 401: - value: - code: 401 - message: Invalid credentials - 403: - value: - code: 403 - message: Insufficient privileges - 400: - value: - code: 400 - message: Invalid file diff --git a/apis/10.12/openapis/notifications.yaml b/apis/10.12/openapis/notifications.yaml deleted file mode 100644 index 7433fc5..0000000 --- a/apis/10.12/openapis/notifications.yaml +++ /dev/null @@ -1,418 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Notifications API - description: | - ## Overview - - Notifications are alerts on the activities by other users or activities on groups. - - ## Notification Management API - - Notification Management API helps to manage notifications in API Portal. - - - InApp and Email notifications are supported and they can be turned ON Or OFF by - changing the preferences for an user in notification settings. - - ## Overview of supported functionalities and Accessibility - - Owner of the notificaton can view all notifications, get the count of unread notifications, update or - delete notifications. - - version: "10.11" - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - /users/preferences: - get: - summary: Read notification preference - description: Get the notification preferences of the currently logged in user - tags: - - Notification - responses: - '200': - description: Notification Preference of the current user - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationPreference' - examples: - NotifictionPreference: - $ref: '#/components/examples/NotificationPreference' - "401": - $ref: '#/components/responses/Unauthorized' - put: - summary: Update notification preference - description: Update the notification preferences for logged in user - tags: - - Users - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationPreference' - examples: - NotifictionPreference: - $ref: '#/components/examples/NotificationPreference' - responses: - '200': - description: Notification preference for the current user updated successfully - "401": - $ref: '#/components/responses/Unauthorized' - /notifications: - get: - tags: - - Notification - summary: Fetch notifications - description: Retrieve paginated notifications for the currently logged in user - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - responses: - "200": - $ref: '#/components/responses/NotificationListResponse' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - put: - tags: - - Notification - description: Update the status of notifications as READ or UNREAD - summary: Mark READ/UNREAD - parameters: - - name: status - in: query - description: Defines the status of the notification - required: false - schema: - type: string - requestBody: - content: - application/json: - schema: - type: array - items: { - type: string - } - example: '["3bdf8005-5685-3ef5-b132-de4681963fb6","3bdf8005-5685-3ef5-b13-de4681963yb6"]' - responses: - "200": - $ref: '#/components/responses/StatusUpdatedResponse' - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - delete: - tags: - - Notification - description: Bulk delete of notifications belong to logged in user - summary: Delete notifications - requestBody: - content: - application/json: - schema: - description: Collection of unique identifier for notification - type: array - items: - type: string - example: '["3bdf8005-5685-3ef5-b132-de4681963fb6","3bdf8005-5685-3ef5-b13-de4681963y0b6"]' - responses: - "204": - description: "Response when given notifications deleted successfully" - "401": - $ref: '#/components/responses/Unauthorized' - "403": - $ref: '#/components/responses/Forbidden' - "404": - $ref: '#/components/responses/NotFound' - /notifications/_count: - get: - tags: - - Notification - summary: Unread notification count - description: Retrieves the number of unread notifications for the logged in user - responses: - "200": - $ref: '#/components/responses/UnreadCount' -components: - securitySchemes: - basicAuth: - type: http - scheme: basic - schemas: - NotificationEventType: - description: type of notifcation generated. sample values `TOPIC_CREATED` / `COMMENT_CREATED` / `APPROVAL_PENDING` - type: string - enum: - - TOPIC_CREATED - - COMMENT_CREATED - - APPROVAL_PENDING - - APPROVAL_RESULT - - API_REPUBLISH - - API_UNPUBLISH - - PACKAGE_REPUBLISH - - PACKAGE_UNPUBLISH - - EMAIL_VERIFICATION - NotificationList: - type: object - properties: - result: - type: array - description: Collection of notifications - items: - $ref: '#/components/schemas/Notification' - count: - type: integer - description: Total number of notifications available - _links: - type: object - properties: - _self: - description: Link for current page - type: string - _next: - description: Optional link for the next page. Will be missing if the next page does not exist. - type: string - NotificationUserSignificance: - type: string - description: Indicates the significance of the notification message like `INFORMATION`/`ACTION`. Currently supports only Info. - enum: - - INFORMATION - - ACTION - Error: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - errors: - type: array - items: - type: string - - NotificationPreference: - type: object - description: Notification preference for the user - properties: - inapp: - $ref: '#/components/schemas/InAppNotification' - email: - $ref: '#/components/schemas/EmailNotification' - InAppNotification: - type: object - description: In app notification settings - additionalProperties: - $ref: '#/components/schemas/Frequency' - EmailNotification: - type: object - description: Email notification settings - additionalProperties: - $ref: '#/components/schemas/Frequency' - Frequency: - type: string - description: Frequency of notification. Valid values `INSTANT` / `DAILY` / `WEEKLY` - enum: - - OFF - - INSTANT - - DAILY - - WEEKLY - - MONTHLY - - Notification: - type: object - properties: - owner: - description: GUID of the user for whom the notification was generated - type: string - localization: - description: Localized text of notification message - type: string - significance: - $ref: '#/components/schemas/NotificationUserSignificance' - notification: - $ref: '#/components/schemas/NotificationEventType' - name: - type: string - context: - description: context parameters specific to notification generated. - type: object - additionalProperties: - type: string - id: - description: Unique identifier of the notification. Usually be a UUID - type: string - format: uuid - status: - $ref: '#/components/schemas/NotificationStatus' - NotificationStatus: - type: string - description: status indicating whether specific notification is read by the user or not. Possible values `READ` / `UNREAD` - enum: - - READ - - UNREAD - StatusUpdated: - required: - - code - - message - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - UnreadCount: - type: integer - format: int32 - responses: - BadRequest: - description: User provided data is not correct - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/400' - NotificationListResponse: - description: User's notifications are fetched successfully - content: - application/json: - schema: - $ref: '#/components/schemas/NotificationList' - examples: - NotificationList: - $ref: '#/components/examples/NotificationList' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - StatusUpdatedResponse: - description: Notification status updated successfully. - content: - application/json: - schema: - $ref: '#/components/schemas/StatusUpdated' - examples: - StatusUpdatedExample: - $ref: '#/components/examples/StatusUpdatedExample' - NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404: - $ref: '#/components/examples/404' - UnreadCount: - description: Unread notifications count - content: - application/json: - schema: - $ref: '#/components/schemas/UnreadCount' - examples: - UnreadCountExample: - $ref: '#/components/examples/UnreadCountExample' - examples: - "400": - value: - code: 400 - message: User provided data is not correct - "401": - value: - code: 401 - message: Invalid credentials - StatusUpdatedExample: - value: - code: 200 - message: Notification status updated successfully - "403": - value: - code: 403 - message: Insufficient privileges - "404": - value: - code: 404 - message: Unable to find the notification with id [3bdf8005-5685-3ef5-b132-de4681963fb6] - "NotificationList": - value: - count: 1 - _links: - _self: /rest/v1/packages?page=0 - result: - - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 24e7efda-eb9a-4a7c-ade8-27ea4f196b31 - modified: 2021-03-25 11:32 UTC - created: 2021-03-25 11:32 UTC - status: UNREAD - context: - originator.id: INTERNAL - api.name: Portal Notifications API - tenant: default - api.id: e4d8161b-24b4-479a-aa8f-077e6f4817fd - localization: Api Portal Notifications API has been unpublished - notification: API_UNPUBLISH - significance: INFORMATION - - NotificationPreference: - value: - INAPP: - TOPIC_CREATED: INSTANT - COMMENT_CREATED: INSTANT - APPROVAL_PENDING: INSTANT - APPROVAL_RESULT: INSTANT - API_REPUBLISH: INSTANT - API_UNPUBLISH: INSTANT - PACKAGE_UNPUBLISH: INSTANT - PACKAGE_REPUBLISH: INSTANT - EMAIL: - TOPIC_CREATED: OFF - COMMENT_CREATED: OFF - APPROVAL_PENDING: OFF - APPROVAL_RESULT: OFF - API_REPUBLISH: INSTANT - API_UNPUBLISH: INSTANT - PACKAGE_UNPUBLISH: INSTANT - PACKAGE_REPUBLISH: INSTANT - - "Notification": - value: - - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 24e7efda-eb9a-4a7c-ade8-27ea4f196b31 - modified: 2021-03-25 11:32 UTC - created: 2021-03-25 11:32 UTC - status: UNREAD - context: - originator.id: INTERNAL - api.name: Portal Notifications API - tenant: default - api.id: e4d8161b-24b4-479a-aa8f-077e6f4817fd - localization: Api Portal Notifications API has been unpublished - notification: API_UNPUBLISH - significance: INFORMATION - "UnreadCountExample": - value: - 3 \ No newline at end of file diff --git a/apis/10.12/openapis/oauth.yaml b/apis/10.12/openapis/oauth.yaml deleted file mode 100644 index 3274858..0000000 --- a/apis/10.12/openapis/oauth.yaml +++ /dev/null @@ -1,394 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal OAuthTokens API - version: '10.11' - description: | - ## Overview - - Portal OAuth API helps to generate the OAuth tokens in API Portal using client credential grant - - Portal OAuth API defines the standard callback used when we try retrieve the OAuthToken using tryAPI in API Portal. - - ## Redirect URI - Redirect URLs are a critical part of the OAuth flow. After a user successfully authorizes an application, - the authorization server will redirect the user back to the application with either an authorization code or access token in the URL. Because the redirect URL will contain sensitive information, - it is critical that the service doesn’t redirect the user to arbitrary locations. - - The best way to ensure the user will only be directed to appropriate locations is to require the - developer to register one or more redirect URLs when they create the application. - - ## Client credential grant - The Client Credentials grant is used when applications request an access token to access their own resources, not on behalf of a user. -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server -paths: - /oauth/tokens: - post: - summary: Get token using client credential grant - description: Create a new OAuthToken for the specific application with `Client credentials` grant type - parameters: - - in: query - name: credentialsIn - description: Indicates how to supply the credentials required to the authorization server. To be sent in authorization header or in the response body. Possible values are `HEADER` or `PAYLOAD`. Default to `HEADER` if none specified. - required: false - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CC_Request' - examples: - OAuthTokenRequest: - $ref: '#/components/examples/TokenRequestExample' - responses: - 201: - $ref: '#/components/responses/201' - 400: - $ref: '#/components/responses/BadRequest' - 401: - $ref: '#/components/responses/Unauthorized' - 403: - $ref: '#/components/responses/Forbidden' - 404: - $ref: '#/components/responses/NotFound' - - /oauth/callback: - summary: OAuth Callback Uri - description: This API is used as a Callback/Redirect uri for OAuth applications to recevie the authorization code - get: - parameters: - - $ref: '#/components/parameters/code' - - $ref: '#/components/parameters/grant_type' - - $ref: '#/components/parameters/state' - - $ref: '#/components/parameters/error' - - $ref: '#/components/parameters/error_description' - - $ref: '#/components/parameters/access_token' - - $ref: '#/components/parameters/token_type' - - $ref: '#/components/parameters/expires_in' - - $ref: '#/components/parameters/refresh_token' - - $ref: '#/components/parameters/scope' - description: This API is registered as callback uri in OAuth Authorization server - responses: - 200: - description: Response when succesfully received the callback request from authorization server. - -components: - schemas: - TokenList: - type: object - properties: - result: - type: array - items: - $ref: '#/components/schemas/Token' - count: - type: integer - _links: - type: object - properties: - _self: - type: string - _next: - type: string - CC_Request: - type: object - required: - - name - properties: - name: - description: Placeholder name for the OAuthToken - type: string - grantType: - description: Specific grant type used to generate the token. It could be `client_credentials` or `authorization_code` or `implicit` - type: string - applicationId: - description: uuid of the application to be used for cc request flow. the caller must have read access to the application. - type: string - scope: - description: scope to be used in the token generation request. - type: string - Token: - type: object - required: - - name - properties: - name: - description: Placeholder name for the OAuthToken - type: string - grantType: - description: Specific grant type used to generate the token. It could be `client_credentials` or `authorization_code` or `implicit` - type: string - authorizationUri: - type: string - accessUri: - type: string - redirectUri: - type: string - clientId: - type: string - clientSecret: - type: string - credentialsIn: - oneOf: - - enum: - - HEADER - - PAYLOAD - type: string - token: - $ref: '#/components/schemas/TokenResponse' - applicationId: - type: string - scope: - type: string - status: - oneOf: - - enum: - - INACTIVE - - ACTIVE - type: string - 201: - type: object - properties: - id: - description: unique identifier of the token - type: string - _self: - description: link for retrieving the specific token - type: string - TokenResponse: - type: object - properties: - access_token: - type: string - token_type: - type: string - expires_in: - type: string - refresh_token: - type: string - scope: - type: string - Error: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - errors: - type: array - items: - type: string - - parameters: - page: - in: query - name: page - schema: - type: integer - description: Page number - appId: - in: query - name: appId - required: true - allowEmptyValue: false - schema: - type: string - description: Enter a valid app id - credentialsIn: - in: query - name: credentialsIn - required: false - schema: - type: string - id: - in: path - name: id - required: true - allowEmptyValue: false - schema: - type: string - description: Enter a valid id - code: - in: query - description: This parameter is the authorization code that the client previously received from the authorization server. - name: code - required: false - schema: - type: string - grant_type: - in: query - name: grant_type - description: grant type used in the flow. Valid values are `client_credentials` or `authorization_code` or `implicit` - required: false - schema: - type: string - state: - in: query - name: state - description: The state parameter preserves some state objects set by the client in the Authorization request and makes it available to the client in the response. - required: false - schema: - type: string - error: - in: query - name: error - description: refers to the error code if occurred during OAuth grant flow - required: false - schema: - type: string - error_description: - in: query - name: error_description - description: meaninful description for the error indicated usign error code - required: false - schema: - type: string - access_token: - in: query - name: access_token - description: actual OAuthToken generated by the authorization server. This is only applicable in Implicit grant where authorization server responds back with actual token. - required: false - schema: - type: string - token_type: - in: query - name: token_type - required: false - schema: - type: string - expires_in: - in: query - description: duration in which the token expires. usually in seconds. - name: expires_in - required: false - schema: - type: string - refresh_token: - in: query - name: refresh_token - required: false - schema: - type: string - scope: - in: query - name: scope - description: Scope is a mechanism in OAuth 2.0 to limit an application's access to a user's account. An application can request one or more scopes, this information is then presented to the user in the consent screen, and the access token issued to the application will be limited to the scopes granted. - required: false - schema: - type: string - - responses: - 201: - description: Response when token is created successfully - content: - application/json: - schema: - $ref: '#/components/schemas/201' - examples: - 201: - $ref: '#/components/examples/201' - TokenResponse: - description: Token is retrieved successfully - content: - application/json: - schema: - $ref: '#/components/schemas/Token' - examples: - TokenResponseExample: - $ref: '#/components/examples/TokenResponseExample' - BadRequest: - description: User provided data is not correct - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/400' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404: - $ref: '#/components/examples/404' - - examples: - TokenListExample: - value: - count: 1 - _links: - _self: /rest/v1/oauth/tokens?page=0 - result: - - id: 40bad9d0-d6dc-4a23-b486-fbc4888ea0e7 - owner: 40bad9d0-d6dc-4a23-b486-fbc4888ea0e7 - name: Token - token: - access_token: 06f64133b6a14297b41d9516867edd44 - token_type: Bearer - expires_in: 3600 - applicationId: 06f64133b6a14297b41d9516867edd44 - scope: Read - status: ACTIVE - TokenRequestExample: - value: - name: ClientCredentialToken - scope: Read - applicationId: 55de08f7-9db9-4d60-b478-2355fa2520d9 - 201: - value: - id: 015a2458-9f62-4ac6-a97e-8c2454c0ef61 - _self: /rest/v1/oauth/tokens/015a2458-9f62-4ac6-a97e-8c2454c0ef61 - TokenState: - value: - name: implicit token - applicationId: 015a2458-9f62-4ac6-a97e-8c2454c0ef61 - grantType: implicit - authorizationUri: https://randomurl.com - accessUri: https://randomurl.com - redirectUri: https://randomurl.com - clientId: 015a2458-9f62-4ac6-a97e-8c2454c0ef61 - clientSecret: 015a2458-9f62-4ac6-a97e-8c2454c0ef61 - scope: Read - credentialsIn: HEADER - 400: - value: - code: 400 - message: User provided data is not correct - 401: - value: - code: 401 - message: Invalid credentials - 403: - value: - code: 403 - message: Insufficient privileges - 404: - value: - code: 400 - message: Unable to find the token - - - diff --git a/apis/10.12/openapis/plans.yaml b/apis/10.12/openapis/plans.yaml deleted file mode 100644 index 9079c26..0000000 --- a/apis/10.12/openapis/plans.yaml +++ /dev/null @@ -1,403 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Plans API - description: |- - ## Overview - An API Plan is a contract proposal presented to the consumers who wish to subscribe to the APIs. - - Plans are offered as tiered offerings with varying availability guarantees, SLAs or cost structures associated to it. - - ## Functionalities supported - - List the plans available in the system. - - Create a new plan. - - Get the details of a plan. - - Modify an existing plan. - - Delete an existing plan - - ## Authorization - - Users with role 'Administrator' and/or 'Provider' can create/update/delete a plan - - Any user can view the list of available plans and details of a particular plan - version: '10.11' -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server -paths: - /plans: - get: - tags: - - Plan - summary: Read all plans - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: string - default: 0 - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - responses: - '200': - $ref: '#/components/responses/SearchResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - post: - tags: - - Plan - summary: Create plan - requestBody: - description: Plan payload - content: - application/json: - schema: - $ref: '#/components/schemas/Plan' - examples: - plan: - $ref: '#/components/examples/Plan' - responses: - '201': - $ref: '#/components/responses/CreatedResponse' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '/plans/{id}': - get: - tags: - - Plan - summary: Get the details of a plan by the given id - responses: - '200': - $ref: '#/components/responses/PlanResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - put: - tags: - - Plan - summary: Update a specific plan identified by given id - requestBody: - description: Plan payload - content: - application/json: - schema: - $ref: '#/components/schemas/Plan' - examples: - plan: - $ref: '#/components/examples/Plan' - responses: - '200': - $ref: '#/components/responses/UpdatedResponse' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - tags: - - Plan - responses: - '204': - description: Plan is deleted successfully - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification of plan. Refers to the GUID of the plan.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - schema: - type: string -components: - schemas: - CreatedResponse: - required: - - id - - _self - type: object - properties: - id: - type: string - description: Unique identification of plan. Refers to the GUID of the plan.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - _self: - type: string - description: Link to the current plan - Pagination: - required: - - _self - type: object - properties: - _self: - type: string - description: Link for current page - _next: - type: string - description: Optional link for the next page. Will be missing if the next page does not exist. - PlanEnforcements: - type: object - properties: - name: - type: string - properties: - type: array - items: - $ref: '#/components/schemas/Property' - PlanCost: - description: Cost structure of the plan - type: object - properties: - duration: - description: Incurs cost at this duration interval. e.g 1 hour - type: string - currency: - description: Name of the currency. e.g US$ or INR - type: string - value: - description: Price value. e.g 1500 - type: string - Icon: - description: Logo/Icon of the plan - type: object - properties: - url: - type: string - description: Location of the icon file - type: - type: string - description: Denotes if internal file system icon of externally located. Supported values 'INTERNAL', 'EXTERNAL' - enum: - - INTERNAL - - EXTERNAL - Error: - required: - - code - - message - type: object - properties: - code: - type: integer - format: int32 - message: - description: Detailed error message - type: string - Plan: - type: object - properties: - license: - type: string - description: Holds the license details for using the plan - enforcements: - description: Contains the quota limits and alert message definition - type: array - items: - $ref: '#/components/schemas/PlanEnforcements' - cost: - $ref: '#/components/schemas/PlanCost' - terms: - type: string - description: Terms and contions of the plan - deprecated: - type: boolean - description: Indicates if the plan is deprecated or active - name: - type: string - description: Name of the plan - id: - type: string - description: Unique identification of plan. Refers to the GUID of the plan. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - icon: - $ref: '#/components/schemas/Icon' - description: - description: Detailed description and usage of the plan - type: string - Property: - type: object - properties: - value: - type: string - key: - type: string - SearchResponse: - required: - - result - - count - type: object - properties: - result: - type: array - description: Array of objects matching given criteria - items: - $ref: '#/components/schemas/Plan' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - description: Total number of results found - format: int32 - responses: - CreatedResponse: - description: '' - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedResponse' - examples: - 201: - $ref: '#/components/examples/CreatedResponse' - BadRequest: - description: 'The request was unacceptable, due to invalid payload' - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/BadRequest' - UpdatedResponse: - description: Plan updated successfully - content: - application/json: - schema: - $ref: '#/components/schemas/Plan' - examples: - plan: - $ref: '#/components/examples/Plan' - PlanResponse: - description: Plan with the given id retrived successfully - content: - application/json: - schema: - $ref: '#/components/schemas/Plan' - examples: - plan: - $ref: '#/components/examples/Plan' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/Unauthorized' - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/Forbidden' - SearchResponse: - description: Retrived all plans - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponse' - examples: - plans: - $ref: '#/components/examples/GetAllPlans' - NotFound: - description: Plan not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404: - $ref: '#/components/examples/NotFound' - examples: - CreatedResponse: - value: - id: f790526b-4de4-c305-732d-d8a3d3e2bc12 - _self: /rest/v1/plans/f790526b-4de4-c305-732d-d8a3d3e2bc12 - BadRequest: - value: - code: 400 - message: User provided data is not correct - Unauthorized: - value: - code: 401 - message: Invalid credentials - Forbidden: - value: - code: 403 - message: Insufficient privileges - Plan: - value: - name: Gold Plan - id: 5f5947f7-ffb5-4534-bf44-360aceca9b24 - summary: Summary of gold plan - description: Description of gold plan - cost: - currency: US - value: '100' - duration: hour - icon: - url: "/rest/v1/files/1ebfebdc-ffef-4074-b980-d8f126e7cf71" - type: INTERNAL - terms: Subject to terms and conditions - license: Apache 2.0 Licensed - enforcements: - - name: Throttling - properties: - - key: Maximum Request Quota - value: '100' - - key: Validation Interval - value: 3 minutes - - key: Violation Message - value: Hard limit crossed - GetAllPlans: - value: - result: - - name: Gold Plan - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 5f5947f7-ffb5-4534-bf44-360aceca9b24 - cost: - currency: US - value: '100' - duration: hour - icon: - url: "/rest/v1/files/1ebfebdc-ffef-4074-b980-d8f126e7cf71" - type: INTERNAL - terms: Subject to terms and conditions - license: Apache 2.0 Licensed - deprecated: false - enforcements: - - name: Throttling - properties: - - key: Maximum Request Quota - value: '100' - - key: Validation Interval - value: 3 minutes - - key: Violation Message - value: Hard limit crossed - summary: Summary of gold plan - description: Description of gold plan - count: 1 - _links: - _self: "/rest/v1/plans?page=0" - NotFound: - value: - code: 404 - message: Unable to find the Plan with id [74733475-a879-4693-b94f-22c9c946d433] diff --git a/apis/10.12/openapis/providers.yaml b/apis/10.12/openapis/providers.yaml deleted file mode 100644 index dd3c762..0000000 --- a/apis/10.12/openapis/providers.yaml +++ /dev/null @@ -1,932 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Providers API - description: | - ## Overview - An API Provider has the privileges to enable an API Portal Administrator or Provider to manage - APIs, and configure notification types that are used for API-related events. - - There are two types of API providers in API Portal: - - ### Default Provider - Any API that is imported and not associated with any other API provider - is automatically associated with the Default Provider. - When an imported API is associated with a new API provider, it gets disassociated from the Default Provider. - - ### External Provider - Any other provider falls under this category - - ## Functionalities supported - - Create,Update,Delete and Retieve API Providers. - - Link/UnLink APIs to the Provider - - Retrieve APIs linked to the Provider - - Link/UnLink Packages to the Provider - - Retrieve Packages linked to the Provider - - ## Authorization - - Users with role 'Administrator' and/or 'Provider' can create/modify/delete a provider, link/unlink APIs to a provider, link/unlink packages to a provider - - Users with role 'Administrator' and/or 'Provider' and/or 'Consumer' can view list of available providers, APIs/Packages linked with the provider. - - version: "10.11" - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - '/providers': - get: - tags: - - "Provider" - summary: Retrieves the list of providers - responses: - '200': - $ref: '#/components/responses/SearchResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection.If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - - - post: - tags: - - "Provider" - summary: Create/Publish a new provider - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/APIProviderDTO' - examples: - APIProviderDTO: - $ref: '#/components/examples/APIProviderDTO' - responses: - '201': - $ref: '#/components/responses/CreationResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/providers/{id}': - get: - tags: - - "Provider" - summary: Retrieves a provider identified by given id - parameters: [ ] - responses: - '200': - $ref: '#/components/responses/ProviderResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - - put: - tags: - - "Provider" - summary: Updates a provider identified by given id - parameters: [ ] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/APIProviderDTO' - examples: - APIProviderDTO: - $ref: '#/components/examples/APIProviderDTO' - responses: - '200': - $ref: '#/components/responses/ProviderResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - - delete: - tags: - - "Provider" - summary: Deletes a provider identified by given id - parameters: [ ] - responses: - '204': - description: Provider is deleted successfully - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for provider. Refers to the GUID of the provider.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/providers/{id}/apis': - get: - tags: - - "Provider" - summary: Retrieves list of APIs of provider - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed.By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - - - name: id - in: path - description: Unique identification for provider. Refers to the GUID of the provider.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - responses: - '200': - $ref: '#/components/responses/LinkedAPIResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - - put: - tags: - - "Provider" - summary: Link the API to the API Provider - responses: - '200': - $ref: '#/components/responses/LinkAPIResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - - delete: - tags: - - "Provider" - summary: Unlink the API from the API Provider - parameters: [ ] - responses: - '200': - $ref: '#/components/responses/UnLinkAPIResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - - parameters: - - name: id - in: path - description: Unique identification for provider. Refers to the GUID of the provider. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - - '/providers/{id}/packages': - get: - tags: - - "Provider" - summary: Retrieves list of packages of provider - parameters: - - name: page - in: query - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed.By default collection responses are paginated with batches of 10. - required: false - schema: - type: integer - - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - - - name: id - in: path - description: Unique identification of provider. Refers to the GUID of the provider.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - responses: - '200': - $ref: '#/components/responses/LinkedPackageResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - - put: - tags: - - "Provider" - summary: Link the packages to the API Provider - description: Link the existing packages to the API Provider. This operation is allowed only for third party providers. - responses: - '200': - $ref: '#/components/responses/LinkPackageResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - - - delete: - tags: - - "Provider" - summary: Unlink the packages from the API Provider - description: Unlink the existing packages from the API Provider. This operation is allowed only for third party providers. - parameters: [ ] - responses: - '200': - $ref: '#/components/responses/UnLinkPackageResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - - parameters: - - name: id - in: path - description: Unique identification of provider. Refers to the GUID of the provider. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - -components: - securitySchemes: - accesstoken: - type: apiKey - in: cookie - name: accesstoken - bearerAuth: - type: http - scheme: bearer - bearerFormat: JWT - - responses: - ProviderResponse: - description: Provider response - content: - application/json: - schema: - $ref: '#/components/schemas/ProviderDto' - examples: - APIProvider: - $ref: '#/components/examples/ProviderDto' - - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - - LinkedAPIResponse: - description: Response while retrieving APIs linked with the provider - content: - application/json: - schema: - $ref: '#/components/schemas/APISummary' - examples: - APISummary: - $ref: '#/components/examples/APISummary' - - LinkAPIResponse: - description: Link Api Response - content: - application/json: - schema: - $ref: '#/components/schemas/UpdationResponse' - examples: - LinkAPIExample: - $ref: '#/components/examples/LinkAPIExample' - - UnLinkAPIResponse: - description: UnLink Api Response - content: - application/json: - schema: - $ref: '#/components/schemas/UpdationResponse' - examples: - UnLinkAPIExample: - $ref: '#/components/examples/UnLinkAPIExample' - - LinkedPackageResponse: - description: Response while retrieving packages linked with the provider - content: - application/json: - schema: - $ref: '#/components/schemas/PackageSearchResponse' - examples: - PackageSummary: - $ref: '#/components/examples/PackageSummary' - - LinkPackageResponse: - description: Link Packages Response - content: - application/json: - schema: - $ref: '#/components/schemas/UpdationResponse' - examples: - LinkPackageExample: - $ref: '#/components/examples/LinkPackageExample' - - UnLinkPackageResponse: - description: UnLink Packages Response - content: - application/json: - schema: - $ref: '#/components/schemas/UpdationResponse' - examples: - UnLinkPackageExample: - $ref: '#/components/examples/UnLinkPackageExample' - - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - NotFound: - description: Provider not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404: - $ref: '#/components/examples/404' - - SearchResponse: - description: Response while retrieving the list of providers in the system - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponse' - examples: - SearchResponse: - $ref: '#/components/examples/SearchResponse' - - CreationResponse: - description: The response when provider is created successfully - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedResponse' - examples: - CreationResponse: - $ref: '#/components/examples/CreatedResponse' - - schemas: - SearchResponse: - type: object - properties: - result: - type: array - description: Result list - items: - $ref: '#/components/schemas/APIProvider' - count: - description: Total number of results found - type: integer - _links: - type: object - description: Links of current and next page - required: - - _self - properties: - _self: - description: Link of current page - type: string - _next: - description: Link of next page - type: string - - ProviderDto: - type: object - allOf: - - $ref: '#/components/schemas/APIProvider' - properties: - hooks: - type: array - items: - $ref: '#/components/schemas/WebHook' - WebHook: - type: object - properties: - id: - type: string - description: Unique identification for webhook. Refers to the GUID of the webhook.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - url: - type: string - description: Webhook URL to post - subscriptions: - type: array - description: List of events that we want to subscribe to - items: - $ref: '#/components/schemas/EventType' - configuration_type: - type: string - description: Indicates whether the webhook is related to system or stage - enum: - - "SYSTEM" - - "PROVIDER" - default: SYSTEM - parameters: - type: object - description: Parameters of the webhook - oneOf: - - $ref: '#/components/schemas/BasicAuthParameter' - - $ref: '#/components/schemas/SslAuthParameter' - - $ref: '#/components/schemas/NoAuthParameter' - EventType: - description: Type of the event - type: object - properties: - id: - type: string - description: Unique identification for event. Refers to the GUID of the event.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - enum: - - API_PUBLISH_EVENT - - API_REPUBLISH_EVENT - - API_UN_PUBLISH_EVENT - - PROVIDER_PUBLISH_EVENT - - PROVIDER_REPUBLISH_EVENT - - PROVIDER_UNPUBLISH_EVENT - - SIGN_UP_EVENT - - APPLICATION_REQUEST_EVENT - - APPLICATION_CREATION_REQUEST_EVENT - - APPLICATION_REQUEST_APPROVED_EVENT - - APPLICATION_REQUEST_REJECTED_EVENT - - COMMUNITY_CREATION_EVENT - - COMMUNITY_DELETION_EVENT - - COMMUNITY_MEMBERSHIP_CHANGE_EVENT - - COMMUNITY_SCOPE_CHANGE_EVENT - - IN_APP_NOTIFICATION_EVENT - - EMAIL_NOTIFICATION_EVENT - name: - type: string - description: Event name - description: - type: string - description: Event description - BasicAuthParameter: - type: object - allOf: - - $ref: '#/components/schemas/WebHookParameter' - properties: - username: - type: string - description: User name to authenticate - password: - type: string - description: Password of the user - SslAuthParameter: - type: object - allOf: - - $ref: '#/components/schemas/WebHookParameter' - properties: - type: - type: string - description: Type of certificate used to authenticate with the webhook - password: - type: string - description: Password of the certificate - file_id: - type: string - description: The certificate should be uploaded into API Portal using the File API. This id refer to the certificate file id in the system - NoAuthParameter: - type: object - allOf: - - $ref: '#/components/schemas/WebHookParameter' - WebHookParameter: - type: object - required: - - authentication - properties: - authentication: - type: string - discriminator: - propertyName: authentication - APIProvider: - type: object - properties: - id: - type: string - description: Unique identification of the provider. Refers to the GUID of the provider. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - name: - type: string - description: Name of the provider - description: - type: string - description: Description of the provider - modified: - type: string - format: yyyy-MM-dd HH:mm - description: Modified date - created: - type: string - format: yyyy-MM-dd HH:mm - description: Created date - externalRefKey: - description: External id of the provider - type: string - providerurl: - type: string - description: Callback url of the provider - stage: - type: string - description: Environment or stage name - webhooks: - description: Callback urls of the provider - type: array - items: - type: string - type: - description: Type of the provider - type: string - enum: - - "GATEWAY" - - "CENTRASITE" - - "THIRD_PARTY" - - APIProviderDTO: - type: object - properties: - id: - type: string - description: Unique identification of the provider. Refers to the GUID of the provider. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - name: - type: string - description: Name of the provider - description: - type: string - description: Description of the provider - modified: - type: string - format: yyyy-MM-dd HH:mm - description: Modified date - created: - type: string - format: yyyy-MM-dd HH:mm - description: Created date - external_key_provider: - description: External id of the provider - type: boolean - version: - type: string - description: Version number - credentials: - type: string - description: Credentials - - APISearchResponse: - required: - - result - - count - type: object - properties: - result: - type: array - description: Collection of APIs - items: - $ref: '#/components/schemas/APISummary' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - description: Total number of results found - format: int32 - - PackageSearchResponse: - required: - - result - - count - type: object - properties: - result: - type: array - description: Collection of APIs - items: - $ref: '#/components/schemas/Package' - _links: - $ref: '#/components/schemas/Pagination' - count: - type: integer - description: Total number of results found - format: int32 - - Package: - type: object - properties: - plans: - description: Plans included in the package - type: array - items: - type: string - description: Id of the plan - name: - type: string - description: Name of the package - description: - type: string - description: Detailed description and usage of the package - summary: - type: string - description: Short summary of the package - icon: - $ref: '#/components/schemas/Icon' - id: - type: string - description: Unique identification of package. Refers to the GUID of the package. For example `532e53ef-3b2a-45af-b859-2456dca1bb1f` - rating: - type: number - description: Review rating of the package for out of 5. Default value is '0' - communities: - description: Package shared to the communities - type: array - items: - type: string - description: Id of the coomunity - apis: - description: APIs included in the package - type: array - items: - type: string - description: Id of the API - follower: - type: boolean - description: Indicates if any follower(s) following the package - - APISummary: - type: object - properties: - id: - description: Unique identification of API. Refers to the GUID of the API. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - type: string - format: uuid - name: - type: string - description: Name of the API - summary: - type: string - description: Summary description for the API - icon: - $ref: '#/components/schemas/Icon' - version: - type: string - description: Version number of the API - type: - type: string - description: Type of the API. Indicating REST/SOAP/OData - externalRefKey: - type: string - description: External reference key. Refers to the GUID of the API in the external system like Gateway. - - Icon: - type: object - properties: - url: - type: string - description: Uri location for the icon - type: - type: string - description: Type of uri location. refers to either Internal/External. When points to Internal uri is hosted by the API Portal - - Pagination: - required: - - _self - type: object - properties: - _self: - type: string - description: Link for current page - _next: - type: string - description: Optional link for the next page. Will be missing if the next page does not exist. - Error: - type: object - properties: - code: - description: Error code - type: integer - message: - description: Error message - type: string - - UpdationResponse: - type: object - properties: - code: - description: Response code - type: integer - message: - description: Response message - type: string - - CreatedResponse: - type: object - properties: - id: - description: Identifier of the newly created topic - type: string - _self: - description: Self reference of the newly created topic - type: string - - examples: - SearchResponse: - value: - result: - - name: gateway - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: b9402476-c638-46a5-9779-665fc415a90f - providerRef: b9402476-c638-46a5-9779-665fc415a90f - providerurl: http://providerurl:5555 - stage: gateway - webhooks: - - b90d20e3-f2c9-4455-8e62-ce989fb34f89 - type: GATEWAY - externalRefKey: cb4f4e9b-35c4-470a-8d21-48e23b8f2f44 - count: 1 - _links: - _self: "/rest/v1/providers/?page=0" - - APIProvider: - value: - name: Prod Provider - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 912ca846-1dd3-416c-b59e-f797a026d26b - providerRef: 912ca846-1dd3-416c-b59e-f797a026d26b - stage: Prod - webhooks: - - 77d5fa53-b28d-492d-9887-2694507d6f9b - type: GATEWAY - summary: desc - - ProviderDto: - value: - name: Prod Provider - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 912ca846-1dd3-416c-b59e-f797a026d26b - providerRef: 912ca846-1dd3-416c-b59e-f797a026d26b - stage: Prod - type: GATEWAY - summary: desc - webhooks: - - 77d5fa53-b28d-492d-9887-2694507d6f9b - hooks: - - id: 77d5fa53-b28d-492d-9887-2694507d6f9b - url: http://api-dev.xyz.com/rest/apigateway/accesstokens - subscriptions: - - id: GATEWAY_APPLICATION_UPDATION_REQUEST_EVENT - name: Event name - description: Event description - enabled: true - configuration_type: PROVIDER - APIProviderDTO: - value: - name: Provider1 - version: '10.11' - external_key_provider: false - shortDescription: desc - credentials: QWRtaW5pc3RyYXRvcjptYW5hZ2U= - notificationPlugins: - - id: HTTP - pluginParameters: - com.aris.umc.apiportal.external.event.notify.endpoint: 'http://notification-endpoint:5655/rest' - com.aris.umc.apiportal.external.event.notify.method: POST - com.aris.umc.apiportal.external.event.notify.contentType: application/json - - APISummary: - value: - result: - - id: a1264eff-87f9-4e6d-b4b8-abf51855afda - name: pet1 - summary: 'This is a sample server Petstore server. ' - icon: - url: "/public/assets/images/rest-api-icon.svg" - type: INTERNAL - version: 1.0.5 - type: REST - externalRefKey: 7f4adf29-3beb-45ef-8c1a-345a8eada6f3 - count: 1 - _links: - _self: "/rest/v1/providers/3bdf8005-5685-3ef5-b132-de4681963fb6/apis?page=0" - - PackageSummary: - value: - result: - - id: a1264eff-87f9-4e6d-b4b8-abf51855afda - name: TravelPackage - summary: 'This is a travel package which includes the APIs related to travel ' - icon: - url: "/rest/v1/files/9ab59a45-05bb-4781-ace1-bb41675ba867" - type: INTERNAL - externalRefKey: 7f4adf29-3beb-45ef-8c1a-345a8eada6f3 - count: 1 - _links: - _self: "/rest/v1/providers/3bdf8005-5685-3ef5-b132-de4681963fb6/packages?page=0" - - CreatedResponse: - value: - id: 4ba06f7c-f4dd-4868-9d97-27134e102d00 - _self: /rest/v1/providers/4ba06f7c-f4dd-4868-9d97-27134e102d00 - - - LinkAPIExample: - value: - code: 200 - message: API/s linked successfully with provider - - UnLinkAPIExample: - value: - code: 200 - message: API/s un-linked successfully with provider - - LinkPackageExample: - value: - code: 200 - message: Package/s linked successfully with provider - - UnLinkPackageExample: - value: - code: 200 - message: Package/s un-linked successfully with provider - - 401: - value: - code: 401 - message: "Invalid credentials" - - 403: - value: - code: 403 - message: "Insufficient privileges" - - 404: - value: - code: 404 - message: "Unable to find the Provider with id [c234ec5e-8e8d-4e2d-84f1-526b590bfd37]" - -security: - - accesstoken: [ ] - - bearerAuth: [ ] diff --git a/apis/10.12/openapis/search.yaml b/apis/10.12/openapis/search.yaml deleted file mode 100644 index 38f57aa..0000000 --- a/apis/10.12/openapis/search.yaml +++ /dev/null @@ -1,289 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Search API - version: "10.11" - description: | - ## Overview - The search API allows you to execute a search query in API Portal and receive search results that matches the search query. - - ### Searchable assets - - Following is the list of searchable objects and their corresponding searchable fields - - | Search objects | Searchable fields | - | ----------- | ----------- | - | API | Id, Name, Description, Maturity status, Business terms, Tags, Communities, Type, Categories, Provider, Security schemes | - | Community | Id, Name, Description | - | Package | Id, Name, Description, Communities | - | Endpoint | Id, Name, Description, Communities, Base Url | - | Resource | Id, Name, Description, Communities, Path, Tags, Method Ids, API Id | - | Rest method | Id, Name, Description, Communities, Tags | - | Soap method | Id, Name, Description, Communities, API Id | - | Odata structure | Id, Name, Description, Communities | - | Odata operation | Id, Name, Description, Communities | - | Team | Name, Description | - | User | Name, Role | - | Group | Name, Ldap | - - ## Functionalities supported - - Perform keyword search on name, description fields of API and Package. - - Perform advanced search on name, description fields of API, Package, Endpoint, Resource, Rest method, - Soap method, Odata structure, Odata operation - - Perform individual object search with the fields as mentioned in the table above - - ## Authorization - - Anonymous and Authenticated users can search for assets - - Assets can be viewed according to the visibility enforced through community - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server -paths: - /search: - get: - tags: - - Search - - Keyword - summary: Basic keyword search - description: This API is used to search the `APIs` or `Packages` matching the given input keyword. Case-insensitve keyword search would be done based on `Name` and `Description` fields of specific object types in scope. - parameters: - - in: query - name: page - required: false - schema: - type: integer - description: Optional page number to retrieve. Defaults to zero if not specified. - - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - - - in: query - name: q - required: true - schema: - type: string - description: Mandatory query parameter specifies the `keyword` to be searched. - responses: - 200: - $ref: '#/components/responses/SearchResponse' - /search/basic: - post: - tags: - - Search - - Keyword - description: Lets you explore specific `type` of asset matching to given search criteria. `Group` can be searched by users having `API Administrator`/`API Provider` role. - `User` and `Team` can be searched only by the authenticated users. - parameters: - - in: query - name: page - schema: - type: integer - description: Optional page number to retrieve. Defaults to `zero` if not specified. - - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - - - in: query - name: type - required: true - schema: - type: string - default: API - description: Specific type of objects to be searched for. Defaults to `API` if none specified. Possible values are `API`, `PACKAGE`, `ENDPOINT` , `ODATA_STRUCTURE`, `ODATA_OPERATION`, `RESOURCE`, `RESTMETHOD`, `METHOD`, `COMMUNITY`, `TEAM`, `GROUP`, `USER` - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SearchRequest' - examples: - BasicSearchExample: - $ref: '#/components/examples/SearchRequest' - responses: - 200: - $ref: '#/components/responses/SearchResponse' - /search/advanced: - get: - description: Advanced search API lets you to discover the assets by given keyword. Advanced search provides a metric which captures the number of assets matching given criteria in each asset type and also provides a detailed result on specific asset identified by `type`. - parameters: - - in: query - name: page - required: false - schema: - type: integer - description: Optional page number to retrieve. Defaults to `zero` if not specified. - - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - - - in: query - name: q - required: true - schema: - type: string - description: Mandatory query parameter specifies the `keyword` to be searched. - - in: query - name: type - required: false - schema: - type: string - default: API - description: Specific type of objects to be searched for. Defaults to `API` if none specified. Possible values are `API`, `PACKAGE`, `ENDPOINT` , `ODATA_STRUCTURE`, `ODATA_OPERATION`, `RESOURCE`, `RESTMETHOD`, `METHOD`, `COMMUNITY`, `TEAM`, `GROUP`, `USER` - responses: - 200: - $ref: '#/components/responses/AdvancedSearchResponse' - -components: - schemas: - SearchResponse: - type: object - description: Generic paginated search result - properties: - result: - type: array - description: Result list - items: - $ref: '#/components/schemas/BasicObject' - count: - type: integer - description: Total number of results available - _links: - type: object - description: Links of current and next page - properties: - _self: - description: Link for current page - type: string - _next: - description: Optional link for the next page. Will be missing if the next page does not exist. - type: string - BasicObject: - type: object - additionalProperties: true - properties: - id: - description: Unique identifier of the object - type: string - name: - description: Name of the object - type: string - summary: - description: Short summary of the object - type: string - description: - description: Long description of the object - type: string - owner: - description: Refers to the uuid of the user who owns the object - type: string - SearchRequest: - type: object - properties: - conjunction: - description: Conjunction to be used when working with multiple search criterias. Possible values `AND` , `OR` - type: string - enum: - - AND - - OR - criterias: - type: array - items: - $ref: '#/components/schemas/Criteria' - Criteria: - type: object - properties: - field: - description: Search field to be used. - type: string - operation: - description: Search operation to be used. Either `CONTAINS` or `EQUALS` - type: string - enum: - - CONTAINS - - EQUALS - values: - description: Collection of values to be searched for - type: array - items: - type: string - AdvancedSearchResponse: - type: object - description: Advanced search result - properties: - response: - $ref: '#/components/schemas/SearchResponse' - metrics: - type: object - description: Count of matching results for the given keyword in each of the other object types. - additionalProperties: true - - examples: - SearchResponseExample: - value: - count: 1 - _links: - _self: /rest/v1/search?q=pet&page=0 - result: - - id: 3631fc19-68f0-4cd3-87d4-e428031dcec9 - name: Swagger Petstore - summary: This is a sample server Petstore server. You can find out more about Swagger at http://swagger.io - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - SearchRequest: - value: - conjunction: AND - criterias: - - field: name - values: - - Pet - - User - operation: CONTAINS - - field: communities - values: - - 3bdf8005-5685-3ef5-b132-de4681963fb6 - operation: EQUALS - AdvancedSearchResponseExample: - value: - response: - result: - - id: 3631fc19-68f0-4cd3-87d4-e428031dcec9 - name: Healthcare - summary: Bundle of healthcare related APIs - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - count: 1 - _links: - _self: /rest/v1/search?q=Health&page=0 - metrics: - PACKAGE: 1 - - responses: - SearchResponse: - description: Search result reponse - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponse' - examples: - SearchResponseExample: - $ref: '#/components/examples/SearchResponseExample' - AdvancedSearchResponse: - description: Advanced search response - content: - application/json: - schema: - $ref: '#/components/schemas/AdvancedSearchResponse' - examples: - SearchResponseExample: - $ref: '#/components/examples/AdvancedSearchResponseExample' - - diff --git a/apis/10.12/openapis/teams.yaml b/apis/10.12/openapis/teams.yaml deleted file mode 100644 index 5be1e35..0000000 --- a/apis/10.12/openapis/teams.yaml +++ /dev/null @@ -1,653 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Teams API - description: | - ## Overview - Portal Teams API can be used to manage teams in API Portal. Teams can be created by an user who has atleast API Consumer privilege. - Owner of the team can add any number of users to his/her team and can also provide application access to the team rather than selecting individual users. - - ## Functionalities supported - - Get the paginated list of my teams. - - Create a team with a set of users. - - Modify the team. - - Delete the team. - - Get the list of users present in the team. - - Add users to a team. - - Remove users from a team. - - Get the paginated list of applications that are shared with a team. - - ## Authorization - - All operations on a team can be done only by the team owner - - version: '10.11' - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - '/teams': - get: - tags: - - Team - summary: Get the list of teams - description: Get the paginated list of teams - parameters: - - in: query - name: page - schema: - type: integer - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - responses: - '200': - $ref: '#/components/responses/SearchResponseTeam' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - post: - tags: - - Team - summary: Create a team - description: Create a team with the given payload - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TeamCreation' - examples: - Team: - $ref: '#/components/examples/TeamCreation' - responses: - '201': - $ref: '#/components/responses/CreatedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/teams/{id}': - get: - tags: - - Team - summary: Get a team - description: Get a team identified by given GUID - responses: - '200': - $ref: '#/components/responses/TeamResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - put: - tags: - - Team - summary: Update a Team - description: Update an existing Team by its id - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Team' - examples: - Team: - $ref: '#/components/examples/TeamCreation' - responses: - '200': - $ref: '#/components/responses/TeamResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - tags: - - Team - summary: Delete a team - description: Delete a team identified by given GUID - responses: - '204': - description: The response when the team is successfully deleted - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for team. Refers to the GUID for the team. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/teams/{id}/users': - put: - tags: - - Team - summary: Add user(s) - description: Add user(s) to a specific team identified by given GUID - requestBody: - content: - application/json: - schema: - type: array - items: - type: string - example: - - 23b0ce88-3296-36be-b2a1-f470aee3f031 - responses: - '200': - $ref: '#/components/responses/UserLinkedResponse' - '400': - $ref: '#/components/responses/UserLinkBadRequestResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - tags: - - Team - summary: Delete user(s) - description: Delete user(s) from the team identified by given GUID - responses: - '200': - $ref: '#/components/responses/UserUnLinkedResponse' - '400': - $ref: '#/components/responses/UserUnlinkBadRequestResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - get: - tags: - - Team - summary: Get user(s) - description: Get user(s) associated with the team - responses: - '200': - $ref: '#/components/responses/UserListResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for team. Refers to the GUID for the team. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/teams/{id}/applications': - get: - tags: - - Team - summary: Get application(s) - description: Get application(s) associated with the team - responses: - '200': - $ref: '#/components/responses/SearchResponseApplication' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for team. Refers to the GUID for the team. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - -components: - schemas: - TeamCreation: - type: object - required: - - name - properties: - name: - type: string - description: Name of the team - summary: - type: string - description: Summary of the team - description: - type: string - description: Description of the team - users: - type: array - description: List of users in the team - items: - type: string - description: User id - Team: - allOf: - - $ref: '#/components/schemas/TeamCreation' - - type: object - properties: - id: - type: string - description: Unique identification for team. Refers to the GUID of the team. For example `532e53ef-3b2a-45af-b859-2456dca1bb1f` - owner: - type: string - description: Owner of the team - CreatedResponse: - type: object - properties: - id: - type: string - description: Identifier of newly created team - _self: - type: string - description: Self reference of the newly created team - UpdatedResponse: - type: object - properties: - code: - type: integer - description: Response code - message: - type: string - description: Response message - SearchResponseTeam: - type: object - required: - - result - - count - properties: - result: - type: array - description: Result list - items: - $ref: '#/components/schemas/Team' - count: - type: integer - description: Total number of teams retrieved - _links: - type: object - description: Links of current and next page - required: - - _self - properties: - _self: - description: Link of current page - type: string - _next: - description: Link of next page - type: string - User: - type: object - properties: - username: - type: string - description: Username of the user - id: - type: string - description: Unique identification for team. Refers to the GUID of the team. For example `532e53ef-3b2a-45af-b859-2456dca1bb1f` - name: - type: string - description: Name of the user - email: - type: string - description: Email of the user - externalPictureUrl: - type: string - description: Profile pic url of the user - type: - type: string - description: User type - created: - type: string - description: User created time - modified: - type: string - description: User modified time - UserList: - type: array - description: List of users - items: - $ref: '#/components/schemas/User' - SearchResponseApplication: - type: object - required: - - result - - count - properties: - result: - type: array - description: List of application - items: - $ref: '#/components/schemas/Application' - count: - type: integer - description: Total number of applications retrieved - _links: - type: object - description: Links of current and next page - required: - - _self - properties: - _self: - description: Link of the current page - type: string - _next: - description: Link to the next page - type: string - Application: - type: object - properties: - id: - type: string - description: Unique identification for application. Refers to the GUID of the application. For example `532e53ef-3b2a-45af-b859-2456dca1bb1f` - name: - type: string - description: Name of the application - owner: - type: string - description: Owner of the application - description: - type: string - description: Description of the application - apis: - type: array - description: APIs associated with the application - items: - type: string - stage: - type: string - description: Stage from which application is published - packageId: - type: string - description: Id of package associated with the application - planId: - type: string - description: Id of plan associated with the application - app_type: - type: string - description: Type of application - enum: - - API - - SUBSCRIPTION - access: - allOf: - - $ref: '#/components/schemas/AccessControlList' - - type: object - description: Applications access information. - AccessControlList: - type: object - properties: - created: - type: string - format: date - description: Created date - modified: - type: string - format: date - description: Modified date - teams: - type: array - description: Teams associated with the application - items: - type: string - users: - type: array - description: Users associated with the application - items: - type: string - Error: - type: object - properties: - code: - type: integer - description: Error code - message: - type: string - description: Error message - errors: - type: array - description: Error detail list - items: - type: string - - examples: - SearchResponseTeam: - value: - count: 1 - _links: - "_self": "/rest/v1/teams?page=0" - result: - - name: SoftwareAG APIPortal - id: 4ba06f7c-f4dd-4868-9d97-27134e102d00 - owner: 74733475-a879-4693-b94f-22c9c946d433 - summary: Summary of team - description: Description of team - users: - - c2e38064-a94d-4195-8e99-07a9bfeeeac9 - - be5e4369-9241-45e4-a50b-0f513b98dcfe - SearchResponseApplication: - value: - count: 1 - _links: - "_self": "/rest/v1/teams/74733475-a879-4693-b94f-22c9c946d433/applications?page=0" - result: - - id: 205620f6-0177-404c-8436-c5dd1755bfb9 - name: Test app - summary: Test app - description: Test app - owner: c2e38064-a94d-4195-8e99-07a9bfeeeac9 - app_type: API - apis: - - 1af21a5c-27a0-455f-b52b-8fe585aaf126 - status: LIVE - - TeamCreation: - value: - name: SoftwareAG APIPortal - summary: Summary of team - description: Description of team - users: - - c2e38064-a94d-4195-8e99-07a9bfeeeac9 - - be5e4369-9241-45e4-a50b-0f513b98dcfe - Team: - value: - id: 4ba06f7c-f4dd-4868-9d97-27134e102d00 - owner: 74733475-a879-4693-b94f-22c9c946d433 - name: SoftwareAG APIPortal - summary: Summary of team - description: Description of team - users: - - c2e38064-a94d-4195-8e99-07a9bfeeeac9 - - be5e4369-9241-45e4-a50b-0f513b98dcfe - UserLinkedExample: - value: - code: 200 - message: User(s) linked successfully with Team - UserUnlinkedExample: - value: - code: 200 - message: User(s) un-linked successfully from the Team - UserLinkedAlready: - value: - code: 400 - message: User provided data is not correct - errors: - - Given User is already linked to the team - UserUnlinkedAlready: - value: - code: 400 - message: User provided data is not correct - errors: - - Given User does not exist in the team - UserNotFound: - value: - code: 400 - message: User provided data is not correct - errors: - - Unable to find the User with id [be5e4369-9241-45e4-a50b-0f513b98dcfe] - UserList: - value: - - username: consumer - id: 1d4a465a-3b9a-3b0e-b14d-ae3d08c3b1d9 - email: example@mail.com - type: NATIVE - name: consumer - externalPictureUrl: /rest/v1/users/1d4a465a-3b9a-3b0e-b14d-ae3d08c3b1d9/picture - created: 2021-03-18 06:26 - modified: 2021-03-18 06:26 - CreatedResponse: - value: - id: 4ba06f7c-f4dd-4868-9d97-27134e102d00 - _self: /rest/v1/teams/4ba06f7c-f4dd-4868-9d97-27134e102d00 - 401: - value: - code: 401 - message: "Invalid credentials" - 403: - value: - code: 403 - message: "Insufficient privileges" - 404: - value: - code: 404 - message: "Unable to find the Team with id [d4a6bc0b-24dd-4035-862a-0f8f7608512e]" - - responses: - SearchResponseTeam: - description: Paginated list of Teams - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponseTeam' - examples: - PaginatedResponse: - $ref: '#/components/examples/SearchResponseTeam' - SearchResponseApplication: - description: Paginated list of applications - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponseApplication' - examples: - PaginatedResponse: - $ref: '#/components/examples/SearchResponseApplication' - CreatedResponse: - description: Response of team creation - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedResponse' - examples: - CreatedResponse: - $ref: '#/components/examples/CreatedResponse' - TeamResponse: - description: Response while getting a particular team - content: - application/json: - schema: - $ref: '#/components/schemas/Team' - examples: - CreatedResponse: - $ref: '#/components/examples/Team' - UserLinkedResponse: - description: Response when a new user is added to the team - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - CreatedResponse: - $ref: '#/components/examples/UserLinkedExample' - UserUnLinkedResponse: - description: Response when an existing user is removed from the team - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - CreatedResponse: - $ref: '#/components/examples/UserUnlinkedExample' - UserLinkBadRequestResponse: - description: Response when user is already linked/ could not be found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - UserLinkedAlready: - $ref: '#/components/examples/UserLinkedAlready' - UserNotFound: - $ref: '#/components/examples/UserNotFound' - UserUnlinkBadRequestResponse: - description: Response when user is not linked/ could not be found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - UserUnlinkedAlready: - $ref: '#/components/examples/UserUnlinkedAlready' - UserNotFound: - $ref: '#/components/examples/UserNotFound' - UserListResponse: - description: Response of users associated with the team - content: - application/json: - schema: - $ref: '#/components/schemas/UserList' - examples: - UserList: - $ref: '#/components/examples/UserList' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404: - $ref: '#/components/examples/404' diff --git a/apis/10.12/openapis/topic.yaml b/apis/10.12/openapis/topic.yaml deleted file mode 100644 index b9dfdb7..0000000 --- a/apis/10.12/openapis/topic.yaml +++ /dev/null @@ -1,993 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Topics API - version: '10.11' - description: | - ## Overview - Topic management API helps to list or create a topic in API/Package. It is also used to upvote/downvote a topic or flag a topic. Depending on whether a post is your own or from another user, you can perform different actions. - - ## Functionalities supported - - ## Retrieving Topics - Topics can be retrieved by specifying a topic identifier. If the user has access to a topic stream then user will be able to retrieve the comments associated to the topic stream as well. - - ## Updating / Deleting Topics - The user who post the topic(owner) can edit/delete his topic. A user will not be allowed to modify another users topic. - - ## Up/Down vote - Upvoting or Downvoting a topic. - - ## Flagging - Flagging a topic tells that it requires moderator attention. A user can flag a topic based on its content if he/she feels inappropriate. - - ## Authorization - - Users with role 'Administrator' and/or 'Provider' can list all flagged topics or comments,pin or accept flags for a topic. - - Users with role 'Administrator' can list all the flags for topics and comments. - - An authenticated user can get the count of upvote,downvote,flag operations count. - - Users who have access to an api can create,upvote,downvote,flag,bookmark or get a topic for the api and the same holds true for package. - - User who is the owner of the topic can update the topic. - - User who is the owner of the topic or with role 'Administrator' and/or 'Provider' can delete a topic. - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - '/apis/{id}/topics': - post: - tags: - - Topic - summary: Create a topic in the given API - description: Create a topic in the given API - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Topic' - examples: - TopicPayload: - $ref: '#/components/examples/APITopicCreation' - responses: - '201': - $ref: '#/components/responses/CreationResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/API_NotFound' - parameters: - - name: id - in: path - description: Unique identification for API. Refers to the GUID for the API. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/packages/{id}/topics': - post: - tags: - - Topic - summary: Create a topic in the given Package - description: Create a topic in the given Package - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Topic' - examples: - TopicPayload: - $ref: '#/components/examples/PackageTopicCreation' - responses: - '201': - $ref: '#/components/responses/CreationResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/Package_NotFound' - parameters: - - name: id - in: path - description: Unique identification for package. Refers to the GUID for the package. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{id}': - get: - tags: - - Topic - summary: Get a topic by id - description: Get a topic by id - responses: - '200': - $ref: '#/components/responses/TopicResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - put: - tags: - - Topic - summary: Update an existing topic by its Id - description: Update an existing topic by its Id - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Topic' - examples: - Topic: - $ref: '#/components/examples/APITopicCreation' - responses: - '200': - $ref: '#/components/responses/UpdatedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - tags: - - Topic - summary: Delete a topic by Id - description: Delete a topic by Id - responses: - '204': - description: The response when topic is successfully deleted - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for topic. Refers to the GUID for the topic. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{id}/upvote': - put: - tags: - - Topic - summary: Upvote/Undo-Upvote a topic by its dd - description: Upvote/Undo-Upvote a topic by its id. Calling this endpoint again will undo upvote. - responses: - '200': - $ref: '#/components/responses/UpvoteResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for topic. Refers to the GUID for the topic. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{id}/downvote': - put: - tags: - - Topic - summary: Downvote/Undo-Downvote a topic by its Id - description: Downvote/Undo-Downvote a topic by its Id. Calling this endpoint again will undo downvote. - responses: - '200': - $ref: '#/components/responses/DownVoteResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for topic. Refers to the GUID for the topic. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{id}/flag': - put: - tags: - - Topic - summary: Flag/Un-flag a topic by its Id - description: Flag/Un-flag a topic by its Id. Calling this endpoint again will undo flag. - responses: - '200': - $ref: '#/components/responses/FlagResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for topic. Refers to the GUID for the topic. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{id}/pin': - put: - tags: - - Topic - summary: Pin/Un-pin a topic by its Id - description: Pin/Un-pin a topic by its Id. Calling this endpoint again will undo pin. - responses: - '200': - $ref: '#/components/responses/PinnedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for topic. Refers to the GUID for the topic. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{id}/bookmarks': - put: - tags: - - Topic - summary: Bookmark/Undo Bookmark the topic. - description: Bookmark/Undo Bookmark the topic with the given id. - responses: - '200': - $ref: '#/components/responses/BookmarkResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for topic. Refers to the GUID for the topic. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{id}/upvote/_count': - get: - tags: - - Topic - summary: Upvote count of a given topic - description: Upvote count of a given topic - responses: - '200': - description: The response when the upvote count is retrieved successfully - $ref: '#/components/responses/Count' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for topic. Refers to the GUID for the topic. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{id}/downvote/_count': - get: - tags: - - Topic - summary: Downvote count of a given topic - description: Downvote count of a given topic - responses: - '200': - description: The response when the downvote count is retrieved successfully - $ref: '#/components/responses/Count' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for topic. Refers to the GUID for the topic. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{id}/flag/_count': - get: - tags: - - Topic - summary: Flag count of a given topic - description: Flag count of a given topic - responses: - '200': - description: The response when the flag count is retrieved successfully - $ref: '#/components/responses/Count' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for topic. Refers to the GUID for the topic. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{id}/_count': - get: - tags: - - Topic - summary: Upvote, downvote and flag count of a given topic - description: Upvote, downvote and flag count of a given topic - responses: - '200': - $ref: '#/components/responses/CountResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for topic. Refers to the GUID for the topic. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/{id}/flagged': - put: - tags: - - Topic - summary: Flag Topic in APIPortal by its Id - description: Flag Topic in APIPortal by its Id. This operation can be perfomed only by admin - responses: - '200': - $ref: '#/components/responses/FlaggedResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Unique identification for topic. Refers to the GUID for the topic. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - required: true - allowEmptyValue: false - schema: - type: string - format: uuid - - '/topics/link/preview': - get: - tags: - - Topic - summary: Get preview of given url - description: Get preview of given url - parameters: - - in: query - required: true - name: url - schema: - type: string - responses: - '200': - $ref: '#/components/responses/LinkResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/collaboration/flags': - get: - tags: - - Collaboration - summary: Get list of topics and comments that has flags. - description: Get list of topics and comments that has flags. - responses: - '200': - $ref: '#/components/responses/CollaborationFlagsResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/collaboration/flagged': - get: - tags: - - Collaboration - summary: Get list of topics and comments that are flagged by Administrator - description: Get list of topics and comments that are flagged by Administrator - responses: - '200': - $ref: '#/components/responses/CollaborationFlagsResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - -components: - schemas: - CollabObject: - type: object - properties: - id: - type: string - description: Unique identifier of a collaboration object - content: - description: Content of the topic - type: object - properties: - type: - description: Type of content - type: string - enum: - - link - - simple - - rich - value: - description: Content text - type: string - upvotes: - description: List of users who upvoted the entity - type: array - items: - type: string - downvotes: - description: List of users who downvoted the entity - type: array - items: - type: string - flags: - description: List of users who flagged the entity - type: array - items: - type: string - flagged: - description: Indicates whether the given entity is flagged - type: boolean - owner: - description: Owner id of the entity - type: string - created: - type: string - description: Entity creation time - modified: - type: string - description: Entity modified time - Topic: - allOf: - - $ref: '#/components/schemas/CollabObject' - - type: object - properties: - pinned: - description: Indicates whether the given topic is pinned - type: boolean - stream: - type: object - description: Indicates the Stream details(API/Package) for which the topic is created - properties: - type: - description: Indicates the stream type(API/Package) - type: string - id: - description: Unique identification for stream(API/Package).For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - type: string - tags: - type: array - description: Tags for the given topic - items: - type: string - TopicDTO: - allOf: - - $ref: '#/components/schemas/Topic' - - type: object - properties: - person: - type: object - properties: - id: - type: string - description: Owner of the topic - firstName: - type: string - description: First name of the owner - lastName: - type: string - description: Last name of the owner - pictureUrl: - type: string - description: Profile pic url of the owner - email: - type: string - description: Email of the topic owner - comments: - description: Number of comments in the given topic - type: integer - Comment: - allOf: - - $ref: '#/components/schemas/CollabObject' - - type: object - properties: - topicId: - type: string - description: Identifier of a topic - CommentDTO: - allOf: - - $ref: '#/components/schemas/Comment' - - type: object - properties: - person: - type: object - properties: - id: - type: string - description: Owner of the comment - firstName: - type: string - description: First name of the owner - lastName: - type: string - description: Last name of the owner - pictureUrl: - type: string - description: Profile pic url of the owner - email: - type: string - description: Email of the comment owner - CollaborationDTO: - type: object - properties: - topics: - type: array - items: - $ref: '#/components/schemas/TopicDTO' - comments: - type: array - items: - $ref: '#/components/schemas/CommentDTO' - CreatedResponse: - type: object - properties: - id: - description: Unique identification for topic.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - type: string - _self: - description: Self reference of the newly created topic - type: string - UpdatedResponse: - type: object - properties: - code: - description: Response code - type: integer - message: - description: Response message - type: string - CountResponse: - type: object - properties: - upvote: - description: Number of upvotes for the given topic - type: integer - downvote: - description: Number of downvotes for the given topic - type: integer - flag: - description: Number of flags for the given topic - type: integer - LinkMetadata: - type: object - properties: - title: - description: Title of the link - type: string - description: - description: Description of the link - type: string - image: - description: Image preview of the link - type: string - Error: - type: object - properties: - code: - description: Response code - type: integer - message: - description: Response message - type: string - - Count: - type: integer - format: int32 - - examples: - Topic: - value: - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 5efd843c-4ce5-493a-9749-c4cce0931888 - flagged: false - modified: 1616649645858 - created: 1616649645858 - stream: - type: API - id: 74733475-a879-4693-b94f-22c9c946d433 - upvotes: - - 1d4a465a-3b9a-3b0e-b14d-ae3d08c3b1d9 - content: - value: sample topic - type: rich - pinned: false - tags: - - tag1 - - tag2 - APITopicCreation: - value: - tags: - - tag1 - - tag2 - stream: - type: API - id: 74733475-a879-4693-b94f-22c9c946d433 - content: - value: sample topic - type: rich - PackageTopicCreation: - value: - tags: - - tag1 - - tag2 - stream: - type: PACKAGE - id: 74733475-a879-4693-b94f-22c9c946d433 - content: - value: sample topic - type: rich - CreatedResponse: - value: - id: 4ba06f7c-f4dd-4868-9d97-27134e102d00 - _self: /rest/v1/topics/4ba06f7c-f4dd-4868-9d97-27134e102d00 - UpdatedResponse: - value: - code: 200 - message: Topic is updated successfully - UpvoteExample: - value: - code: 200 - message: Upvoted successfully - UndoUpvoteExample: - value: - code: 200 - message: Undo Upvote successful - DownVoteExample: - value: - code: 200 - message: Downvoted successfully - UndoDownVoteExample: - value: - code: 200 - message: Undo downvote successful - FlagResponse: - value: - code: 200 - message: Raised flag successfully - UnFlagResponse: - value: - code: 200 - message: Unflag successful - PinnedResponse: - value: - code: 200 - message: Pinned successfully - UnPinnedResponse: - value: - code: 200 - message: Unpin successful - BookmarkResponse: - value: - code: 200 - message: Topic is bookmarked successfully - UnBookmarkResponse: - value: - code: 200 - message: Undo bookmarking the topic is successful - CountResponse: - value: - upvote: 1 - downvote: 1 - flag: 0 - FlagAcceptedResponse: - value: - code: 200 - message: Flagged successfully - AlreadyFlaggedResponse: - value: - code: 400 - message: Given entity is already flagged - LinkMetadata: - value: - title: Platform for Enterprise Integration & IoT | Software AG - description: 'Software AG is a leader in platform integration and IoT for enterprises. Our platform helps you unleash your vision in our smarter, connected world.' - image: 'https://www.softwareag.com/en_corporate.thumb.800.480.png?ck=1591295547' - CollaborationDTO: - value: - topics: - - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 917af3d7-79ce-49a7-8bf7-93f59ab1b169 - flagged: false - upvotes: [ 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 ] - flags: - - 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - pinned: false - tags: [ Topic ] - person: - firstname: Administrator - lastname: System - comments: 1 - comments: - - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: 917af3d7-79ce-49a7-8bf7-93f59ab1b169 - flagged: false - upvotes: [ 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 ] - flags: - - 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - pinned: false - person: - firstname: Administrator - lastname: System - 401: - value: - code: 401 - message: "Invalid credentials" - 403: - value: - code: 403 - message: "Insufficient privileges" - 404: - value: - code: 404 - message: "Unable to find the topic with id [74733475-a879-4693-b94f-22c9c946d433]" - API_404: - value: - code: 404 - message: "Unable to find the API with id [74733475-a879-4693-b94f-22c9c946d433]" - Package_404: - value: - code: 404 - message: "Unable to find the Package with id [74733475-a879-4693-b94f-22c9c946d433]" - "CountExample": - value: - 3 - - responses: - TopicResponse: - description: Topic Response - content: - application/json: - schema: - $ref: '#/components/schemas/Topic' - examples: - TopicExample: - $ref: '#/components/examples/Topic' - CreationResponse: - description: The response when topic is created successfully - content: - application/json: - schema: - $ref: '#/components/schemas/CreatedResponse' - examples: - CreationResponse: - $ref: '#/components/examples/CreatedResponse' - UpdatedResponse: - description: The response when the topic is successfully updated - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - UpdationResponse: - $ref: '#/components/examples/UpdatedResponse' - UpvoteResponse: - description: The response when the topic is successfully upvoted - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - UpvoteExample: - $ref: '#/components/examples/UpvoteExample' - UndoUpvoteExample: - $ref: '#/components/examples/UndoUpvoteExample' - DownVoteResponse: - description: The response when the topic is successfully downvoted - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - DownVoteExample: - $ref: '#/components/examples/DownVoteExample' - UndoDownvoteExample: - $ref: '#/components/examples/UndoDownVoteExample' - FlagResponse: - description: The response when the topic is flagged/un-flagged successfully - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - FlaggedResponse: - $ref: '#/components/examples/FlagResponse' - UnflaggedResponse: - $ref: '#/components/examples/UnFlagResponse' - PinnedResponse: - description: The response when the topic is pinned/un-pinned successfully - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - PinnedResponse: - $ref: '#/components/examples/PinnedResponse' - UnPinnedResponse: - $ref: '#/components/examples/UnPinnedResponse' - BookmarkResponse: - description: The response when the topic is bookmarked/un-bookmarked successfully - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - BookmarkResponse: - $ref: '#/components/examples/BookmarkResponse' - UnBookmarkResponse: - $ref: '#/components/examples/UnBookmarkResponse' - CountResponse: - description: The response of operation count of a given topic - content: - application/json: - schema: - $ref: '#/components/schemas/CountResponse' - examples: - CountResponse: - $ref: '#/components/examples/CountResponse' - FlaggedResponse: - description: The response when the topic is flagged by Administrator - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatedResponse' - examples: - FlaggedResponse: - $ref: '#/components/examples/FlagAcceptedResponse' - AlreadyFlaggedResponse: - $ref: '#/components/examples/AlreadyFlaggedResponse' - LinkResponse: - description: The response of Link preview - content: - application/json: - schema: - $ref: '#/components/schemas/LinkMetadata' - examples: - LinkMetadata: - $ref: '#/components/examples/LinkMetadata' - CollaborationFlagsResponse: - description: List of topics and comments that has flags - content: - application/json: - schema: - $ref: '#/components/schemas/CollaborationDTO' - examples: - CollaborationFlagsResponse: - $ref: '#/components/examples/CollaborationDTO' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - API_NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - API_404: - $ref: '#/components/examples/API_404' - Package_NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - Package_404: - $ref: '#/components/examples/Package_404' - NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404: - $ref: '#/components/examples/404' - - Count: - description: Count - content: - application/json: - schema: - $ref: '#/components/schemas/Count' - examples: - CountExample: - $ref: '#/components/examples/CountExample' diff --git a/apis/10.12/openapis/userrequests.yaml b/apis/10.12/openapis/userrequests.yaml deleted file mode 100644 index a50f27e..0000000 --- a/apis/10.12/openapis/userrequests.yaml +++ /dev/null @@ -1,732 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal User Requests API - description: | - ## Overview: - User Requests are requests from consumers for creating/updating applications or subscriptions for accessing protected APIs - User requests for these objects might go through the approval process depending on the approval configuration and the requests are accepted/rejected based on the approver's decision. - - ## Functionalities supported - - Following is the list of User request types and their purpose - - | Type | Purpose | - | ----------- | ----------- | - | APPLICATION_CREATION_REQUEST | Request for creating an application for an API | - | APPLICATION_UPDATE_REQUEST | Request for updating an existing application/subscription details like name, description and call back URL | - | APPLICATION_DELETION_REQUEST | Request for deleting an application | - | APPLICATION_API_REGISTRATION_REQUEST | Requrest for increasing the scope of an application by including more APIs in it | - | APPLICATION_API_DEREGISTRATION_REQUEST | Request for decreasing the scope of an application by removing one or more APIs from it | - | SUBSCRIPTION_CREATION_REQUEST | Request for subscribing to a plan/package | - | SUBSCRIPTION_REVOKE_REQUEST | Request for unsubscribing to a plan/package | - - ## Authorization - - Users who owns an application can raise `APPLICATION_CREATION_REQUEST` for that application. - - User who owns the request can make `APPLICATION_UPDATE_REQUEST`,`APPLICATION_DELETION_REQUEST`,`APPLICATION_API_REGISTRATION_REQUEST`,`APPLICATION_API_DEREGISTRATION_REQUEST`,`SUBSCRIPTION_REVOKE_REQUEST` - - User who raised the request or Administrator users can view the log trace of the request - - Users with `API Administrator` role can view the pending requests and can retry a request - - version: '10.11' - -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server - -paths: - /requests: - get: - tags: - - User Request - - Application - - Subscription - summary: Get all requests of given `type` - description: |+ - Administrator user can see all user requests by giving `true` for the parameter `allusers`. - - Other users can view theri owned requests - parameters: - - name: page - in: query - description: Defines the page number for the data - required: false - schema: - type: integer - - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - - - name: type - in: query - description: Defines the type of the user request - required: true - schema: - type: string - - name: allusers - in: query - description: |+ - Flag to retrieve all user requests in API Portal - - Applicable only for Administrator users - required: false - schema: - type: boolean - responses: - '200': - $ref: '#/components/responses/UserRequestListResponse' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - post: - tags: - - User Request - - Application - - Subscription - summary: Create a user request for an application or subscription - requestBody: - description: User request payload - content: - application/json: - schema: - $ref: '#/components/schemas/UserRequest' - examples: - APPLICATION_CREATION: - $ref: '#/components/examples/ApplicationCreationUserRequest' - SUBSCRIPTION_CREATION: - $ref: '#/components/examples/SubscriptionCreationUserRequest' - responses: - '201': - $ref: '#/components/responses/UserRequestCreatedResponse' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - /requests/pending: - get: - tags: - - User Request - - Application - - Subscription - summary: Get the all the user requests which are pending of given `type`. - description: Administrator users alone can view all the pending requests - parameters: - - name: page - in: query - description: Defines the page number for the data - required: false - schema: - type: integer - - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - - - name: type - in: query - description: Defines the type of the request - required: true - schema: - type: string - responses: - '200': - $ref: '#/components/responses/PendingUserRequestListResponse' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/requests/{id}': - get: - tags: - - User Request - - Application - - Subscription - summary: Get the user request of the given id - responses: - '200': - $ref: '#/components/responses/UserRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - tags: - - User Request - - Application - - Subscription - summary: '' - description: |+ - Delete a user request. - - Only User requests that are in pending stage could be deleted - responses: - '204': - description: User request deleted successfully - '400': - $ref: '#/components/responses/BadRequestForRequestDeletion' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Enter a valid user request id - required: true - schema: - type: string - '/requests/{id}/retry': - put: - tags: - - User Request - - Application - - Subscription - summary: Retry the user request that is pending - description: |+ - Retry the user request that is pending. - Administrator users alone can retry a request - responses: - '200': - $ref: '#/components/responses/RetryResponse' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Enter a valid user request id - required: true - schema: - type: string - - name: state - in: query - description: Enter a valid state id - required: true - schema: - type: string - '/requests/{id}/trace': - get: - tags: - - User Request - - Application - - Subscription - description: Get the log trace of an user request - responses: - '200': - $ref: '#/components/responses/TraceResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - parameters: - - name: id - in: path - description: Enter a valid user request id - required: true - schema: - type: string -components: - schemas: - Trace: - type: object - properties: - request: - $ref: '#/components/schemas/UserRequest' - trace: - type: object - properties: - packageName: - type: array - items: - $ref: '#/components/schemas/AuditEventRepositoryObject' - UserRequestType: - type: string - enum: - - APPLICATION_CREATION_REQUEST - - APPLICATION_API_REGISTRATION_REQUEST - - APPLICATION_API_DEREGISTRATION_REQUEST - - APPLICATION_UPDATE_REQUEST - - SUBSCRIPTION_REVOKE_REQUEST - - SUBSCRIPTION_CREATION_REQUEST - - APPLICATION_DELETION_REQUEST - Pagination: - required: - - _self - type: object - properties: - _self: - description: Link of the current page - type: string - _next: - description: Link to the next page - type: string - EventType: - type: string - enum: - - API_PUBLISH_EVENT - - API_REPUBLISH_EVENT - - API_UN_PUBLISH_EVENT - - PROVIDER_PUBLISH_EVENT - - PROVIDER_REPUBLISH_EVENT - - PROVIDER_UNPUBLISH_EVENT - - SIGN_UP_EVENT - - APPLICATION_REQUEST_EVENT - - APPLICATION_CREATION_REQUEST_EVENT - - APPLICATION_REQUEST_APPROVED_EVENT - - APPLICATION_REQUEST_REJECTED_EVENT - - COMMUNITY_CREATION_EVENT - - COMMUNITY_DELETION_EVENT - - COMMUNITY_MEMBERSHIP_CHANGE_EVENT - - COMMUNITY_SCOPE_CHANGE_EVENT - - IN_APP_NOTIFICATION_EVENT - - EMAIL_NOTIFICATION_EVENT - UserRequestStatus: - type: string - description: Indicates the overall status of the user request. - enum: - - NEW - - APPROVAL_PENDING - - APPROVED - - WAITING_THIRDPARTY - - COMPLETED - - FAILED - - REJECTED - UserRequestCreated: - required: - - id - - _self - type: object - properties: - id: - type: string - description: Identifier of newly created request - _self: - description: Self reference of the newly created request - type: string - UserRequestList: - type: object - properties: - result: - description: Result list - type: array - items: - $ref: '#/components/schemas/UserRequest' - _links: - description: Links of current and next page - $ref: '#/components/schemas/Pagination' - count: - type: integer - format: int32 - description: Total result count - Error: - required: - - code - - message - type: object - properties: - code: - description: Error code - type: integer - format: int32 - message: - type: string - description: Error message - - ResponseCode: - required: - - code - - message - type: object - properties: - code: - type: integer - format: int32 - description: Error code - message: - type: string - description: Error message - UserRequest: - type: object - properties: - owner: - type: string - description: Id of the user who created the request - application: - type: string - description: Id of the application - context: - type: object - description: |+ - Has all details required for application creation. - e.g Name and description of the application, API and re-direct url. - additionalProperties: - type: string - id: - type: string - description: Unique identification of User Request. Refers to the GUID of the user request. For example `12896841-d85c-4a6c-88c9-632e927dee3d` - state: - type: object - description: Indicates the request state of each API/Subscription in the user request. - additionalProperties: - type: string - type: - $ref: '#/components/schemas/UserRequestType' - status: - $ref: '#/components/schemas/UserRequestStatus' - UpdationResponse: - required: - - code - - message - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - AuditEventRepositoryObject: - allOf: - - $ref: '#/components/schemas/RepositoryObject' - type: object - properties: - parameters: - description: Event meta data - type: object - additionalProperties: - type: object - example: - api_name: AccuWeather - type: - description: Type of the event - type: object - enum: - - $ref: '#/components/schemas/EventType' - - RepositoryObject: - type: object - properties: - id: - type: string - format: uuid - description: Identifier of the object - name: - type: string - description: Name of the object - summary: - type: string - description: Summary of the object - description: - type: string - description: Description of the object - owner: - type: string - description: Owner id of the object - modified: - type: string - format: 'yyyy-MM-dd HH:mm' - description: Modified date time - created: - type: string - format: 'yyyy-MM-dd HH:mm' - description: Created date time - responses: - BadRequest: - description: User provided data is not correct - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400: - $ref: '#/components/examples/400' - - RetryResponse: - description: User provided data is not correct - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCode' - examples: - 200: - $ref: '#/components/examples/RetryResponseExample' - - BadRequestForRequestDeletion: - description: User provided data is not correct - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 400-Incorrect State: - $ref: '#/components/examples/400-IncorrectState' - UserRequestUpdatedResponse: - description: User request updated successfully - content: - application/json: - schema: - $ref: '#/components/schemas/UpdationResponse' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 401: - $ref: '#/components/examples/401' - Forbidden: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 403: - $ref: '#/components/examples/403' - UserRequestListResponse: - description: List of user requests fetched successfully - content: - application/json: - schema: - $ref: '#/components/schemas/UserRequestList' - examples: - 200-APPLICATION_CREATION_REQUEST: - $ref: '#/components/examples/ApplicationCreationUserRequestListExample' - 200-SUBSCRIPTION_CREATION_REQUEST: - $ref: '#/components/examples/SubscriptionCreationUserRequestListExample' - - PendingUserRequestListResponse: - description: List of pending user requests fetched successfully - content: - application/json: - schema: - $ref: '#/components/schemas/UserRequestList' - examples: - 200: - $ref: '#/components/examples/PendingUserRequestsListExample' - - UserRequest: - description: User request fetched successfully - content: - application/json: - schema: - $ref: '#/components/schemas/UserRequest' - examples: - 200: - $ref: '#/components/examples/UserRequest' - - NotFound: - description: The specified resource was not found - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - examples: - 404: - $ref: '#/components/examples/404' - UserRequestCreatedResponse: - description: User request created successfully - content: - application/json: - schema: - $ref: '#/components/schemas/UserRequestCreated' - examples: - 201: - $ref: '#/components/examples/UserRequestCreatedExample' - TraceResponse: - description: Trace for the given user requests fetched successfully - content: - application/json: - schema: - $ref: '#/components/schemas/Trace' - examples: - 200: - $ref: '#/components/examples/TraceExample' - - examples: - '400': - value: - code: 400 - message: User provided data is not correct - '400-IncorrectState': - value: - code: 400 - message: Unable to delete the user request in status [COMPLETED] - '401': - value: - code: 401 - message: Invalid credentials - '403': - value: - code: 403 - message: Insufficient privileges - '404': - value: - code: 404 - message: Unable to find the User Request - TraceExample: - value: - owner: cdb82d56-4739-3164-9525-fbbd1d5dab56 - id: c94b8964-7177-4ed7-ac64-c0981499aba1 - modified: '2021-03-26 10:14 UTC' - created: '2021-03-26 10:14 UTC' - type: SUBSCRIPTION_CREATION_REQUEST - status: WAITING_THIRDPARTY - application: d0d2ef67-d338-4662-a0cb-d1a69c5fac96 - state: - 543d37d9-a160-4785-8d29-f07666b04e5e: WAITING_THIRDPARTY - trace: - Gold package: - - id: 0a378fcc-0036-4394-9a5d-5c944e8b64a0 - modified: '2021-03-26 14:12 UTC' - created: '2021-03-26 14:12 UTC' - type: USER_REQUEST_RETRY_EVENT - - id: 2b52f609-a633-4688-a445-411466718150 - modified: '2021-03-26 14:11 UTC' - created: '2021-03-26 14:11 UTC' - type: USER_REQUEST_RETRY_EVENT - - id: 42d91d1a-0eee-44e4-9129-e9aa51351eeb - modified: '2021-03-26 13:55 UTC' - created: '2021-03-26 13:55 UTC' - type: USER_REQUEST_RETRY_EVENT - - id: 84b48602-c128-46d2-bf94-daf18af6dfe5 - modified: '2021-03-26 10:14 UTC' - created: '2021-03-26 10:14 UTC' - type: GATEWAY_APPLICATION_CREATION_REQUEST_EVENT - status: INPROGRESS - reason: Delivered to gateway - code: '200' - - id: 27333bc9-d537-407b-913b-5ec86a450266 - modified: '2021-03-26 10:14 UTC' - created: '2021-03-26 10:14 UTC' - type: APPLICATION_REQUEST_APPROVED_EVENT - status: COMPLETED - - id: 2b3e57a3-76f1-4126-8c65-0d5221b1c008 - modified: '2021-03-26 10:14 UTC' - created: '2021-03-26 10:14 UTC' - type: APPLICATION_REQUEST_PENDING_EVENT - _link: /rest/v1/approvals/instance/f6118be5-007f-4382-af43-ce00cebb4033/trace - - id: 543d37d9-a160-4785-8d29-f07666b04e5e - modified: '2021-03-26 10:14 UTC' - created: '2021-03-26 10:14 UTC' - type: PORTAL_APPLICATION_CREATION_REQUEST_EVENT - - NotificationList: - value: - count: 1 - result: - - id: f3afe393-655b-4755-8c50-2ecd1c7379da - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - type: APPLICATION_CREATION_REQUEST - status: APPROVAL_PENDING - context: { } - application: fce645f8-fdeb-4b9a-8c33-6a4e75b36fdd - state: { } - - ApplicationCreationUserRequest: - value: - context: - name: Petstore Application - description: This application is used for building petstore app - apis: - - 8294372b-5037-4501-b5da-95dad13fcf96 - redirect_uris: - - http://localhost:8080 - type: APPLICATION_CREATION_REQUEST - - SubscriptionCreationUserRequest: - value: - context: - name: SubscriptionForGoldPlan - description: This application is used for building Hotel app - plan: 5f5947f7-ffb5-4534-bf44-360aceca9b24 - package: 532e53ef-3b2a-45af-b859-2456dca1bb1f - redirect_uris: - - http://localhost:8080 - type: SUBSCRIPTION_CREATION_REQUEST - - SubscriptionCreationUserRequestListExample: - value: - result: - - owner: cdb82d56-4739-3164-9525-fbbd1d5dab56 - id: 12896841-d85c-4a6c-88c9-632e927dee3d - type: SUBSCRIPTION_CREATION_REQUEST - status: WAITING_THIRDPARTY - application: 5097cc01-bd6d-443c-b356-0788af0666b7 - state: - 69c8ccc7-4ffa-4612-b097-8a27194bc63c: WAITING_THIRDPARTY - count: 1 - _links: - _self: "/rest/v1/requests?type=SUBSCRIPTION_CREATION_REQUEST&page=0" - - ApplicationCreationUserRequestListExample: - value: - result: - - owner: cdb82d56-4739-3164-9525-fbbd1d5dab56 - id: b5fdeb4c-b177-4556-b4d8-eaac1ee2dd2a - type: APPLICATION_CREATION_REQUEST - status: COMPLETED - application: 2642db97-bfa5-4c4c-8452-dcbd0fda2d6a - state: - 79fc987d-144b-47ad-9bd6-fdd6240d2e71: COMPLETED - count: 1 - _links: - _self: "/rest/v1/requests?type=APPLICATION_CREATION_REQUEST&page=0" - - PendingUserRequestsListExample: - value: - result: - - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 - id: d8d9e6b8-6015-415b-89f1-e728b29ac1a4 - type: APPLICATION_CREATION_REQUEST - status: APPROVAL_PENDING - application: 4ef059a7-a32d-434b-b501-19bd5b12dd3f - state: - d7621234-9e82-4b9f-9edb-efa6efbf6501: APPROVAL_PENDING - count: 1 - _links: - _self: "/rest/v1/requests/pending?type=APPLICATION_CREATION_REQUEST&page=0" - - RetryResponseExample: - value: - code: 200 - message: User request retried successfully - - UserRequest: - value: - owner: cdb82d56-4739-3164-9525-fbbd1d5dab56 - id: b5fdeb4c-b177-4556-b4d8-eaac1ee2dd2a - type: APPLICATION_CREATION_REQUEST - status: COMPLETED - application: 2642db97-bfa5-4c4c-8452-dcbd0fda2d6a - state: - 79fc987d-144b-47ad-9bd6-fdd6240d2e71: COMPLETED - UserRequestCreatedExample: - value: - id: c94b8964-7177-4ed7-ac64-c0981499aba1 - _self: /rest/v1/userrequests/c94b8964-7177-4ed7-ac64-c0981499aba1 diff --git a/apis/10.12/openapis/webhooks.yaml b/apis/10.12/openapis/webhooks.yaml deleted file mode 100644 index c21ab84..0000000 --- a/apis/10.12/openapis/webhooks.yaml +++ /dev/null @@ -1,563 +0,0 @@ -openapi: 3.0.1 -info: - title: Portal Webhooks API - version: '10.11' - description: | - ## Overview - Portal Webhooks API provides access to the Webhook management functionality. A webhook can be created to listen to one or more events. Two types of webhooks can be created. - - - #### SYSTEM - Default. - When webhooks are created they subscribe to one or more events. Whenever the events are generated, this webhook will be invoked with the event metadata - - #### PROVIDER - This webhook is linked with an API Provider. Whenever a provider event occurs, this webhook will be invoked with the event metadata - - ## Functionalities supported - - Create a new webhook. - - Get all the webhooks in the system. - - Retrieve, Update and Delete webhooks by their unique identifiers. - - Get all events in the system to which any webhooks can subscribe to. - - ## Authorization - - All operations can be done only by a user having *API Administrator* privilege -servers: - - url: http://localhost:18101/portal/rest/v1 - description: Development server -paths: - - /hooks: - get: - tags: - - WebHook - parameters: - - in: query - name: page - schema: - type: integer - default: 0 - description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. - - - name: limit - in: query - description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. - required: false - schema: - type: integer - - summary: Retrieve the list of webhooks - description: Endpoint to retrieve the list of webhooks. By default, both the system and provider webhooks are returned - responses: - '200': - $ref: '#/components/responses/SearchResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - operationId: get-all-hooks - post: - tags: - - WebHook - summary: Create a webhook which are event or provider callbacks - description: Create a webhook based on the payload. By default, a system webhook is created. To create a provider webhook, mention the configuration type as PROVIDER - operationId: post-hooks - requestBody: - description: 'Payload to update the webhook configuration' - content: - application/json: - schema: - $ref: '#/components/schemas/WebHook' - examples: - BASICAuthenticationForSystem: - $ref: '#/components/examples/WebhookConfigurationSystemBASIC' - SSLAuthenticationForSystem: - $ref: '#/components/examples/WebhookConfigurationSystemSSL' - BASICAuthenticationForProvider: - $ref: '#/components/examples/WebhookConfigurationProviderBASIC' - SSLAuthenticationForProvider: - $ref: '#/components/examples/WebhookConfigurationProviderSSL' - responses: - '201': - $ref: '#/components/responses/CreationResponse' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - - '/hooks/{id}': - parameters: - - name: id - in: path - description: Unique identifier of a webhook - required: true - schema: - type: string - format: uuid - get: - tags: - - WebHook - summary: Retrieve a particular webhook - description: Retrieve the webhook configuration information based on the id - responses: - '200': - $ref: '#/components/responses/WebHook' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - operationId: get-hooks-id - put: - tags: - - WebHook - summary: Update a particular webhook - description: Update a webhook based on the id and input payload - operationId: put-hooks-id - requestBody: - description: 'Payload to update the webhook configuration' - content: - application/json: - schema: - $ref: '#/components/schemas/WebHook' - examples: - BASICAuthenticationForSystem: - $ref: '#/components/examples/WebhookConfigurationSystemBASIC' - SSLAuthenticationForSystem: - $ref: '#/components/examples/WebhookConfigurationSystemSSL' - BASICAuthenticationForProvider: - $ref: '#/components/examples/WebhookConfigurationProviderBASIC' - SSLAuthenticationForProvider: - $ref: '#/components/examples/WebhookConfigurationProviderSSL' - responses: - '200': - $ref: '#/components/responses/WebHook' - '400': - $ref: '#/components/responses/BadRequest' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - delete: - tags: - - WebHook - summary: Delete a particular webhook - description: Delete a webhook configuration based on the id - operationId: delete-hooks-id - responses: - '204': - description: Successfully deleted the webhook configuration based on the id - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - '404': - $ref: '#/components/responses/NotFound' - - '/hooks/events': - get: - tags: - - WebHook - summary: Retrieve the list of events for which a webhook can subscribe to - description: Retrieve the list of events for which a webhook can subscribe to - responses: - '200': - $ref: '#/components/responses/WebHookEventResponse' - '401': - $ref: '#/components/responses/Unauthorized' - '403': - $ref: '#/components/responses/Forbidden' - -components: - schemas: - EventTypeList: - type: array - description: List of events - items: - $ref: '#/components/schemas/EventType' - EventType: - description: Type of the event - type: object - properties: - id: - type: string - description: Unique identification for event. Refers to the GUID of the event.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - enum: - - API_PUBLISH_EVENT - - API_REPUBLISH_EVENT - - API_UN_PUBLISH_EVENT - - PROVIDER_PUBLISH_EVENT - - PROVIDER_REPUBLISH_EVENT - - PROVIDER_UNPUBLISH_EVENT - - SIGN_UP_EVENT - - APPLICATION_REQUEST_EVENT - - APPLICATION_CREATION_REQUEST_EVENT - - APPLICATION_REQUEST_APPROVED_EVENT - - APPLICATION_REQUEST_REJECTED_EVENT - - COMMUNITY_CREATION_EVENT - - COMMUNITY_DELETION_EVENT - - COMMUNITY_MEMBERSHIP_CHANGE_EVENT - - COMMUNITY_SCOPE_CHANGE_EVENT - - IN_APP_NOTIFICATION_EVENT - - EMAIL_NOTIFICATION_EVENT - name: - type: string - description: Event name - description: - type: string - description: Event description - SearchResponse: - type: object - properties: - result: - type: array - description: Result list - items: - $ref: '#/components/schemas/WebHook' - count: - type: integer - description: Total number of webhooks retrieved - _links: - type: object - description: Links of current and next page - required: - - _self - properties: - _self: - description: Link of current page - type: string - _next: - description: Link of next page - type: string - CreationResponse: - type: object - properties: - id: - type: string - description: Unique identification for webhook. Refers to the GUID of the webhook.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - format: uuid - _self: - type: string - description: Self reference of the newly created webhook - WebHook: - type: object - properties: - id: - type: string - description: Unique identification for webhook. Refers to the GUID of the webhook.For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` - url: - type: string - description: Webhook URL to post - subscriptions: - type: array - description: List of events that we want to subscribe to - items: - $ref: '#/components/schemas/EventType' - configuration_type: - type: string - description: Indicates whether the webhook is related to system or stage - enum: - - "SYSTEM" - - "PROVIDER" - default: SYSTEM - parameters: - type: object - description: Parameters of the webhook - oneOf: - - $ref: '#/components/schemas/BasicAuthParameter' - - $ref: '#/components/schemas/SslAuthParameter' - - $ref: '#/components/schemas/NoAuthParameter' - WebHookParameter: - type: object - required: - - authentication - properties: - authentication: - type: string - discriminator: - propertyName: authentication - BasicAuthParameter: - type: object - allOf: - - $ref: '#/components/schemas/WebHookParameter' - properties: - username: - type: string - description: User name to authenticate - password: - type: string - description: Password of the user - SslAuthParameter: - type: object - allOf: - - $ref: '#/components/schemas/WebHookParameter' - properties: - type: - type: string - description: Type of certificate used to authenticate with the webhook - password: - type: string - description: Password of the certificate - file_id: - type: string - description: The certificate should be uploaded into API Portal using the File API. This id refer to the certificate file id in the system - NoAuthParameter: - type: object - allOf: - - $ref: '#/components/schemas/WebHookParameter' - APIPortalErrorResponse: - type: object - properties: - code: - description: API Portal error code - type: integer - message: - description: Reason for the error - type: string - errors: - description: Validation error messages if any - type: object - - responses: - CreationResponse: - description: Response when a webhook is successfully created - content: - application/json: - schema: - $ref: '#/components/schemas/CreationResponse' - examples: - CreationResponse: - $ref: '#/components/examples/CreationResponse' - WebHook: - description: Response when a webhook is successfully retrieved - content: - application/json: - schema: - $ref: '#/components/schemas/WebHook' - examples: - WebhookSystemConfigurationForBASICAuth: - $ref: '#/components/examples/WebhookConfigurationSystemBASICResponse' - WebhookSystemConfigurationForSSLAuth: - $ref: '#/components/examples/WebhookConfigurationSystemSSLResponse' - WebhookProviderConfigurationForBASICAuth: - $ref: '#/components/examples/WebhookConfigurationProviderBASICResponse' - WebhookProviderConfigurationForSSLAuth: - $ref: '#/components/examples/WebhookConfigurationProviderSSLResponse' - WebHookEventResponse: - description: List of events for which the webhooks can subscribe - content: - application/json: - schema: - $ref: '#/components/schemas/EventTypeList' - examples: - Events: - $ref: '#/components/examples/EventTypeList' - NotFound: - description: Unable to find the requested resource - content: - application/json: - schema: - $ref: '#/components/schemas/APIPortalErrorResponse' - examples: - NotFoundResponse: - $ref: '#/components/examples/404' - SearchResponse: - description: Successfully retrieved the webhook configurations - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResponse' - examples: - SearchResponse: - $ref: '#/components/examples/SearchResponse' - Unauthorized: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/APIPortalErrorResponse' - examples: - 401: - $ref: '#/components/examples/401' - Forbidden: - description: User does not have sufficient privileges to perform this operation - content: - application/json: - schema: - $ref: '#/components/schemas/APIPortalErrorResponse' - examples: - ForbiddenResponse: - $ref: '#/components/examples/403' - BadRequest: - description: Wrong payload given by the user to configure the webhook - content: - application/json: - schema: - $ref: '#/components/schemas/APIPortalErrorResponse' - examples: - BadRequestResponse: - $ref: '#/components/examples/400' - BasicAuthBadRequestResponse: - $ref: '#/components/examples/BasicAuth_400' - SslAuthBadRequestResponse: - $ref: '#/components/examples/SslAuth_400' - - securitySchemes: - accesstoken: - name: accesstoken - type: apiKey - in: cookie - - examples: - WebhookConfigurationSystemBASICResponse: - value: - id: 'bc5f92a1-ea14-4cbe-9f7d-793369eb8832' - url: 'http://localhost:8086/events' - parameters: - authentication: BASIC - username: system - password: sss - subscriptions: - - id: API_PUBLISH_EVENT - name: API publish event - description: This event is invoked when an API is published - configuration_type: SYSTEM - WebhookConfigurationSystemSSLResponse: - value: - id: '102dcde2-a356-4af1-903a-e506cee2bdcf' - url: 'http://localhost:8086/events' - parameters: - authentication: SSL - type: jks - file_id: '1234' - password: sss - subscriptions: - - id: API_PUBLISH_EVENT - name: API publish event - description: This event is invoked when an API is published - configuration_type: SYSTEM - WebhookConfigurationProviderBASICResponse: - value: - id: 'bc5f92a1-ea14-4cbe-9f7d-793369eb8832' - url: 'http://localhost:8086/events' - parameters: - authentication: BASIC - username: system - password: sss - configuration_type: PROVIDER - WebhookConfigurationProviderSSLResponse: - value: - id: 'cdd51446-a541-40ae-a721-dfe4345f0345' - url: 'http://localhost:8086/events' - parameters: - authentication: SSL - type: jks - file_id: '1234' - password: sss - configuration_type: PROVIDER - WebhookConfigurationSystemSSL: - value: - url: 'http://localhost:8086/events' - parameters: - authentication: SSL - type: jks - file_id: '1234' - password: sss - subscriptions: - - id: API_PUBLISH_EVENT - WebhookConfigurationSystemBASIC: - value: - url: 'http://localhost:8086/events' - parameters: - authentication: BASIC - username: system - password: sss - subscriptions: - - id: API_PUBLISH_EVENT - WebhookConfigurationProviderBASIC: - value: - url: 'http://localhost:8086/events' - parameters: - authentication: BASIC - username: system - password: sss - configuration_type: PROVIDER - WebhookConfigurationProviderSSL: - value: - url: 'http://localhost:8086/events' - configuration_type: PROVIDER - parameters: - authentication: SSL - type: jks - file_id: '1234' - password: sss - 401: - value: - code: 401 - message: Invalid credentials - 403: - value: - code: 403 - message: Insufficient privileges - 400: - value: - code: 400 - message: User provided data is not correct - errors: - - Url is missing - BasicAuth_400: - value: - code: 400 - message: User provided data is not correct - errors: - - Password is missing - - Username is missing - SslAuth_400: - value: - code: 400 - message: User provided data is not correct - errors: - - Certificate type is missing - - Certificate is missing - - Password is missing - 404: - value: - code: 404 - message: Unable to find the Webhook with id [550c52c8-7812-4f69-ac1d-7951351b5c88] - SearchResponse: - value: - result: - - $ref: '#/components/examples/WebhookConfigurationResponse/value' - count: 11 - _links: - _self: rest/v1/webhooks?page=0 - _next: rest/v1/webhooks?page=1 - CreationResponse: - value: - result: - id: d603020e-1db4-4e54-a728-be77e633c566 - _self: /rest/v1/hooks/d603020e-1db4-4e54-a728-be77e633c566 - WebhookConfigurationResponse: - value: - id: 83ed37fb-f833-406b-b46a-4b8084730df7 - url: 'http://localhost:8086/events' - parameters: - $ref: '#/components/examples/BasicParameters/value' - subscriptions: - - API_PUBLISH_EVENT - configuration_type: SYSTEM - BasicParameters: - value: - authentication: BASIC - username: system - password: CYIQA7AbMHCu9u//OrniWw== - EventTypeList: - value: - - id: TEAM_DELETION_EVENT - name: Team deletion event - description: This event will be invoked when the team is deleted - - id: COMMUNITY_CREATION_EVENT - name: Community creation event - description: This event will be invoked when a new community is created diff --git a/apis/10.12/collection/webMethods_dev_portal_collection.json b/apis/collection/webMethods_dev_portal_collection.json similarity index 93% rename from apis/10.12/collection/webMethods_dev_portal_collection.json rename to apis/collection/webMethods_dev_portal_collection.json index e381354..352083a 100644 --- a/apis/10.12/collection/webMethods_dev_portal_collection.json +++ b/apis/collection/webMethods_dev_portal_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "bc15d06e-77d6-49f1-995b-40c4cf7a23e8", + "_postman_id": "89528618-5076-4114-b415-271d18251a9e", "name": "webMethods Developer Portal APIs", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, @@ -1637,6 +1637,34 @@ } }, "response": [] + }, + { + "name": "Modify the lifecycyle state of an API", + "request": { + "method": "PUT", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/apis/3644a47c-a7fe-4b26-89d2-e37ba0428c2f/state?targetState=LIVE", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "apis", + "3644a47c-a7fe-4b26-89d2-e37ba0428c2f", + "state" + ], + "query": [ + { + "key": "targetState", + "value": "LIVE" + } + ] + } + }, + "response": [] } ] }, @@ -3020,6 +3048,54 @@ }, "response": [] }, + { + "name": "Create a topic for a custom asset instance", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"content\" : {\r\n \t\"type\" : \"simple\",\r\n \t\"value\" : \"This is a topic\"\r\n },\r\n \"tags\": [\"tag1\",\"tag2\"]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/types/feature/instances/66786b4a-d743-4aa2-bdde-c46c2620c980/topics", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "feature", + "instances", + "66786b4a-d743-4aa2-bdde-c46c2620c980", + "topics" + ] + } + }, + "response": [] + }, { "name": "Update topic by Id", "request": { @@ -5637,134 +5713,1423 @@ ] }, { - "name": "Get Configuration by Category", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "http://{{host}}/rest/v1/configurations/flow_settings", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations", - "flow_settings" - ] - } - }, - "response": [] - }, - { - "name": "Create application email configuration", - "request": { - "method": "POST", - "header": [], - "body": { - "mode": "raw", - "raw": "{\r\n\t\"category\" :\"APPLICATION_EMAIL_CONFIGURATION\",\r\n\t\r\n\t\t\"properties\": [\r\n\t\t\t{\r\n\t\t\t\"key\": \"APPLICATION_SHARED_SUBJECT\",\r\n\t\t\t\"value\": \"An Application has been shared\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"key\": \"APPLICATION_SHARED_MESSAGE\",\r\n\t\t\t\"value\": \"Hello ${user.name}, \\\\n\\\\n An application ${application.name} has been shared to you by ${application.owner}. \\\\n\\\\n \\\\n\\\\n Best Regards,\\\\nAPI Cloud Team \\\\n\\\\n *** This notification was sent automatically. Do not reply to this email.***\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"key\": \"APPLICATION_REVOKED_SUBJECT\",\r\n\t\t\t\"value\": \"Application access has been revoked\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"key\":\"APPLICATION_REVOKED_MESSAGE\",\r\n\t\t\t\"value\": \"Hello ${user.name},\\\\n\\\\n ${application.name} application access has been revoked by the owner \\\\n\\\\n \\\\n\\\\n Best Regards,\\\\nAPI Cloud Team \\\\n\\\\n *** This notification was sent automatically. Do not reply to this email.***\"\r\n\t\t}\r\n\t]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/configurations", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "configurations" - ] + "name": "LCM", + "item": [ + { + "name": "Get Lifecycle Model of a type", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/configurations/lcm?type=API", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "configurations", + "lcm" + ], + "query": [ + { + "key": "type", + "value": "API" + } + ] + }, + "description": "Gets the lifecycle model configuration (the defined lifecycle states and its allowed transition details) of a type (API/PACKAGE)" + }, + "response": [] } - }, - "response": [] - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "type": "text/javascript", - "exec": [ - "" - ] - } + ] }, { - "listen": "test", - "script": { - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ] - }, - { - "name": "Data Management", - "item": [ - { - "name": "Backup data", - "request": { - "auth": { - "type": "basic", - "basic": [ + "name": "Features", + "item": [ + { + "name": "LCM", + "item": [ { - "key": "password", - "value": "manage", - "type": "string" + "name": "Enable LCM feature", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"id\": \"7d489dca-396d-443b-9377-2cea4285f128\",\r\n \"category\": \"FEATURE_LOOKUP\",\r\n \"properties\": [\r\n {\r\n \"key\": \"life_cycle_enabled\",\r\n \"value\": \"true\"\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/configurations/FEATURE_LOOKUP", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "configurations", + "FEATURE_LOOKUP" + ] + } + }, + "response": [] }, { - "key": "username", - "value": "administrator", - "type": "string" - } - ] - }, - "method": "POST", - "header": [ - { - "key": "xsrf-token", - "value": "VbOuuiSA6K8YNWvN2D8Dl-I9sUU9GVM8bFZBMjVScFo", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"modules\": [\"User\",\"Collaboration\",\"Theme\",\"Core\"]\r\n}", - "options": { - "raw": { - "language": "json" + "name": "Disable LCM feature", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"id\": \"7d489dca-396d-443b-9377-2cea4285f128\",\r\n \"category\": \"FEATURE_LOOKUP\",\r\n \"properties\": [\r\n {\r\n \"key\": \"life_cycle_enabled\",\r\n \"value\": \"false\"\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/configurations/FEATURE_LOOKUP", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "configurations", + "FEATURE_LOOKUP" + ] + } + }, + "response": [] } - } - }, - "url": { - "raw": "http://{{host}}/rest/v1/data/backup/", - "protocol": "http", - "host": [ - "{{host}}" - ], - "path": [ - "rest", - "v1", - "data", - "backup", - "" ] } - }, - "response": [] + ] }, { - "name": "Restore data", + "name": "CORS", + "item": [ + { + "name": "Add CORS origins", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"category\": \"CORS_SETTINGS\",\r\n \"properties\": [\r\n {\r\n \"key\": \"cors_origins\",\r\n \"value\": \"http://myserver:8080, https://remote-dev-portal-server.com\"\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/configurations", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "configurations" + ] + } + }, + "response": [] + }, + { + "name": "Update CORS origins", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"category\": \"CORS_SETTINGS\",\r\n \"properties\": [\r\n {\r\n \"key\": \"cors_origins\",\r\n \"value\": \"http://myserver:8080, https://remote-dev-portal-server1.com, https://remote-dev-portal-server2.com\"\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/configurations/CORS_SETTINGS?id=936fab53-d94e-4656-bfd7-d90941ac0d2a", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "configurations", + "CORS_SETTINGS" + ], + "query": [ + { + "key": "id", + "value": "936fab53-d94e-4656-bfd7-d90941ac0d2a" + } + ] + } + }, + "response": [] + }, + { + "name": "Delete CORS Origins", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/configurations/CORS_SETTINGS?id=936fab53-d94e-4656-bfd7-d90941ac0d2a", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "configurations", + "CORS_SETTINGS" + ], + "query": [ + { + "key": "id", + "value": "936fab53-d94e-4656-bfd7-d90941ac0d2a" + } + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Get Configuration by Category", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/configurations/flow_settings", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "configurations", + "flow_settings" + ] + } + }, + "response": [] + }, + { + "name": "Create application email configuration", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"category\" :\"APPLICATION_EMAIL_CONFIGURATION\",\r\n\t\r\n\t\t\"properties\": [\r\n\t\t\t{\r\n\t\t\t\"key\": \"APPLICATION_SHARED_SUBJECT\",\r\n\t\t\t\"value\": \"An Application has been shared\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"key\": \"APPLICATION_SHARED_MESSAGE\",\r\n\t\t\t\"value\": \"Hello ${user.name}, \\\\n\\\\n An application ${application.name} has been shared to you by ${application.owner}. \\\\n\\\\n \\\\n\\\\n Best Regards,\\\\nAPI Cloud Team \\\\n\\\\n *** This notification was sent automatically. Do not reply to this email.***\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"key\": \"APPLICATION_REVOKED_SUBJECT\",\r\n\t\t\t\"value\": \"Application access has been revoked\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"key\":\"APPLICATION_REVOKED_MESSAGE\",\r\n\t\t\t\"value\": \"Hello ${user.name},\\\\n\\\\n ${application.name} application access has been revoked by the owner \\\\n\\\\n \\\\n\\\\n Best Regards,\\\\nAPI Cloud Team \\\\n\\\\n *** This notification was sent automatically. Do not reply to this email.***\"\r\n\t\t}\r\n\t]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/configurations", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "configurations" + ] + } + }, + "response": [] + } + ], + "event": [ + { + "listen": "prerequest", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ] + }, + { + "name": "Custom Asset Management", + "item": [ + { + "name": "Type Management", + "item": [ + { + "name": "Create new type", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"ticket\",\r\n \"fields\": [\r\n {\r\n \"name\": \"Title\",\r\n \"type\": \"STRING\",\r\n \"mandatory\": true\r\n },\r\n {\r\n \"name\": \"Content\",\r\n \"type\": \"TEXT\",\r\n \"mandatory\": true\r\n },\r\n {\r\n \"name\": \"Assigned_to\",\r\n \"type\": \"STRING\",\r\n \"mandatory\": true\r\n },\r\n {\r\n \"name\": \"Ticket_No\",\r\n \"type\": \"NUMBER\",\r\n \"mandatory\": false\r\n }\r\n ]\r\n\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/types", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types" + ] + } + }, + "response": [] + }, + { + "name": "Get a type", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket" + ] + } + }, + "response": [] + }, + { + "name": "Get all types", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/types", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types" + ] + } + }, + "response": [] + }, + { + "name": "Get types using filters", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"criterias\": [\r\n {\r\n \"field\": \"name\",\r\n \"values\": [\r\n \"ticket\"\r\n ],\r\n \"operation\": \"EQUALS\"\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/types/search", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "search" + ] + } + }, + "response": [] + }, + { + "name": "Update a type", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"ticket\",\r\n \"fields\": [\r\n {\r\n \"name\": \"Title\",\r\n \"type\": \"STRING\",\r\n \"mandatory\": true\r\n },\r\n {\r\n \"name\": \"Content\",\r\n \"type\": \"TEXT\",\r\n \"mandatory\": true\r\n },\r\n {\r\n \"name\": \"Assigned_to\",\r\n \"type\": \"STRING\",\r\n \"mandatory\": true\r\n },\r\n {\r\n \"name\": \"Ticket_No\",\r\n \"type\": \"NUMBER\",\r\n \"mandatory\": false\r\n },\r\n {\r\n \"name\": \"Resolved\",\r\n \"type\": \"BOOLEAN\",\r\n \"mandatory\": false\r\n },\r\n {\r\n \"name\": \"Issue_details_doc\",\r\n \"type\": \"FILE\",\r\n \"mandatory\": false\r\n },\r\n {\r\n \"name\": \"Issue_screenshot\",\r\n \"type\": \"IMAGE\",\r\n \"mandatory\": false\r\n }\r\n ]\r\n\r\n}\r\n", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket" + ] + } + }, + "response": [] + }, + { + "name": "Set default value for file field", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "file", + "type": "file", + "src": [] + } + ] + }, + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/fields/Issue_details_doc", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "fields", + "Issue_details_doc" + ] + } + }, + "response": [] + }, + { + "name": "Set default value for image field", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "file", + "type": "file", + "src": [] + } + ] + }, + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/fields/Issue_screenshot", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "fields", + "Issue_screenshot" + ] + } + }, + "response": [] + }, + { + "name": "total number of types", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/types/_count", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "_count" + ] + } + }, + "response": [] + }, + { + "name": "Delete a type", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket" + ] + } + }, + "response": [] + } + ] + }, + { + "name": "Instance Management", + "item": [ + { + "name": "Create asset for a type", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"Name\": \"Issue with updating user profile picture\",\r\n \"Title\": \"Issue with updating user profile picture\",\r\n \"Content\": \"New picture not gets updated....\",\r\n \"Ticket_No\" : 99,\r\n \"Assigned_to\": \"X\",\r\n \"Resolved\": false\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances" + ] + } + }, + "response": [] + }, + { + "name": "Get the asset", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/types/feature/instances/0c17c3fc-46a0-4c20-85c0-47c76d94b13e", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "feature", + "instances", + "0c17c3fc-46a0-4c20-85c0-47c76d94b13e" + ] + } + }, + "response": [] + }, + { + "name": "Get all assets of a type", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/types/feature/instances", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "feature", + "instances" + ] + } + }, + "response": [] + }, + { + "name": "Get asset by filter", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"criterias\": [\r\n {\r\n \"field\": \"name\",\r\n \"values\": [\r\n \"user profile\"\r\n ],\r\n \"operation\": \"CONTAINS\"\r\n }\r\n ]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances/search", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances", + "search" + ] + } + }, + "response": [] + }, + { + "name": "Update an asset", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"Name\": \"Issue with updating user profile picture\",\r\n \"Title\": \"Issue with updating user profile picture\",\r\n \"Content\": \"New picture not gets updated....\",\r\n \"Ticket_No\" : 99,\r\n \"Assigned_to\": \"Y\",\r\n \"Resolved\": true\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances/5b6a2b2e-168f-4d74-875b-f7ed961029e5", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances", + "5b6a2b2e-168f-4d74-875b-f7ed961029e5" + ] + } + }, + "response": [] + }, + { + "name": "Update file field for an asset", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "file", + "type": "file", + "src": [] + } + ] + }, + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances/5b6a2b2e-168f-4d74-875b-f7ed961029e5/fields/Issue_details_doc", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances", + "5b6a2b2e-168f-4d74-875b-f7ed961029e5", + "fields", + "Issue_details_doc" + ] + } + }, + "response": [] + }, + { + "name": "Update image field of an asset", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "file", + "type": "file", + "src": [] + } + ] + }, + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances/5b6a2b2e-168f-4d74-875b-f7ed961029e5/fields/Issue_screenshot", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances", + "5b6a2b2e-168f-4d74-875b-f7ed961029e5", + "fields", + "Issue_screenshot" + ] + } + }, + "response": [] + }, + { + "name": "Update logo for an asset", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "file", + "type": "file", + "src": [] + } + ] + }, + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances/5b6a2b2e-168f-4d74-875b-f7ed961029e5/logo", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances", + "5b6a2b2e-168f-4d74-875b-f7ed961029e5", + "logo" + ] + } + }, + "response": [] + }, + { + "name": "Total assets for a type", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances/_count", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances", + "_count" + ] + } + }, + "response": [] + }, + { + "name": "Topics of an asset", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances/5b6a2b2e-168f-4d74-875b-f7ed961029e5/topics", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances", + "5b6a2b2e-168f-4d74-875b-f7ed961029e5", + "topics" + ] + } + }, + "response": [] + }, + { + "name": "Follow/Un-follow the asset", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances/66786b4a-d743-4aa2-bdde-c46c2620c980/followers", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances", + "66786b4a-d743-4aa2-bdde-c46c2620c980", + "followers" + ] + } + }, + "response": [] + }, + { + "name": "All followers of an asset", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances/66786b4a-d743-4aa2-bdde-c46c2620c980/followers", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances", + "66786b4a-d743-4aa2-bdde-c46c2620c980", + "followers" + ] + } + }, + "response": [] + }, + { + "name": "Total number of followers for an asset", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances/66786b4a-d743-4aa2-bdde-c46c2620c980/followers/_count", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances", + "66786b4a-d743-4aa2-bdde-c46c2620c980", + "followers", + "_count" + ] + } + }, + "response": [] + }, + { + "name": "Bookmarked topics of an asset", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances/66786b4a-d743-4aa2-bdde-c46c2620c980/bookmarks", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances", + "66786b4a-d743-4aa2-bdde-c46c2620c980", + "bookmarks" + ] + } + }, + "response": [] + }, + { + "name": "add new attachments", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "file", + "type": "file", + "src": "/C:/Users/rashan/OneDrive - Software AG/Desktop/apiportal-notes.txt" + } + ] + }, + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances/66786b4a-d743-4aa2-bdde-c46c2620c980/attachments", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances", + "66786b4a-d743-4aa2-bdde-c46c2620c980", + "attachments" + ] + } + }, + "response": [] + }, + { + "name": "Delete an asset", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/types/ticket/instances/66786b4a-d743-4aa2-bdde-c46c2620c980", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "types", + "ticket", + "instances", + "66786b4a-d743-4aa2-bdde-c46c2620c980" + ] + } + }, + "response": [] + }, + { + "name": "Rate an asset", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\r\n \"rating\": 5\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/apis/4c2a4956-3eea-4ea5-b74c-9408ed82a9f2/rate", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "apis", + "4c2a4956-3eea-4ea5-b74c-9408ed82a9f2", + "rate" + ] + } + }, + "response": [] + } + ] + } + ] + }, + { + "name": "Data Management", + "item": [ + { + "name": "Backup data", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "administrator", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "xsrf-token", + "value": "VbOuuiSA6K8YNWvN2D8Dl-I9sUU9GVM8bFZBMjVScFo", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"modules\": [\"User\",\"Collaboration\",\"Theme\",\"Core\"]\r\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/data/backup/", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "data", + "backup", + "" + ] + } + }, + "response": [] + }, + { + "name": "Restore data", "protocolProfileBehavior": { "followAuthorizationHeader": true }, @@ -6736,6 +8101,34 @@ } }, "response": [] + }, + { + "name": "Modify the lifecycle state of a Package", + "request": { + "method": "PUT", + "header": [], + "url": { + "raw": "http://{{host}}/rest/v1/packages/3644a47c-a7fe-4b26-89d2-e37ba0428c2f/state?targetState=LIVE", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "packages", + "3644a47c-a7fe-4b26-89d2-e37ba0428c2f", + "state" + ], + "query": [ + { + "key": "targetState", + "value": "LIVE" + } + ] + } + }, + "response": [] } ] }, @@ -9079,6 +10472,52 @@ } }, "response": [] + }, + { + "name": "anonymize users", + "request": { + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "manage", + "type": "string" + }, + { + "key": "username", + "value": "Administrator", + "type": "string" + } + ] + }, + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "[\"testUser1\",\"testUser2\"]", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://{{host}}/rest/v1/users/anonymize", + "protocol": "http", + "host": [ + "{{host}}" + ], + "path": [ + "rest", + "v1", + "users", + "anonymize" + ] + }, + "description": "After deleting the user(s) from the developer portal, those user(s) can be anonymized by the administrator using this endpoint with the user names / login names." + }, + "response": [] } ] }, @@ -9941,7 +11380,7 @@ "body": "{\n \"code\": 200,\n \"message\": \"Updated successfully\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "Forbidden", "originalRequest": { "method": "PUT", "header": [ @@ -9986,8 +11425,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "Forbidden", + "code": 403, "_postman_previewlanguage": "json", "header": [ { @@ -9996,10 +11435,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "Forbidden", + "name": "The specified resource was not found", "originalRequest": { "method": "PUT", "header": [ @@ -10044,8 +11483,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -10054,10 +11493,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { - "name": "The specified resource was not found", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "PUT", "header": [ @@ -10102,8 +11541,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -10112,7 +11551,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" } ] }, @@ -10203,7 +11642,7 @@ "body": "{\n \"entries\": [\n {\n \"subject\": \"72416718-bf14-4228-8e71-b4c803a44375\",\n \"type\": \"COMMUNITY\",\n \"permission\": \"READ\"\n },\n {\n \"subject\": \"1e4332f6-5a7a-3210-b5fb-fb92c7c60cce\",\n \"type\": \"USER\",\n \"permission\": \"READ\"\n },\n {\n \"subject\": \"8ad53d34-550a-35f8-ac0b-c540aa751dbf\",\n \"type\": \"GROUP\",\n \"permission\": \"READ\"\n }\n ]\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "The specified resource was not found", "originalRequest": { "method": "GET", "header": [ @@ -10239,8 +11678,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -10249,10 +11688,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { - "name": "Forbidden", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "GET", "header": [ @@ -10288,8 +11727,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -10298,10 +11737,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" }, { - "name": "The specified resource was not found", + "name": "Forbidden", "originalRequest": { "method": "GET", "header": [ @@ -10337,8 +11776,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "Forbidden", + "code": 403, "_postman_previewlanguage": "json", "header": [ { @@ -10347,7 +11786,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" } ] } @@ -10461,7 +11900,7 @@ "body": "{\n \"code\": 200,\n \"message\": \"Updated successfully\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "The specified resource was not found", "originalRequest": { "method": "POST", "header": [ @@ -10505,8 +11944,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -10515,7 +11954,7 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { "name": "Forbidden", @@ -10575,7 +12014,7 @@ "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "The specified resource was not found", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "POST", "header": [ @@ -10619,8 +12058,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -10629,7 +12068,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" } ] }, @@ -10684,7 +12123,7 @@ }, "response": [ { - "name": "Updated", + "name": "The specified resource was not found", "originalRequest": { "method": "PUT", "header": [ @@ -10728,8 +12167,8 @@ ] } }, - "status": "OK", - "code": 200, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -10738,7 +12177,7 @@ } ], "cookie": [], - "body": "{\n \"code\": 200,\n \"message\": \"Updated successfully\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { "name": "The request was unacceptable, due to invalid credentials", @@ -10855,7 +12294,7 @@ "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "The specified resource was not found", + "name": "Updated", "originalRequest": { "method": "PUT", "header": [ @@ -10899,8 +12338,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "OK", + "code": 200, "_postman_previewlanguage": "json", "header": [ { @@ -10909,7 +12348,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 200,\n \"message\": \"Updated successfully\"\n}" } ] }, @@ -10950,7 +12389,7 @@ }, "response": [ { - "name": "ok", + "name": "Forbidden", "originalRequest": { "method": "GET", "header": [ @@ -10985,8 +12424,8 @@ ] } }, - "status": "OK", - "code": 200, + "status": "Forbidden", + "code": 403, "_postman_previewlanguage": "json", "header": [ { @@ -10995,10 +12434,10 @@ } ], "cookie": [], - "body": "[\n {\n \"name\": \"FLEXBOX\",\n \"type\": \"layout\",\n \"options\": {\n \"direction\": \"column\",\n \"width\": \"100%\"\n },\n \"style\": {\n \"wrapper\": \"padding: 0 24px;\"\n },\n \"children\": [\n {\n \"name\": \"FLEXBOX\",\n \"type\": \"layout\",\n \"options\": {\n \"crossAxis\": \"center\"\n },\n \"style\": {\n \"wrapper\": \"padding-top: 1rem;\"\n },\n \"children\": [\n {\n \"name\": \"LinkComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.shared.home.LBL\",\n \"type\": \"internal\",\n \"href\": \"/\"\n }\n },\n {\n \"name\": \"IconComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"name\": \"dlt-icon-chevron-breadcrumb\"\n },\n \"style\": {\n \"element\": \"padding: 0 .125rem;\\n color: grey;\\n font-size: 1rem;\\n vertical-align: middle;\\n line-height: 1.5;\"\n }\n },\n {\n \"name\": \"LinkComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"consumer.about.headingcomponent.heading.LBL\",\n \"current\": \"page\",\n \"type\": \"internal\",\n \"href\": \"/communities\"\n }\n }\n ]\n },\n {\n \"name\": \"HeadingComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"consumer.header.aboutcomponent.heading.LBL\",\n \"type\": 1\n },\n \"style\": {\n \"element\": \"font-weight: 300;\\n margin-bottom: 0;\\n margin-top: 0.5rem;\"\n }\n },\n {\n \"name\": \"ParagraphComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"consumer.header.aboutcomponent.subheading.LBL\"\n },\n \"style\": {\n \"element\": \"font-size: 90%;\\nline-height: 1.5;\"\n }\n },\n {\n \"name\": \"FLEXBOX\",\n \"type\": \"layout\",\n \"options\": {\n \"width\": \"100%\"\n },\n \"children\": [\n {\n \"name\": \"AboutComponent\",\n \"type\": \"widget\"\n }\n ]\n },\n {\n \"name\": \"FLEXBOX\",\n \"type\": \"layout\",\n \"options\": {\n \"direction\": \"column\"\n },\n \"children\": [\n {\n \"name\": \"HeadingComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.header.aboutcomponent.copyright.heading.LBL\",\n \"type\": 1\n },\n \"style\": {\n \"element\": \"font-weight: 300;\\n margin-bottom: 1rem;\\n margin-top: 0.5rem;\"\n }\n },\n {\n \"name\": \"ParagraphComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.footer.paragraphcomponent.copyright.LBL\"\n },\n \"style\": {\n \"element\": \"margin-bottom: 1rem;\\nfont-size: 90%;\\nline-height: 1.5;\"\n }\n },\n {\n \"name\": \"ParagraphComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.header.aboutcomponent.trademarks.LBL\"\n },\n \"style\": {\n \"element\": \"margin-bottom: 1rem;\\nfont-size: 90%;\\nline-height: 1.5;\"\n }\n },\n {\n \"name\": \"ParagraphComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.header.aboutcomponent.copyright.LBL\"\n },\n \"style\": {\n \"element\": \"margin-bottom: 1rem;\\nfont-size: 90%;\\nline-height: 1.5;\"\n }\n },\n {\n \"name\": \"ParagraphComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.header.aboutcomponent.thirdparty.LBL\"\n },\n \"style\": {\n \"element\": \"margin-bottom: 1rem;font-size: 90%;\\nline-height: 1.5;\"\n }\n },\n {\n \"name\": \"ParagraphComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.header.aboutcomponent.confidentiality.LBL\"\n },\n \"style\": {\n \"element\": \"font-size: 90%;\\nline-height: 1.5;\"\n }\n }\n ]\n }\n ]\n }\n]" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "The specified resource was not found", "originalRequest": { "method": "GET", "header": [ @@ -11033,8 +12472,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -11043,10 +12482,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { - "name": "Forbidden", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "GET", "header": [ @@ -11081,8 +12520,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -11091,10 +12530,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" }, { - "name": "The specified resource was not found", + "name": "ok", "originalRequest": { "method": "GET", "header": [ @@ -11129,8 +12568,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "OK", + "code": 200, "_postman_previewlanguage": "json", "header": [ { @@ -11139,7 +12578,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "[\n {\n \"name\": \"FLEXBOX\",\n \"type\": \"layout\",\n \"options\": {\n \"direction\": \"column\",\n \"width\": \"100%\"\n },\n \"style\": {\n \"wrapper\": \"padding: 0 24px;\"\n },\n \"children\": [\n {\n \"name\": \"FLEXBOX\",\n \"type\": \"layout\",\n \"options\": {\n \"crossAxis\": \"center\"\n },\n \"style\": {\n \"wrapper\": \"padding-top: 1rem;\"\n },\n \"children\": [\n {\n \"name\": \"LinkComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.shared.home.LBL\",\n \"type\": \"internal\",\n \"href\": \"/\"\n }\n },\n {\n \"name\": \"IconComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"name\": \"dlt-icon-chevron-breadcrumb\"\n },\n \"style\": {\n \"element\": \"padding: 0 .125rem;\\n color: grey;\\n font-size: 1rem;\\n vertical-align: middle;\\n line-height: 1.5;\"\n }\n },\n {\n \"name\": \"LinkComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"consumer.about.headingcomponent.heading.LBL\",\n \"current\": \"page\",\n \"type\": \"internal\",\n \"href\": \"/communities\"\n }\n }\n ]\n },\n {\n \"name\": \"HeadingComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"consumer.header.aboutcomponent.heading.LBL\",\n \"type\": 1\n },\n \"style\": {\n \"element\": \"font-weight: 300;\\n margin-bottom: 0;\\n margin-top: 0.5rem;\"\n }\n },\n {\n \"name\": \"ParagraphComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"consumer.header.aboutcomponent.subheading.LBL\"\n },\n \"style\": {\n \"element\": \"font-size: 90%;\\nline-height: 1.5;\"\n }\n },\n {\n \"name\": \"FLEXBOX\",\n \"type\": \"layout\",\n \"options\": {\n \"width\": \"100%\"\n },\n \"children\": [\n {\n \"name\": \"AboutComponent\",\n \"type\": \"widget\"\n }\n ]\n },\n {\n \"name\": \"FLEXBOX\",\n \"type\": \"layout\",\n \"options\": {\n \"direction\": \"column\"\n },\n \"children\": [\n {\n \"name\": \"HeadingComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.header.aboutcomponent.copyright.heading.LBL\",\n \"type\": 1\n },\n \"style\": {\n \"element\": \"font-weight: 300;\\n margin-bottom: 1rem;\\n margin-top: 0.5rem;\"\n }\n },\n {\n \"name\": \"ParagraphComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.footer.paragraphcomponent.copyright.LBL\"\n },\n \"style\": {\n \"element\": \"margin-bottom: 1rem;\\nfont-size: 90%;\\nline-height: 1.5;\"\n }\n },\n {\n \"name\": \"ParagraphComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.header.aboutcomponent.trademarks.LBL\"\n },\n \"style\": {\n \"element\": \"margin-bottom: 1rem;\\nfont-size: 90%;\\nline-height: 1.5;\"\n }\n },\n {\n \"name\": \"ParagraphComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.header.aboutcomponent.copyright.LBL\"\n },\n \"style\": {\n \"element\": \"margin-bottom: 1rem;\\nfont-size: 90%;\\nline-height: 1.5;\"\n }\n },\n {\n \"name\": \"ParagraphComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.header.aboutcomponent.thirdparty.LBL\"\n },\n \"style\": {\n \"element\": \"margin-bottom: 1rem;font-size: 90%;\\nline-height: 1.5;\"\n }\n },\n {\n \"name\": \"ParagraphComponent\",\n \"type\": \"widget\",\n \"options\": {\n \"key\": \"base.header.aboutcomponent.confidentiality.LBL\"\n },\n \"style\": {\n \"element\": \"font-size: 90%;\\nline-height: 1.5;\"\n }\n }\n ]\n }\n ]\n }\n]" } ] }, @@ -11180,7 +12619,7 @@ }, "response": [ { - "name": "OK", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "DELETE", "header": [ @@ -11215,20 +12654,20 @@ ] } }, - "status": "No Content", - "code": 204, - "_postman_previewlanguage": "text", + "status": "Unauthorized", + "code": 401, + "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", - "value": "text/plain" + "value": "application/json" } ], "cookie": [], - "body": "" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "The specified resource was not found", "originalRequest": { "method": "DELETE", "header": [ @@ -11263,8 +12702,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -11273,10 +12712,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { - "name": "Forbidden", + "name": "OK", "originalRequest": { "method": "DELETE", "header": [ @@ -11311,20 +12750,20 @@ ] } }, - "status": "Forbidden", - "code": 403, - "_postman_previewlanguage": "json", + "status": "No Content", + "code": 204, + "_postman_previewlanguage": "text", "header": [ { "key": "Content-Type", - "value": "application/json" + "value": "text/plain" } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "" }, { - "name": "The specified resource was not found", + "name": "Forbidden", "originalRequest": { "method": "DELETE", "header": [ @@ -11359,8 +12798,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "Forbidden", + "code": 403, "_postman_previewlanguage": "json", "header": [ { @@ -11369,7 +12808,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" } ] } @@ -11402,7 +12841,7 @@ }, "response": [ { - "name": "ok", + "name": "Forbidden", "originalRequest": { "method": "GET", "header": [ @@ -11431,8 +12870,8 @@ ] } }, - "status": "OK", - "code": 200, + "status": "Forbidden", + "code": 403, "_postman_previewlanguage": "json", "header": [ { @@ -11441,7 +12880,7 @@ } ], "cookie": [], - "body": "[\n {\n \"name\": \"about\",\n \"custom\": false\n },\n {\n \"name\": \"api-details\",\n \"custom\": false\n },\n {\n \"name\": \"api-gallery\",\n \"custom\": false\n },\n {\n \"name\": \"footer\",\n \"custom\": false\n }\n]" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { "name": "The request was unacceptable, due to invalid credentials", @@ -11486,7 +12925,7 @@ "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" }, { - "name": "Forbidden", + "name": "The specified resource was not found", "originalRequest": { "method": "GET", "header": [ @@ -11515,8 +12954,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -11525,10 +12964,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { - "name": "The specified resource was not found", + "name": "ok", "originalRequest": { "method": "GET", "header": [ @@ -11557,8 +12996,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "OK", + "code": 200, "_postman_previewlanguage": "json", "header": [ { @@ -11567,7 +13006,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "[\n {\n \"name\": \"about\",\n \"custom\": false\n },\n {\n \"name\": \"api-details\",\n \"custom\": false\n },\n {\n \"name\": \"api-gallery\",\n \"custom\": false\n },\n {\n \"name\": \"footer\",\n \"custom\": false\n }\n]" } ] } @@ -11630,7 +13069,7 @@ }, "response": [ { - "name": "Updated", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "POST", "header": [ @@ -11674,8 +13113,8 @@ ] } }, - "status": "OK", - "code": 200, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -11684,10 +13123,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 200,\n \"message\": \"Updated successfully\"\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "The specified resource was not found", "originalRequest": { "method": "POST", "header": [ @@ -11731,8 +13170,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -11741,7 +13180,7 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { "name": "Forbidden", @@ -11801,7 +13240,7 @@ "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "The specified resource was not found", + "name": "Updated", "originalRequest": { "method": "POST", "header": [ @@ -11845,8 +13284,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "OK", + "code": 200, "_postman_previewlanguage": "json", "header": [ { @@ -11855,7 +13294,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 200,\n \"message\": \"Updated successfully\"\n}" } ] }, @@ -11910,7 +13349,7 @@ }, "response": [ { - "name": "Updated", + "name": "Forbidden", "originalRequest": { "method": "PUT", "header": [ @@ -11954,8 +13393,8 @@ ] } }, - "status": "OK", - "code": 200, + "status": "Forbidden", + "code": 403, "_postman_previewlanguage": "json", "header": [ { @@ -11964,7 +13403,7 @@ } ], "cookie": [], - "body": "{\n \"code\": 200,\n \"message\": \"Updated successfully\"\n}" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { "name": "The request was unacceptable, due to invalid credentials", @@ -12024,7 +13463,7 @@ "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" }, { - "name": "Forbidden", + "name": "The specified resource was not found", "originalRequest": { "method": "PUT", "header": [ @@ -12068,8 +13507,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -12078,10 +13517,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { - "name": "The specified resource was not found", + "name": "Updated", "originalRequest": { "method": "PUT", "header": [ @@ -12125,8 +13564,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "OK", + "code": 200, "_postman_previewlanguage": "json", "header": [ { @@ -12135,7 +13574,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 200,\n \"message\": \"Updated successfully\"\n}" } ] }, @@ -12406,7 +13845,7 @@ }, "response": [ { - "name": "OK", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "DELETE", "header": [ @@ -12441,20 +13880,20 @@ ] } }, - "status": "No Content", - "code": 204, - "_postman_previewlanguage": "text", + "status": "Unauthorized", + "code": 401, + "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", - "value": "text/plain" + "value": "application/json" } ], "cookie": [], - "body": "" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "Forbidden", "originalRequest": { "method": "DELETE", "header": [ @@ -12489,8 +13928,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "Forbidden", + "code": 403, "_postman_previewlanguage": "json", "header": [ { @@ -12499,10 +13938,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "Forbidden", + "name": "The specified resource was not found", "originalRequest": { "method": "DELETE", "header": [ @@ -12537,8 +13976,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -12547,10 +13986,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { - "name": "The specified resource was not found", + "name": "OK", "originalRequest": { "method": "DELETE", "header": [ @@ -12585,17 +14024,17 @@ ] } }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", + "status": "No Content", + "code": 204, + "_postman_previewlanguage": "text", "header": [ { "key": "Content-Type", - "value": "application/json" + "value": "text/plain" } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "" } ] } @@ -12632,7 +14071,7 @@ }, "response": [ { - "name": "ok", + "name": "Forbidden", "originalRequest": { "method": "GET", "header": [ @@ -12661,8 +14100,8 @@ ] } }, - "status": "OK", - "code": 200, + "status": "Forbidden", + "code": 403, "_postman_previewlanguage": "json", "header": [ { @@ -12671,10 +14110,10 @@ } ], "cookie": [], - "body": "[\n {\n \"name\": \"two-horizontal\",\n \"custom\": false\n },\n {\n \"name\": \"three-horizontal\",\n \"custom\": false\n },\n {\n \"name\": \"composite-b\",\n \"custom\": false\n },\n {\n \"name\": \"two-vertical\",\n \"custom\": false\n }\n]" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "ok", "originalRequest": { "method": "GET", "header": [ @@ -12703,8 +14142,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "OK", + "code": 200, "_postman_previewlanguage": "json", "header": [ { @@ -12713,10 +14152,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "[\n {\n \"name\": \"two-horizontal\",\n \"custom\": false\n },\n {\n \"name\": \"three-horizontal\",\n \"custom\": false\n },\n {\n \"name\": \"composite-b\",\n \"custom\": false\n },\n {\n \"name\": \"two-vertical\",\n \"custom\": false\n }\n]" }, { - "name": "Forbidden", + "name": "The specified resource was not found", "originalRequest": { "method": "GET", "header": [ @@ -12745,8 +14184,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -12755,10 +14194,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { - "name": "The specified resource was not found", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "GET", "header": [ @@ -12787,8 +14226,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -12797,7 +14236,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" } ] } @@ -12860,7 +14299,7 @@ }, "response": [ { - "name": "Updated", + "name": "Forbidden", "originalRequest": { "method": "POST", "header": [ @@ -12904,8 +14343,8 @@ ] } }, - "status": "OK", - "code": 200, + "status": "Forbidden", + "code": 403, "_postman_previewlanguage": "json", "header": [ { @@ -12914,10 +14353,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 200,\n \"message\": \"Updated successfully\"\n}" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "The specified resource was not found", "originalRequest": { "method": "POST", "header": [ @@ -12961,8 +14400,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -12971,10 +14410,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { - "name": "Forbidden", + "name": "Updated", "originalRequest": { "method": "POST", "header": [ @@ -13018,8 +14457,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "OK", + "code": 200, "_postman_previewlanguage": "json", "header": [ { @@ -13028,10 +14467,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"code\": 200,\n \"message\": \"Updated successfully\"\n}" }, { - "name": "The specified resource was not found", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "POST", "header": [ @@ -13075,8 +14514,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -13085,7 +14524,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" } ] }, @@ -13366,7 +14805,7 @@ }, "response": [ { - "name": "Updated", + "name": "The specified resource was not found", "originalRequest": { "method": "PUT", "header": [ @@ -13404,8 +14843,8 @@ ] } }, - "status": "OK", - "code": 200, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -13414,7 +14853,7 @@ } ], "cookie": [], - "body": "{\n \"code\": 200,\n \"message\": \"Updated successfully\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { "name": "The request was unacceptable, due to invalid credentials", @@ -13519,7 +14958,7 @@ "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "The specified resource was not found", + "name": "Updated", "originalRequest": { "method": "PUT", "header": [ @@ -13557,8 +14996,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "OK", + "code": 200, "_postman_previewlanguage": "json", "header": [ { @@ -13567,7 +15006,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 200,\n \"message\": \"Updated successfully\"\n}" } ] }, @@ -13602,7 +15041,7 @@ }, "response": [ { - "name": "ok", + "name": "The specified resource was not found", "originalRequest": { "method": "GET", "header": [ @@ -13631,8 +15070,8 @@ ] } }, - "status": "OK", - "code": 200, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -13641,7 +15080,7 @@ } ], "cookie": [], - "body": "{\n \"base.name.LBL\": \"Name\",\n \"base.password.LBL\": \"Password\",\n \"base.description.LBL\": \"description\",\n \"base.summary.LBL\": \"summary\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { "name": "The request was unacceptable, due to invalid credentials", @@ -13686,7 +15125,7 @@ "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" }, { - "name": "Forbidden", + "name": "ok", "originalRequest": { "method": "GET", "header": [ @@ -13715,8 +15154,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "OK", + "code": 200, "_postman_previewlanguage": "json", "header": [ { @@ -13725,10 +15164,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"base.name.LBL\": \"Name\",\n \"base.password.LBL\": \"Password\",\n \"base.description.LBL\": \"description\",\n \"base.summary.LBL\": \"summary\"\n}" }, { - "name": "The specified resource was not found", + "name": "Forbidden", "originalRequest": { "method": "GET", "header": [ @@ -13757,8 +15196,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "Forbidden", + "code": 403, "_postman_previewlanguage": "json", "header": [ { @@ -13767,7 +15206,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" } ] } @@ -13803,7 +15242,7 @@ }, "response": [ { - "name": "OK", + "name": "The specified resource was not found", "originalRequest": { "method": "GET", "header": [ @@ -13831,8 +15270,8 @@ ] } }, - "status": "OK", - "code": 200, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -13841,10 +15280,10 @@ } ], "cookie": [], - "body": "{\n \"name\": \"Dark theme\",\n \"documentType\": \"THEME\",\n \"id\": \"14594abf-054f-4e4d-b16d-3eb8495f25dc\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "Forbidden", "originalRequest": { "method": "GET", "header": [ @@ -13872,8 +15311,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "Forbidden", + "code": 403, "_postman_previewlanguage": "json", "header": [ { @@ -13882,10 +15321,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "Forbidden", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "GET", "header": [ @@ -13913,8 +15352,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -13923,10 +15362,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" }, { - "name": "The specified resource was not found", + "name": "OK", "originalRequest": { "method": "GET", "header": [ @@ -13954,8 +15393,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "OK", + "code": 200, "_postman_previewlanguage": "json", "header": [ { @@ -13964,7 +15403,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"name\": \"Dark theme\",\n \"documentType\": \"THEME\",\n \"id\": \"14594abf-054f-4e4d-b16d-3eb8495f25dc\"\n}" } ] }, @@ -14062,7 +15501,7 @@ "body": "{\n \"code\": 200,\n \"message\": \"Theme has been updated successfully\"\n}" }, { - "name": "Bad Request", + "name": "Forbidden", "originalRequest": { "method": "PUT", "header": [ @@ -14099,8 +15538,8 @@ ] } }, - "status": "Bad Request", - "code": 400, + "status": "Forbidden", + "code": 403, "_postman_previewlanguage": "json", "header": [ { @@ -14109,10 +15548,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 400,\n \"message\": \"User provided data is not correct\",\n \"errors\": []\n}" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "The specified resource was not found", "originalRequest": { "method": "PUT", "header": [ @@ -14149,8 +15588,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -14159,10 +15598,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { - "name": "Forbidden", + "name": "Bad Request", "originalRequest": { "method": "PUT", "header": [ @@ -14199,8 +15638,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "Bad Request", + "code": 400, "_postman_previewlanguage": "json", "header": [ { @@ -14209,10 +15648,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"code\": 400,\n \"message\": \"User provided data is not correct\",\n \"errors\": []\n}" }, { - "name": "The specified resource was not found", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "PUT", "header": [ @@ -14249,8 +15688,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -14259,7 +15698,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" } ] }, @@ -14293,7 +15732,7 @@ }, "response": [ { - "name": "OK", + "name": "Forbidden", "originalRequest": { "method": "DELETE", "header": [ @@ -14321,20 +15760,20 @@ ] } }, - "status": "No Content", - "code": 204, - "_postman_previewlanguage": "text", + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", - "value": "text/plain" + "value": "application/json" } ], "cookie": [], - "body": "" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "The specified resource was not found", "originalRequest": { "method": "DELETE", "header": [ @@ -14362,8 +15801,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -14372,10 +15811,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { - "name": "Forbidden", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "DELETE", "header": [ @@ -14403,8 +15842,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -14413,10 +15852,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" }, { - "name": "The specified resource was not found", + "name": "OK", "originalRequest": { "method": "DELETE", "header": [ @@ -14444,17 +15883,17 @@ ] } }, - "status": "Not Found", - "code": 404, - "_postman_previewlanguage": "json", + "status": "No Content", + "code": 204, + "_postman_previewlanguage": "text", "header": [ { "key": "Content-Type", - "value": "application/json" + "value": "text/plain" } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "" } ] }, @@ -14554,7 +15993,7 @@ "body": "{\n \"id\": \"0392ce93-49e5-4302-9e84-7ba53431ff69\",\n \"_self\": \"/rest/v1/themes/41874e13-03d7-4cd6-9911-b96711e51cf4\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "The specified resource was not found", "originalRequest": { "method": "PUT", "header": [ @@ -14592,8 +16031,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -14602,7 +16041,7 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { "name": "Forbidden", @@ -14656,7 +16095,7 @@ "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "The specified resource was not found", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "PUT", "header": [ @@ -14694,8 +16133,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -14704,7 +16143,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" } ] }, @@ -14739,7 +16178,7 @@ }, "response": [ { - "name": "ok", + "name": "The specified resource was not found", "originalRequest": { "method": "POST", "header": [ @@ -14768,8 +16207,8 @@ ] } }, - "status": "OK", - "code": 200, + "status": "Not Found", + "code": 404, "_postman_previewlanguage": "json", "header": [ { @@ -14778,7 +16217,7 @@ } ], "cookie": [], - "body": "{\n \"code\": 200,\n \"message\": \"Theme has been activated\"\n}" + "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" }, { "name": "The request was unacceptable, due to invalid credentials", @@ -14865,7 +16304,7 @@ "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "The specified resource was not found", + "name": "ok", "originalRequest": { "method": "POST", "header": [ @@ -14894,8 +16333,8 @@ ] } }, - "status": "Not Found", - "code": 404, + "status": "OK", + "code": 200, "_postman_previewlanguage": "json", "header": [ { @@ -14904,7 +16343,7 @@ } ], "cookie": [], - "body": "{\n \"status\": 404,\n \"message\": \"Unable to find the theme\"\n}" + "body": "{\n \"code\": 200,\n \"message\": \"Theme has been activated\"\n}" } ] }, @@ -14939,7 +16378,7 @@ }, "response": [ { - "name": "file with zipped theme content (component, file, i18n, layout, page, style)", + "name": "Forbidden", "originalRequest": { "method": "POST", "header": [ @@ -14968,20 +16407,20 @@ ] } }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "text", + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", - "value": "application/octet-stream" + "value": "application/json" } ], "cookie": [], - "body": "Lorem esse dolor deserunt" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "file with zipped theme content (component, file, i18n, layout, page, style)", "originalRequest": { "method": "POST", "header": [ @@ -15010,20 +16449,20 @@ ] } }, - "status": "Unauthorized", - "code": 401, - "_postman_previewlanguage": "json", + "status": "OK", + "code": 200, + "_postman_previewlanguage": "text", "header": [ { "key": "Content-Type", - "value": "application/json" + "value": "application/octet-stream" } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "Lorem esse dolor deserunt" }, { - "name": "Forbidden", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "POST", "header": [ @@ -15052,8 +16491,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -15062,7 +16501,7 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" } ] }, @@ -15112,7 +16551,7 @@ }, "response": [ { - "name": "No content", + "name": "Forbidden", "originalRequest": { "method": "POST", "header": [ @@ -15151,20 +16590,20 @@ ] } }, - "status": "OK", - "code": 200, - "_postman_previewlanguage": "text", + "status": "Forbidden", + "code": 403, + "_postman_previewlanguage": "json", "header": [ { "key": "Content-Type", - "value": "text/plain" + "value": "application/json" } ], "cookie": [], - "body": "" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { - "name": "Zip file content is larger.", + "name": "No content", "originalRequest": { "method": "POST", "header": [ @@ -15203,17 +16642,17 @@ ] } }, - "status": "Bad Request", - "code": 400, - "_postman_previewlanguage": "json", + "status": "OK", + "code": 200, + "_postman_previewlanguage": "text", "header": [ { "key": "Content-Type", - "value": "application/json" + "value": "text/plain" } ], "cookie": [], - "body": "{\n \"code\": 400,\n \"message\": \"The zip file content is larger than the maximum allowed size\"\n}" + "body": "" }, { "name": "The request was unacceptable, due to invalid credentials", @@ -15268,7 +16707,7 @@ "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" }, { - "name": "Forbidden", + "name": "Zip file content is larger.", "originalRequest": { "method": "POST", "header": [ @@ -15307,8 +16746,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "Bad Request", + "code": 400, "_postman_previewlanguage": "json", "header": [ { @@ -15317,7 +16756,7 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"code\": 400,\n \"message\": \"The zip file content is larger than the maximum allowed size\"\n}" } ] } @@ -15357,7 +16796,7 @@ }, "response": [ { - "name": "OK", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "GET", "header": [ @@ -15387,8 +16826,8 @@ ] } }, - "status": "OK", - "code": 200, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -15397,10 +16836,10 @@ } ], "cookie": [], - "body": "{\n \"result\": [\n {\n \"name\": \"Theme one\",\n \"documentType\": \"THEME\",\n \"id\": \"14594abf-054f-4e4d-b16d-3eb8495f25dc\"\n },\n {\n \"name\": \"DEFAULT\",\n \"documentType\": \"THEME\",\n \"id\": \"5535a71b-01ef-47b7-b813-922655ba788c\"\n }\n ],\n \"count\": 2,\n \"_links\": {\n \"_self\": \"rest/v1/themes?page=0\",\n \"_next\": \"rest/v1/themes?page=1\"\n }\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "OK", "originalRequest": { "method": "GET", "header": [ @@ -15430,8 +16869,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "OK", + "code": 200, "_postman_previewlanguage": "json", "header": [ { @@ -15440,7 +16879,7 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"result\": [\n {\n \"name\": \"Theme one\",\n \"documentType\": \"THEME\",\n \"id\": \"14594abf-054f-4e4d-b16d-3eb8495f25dc\"\n },\n {\n \"name\": \"DEFAULT\",\n \"documentType\": \"THEME\",\n \"id\": \"5535a71b-01ef-47b7-b813-922655ba788c\"\n }\n ],\n \"count\": 2,\n \"_links\": {\n \"_self\": \"rest/v1/themes?page=0\",\n \"_next\": \"rest/v1/themes?page=1\"\n }\n}" }, { "name": "Forbidden", @@ -15523,7 +16962,7 @@ }, "response": [ { - "name": "Created", + "name": "Forbidden", "originalRequest": { "method": "POST", "header": [ @@ -15552,8 +16991,8 @@ ] } }, - "status": "Created", - "code": 201, + "status": "Forbidden", + "code": 403, "_postman_previewlanguage": "json", "header": [ { @@ -15562,7 +17001,7 @@ } ], "cookie": [], - "body": "{\n \"id\": \"0392ce93-49e5-4302-9e84-7ba53431ff69\",\n \"_self\": \"/rest/v1/themes/41874e13-03d7-4cd6-9911-b96711e51cf4\"\n}" + "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" }, { "name": "Bad Request", @@ -15607,7 +17046,7 @@ "body": "{\n \"code\": 400,\n \"message\": \"User provided data is not correct\",\n \"errors\": []\n}" }, { - "name": "The request was unacceptable, due to invalid credentials", + "name": "Created", "originalRequest": { "method": "POST", "header": [ @@ -15636,8 +17075,8 @@ ] } }, - "status": "Unauthorized", - "code": 401, + "status": "Created", + "code": 201, "_postman_previewlanguage": "json", "header": [ { @@ -15646,10 +17085,10 @@ } ], "cookie": [], - "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" + "body": "{\n \"id\": \"0392ce93-49e5-4302-9e84-7ba53431ff69\",\n \"_self\": \"/rest/v1/themes/41874e13-03d7-4cd6-9911-b96711e51cf4\"\n}" }, { - "name": "Forbidden", + "name": "The request was unacceptable, due to invalid credentials", "originalRequest": { "method": "POST", "header": [ @@ -15678,8 +17117,8 @@ ] } }, - "status": "Forbidden", - "code": 403, + "status": "Unauthorized", + "code": 401, "_postman_previewlanguage": "json", "header": [ { @@ -15688,7 +17127,7 @@ } ], "cookie": [], - "body": "{\n \"code\": 403,\n \"message\": \"Insufficient privileges\"\n}" + "body": "{\n \"code\": 401,\n \"message\": \"Invalid credentials\"\n}" } ] } diff --git a/apis/10.11/openapis/analytics.yaml b/apis/openapis/analytics.yaml similarity index 100% rename from apis/10.11/openapis/analytics.yaml rename to apis/openapis/analytics.yaml diff --git a/apis/10.11/openapis/apis.yaml b/apis/openapis/apis.yaml similarity index 97% rename from apis/10.11/openapis/apis.yaml rename to apis/openapis/apis.yaml index c3529a0..765ee8e 100644 --- a/apis/10.11/openapis/apis.yaml +++ b/apis/openapis/apis.yaml @@ -17,6 +17,7 @@ info: - Modify API using the Swagger/OpeanAPI/RAML/WSDL file - Modify API using the external URL API Definition - Modify API using the API Definition + - Modify the state of API - Retrieve the publish status of an API - Delete an particular API - Export an API @@ -2132,6 +2133,32 @@ paths: parameters: - $ref: '#/components/parameters/apiId' + '/apis/{id}/state': + put: + summary: Modify the state of the API + description: Endpoint can be used to update the state of the given API + parameters: + - $ref: '#/components/parameters/apiId' + - name: targetState + in: query + description: Target state + required: true + schema: + type: string + responses: + 200: + $ref: '#/components/responses/UpdateStateResponse' + 400: + $ref: '#/components/responses/InvalidStateUpdate' + 401: + $ref: '#/components/responses/Unauthorized' + 403: + $ref: '#/components/responses/Forbidden' + 404: + $ref: '#/components/responses/NotFound' + + + components: securitySchemes: accesstoken: @@ -2221,6 +2248,15 @@ components: examples: UpdatePreference: $ref: '#/components/examples/UpdatePreference' + UpdateStateResponse: + description: Update state response + content: + application/json: + schema: + $ref: '#/components/schemas/UpdationResponse' + examples: + UpdateState: + $ref: '#/components/examples/UpdateState' CreationResponse: description: The response when an entity is created successfully content: @@ -2230,6 +2266,15 @@ components: examples: CreationResponse: $ref: '#/components/examples/CreatedResponse' + InvalidStateUpdate: + description: Invalid state update + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + InvalidStateUpdate: + $ref: '#/components/examples/InvalidStateUpdate' schemas: CreatedResponse: @@ -3080,6 +3125,14 @@ components: namespaceUri: type: object additionalProperties: true + customHeader: + type: object + properties: + namespaceUri: + type: object + additionalProperties: true + headerContent: + type: string security: type: object properties: @@ -3090,9 +3143,23 @@ components: type: string password: type: string - required: - - username - - password + required: + - username + - password + addnonce: + type: boolean + addcreate: + type: boolean + passwordType: + type: string + enum: + - PASSWORD_TEXT + - PASSWORD_DIGEST + wssSamlAssertion: + type: object + properties: + assertion: + type: string required: - request_type - payload @@ -3192,41 +3259,41 @@ components: - OPTIONS - SOAP11 - SOAP1 - PatchDefinition: - type: object - properties: - insert: - type: array - items: - $ref: '#/components/schemas/PatchStep' - update: - type: array - items: - $ref: '#/components/schemas/PatchStep' - delete: - type: array - items: - $ref: '#/components/schemas/PatchStep' - PatchStep: - type: object - properties: - attribute: - type: string - oneOf: - - enum: - - NAME - - SUMMARY - - DESCRIPTION - - ICON - - TAG - - CATEGORIES - - BUSINESS_TERMS - - MATURITY_STATUS - - ATTACHMENT - locale: - type: string - value: - type: string + PatchDefinition: + type: object + properties: + insert: + type: array + items: + $ref: '#/components/schemas/PatchStep' + update: + type: array + items: + $ref: '#/components/schemas/PatchStep' + delete: + type: array + items: + $ref: '#/components/schemas/PatchStep' + PatchStep: + type: object + properties: + attribute: + type: string + oneOf: + - enum: + - NAME + - SUMMARY + - DESCRIPTION + - ICON + - TAG + - CATEGORIES + - BUSINESS_TERMS + - MATURITY_STATUS + - ATTACHMENT + locale: + type: string + value: + type: string examples: CreatedResponse: @@ -3247,6 +3314,14 @@ components: value: code: 200 message: Preferences updated successfully + UpdateState: + value: + code: 200 + message: Lifecycle state is updated successfully + InvalidStateUpdate: + value: + code: 400 + message: Invalid state transition from 'RETIRED' state to 'LIVE' state 401: value: code: 401 @@ -3467,6 +3542,15 @@ components: wssUserToken: username: Administrator password: manage + addnonce: true + addcreate: true + passwordType: PASSWORD_TEXT + wssSamlAssertion: + assertion: ...... + customHeader: + - namespaceUri: + tem: 'http://tempuri.org' + headerContent: ... type: SOAP RestTryRequest: value: diff --git a/apis/10.12/openapis/applications.yaml b/apis/openapis/applications.yaml similarity index 100% rename from apis/10.12/openapis/applications.yaml rename to apis/openapis/applications.yaml diff --git a/apis/10.11/openapis/approvals.yaml b/apis/openapis/approvals.yaml similarity index 100% rename from apis/10.11/openapis/approvals.yaml rename to apis/openapis/approvals.yaml diff --git a/apis/10.11/openapis/backup-restore.yaml b/apis/openapis/backup-restore.yaml similarity index 100% rename from apis/10.11/openapis/backup-restore.yaml rename to apis/openapis/backup-restore.yaml diff --git a/apis/10.11/openapis/comment.yaml b/apis/openapis/comment.yaml similarity index 100% rename from apis/10.11/openapis/comment.yaml rename to apis/openapis/comment.yaml diff --git a/apis/10.11/openapis/communities.yaml b/apis/openapis/communities.yaml similarity index 100% rename from apis/10.11/openapis/communities.yaml rename to apis/openapis/communities.yaml diff --git a/apis/10.12/openapis/configurations.yaml b/apis/openapis/configurations.yaml similarity index 89% rename from apis/10.12/openapis/configurations.yaml rename to apis/openapis/configurations.yaml index 3bc40e0..174c1d5 100644 --- a/apis/10.12/openapis/configurations.yaml +++ b/apis/openapis/configurations.yaml @@ -67,6 +67,9 @@ info: ## Application state - Toggle the state of application between QUIESCE and NORMAL mode + ## CORS + - Allows to configure the CORS origins supported by the system. + ## Authorization Users with role **Administrator** can only perform the configuration settings. @@ -333,7 +336,31 @@ paths: '401': $ref: '#/components/responses/Unauthorized' '403': - $ref: '#/components/responses/Forbidden' + $ref: '#/components/responses/Forbidden' + + '/configurations/lcm': + get: + tags: + - LCM + summary: Gets the lifecycle model of an object type + parameters: + - name: "type" + in: "query" + description: Object type for which the lifecycle model is defined for. + required: true + schema: + type: string + default: "API" + + responses: + '200': + $ref: '#/components/responses/LifecycleModel' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + + '/configurations/ldap_connection/{id}': get: @@ -636,6 +663,60 @@ paths: '400': $ref: '#/components/responses/BadRequest' + '/configurations/cors_settings': + get: + tags: + - CORS + summary: Retrieve CORS Origins settings configuration + responses: + '200': + $ref: '#/components/responses/cors_settings' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + post: + tags: + - CORS + summary: Create CORS Origins setting configuration + requestBody: + description: CORS Origins settings configuration payload + content: + application/json: + schema: + $ref: '#/components/schemas/Configuration' + examples: + cors_settings: + $ref: '#/components/examples/cors_settings' + responses: + '201': + $ref: '#/components/responses/CreatedResponse' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + + put: + tags: + - CORS + summary: Update CORS Origins setting configuration + requestBody: + description: CORS Origins settings configuration payload + content: + application/json: + schema: + $ref: '#/components/schemas/Configuration' + examples: + cors_settings: + $ref: '#/components/examples/cors_settings' + responses: + '200': + $ref: '#/components/responses/ConfigurationResponse' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + components: schemas: CreatedResponse: @@ -665,6 +746,50 @@ components: type: array items: $ref: '#/components/schemas/ConfigurationEntry' + + LifecycleModel: + type: object + properties: + name: + type: string + description: name of the lifecycle model + + description: + type: string + description: detailed description of the lifecycle model + + states: + type: array + items: + $ref: '#/components/schemas/LifecycleState' + + initialState: + type: string + description: initial state of the lifecyle model + + activeState: + type: string + description: active state of the lifecycle model + + LifecycleState: + type: object + properties: + name: + type: string + description: name of the lifecycle state + + description: + type: string + description: detailed description of the lifecycle state + + nextState: + type: array + description: list of lifecycle state which are allowed to move from this lifecycle state + items: + type: string + + + Error: required: - code @@ -809,6 +934,16 @@ components: examples: ldap_settings: $ref: '#/components/examples/ldap_settings' + + cors_settings: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/Configuration' + examples: + cors_settings: + $ref: '#/components/examples/cors_settings' ldap_connection: description: '' content: @@ -826,7 +961,17 @@ components: $ref: '#/components/schemas/Configuration' examples: general_configuration: - $ref: '#/components/examples/general_configuration' + $ref: '#/components/examples/general_configuration' + LifecycleModel: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/LifecycleModel' + examples: + general_lcm: + $ref: '#/components/examples/LifecycleModel' + ConfigurationResponse: description: '' @@ -1104,6 +1249,14 @@ components: value: 'false' - key: LDAP_CONNECTION_COUNT value: '0' + + cors_settings: + value: + - category: CORS_SETTINGS + properties: + - key: cors_origins + value: 'http://myserver:7777, https://remote-developer-portal-server.com' + saml_configuration: value: - category: SAML @@ -1233,6 +1386,28 @@ components: - key: KERBEROS_VALIDATE_USERNAME value: 'false' + LifecycleModel: + value: + name: API LifeCycle Model + description: LifeCycle Model for APIs (REST,SOAP and ODATA) and its dependents like + Resources, Methods, Operations and Structures + states: + - name: DRAFT + description: '' + nextStates: + - LIVE + - RETIRED + - name: LIVE + description: '' + nextStates: + - DRAFT + - RETIRED + - name: RETIRED + description: '' + nextStates: [ ] + initialState: DRAFT + activeState: LIVE + welcome_email_template: value: diff --git a/apis/openapis/customassetinstance.yaml b/apis/openapis/customassetinstance.yaml new file mode 100644 index 0000000..d37e88c --- /dev/null +++ b/apis/openapis/customassetinstance.yaml @@ -0,0 +1,1035 @@ +openapi: 3.0.1 +info: + title: Portal Manage Custom Asset Instances + version: "10.15" + description: |- + ## Overview + Developer Portal allows to publish/create an instance of the type definition which is alread created in the system. + + This endpoint provides Custom Asset Instance management capability of an Developer Portal. Following functionalities can be achieved byt using this endpoint, + + ## Custom Asset Instance CRUD + - Create custom asset instance + - Modify custom asset instance + - Delete an custom asset instance + + ## Custom Asset Instance search + - Retrieive all custom asset instance of particular type + - Get number of custom asset instance of particular type + - Retrieve the custom asset instance based on search criteria + - Retrieve the particular custom asset instance + + ## Custom Asset Instance collobration information + - Follow an custom asset instance + - Retrieve the followers count for an custom asset instance + - Retrieve the followers of an custom asset instance + - Rate an custom asset + +servers: + - url: http://localhost:18101/portal/rest/v1 + description: Development server + +paths: + "/types/{type}/instances": + parameters: + - name: type + in: path + schema: + type: string + required: true + description: Unique type id of the custom asset + example: ticket + get: + summary: Retrieve all the custom asset instance of given type in Developer Portal + description: |- + Endpoint to retrieve the list of all custom asset instance of given type in Developer Portal + parameters: + - name: page + in: query + description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. + required: false + schema: + type: integer + default: 0 + - name: limit + in: query + description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. + required: false + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResponse' + example: |- + { + "result": [ + { + "name": "obj1", + "owner": "200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4", + "id": "59ec3066-c2cc-4e4b-a802-b8df18808445", + "modified": "2022-04-18T12:36+0000", + "created": "2022-04-18T12:36+0000", + "follower": false, + "Priority": 1, + "Content": "Issue in API", + "Title": "Ticket1" + } + ], + "count": 1, + "_links": { + "_self": "/portal/rest/v1/types/ticket/instances/?page=0" + } + } + '403': + $ref: '#/components/responses/Forbidden' + '401': + $ref: '#/components/responses/Unauthorized' + post: + summary: Create an custom asset instance of given type in Developer Portal + description: |- + Endpoint to create an custom asset instance of given type in Developer Portal + + *Endpoint can be accessed only by a user having **Administrator** or **Provider** role* + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Name of an Custom asset instance can be provided. It is mandatory. + example: Ticket-2300 + description: + type: string + description: Description of an Custom asset instance can be provided. + summary: + type: string + description: Summary of an Custom asset instance can be provided. + tags: + type: array + description: Name of an Custom asset instance can be provided. + example: Ticket-2300 + items: + type: object + version: + type: string + description: Version of an Custom asset instance. + Field1: + type: string + description: The key1 is a sample. It should be replaced with the actual field name from type definition + + examples: + Sample Ticket: + value: |- + { + "name": "Ticket-2300", + "Title": "API Gallery page issue", + "Content": "Issue in API", + "Priority": 1, + "Project": ["DPO", "Server"] + } + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + id: + type: string + _self: + type: string + examples: + created: + value: + id: c98d046b-1356-4216-8904-d89035ea66df + _self: /rest/v1/apis/c98d046b-1356-4216-8904-d89035ea66df + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + 400: + $ref: '#/components/examples/400' + + '/types/{type}/instances/_count': + parameters: + - name: type + in: path + schema: + type: string + required: true + description: Unique type id of the custom asset + example: ticket + get: + summary: Retrieve the count of Custom asset instances of given type in Developer Portal + description: |- + Endpoint to get the number of Custom asset instances of given type in Developer Portal + responses: + '200': + description: Retrieval of Count of Custom asset instances Successful + content: + plain/text: + example: 10 + + '/types/{type}/instances/{id}': + parameters: + - name: type + in: path + schema: + type: string + required: true + description: Unique type id of the custom asset + example: ticket + - name: id + in: path + schema: + type: string + required: true + description: Unique custom asset instance id + get: + summary: Retrieve an custom asset instance by an ID + description: |- + Endpoint to obtain details of particular custom asset instance of given type based on ID + + *Endpoint can be accessed only by a user having **READ** permission* + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/Instance' + examples: + 200: + $ref: '#/components/examples/Instance' + + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + updated: + summary: Example + value: + code: 404 + message: Unable to find the requested instance + '403': + $ref: '#/components/responses/Forbidden' + '401': + $ref: '#/components/responses/Unauthorized' + + put: + summary: Update an Custom asset instance of given type in Developer Portal + description: |- + Endpoint to modify an custom asset instance in an Developer Portal. + + *Endpoint can be accessed only by a user having **Administrator** or **Provider** role* + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Instance' + examples: + 200: + $ref: '#/components/examples/Instance' + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/Instance' + examples: + 200: + $ref: '#/components/examples/Instance' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + 400: + $ref: '#/components/examples/400' + + delete: + summary: Delete an Custom asset instance of given type by an ID + description: |- + Endpoint to delete an Custom asset instance of given type by an ID in an Developer Portal. + + *Endpoint can be accessed only by a user having **Administrator** or **Provider** role* + responses: + '204': + description: 'No content' + + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + updated: + summary: Example + value: + code: 404 + message: Unable to find the requested instance + + '/types/{type}/instances/{id}/topics': + parameters: + - name: type + in: path + schema: + type: string + required: true + description: Unique type id of the custom asset + example: ticket + - name: id + in: path + schema: + type: string + required: true + description: Unique custom asset instance id + - name: page + in: query + description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. + required: false + schema: + type: integer + default: 0 + - name: limit + in: query + description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. + required: false + schema: + type: integer + get: + summary: Gets the Topics created for the custom asset + description: |- + Endpoint to obtain list of topics that are created for the custom asset + + *Endpoint can be accessed only by a user having **READ** permission for the particualr custom asset* + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResponseTopics' + examples: + 200: + $ref: '#/components/examples/SearchResponseTopicSummary' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + updated: + summary: Example + value: + code: 404 + message: Unable to find the requested API + + '/types/{type}/instances/{id}/followers': + parameters: + - name: type + in: path + schema: + type: string + required: true + description: Unique type id of the custom asset + example: ticket + - name: id + in: path + schema: + type: string + required: true + description: Unique custom asset instance id + get: + summary: Get followers of an custom asset intance + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + result: + type: array + items: + type: object + properties: + firstname: + type: string + lastname: + type: string + picture: + type: string + id: + type: string + count: + type: number + links: + type: object + properties: + _self: + type: string + _next: + type: string + _previous: + type: string + examples: + Followers: + value: + result: + - id: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 + firstname: Administrator + lastname: System + pictureUrl: null + count: 1 + _links: + _self: /rest/v1/types/ticket/instances/0938f456-d34f-49ea-8a32-dc72ee13a8a3/followers?page=0 + description: |- + Endpoint to obtain followers list of an custom asset instance + put: + summary: Follow/ Un-Follow custom asset instance + description: |- + Endpoint to follow or unfollow an custom asset instance + + responses: + '200': + description: 'The response when the follow/ un-follow is successfully' + content: + application/json: + schema: + $ref: '#/components/schemas/UpdationResponse' + examples: + updated: + summary: Example + value: + code: 200 + message: Follow entity successful + + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + description: 'The response when the requested custom asset instance is not found in Developer Portal' + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + updated: + summary: Example + value: + code: 404 + message: Unable to find the instance with id [fefcfc8f-0a77-4976-b5aasd4-eeaa53884f3b] + + '/types/{type}/instances/{id}/followers/_count': + parameters: + - name: type + in: path + schema: + type: string + required: true + description: Unique type id of the custom asset + example: ticket + - name: id + in: path + schema: + type: string + required: true + description: Unique custom asset instance id + get: + summary: Retrieve the count of followers for an custom asset instance + responses: + '200': + description: OK + content: + application/json: + schema: + type: number + description: Number of followers in the custom asset instance + example: + 3 + description: |- + Endpoint to get the number of followers fo an custom asset instance + + '/types/{type}/instances/{id}/rate': + parameters: + - name: type + in: path + schema: + type: string + required: true + description: Unique type id of the custom asset + example: ticket + - name: id + in: path + schema: + type: string + required: true + description: Unique custom asset instance id + put: + summary: Rate an Custom asset + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RatingRequest' + examples: + RatingRequest: + $ref: '#/components/examples/RatingRequest' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/RatingResponse' + examples: + RatingResponse: + $ref: '#/components/examples/RatingResponse' + description: |- + Endpoint to rate an custom asset + + *Endpoint can be accessed only by a user having **CUSTOM ASSET READ** permission* + get: + summary: Get the rating for an Custom asset + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/RatingResponse' + examples: + RatingResponse: + $ref: '#/components/examples/RatingResponse' + description: |- + Endpoint to get rating of an Custom asset + + *Endpoint can be accessed only by a user having **CUSTOM ASSET READ** permission* + + '/types/{type}/instances/search': + parameters: + - name: type + in: path + schema: + type: string + required: true + description: Unique type id of the custom asset + example: ticket + post: + parameters: + - name: page + in: query + description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. + required: false + schema: + type: integer + default: 0 + - name: limit + in: query + description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. + required: false + schema: + type: integer + summary: Search Custom asset instances of given type based on filter + description: |- + Endpoint to obtain search custom asset instances based on the filter criterias + + *Endpoint can be accessed only by a user having **READ** permission* + requestBody: + description: Payload for search + content: + application/json: + schema: + type: object + properties: + conjuction: + type: string + description: Condition for filters + enum: + - AND + - OR + - NOT + - MUST_NOT + criterias: + type: array + items: + type: object + properties: + field: + type: string + values: + type: array + items: + type: string + opertaion: + type: string + enum: + - CONTAINS + - EQUALS + sort: + type: array + items: + type: object + properties: + name: + type: string + order: + type: string + enum: + - ASC + - DSC + examples: + SearchPayload: + value: + conjunction: AND + criterias: + - field: Name + values: + - 1203* + operation: EQUALS + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResponse' + example: |- + { + "result": [ + { + "name": "Ticket-2300", + "owner": "200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4", + "id": "59ec3066-c2cc-4e4b-a802-b8df18808445", + "modified": "2022-04-19T11:27+0000", + "follower": false, + "Priority": 1, + "Content": "Issue in API", + "Title": "API Gallery page issue" + }, + { + "name": "Ticket-2301", + "owner": "200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4", + "id": "db1ec2c5-a1bd-483b-97f4-d0ab6139dee0", + "modified": "2022-04-19T11:35+0000", + "follower": false, + "Priority": 1, + "Content": "Issue in API", + "Title": "API Gallery page issue" + } + ], + "count": 2, + "_links": { + "_self": "/portal/rest/v1/types/ticket/instances/?page=0" + } + } + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + + '/types/{type}/instances/{id}/logo': + parameters: + - name: type + in: path + schema: + type: string + required: true + description: Unique type id of the custom asset + example: ticket + - name: id + in: path + schema: + type: string + required: true + description: Unique custom asset instance id + put: + summary: Update the logo of the given custom asset instance + description: Endpoint that is used to update the logo of the given custom asset instance + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + file: + type: object + description: New Logo of the custom asset instance to be uploaded. + example: | + ------WebKitFormBoundaryWh7YIEN5mdUWFbkh + Content-Disposition: form-data; name="file"; filename="Logo.jpg" + Content-Type: image/jpeg + + + ------WebKitFormBoundaryWh7YIEN5mdUWFbkh-- + responses: + '200': + $ref: '#/components/responses/CreationResponse' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + + '/types/{type}/instances/{id}/attachments': + parameters: + - name: type + in: path + schema: + type: string + required: true + description: Unique type id of the custom asset + example: ticket + - name: id + in: path + schema: + type: string + required: true + description: Unique custom asset instance id + put: + summary: Update the attachments of the given custom asset instance + description: Endpoint that is used to update the attachments of the given custom asset instance + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + file: + type: object + description: New attachment of the custom asset instance to be uploaded. + example: | + ------WebKitFormBoundaryWh7YIEN5mdUWFbkh + Content-Disposition: form-data; name="file"; filename="Spec.json" + Content-Type: application/json + + + ------WebKitFormBoundaryWh7YIEN5mdUWFbkh-- + responses: + '200': + $ref: '#/components/responses/CreationResponse' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + + '/types/{type}/instances/files': + parameters: + - name: type + in: path + schema: + type: string + required: true + description: Unique type id of the custom asset + example: ticket + put: + summary: Upload the file to get unique id which can be used during instance creation + description: Endpoint that is used to Upload the file to get unique id which can be used during instance creation + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + file: + type: object + description: New attachment of the custom asset instance to be uploaded. + example: | + ------WebKitFormBoundaryWh7YIEN5mdUWFbkh + Content-Disposition: form-data; name="file"; filename="Spec.json" + Content-Type: application/json + + + ------WebKitFormBoundaryWh7YIEN5mdUWFbkh-- + responses: + '200': + $ref: '#/components/responses/CreationResponse' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/NotFound' + + +components: + responses: + Unauthorized: + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + 401: + $ref: '#/components/examples/401' + Forbidden: + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + 403: + $ref: '#/components/examples/403' + NotFound: + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + 404: + $ref: '#/components/examples/404' + SearchResponse: + description: ok + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResponse' + CreationResponse: + description: The response when an entity is created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedResponse' + examples: + CreationResponse: + $ref: '#/components/examples/CreatedResponse' + + schemas: + CreatedResponse: + type: object + properties: + id: + description: Identifier of the newly created object + type: string + _self: + description: Self reference of the newly created object + type: string + UpdationResponse: + type: object + properties: + code: + type: integer + message: + type: string + RatingRequest: + type: object + properties: + rating: + type: integer + RatingResponse: + type: object + properties: + total: + type: integer + average: + type: number + format: double + rating: + type: number + format: double + SearchResponse: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/Instance' + count: + type: integer + _links: + type: object + additionalProperties: + type: string + SearchResponseTopics: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/Topic' + count: + type: integer + _links: + type: object + additionalProperties: + type: string + Error: + type: object + properties: + code: + type: integer + message: + type: string + Instance: + allOf: + - type: object + properties: + name: + type: string + description: Name of an Custom asset instance can be provided. It is mandatory. + example: Ticket-2300 + description: + type: string + description: Description of an Custom asset instance can be provided. + summary: + type: string + description: Summary of an Custom asset instance can be provided. + tags: + type: array + description: Name of an Custom asset instance can be provided. + example: Ticket-2300 + items: + type: object + version: + type: string + description: Version of an Custom asset instance. + Field1: + type: string + description: The key1 is a sample. It should be replaced with the actual field name from type definition + Topic: + type: object + required: + - name + properties: + owner: + type: string + id: + type: string + modified: + type: string + created: + type: string + flagged: + type: boolean + content: + type: object + properties: + value: + type: string + type: + type: string + comments: + type: integer + pinned: + type: boolean + stream: + type: object + properties: + type: + type: string + id: + type: string + tags: + type: array + items: + type: string + + examples: + CreatedResponse: + value: + id: 52c0b766-8bdc-4932-93f2-c7bcb8a16750 + _self: /rest/v1/files/52c0b766-8bdc-4932-93f2-c7bcb8a16750 + RatingRequest: + value: + rating: 3 + RatingResponse: + value: + total: 3 + average: 3.5 + rating: 4 + UpdatePreference: + value: + code: 200 + message: Preferences updated successfully + 401: + value: + code: 401 + message: Invalid credentials + 403: + value: + code: 403 + message: Insufficient privileges + 404: + value: + code: 404 + message: Unable to find the requested instance + 400: + value: + code: 400 + message: JSON Parse error + Instance: + value: + { + "name": "Ticket-2300", + "Title": "API Gallery page issue", + "Content": "Issue in API", + "Priority": 1, + "Project": ["DPO", "Server"] + } + SearchResponseTopicSummary: + value: + result: + - owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 + id: 8e38ee64-2306-4208-823a-ac9aab5cc43b + modified: 1617013155719 + created: 1617013155719 + flagged: false + stream: + type: CUSTOM_ASSET + id: d6376456-9d08-4a3e-b44d-7f40bb206d51 + content: + value: '{"ops":[{"insert":"TestTopic2\n"}]}' + type: rich + pinned: false + person: + id: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 + firstName: Administrator + lastName: System + comments: 0 + count: 1 + _links: + _self: /rest/v1/apis/cb996fe0-95c5-4ba3-8212-148ddd99c15b/topics?page=0 diff --git a/apis/10.12/openapis/events.yaml b/apis/openapis/events.yaml similarity index 98% rename from apis/10.12/openapis/events.yaml rename to apis/openapis/events.yaml index 6c7fbf9..e06c33b 100644 --- a/apis/10.12/openapis/events.yaml +++ b/apis/openapis/events.yaml @@ -131,6 +131,12 @@ info: - CRON_EXECUTION_EVENT - When an internal regular interval system jobs are executed then CRON_EXECUTION_EVENT will be recorded for an audit purpose. + - LIFE_CYCLE_STATE_CHANGE_EVENT + - When an asset (API/Package) moved from current state to another target state then LIFE_CYCLE_STATE_CHANGE_EVENT will be recorder for an audit purpose. + + - FEATURE_CHANGE_EVENT + - When Lifecycle management feature is enabled or disabled the FEATURE_CHANGE_EVENT will be recorded for an audit pupose. + --- ## UMC Events - LOGIN_SUCCESSFUL @@ -380,6 +386,8 @@ components: - COMMENT_DELETION_EVENT - SIGN_UP_EVENT - CRON_EXECUTION_EVENT + - LIFE_CYCLE_STATE_CHANGE_EVENT + - FEATURE_CHANGE_EVENT UmcEvents: type: string description: List of UMC audit events diff --git a/apis/10.12/openapis/health.yaml b/apis/openapis/health.yaml similarity index 76% rename from apis/10.12/openapis/health.yaml rename to apis/openapis/health.yaml index 8a07bb3..8ee16fd 100644 --- a/apis/10.12/openapis/health.yaml +++ b/apis/openapis/health.yaml @@ -8,6 +8,7 @@ info: ## Functionalities supported - Get the build information of the application. - Get the metrics related to the application. + - Get the metrics related to the application understadable by Prometheus. - Get environment properties of the application. - Get health of application and its dependant components. - K8s readiness and liveness probe support @@ -47,6 +48,18 @@ paths: '401': $ref: '#/components/responses/Unauthorized' + '/prometheus': + get: + tags: + - metrics + summary: Get the application metrics + description: Get the application metrics that can be consumed by prometheus + responses: + '200': + $ref: '#/components/responses/Prometheus' + '401': + $ref: '#/components/responses/Unauthorized' + '/health': get: tags: @@ -199,6 +212,45 @@ components: type: string examples: + Prometheus: + value: |- + tomcat_servlet_request_seconds_count{name="default",} 0.0 + tomcat_servlet_request_seconds_sum{name="default",} 0.0 + tomcat_servlet_request_seconds_count{name="Status",} 0.0 + tomcat_servlet_request_seconds_sum{name="Status",} 0.0 + tomcat_servlet_request_seconds_count{name="JMXProxy",} 0.0 + tomcat_servlet_request_seconds_sum{name="JMXProxy",} 0.0 + tomcat_servlet_request_seconds_count{name="jsp",} 0.0 + tomcat_servlet_request_seconds_sum{name="jsp",} 0.0 + tomcat_servlet_request_seconds_count{name="dispatcherServlet",} 15.0 + tomcat_servlet_request_seconds_sum{name="dispatcherServlet",} 8.186 + tomcat_servlet_request_seconds_count{name="HTMLManager",} 0.0 + tomcat_servlet_request_seconds_sum{name="HTMLManager",} 0.0 + tomcat_servlet_request_seconds_count{name="Manager",} 0.0 + tomcat_servlet_request_seconds_sum{name="Manager",} 0.0 + # HELP tomcat_connections_current_connections + # TYPE tomcat_connections_current_connections gauge + tomcat_connections_current_connections{name="https-openssl-apr-8443",} 1.0 + tomcat_connections_current_connections{name="http-nio-8080",} 5.0 + # HELP system_cpu_usage The "recent cpu usage" of the system the application is running in + # TYPE system_cpu_usage gauge + system_cpu_usage 0.0 + # HELP jvm_gc_overhead_percent An approximation of the percent of CPU time used by GC activities over the last lookback period or since monitoring began, whichever is shorter, in the range [0..1] + # TYPE jvm_gc_overhead_percent gauge + jvm_gc_overhead_percent 0.003142558395370619 + # HELP application_started_time_seconds Time taken (ms) to start the application + # TYPE application_started_time_seconds gauge + application_started_time_seconds{main_application_class="com.softwareag.portal.BundleServerApplication",} 18.866 + # HELP tomcat_global_sent_bytes_total + # TYPE tomcat_global_sent_bytes_total counter + tomcat_global_sent_bytes_total{name="https-openssl-apr-8443",} 0.0 + tomcat_global_sent_bytes_total{name="http-nio-8080",} 1679495.0 + # HELP jvm_gc_memory_promoted_bytes_total Count of positive increases in the size of the old generation memory pool before GC to after GC + # TYPE jvm_gc_memory_promoted_bytes_total counter + jvm_gc_memory_promoted_bytes_total 1.1477512E7 + # HELP process_cpu_usage The "recent cpu usage" for the Java Virtual Machine process + # TYPE process_cpu_usage gauge + process_cpu_usage 0.09766772595780004 Info: value: build: @@ -325,6 +377,13 @@ components: message: "Invalid credentials" responses: + Prometheus: + description: Application metric understandabl for Prometheus + content: + text/plain: + examples: + Prometheus: + $ref: '#/components/examples/Prometheus' Info: description: Application build information response content: diff --git a/apis/10.11/openapis/license.yaml b/apis/openapis/license.yaml similarity index 100% rename from apis/10.11/openapis/license.yaml rename to apis/openapis/license.yaml diff --git a/apis/10.11/openapis/notifications.yaml b/apis/openapis/notifications.yaml similarity index 100% rename from apis/10.11/openapis/notifications.yaml rename to apis/openapis/notifications.yaml diff --git a/apis/10.11/openapis/oauth.yaml b/apis/openapis/oauth.yaml similarity index 100% rename from apis/10.11/openapis/oauth.yaml rename to apis/openapis/oauth.yaml diff --git a/apis/10.12/openapis/packages.yaml b/apis/openapis/packages.yaml similarity index 95% rename from apis/10.12/openapis/packages.yaml rename to apis/openapis/packages.yaml index 94c753b..f110657 100644 --- a/apis/10.12/openapis/packages.yaml +++ b/apis/openapis/packages.yaml @@ -16,6 +16,7 @@ info: - Add/Remove Plans linked with the package - Apply rating to a package - Follow/Un-Follow a package + - Modify the state of a Package ## Authorization - Users with privileges *API Administrator* and/or *API Provider* can view,create,update and delete package details. @@ -454,6 +455,35 @@ paths: required: true schema: type: string + /packages/{id}/state: + put: + summary: Modify the state of the Package + description: Endpoint can be used to update the state of the given Package + parameters: + - name: id + in: path + description: Unique identification for package. Refers to the GUID for the package. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` + required: true + schema: + type: string + - name: targetState + in: query + description: Target state + required: true + schema: + type: string + responses: + 200: + $ref: '#/components/responses/UpdateStateResponse' + 400: + $ref: '#/components/responses/InvalidStateUpdate' + 401: + $ref: '#/components/responses/Unauthorized' + 403: + $ref: '#/components/responses/Forbidden' + 404: + $ref: '#/components/responses/NotFound' + components: securitySchemes: accesstoken: @@ -1093,6 +1123,25 @@ components: examples: 404: $ref: '#/components/examples/NotFound' + UpdateStateResponse: + description: Update state response + content: + application/json: + schema: + $ref: '#/components/schemas/ObjectLinked' + examples: + UpdateState: + $ref: '#/components/examples/UpdateState' + InvalidStateUpdate: + description: Invalid state update + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + InvalidStateUpdate: + $ref: '#/components/examples/InvalidStateUpdate' + examples: CreatedResponse: value: @@ -1372,6 +1421,14 @@ components: value: id: 015a2458-9f62-4ac6-a97e-8c2454c0ef61 _self: /rest/v1/packages/015a2458-9f62-4ac6-a97e-8c2454c0ef61 + UpdateState: + value: + code: 200 + message: Lifecycle state is updated successfully + InvalidStateUpdate: + value: + code: 400 + message: Invalid state transition from 'RETIRED' state to 'LIVE' state security: - accesstoken: [ ] diff --git a/apis/10.11/openapis/plans.yaml b/apis/openapis/plans.yaml similarity index 100% rename from apis/10.11/openapis/plans.yaml rename to apis/openapis/plans.yaml diff --git a/apis/10.11/openapis/providers.yaml b/apis/openapis/providers.yaml similarity index 100% rename from apis/10.11/openapis/providers.yaml rename to apis/openapis/providers.yaml diff --git a/apis/10.11/openapis/search.yaml b/apis/openapis/search.yaml similarity index 100% rename from apis/10.11/openapis/search.yaml rename to apis/openapis/search.yaml diff --git a/apis/10.11/openapis/teams.yaml b/apis/openapis/teams.yaml similarity index 100% rename from apis/10.11/openapis/teams.yaml rename to apis/openapis/teams.yaml diff --git a/apis/10.12/openapis/themes.yaml b/apis/openapis/themes.yaml similarity index 100% rename from apis/10.12/openapis/themes.yaml rename to apis/openapis/themes.yaml diff --git a/apis/10.11/openapis/topic.yaml b/apis/openapis/topic.yaml similarity index 93% rename from apis/10.11/openapis/topic.yaml rename to apis/openapis/topic.yaml index b9dfdb7..91f0e28 100644 --- a/apis/10.11/openapis/topic.yaml +++ b/apis/openapis/topic.yaml @@ -4,7 +4,7 @@ info: version: '10.11' description: | ## Overview - Topic management API helps to list or create a topic in API/Package. It is also used to upvote/downvote a topic or flag a topic. Depending on whether a post is your own or from another user, you can perform different actions. + Topic management API helps to list or create a topic in API/Package/custom assets. It is also used to upvote/downvote a topic or flag a topic. Depending on whether a post is your own or from another user, you can perform different actions. ## Functionalities supported @@ -99,6 +99,46 @@ paths: type: string format: uuid + '/types/{type}/instances/{id}/topics': + post: + tags: + - Topic + summary: Create a topic in the given custom asset + description: Create a topic in the given custom asset + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Topic' + examples: + TopicPayload: + $ref: '#/components/examples/CustomAssetTopicCreation' + responses: + '201': + $ref: '#/components/responses/CreationResponse' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '404': + $ref: '#/components/responses/CustomAsset_NotFound' + parameters: + - name: type + in: path + schema: + type: string + required: true + description: Unique type id of the custom asset + example: ticket + - name: id + in: path + description: Unique identification for package. Refers to the GUID for the package. For example `d4a6bc0b-24dd-4035-862a-0f8f7608512e` + required: true + allowEmptyValue: false + schema: + type: string + format: uuid + '/topics/{id}': get: tags: @@ -699,6 +739,17 @@ components: content: value: sample topic type: rich + CustomAssetTopicCreation: + value: + tags: + - tag1 + - tag2 + stream: + type: CUSTOM_ASSET + id: 74733475-a879-4693-b94f-22c9c946d433 + content: + value: sample topic + type: rich CreatedResponse: value: id: 4ba06f7c-f4dd-4868-9d97-27134e102d00 @@ -811,6 +862,10 @@ components: value: code: 404 message: "Unable to find the Package with id [74733475-a879-4693-b94f-22c9c946d433]" + CustomAsset_404: + value: + code: 404 + message: "Unable to find the Custom Asset with id [74733475-a879-4693-b94f-22c9c946d433]" "CountExample": value: 3 @@ -972,6 +1027,15 @@ components: examples: Package_404: $ref: '#/components/examples/Package_404' + CustomAsset_NotFound: + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + CustomAsset_404: + $ref: '#/components/examples/CustomAsset_404' NotFound: description: The specified resource was not found content: diff --git a/apis/openapis/typedefinition.yaml b/apis/openapis/typedefinition.yaml new file mode 100644 index 0000000..1f4f91a --- /dev/null +++ b/apis/openapis/typedefinition.yaml @@ -0,0 +1,826 @@ +openapi: 3.0.1 +info: + title: Portal Manage Custom Asset Type Definition + version: "10.15" + description: |- + ## Overview + Developer Portal supports the API Providers / API Administrators to publish any custom assets in addition to APIs and Packages. + Prior to that, one needs to create the type definition (or the template) which includes the meta data (or properties) for each such kind of custom asset. + + This endpoint provides Type Definition management capability in Developer Portal. + Following functionalities can be achieved by using this endpoint. + + ## Type Definition CRUD + - Create type definition + - Modify type definition + - Delete an particular type definition + + ## Type Definition search + - Retrieive all type definitions + - Get number of type definitions created on developer portal + - Retrieve the type definition based on search criteria + - Retrieve the particular type definition + +servers: + - url: http://localhost:18101/portal/rest/v1 + description: Development server + +paths: + "/types": + get: + summary: Retrieve all the Type Definitions in the Developer Portal + description: |- + Endpoint to retrieve the list of all Type Definition in Developer Portal. + parameters: + - name: page + in: query + description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. + required: false + schema: + type: integer + default: 0 + - name: limit + in: query + description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. + required: false + schema: + type: integer + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResponse' + example: |- + { + "result": [ + { + "name": "ticket", + "owner": "200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4", + "id": "ticket", + "documentType": "TYPE_DEFINITION", + "fields": [ + { + "type": "STRING", + "name": "Title", + "displayName": "Title", + "mandatory": true, + "value": null + }, + { + "type": "TEXT", + "name": "Content", + "displayName": "Content", + "mandatory": true, + "value": null + }, + { + "type": "NUMBER", + "name": "Priority", + "displayName": "Priority", + "mandatory": true, + "value": null + } + ] + } + ], + "count": 1, + "_links": { + "_self": "/portal/rest/v1/types?page=0" + } + } + '403': + $ref: '#/components/responses/Forbidden' + '401': + $ref: '#/components/responses/Unauthorized' + post: + summary: Create an Type Definition in an Devloper Portal + description: |- + Endpoint to Create an Type Definition in an Devloper Portal + + *Endpoint can be accessed only by a user having **Administrator** or **Provider** role* + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Name of an Type definition can be provided + example: Blog + summary: + type: string + description: Summary of an Type Definition + description: + type: string + description: Description for an Type Definition + fields: + type: array + items: + type: object + properties: + name: + type: string + displayName: + type: string + type: + type: string + enum: + - ENUM + - NUMBER + - BOOLEAN + - STRING + - STRING_ARRAY + - TEXT + - DATE_TIME + - IMAGE + - FILE + mandatory: + type: boolean + value: + type: string + description: Default value. Based on field type corresponding data type need to be sent. + acceptedValues: + description: This field is applicable for only ENUM field type. List of possible values can be set + type: array + items: + type: object + + examples: + Create an Type Definition: + value: |- + { + "name": "ticket", + "fields": [ + { + "name": "Title", + "displayName": "Title", + "type": "STRING", + "mandatory": true + }, + { + "name": "Content", + "displayName": "Content", + "type": "TEXT", + "mandatory": true + }, + { + "name": "Priority", + "displayName": "Priority", + "type": "NUMBER", + "mandatory": true, + "value": 2 + }, + { + "name": "Sprint", + "displayName": "Sprint", + "type": "STRING_ARRAY", + "mandatory": false + }, + { + "name": "Department", + "displayName": "Department", + "type": "ENUM", + "mandatory": true, + "acceptedValues": ["IT", "HR", "RnD"] + } + ] + } + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + id: + type: string + _self: + type: string + examples: + 200: + value: + id: ticket + _self: /rest/v1/types/ticket + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + 400: + $ref: '#/components/examples/400' + + '/types/_count': + get: + summary: Retrieve the count of Type Definitions in Developer Portal + description: |- + Endpoint to get the number of Type definitions available in Developer Portal + responses: + '200': + description: Retrieval of Count of Type Definitions Successful + content: + plain/text: + example: 10 + + '/types/_ids': + get: + summary: Retrieve the ids of Type Definitions in Developer Portal + description: |- + Endpoint to get the ids of Type definitions available in Developer Portal + responses: + '200': + description: Retrieval of ids of Type Definitions Successful + content: + application/json: + example: ["ticket", "blog"] + + '/types/{id}': + parameters: + - $ref: '#/components/parameters/typeId' + get: + summary: Retrieve an Type Definition by an ID + description: |- + Endpoint to obtain details of particular Type Definition based on ID + + *Endpoint can be accessed only by a user having **READ** permission* + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/Type' + examples: + 200: + $ref: '#/components/examples/Type' + + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + updated: + summary: Example + value: + code: 404 + message: Unable to find the requested Type Definition + '403': + $ref: '#/components/responses/Forbidden' + '401': + $ref: '#/components/responses/Unauthorized' + + put: + summary: Update an Type Definition in Developer Portal + description: |- + Endpoint to update details of particular Type Definition based on ID + + + *Endpoint can be accessed only by a user having **Administrator** or **Provider** role* + parameters: + - $ref: '#/components/parameters/typeId' + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Name of an Type definition can be provided + example: Blog + summary: + type: string + description: Summary of an Type Definition + description: + type: string + description: Description for an Type Definition + fields: + type: array + items: + type: object + properties: + name: + type: string + displayName: + type: string + type: + type: string + enum: + - ENUM + - NUMBER + - BOOLEAN + - STRING + - STRING_ARRAY + - TEXT + - DATE_TIME + - IMAGE + - FILE + mandatory: + type: boolean + value: + type: string + description: Default value. Based on field type corresponding data type need to be sent. + acceptedValues: + description: This field is applicable for only ENUM field type. List of possible values can be set + type: array + items: + type: object + + examples: + Update an Type Definition: + value: |- + { + "name": "ticket", + "fields": [ + { + "name": "Title", + "displayName": "Title", + "type": "STRING", + "mandatory": true + }, + { + "name": "Content", + "displayName": "Content", + "type": "TEXT", + "mandatory": true + }, + { + "name": "Priority", + "displayName": "Priority", + "type": "NUMBER", + "mandatory": true, + "value": 2 + }, + { + "name": "Sprint", + "displayName": "Sprint", + "type": "STRING_ARRAY", + "mandatory": false + }, + { + "name": "Department", + "displayName": "Department", + "type": "ENUM", + "mandatory": true, + "acceptedValues": ["IT", "HR", "RnD"] + } + ] + } + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + id: + type: string + _self: + type: string + examples: + 200: + value: + id: ticket + _self: /rest/v1/types/ticket + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + 400: + $ref: '#/components/examples/400' + + delete: + summary: Delete an Type Definition by an ID + description: |- + Endpoint to delete an Type Definition from an Developer Portal. + + *Endpoint can be accessed only by a user having **Administrator** or **Provider** role* + parameters: + - name: force + in: query + description: Optional parameter. If value sent as true all the associated instance will be deleted along with the Type Definition + required: false + schema: + type: string + responses: + '204': + description: 'No content' + + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + + '404': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + updated: + summary: Example + value: + code: 404 + message: Unable to find the requested Type Definition + + '/types/search': + post: + parameters: + - name: page + in: query + description: Optional parameter. Defines the page number to be retrieved for the collection. If not specified default value 0 is assumed. By default collection responses are paginated with batches of 10. + required: false + schema: + type: integer + default: 0 + - name: limit + in: query + description: Optional parameter. Defines the number of results to be fetched for the current page. If not specified default value configured in system settings will be considered. + required: false + schema: + type: integer + summary: Search Type Definition based on filter + description: |- + Endpoint to obtain search Type Definition based on the filter criterias + + *Endpoint can be accessed only by a user having **READ** permission* + requestBody: + description: Payload for search + content: + application/json: + schema: + type: object + properties: + conjuction: + type: string + description: Condition for filters + enum: + - AND + - OR + - NOT + - MUST_NOT + criterias: + type: array + items: + type: object + properties: + field: + type: string + values: + type: array + items: + type: string + opertaion: + type: string + enum: + - CONTAINS + - EQUALS + sort: + type: array + items: + type: object + properties: + name: + type: string + order: + type: string + enum: + - ASC + - DSC + examples: + SearchPayload: + value: + conjunction: AND + criterias: + - field: name + values: + - Tic* + operation: EQUALS + responses: + '200': + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResponse' + example: |- + { + "result": [ + { + "name": "ticket", + "owner": "200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4", + "id": "ticket", + "documentType": "TYPE_DEFINITION", + "fields": [ + { + "type": "STRING", + "name": "Title", + "displayName": "Title", + "mandatory": true, + "value": null + }, + { + "type": "TEXT", + "name": "Content", + "displayName": "Content", + "mandatory": true, + "value": null + }, + { + "type": "NUMBER", + "name": "Priority", + "displayName": "Priority", + "mandatory": true, + "value": null + } + ] + } + ], + "count": 1, + "_links": { + "_self": "/portal/rest/v1/types?page=0" + } + } + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + + '/types/{id}/fields/{fieldName}': + put: + parameters: + - $ref: '#/components/parameters/typeId' + - name: fieldName + in: path + required: true + description: For which file/image field the default value need to be set + schema: + type: string + summary: Set default value for file/image field + description: |- + Endpoint to set default value for file/image field in Type Definition + + *Endpoint can be accessed only by a user having **Administrator** or **Provider** role* + requestBody: + content: + multipart/formdata: + schema: + type: object + properties: + data: + type: string + description: File in binary format + examples: + File/Image: + value: |- + ------WebKitFormBoundaryOBl7vP7ee7F5cESA + Content-Disposition: form-data; name="data"; filename="Victory.jpg" + Content-Type: image/jpeg + + + ------WebKitFormBoundaryOBl7vP7ee7F5cESA-- + responses: + '200': + description: '' + content: + application/json: + schema: + type: object + properties: + id: + type: string + _self: + type: string + examples: + 200: + value: + id: 6c2e3e8a-2b94-41b2-a633-abfecf3bd292 + _self: /rest/v1/file/6c2e3e8a-2b94-41b2-a633-abfecf3bd292 + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + +components: + responses: + Unauthorized: + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + 401: + $ref: '#/components/examples/401' + Forbidden: + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + 403: + $ref: '#/components/examples/403' + NotFound: + description: The specified resource was not found + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + 404: + $ref: '#/components/examples/404' + SearchResponse: + description: ok + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResponse' + UpdatePreference: + description: Update preference response + content: + application/json: + schema: + $ref: '#/components/schemas/UpdationResponse' + examples: + UpdatePreference: + $ref: '#/components/examples/UpdatePreference' + CreationResponse: + description: The response when an entity is created successfully + content: + application/json: + schema: + $ref: '#/components/schemas/CreatedResponse' + examples: + CreationResponse: + $ref: '#/components/examples/CreatedResponse' + + schemas: + CreatedResponse: + type: object + properties: + id: + description: Identifier of the newly created object + type: string + _self: + description: Self reference of the newly created object + type: string + UpdationResponse: + type: object + properties: + code: + type: integer + message: + type: string + SearchResponse: + type: object + properties: + result: + type: array + items: + $ref: '#/components/schemas/Type' + count: + type: integer + _links: + type: object + additionalProperties: + type: string + Error: + type: object + properties: + code: + type: integer + message: + type: string + Type: + allOf: + - type: object + properties: + id: + type: string + description: Unique identification of Type Definition + name: + type: string + description: Name of the Type Definition + description: + type: string + description: Description of the Type Definition + summary: + type: string + description: Summary of the Type Definition + fields: + type: array + items: + type: object + properties: + name: + type: string + displayName: + type: string + type: + type: string + enum: + - ENUM + - NUMBER + - BOOLEAN + - STRING + - STRING_ARRAY + - TEXT + - DATE_TIME + - IMAGE + - FILE + mandatory: + type: boolean + value: + type: string + description: Default value. Based on field type corresponding data type need to be sent. + acceptedValues: + description: This field is applicable for only ENUM field type. List of possible values can be set + type: array + items: + type: object + + + examples: + CreatedResponse: + value: + id: 52c0b766-8bdc-4932-93f2-c7bcb8a16750 + _self: /rest/v1/files/52c0b766-8bdc-4932-93f2-c7bcb8a16750 + UpdatePreference: + value: + code: 200 + message: Preferences updated successfully + 401: + value: + code: 401 + message: Invalid credentials + 403: + value: + code: 403 + message: Insufficient privileges + 404: + value: + code: 404 + message: Unable to find the requested API + 400: + value: + code: 400 + message: JSON parse error + Type: + value: + name: ticket + owner: 200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4 + id: ticket + documentType: TYPE_DEFINITION + fields: [ + { + "type": "STRING", + "name": "Title", + "displayName": "Title", + "mandatory": true, + "value": null + }, + { + "type": "TEXT", + "name": "Content", + "displayName": "Content", + "mandatory": true, + "value": null + }, + { + "type": "NUMBER", + "name": "Priority", + "displayName": "Priority", + "mandatory": true, + "value": null + } + ] + parameters: + typeId: + name: id + in: path + description: Unique Identification of an Type Definition.For example `ticket` + required: true + allowEmptyValue: false + schema: + type: string diff --git a/apis/10.11/openapis/userrequests.yaml b/apis/openapis/userrequests.yaml similarity index 100% rename from apis/10.11/openapis/userrequests.yaml rename to apis/openapis/userrequests.yaml diff --git a/apis/10.12/openapis/users.yaml b/apis/openapis/users.yaml similarity index 94% rename from apis/10.12/openapis/users.yaml rename to apis/openapis/users.yaml index 5d653de..81122cd 100644 --- a/apis/10.12/openapis/users.yaml +++ b/apis/openapis/users.yaml @@ -43,12 +43,24 @@ servers: description: Development server paths: + /csrf: + get: + description: |- + Retrieve the csrf token for a session. Value will be set as cookie + + *This is an **ANONYMOUS** endpoint; No authorization required* + summary: Get CSRF token + responses: + '200' : + description: The xsrf-token will be sent as part of cookie /login: post: description: |- Login to Portal with a valid user name and password. This API supports only `NATIVE` / `LDAP` users login only. *This is an **ANONYMOUS** endpoint; No authorization required* + + *The CSRF Token is mandatory. Get the token via /csrf and send the value in header xsrf-token* summary: Login API requestBody: content: @@ -63,6 +75,8 @@ paths: $ref: '#/components/responses/LoginSuccess' '400': $ref: '#/components/responses/LoginFailure' + '403': + description: Invalid CSRF token /forgotpassword: post: description: | @@ -424,6 +438,38 @@ paths: '401': $ref: '#/components/responses/Unauthorized' + /users/anonymize: + put: + summary: Anonymize the users that are already deleted in Developer Portal + description: | + To accomplish GDPR compliance, after deleting the user from developer portal their personal details has to be anonymized in the application. + This endpoint can be used to anonymize the users' personal data manually. + + *Endpoint can be accessed only by users with **API Administrator** functional privilege* + + tags: + - Users + + requestBody: + content: + application/json: + schema: + type: array + description: Collection of user names (login name) + items: + type: string + example: [ "ProviderUser1","ConsumerUser3" ] + + responses: + '200': + $ref: '#/components/responses/UpdatedResponse' + '400': + $ref: '#/components/responses/BadRequest' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + /groups/{id}/users: put: summary: Add users to group @@ -646,6 +692,16 @@ components: type: string description: new email address to be updated. + UpdatedResponse: + type: object + properties: + code: + description: Response code + type: integer + message: + description: Response message + type: string + UpdatePassword: type: object properties: @@ -983,6 +1039,16 @@ components: User: $ref: '#/components/examples/User' + UpdatedResponse: + description: The response when the users are anonymized successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatedResponse' + examples: + UpdationResponse: + $ref: '#/components/examples/UpdatedResponse' + examples: PasswordPolicy: value: @@ -1151,3 +1217,8 @@ components: lastname: Williams username: Williams email: john@xyz.com + + UpdatedResponse: + value: + code: 200 + message: Users are anonymized successfully diff --git a/apis/10.11/openapis/webhooks.yaml b/apis/openapis/webhooks.yaml similarity index 100% rename from apis/10.11/openapis/webhooks.yaml rename to apis/openapis/webhooks.yaml diff --git a/samples/docker/cluster/ReadMe.md b/samples/docker/cluster/ReadMe.md index 089795d..d806dcd 100644 --- a/samples/docker/cluster/ReadMe.md +++ b/samples/docker/cluster/ReadMe.md @@ -10,5 +10,5 @@ ![Docker Cluster](images/docker_cluster.png "Cluster Deployment") * It creates a network called "devportal-nw" which will be used for communication between Elasticsearch and Developer Portal - * It brings up a three container of Elasticsearch version 7.13.1 named "devportal-es-0", "devportal-es-1" and "devportal-es-2" + * It brings up a three container of Elasticsearch version 8.2.3 named "devportal-es-0", "devportal-es-1" and "devportal-es-2" * It brings up a single container of DevPortal Bundle named "devportal_0" and "devportal_1" diff --git a/samples/docker/cluster/docker-compose.yml b/samples/docker/cluster/docker-compose.yml index 99bd4ce..708482a 100644 --- a/samples/docker/cluster/docker-compose.yml +++ b/samples/docker/cluster/docker-compose.yml @@ -2,7 +2,7 @@ version: '3.7' services: devportal-es-0: - image: docker.elastic.co/elasticsearch/elasticsearch:7.13.1 + image: docker.elastic.co/elasticsearch/elasticsearch:8.2.3 container_name: devportal-es-0 hostname: devportal-es-0 environment: @@ -10,6 +10,7 @@ services: - cluster.name=devportal-es-cluster - discovery.seed_hosts=devportal-es-1,devportal-es-2 - cluster.initial_master_nodes=devportal-es-0,devportal-es-1,devportal-es-2 + - xpack.security.enabled=false - "ES_JAVA_OPTS=-Xms1g -Xmx1g" volumes: - data01:/usr/share/elasticsearch/data @@ -23,13 +24,14 @@ services: window: 120s devportal-es-1: - image: docker.elastic.co/elasticsearch/elasticsearch:7.13.1 + image: docker.elastic.co/elasticsearch/elasticsearch:8.2.3 container_name: devportal-es-1 environment: - node.name=devportal-es-1 - cluster.name=devportal-es-cluster - discovery.seed_hosts=devportal-es-0,devportal-es-2 - cluster.initial_master_nodes=devportal-es-0,devportal-es-1,devportal-es-2 + - xpack.security.enabled=false - "ES_JAVA_OPTS=-Xms1g -Xmx1g" volumes: - data02:/usr/share/elasticsearch/data @@ -43,13 +45,14 @@ services: window: 120s devportal-es-2: - image: docker.elastic.co/elasticsearch/elasticsearch:7.13.1 + image: docker.elastic.co/elasticsearch/elasticsearch:8.2.3 container_name: devportal-es-2 environment: - node.name=devportal-es-2 - cluster.name=devportal-es-cluster - discovery.seed_hosts=devportal-es-1,devportal-es-0 - cluster.initial_master_nodes=devportal-es-0,devportal-es-1,devportal-es-2 + - xpack.security.enabled=false - "ES_JAVA_OPTS=-Xms1g -Xmx1g" volumes: - data03:/usr/share/elasticsearch/data @@ -63,7 +66,7 @@ services: window: 120s devportal_0: - image: store/softwareag/devportal:10.11.0.1 + image: store/softwareag/devportal:10.15 container_name: devportal_0 hostname: devportal_0 environment: @@ -88,7 +91,7 @@ services: window: 120s devportal_1: - image: store/softwareag/devportal:10.11.0.1 + image: store/softwareag/devportal:10.15 container_name: devportal_1 hostname: devportal_1 environment: diff --git a/samples/docker/single/ReadMe.md b/samples/docker/single/ReadMe.md index bd3a667..6032568 100644 --- a/samples/docker/single/ReadMe.md +++ b/samples/docker/single/ReadMe.md @@ -7,5 +7,5 @@ ![Docker Single node](images/docker.png "Single node Deployment") * It creates a network called "devportal-nw" which will be used for communication between Elasticsearch and Developer Portal - * It brings up a single container of Elasticsearch version 7.13.1 named "devportal-es" + * It brings up a single container of Elasticsearch version 8.2.3 named "devportal-es" * It brings up a single container of DevPortal Bundle named "devportal" which expose the port 80 and 443 to outer world \ No newline at end of file diff --git a/samples/docker/single/docker-compose.yml b/samples/docker/single/docker-compose.yml index b347139..6a464ea 100644 --- a/samples/docker/single/docker-compose.yml +++ b/samples/docker/single/docker-compose.yml @@ -3,11 +3,12 @@ version: '3.7' services: devportal-es: - image: docker.elastic.co/elasticsearch/elasticsearch:7.13.1 + image: docker.elastic.co/elasticsearch/elasticsearch:8.2.3 container_name: devportal-es hostname: devportal-es environment: - discovery.type=single-node + - xpack.security.enabled=false volumes: - elasticsearch-data:/usr/share/elasticsearch/data networks: @@ -20,7 +21,7 @@ services: window: 120s devportal: - image: store/softwareag/devportal:10.11.0.1 + image: store/softwareag/devportal:10.15 container_name: devportal hostname: devportal environment: diff --git a/samples/helm/templates/elasticsearch.yaml b/samples/helm/templates/elasticsearch.yaml index 2981356..789a6d3 100644 --- a/samples/helm/templates/elasticsearch.yaml +++ b/samples/helm/templates/elasticsearch.yaml @@ -59,6 +59,8 @@ spec: value: "true" - name: node.master value: "true" + - name: xpack.security.enabled + value: "false" {{- end }} {{- if eq $.Values.deploymentType "single" }} - name: cluster.name @@ -69,6 +71,8 @@ spec: value: {{ index $.Values "applications" $app "networkHost" }} - name: ES_JAVA_OPTS value: {{ index $.Values "applications" $app "heapConfig" }} + - name: xpack.security.enabled + value: "false" {{- end }} image: {{ index $.Values "applications" $app "image" "registry" }}/{{ index $.Values "applications" $app "image" "imageName" }}:{{ index $.Values "applications" $app "image" "imageTag" }} imagePullPolicy: {{ index $.Values "applications" $app "image" "pullPolicy" }} diff --git a/samples/helm/values.yaml b/samples/helm/values.yaml index 278a675..7087290 100644 --- a/samples/helm/values.yaml +++ b/samples/helm/values.yaml @@ -7,7 +7,7 @@ applications: image: registry: "store/softwareag" imageName: "devportal" - imageTag: "10.11.0.1" + imageTag: "10.15" paid: single: replica: 1 @@ -39,7 +39,7 @@ applications: image: registry: "docker.elastic.co/elasticsearch" imageName: "elasticsearch" - imageTag: "7.7.1" + imageTag: "8.2.3" pullPolicy: IfNotPresent esHttpPort: 9200 ports: diff --git a/samples/kubernetes/cluster/ReadMe.md b/samples/kubernetes/cluster/ReadMe.md index 72f1f78..10bf4b6 100644 --- a/samples/kubernetes/cluster/ReadMe.md +++ b/samples/kubernetes/cluster/ReadMe.md @@ -2,7 +2,7 @@ `kubectl create -f es-svc.yaml` -* Create a stateful set with 3 replicas of elasticsearch of version 7.7.1 +* Create a stateful set with 3 replicas of elasticsearch of version 8.2.3 `kubectl create -f elasticsearch.yaml` @@ -10,7 +10,7 @@ `kubectl create -f devportal-svc.yaml` -* Create a stateful set with 2 replicas of devportal of version 10.11.0.1 +* Create a stateful set with 2 replicas of devportal of version 10.15 `kubectl create -f devportal.yaml` diff --git a/samples/kubernetes/cluster/devportal.yaml b/samples/kubernetes/cluster/devportal.yaml index 532b36b..ccf9d26 100644 --- a/samples/kubernetes/cluster/devportal.yaml +++ b/samples/kubernetes/cluster/devportal.yaml @@ -32,7 +32,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: devportal - image: store/softwareag/devportal:10.11.0.1 + image: store/softwareag/devportal:10.15 resources: limits: cpu: "4" diff --git a/samples/kubernetes/cluster/elasticsearch.yaml b/samples/kubernetes/cluster/elasticsearch.yaml index 3628952..1695422 100644 --- a/samples/kubernetes/cluster/elasticsearch.yaml +++ b/samples/kubernetes/cluster/elasticsearch.yaml @@ -47,13 +47,15 @@ spec: value: 0.0.0.0 - name: ES_JAVA_OPTS value: -Xmx1g -Xms1g + - name: xpack.security.enabled + value: "false" - name: node.data value: "true" - name: node.ingest value: "true" - name: node.master value: "true" - image: docker.elastic.co/elasticsearch/elasticsearch:7.7.1 + image: docker.elastic.co/elasticsearch/elasticsearch:8.2.3 imagePullPolicy: IfNotPresent name: elasticsearch ports: diff --git a/samples/kubernetes/single/ReadMe.md b/samples/kubernetes/single/ReadMe.md index 83ec223..3233c08 100644 --- a/samples/kubernetes/single/ReadMe.md +++ b/samples/kubernetes/single/ReadMe.md @@ -2,11 +2,11 @@ `kubectl create -f es-svc.yaml` -* Create a stateful set with 1 replicas of elasticsearch of version 7.7.1 +* Create a stateful set with 1 replicas of elasticsearch of version 8.2.3 `kubectl create -f elasticsearch.yaml` -* Create a stateful set with 1 replicas of devportal of version 10.11.0.1 +* Create a stateful set with 1 replicas of devportal of version 10.15 `kubectl create -f devportal.yaml` diff --git a/samples/kubernetes/single/devportal.yaml b/samples/kubernetes/single/devportal.yaml index a413c64..38c908d 100644 --- a/samples/kubernetes/single/devportal.yaml +++ b/samples/kubernetes/single/devportal.yaml @@ -20,7 +20,7 @@ spec: spec: containers: - name: devportal - image: store/softwareag/devportal:10.11.0.1 + image: store/softwareag/devportal:10.15 resources: limits: cpu: "4" diff --git a/samples/kubernetes/single/elasticsearch.yaml b/samples/kubernetes/single/elasticsearch.yaml index 4eaf1a2..54d410d 100644 --- a/samples/kubernetes/single/elasticsearch.yaml +++ b/samples/kubernetes/single/elasticsearch.yaml @@ -31,9 +31,11 @@ spec: value: single-node - name: network.host value: 0.0.0.0 + - name: xpack.security.enabled + value: "false" - name: ES_JAVA_OPTS value: -Xmx1g -Xms1g - image: docker.elastic.co/elasticsearch/elasticsearch:7.7.1 + image: docker.elastic.co/elasticsearch/elasticsearch:8.2.3 imagePullPolicy: IfNotPresent name: elasticsearch ports: diff --git a/samples/openshift/cluster/ReadMe.md b/samples/openshift/cluster/ReadMe.md index a4a1a10..6d3e96b 100644 --- a/samples/openshift/cluster/ReadMe.md +++ b/samples/openshift/cluster/ReadMe.md @@ -2,7 +2,7 @@ `oc create -f es-svc.yaml` -* Create a stateful set with 3 replicas of elasticsearch of version 7.13.2 +* Create a stateful set with 3 replicas of elasticsearch of version 8.2.3 `oc create -f elasticsearch.yaml` @@ -10,7 +10,7 @@ `oc create -f devportal-svc.yaml` -* Create a stateful set with 2 replicas of devportal of version 10.11.0.3 +* Create a stateful set with 2 replicas of devportal of version 10.15 `oc create -f devportal.yaml` diff --git a/samples/openshift/cluster/devportal.yaml b/samples/openshift/cluster/devportal.yaml index ba95545..b89029c 100644 --- a/samples/openshift/cluster/devportal.yaml +++ b/samples/openshift/cluster/devportal.yaml @@ -32,7 +32,7 @@ spec: topologyKey: kubernetes.io/hostname containers: - name: devportal - image: store/softwareag/devportal:10.11.0.3 + image: store/softwareag/devportal:10.15 resources: limits: cpu: "4" diff --git a/samples/openshift/cluster/elasticsearch.yaml b/samples/openshift/cluster/elasticsearch.yaml index 5b498d7..dc0ef6b 100644 --- a/samples/openshift/cluster/elasticsearch.yaml +++ b/samples/openshift/cluster/elasticsearch.yaml @@ -48,13 +48,15 @@ spec: value: 0.0.0.0 - name: ES_JAVA_OPTS value: -Xmx1g -Xms1g + - name: xpack.security.enabled + value: "false" - name: node.data value: "true" - name: node.ingest value: "true" - name: node.master value: "true" - image: docker.elastic.co/elasticsearch/elasticsearch:7.13.2 + image: docker.elastic.co/elasticsearch/elasticsearch:8.2.3 imagePullPolicy: IfNotPresent name: elasticsearch ports: diff --git a/samples/openshift/single/ReadMe.md b/samples/openshift/single/ReadMe.md index d09278e..1218ea8 100644 --- a/samples/openshift/single/ReadMe.md +++ b/samples/openshift/single/ReadMe.md @@ -2,11 +2,11 @@ `oc create -f es-svc.yaml` -* Create a stateful set with 1 replicas of elasticsearch of version 7.13.2 +* Create a stateful set with 1 replicas of elasticsearch of version 8.2.3 `oc create -f elasticsearch.yaml` -* Create a stateful set with 1 replicas of devportal of version 10.11.0.3 +* Create a stateful set with 1 replicas of devportal of version 10.15 `oc create -f devportal.yaml` diff --git a/samples/openshift/single/devportal.yaml b/samples/openshift/single/devportal.yaml index 968572e..fb3d17c 100644 --- a/samples/openshift/single/devportal.yaml +++ b/samples/openshift/single/devportal.yaml @@ -20,7 +20,7 @@ spec: spec: containers: - name: devportal - image: store/softwareag/devportal:10.11.0.3 + image: store/softwareag/devportal:10.15 resources: limits: cpu: "4" diff --git a/samples/openshift/single/elasticsearch.yaml b/samples/openshift/single/elasticsearch.yaml index d806936..3a0dfd0 100644 --- a/samples/openshift/single/elasticsearch.yaml +++ b/samples/openshift/single/elasticsearch.yaml @@ -32,9 +32,11 @@ spec: value: single-node - name: network.host value: 0.0.0.0 + - name: xpack.security.enabled + value: "false" - name: ES_JAVA_OPTS value: -Xmx1g -Xms1g - image: docker.elastic.co/elasticsearch/elasticsearch:7.13.2 + image: docker.elastic.co/elasticsearch/elasticsearch:8.2.3 imagePullPolicy: IfNotPresent name: elasticsearch ports: diff --git a/samples/web-components/api-gallery-box/showcase.png b/samples/web-components/api-gallery-box/showcase.png index 439eeae..4de6747 100644 Binary files a/samples/web-components/api-gallery-box/showcase.png and b/samples/web-components/api-gallery-box/showcase.png differ diff --git a/samples/web-components/api-gallery-box/src/components/api-gallery-item/api-gallery-item-element.ts b/samples/web-components/api-gallery-box/src/components/api-gallery-item/api-gallery-item-element.ts index 768bf25..7c1c48b 100644 --- a/samples/web-components/api-gallery-box/src/components/api-gallery-item/api-gallery-item-element.ts +++ b/samples/web-components/api-gallery-box/src/components/api-gallery-item/api-gallery-item-element.ts @@ -55,15 +55,8 @@ export class ApiGalleryItemElement extends AbstractPortalElement { display: flex; align-items: center; justify-content: center; - //animation-name: showsmooth; - //animation-duration: 4s; } - /*@keyframes showsmooth { - from {opacity: 0;} - to {opacity: 1;} - }*/ - :host { display: flex; border: 1px solid #CACACA; diff --git a/samples/web-components/api-gallery-group/.gitignore b/samples/web-components/api-gallery-group/.gitignore new file mode 100644 index 0000000..08bfd45 --- /dev/null +++ b/samples/web-components/api-gallery-group/.gitignore @@ -0,0 +1,5 @@ +node_modules + +package-lock.json + +/public/ diff --git a/samples/web-components/api-gallery-group/package.json b/samples/web-components/api-gallery-group/package.json new file mode 100644 index 0000000..9dd0d39 --- /dev/null +++ b/samples/web-components/api-gallery-group/package.json @@ -0,0 +1,25 @@ +{ + "name": "api-gallery-group", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "serve": "webpack serve", + "lint": "eslint", + "build": "webpack", + "test": "echo \"Error: no test specified\" && exit 1", + "tsc": "tsc --init" + }, + "author": "", + "license": "ISC", + "dependencies": { + "@typescript-eslint/eslint-plugin": "^4.25.0", + "@typescript-eslint/parser": "^4.25.0", + "eslint": "^7.27.0", + "ts-loader": "^9.2.2", + "typescript": "^4.2.4", + "webpack": "^5.37.1", + "webpack-cli": "^4.7.0", + "webpack-dev-server": "^4.7.4" + } +} diff --git a/samples/web-components/api-gallery-group/src/abstract.portal.element.ts b/samples/web-components/api-gallery-group/src/abstract.portal.element.ts new file mode 100644 index 0000000..e207fed --- /dev/null +++ b/samples/web-components/api-gallery-group/src/abstract.portal.element.ts @@ -0,0 +1,60 @@ +import {ContextModel} from './model/context.model'; + +/** + * Developer Portal requires the web-components, created by Administrators, to extend this class AbstractPortalElement + * + * Developer Portal rendering engine will invoke setContext method to set applicable context data, navigator function and localize function. + * + * It is recommended to write the rendering logic of the web-components with render() function as the initiator. + */ + +export abstract class AbstractPortalElement extends HTMLElement { + + private context: ContextModel; + + /** + * Starting point of the rendering logic. The method will be implemented by extending web-component owned by administrator. + */ + abstract render(): void | Promise; + + /** + * This method will be invoked by web-component rendering engine + */ + setContext(context: ContextModel): void { + this.context = context; + this.render(); + } + + /** + * returns the context data specific to the use-case, if applicable. + * @protected + */ + protected getData(): any { + if (this.context && this.context.getData) { + return this.context.getData(); + } + } + + /** + * navigate to the location mentioned. + * @param path + * @protected + */ + protected navigate(path: string): void { + if (this.context && this.context.navigate) { + this.context.navigate(path); + } + } + + /** + * Provides the value for the given property key. If the key doesnt exist, key string itself will be returned. + * @param key + * @protected + */ + protected getLocaleString(key: string): string { + if (this.context && this.context.getLocaleString) { + return this.context.getLocaleString(key); + } + return key; + } +} diff --git a/samples/web-components/api-gallery-group/src/components/api.element.ts b/samples/web-components/api-gallery-group/src/components/api.element.ts new file mode 100644 index 0000000..665214a --- /dev/null +++ b/samples/web-components/api-gallery-group/src/components/api.element.ts @@ -0,0 +1,133 @@ +import {AbstractPortalElement} from "../abstract.portal.element"; + +export class ApiElement extends AbstractPortalElement { + private api: any; + constructor() { + super(); + } + + connectedCallback() { + this.attachShadow({mode: 'open'}); + } + + render(): void | Promise { + this.api = this.getData(); + console.log('render of api.element called'); + this.shadowRoot.innerHTML = this.getTemplate(); + } + + + private getTemplate() { + return ` + + + api-logo +

${this.api.name}

+
${this.api.summary}
+ View details >> + ` + } + + private getPredefinedDataTemplate() { + return ` + +
+
+ api-logo +

GMail

+
Headline : The Gmail API is a RESTful API that can be used to access Gmail mailboxes and send mail. The API can be used by Gmail and Google Apps users alike as an alternative to IMAP. It is intended primarily for programmatic, batch mailbox access as a we
+ +
+
+ api-logo +

GMail

+
Headline : The Gmail API is a RESTful API that can be used to access Gmail mailboxes and send mail. The API can be used by Gmail and Google Apps users alike as an alternative to IMAP. It is intended primarily for programmatic, batch mailbox access as a we
+ +
+
+ api-logo +

GMail

+
Headline : The Gmail API is a RESTful API that can be used to access Gmail mailboxes and send mail. The API can be used by Gmail and Google Apps users alike as an alternative to IMAP. It is intended primarily for programmatic, batch mailbox access as a we
+ +
+
+ api-logo +

GMail

+
Headline : The Gmail API is a RESTful API that can be used to access Gmail mailboxes and send mail. The API can be used by Gmail and Google Apps users alike as an alternative to IMAP. It is intended primarily for programmatic, batch mailbox access as a we
+ +
+
+ ` + } + +} \ No newline at end of file diff --git a/samples/web-components/api-gallery-group/src/components/gallery-page-component.ts b/samples/web-components/api-gallery-group/src/components/gallery-page-component.ts new file mode 100644 index 0000000..21db8dc --- /dev/null +++ b/samples/web-components/api-gallery-group/src/components/gallery-page-component.ts @@ -0,0 +1,259 @@ +import {AbstractPortalElement} from "../abstract.portal.element"; +import {ApiElement} from "./api.element"; +import {RequestDataService} from "../service/request.service"; +import {ApiModel} from "../model/data/api.model"; +import {List} from "../model/list"; + +export class GalleryPageComponent extends AbstractPortalElement { + + apisModels: ApiModel[] = null; + constructor() { + super(); + } + + connectedCallback() { + this.attachShadow({mode: 'open'}); + } + + async render(): Promise { + this.shadowRoot.innerHTML = ''; + this.shadowRoot.getElementById('gallery').innerHTML = this.getTemplate(); + + const apicontent: HTMLDivElement = document.createElement('div'); + apicontent.classList.add('content'); + apicontent.setAttribute('id', 'apicontent'); + this.shadowRoot.getElementById('gallery').appendChild(apicontent); + + this.shadowRoot.querySelectorAll('.dropbtn').forEach( + e => e.addEventListener('click', (event) => { + this.shadowRoot.getElementById('myDropdown').classList.toggle('show'); + }) + ); + + this.shadowRoot.getElementById('myDropdown').querySelectorAll('.group').forEach( + e => { + e.addEventListener('click', (event) => { + var groupBy: string = e.id; + this.shadowRoot.getElementById('dropbtn_text').innerText = e.innerHTML; + this.shadowRoot.getElementById('apicontent').innerHTML = ""; + const apisGrouping: {[key: string]: ApiModel[]} = this.groupApis(this.apisModels, groupBy); + this.renderAPIByGrouping(apisGrouping); + }) + } + ) + + await this.searchAPI('/portal/rest/v1/apis/search?page=0&limit=100'); + } + + async searchAPI(link: string) { + const service = new RequestDataService(); + const payload = this.getPayload(); + const apis: List = await service.postAsJSON(link, JSON.stringify(payload)); + this.apisModels = apis.result; + const apisGrouping: {[key: string]: ApiModel[]} = this.groupApis(apis.result, 'type'); + this.renderAPIByGrouping(apisGrouping); + + } + + private renderAPIByGrouping(apisGrouping: { [p: string]: ApiModel[] }) { + let apicontent: HTMLElement = this.shadowRoot.getElementById('apicontent'); + + Object.keys(apisGrouping).sort().forEach(value1 => { + const groupHeading: HTMLElement = document.createElement("h2"); + groupHeading.innerText = value1; + apicontent.appendChild(groupHeading); + + const divHeading: HTMLElement = document.createElement('div'); + divHeading.classList.add('apis'); + + apicontent.appendChild(divHeading); + var value = apisGrouping[value1]; + value.forEach(api => { + const htmlElement: HTMLElement = document.createElement('api-gallery-api'); + htmlElement.setAttribute("class", "api"); + divHeading.appendChild(htmlElement); + (htmlElement as ApiElement).setContext({ + getData: () => api, + getLocaleString: this.getLocaleString, + navigate: this.navigate + }); + }); + }) + } + + groupApis(apis: ApiModel[], howToGroup: string): {[key: string]: ApiModel[]} { + const APIsByGrouping : any = {}; + apis.forEach(api => { + let type; + if(howToGroup !== 'type'){ + type = api[howToGroup] ? api[howToGroup][0]['name'] : 'Undefined'; + }else { + type = api[howToGroup]; + } + let apis: ApiModel[] = APIsByGrouping[type]; + if(!apis) { + APIsByGrouping[type] = []; + } + APIsByGrouping[type].push(api); + }) + console.log('APIsByGrouping:'+JSON.stringify(APIsByGrouping)); + return APIsByGrouping; + } + + private getPayload() { + const payload: any = { + conjunction: 'AND', + criterias: [{field: 'latest', values: ['true'], operation: 'EQUALS'}], + sort: {name: 'ASC'} + }; + return payload; + } + + + private getTemplate() { + return ` + +
+

API gallery

+ +
+ ` + } + + +} \ No newline at end of file diff --git a/samples/web-components/api-gallery-group/src/index.ts b/samples/web-components/api-gallery-group/src/index.ts new file mode 100644 index 0000000..4798514 --- /dev/null +++ b/samples/web-components/api-gallery-group/src/index.ts @@ -0,0 +1,5 @@ +import {GalleryPageComponent} from "./components/gallery-page-component"; +import {ApiElement} from "./components/api.element"; + +customElements.define("api-gallery", GalleryPageComponent) +customElements.define("api-gallery-api", ApiElement) \ No newline at end of file diff --git a/samples/web-components/api-gallery-group/src/model/context.model.ts b/samples/web-components/api-gallery-group/src/model/context.model.ts new file mode 100644 index 0000000..39793d4 --- /dev/null +++ b/samples/web-components/api-gallery-group/src/model/context.model.ts @@ -0,0 +1,5 @@ +export class ContextModel { + getData: () => any; + navigate: (path: string) => void; + getLocaleString: (key: string) => string; +} diff --git a/samples/web-components/api-gallery-group/src/model/data/api.model.ts b/samples/web-components/api-gallery-group/src/model/data/api.model.ts new file mode 100644 index 0000000..cfc6e58 --- /dev/null +++ b/samples/web-components/api-gallery-group/src/model/data/api.model.ts @@ -0,0 +1,11 @@ +import {RepositoryModel} from './repository.model'; + +export class ApiModel extends RepositoryModel { + + type: string; + + constructor(name: string, id: string, summary: string, description: string, type: string) { + super(name, id, summary, description); + this.type = type; + } +} diff --git a/samples/web-components/api-gallery-group/src/model/data/filter.model.ts b/samples/web-components/api-gallery-group/src/model/data/filter.model.ts new file mode 100644 index 0000000..d2c32b1 --- /dev/null +++ b/samples/web-components/api-gallery-group/src/model/data/filter.model.ts @@ -0,0 +1,7 @@ +export class FilterModel { + categories: string[] = []; + maturityStatus: string[] = []; + tags: string[] = []; + businessTerms: string[] = []; + type: string[] = []; +} \ No newline at end of file diff --git a/samples/web-components/api-gallery-group/src/model/data/repository.model.ts b/samples/web-components/api-gallery-group/src/model/data/repository.model.ts new file mode 100644 index 0000000..901906f --- /dev/null +++ b/samples/web-components/api-gallery-group/src/model/data/repository.model.ts @@ -0,0 +1,14 @@ +export class RepositoryModel { + name: string; + id: string; + summary: string; + description: string; + + + constructor(name: string, id: string, summary: string, description: string) { + this.name = name; + this.id = id; + this.summary = summary; + this.description = description; + } +} diff --git a/samples/web-components/api-gallery-group/src/model/list.ts b/samples/web-components/api-gallery-group/src/model/list.ts new file mode 100644 index 0000000..32ab8a6 --- /dev/null +++ b/samples/web-components/api-gallery-group/src/model/list.ts @@ -0,0 +1,5 @@ +export class List { + count = 0; + result: T[] = []; + _links: any; +} diff --git a/samples/web-components/api-gallery-group/src/service/request.service.ts b/samples/web-components/api-gallery-group/src/service/request.service.ts new file mode 100644 index 0000000..c08ce81 --- /dev/null +++ b/samples/web-components/api-gallery-group/src/service/request.service.ts @@ -0,0 +1,44 @@ +/** + * Data service - For HTTP Invocation + */ +export class RequestDataService { + + /** + * Returns the data for POST request for the given url and payload + * @param url + * @param body + */ + postAsJSON(url: string, body: string): Promise { + return fetch(url, { + method: 'post', + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + 'xsrf-token': this.getCookie('xsrf-token') + }, + body + }).then((response) => { + return response.json(); + }).then(function(text) { + return text; + }); + } + + /** + * Get the cookie value for the given name. + * @param name + */ + getCookie(name: string): string { + const nameLenPlus = (name.length + 1); + return document.cookie + .split(';') + .map(c => c.trim()) + .filter(cookie => { + return cookie.substring(0, nameLenPlus) === `${name}=`; + }) + .map(cookie => { + return (cookie.substring(nameLenPlus)); + })[0] || null; + } + +} diff --git a/samples/web-components/api-gallery-group/tsconfig.json b/samples/web-components/api-gallery-group/tsconfig.json new file mode 100644 index 0000000..f32cab4 --- /dev/null +++ b/samples/web-components/api-gallery-group/tsconfig.json @@ -0,0 +1,71 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ + "module": "es2015", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ + // "lib": [], /* Specify library files to be included in the compilation. */ + // "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true, /* Report errors in .js files. */ + // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ + // "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ + "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + // "outDir": "./", /* Redirect output structure to the directory. */ + // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + // "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": true, /* Enable all strict type-checking options. */ + "noImplicitAny": false, /* Raise error on expressions and declarations with an implied 'any' type. */ + "strictNullChecks": false, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ + + /* Module Resolution Options */ + // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + + /* Advanced Options */ + "skipLibCheck": true, /* Skip type checking of declaration files. */ + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + } +} diff --git a/samples/web-components/api-gallery-group/webpack.config.js b/samples/web-components/api-gallery-group/webpack.config.js new file mode 100644 index 0000000..8fb064b --- /dev/null +++ b/samples/web-components/api-gallery-group/webpack.config.js @@ -0,0 +1,24 @@ +const path = require('path'); + +module.exports = { + mode: "production", + // devtool: 'eval-source-map', + entry: './src/index.ts', + module: { + rules: [ + { + test: /\.ts$/, + use: 'ts-loader', + include: [path.resolve(__dirname, 'src')] + } + ] + }, + resolve: { + extensions: ['.ts', '.js'] + }, + output: { + publicPath: "public", + filename: "arisportalgallery.js", + path: path.resolve(__dirname, 'public') + } +} diff --git a/samples/web-components/api-gallery-i18n/src/model/data/alldata.model.ts b/samples/web-components/api-gallery-i18n/src/model/data/alldata.model.ts index 3a8f3ad..9d62b7f 100644 --- a/samples/web-components/api-gallery-i18n/src/model/data/alldata.model.ts +++ b/samples/web-components/api-gallery-i18n/src/model/data/alldata.model.ts @@ -79,7 +79,7 @@ export class AllData { } export interface Attachment { - name: Name + name: string summary: any description: any uri: string diff --git a/samples/web-components/asset-gallery/.gitignore b/samples/web-components/asset-gallery/.gitignore new file mode 100644 index 0000000..08bfd45 --- /dev/null +++ b/samples/web-components/asset-gallery/.gitignore @@ -0,0 +1,5 @@ +node_modules + +package-lock.json + +/public/ diff --git a/samples/web-components/asset-gallery/package.json b/samples/web-components/asset-gallery/package.json new file mode 100644 index 0000000..4a294ec --- /dev/null +++ b/samples/web-components/asset-gallery/package.json @@ -0,0 +1,25 @@ +{ + "name": "api-gallery-group", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "serve": "webpack serve", + "lint": "eslint", + "build": "webpack", + "test": "echo \"Error: no test specified\" && exit 1", + "tsc": "tsc --init" + }, + "author": "", + "license": "ISC", + "devDependencies": { + "@typescript-eslint/eslint-plugin": "^4.25.0", + "@typescript-eslint/parser": "^4.25.0", + "eslint": "^7.27.0", + "ts-loader": "^9.2.2", + "typescript": "^4.2.4", + "webpack": "^5.37.1", + "webpack-cli": "^4.7.0", + "webpack-dev-server": "^4.7.4" + } +} diff --git a/samples/web-components/asset-gallery/src/abstract.portal.element.ts b/samples/web-components/asset-gallery/src/abstract.portal.element.ts new file mode 100644 index 0000000..e207fed --- /dev/null +++ b/samples/web-components/asset-gallery/src/abstract.portal.element.ts @@ -0,0 +1,60 @@ +import {ContextModel} from './model/context.model'; + +/** + * Developer Portal requires the web-components, created by Administrators, to extend this class AbstractPortalElement + * + * Developer Portal rendering engine will invoke setContext method to set applicable context data, navigator function and localize function. + * + * It is recommended to write the rendering logic of the web-components with render() function as the initiator. + */ + +export abstract class AbstractPortalElement extends HTMLElement { + + private context: ContextModel; + + /** + * Starting point of the rendering logic. The method will be implemented by extending web-component owned by administrator. + */ + abstract render(): void | Promise; + + /** + * This method will be invoked by web-component rendering engine + */ + setContext(context: ContextModel): void { + this.context = context; + this.render(); + } + + /** + * returns the context data specific to the use-case, if applicable. + * @protected + */ + protected getData(): any { + if (this.context && this.context.getData) { + return this.context.getData(); + } + } + + /** + * navigate to the location mentioned. + * @param path + * @protected + */ + protected navigate(path: string): void { + if (this.context && this.context.navigate) { + this.context.navigate(path); + } + } + + /** + * Provides the value for the given property key. If the key doesnt exist, key string itself will be returned. + * @param key + * @protected + */ + protected getLocaleString(key: string): string { + if (this.context && this.context.getLocaleString) { + return this.context.getLocaleString(key); + } + return key; + } +} diff --git a/samples/web-components/asset-gallery/src/components/asset-box.ts b/samples/web-components/asset-gallery/src/components/asset-box.ts new file mode 100644 index 0000000..c6d3f6d --- /dev/null +++ b/samples/web-components/asset-gallery/src/components/asset-box.ts @@ -0,0 +1,69 @@ +import {AbstractPortalElement} from "../abstract.portal.element"; + +export class AssetBox extends AbstractPortalElement { + private asset: any; + constructor() { + super(); + } + + connectedCallback() { + this.attachShadow({mode: 'open'}); + } + + render(): void | Promise { + this.asset = this.getData(); + this.shadowRoot.innerHTML = this.getTemplate(); + } + + private getTemplate() { + return ` + + + +

${this.asset.name}

+
${this.asset.summary}
+ View details >> + ` + } + + +} diff --git a/samples/web-components/asset-gallery/src/components/gallery-page-component.ts b/samples/web-components/asset-gallery/src/components/gallery-page-component.ts new file mode 100644 index 0000000..3c0aa2d --- /dev/null +++ b/samples/web-components/asset-gallery/src/components/gallery-page-component.ts @@ -0,0 +1,221 @@ +import {AbstractPortalElement} from "../abstract.portal.element"; +import {AssetBox} from "./asset-box"; +import {RequestDataService} from "../service/request.service"; +import {ApiModel} from "../model/data/api.model"; +import {List} from "../model/list"; + +export class GalleryPageComponent extends AbstractPortalElement { + + assetModels: any[] = null; + constructor() { + super(); + } + + connectedCallback() { + this.attachShadow({mode: 'open'}); + } + + async render(): Promise { + this.shadowRoot.innerHTML = ''; + this.shadowRoot.getElementById('gallery').innerHTML = this.getTemplate(); + + const assetDivContent: HTMLDivElement = document.createElement('div'); + assetDivContent.classList.add('content'); + assetDivContent.setAttribute('id', 'apicontent'); + this.shadowRoot.getElementById('gallery').appendChild(assetDivContent); + + this.shadowRoot.querySelectorAll('.dropbtn').forEach( + e => e.addEventListener('click', (event) => { + this.shadowRoot.getElementById('myDropdown').classList.toggle('show'); + }) + ); + + this.shadowRoot.getElementById('myDropdown').querySelectorAll('.group').forEach( + e => { + e.addEventListener('click', (event) => { + var groupBy: string = e.id; + this.shadowRoot.getElementById('dropbtn_text').innerText = e.innerHTML; + this.shadowRoot.getElementById('apicontent').innerHTML = ""; + this.renderAssetBox(this.assetModels); + }) + } + ) + + await this.getAssets('/portal/rest/v1/types/tickets/instances'); + } + + async getAssets(link: string) { + const service = new RequestDataService(); + const assets: List = await service.getAsJSON(link); + this.assetModels = assets.result; + this.renderAssetBox(assets.result); + } + + private renderAssetBox(assets: any[]) { + let apicontent: HTMLElement = this.shadowRoot.getElementById('apicontent'); + + const divHeading: HTMLElement = document.createElement('div'); + divHeading.classList.add('apis'); + + apicontent.appendChild(divHeading); + + assets.forEach(api => { + const htmlElement: HTMLElement = document.createElement('asset-box'); + htmlElement.setAttribute("class", "api"); + divHeading.appendChild(htmlElement); + (htmlElement as AssetBox).setContext({ + getData: () => api, + getLocaleString: this.getLocaleString, + navigate: this.navigate + }); + }); + } + + + private getTemplate() { + return ` + +
+

Asset gallery

+ +
+ ` + } + + +} \ No newline at end of file diff --git a/samples/web-components/asset-gallery/src/index.ts b/samples/web-components/asset-gallery/src/index.ts new file mode 100644 index 0000000..5c53b37 --- /dev/null +++ b/samples/web-components/asset-gallery/src/index.ts @@ -0,0 +1,4 @@ +import {AssetBox} from "./components/asset-box"; + + +customElements.define("wc-asset-box", AssetBox) diff --git a/samples/web-components/asset-gallery/src/model/context.model.ts b/samples/web-components/asset-gallery/src/model/context.model.ts new file mode 100644 index 0000000..39793d4 --- /dev/null +++ b/samples/web-components/asset-gallery/src/model/context.model.ts @@ -0,0 +1,5 @@ +export class ContextModel { + getData: () => any; + navigate: (path: string) => void; + getLocaleString: (key: string) => string; +} diff --git a/samples/web-components/asset-gallery/src/model/data/api.model.ts b/samples/web-components/asset-gallery/src/model/data/api.model.ts new file mode 100644 index 0000000..cfc6e58 --- /dev/null +++ b/samples/web-components/asset-gallery/src/model/data/api.model.ts @@ -0,0 +1,11 @@ +import {RepositoryModel} from './repository.model'; + +export class ApiModel extends RepositoryModel { + + type: string; + + constructor(name: string, id: string, summary: string, description: string, type: string) { + super(name, id, summary, description); + this.type = type; + } +} diff --git a/samples/web-components/asset-gallery/src/model/data/filter.model.ts b/samples/web-components/asset-gallery/src/model/data/filter.model.ts new file mode 100644 index 0000000..d2c32b1 --- /dev/null +++ b/samples/web-components/asset-gallery/src/model/data/filter.model.ts @@ -0,0 +1,7 @@ +export class FilterModel { + categories: string[] = []; + maturityStatus: string[] = []; + tags: string[] = []; + businessTerms: string[] = []; + type: string[] = []; +} \ No newline at end of file diff --git a/samples/web-components/asset-gallery/src/model/data/repository.model.ts b/samples/web-components/asset-gallery/src/model/data/repository.model.ts new file mode 100644 index 0000000..901906f --- /dev/null +++ b/samples/web-components/asset-gallery/src/model/data/repository.model.ts @@ -0,0 +1,14 @@ +export class RepositoryModel { + name: string; + id: string; + summary: string; + description: string; + + + constructor(name: string, id: string, summary: string, description: string) { + this.name = name; + this.id = id; + this.summary = summary; + this.description = description; + } +} diff --git a/samples/web-components/asset-gallery/src/model/list.ts b/samples/web-components/asset-gallery/src/model/list.ts new file mode 100644 index 0000000..32ab8a6 --- /dev/null +++ b/samples/web-components/asset-gallery/src/model/list.ts @@ -0,0 +1,5 @@ +export class List { + count = 0; + result: T[] = []; + _links: any; +} diff --git a/samples/web-components/asset-gallery/src/service/request.service.ts b/samples/web-components/asset-gallery/src/service/request.service.ts new file mode 100644 index 0000000..00e372b --- /dev/null +++ b/samples/web-components/asset-gallery/src/service/request.service.ts @@ -0,0 +1,42 @@ +/** + * Data service - For HTTP Invocation + */ +export class RequestDataService { + + /** + * Returns the data for GET request for the given url + * @param url + */ + getAsJSON(url: string): Promise { + return fetch(url, { + method: 'get', + headers: { + 'Accept': 'application/json', + 'Content-Type': 'application/json', + 'xsrf-token': this.getCookie('xsrf-token') + } + }).then((response) => { + return response.json(); + }).then(function(text) { + return text; + }); + } + + /** + * Get the cookie value for the given name. + * @param name + */ + getCookie(name: string): string { + const nameLenPlus = (name.length + 1); + return document.cookie + .split(';') + .map(c => c.trim()) + .filter(cookie => { + return cookie.substring(0, nameLenPlus) === `${name}=`; + }) + .map(cookie => { + return (cookie.substring(nameLenPlus)); + })[0] || null; + } + +} diff --git a/samples/web-components/asset-gallery/tsconfig.json b/samples/web-components/asset-gallery/tsconfig.json new file mode 100644 index 0000000..f32cab4 --- /dev/null +++ b/samples/web-components/asset-gallery/tsconfig.json @@ -0,0 +1,71 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ + "module": "es2015", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ + // "lib": [], /* Specify library files to be included in the compilation. */ + // "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true, /* Report errors in .js files. */ + // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */ + // "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ + "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + // "outDir": "./", /* Redirect output structure to the directory. */ + // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + // "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": true, /* Enable all strict type-checking options. */ + "noImplicitAny": false, /* Raise error on expressions and declarations with an implied 'any' type. */ + "strictNullChecks": false, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + // "noPropertyAccessFromIndexSignature": true, /* Require undeclared properties from index signatures to use element accesses. */ + + /* Module Resolution Options */ + // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + + /* Advanced Options */ + "skipLibCheck": true, /* Skip type checking of declaration files. */ + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + } +} diff --git a/samples/web-components/asset-gallery/webpack.config.js b/samples/web-components/asset-gallery/webpack.config.js new file mode 100644 index 0000000..f70a063 --- /dev/null +++ b/samples/web-components/asset-gallery/webpack.config.js @@ -0,0 +1,24 @@ +const path = require('path'); + +module.exports = { + mode: "production", + // devtool: 'eval-source-map', + entry: './src/index.ts', + module: { + rules: [ + { + test: /\.ts$/, + use: 'ts-loader', + include: [path.resolve(__dirname, 'src')] + } + ] + }, + resolve: { + extensions: ['.ts', '.js'] + }, + output: { + publicPath: "public", + filename: "assetgallery.js", + path: path.resolve(__dirname, 'public') + } +} diff --git a/samples/web-components/swagger-ui/swagger-ui.js b/samples/web-components/swagger-ui/swagger-ui.js new file mode 100644 index 0000000..189b896 --- /dev/null +++ b/samples/web-components/swagger-ui/swagger-ui.js @@ -0,0 +1,44 @@ + +export class SwaggerUiElement extends HTMLElement { + + _context; + constructor() { + super(); + } + setContext(context) { + this._context = context; + } + + connectedCallback() { + + + const linkElement = document.createElement('link'); + linkElement.rel = 'stylesheet'; + linkElement.href = 'https://unpkg.com/swagger-ui-dist@4.5.0/swagger-ui.css'; + document.head.appendChild(linkElement); + + let elementByTagName = document.getElementsByTagName('customize-swagger-ui'); + const divElement = document.createElement('div'); + divElement.setAttribute("id","swagger-ui"); + + elementByTagName[0].appendChild(divElement); + + const scriptElement = document.createElement('script'); + scriptElement.src = 'https://unpkg.com/swagger-ui-dist@4.5.0/swagger-ui-bundle.js'; + scriptElement.crossOrigin =''; + document.body.appendChild(scriptElement); + + + setTimeout(()=> { + let attachments = this._context.getData().attachments; + let uri = '/portal'+attachments.find(a => a.name.endsWith('swagger.json')).uri; + + window.ui = new SwaggerUIBundle({ + url: uri, + dom_id: '#swagger-ui' + }); + }, 1000); + } +} + +customElements.define('customize-swagger-ui', SwaggerUiElement); \ No newline at end of file diff --git a/samples/web-components/wc-twitter/LICENSE b/samples/web-components/wc-twitter/LICENSE new file mode 100644 index 0000000..632536e --- /dev/null +++ b/samples/web-components/wc-twitter/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Nagarajan Sivaraman + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/samples/web-components/wc-twitter/README.md b/samples/web-components/wc-twitter/README.md new file mode 100644 index 0000000..295b77d --- /dev/null +++ b/samples/web-components/wc-twitter/README.md @@ -0,0 +1,15 @@ +# About Web Component Samples + + +### Development +This project is a single twitter timeline rendering JavaScript file. + +### Pre requirement + + +### Tag included + +`wc-twitter-timeline` + +Renders the provided twitter feeds with specified width/height + diff --git a/samples/web-components/wc-twitter/src/js/twitter.timeline.element.js b/samples/web-components/wc-twitter/src/js/twitter.timeline.element.js new file mode 100644 index 0000000..7b7335f --- /dev/null +++ b/samples/web-components/wc-twitter/src/js/twitter.timeline.element.js @@ -0,0 +1,22 @@ +export class TwitterTimelineElement extends HTMLElement { + + + constructor() { + super(); + } + + connectedCallback() { + const url = 'https://twitter.com/SoftwareAG?ref_src=twsrc%5Etfw'; + this.innerHTML = ''; + this.loadWidgetJs(); + } + + loadWidgetJs() { + const scriptElement = document.createElement('script'); + scriptElement.async = true; + scriptElement.src = 'https://platform.twitter.com/widgets.js'; + document.head.appendChild(scriptElement); + } +} + +customElements.define('wc-twitter-timeline', TwitterTimelineElement); diff --git a/samples/web-components/wc-youtube/LICENSE b/samples/web-components/wc-youtube/LICENSE new file mode 100644 index 0000000..632536e --- /dev/null +++ b/samples/web-components/wc-youtube/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Nagarajan Sivaraman + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/samples/web-components/wc-youtube/README.md b/samples/web-components/wc-youtube/README.md new file mode 100644 index 0000000..8396fbd --- /dev/null +++ b/samples/web-components/wc-youtube/README.md @@ -0,0 +1,15 @@ +# About Web Component Samples + + +### Development +This project is a single youtube video rendering JavaScript file. + +### Pre requirement + + +### Tag included + +`wc-youtube` + +Renders the provided video with specified width/height + diff --git a/samples/web-components/wc-youtube/src/js/youtube.element.js b/samples/web-components/wc-youtube/src/js/youtube.element.js new file mode 100644 index 0000000..98acb67 --- /dev/null +++ b/samples/web-components/wc-youtube/src/js/youtube.element.js @@ -0,0 +1,20 @@ +/** + * Web component for rendering a youtube video + * + * To fix the heigh/width of the video, you can adjust the width/height properties for iframe + */ + +export class YouTubeElement extends HTMLElement { + + constructor() { + super(); + } + + connectedCallback() { + const url = 'https://www.youtube.com/embed/XDBDczyF8Vc'; + this.attachShadow({mode: 'open'}); + this.shadowRoot.innerHTML = ''; + } +} + +customElements.define('wc-youtube', YouTubeElement);