{
  "swagger" : "2.0",
  "info" : {
    "description" : "APIs to access data managed by IDS.",
    "version" : "2306.0.0-558",
    "title" : "Intelligent Data Store"
  },
  "tags" : [ {
    "name" : "IDS - Aggregation Events APIs",
    "description" : "This resource provides APIs to access aggregation events generated by the rule engine."
  }, {
    "name" : "IDS - Alert Events APIs",
    "description" : "This resource provides APIs to access Alerts generated by the rule engine."
  }, {
    "name" : "IDS - Bulk Data Streaming API"
  }, {
    "name" : "IDS - Current Data API"
  }, {
    "name" : "IDS - DJR Event Data APIs",
    "description" : "This resource provides APIs to access Device Job Result Events."
  }, {
    "name" : "IDS - Events"
  }, {
    "name" : "IDS - Historical Data API"
  }, {
    "name" : "IDS - Lifecycle Event Data APIs",
    "description" : "This resource provides APIs to access Life Cycle Event Data."
  }, {
    "name" : "IDS - MONTE Events Data APIs",
    "description" : "This resource provides APIs to access Network Event Monitoring data. These events are provided by NEF or SCEF functions."
  }, {
    "name" : "IDS - Observation Event Data APIs",
    "description" : "This resource provides APIs to access Observation Event data."
  }, {
    "name" : "IDS - Response Event Data APIs",
    "description" : "This resource provides APIs to access Response Event data."
  }, {
    "name" : "IDS - SMS Delivery Receipt Event Data APIs",
    "description" : "This resource provides APIs to access SMS Delivery Receipts Event data."
  } ],
  "paths" : {
    "/ids-data-api/v1/aggregation-events/bulk" : {
      "get" : {
        "tags" : [ "IDS - Aggregation Events APIs" ],
        "summary" : "Streams all the aggregated data for the specified time range",
        "description" : "This API retrieves all the aggregated metrics in the specified time range. The response consists of a list of JSON formatted data, separated by newlines.",
        "operationId" : "streamMetrics",
        "produces" : [ "application/json" ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "$ref" : "#/definitions/AggregationEvent"
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats, range etc."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/aggregation-events/history" : {
      "get" : {
        "tags" : [ "IDS - Aggregation Events APIs" ],
        "summary" : "Get all the aggregated metrics in specified time range",
        "description" : "This API retrieves all the aggregated metrics. If rule and metric are specified in the query params then events will filtered based on those params.The query filters should appear in the order timeRange->ruleId->metric and other options for details.",
        "operationId" : "queryMetrics",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "pageSize",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "pagingId",
          "in" : "header",
          "description" : "Page ID",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/AggregationEvent"
              }
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/alert-events/bulk" : {
      "get" : {
        "tags" : [ "IDS - Alert Events APIs" ],
        "summary" : "Streams all the alerts raised in the specified time range",
        "description" : "This API retrieves all the alerts in the specified time range. The response consists of a list of JSON formatted data, separated by newlines.",
        "operationId" : "streamAlerts",
        "produces" : [ "application/json" ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "$ref" : "#/definitions/AlertEvent"
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats, range etc."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/alert-events/history" : {
      "get" : {
        "tags" : [ "IDS - Alert Events APIs" ],
        "summary" : "Get all the alerts in specified time range",
        "description" : "This API retrieves all the alert events. If rule and severity are specified in the query params then events will filtered based on those params.The query filters should appear in the order timeRange->deviceId->ruleId->severity.",
        "operationId" : "queryAlertEvents",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "pageSize",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "pagingId",
          "in" : "header",
          "description" : "Page ID",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/AlertEvent"
              }
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/djr-events/bulk" : {
      "get" : {
        "tags" : [ "IDS - DJR Event Data APIs" ],
        "summary" : "Streams all the Device Job Result events in specified time range",
        "description" : "This API retrieves all the events of all the devices in the specified time range. The response consists of a list of JSON formatted data, separated by newlines.",
        "operationId" : "streamDJREvents",
        "produces" : [ "application/json" ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "$ref" : "#/definitions/DJREvent"
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/djr-events/current/{deviceId}" : {
      "get" : {
        "tags" : [ "IDS - DJR Event Data APIs" ],
        "summary" : "Get the recent Device Job Result events of a specific device.",
        "description" : "This API retrieves the most recent Device Job Result events of a device. If a specific jobPrimitive is specified as part of the request params then only the event with that jobPrimitives will be retrieved.",
        "operationId" : "queryRecentObservationValues",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "deviceId",
          "in" : "path",
          "description" : "ID of the device.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "jobPrimitive",
          "in" : "query",
          "description" : "Primitive Type of the Job.",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/DJREvent"
              }
            }
          },
          "400" : {
            "description" : "Returned when the request is invalid."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/djr-events/history" : {
      "get" : {
        "tags" : [ "IDS - DJR Event Data APIs" ],
        "summary" : "Get all Device Job Result events in specified time range.",
        "description" : "This API retrieves all the Device Job Result events of specified devices. If other parameters are specified, then only the events that matches these parameters will be retrieved.",
        "operationId" : "queryDjrEvents",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "pageSize",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "pagingId",
          "in" : "header",
          "description" : "Page ID",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/DJREvent"
              }
            }
          },
          "400" : {
            "description" : "Returned when the request is invalid."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/life-cycle-events/bulk" : {
      "get" : {
        "tags" : [ "IDS - Lifecycle Event Data APIs" ],
        "summary" : "Streams all the life cycle events in specified time range",
        "description" : "This API retrieves all the events of all the devices in the specified time range. The response consists of a list of JSON formatted data, separated by newlines.",
        "operationId" : "streamLifecycleEvents",
        "produces" : [ "application/json" ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "$ref" : "#/definitions/LifeCycleEvent"
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/life-cycle-events/current/{deviceId}" : {
      "get" : {
        "tags" : [ "IDS - Lifecycle Event Data APIs" ],
        "summary" : "Get the recent life cycle event of a device.",
        "description" : "This API retrieves the most recent life cycle events of a device. If a specific eventType is specified in as part of the request params then only that specific event will be retrieved.",
        "operationId" : "getRecentEvents",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "deviceId",
          "in" : "path",
          "description" : "The deviceId.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "eventType",
          "in" : "query",
          "description" : "The eventType",
          "required" : false,
          "type" : "string",
          "enum" : [ "REGISTRATION", "DEREGISTRATION", "EXPIRATION", "UPDATE" ]
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/LifeCycleEvent"
              }
            }
          },
          "400" : {
            "description" : "Returned when specified enterprise / group are invalid."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when no value found for the specified deviceId/eventType."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/life-cycle-events/history" : {
      "get" : {
        "tags" : [ "IDS - Lifecycle Event Data APIs" ],
        "summary" : "Get all the life cycle events in specified time range",
        "description" : "This API retrieves all the events of specified devices' eventTypes in the specified time range. If specific eventTypes are specified in as part of the request params then only those specific events will be retrieved.",
        "operationId" : "queryLifecycleEvents",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "pageSize",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "pagingId",
          "in" : "header",
          "description" : "Page ID",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/LifeCycleEvent"
              }
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/monte-events/bulk" : {
      "get" : {
        "tags" : [ "IDS - MONTE Events Data APIs" ],
        "summary" : "Streams all the Network Monitoring events of the specified date range.",
        "description" : "This API retrieves all the Network Monitoring events of all the devices in the specified time range. The response consists of a list of JSON formatted data, separated by newlines.",
        "operationId" : "streamMonteEvents",
        "produces" : [ "application/json" ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "$ref" : "#/definitions/MonteEvent"
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/monte-events/current/{deviceId}" : {
      "get" : {
        "tags" : [ "IDS - MONTE Events Data APIs" ],
        "summary" : "Get the recent Network Monitoring events of a device.",
        "description" : "This API retrieves the most recent values of a device's parameters. If a specific subscriptionId and/or eventType is specified as request params then only that specific subscription/eventType will be retrieved.",
        "operationId" : "queryRecentMonteEvents",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "deviceId",
          "in" : "path",
          "description" : "The ID of the device.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/MonteEvent"
              }
            }
          },
          "400" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when no value found for the specified deviceId/parameter."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/monte-events/history" : {
      "get" : {
        "tags" : [ "IDS - MONTE Events Data APIs" ],
        "summary" : "Get all the Network Monitoring events in the specified time range",
        "description" : "This API retrieves Network Monitoring events of specified devices' subscriptions in the specified time range. If specific subscriptions/eventTypes are specified in as part of the request params then only those specific parameters will be retrieved.",
        "operationId" : "queryHistoricalMonteEvents",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "pageSize",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "pagingId",
          "in" : "header",
          "description" : "Page ID",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/ObservationEvent"
              }
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/observation-events/bulk" : {
      "get" : {
        "tags" : [ "IDS - Observation Event Data APIs" ],
        "summary" : "Streams all the values of parameters in specified time range",
        "description" : "This API retrieves all the observation events of all the devices in the specified time range. The response consists of a list of JSON formatted data, separated by newlines.",
        "operationId" : "streamObservationValues",
        "produces" : [ "application/json" ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "$ref" : "#/definitions/ObservationEvent"
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/observation-events/current/{deviceId}" : {
      "get" : {
        "tags" : [ "IDS - Observation Event Data APIs" ],
        "summary" : "Get the most recent value of a device parameter",
        "description" : "This API retrieves the most recent values of a device's parameters. If a specific parameter is specified in as part of the request params then only that specific parameter will be retrieved.",
        "operationId" : "queryRecentObservationValues",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "deviceId",
          "in" : "path",
          "description" : "The ID of the device.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "param",
          "in" : "query",
          "description" : "The name of the parameter",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/ObservationEvent"
              }
            }
          },
          "400" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when no value found for the specified deviceId/parameter."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/observation-events/history" : {
      "get" : {
        "tags" : [ "IDS - Observation Event Data APIs" ],
        "summary" : "Get all the values of parameters in specified time range",
        "description" : "This API retrieves all the values of specified devices' parameters in the specified time range. If specific parameters are specified in as part of the request params then only those specific parameters will be retrieved.",
        "operationId" : "queryObservationValues",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "pageSize",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "pagingId",
          "in" : "header",
          "description" : "Page ID",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/ObservationEvent"
              }
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/response-events/bulk" : {
      "get" : {
        "tags" : [ "IDS - Response Event Data APIs" ],
        "summary" : "Streams all the response event values of parameters in specified time range",
        "description" : "This API retrieves all the response events of all the devices in the specified time range for all the response event type. The response consists of a list of JSON formatted data, separated by newlines.",
        "operationId" : "streamResponseValues",
        "produces" : [ "application/json" ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "$ref" : "#/definitions/ResponseEvent"
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/response-events/current/{deviceId}" : {
      "get" : {
        "tags" : [ "IDS - Response Event Data APIs" ],
        "summary" : "Get the most recent value of a device parameter",
        "description" : "This API retrieves the most recent values for the queried response event of a device's parameters. Response event is a parameter which should be specified to decide the event type as part of the request params then only that specific parameter and event type will be retrieved.",
        "operationId" : "queryRecentResponseValues",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "deviceId",
          "in" : "path",
          "description" : "The ID of the device.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "param",
          "in" : "query",
          "description" : "The name of the parameter",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "responseType",
          "in" : "query",
          "description" : "The  name of the parameter for response type",
          "required" : true,
          "type" : "string",
          "enum" : [ "read", "write", "exec", "delete" ]
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/ResponseEvent"
              }
            }
          },
          "400" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when no value found for the specified deviceId/parameter."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/response-events/history" : {
      "get" : {
        "tags" : [ "IDS - Response Event Data APIs" ],
        "summary" : "Get all the Response Event values of parameters in specified time range for a specific event type",
        "description" : "This API retrieves all the response event values of specified devices' parameters  and event type in the specified time range. If specific parameters are specified in as part of the request params then only those specific parameters will be retrieved.",
        "operationId" : "queryResponseValues",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "pageSize",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "pagingId",
          "in" : "header",
          "description" : "Page ID",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/ResponseEvent"
              }
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/sms-dr-events/bulk" : {
      "get" : {
        "tags" : [ "IDS - SMS Delivery Receipt Event Data APIs" ],
        "summary" : "Streams all the sms delivery receipt events in specified time range",
        "description" : "This API retrieves all the sms delivery receipt events of all the devices in the specified time range. The response consists of a list of JSON formatted data, separated by newlines.",
        "operationId" : "stream",
        "produces" : [ "application/json" ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "$ref" : "#/definitions/SMSDeliveryReceiptEvent"
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/sms-dr-events/current/{deviceId}" : {
      "get" : {
        "tags" : [ "IDS - SMS Delivery Receipt Event Data APIs" ],
        "summary" : "Get the most recent sms delivery receipt for a device",
        "description" : "This API retrieves the most recent sms delivery receipts for a device.",
        "operationId" : "queryRecentSMSDeliveryReceipts",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "deviceId",
          "in" : "path",
          "description" : "The ID of the device.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/SMSDeliveryReceiptEvent"
              }
            }
          },
          "400" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when no value found for the specified deviceId/parameter."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v1/sms-dr-events/history" : {
      "get" : {
        "tags" : [ "IDS - SMS Delivery Receipt Event Data APIs" ],
        "summary" : "Get all the SMS delivery receipts in specified time range",
        "description" : "This API retrieves all the SMS delivery receipts in the specified time range. If specific requestId and status are specified as part of the request params then only those specific parameters will be retrieved. Query order requestId -> status.",
        "operationId" : "querySMSDeliveryReceipts",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "pageSize",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "pagingId",
          "in" : "header",
          "description" : "Page ID",
          "required" : false,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/SMSDeliveryReceiptEvent"
              }
            }
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date formats."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v2/bulk/{eventType}" : {
      "get" : {
        "tags" : [ "IDS - Bulk Data Streaming API" ],
        "summary" : "Streams all the events of the specified eventType in the specified date range.",
        "description" : "This API streams all the event of the specified eventType in the specified date range. The response consists of a json array of events. Note: Ignores the exact time range.",
        "operationId" : "streamEvents",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "eventType",
          "in" : "path",
          "description" : "The event type.",
          "required" : true,
          "type" : "string"
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success."
          },
          "400" : {
            "description" : "Returned on invalid input parameters, like wrong date format, range etc."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "404" : {
            "description" : "Returned when specified enterprise/group are invalid."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v2/current/{eventType}" : {
      "get" : {
        "tags" : [ "IDS - Current Data API" ],
        "summary" : "Get most recent values of the specified event type.",
        "description" : "This API retrieves the most recent values of specified event type. The user needs to provide filters based on which the events will be filtered.Exa: /observation-event?deviceId=1234&resourcePath=/0/1/1",
        "operationId" : "getCurrentData",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "eventType",
          "in" : "path",
          "description" : "The event type.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "execute-inefficient-queries",
          "in" : "header",
          "required" : false,
          "type" : "boolean",
          "default" : false
        }, {
          "name" : "filterParamsMap",
          "in" : "query",
          "required" : true
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "string"
            }
          },
          "400" : {
            "description" : "Returned when the specified event or filters are invalid or inefficient."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v2/events/" : {
      "get" : {
        "tags" : [ "IDS - Events" ],
        "summary" : "Get event types..",
        "description" : "This API retrieves the available event types.",
        "operationId" : "getCurrentData",
        "produces" : [ "application/json" ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/definitions/EventStructure"
              }
            }
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    },
    "/ids-data-api/v2/history/{eventType}" : {
      "get" : {
        "tags" : [ "IDS - Historical Data API" ],
        "summary" : "Get historical events ff the specified event type, time range and filter.",
        "description" : "This API retrieves the most recent values of specified event type. The user needs to provide filters based on which the events will be filtered.Exa: /observation-event?fromTime=<datetime>&toTime=<dateTime>&deviceId=1234&resourcePath=/0/1/1",
        "operationId" : "getHistoricalData",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "pagingId",
          "in" : "header",
          "description" : "Page ID",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "execute-inefficient-queries",
          "in" : "header",
          "description" : "execute-inefficient-queries",
          "required" : false,
          "type" : "boolean",
          "default" : false
        }, {
          "name" : "eventType",
          "in" : "path",
          "description" : "The event type.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "pageSize",
          "in" : "query",
          "description" : "Page size",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "filterParamsMap",
          "in" : "query",
          "required" : true
        } ],
        "responses" : {
          "200" : {
            "description" : "Returned on success.",
            "schema" : {
              "type" : "string"
            }
          },
          "400" : {
            "description" : "Returned when the specified event or filters are invalid or inefficient."
          },
          "401" : {
            "description" : "Returned when the user does not have access to the enterprise/group."
          },
          "500" : {
            "description" : "Returned on internal server errors."
          }
        }
      }
    }
  },
  "definitions" : {
    "AggregationEvent" : {
      "type" : "object",
      "properties" : {
        "groupName" : {
          "type" : "string"
        },
        "deviceId" : {
          "type" : "string"
        },
        "serverTime" : {
          "type" : "string",
          "format" : "date-time"
        },
        "ruleName" : {
          "type" : "string"
        },
        "ruleId" : {
          "type" : "string"
        },
        "details" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "metric" : {
          "type" : "string"
        },
        "value" : {
          "type" : "number",
          "format" : "double"
        },
        "windowStartTime" : {
          "type" : "string",
          "format" : "date-time"
        },
        "windowEndTime" : {
          "type" : "string",
          "format" : "date-time"
        }
      }
    },
    "AlertEvent" : {
      "type" : "object",
      "properties" : {
        "groupName" : {
          "type" : "string"
        },
        "deviceId" : {
          "type" : "string"
        },
        "serverTime" : {
          "type" : "string",
          "format" : "date-time"
        },
        "ruleName" : {
          "type" : "string"
        },
        "ruleId" : {
          "type" : "string"
        },
        "details" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "severity" : {
          "type" : "string"
        }
      }
    },
    "DJREvent" : {
      "type" : "object",
      "properties" : {
        "groupName" : {
          "type" : "string"
        },
        "deviceId" : {
          "type" : "string"
        },
        "serverTime" : {
          "type" : "string",
          "format" : "date-time"
        },
        "requestId" : {
          "type" : "string"
        },
        "subscriberId" : {
          "type" : "string"
        },
        "networkId" : {
          "type" : "string"
        },
        "make" : {
          "type" : "string"
        },
        "model" : {
          "type" : "string"
        },
        "groupId" : {
          "type" : "string"
        },
        "jobId" : {
          "type" : "string"
        },
        "jobName" : {
          "type" : "string"
        },
        "jobType" : {
          "type" : "string"
        },
        "jobPrimitive" : {
          "type" : "string"
        },
        "jobNBICorrelator" : {
          "type" : "string"
        },
        "jobGroupId" : {
          "type" : "string"
        },
        "jobGroupName" : {
          "type" : "string"
        },
        "startedOn" : {
          "type" : "string",
          "format" : "date-time"
        },
        "endedOn" : {
          "type" : "string",
          "format" : "date-time"
        },
        "retries" : {
          "type" : "integer",
          "format" : "int32"
        },
        "status" : {
          "type" : "string"
        },
        "subStatus" : {
          "type" : "string"
        },
        "faultString" : {
          "type" : "string"
        },
        "nativeClientTargeted" : {
          "type" : "boolean"
        },
        "jobInitiator" : {
          "type" : "string"
        },
        "resolvedVariables" : {
          "type" : "string"
        },
        "response" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          }
        }
      }
    },
    "EventStructure" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string"
        },
        "keys" : {
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        },
        "fields" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "hasCurrentData" : {
          "type" : "boolean"
        },
        "hasHistoricalData" : {
          "type" : "boolean"
        }
      }
    },
    "LifeCycleEvent" : {
      "type" : "object",
      "properties" : {
        "groupName" : {
          "type" : "string"
        },
        "deviceId" : {
          "type" : "string"
        },
        "serverTime" : {
          "type" : "string",
          "format" : "date-time"
        },
        "deviceType" : {
          "type" : "string"
        },
        "make" : {
          "type" : "string"
        },
        "model" : {
          "type" : "string"
        },
        "firmwareVersion" : {
          "type" : "string"
        },
        "imsi" : {
          "type" : "string"
        },
        "address" : {
          "type" : "string"
        },
        "protocol" : {
          "type" : "string"
        },
        "tags" : {
          "type" : "string"
        },
        "subscriptionId" : {
          "type" : "string"
        },
        "deviceProps" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "customAttributes" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "eventType" : {
          "type" : "string",
          "enum" : [ "REGISTRATION", "DEREGISTRATION", "EXPIRATION", "UPDATE" ]
        }
      }
    },
    "MonteEvent" : {
      "type" : "object",
      "properties" : {
        "groupName" : {
          "type" : "string"
        },
        "deviceId" : {
          "type" : "string"
        },
        "serverTime" : {
          "type" : "string",
          "format" : "date-time"
        },
        "subscriptionId" : {
          "type" : "string"
        },
        "createdTime" : {
          "type" : "string",
          "format" : "date-time"
        },
        "eventType" : {
          "type" : "string"
        },
        "details" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          }
        }
      }
    },
    "ObservationEvent" : {
      "type" : "object",
      "properties" : {
        "groupName" : {
          "type" : "string"
        },
        "deviceId" : {
          "type" : "string"
        },
        "serverTime" : {
          "type" : "string",
          "format" : "date-time"
        },
        "param" : {
          "type" : "string"
        },
        "value" : {
          "type" : "string"
        },
        "subscriptionId" : {
          "type" : "string"
        },
        "customAttributes" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          }
        }
      }
    },
    "ResponseEvent" : {
      "type" : "object",
      "properties" : {
        "groupName" : {
          "type" : "string"
        },
        "deviceId" : {
          "type" : "string"
        },
        "serverTime" : {
          "type" : "string",
          "format" : "date-time"
        },
        "param" : {
          "type" : "string"
        },
        "value" : {
          "type" : "string"
        },
        "requestId" : {
          "type" : "string"
        },
        "resultCode" : {
          "type" : "string"
        },
        "resultSubCode" : {
          "type" : "string"
        },
        "resultReason" : {
          "type" : "string"
        },
        "responseType" : {
          "type" : "string",
          "enum" : [ "read", "write", "exec", "delete" ]
        }
      }
    },
    "SMSDeliveryReceiptEvent" : {
      "type" : "object",
      "properties" : {
        "groupName" : {
          "type" : "string"
        },
        "deviceId" : {
          "type" : "string"
        },
        "serverTime" : {
          "type" : "string",
          "format" : "date-time"
        },
        "imsi" : {
          "type" : "string"
        },
        "subscriberId" : {
          "type" : "string"
        },
        "requestId" : {
          "type" : "string"
        },
        "status" : {
          "type" : "string",
          "enum" : [ "DELIVERED", "EXPIRED", "FAILED" ]
        },
        "errorReason" : {
          "type" : "string"
        },
        "frames" : {
          "type" : "array",
          "items" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        }
      }
    }
  }
}