openapi: 3.0.0 info: title: Oracle SD-WAN REST API Endpoints description: REST API Endpoints for SD-WAN Edge version: "R9.0" tags: - name: SD-WAN REST APIs description: Public APIs available on SD-WAN servers: - url: "https://localhost/" security: - cookieAuth: [] components: securitySchemes: cookieAuth: type: apiKey in: cookie name: CGISESSID # Reusable schemas (data models) schemas: 400MalformedPOST: type: object properties: status: type: string example: fail message: type: string example: Malformed JSON string in POST data 401NotLoggedin: type: object properties: status: type: string example: fail message: type: string example: Not logged in. 403InsufficientUserLevel: type: object properties: status: type: string example: fail user_name: type: string example: username user_level: type: string example: GUEST required_user_level: type: string example: ADMIN message: type: string example: "User Level for user is not sufficient for this operation." 403InvalidPostRequest: type: object properties: status: type: string example: fail user_name: type: string example: username message: type: string example: Invalid POST Request 403TimedOutPostRequest: type: object properties: status: type: string example: fail user_name: type: string example: username message: type: string example: POST Request Timed Out 405ExpectedPost: type: object properties: status: type: string example: fail message: type: string example: Operation must use a POST 405ExpectedGet: type: object properties: status: type: string example: fail message: type: string example: Operation must use a GET 405Disabled: type: object properties: status: type: string example: fail message: type: string example: Service is already disabled. 405CMstate: type: object properties: status: type: string example: fail message: type: string example: "change_management/ must be in the state." # reusable examples examples: MalformedPOST: summary: Malformed JSON string value: status: fail message: Malformed JSON string in POST data InsufficientUserLevel: summary: Insufficient Userlevel value: status: fail user_name: username user_level: ADMIN required_user_level: GUEST message: "User Level for user is not sufficient for this operation." InvalidPostRequest: summary: Invalid request method value: status: fail user_name: username message: Invalid POST Request TimedOutPostRequest: summary: POST request timed out value: status: fail user_name: username message: POST Request Timed Out InvalidFileExtension: summary: Invalid file extension value: status: fail message: "Invalid filename argument, not a file." Disabled: summary: Service already disabled value: status: fail message: Service is already disabled. CMstate: summary: Change Management in wrong state value: status: fail message: "change_management/ must be in the state." #------------------------ # Reusable responses #------------------------ responses: "400": description: Malformed JSON string in POST data content: application/binary: schema: $ref: "#/components/schemas/400MalformedPOST" "400Upload": description: Malformed POST data content: application/json: examples: response1: $ref: "#/components/examples/MalformedPOST" response3: $ref: "#/components/examples/InvalidFileExtension" "401": description: Not Logged into the SDWAN-Edge device content: application/json: schema: $ref: "#/components/schemas/401NotLoggedin" "403": description: Insufficient Userlevel content: application/json: schema: $ref: "#/components/schemas/403InsufficientUserLevel" "403Post": description: Invalid POST request content: application/json: examples: response1: $ref: "#/components/examples/InsufficientUserLevel" response2: $ref: "#/components/examples/InvalidPostRequest" response3: $ref: "#/components/examples/TimedOutPostRequest" "405ExpectedGet": description: Invalid request method content: application/json: schema: $ref: "#/components/schemas/405ExpectedGet" "405ExpectedPost": description: Invalid request method content: application/json: schema: $ref: "#/components/schemas/405ExpectedPost" "405ExpectedPostOrDisabled": description: Invalid request method content: application/json: examples: response1: $ref: "#/components/examples/InvalidPostRequest" response2: $ref: "#/components/examples/Disabled" "405ExpectedPostOrCMstate": description: Invalid request method content: application/json: examples: response1: $ref: "#/components/examples/InvalidPostRequest" response2: $ref: "#/components/examples/CMstate" paths: /restapi/login: post: tags: - Login summary: Logs user in and returns a timestamp and a session cookie requestBody: required: true description: A JSON object containing the login and password content: application/json: schema: type: object properties: login: type: object properties: username: type: string example: talariuser password: type: string example: talaripass responses: "200": description: Result OK headers: Set-Cookie: schema: type: string example: "CGISESSID=7fcc8ece126ac7e4531aab86f92168ad" content: application/json: examples: response1: summary: Successful login value: status: "success" user_level: 1 user_level_str: "admin" message: "Login Success - Created session for user talariuser - level: admin" timestamp: "MXe8234hjDs23==" response2: summary: Default password must change value: status: "success" message: "Default User: talariuser password must be changed" timestamp: "MXe8234hjDs23==" "405": $ref: "#/components/responses/405ExpectedPost" /restapi/getNewTimestamp: get: tags: - Timestamp summary: Gets a new timestamp for all POST calls responses: "200": description: Result OK content: application/json: schema: type: object example: {"status":"success","timestamp":"MXe8234hjDs23=="} properties: status: type: string example: "success" timestamp: type: string example: "MXe8234hjDs23==" "405": $ref: "#/components/responses/405ExpectedGet" /restapi/logout: post: tags: - Logout summary: Logs user out description: Deletes the session for the user responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success message: type: string example: Logout Success - Deleted session for user talariuser "401": $ref: "#/components/responses/401" "405": $ref: "#/components/responses/405ExpectedPost" /v1/admin/topmenu/siteInfo: get: tags: - SD-WAN Edge Information summary: Gets the Site Information like Name, Type, HA Status responses: "200": description: Result OK content: application/json: schema: type: object example: { "status": "success", "localSiteID": "0", "data": [ [ { "siteInfo": [ { "disabled": 0, "siteName": "NCN0", "ha": "", "apn": "SD-WAN Controller", }, ], }, ], ], } properties: status: type: string example: "success" data: type: object properties: siteInfo: type: object properties: "disabled": type: boolean example: 0 "siteName": type: string example: "NCN0" "ha": type: string enum: ["HA-Active", "HA-Standby", "HA-Disabled", ""] example: "HA-Active" "apn": type: string enum: [ "SD-WAN Contoller", "Client", "Geo", "SD-WAN Edge", ] example: "SD-WAN Controller" "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/system/system_info: get: tags: - SD-WAN Edge Information summary: Gets the Site's System Information like Software Version, Mode, siteName etc. responses: "200": description: Result OK content: application/json: examples: success1: summary: Example of a successful response with Valid Return Data value: status: "success" data: [ [ { "systemInfo": [ [ { "mode": "SD-WAN Controller" }, { "siteName": "NCN0" }, { "SD-WAN Edge Mode": "SD-WAN Controller" }, { "Management IP": "(Not configured)" }, { "Hardware Model": "VT800v1" }, { "Software Version": "9.0.0.0.0" }, { "Software Build Label": "R9_0_0_0_0_DEV_01162020", }, { "Built On": " Jan 16 2020 at 17:40:49" }, { "SD-WAN Edge Uptime": "8 day(s):03 hour(s):01 minute(s):39 second(s)", }, { "Service Uptime": "5 day(s): 00 hour(s):28 minute(s):52 second(s)", }, { "OS Partition Version": 7.0 }, { "OS Build Label": "7.0.0.0.0 (OS_7.0.0.0.0_GA_11122019)", }, { "Serial Number": "17c5a8b-9b9f-3b41-874c-32c0a74ae7d8", }, { "BIOS version": "1.11.0-2.el7" }, ], ], }, ], ] "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/system/ethernet_info: get: tags: - SD-WAN Edge Information summary: Gets the Site's Ethernet Information. responses: "200": description: Result OK content: application/json: schema: type: object example: { "status": "success", "data": [ [ { "ethInfo": [ [ [ { "ethPortName": "MGT" }, { "devName": "tn-mgt0" }, { "mac": "fa:16:3f:76:5a:f6" }, ], ], ], }, ], ], } properties: status: type: string example: "success" data: type: object properties: ethInfo: type: object properties: "ethPortName": type: string example: "MGT" "devName": type: string example: "tn-mgt0" "mac": type: string example: "fa:16:3f:76:5a:f6" "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/system/hd_info: get: tags: - SD-WAN Edge Information summary: Gets the Site's HD Information like Active OS Parition, HD Usagage etc. responses: "200": description: Result OK content: application/json: schema: type: object example: { "status": "success", "data": [ [ { "hdInfo": [ [ { "Active OS partition": "82%" }, { "/home/talariuser directory": "11%" }, { "WANOp Cache": "0%" }, { "hdUsageViewDetails": [ { "user_partition_string": "Active OS partition", }, { "usage": 16, "file_path": "/tmp", "acceptable_val": "100 MB", "percent": 16.00, }, { "usage": 2115, "percent": 15.89, "home_acceptable_usages": "13 GB", "home_file_path": "T2_Stats & T2_Config", }, { "WANOp Cache Size": "100GB", "Used_disk_Cache": "0GB", }, [ { "df-l-output": [ { "0-df": [ { "filesystem": "devtmpfs", }, { "1kb": 4062740 }, { "used": 0 }, { "available": 4062740 }, { "pctused": "0%" }, { "mountedon": "/dev" }, ], }, ], }, ], ], }, ], ], }, ], ], } properties: status: type: string example: "success" data: type: object properties: hdInfo: type: object properties: "Active OS partition": type: string example: "82%" "/home/talariuser directory": type: string example: "11%" "WANOp Cache": type: string example: "0%" "hdUsageViewDetails": type: object example: [ { "user_partition_string": "Active OS partition", }, { "usage": 16, "file_path": "/tmp", "acceptable_val": "100 MB", "percent": 16.00, }, ] properties: "user_partition_string": type: string example: "Active OS partition" "WANOp Cache Size": type: string example: "100GB" "Used_disk_Cache": type: string example: "0GB" "usage": type: integer example: 16 "file_path": type: string example: "/tmp" "acceptable_val": type: string example: "100 MB" "percent": type: string example: "16.00" "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /restapi/reboot: post: tags: - Manage Appliance summary: Sends command to appliance to reboot requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success message: type: string example: Appliance is rebooting. "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPost" /v1/admin/manage_appliance/restartAppliance: post: tags: - Manage Appliance summary: Gets the restart Information. requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: examples: response1: summary: Successful appliance restart value: status: "success" data: 1 "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPost" /v1/admin/log_diag/diagDumpOperations: post: tags: - Troubleshoot summary: User can create, download or delete diagnostics packages. requestBody: required: true description: A JSON object containing the diag dump operation, the filename, and the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" diagnostics: type: object properties: operation: type: string enum: ["create", "download", "delete"] example: create filename: type: string example: NCN0-2019-11-21-20-10-diagnostics.tar.gz responses: "200": description: Result OK content: application/json: examples: response1: summary: Successful Diagdump Creation value: status: "success" data: " Successfully Created Diagnostics File xyz-abc.tar.gz" response2: summary: Successful Diagdump Deletion value: status: "success" data: " Successfully Deleted Diagnostics File xyz-abc.tar.gz" response3: summary: Successful Diagdump Download value: "" response4: summary: Failed Diagdump Download - File Not Available value: status: "fail" data: "File not found xyz-abc.tar.gz." response5: summary: Failed Diagdump Deletion value: status: "fail" data: "Could not delete Diagnostics File xyz-abc.tar.gz." response6: summary: Failed Diagdump Creation value: status: "fail" data: "5 or more diagnostics packages found, please delete and then retry." response7: summary: Incorrect params value: status: "fail" data: "Incorrect param ..." "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPost" /v1/admin/application/cumulativeUsage: get: tags: - Application summary: Get Cumulative usage information responses: "200": description: Result OK content: application/json: examples: response1: summary: Cumulative usage information value: status: "success" data: [ [ { "applicationResult": [ { "timestamp": "5:43:20 on 5/20/2020", "results": [ { "appID": 0, "appName": "application_1", "totMBytesS": 5, "catName": "Other", "totMBytesRS": "281, 5", "totMBytesR": 281, "totMB": 286, }, ], }, ], "categoryResult": [ { "timestamp": "5:43:20 on 5/20/2020", "results": [ { "totMBytesS": 5, "catAppCount": 16, "catName": "Other", "totMBytesRS": "281, 5", "totMBytesR": 281, "totMB": 286, }, ], }, ], }, ], ] response2: summary: Disabled mode value: status: "success" data: "Disabled." response3: summary: Ha-Standby mode value: status: "success" data: "HA-Standby." "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/statistics/classes: get: tags: - Statistics summary: get classes and their status parameters: - in: query name: do_clear schema: type: boolean description: "Set to 'true', to get latest data or set to 'false', to get average data" example: true - in: query name: tableid schema: type: integer description: Get the tableid corresponding to conduit from the rest end point /v1/admin/statistics/conduit_names example: 1 responses: "200": description: Result OK content: application/json: examples: response1: summary: Data Mapping value: { "web_classes1": [ [ "Class", "Name", "Type", "Wait(ms)", "Pending KB", "Pending Pkts", "Sent KB", "Sent Pkts", "Dropped KB", "Dropped Pkts", "Kbps", ], ], } response2: summary: Class Statistics value: { "web_classes1": [[0, "class_0", "bulk", 0, 0, 0, 0, 0, 0, 0, 0.00]], "sEcho": 0, "iTotalRecords": 2, "iTotalDisplayRecords": 2, "summaryDeltaSeconds": 379492.561, } response3: summary: Disabled value: { "status": "success", "data": [ [ { "isDisabled": 1, "disabledOutput": { "cm_net": 0, "cm_local": 0, "add_enable_button": 1, "out_str": "The Oracle service has previously been disabled from the web interface. The Oracle service was disabled at: Tue May 26 06:20:06 2020", "extra_html": "", }, }, ], ], } response4: summary: HA-Standby value: { "status": "success", "data": "HA-Standby." } "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/statistics/conduit_names: get: tags: - Statistics summary: get_conduit_list responses: "200": description: Result OK content: application/json: examples: response1: summary: Conduit names value: { "status": "success", "data": [ [ { "conduits": [ { "value": 1, "label": "NCN0-CLIENT1" }, { "value": 2, "label": "NCN0-CLIENT2" }, ], }, ], ], } "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/statistics/conduits: get: tags: - Statistics summary: get conduits and their status parameters: - in: query name: do_clear schema: type: boolean description: "Set to 'true', to get latest data or set to 'false', to get average data" example: true responses: "200": description: Result OK content: application/json: examples: response1: summary: Data Mapping value: { "web_service1": [ [ "From Site", "To Site", "State", "MTU", "Latency BOWT (ms)", "Worst Jitter (ms)", "Best Jitter (ms)", "Receive Rate(Kbps)", "Conduit Type", "Since Created(s)", "WAN Link Congested", "IPsec Tunnel State", ], ], } response2: summary: Example Values value: { "web_service1": [ [ "JM-CL1", "JM-NCN", "GOOD", "N/A", 5, 4, 4, 40.00, "Static", "-", "NO", "-", ], ], "sEcho": 1, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "summaryDeltaSeconds": 8.672, } response3: summary: Disabled value: { "status": "success", "data": "Disabled." } response4: summary: HA-Standby value: { "status": "success", "data": "HA-Standby." } "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/statistics/ethernet: get: tags: - Statistics summary: get ethernet statistics responses: "200": description: Result OK content: application/json: examples: response1: summary: Data Mapping value: { "web_ethernet1": [ [ "Port", "Link State", "Frames Sent", "Bytes Sent", "Frames Received", "Bytes Recevied", "Errors", ], ], } response2: summary: Example Values value: { "web_ethernet1": [ [ "AUX", "UP", 3534708, 321874796, 1105355, 89293609, 0, ], [1, "UP", 1021753, 84897903, 1607243, 126463186, 0], ], "sEcho": 0, "iTotalRecords": 5, "iTotalDisplayRecords": 5, "summaryDeltaSeconds": 0, } response3: summary: Disabled value: { "status": "success", "data": "Disabled." } response4: summary: HA-Standby value: { "status": "success", "data": "HA-Standby." } "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/statistics/ip_sec_tunnel: get: tags: - Statistics summary: IPSec tunnel statistics parameters: - in: query name: do_clear schema: type: boolean description: "To get latest data, set this to 'true'. To get average data, set this to 'false'" example: true responses: "200": description: Result OK content: application/json: examples: response1: summary: Data Mapping value: { "web_ipsec_tunnel1": [ [ "Name", "State", "Service Type", "Packets Received", "Kbps Received", "Packets Sent", "Kbps Sent", "Packets Dropped", "Bytes Dropped", "MTU", ], ], } response2: summary: Example Values value: { "web_ipsec_tunnel1": [ [ "NCN_AZVW_Int_North_Central", "GOOD", "Intranet", 0, 0.00, 0, 0.00, 0, 0, 1431, ], ], "sEcho": 1, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "summaryDeltaSeconds": 14.79, } response3: summary: Disabled value: { "status": "success", "data": "Disabled." } response4: summary: HA-Standby value: { "status": "success", "data": "HA-Standby." } "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/statistics/paths_adv: get: tags: - Statistics summary: get paths advanced parameters: - in: query name: do_clear schema: type: boolean description: "To get latest data, set this to 'true'. To get average data, set this to 'false'" example: true responses: "200": description: Result OK content: application/json: examples: response1: summary: Data Mapping value: { "web_paths_adv1": [ [ "Num", "From Link", "To Link", "Cong", "Path State", "Reason", "Duration (S)", "Conduit State", "Src Port", "Dst Port", "MTU", "BOWT (mS)", "Jitter (mS)", "Packets Received", "OOO", "Loss %", "Kbps", "Conduit Type", ], ], } response2: summary: Example Values value: { "web_paths_adv1": [ [ 1, "JM-NCN-WL-1", "JM-CL1-WL-1", "UNKNOWN", "DEAD", "SILENCE", 29162, "DEAD", 2156, 2156, 1488, 9999, 0, 0, 0, 0.00, 0.00, "Static", ], ], "sEcho": 1, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "summaryDeltaSeconds": 422.834, } response3: summary: Disabled value: { "status": "success", "data": "Disabled." } response4: summary: HA-Standby value: { "status": "success", "data": "HA-Standby." } "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/statistics/qoe: get: tags: - Statistics summary: Local & Remote MOS responses: "200": description: Result OK content: application/json: examples: okresponse: summary: QoE Remote & Local Data value: - timestamp: '23:26:44 on 6/17/2020' qoelocal: - Worst_Owt: 8 WAN_Egress_Packets_Lost_For_Worst_Loss: 0 weMOSWorst: 4.4 Application_Name: DEFAULT_ICMP weMOS: 4.4 Total_Owt: 2 Update_Epoch_Time_mS: 1592450804989 Packets_Received_For_OWT: 119 Packets_Received_For_Worst_Loss: 2 Name: NCN0-CLIENT3 WAN_Egress_Packets_Lost: 0 Minute: 276 qoeremote: - Remote_Worst_Owt: 9 Remote_Owt_Per_Min: 2 Remote_Worst_Packets_Received: 3 wiMOS: 4.4 Remote_Packets_Lost_Per_Min: 0 Remote_Packets_Received_Per_Min: 119 Remote_Worst_Packets_Lost: 0 Application_Name: DEFAULT_ICMP wiMOSWorst: 4.4 Update_Epoch_Time_mS: 1592450804989 Name: NCN0-CLIENT3 Minute: 276 disabled: summary: Disabled value: {"status":"success","data":"Disabled."} ha-stanby: summary: HA-Satndby value: {"status":"success","data":"HA-Standby."} "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/statistics/qoe_worst: get: tags: - Statistics summary: Worst MOS responses: "200": description: Result OK content: application/json: examples: response1: summary: QoE Worst MOS Data value: - timetaken: '22:17:44 on 6/17/2020' qoechart: - localMOS: 4.4 mosPct: 98 remoteMOS: 4.4 color: blue Application_Name: DEFAULT_ICMP Update_Epoch_Time_mS: 1592446664982 mosWorst: 4.4 Name: NCN0-CLIENT3 Minute: 207 disabledresponse: summary: Disabled value: {"status":"success","data":"Disabled."} hastandbyresponse: summary: HA-Satndby value: {"status":"success","data":"HA-Standby."} "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/statistics/routingDomainAndTableId: get: tags: - Statistics summary: Routing Domains and their corresponding tabledId's responses: "200": description: Result OK content: application/json: examples: response1: summary: Routing Domain name and its corresponding tableId value: { "data": [ { "routing_domain_name": "Default_RoutingDomain", "tableid": 1, }, { "routing_domain_name": "RD2", "tableid": 2 }, { "routing_domain_name": "RD3", "tableid": 3 }, { "routing_domain_name": "RD4", "tableid": 4 }, ], } response2: summary: Disabled value: { "status": "success", "data": "Disabled." } "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/statistics/routes: get: tags: - Routes summary: Get routes data for a given routing domain parameters: - in: query name: do_clear schema: type: boolean description: "Set to 'true', to get latest data or set to 'false', to get average data" example: true - in: query name: tableid schema: type: integer description: Get the TableId which is corresponding to the RoutingDomain from the rest end point /v1/admin/statistics/routingDomainAndTableId example: 1 - in: query name: routing_domain_name schema: type: string description: Get the RoutingDomain which is corresponding to the TableId from the rest end point /v1/admin/statistics/routingDomainAndTableId example: RD1 responses: '200': description: Result OK content: application/json: examples: response1: summary: Data Mapping - Routes value: { "web_routes1": [["Num", "Network Addr", "Gateway IP Address", "Service", "Firewall Zone", "Reachable", "Site Ip Address", "Site", "Type", "Protocol", "Neighbor Direct", "Cost", "Hit Count", "Eligible", "Eligibility Type", "Eligibility Value"]]} response2: summary: Example Values - Routes value: { "web_routes1": [[0, "10.210.1.0/30", "*", "Local", "Default_LAN_Zone", "YES", "*", "NCN0", "Static", "-", "-", 5, 0, "YES", "N/A", "N/A"]], "sEcho": 0, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "summaryDeltaSeconds": 379492.561 } response3: summary: Disabled value: {"status":"success", "data":"Appliance is disabled."} "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" '405': $ref: "#/components/responses/405ExpectedGet" /v1/admin/statistics/wan_link: get: tags: - Statistics summary: get wan link statistics parameters: - in: query name: do_clear schema: type: boolean description: "To get latest data, set this to 'true'. To get average data, set this to 'false'" example: true - in: query name: tableid schema: type: integer description: "Set this value to one of the following values to get relevant data:
1 - WAN Link Statistics
2 - Conduit Data Rates
4 - Internet Data Rates
5 - Intranet Data Rates" example: 1 responses: "200": description: Result OK content: application/json: examples: response1: summary: Data Mapping - WAN Link Statistics value: { "web_wanlink1": [ [ "WAN Link", "Access Interface", "Routing Domain", "IP Address", "Proxy Address", "Proxy ARP State", "MAC", "Last ARP Reply Age (ms)", ], ], } response2: summary: Example Values - WAN Link Statistics value: { "web_wanlink1": [ [ "JM-CL1-WL-1", "N/A", "Default_RD_TN", "10.1.1.15", "10.1.1.15", "N/A", "N/A", "N/A", ], ], "sEcho": 1, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "summaryDeltaSeconds": 0, } response3: summary: Data Mapping - Conduit Data Rates value: { "web_wanlink1": [ [ "Name", "Routing Domain", "Direction", "Conduit Packets", "Conduit KB", "Delta Conduit Packets", "Delta Conduit KB", "Conduit Kbps", "IP,TCP,UDP Header Compression Bytes Saved", ], ], } response4: summary: Example Values - Conduit Data Rates value: { "web_wanlink2": [ [ "JM-NCN-WL-1", "Default_RD_TN", "Recv", 1666136, 195378.98, 1666136, 195378.98, 0.00, 0, ], ], "sEcho": 1, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "summaryDeltaSeconds": 1591711046.434, } response5: summary: Data Mapping - Internet/Intranet Data Rates value: { "web_wanlink4": [ [ "Name", "Routing Domain", "Direction", "Internet/Intranet Packets", "Internet/Intranet KB", "Delta Internet/Intranet Packets", "Delta Internet/Intranet KB", "Internet/Intranet Kbps", ], ], } response6: summary: Example Values - Internet Data Rates value: { "web_wanlink4": [ [ "JM-NCN-WL-1", "Default_RD_TN", "Recv", 0, 0.00, 0, 0.00, 0.00, ], ], "sEcho": 1, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "summaryDeltaSeconds": 0, } response7: summary: Example Values - Internet Data Rates value: { "web_wanlink5": [ [ "JM-NCN-WL-1", "Default_RD_TN", "Recv", 0, 0.00, 0, 0.00, 0.00, ], ], "sEcho": 1, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "summaryDeltaSeconds": 0, } response8: summary: Disabled value: { "status": "success", "data": "Disabled." } response9: summary: HA-Standby value: { "status": "success", "data": "HA-Standby." } "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /v1/admin/statistics/site: get: tags: - Statistics summary: get statistics for the site parameters: - in: query name: do_clear schema: type: boolean description: "Set to 'true', to get latest data or set to 'false', to get average data" example: true - in: query name: tableid schema: type: integer description: "Set this value to one of the following values to get relevant stats:
1 - Wan ingress stats
2 - Wan egress stats
3 - Passthrough stats" example: 1 responses: "200": description: Result OK content: application/json: examples: response1: summary: Data Mapping - Wan Ingress Stats value: { "web_site1": [ [ "Service", "Packets", "Bytes", "PktsDrop", "BytesDrop", "Pkt/sec", "Kbps", "PktsDrop/s", "KbpsDrop", ], ], } response2: summary: Example Values - Wan Ingress Stats value: { "web_site1": [ [ "Intranet", 412134, 46292840, 9, 1304, 0.00, 0.00, 0.00, 0.00, ], ], "sEcho": 0, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "summaryDeltaSeconds": 382824.682, } response3: summary: Data Mapping - Wan Egress Stats value: { "web_site2": [ [ "Service", "Packets", "Bytes", "PktsDrop", "BytesDrop", "Pkt/sec", "Kbps", "PktsDrop/s", "KbpsDrop", ], ], } response4: summary: Example Values- Wan Egress Stats value: { "web_site2": [ [ "Intranet", 409145, 45977040, 0, 0, 0.00, 0.00, 0.00, 0.00, ], ], "sEcho": 0, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "summaryDeltaSeconds": 382824.682, } response5: summary: Data Mapping - Passthrough Stats value: { "web_site3": [ [ "PktsReceived", "BytesReceived", "PktsSent", "BytesSent", "PktsDrop", "BytesDrop", "PktsReceived/s", "KbpsReceived", "PktsSent/s", "KbpsSent", "PktsDrop/s", "KbpsDrop", ], ], } response6: summary: Example Values - Passthrough Stats value: { "web_site3": [ [ 0, 0, 0, 0, 0, 0, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, ], ], "sEcho": 1, "iTotalRecords": 1, "iTotalDisplayRecords": 1, "summaryDeltaSeconds": 2.145, } response7: summary: Disabled value: { "status": "success", "data": "Disabled." } response8: summary: HA-Satndby value: { "status": "success", "data": "HA-Standby." } "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403" "405": $ref: "#/components/responses/405ExpectedGet" /restapi/change_management/activate: post: tags: - Change Management summary: Activates service on the appliance requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success state: type: string example: activated state_int: type: integer example: 1 message: type: string example: Activation process started. "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPostOrCMstate" "500": description: Error occurred while performing change management content: application/json: schema: type: object properties: status: type: string example: fail message: type: string example: >- Error while attempting to activate the staged software/configuration on all appliances. /restapi/change_management/cancel_staging: post: tags: - Change Management summary: Cancel staging operation and return to change preparation state requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success state: type: string example: staging state_int: type: integer example: 1 message: type: string example: Staging operation cancelled. "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPostOrCMstate" "500": description: Error occurred while cancelling staging content: application/json: schema: type: object properties: status: type: string example: fail message: type: string example: >- Error while attempting to cancel the staging of software/configuration packages. /restapi/change_management/clear_inbox: post: tags: - Change Management summary: Clear out the contents of the change management inbox requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success state: type: string example: staging state_int: type: integer example: 1 message: type: object example: Inbox cleared. "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPostOrCMstate" /restapi/change_management/clear_network_staging: post: tags: - Change Management summary: Clear out the change preparation area requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success state: type: string example: staging state_int: type: integer example: 1 message: type: string example: Staging operation cancelled. data: type: object "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPostOrCMstate" "500": description: Error occurred while clearing change preparation area content: application/json: schema: type: object properties: status: type: string example: fail message: type: string example: >- Error while attempting to cancel the staging of software/configuration packages. /restapi/change_management/get_package_file: post: tags: - Change Management summary: Retrieve a specified software/configuration package requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/binary: schema: type: string format: binary "400": $ref: "#/components/responses/400" "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPostOrCMstate" /restapi/change_management/get_status: get: tags: - Change Management summary: Get current change management status responses: "200": description: Got status of change management content: application/json: schema: type: object properties: data: type: object properties: activate_info: type: string example: Ready for Activation contents: type: array items: type: object state_int: type: integer example: 6 state: type: string example: activate status: type: string example: success "405": $ref: "#/components/responses/405ExpectedGet" /restapi/change_management/ignore_incomplete: post: tags: - Change Management summary: >- Ignore incomplete staging file transfers to remote appliances and continue requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success state: type: string example: staging state_int: type: integer example: 1 message: type: string example: Outstanding incomplete staging file transfers cancelled. "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPostOrCMstate" "500": description: Error occurred while attempting to ignore incomplete staging content: application/json: schema: type: object properties: status: type: string example: fail message: type: string example: >- Error while attempting to ignore incomplete staging of the software/configuration to all appliances. /restapi/change_management/migrate_running_cfg_to_inbox: post: tags: - Change Management summary: >- Migrate current configuration into the inbox to be used in change management requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success state: type: string example: staging state_int: type: integer example: 1 data: type: object "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPostOrCMstate" "500": description: Error occurred while migrating the configuration to the inbox content: application/json: schema: type: object properties: status: type: string example: fail message: type: string example: "Error migrating to the Inbox." /restapi/change_management/prepare_to_stage: post: tags: - Change Management summary: Prepare to stage contents of inbox used in change management requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success state: type: string example: staging state_int: type: integer example: 1 "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPostOrCMstate" "500": description: Error while attempting to perpare the inbox contents for staging content: application/json: schema: type: object properties: status: type: string example: fail message: type: string example: >- Error while attempting to preparing the inbox contents for staging. /restapi/change_management/stage: post: tags: - Change Management summary: Stage contents of inbox used in change management requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success state: type: string example: staging state_int: type: integer example: 1 "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPostOrCMstate" "500": description: Error while attempting to prepare the inbox contents for staging content: application/json: schema: type: object properties: status: type: string example: fail message: type: string example: >- Error while attempting to preparing the inbox contents for staging. /restapi/change_management/upload_file_to_inbox: post: tags: - Change Management summary: Upload a registry package to the appliance requestBody: content: multipart/form-data: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" package: description: The registry package file to upload type: string format: binary responses: "200": description: Result OK content: application/json: examples: response1: summary: Upload succeeded value: status: success state: staging state_int: 1 data: "Successfully uploaded to the Inbox." response2: summary: Upload failed value: status: fail message: Another upload operation is already in progress. "400": $ref: "#/components/responses/400Upload" "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPostOrCMstate" "500": description: Error while attempting to prepare the inbox contents for staging content: application/json: schema: type: object properties: status: type: string example: fail message: type: string example: >- Error while attempting to preparing the inbox contents for staging. /restapi/change_management/verify_inbox: post: tags: - Change Management summary: Verify and validate contents of inbox requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success state: type: string example: staging state_int: type: integer example: 1 config_filename: type: string example: talari_config.cfg message: type: string example: Success verifying network staging package. data: type: object "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPostOrCMstate" /restapi/local_change_management/activate: post: tags: - Local Change Management summary: Activate staged packages for the local appliance requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success local_state: type: string example: staging message: type: string example: Activation process started. "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPostOrCMstate" "500": description: Error occurred while activating staged software/configuration content: application/json: schema: type: object properties: status: type: string example: fail message: type: string example: Error while attempting to activate the staged software/configuration on all SD-WAN Edge. /restapi/local_change_management/get_status: get: tags: - Local Change Management summary: Get current local change management status responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success local_state: type: integer example: 0 data: type: object properties: inbox_files: type: object contents: type: object "405": $ref: "#/components/responses/405ExpectedGet" /restapi/local_change_management/upload_package: post: tags: - Local Change Management summary: Upload a registry package to the appliance for local change management requestBody: content: multipart/form-data: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" file: description: The registry package file to upload type: string format: binary responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success local_state: type: string example: staging data: type: object "400": $ref: "#/components/responses/400Upload" "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPostOrCMstate" /restapi/os_partition/change_partition: post: tags: - OS Partition summary: Change which OS partition will be active on next reboot requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success message: type: string example: OS partition switch complete. "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPost" /restapi/os_partition/get_status: get: tags: - OS Partition summary: Get current OS partition status responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success message: type: string example: Successfully retrieved OS Partition information. data: type: object "405": $ref: "#/components/responses/405ExpectedGet" /restapi/os_partition/install_image: post: tags: - OS Partition summary: Install an uploaded OS image onto the backup OS partition requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success message: type: string example: OS partition install complete. "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPost" /restapi/os_partition/upload_image: post: tags: - OS Partition summary: Upload an OS partition image file requestBody: content: multipart/form-data: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" file: description: The OS image file to upload type: string format: binary responses: "200": description: Result OK content: application/json: examples: response1: summary: Upload succeeded value: status: success message: Upload OS Image file complete. response2: summary: Upload already in progress value: status: fail message: Another upload operation is already in progress. response3: summary: Backup and boot partition are the same value: status: fail message: The Backup Partition and the Next Boot Partition are currently teh same partition - so an upload cannot be performed - do a change_partition operation before proceeding. response4: summary: Cannot verify image value: status: fail message: "Unable to verify the OS Image file . Upload not successful." response5: summary: Compatibility problem value: status: fail message: "Image file compatibility problem." "400": $ref: "#/components/responses/400Upload" "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPost" /restapi/os_partition/clear_uploaded_image: post: tags: - OS Partition summary: Clear an uploaded OS Partition image file requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success message: type: string example: OS Partition upload area cleared data: type: object example: { "image_files": [] } "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPost" /restapi/service/disable: post: tags: - Manage Appliance summary: Disable the appliance requestBody: required: true description: A JSON object containing the diag dump action and timestamp content: application/json: schema: type: object properties: doDiagDump: type: string default: "off" enum: ["on", "off"] example: "on" timestamp: type: string example: "MXe8234hjDs23==" responses: '200': description: Result OK content: application/json: schema: type: object properties: status: type: string example: success message: type: string example: [[{"reason": 0, "message": "Service disabled"}]] "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403Post" '405': $ref: "#/components/responses/405ExpectedPostOrDisabled" /restapi/service/enable: post: tags: - Manage Appliance summary: Enable Oracle service requestBody: required: true description: A JSON object containing the timestamp content: application/json: schema: type: object properties: timestamp: type: string example: "MXe8234hjDs23==" responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success message: type: string example: Service enabled. "401": $ref: "#/components/responses/401" "403": $ref: "#/components/responses/403Post" "405": $ref: "#/components/responses/405ExpectedPost" /restapi/service/get_status: get: tags: - Manage Appliance summary: Get current Oracle service status responses: "200": description: Result OK content: application/json: schema: type: object properties: status: type: string example: success service_stats: type: object "405": $ref: "#/components/responses/405ExpectedGet"