{
  "openapi" : "3.1.0",
  "info" : {
    "title" : "Posiway Open API",
    "version" : "v1.0.0"
  },
  "servers" : [ {
    "url" : "https://saas.posiway.com"
  } ],
  "tags" : [ {
    "name" : "Authentication",
    "description" : "Create the API token used to call protected endpoints."
  }, {
    "name" : "Accounts",
    "description" : "Create, query, and manage customer accounts in your accessible hierarchy."
  }, {
    "name" : "Devices",
    "description" : "Query devices, status, tracks, alarms, and device service operations."
  }, {
    "name" : "Fences",
    "description" : "Fences"
  }, {
    "name" : "Instructions",
    "description" : "Instructions"
  } ],
  "paths" : {
    "/rest/api/auth" : {
      "post" : {
        "summary" : "Create access token",
        "deprecated" : false,
        "description" : "Sign in with your management login name and MD5 password. Use the returned\ntoken in the authToken header when calling protected endpoints. If expiresIn is omitted,\nthe token is valid for 63072000 seconds. The maximum allowed value is 94608000 seconds.",
        "tags" : [ "Authentication" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateTokenRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"username\": \"\",\n  \"password\": \"\",\n  \"expiresIn\": 0\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanTokenResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": {\n    \"token\": \"\",\n    \"expiresIn\": 0,\n    \"username\": \"\",\n    \"accountId\": 0\n  },\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "createToken",
        "parameters" : [ ],
        "security" : [ ]
      }
    },
    "/rest/api/account/customers" : {
      "post" : {
        "summary" : "Create customer",
        "deprecated" : false,
        "description" : "Create a customer under one of your accessible parent customers. The primary login\nuser inherits the parent primary user's roles unless role IDs are explicitly supplied.",
        "tags" : [ "Accounts" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateCustomerRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"accountName\": \"\",\n  \"username\": \"\",\n  \"password\": \"\",\n  \"parentAccountId\": 0,\n  \"roleIds\": [\n    0\n  ],\n  \"contact\": \"\",\n  \"phone\": \"\",\n  \"email\": \"\",\n  \"address\": \"\",\n  \"expiresAt\": 0\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanCustomerResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": {\n    \"accountId\": 0,\n    \"accountName\": \"\",\n    \"parentAccountId\": 0,\n    \"contact\": \"\",\n    \"phone\": \"\",\n    \"address\": \"\",\n    \"email\": \"\",\n    \"expiresAt\": 0,\n    \"status\": 0,\n    \"createdAt\": 0\n  },\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "createCustomer",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      },
      "get" : {
        "summary" : "List descendant customers",
        "deprecated" : false,
        "description" : "Return all child customers under your account as a flat list. Your own account is\nnot included.",
        "tags" : [ "Accounts" ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanListCustomerResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"accountId\": 0,\n      \"accountName\": \"\",\n      \"parentAccountId\": 0,\n      \"contact\": \"\",\n      \"phone\": \"\",\n      \"address\": \"\",\n      \"email\": \"\",\n      \"expiresAt\": 0,\n      \"status\": 0,\n      \"createdAt\": 0\n    }\n  ],\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "listDescendantCustomers",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      },
      "put" : {
        "summary" : "Update customer",
        "deprecated" : false,
        "description" : "Update the customer's name and contact details. Omitted fields remain unchanged.\nSend an empty string to clear contact, phone, email, or address. Use the customer settings\nendpoint to change status or expiration time.",
        "tags" : [ "Accounts" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateCustomerRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"accountId\": 0,\n  \"accountName\": \"\",\n  \"contact\": \"\",\n  \"phone\": \"\",\n  \"email\": \"\",\n  \"address\": \"\"\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "updateCustomer",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/account/customers/tree" : {
      "get" : {
        "summary" : "Get customer tree",
        "deprecated" : false,
        "description" : "Return the complete customer hierarchy starting from the requested account. If\naccountId is omitted, the hierarchy starts from your own account. Device statistics are not\nincluded.",
        "tags" : [ "Accounts" ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanCustomerTreeResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": {\n    \"accountId\": 0,\n    \"accountName\": \"\",\n    \"parentAccountId\": 0,\n    \"contact\": \"\",\n    \"phone\": \"\",\n    \"address\": \"\",\n    \"email\": \"\",\n    \"expiresAt\": 0,\n    \"status\": 0,\n    \"createdAt\": 0,\n    \"hasChildren\": 0,\n    \"children\": [\n      {\n        \"$ref\": \"..\"\n      }\n    ]\n  },\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "getCustomerTree",
        "parameters" : [ {
          "schema" : {
            "format" : "int64",
            "type" : "number"
          },
          "in" : "query",
          "description" : "root customer account ID",
          "required" : false,
          "example" : 0,
          "name" : "accountId"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/account/customers/search" : {
      "get" : {
        "summary" : "Search descendant customers",
        "deprecated" : false,
        "description" : "Search your child customers by customer name. The response returns at most 10\nmatches.",
        "tags" : [ "Accounts" ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanListCustomerResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"accountId\": 0,\n      \"accountName\": \"\",\n      \"parentAccountId\": 0,\n      \"contact\": \"\",\n      \"phone\": \"\",\n      \"address\": \"\",\n      \"email\": \"\",\n      \"expiresAt\": 0,\n      \"status\": 0,\n      \"createdAt\": 0\n    }\n  ],\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "searchDescendantCustomers",
        "parameters" : [ {
          "schema" : {
            "format" : "string",
            "type" : "string"
          },
          "in" : "query",
          "description" : "customer name keyword",
          "required" : false,
          "name" : "keyword"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/account/customers/settings" : {
      "put" : {
        "summary" : "Update customer status and expiration",
        "deprecated" : false,
        "description" : "Enable or disable a customer, or change the customer's expiration time. Provide at\nleast one of status or expiresAt. Disabling a customer signs out active login users under\nthat customer and its child customers.",
        "tags" : [ "Accounts" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateCustomerSettingsRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"accountId\": 0,\n  \"status\": 0,\n  \"expiresAt\": 0\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "updateCustomerSettings",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/account/login-users" : {
      "post" : {
        "summary" : "Create login user",
        "deprecated" : false,
        "description" : "Add another management login user for a customer you can access. The new user\ninherits that customer's primary-user roles unless role IDs are explicitly supplied.",
        "tags" : [ "Accounts" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateLoginUserRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"accountId\": 0,\n  \"username\": \"\",\n  \"password\": \"\",\n  \"contact\": \"\",\n  \"phone\": \"\",\n  \"roleIds\": [\n    0\n  ]\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "createLoginUser",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/devices/search" : {
      "post" : {
        "summary" : "Search devices",
        "deprecated" : false,
        "description" : "Search devices under one customer. You can include child customers, filter by IMEI,\nlicense plate, model, activation time, or expiration time, and page through up to 500 records\nper request.",
        "tags" : [ "Devices" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceSearchRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"accountId\": 0,\n  \"includeDescendants\": true,\n  \"page\": 0,\n  \"pageSize\": 0,\n  \"imeis\": [\n    \"\"\n  ],\n  \"licensePlates\": [\n    \"\"\n  ],\n  \"model\": \"\",\n  \"expiresFrom\": 0,\n  \"expiresTo\": 0,\n  \"activatedFrom\": 0,\n  \"activatedTo\": 0\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanPageResponseDeviceResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": {\n    \"total\": 0,\n    \"page\": 0,\n    \"pageSize\": 0,\n    \"items\": [\n      {\n        \"imei\": \"\",\n        \"name\": \"\",\n        \"licensePlate\": \"\",\n        \"groupId\": 0,\n        \"model\": \"\",\n        \"accountId\": 0,\n        \"activatedAt\": 0,\n        \"expiresAt\": 0,\n        \"notes\": \"\",\n        \"sim\": \"\",\n        \"simExpiresAt\": 0,\n        \"iconColor\": \"\",\n        \"iconId\": 0,\n        \"contact\": \"\",\n        \"phone\": \"\",\n        \"email\": \"\",\n        \"importedAt\": 0,\n        \"status\": 0,\n        \"statusAt\": 0,\n        \"latitude\": \"\",\n        \"longitude\": \"\",\n        \"locatedAt\": 0,\n        \"speed\": \"\"\n      }\n    ]\n  },\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "search",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/devices" : {
      "get" : {
        "summary" : "Get device details",
        "deprecated" : false,
        "description" : "Get one device by IMEI or license plate. Provide exactly one identifier.",
        "tags" : [ "Devices" ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanDeviceResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": {\n    \"imei\": \"\",\n    \"name\": \"\",\n    \"licensePlate\": \"\",\n    \"groupId\": 0,\n    \"model\": \"\",\n    \"accountId\": 0,\n    \"activatedAt\": 0,\n    \"expiresAt\": 0,\n    \"notes\": \"\",\n    \"sim\": \"\",\n    \"simExpiresAt\": 0,\n    \"iconColor\": \"\",\n    \"iconId\": 0,\n    \"contact\": \"\",\n    \"phone\": \"\",\n    \"email\": \"\",\n    \"importedAt\": 0,\n    \"status\": 0,\n    \"statusAt\": 0,\n    \"latitude\": \"\",\n    \"longitude\": \"\",\n    \"locatedAt\": 0,\n    \"speed\": \"\"\n  },\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "detail",
        "parameters" : [ {
          "schema" : {
            "format" : "string",
            "type" : "string"
          },
          "in" : "query",
          "description" : "device IMEI",
          "required" : false,
          "name" : "imei"
        }, {
          "schema" : {
            "format" : "string",
            "type" : "string"
          },
          "in" : "query",
          "description" : "license plate number",
          "required" : false,
          "name" : "licensePlate"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      },
      "put" : {
        "summary" : "Update device details",
        "deprecated" : false,
        "description" : "Update customer-maintained device information. Omitted fields remain unchanged.\nSend an empty string to clear a string field. Device icon color is read-only.",
        "tags" : [ "Devices" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UpdateDeviceRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"imei\": \"\",\n  \"name\": \"\",\n  \"licensePlate\": \"\",\n  \"notes\": \"\",\n  \"sim\": \"\",\n  \"simExpiresAt\": 0,\n  \"iconId\": 0,\n  \"contact\": \"\",\n  \"phone\": \"\",\n  \"email\": \"\",\n  \"customData\": \"\"\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "update",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      },
      "delete" : {
        "summary" : "Delete devices",
        "deprecated" : false,
        "description" : "Delete one or more devices that your token can access.",
        "tags" : [ "Devices" ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanListString"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": [\n    \"\",\n    \"\"\n  ],\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "delete",
        "parameters" : [ {
          "schema" : {
            "type" : "object"
          },
          "in" : "query",
          "description" : "IMEIs of the devices to operate on. The maximum is 500.",
          "required" : false,
          "example" : "\"\"\",\"\"\"",
          "name" : "imeis"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/devices/status" : {
      "post" : {
        "summary" : "Batch get device status",
        "deprecated" : false,
        "description" : "Get the latest status for devices matched by IMEI or license plate. Provide at\nleast one identifier list. The two lists accept at most 500 values in total.",
        "tags" : [ "Devices" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/BatchDeviceStatusRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"imeis\": [\n    \"\"\n  ],\n  \"plates\": [\n    \"\"\n  ]\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanListDeviceStatusResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"imei\": \"\",\n      \"name\": \"\",\n      \"plate\": \"\",\n      \"iconId\": 0,\n      \"iconColor\": \"\",\n      \"expiresAt\": 0,\n      \"groupId\": 0,\n      \"status\": 0,\n      \"statusAt\": 0,\n      \"signalAt\": 0,\n      \"locatedAt\": 0,\n      \"latitude\": \"\",\n      \"longitude\": \"\",\n      \"locationType\": 0,\n      \"acc\": 0,\n      \"accAt\": 0,\n      \"speed\": \"\",\n      \"course\": 0,\n      \"altitude\": 0,\n      \"gps\": 0,\n      \"gsm\": 0,\n      \"battery\": 0,\n      \"voltage\": 0.0,\n      \"sim\": \"\",\n      \"model\": \"\"\n    }\n  ],\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "batchStatus",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/devices/track" : {
      "get" : {
        "summary" : "Get device track",
        "deprecated" : false,
        "description" : "Return one device's track points and summary for a time range no longer than 7 days.",
        "tags" : [ "Devices" ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanDeviceTrackResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": {\n    \"pointCount\": 0,\n    \"returnedPointCount\": 0,\n    \"sampled\": true,\n    \"totalMileage\": \"\",\n    \"maximumSpeed\": \"\",\n    \"averageSpeed\": \"\",\n    \"stoppedDuration\": 0,\n    \"movingDuration\": 0,\n    \"totalDuration\": 0,\n    \"points\": [\n      {\n        \"imei\": \"\",\n        \"latitude\": \"\",\n        \"longitude\": \"\",\n        \"locatedAt\": 0,\n        \"speed\": 0,\n        \"course\": 0,\n        \"locationType\": 0\n      }\n    ]\n  },\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "track",
        "parameters" : [ {
          "schema" : {
            "format" : "string",
            "type" : "string"
          },
          "in" : "query",
          "description" : "device IMEI",
          "required" : false,
          "name" : "imei"
        }, {
          "schema" : {
            "format" : "int64",
            "type" : "number"
          },
          "in" : "query",
          "description" : "start time as a Unix timestamp in seconds",
          "required" : false,
          "example" : 0,
          "name" : "startTime"
        }, {
          "schema" : {
            "format" : "int64",
            "type" : "number"
          },
          "in" : "query",
          "description" : "end time as a Unix timestamp in seconds",
          "required" : false,
          "example" : 0,
          "name" : "endTime"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/devices/alarms/search" : {
      "post" : {
        "summary" : "Search device alarms",
        "deprecated" : false,
        "description" : "Search alarm records for up to 500 devices. The time range cannot exceed 24 hours.",
        "tags" : [ "Devices" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceAlarmSearchRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"imeis\": [\n    \"\"\n  ],\n  \"startTime\": 0,\n  \"endTime\": 0,\n  \"page\": 0,\n  \"pageSize\": 0\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanPageResponseDeviceAlarmResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": {\n    \"total\": 0,\n    \"page\": 0,\n    \"pageSize\": 0,\n    \"items\": [\n      {\n        \"alarmId\": 0,\n        \"imei\": \"\",\n        \"alarmAt\": 0,\n        \"type\": 0,\n        \"typeName\": \"\",\n        \"deviceName\": \"\",\n        \"latitude\": 0.0,\n        \"longitude\": 0.0,\n        \"speed\": 0,\n        \"course\": 0,\n        \"locationType\": 0,\n        \"status\": 0,\n        \"statusName\": \"\",\n        \"remarks\": \"\"\n      }\n    ]\n  },\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "alarms",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/devices/import" : {
      "post" : {
        "summary" : "Import devices",
        "deprecated" : false,
        "description" : "Import new devices into a customer account that your token can access.",
        "tags" : [ "Devices" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceImportRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"imeis\": [\n    \"\"\n  ],\n  \"model\": \"\",\n  \"parameter\": 0,\n  \"months\": 0,\n  \"accountId\": 0\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanListString"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": [\n    \"\",\n    \"\"\n  ],\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "importDevices",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/devices/renew" : {
      "post" : {
        "summary" : "Renew devices",
        "deprecated" : false,
        "description" : "Renew one or more devices for 1 to 120 months. The billing account must be the\ndevice owner account or one of its parent accounts.",
        "tags" : [ "Devices" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceRenewRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"imeis\": [\n    \"\"\n  ],\n  \"months\": 0,\n  \"billingAccountId\": 0\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanListString"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": [\n    \"\",\n    \"\"\n  ],\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "renew",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/devices/transfer" : {
      "post" : {
        "summary" : "Transfer devices",
        "deprecated" : false,
        "description" : "Transfer one or more devices to another customer that your token can access.",
        "tags" : [ "Devices" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DeviceTransferRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"imeis\": [\n    \"\"\n  ],\n  \"targetAccountId\": 0\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanListString"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": [\n    \"\",\n    \"\"\n  ],\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "transfer",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/devices/{imei}/instructions" : {
      "get" : {
        "summary" : "Get instructions supported by a device.",
        "deprecated" : false,
        "tags" : [ "Instructions" ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanListInstructionTemplateResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"instructionId\": 0,\n      \"name\": \"\",\n      \"description\": \"\",\n      \"type\": 0,\n      \"bizType\": 0,\n      \"content\": \"\",\n      \"placeholders\": [\n        {\n          \"field\": \"\",\n          \"label\": \"\",\n          \"required\": true,\n          \"examples\": [\n            {\n              \"label\": \"\",\n              \"value\": \"\"\n            }\n          ]\n        }\n      ]\n    }\n  ],\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "instructions",
        "parameters" : [ {
          "schema" : {
            "format" : "string",
            "type" : "string"
          },
          "in" : "path",
          "description" : "device IMEI",
          "required" : true,
          "name" : "imei"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/commands" : {
      "post" : {
        "summary" : "Send one supported instruction to one device.",
        "deprecated" : false,
        "tags" : [ "Instructions" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateCommandRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"imei\": \"\",\n  \"instructionId\": 0,\n  \"content\": \"\"\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanCommandResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": {\n    \"commandId\": 0,\n    \"instructionId\": 0,\n    \"instructionName\": \"\",\n    \"imei\": \"\",\n    \"request\": \"\",\n    \"response\": \"\",\n    \"status\": 0,\n    \"sentAt\": 0,\n    \"respondedAt\": 0\n  },\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "send",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/commands/{commandId}" : {
      "get" : {
        "summary" : "Get one command and its latest device response.",
        "deprecated" : false,
        "tags" : [ "Instructions" ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanCommandResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": {\n    \"commandId\": 0,\n    \"instructionId\": 0,\n    \"instructionName\": \"\",\n    \"imei\": \"\",\n    \"request\": \"\",\n    \"response\": \"\",\n    \"status\": 0,\n    \"sentAt\": 0,\n    \"respondedAt\": 0\n  },\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "detail_2",
        "parameters" : [ {
          "schema" : {
            "format" : "int64",
            "type" : "number"
          },
          "in" : "path",
          "description" : "command history ID",
          "required" : true,
          "example" : 0,
          "name" : "commandId"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/commands/search" : {
      "post" : {
        "summary" : "Search command history for accessible devices.",
        "deprecated" : false,
        "tags" : [ "Instructions" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CommandSearchRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"imeis\": [\n    \"\"\n  ],\n  \"startTime\": 0,\n  \"endTime\": 0,\n  \"status\": 0,\n  \"page\": 0,\n  \"pageSize\": 0\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanPageResponseCommandResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": {\n    \"total\": 0,\n    \"page\": 0,\n    \"pageSize\": 0,\n    \"items\": [\n      {\n        \"commandId\": 0,\n        \"instructionId\": 0,\n        \"instructionName\": \"\",\n        \"imei\": \"\",\n        \"request\": \"\",\n        \"response\": \"\",\n        \"status\": 0,\n        \"sentAt\": 0,\n        \"respondedAt\": 0\n      }\n    ]\n  },\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "search_1",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/fences" : {
      "get" : {
        "summary" : "List fences owned by one accessible account.",
        "deprecated" : false,
        "tags" : [ "Fences" ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanListFenceResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"fenceId\": 0,\n      \"accountId\": 0,\n      \"fenceName\": \"\",\n      \"description\": \"\",\n      \"type\": 0,\n      \"setting\": \"\",\n      \"color\": \"\",\n      \"isShow\": 0,\n      \"perimeter\": 0,\n      \"area\": 0,\n      \"updatedAt\": 0,\n      \"triggerType\": 0,\n      \"speedThreshold\": 0\n    }\n  ],\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "list",
        "parameters" : [ {
          "schema" : {
            "format" : "int64",
            "type" : "number"
          },
          "in" : "query",
          "description" : "accessible owner account; defaults to current API account",
          "required" : false,
          "example" : 0,
          "name" : "accountId"
        }, {
          "schema" : {
            "format" : "boolean",
            "type" : "boolean"
          },
          "in" : "query",
          "description" : "whether to include descendant account owners",
          "required" : true,
          "example" : false,
          "name" : "includeDescendants"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      },
      "post" : {
        "summary" : "Create a fence.",
        "deprecated" : false,
        "tags" : [ "Fences" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SaveFenceRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"accountId\": 0,\n  \"fenceName\": \"\",\n  \"description\": \"\",\n  \"type\": 0,\n  \"setting\": \"\",\n  \"color\": \"\",\n  \"isShow\": 0,\n  \"perimeter\": 0,\n  \"area\": 0\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanFenceResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": {\n    \"fenceId\": 0,\n    \"accountId\": 0,\n    \"fenceName\": \"\",\n    \"description\": \"\",\n    \"type\": 0,\n    \"setting\": \"\",\n    \"color\": \"\",\n    \"isShow\": 0,\n    \"perimeter\": 0,\n    \"area\": 0,\n    \"updatedAt\": 0,\n    \"triggerType\": 0,\n    \"speedThreshold\": 0\n  },\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "create",
        "parameters" : [ ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/fences/{fenceId}" : {
      "get" : {
        "summary" : "Get a fence.",
        "deprecated" : false,
        "tags" : [ "Fences" ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanFenceResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": {\n    \"fenceId\": 0,\n    \"accountId\": 0,\n    \"fenceName\": \"\",\n    \"description\": \"\",\n    \"type\": 0,\n    \"setting\": \"\",\n    \"color\": \"\",\n    \"isShow\": 0,\n    \"perimeter\": 0,\n    \"area\": 0,\n    \"updatedAt\": 0,\n    \"triggerType\": 0,\n    \"speedThreshold\": 0\n  },\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "detail_1",
        "parameters" : [ {
          "schema" : {
            "format" : "int64",
            "type" : "number"
          },
          "in" : "path",
          "description" : "fence ID",
          "required" : true,
          "example" : 0,
          "name" : "fenceId"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      },
      "put" : {
        "summary" : "Update a fence.",
        "deprecated" : false,
        "tags" : [ "Fences" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SaveFenceRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"accountId\": 0,\n  \"fenceName\": \"\",\n  \"description\": \"\",\n  \"type\": 0,\n  \"setting\": \"\",\n  \"color\": \"\",\n  \"isShow\": 0,\n  \"perimeter\": 0,\n  \"area\": 0\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanFenceResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": {\n    \"fenceId\": 0,\n    \"accountId\": 0,\n    \"fenceName\": \"\",\n    \"description\": \"\",\n    \"type\": 0,\n    \"setting\": \"\",\n    \"color\": \"\",\n    \"isShow\": 0,\n    \"perimeter\": 0,\n    \"area\": 0,\n    \"updatedAt\": 0,\n    \"triggerType\": 0,\n    \"speedThreshold\": 0\n  },\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "update_1",
        "parameters" : [ {
          "schema" : {
            "format" : "int64",
            "type" : "number"
          },
          "in" : "path",
          "description" : "fence ID",
          "required" : true,
          "example" : 0,
          "name" : "fenceId"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      },
      "delete" : {
        "summary" : "Delete a fence and remove its associations.",
        "deprecated" : false,
        "tags" : [ "Fences" ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "delete_1",
        "parameters" : [ {
          "schema" : {
            "format" : "int64",
            "type" : "number"
          },
          "in" : "path",
          "description" : "fence ID",
          "required" : true,
          "example" : 0,
          "name" : "fenceId"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/fences/{fenceId}/associations" : {
      "get" : {
        "summary" : "Get all associations for a fence.",
        "deprecated" : false,
        "tags" : [ "Fences" ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanListFenceAssociationResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"dimensionType\": 0,\n      \"dimensionId\": \"\",\n      \"triggerType\": 0,\n      \"speedThreshold\": 0\n    }\n  ],\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "associations",
        "parameters" : [ {
          "schema" : {
            "format" : "int64",
            "type" : "number"
          },
          "in" : "path",
          "description" : "fence ID",
          "required" : true,
          "example" : 0,
          "name" : "fenceId"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      },
      "put" : {
        "summary" : "Replace all associations for a fence.",
        "deprecated" : false,
        "tags" : [ "Fences" ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ReplaceFenceAssociationsRequest"
              },
              "examples" : {
                "json" : {
                  "summary" : "Example",
                  "value" : "{\n  \"targets\": [\n    {\n      \"dimensionType\": 0,\n      \"dimensionId\": \"\",\n      \"triggerType\": 0,\n      \"speedThreshold\": 0\n    }\n  ]\n}"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "replaceAssociations",
        "parameters" : [ {
          "schema" : {
            "format" : "int64",
            "type" : "number"
          },
          "in" : "path",
          "description" : "fence ID",
          "required" : true,
          "example" : 0,
          "name" : "fenceId"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    },
    "/rest/api/devices/{imei}/fences" : {
      "get" : {
        "summary" : "Get the effective fences applied to a device.",
        "deprecated" : false,
        "tags" : [ "Fences" ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "*/*" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanListFenceResponse"
                },
                "examples" : {
                  "json" : {
                    "summary" : "Example",
                    "value" : "{\n  \"code\": 0,\n  \"message\": \"\",\n  \"data\": [\n    {\n      \"fenceId\": 0,\n      \"accountId\": 0,\n      \"fenceName\": \"\",\n      \"description\": \"\",\n      \"type\": 0,\n      \"setting\": \"\",\n      \"color\": \"\",\n      \"isShow\": 0,\n      \"perimeter\": 0,\n      \"area\": 0,\n      \"updatedAt\": 0,\n      \"triggerType\": 0,\n      \"speedThreshold\": 0\n    }\n  ],\n  \"requestId\": \"\"\n}"
                  }
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid request parameters",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "401" : {
            "description" : "Token is missing or invalid",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "500" : {
            "description" : "Unexpected service error",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "403" : {
            "description" : "Resource is outside the accessible account tree",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "404" : {
            "description" : "Resource does not exist",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "503" : {
            "description" : "Critical dependency unavailable",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          },
          "429" : {
            "description" : "Account rate limit exceeded",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              },
              "Retry-After" : {
                "description" : "Seconds before retrying",
                "schema" : {
                  "type" : "integer"
                }
              }
            }
          },
          "409" : {
            "description" : "Resource state conflict",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ResultBeanVoid"
                }
              }
            },
            "headers" : {
              "X-RateLimit-Limit" : {
                "description" : "Shared account request limit",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-RateLimit-Remaining" : {
                "description" : "Remaining account tokens",
                "schema" : {
                  "type" : "integer"
                }
              },
              "X-Request-ID" : {
                "description" : "Request trace identifier",
                "schema" : {
                  "type" : "string"
                }
              }
            }
          }
        },
        "operationId" : "effectiveFences",
        "parameters" : [ {
          "schema" : {
            "format" : "string",
            "type" : "string"
          },
          "in" : "path",
          "description" : "device IMEI",
          "required" : true,
          "name" : "imei"
        } ],
        "security" : [ {
          "authToken" : [ ]
        } ]
      }
    }
  },
  "components" : {
    "schemas" : {
      "DeviceRenewRequest" : {
        "type" : "object",
        "properties" : {
          "imeis" : {
            "description" : "IMEIs of the devices to renew. The maximum is 500.",
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "example" : "\"\"\",\"\"\""
          },
          "months" : {
            "format" : "int32",
            "description" : "Renewal duration in months. Allowed range: 1 to 120.",
            "type" : "integer",
            "example" : 0
          },
          "billingAccountId" : {
            "format" : "int64",
            "description" : "Account to charge for the renewal. Defaults to your own account.",
            "type" : "number",
            "example" : 0
          }
        },
        "required" : [ "imeis", "months" ]
      },
      "ResultBeanPageResponseDeviceAlarmResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "$ref" : "#/components/schemas/PageResponseDeviceAlarmResponse"
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "ResultBeanCustomerTreeResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "$ref" : "#/components/schemas/CustomerTreeResponse"
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "PageResponseDeviceResponse" : {
        "type" : "object",
        "properties" : {
          "total" : {
            "format" : "int64",
            "description" : "Total number of matching records.",
            "type" : "number",
            "example" : 0
          },
          "page" : {
            "format" : "int32",
            "description" : "Current page number.",
            "type" : "integer",
            "example" : 0
          },
          "pageSize" : {
            "format" : "int32",
            "description" : "Number of records requested for each page.",
            "type" : "integer",
            "example" : 0
          },
          "items" : {
            "description" : "Records returned on the current page.",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DeviceResponse"
            }
          }
        }
      },
      "ResultBeanListString" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "CommandResponse" : {
        "type" : "object",
        "properties" : {
          "commandId" : {
            "format" : "int64",
            "description" : "No comments found.",
            "type" : "number",
            "example" : 0
          },
          "instructionId" : {
            "format" : "int64",
            "description" : "No comments found.",
            "type" : "number",
            "example" : 0
          },
          "instructionName" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "imei" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "request" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "response" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "status" : {
            "format" : "int32",
            "description" : "-1 failed, 0 sent, 1 succeeded.",
            "type" : "integer",
            "example" : 0
          },
          "sentAt" : {
            "format" : "int64",
            "description" : "No comments found.",
            "type" : "number",
            "example" : 0
          },
          "respondedAt" : {
            "format" : "int64",
            "description" : "No comments found.",
            "type" : "number",
            "example" : 0
          }
        }
      },
      "DeviceTrackPointResponse" : {
        "type" : "object",
        "properties" : {
          "imei" : {
            "format" : "string",
            "description" : "Device IMEI.",
            "type" : "string"
          },
          "latitude" : {
            "format" : "string",
            "description" : "Latitude.",
            "type" : "string"
          },
          "longitude" : {
            "format" : "string",
            "description" : "Longitude.",
            "type" : "string"
          },
          "locatedAt" : {
            "format" : "int64",
            "description" : "Location time, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "speed" : {
            "format" : "int32",
            "description" : "Speed at this point, using the account's configured unit.",
            "type" : "integer",
            "example" : 0
          },
          "course" : {
            "format" : "int32",
            "description" : "Direction in degrees.",
            "type" : "integer",
            "example" : 0
          },
          "locationType" : {
            "format" : "int32",
            "description" : "Location source type.",
            "type" : "integer",
            "example" : 0
          }
        }
      },
      "DeviceResponse" : {
        "type" : "object",
        "properties" : {
          "imei" : {
            "format" : "string",
            "description" : "Device IMEI.",
            "type" : "string"
          },
          "name" : {
            "format" : "string",
            "description" : "Device name.",
            "type" : "string"
          },
          "licensePlate" : {
            "format" : "string",
            "description" : "License plate.",
            "type" : "string"
          },
          "groupId" : {
            "format" : "int64",
            "description" : "Device group ID, if the device belongs to a group.",
            "type" : "number",
            "example" : 0
          },
          "model" : {
            "format" : "string",
            "description" : "Device model.",
            "type" : "string"
          },
          "accountId" : {
            "format" : "int64",
            "description" : "Customer account ID that owns the device.",
            "type" : "number",
            "example" : 0
          },
          "activatedAt" : {
            "format" : "int64",
            "description" : "Activation time, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "expiresAt" : {
            "format" : "int64",
            "description" : "Device service expiration time, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "notes" : {
            "format" : "string",
            "description" : "Notes.",
            "type" : "string"
          },
          "sim" : {
            "format" : "string",
            "description" : "SIM card number.",
            "type" : "string"
          },
          "simExpiresAt" : {
            "format" : "int64",
            "description" : "SIM expiration time, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "iconColor" : {
            "format" : "string",
            "description" : "Device icon color shown on the map.",
            "type" : "string"
          },
          "iconId" : {
            "format" : "int32",
            "description" : "Device icon ID shown on the map.",
            "type" : "integer",
            "example" : 0
          },
          "contact" : {
            "format" : "string",
            "description" : "Contact name.",
            "type" : "string"
          },
          "phone" : {
            "format" : "string",
            "description" : "Contact phone number.",
            "type" : "string"
          },
          "email" : {
            "format" : "string",
            "description" : "Contact email address.",
            "type" : "string"
          },
          "importedAt" : {
            "format" : "int64",
            "description" : "Import time, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "status" : {
            "format" : "int32",
            "description" : "Latest device status code.",
            "type" : "integer",
            "example" : 0
          },
          "statusAt" : {
            "format" : "int64",
            "description" : "Time when the latest status was recorded, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "latitude" : {
            "format" : "string",
            "description" : "Last location latitude.",
            "type" : "string"
          },
          "longitude" : {
            "format" : "string",
            "description" : "Last location longitude.",
            "type" : "string"
          },
          "locatedAt" : {
            "format" : "int64",
            "description" : "Last location time, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "speed" : {
            "format" : "string",
            "description" : "Latest speed.",
            "type" : "string"
          }
        }
      },
      "CommandSearchRequest" : {
        "type" : "object",
        "properties" : {
          "imeis" : {
            "description" : "Device IMEIs. At least one and at most 100 are required. @required",
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "example" : "\"\"\",\"\"\""
          },
          "startTime" : {
            "format" : "int64",
            "description" : "Inclusive start time in Unix seconds.",
            "type" : "number",
            "example" : 0
          },
          "endTime" : {
            "format" : "int64",
            "description" : "Inclusive end time in Unix seconds.",
            "type" : "number",
            "example" : 0
          },
          "status" : {
            "format" : "int32",
            "description" : "Command status: -1 failed, 0 sent, 1 succeeded.",
            "type" : "integer",
            "example" : 0
          },
          "page" : {
            "format" : "int32",
            "description" : "No comments found.",
            "type" : "integer",
            "example" : 0
          },
          "pageSize" : {
            "format" : "int32",
            "description" : "No comments found.",
            "type" : "integer",
            "example" : 0
          }
        }
      },
      "DeviceAlarmSearchRequest" : {
        "type" : "object",
        "properties" : {
          "imeis" : {
            "description" : "Device IMEIs to search. The maximum is 500.",
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "example" : "\"\"\",\"\"\""
          },
          "startTime" : {
            "format" : "int64",
            "description" : "Start time as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "endTime" : {
            "format" : "int64",
            "description" : "End time as a Unix timestamp in seconds. The range cannot exceed 24 hours.",
            "type" : "number",
            "example" : 0
          },
          "page" : {
            "format" : "int32",
            "description" : "Page number, starting from 1.",
            "type" : "integer",
            "example" : 0
          },
          "pageSize" : {
            "format" : "int32",
            "description" : "Number of records per page. The maximum is 500.",
            "type" : "integer",
            "example" : 0
          }
        },
        "required" : [ "imeis", "startTime", "endTime" ]
      },
      "ResultBeanListFenceResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FenceResponse"
            }
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "ResultBeanDeviceTrackResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "$ref" : "#/components/schemas/DeviceTrackResponse"
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "PageResponseCommandResponse" : {
        "type" : "object",
        "properties" : {
          "total" : {
            "format" : "int64",
            "description" : "Total number of matching records.",
            "type" : "number",
            "example" : 0
          },
          "page" : {
            "format" : "int32",
            "description" : "Current page number.",
            "type" : "integer",
            "example" : 0
          },
          "pageSize" : {
            "format" : "int32",
            "description" : "Number of records requested for each page.",
            "type" : "integer",
            "example" : 0
          },
          "items" : {
            "description" : "Records returned on the current page.",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CommandResponse"
            }
          }
        }
      },
      "UpdateCustomerSettingsRequest" : {
        "type" : "object",
        "properties" : {
          "accountId" : {
            "format" : "int64",
            "description" : "Customer account ID to update.",
            "type" : "number",
            "example" : 0
          },
          "status" : {
            "format" : "int32",
            "description" : "Customer status. Use 1 to enable the customer and 0 to disable it. Provide status, expiresAt, or both.",
            "type" : "integer",
            "example" : 0
          },
          "expiresAt" : {
            "format" : "int64",
            "description" : "Customer expiration time as a Unix timestamp in seconds. Provide status, expiresAt, or both.",
            "type" : "number",
            "example" : 0
          }
        },
        "required" : [ "accountId" ]
      },
      "ResultBeanListCustomerResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CustomerResponse"
            }
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "CreateTokenRequest" : {
        "type" : "object",
        "properties" : {
          "username" : {
            "format" : "string",
            "description" : "Your management login name.",
            "type" : "string"
          },
          "password" : {
            "format" : "string",
            "description" : "Login password as a 32-character lowercase MD5 value.",
            "type" : "string"
          },
          "expiresIn" : {
            "format" : "int32",
            "description" : "Token lifetime in seconds. If omitted, the default is 63072000 seconds. The maximum is 94608000 seconds.",
            "type" : "integer",
            "example" : 0
          }
        },
        "required" : [ "username", "password" ]
      },
      "InstructionTemplateResponse" : {
        "type" : "object",
        "properties" : {
          "instructionId" : {
            "format" : "int64",
            "description" : "No comments found.",
            "type" : "number",
            "example" : 0
          },
          "name" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "description" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "type" : {
            "format" : "int32",
            "description" : "No comments found.",
            "type" : "integer",
            "example" : 0
          },
          "bizType" : {
            "format" : "int32",
            "description" : "No comments found.",
            "type" : "integer",
            "example" : 0
          },
          "content" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "placeholders" : {
            "description" : "No comments found.",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/InstructionTemplateResponsePlaceholderResponse"
            }
          }
        }
      },
      "defaultPrimitive" : {
        "format" : "string",
        "type" : "string"
      },
      "TokenResponse" : {
        "type" : "object",
        "properties" : {
          "token" : {
            "format" : "string",
            "description" : "Access token to send in the authToken request header.",
            "type" : "string"
          },
          "expiresIn" : {
            "format" : "int32",
            "description" : "Token lifetime in seconds.",
            "type" : "integer",
            "example" : 0
          },
          "username" : {
            "format" : "string",
            "description" : "Login name used to create this token.",
            "type" : "string"
          },
          "accountId" : {
            "format" : "int64",
            "description" : "Account ID of the login user.",
            "type" : "number",
            "example" : 0
          }
        }
      },
      "PageResponseDeviceAlarmResponse" : {
        "type" : "object",
        "properties" : {
          "total" : {
            "format" : "int64",
            "description" : "Total number of matching records.",
            "type" : "number",
            "example" : 0
          },
          "page" : {
            "format" : "int32",
            "description" : "Current page number.",
            "type" : "integer",
            "example" : 0
          },
          "pageSize" : {
            "format" : "int32",
            "description" : "Number of records requested for each page.",
            "type" : "integer",
            "example" : 0
          },
          "items" : {
            "description" : "Records returned on the current page.",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DeviceAlarmResponse"
            }
          }
        }
      },
      "ResultBeanCustomerResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "$ref" : "#/components/schemas/CustomerResponse"
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "ResultBeanFenceResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "$ref" : "#/components/schemas/FenceResponse"
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "ResultBeanListInstructionTemplateResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/InstructionTemplateResponse"
            }
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "ResultBeanCommandResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "$ref" : "#/components/schemas/CommandResponse"
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "CustomerResponse" : {
        "type" : "object",
        "properties" : {
          "accountId" : {
            "format" : "int64",
            "description" : "Customer account ID.",
            "type" : "number",
            "example" : 0
          },
          "accountName" : {
            "format" : "string",
            "description" : "Customer name.",
            "type" : "string"
          },
          "parentAccountId" : {
            "format" : "int64",
            "description" : "Parent customer account ID.",
            "type" : "number",
            "example" : 0
          },
          "contact" : {
            "format" : "string",
            "description" : "Customer contact name.",
            "type" : "string"
          },
          "phone" : {
            "format" : "string",
            "description" : "Customer contact phone number.",
            "type" : "string"
          },
          "address" : {
            "format" : "string",
            "description" : "Customer contact address.",
            "type" : "string"
          },
          "email" : {
            "format" : "string",
            "description" : "Customer contact email address.",
            "type" : "string"
          },
          "expiresAt" : {
            "format" : "int64",
            "description" : "Customer expiration time as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "status" : {
            "format" : "int32",
            "description" : "Customer status: 1 means enabled and 0 means disabled.",
            "type" : "integer",
            "example" : 0
          },
          "createdAt" : {
            "format" : "int64",
            "description" : "Creation time as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          }
        }
      },
      "InstructionTemplateResponseExampleResponse" : {
        "type" : "object",
        "properties" : {
          "label" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "value" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          }
        }
      },
      "DeviceSearchRequest" : {
        "type" : "object",
        "properties" : {
          "accountId" : {
            "format" : "int64",
            "description" : "Customer account ID to search under. Defaults to your own account.",
            "type" : "number",
            "example" : 0
          },
          "includeDescendants" : {
            "format" : "boolean",
            "description" : "Whether to include devices under child customers.",
            "type" : "boolean",
            "example" : true
          },
          "page" : {
            "format" : "int32",
            "description" : "Page number, starting from 1.",
            "type" : "integer",
            "example" : 0
          },
          "pageSize" : {
            "format" : "int32",
            "description" : "Number of records per page. The maximum is 500.",
            "type" : "integer",
            "example" : 0
          },
          "imeis" : {
            "description" : "Device IMEIs to match. The maximum is 500.",
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "example" : "\"\"\",\"\"\""
          },
          "licensePlates" : {
            "description" : "License plates to match. The maximum is 500.",
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "example" : "\"\"\",\"\"\""
          },
          "model" : {
            "format" : "string",
            "description" : "Device model to match.",
            "type" : "string"
          },
          "expiresFrom" : {
            "format" : "int64",
            "description" : "Earliest device expiration time, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "expiresTo" : {
            "format" : "int64",
            "description" : "Latest device expiration time, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "activatedFrom" : {
            "format" : "int64",
            "description" : "Earliest device activation time, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "activatedTo" : {
            "format" : "int64",
            "description" : "Latest device activation time, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          }
        }
      },
      "UpdateDeviceRequest" : {
        "type" : "object",
        "properties" : {
          "imei" : {
            "format" : "string",
            "description" : "Device IMEI to update.",
            "type" : "string"
          },
          "name" : {
            "format" : "string",
            "description" : "Device name. Omit to keep the existing value; send an empty string to clear it.",
            "type" : "string"
          },
          "licensePlate" : {
            "format" : "string",
            "description" : "License plate. Omit to keep the existing value; send an empty string to clear it.",
            "type" : "string"
          },
          "notes" : {
            "format" : "string",
            "description" : "Device notes. Omit to keep the existing value; send an empty string to clear it.",
            "type" : "string"
          },
          "sim" : {
            "format" : "string",
            "description" : "SIM card number. Omit to keep the existing value; send an empty string to clear it.",
            "type" : "string"
          },
          "simExpiresAt" : {
            "format" : "int64",
            "description" : "SIM expiration time as a Unix timestamp in seconds. Omit to keep the existing value.",
            "type" : "number",
            "example" : 0
          },
          "iconId" : {
            "format" : "int32",
            "description" : "Device icon ID shown on the map. Omit to keep the existing value.",
            "type" : "integer",
            "example" : 0
          },
          "contact" : {
            "format" : "string",
            "description" : "Device contact name. Omit to keep the existing value; send an empty string to clear it.",
            "type" : "string"
          },
          "phone" : {
            "format" : "string",
            "description" : "Device contact phone number. Omit to keep the existing value; send an empty string to clear it.",
            "type" : "string"
          },
          "email" : {
            "format" : "string",
            "description" : "Device contact email address. Omit to keep the existing value; send an empty string to clear it.",
            "type" : "string"
          },
          "customData" : {
            "format" : "string",
            "description" : "Custom device data as a JSON string. Omit to keep the existing value; send an empty string to clear it.",
            "type" : "string"
          }
        },
        "required" : [ "imei" ]
      },
      "ReplaceFenceAssociationsRequest" : {
        "type" : "object",
        "properties" : {
          "targets" : {
            "description" : "Complete replacement list. An empty list removes all associations. @required",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ReplaceFenceAssociationsRequestTarget"
            }
          }
        }
      },
      "CreateLoginUserRequest" : {
        "type" : "object",
        "properties" : {
          "accountId" : {
            "format" : "int64",
            "description" : "Customer account ID that the new login user belongs to.",
            "type" : "number",
            "example" : 0
          },
          "username" : {
            "format" : "string",
            "description" : "Unique login name. The length must be 5 to 50 characters.",
            "type" : "string"
          },
          "password" : {
            "format" : "string",
            "description" : "Login password as a 32-character lowercase MD5 value.",
            "type" : "string"
          },
          "contact" : {
            "format" : "string",
            "description" : "Login user's contact name.",
            "type" : "string"
          },
          "phone" : {
            "format" : "string",
            "description" : "Login user's contact phone number.",
            "type" : "string"
          },
          "roleIds" : {
            "description" : "Optional role IDs assigned by the current account. When omitted, roles are copied from the\ncustomer account's primary login user. Up to ten roles are supported.",
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "example" : "\"0,0\""
          }
        },
        "required" : [ "accountId", "username", "password" ]
      },
      "DeviceTrackResponse" : {
        "type" : "object",
        "properties" : {
          "pointCount" : {
            "format" : "int32",
            "description" : "Number of raw points used to calculate the summary.",
            "type" : "integer",
            "example" : 0
          },
          "returnedPointCount" : {
            "format" : "int32",
            "description" : "Number of points returned in this response.",
            "type" : "integer",
            "example" : 0
          },
          "sampled" : {
            "format" : "boolean",
            "description" : "Whether the returned points were sampled from a larger result.",
            "type" : "boolean",
            "example" : true
          },
          "totalMileage" : {
            "format" : "string",
            "description" : "Total mileage, using the account's configured unit.",
            "type" : "string"
          },
          "maximumSpeed" : {
            "format" : "string",
            "description" : "Maximum speed, using the account's configured unit.",
            "type" : "string"
          },
          "averageSpeed" : {
            "format" : "string",
            "description" : "Average speed, using the account's configured unit.",
            "type" : "string"
          },
          "stoppedDuration" : {
            "format" : "int32",
            "description" : "Total stopped duration in seconds.",
            "type" : "integer",
            "example" : 0
          },
          "movingDuration" : {
            "format" : "int32",
            "description" : "Total moving duration in seconds.",
            "type" : "integer",
            "example" : 0
          },
          "totalDuration" : {
            "format" : "int32",
            "description" : "Total track duration in seconds.",
            "type" : "integer",
            "example" : 0
          },
          "points" : {
            "description" : "Location points ordered by time.",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DeviceTrackPointResponse"
            }
          }
        }
      },
      "ResultBeanPageResponseCommandResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "$ref" : "#/components/schemas/PageResponseCommandResponse"
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "ResultBeanPageResponseDeviceResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "$ref" : "#/components/schemas/PageResponseDeviceResponse"
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "DeviceAlarmResponse" : {
        "type" : "object",
        "properties" : {
          "alarmId" : {
            "format" : "int64",
            "description" : "Alarm record ID.",
            "type" : "number",
            "example" : 0
          },
          "imei" : {
            "format" : "string",
            "description" : "Device IMEI.",
            "type" : "string"
          },
          "alarmAt" : {
            "format" : "int64",
            "description" : "Alarm time as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "type" : {
            "format" : "int32",
            "description" : "Alarm type code.",
            "type" : "integer",
            "example" : 0
          },
          "typeName" : {
            "format" : "string",
            "description" : "Alarm type name.",
            "type" : "string"
          },
          "deviceName" : {
            "format" : "string",
            "description" : "Device name.",
            "type" : "string"
          },
          "latitude" : {
            "format" : "double",
            "description" : "Latitude where the alarm was reported.",
            "type" : "number",
            "example" : 0.0
          },
          "longitude" : {
            "format" : "double",
            "description" : "Longitude where the alarm was reported.",
            "type" : "number",
            "example" : 0.0
          },
          "speed" : {
            "format" : "int32",
            "description" : "Speed at the time of the alarm.",
            "type" : "integer",
            "example" : 0
          },
          "course" : {
            "format" : "int32",
            "description" : "Direction in degrees.",
            "type" : "integer",
            "example" : 0
          },
          "locationType" : {
            "format" : "int32",
            "description" : "Location source type.",
            "type" : "integer",
            "example" : 0
          },
          "status" : {
            "format" : "int32",
            "description" : "Alarm handling status code.",
            "type" : "integer",
            "example" : 0
          },
          "statusName" : {
            "format" : "string",
            "description" : "Alarm handling status name.",
            "type" : "string"
          },
          "remarks" : {
            "format" : "string",
            "description" : "Alarm handling remarks.",
            "type" : "string"
          }
        }
      },
      "ResultBeanDeviceResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "$ref" : "#/components/schemas/DeviceResponse"
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "FenceResponse" : {
        "type" : "object",
        "properties" : {
          "fenceId" : {
            "format" : "int64",
            "description" : "No comments found.",
            "type" : "number",
            "example" : 0
          },
          "accountId" : {
            "format" : "int64",
            "description" : "No comments found.",
            "type" : "number",
            "example" : 0
          },
          "fenceName" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "description" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "type" : {
            "format" : "int32",
            "description" : "1 circle, 2 polygon, 3 path.",
            "type" : "integer",
            "example" : 0
          },
          "setting" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "color" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "isShow" : {
            "format" : "int32",
            "description" : "No comments found.",
            "type" : "integer",
            "example" : 0
          },
          "perimeter" : {
            "format" : "int32",
            "description" : "No comments found.",
            "type" : "integer",
            "example" : 0
          },
          "area" : {
            "format" : "int64",
            "description" : "No comments found.",
            "type" : "number",
            "example" : 0
          },
          "updatedAt" : {
            "format" : "int64",
            "description" : "No comments found.",
            "type" : "number",
            "example" : 0
          },
          "triggerType" : {
            "format" : "int32",
            "description" : "Effective trigger type when returned for a device.",
            "type" : "integer",
            "example" : 0
          },
          "speedThreshold" : {
            "format" : "int32",
            "description" : "Effective speed threshold when returned for a device.",
            "type" : "integer",
            "example" : 0
          }
        }
      },
      "InstructionTemplateResponsePlaceholderResponse" : {
        "type" : "object",
        "properties" : {
          "field" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "label" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "required" : {
            "format" : "boolean",
            "description" : "No comments found.",
            "type" : "boolean",
            "example" : true
          },
          "examples" : {
            "description" : "No comments found.",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/InstructionTemplateResponseExampleResponse"
            }
          }
        }
      },
      "BatchDeviceStatusRequest" : {
        "type" : "object",
        "properties" : {
          "imeis" : {
            "description" : "Device IMEIs to query. Provide imeis, plates, or both. The maximum is 500.",
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "example" : "\"\"\",\"\"\""
          },
          "plates" : {
            "description" : "License plates to query. Provide imeis, plates, or both. The maximum is 500.",
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "example" : "\"\"\",\"\"\""
          }
        }
      },
      "SaveFenceRequest" : {
        "type" : "object",
        "properties" : {
          "accountId" : {
            "format" : "int64",
            "description" : "Owning account ID. Defaults to the API account for create.",
            "type" : "number",
            "example" : 0
          },
          "fenceName" : {
            "format" : "string",
            "description" : "Fence name. @required",
            "type" : "string"
          },
          "description" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "type" : {
            "format" : "int32",
            "description" : "1 circle, 2 polygon, 3 path. @required",
            "type" : "integer",
            "example" : 0
          },
          "setting" : {
            "format" : "string",
            "description" : "Circle: lng lat radius. Polygon/path: lng lat,lng lat,... @required",
            "type" : "string"
          },
          "color" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "isShow" : {
            "format" : "int32",
            "description" : "No comments found.",
            "type" : "integer",
            "example" : 0
          },
          "perimeter" : {
            "format" : "int32",
            "description" : "No comments found.",
            "type" : "integer",
            "example" : 0
          },
          "area" : {
            "format" : "int64",
            "description" : "No comments found.",
            "type" : "number",
            "example" : 0
          }
        }
      },
      "DeviceStatusResponse" : {
        "type" : "object",
        "properties" : {
          "imei" : {
            "format" : "string",
            "description" : "Device IMEI.",
            "type" : "string"
          },
          "name" : {
            "format" : "string",
            "description" : "Device name.",
            "type" : "string"
          },
          "plate" : {
            "format" : "string",
            "description" : "License plate.",
            "type" : "string"
          },
          "iconId" : {
            "format" : "int32",
            "description" : "Device icon ID shown on the map.",
            "type" : "integer",
            "example" : 0
          },
          "iconColor" : {
            "format" : "string",
            "description" : "Device icon color shown on the map.",
            "type" : "string"
          },
          "expiresAt" : {
            "format" : "int64",
            "description" : "Device service expiration time as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "groupId" : {
            "format" : "int64",
            "description" : "Device group ID.",
            "type" : "number",
            "example" : 0
          },
          "status" : {
            "format" : "int32",
            "description" : "Latest device status code.",
            "type" : "integer",
            "example" : 0
          },
          "statusAt" : {
            "format" : "int64",
            "description" : "Time when the latest status was recorded, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "signalAt" : {
            "format" : "int64",
            "description" : "Time when the device last sent a signal, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "locatedAt" : {
            "format" : "int64",
            "description" : "Latest location time as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "latitude" : {
            "format" : "string",
            "description" : "Latitude.",
            "type" : "string"
          },
          "longitude" : {
            "format" : "string",
            "description" : "Longitude.",
            "type" : "string"
          },
          "locationType" : {
            "format" : "int32",
            "description" : "Location source type.",
            "type" : "integer",
            "example" : 0
          },
          "acc" : {
            "format" : "int32",
            "description" : "ACC status: 1 means on and 0 means off.",
            "type" : "integer",
            "example" : 0
          },
          "accAt" : {
            "format" : "int64",
            "description" : "Time when ACC status last changed, as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "speed" : {
            "format" : "string",
            "description" : "Latest speed.",
            "type" : "string"
          },
          "course" : {
            "format" : "int32",
            "description" : "Direction in degrees.",
            "type" : "integer",
            "example" : 0
          },
          "altitude" : {
            "format" : "int32",
            "description" : "Altitude.",
            "type" : "integer",
            "example" : 0
          },
          "gps" : {
            "format" : "int32",
            "description" : "GPS satellite count.",
            "type" : "integer",
            "example" : 0
          },
          "gsm" : {
            "format" : "int32",
            "description" : "GSM signal level.",
            "type" : "integer",
            "example" : 0
          },
          "battery" : {
            "format" : "int32",
            "description" : "Battery percentage.",
            "type" : "integer",
            "example" : 0
          },
          "voltage" : {
            "format" : "float",
            "description" : "External voltage.",
            "type" : "number",
            "example" : 0.0
          },
          "sim" : {
            "format" : "string",
            "description" : "SIM card number.",
            "type" : "string"
          },
          "model" : {
            "format" : "string",
            "description" : "Device model.",
            "type" : "string"
          }
        }
      },
      "ResultBeanListFenceAssociationResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/FenceAssociationResponse"
            }
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "CreateCommandRequest" : {
        "type" : "object",
        "properties" : {
          "imei" : {
            "format" : "string",
            "description" : "Device IMEI. @required",
            "type" : "string"
          },
          "instructionId" : {
            "format" : "int64",
            "description" : "Supported instruction template ID. @required",
            "type" : "number",
            "example" : 0
          },
          "content" : {
            "format" : "string",
            "description" : "Rendered instruction content. @required",
            "type" : "string"
          }
        }
      },
      "ResultBeanTokenResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "$ref" : "#/components/schemas/TokenResponse"
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "CreateCustomerRequest" : {
        "type" : "object",
        "properties" : {
          "accountName" : {
            "format" : "string",
            "description" : "Name of the customer to create.",
            "type" : "string"
          },
          "username" : {
            "format" : "string",
            "description" : "Primary login name for the new customer.",
            "type" : "string"
          },
          "password" : {
            "format" : "string",
            "description" : "Primary login password as a 32-character lowercase MD5 value.",
            "type" : "string"
          },
          "parentAccountId" : {
            "format" : "int64",
            "description" : "Parent customer account ID. The parent must be within your accessible customer hierarchy.",
            "type" : "number",
            "example" : 0
          },
          "roleIds" : {
            "description" : "Optional role IDs. When omitted, the primary login inherits the parent primary user's roles.",
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "example" : "\"0,0\""
          },
          "contact" : {
            "format" : "string",
            "description" : "Customer contact name.",
            "type" : "string"
          },
          "phone" : {
            "format" : "string",
            "description" : "Customer contact phone number.",
            "type" : "string"
          },
          "email" : {
            "format" : "string",
            "description" : "Customer contact email address.",
            "type" : "string"
          },
          "address" : {
            "format" : "string",
            "description" : "Customer contact address.",
            "type" : "string"
          },
          "expiresAt" : {
            "format" : "int64",
            "description" : "Customer expiration time as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          }
        },
        "required" : [ "accountName", "username", "password", "parentAccountId" ]
      },
      "ResultBeanVoid" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "type" : "object"
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "DeviceTransferRequest" : {
        "type" : "object",
        "properties" : {
          "imeis" : {
            "description" : "IMEIs of the devices to transfer. The maximum is 500.",
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "example" : "\"\"\",\"\"\""
          },
          "targetAccountId" : {
            "format" : "int64",
            "description" : "Target customer account ID that will receive the devices.",
            "type" : "number",
            "example" : 0
          }
        },
        "required" : [ "imeis", "targetAccountId" ]
      },
      "DeviceImportRequest" : {
        "type" : "object",
        "properties" : {
          "imeis" : {
            "description" : "IMEIs of the devices to import. The maximum is 500.",
            "type" : "array",
            "items" : {
              "type" : "string"
            },
            "example" : "\"\"\",\"\"\""
          },
          "model" : {
            "format" : "string",
            "description" : "Device model name.",
            "type" : "string"
          },
          "parameter" : {
            "format" : "int32",
            "description" : "Device model capability parameter. Use 0 when no extra parameter is needed.",
            "type" : "integer",
            "example" : 0
          },
          "months" : {
            "format" : "int32",
            "description" : "Initial service duration in months. Allowed range: 1 to 120 for prepaid customers.",
            "type" : "integer",
            "example" : 0
          },
          "accountId" : {
            "format" : "int64",
            "description" : "Customer account that will receive the devices. Defaults to your own account.",
            "type" : "number",
            "example" : 0
          }
        },
        "required" : [ "imeis", "model" ]
      },
      "ReplaceFenceAssociationsRequestTarget" : {
        "type" : "object",
        "properties" : {
          "dimensionType" : {
            "format" : "int32",
            "description" : "Account, group, or device dimension code. @required",
            "type" : "integer",
            "example" : 0
          },
          "dimensionId" : {
            "format" : "string",
            "description" : "Account ID, group ID, or device IMEI. @required",
            "type" : "string"
          },
          "triggerType" : {
            "format" : "int32",
            "description" : "Enter, leave, or both trigger code. @required",
            "type" : "integer",
            "example" : 0
          },
          "speedThreshold" : {
            "format" : "int32",
            "description" : "No comments found.",
            "type" : "integer",
            "example" : 0
          }
        }
      },
      "CustomerTreeResponse" : {
        "type" : "object",
        "properties" : {
          "accountId" : {
            "format" : "int64",
            "description" : "Customer account ID.",
            "type" : "number",
            "example" : 0
          },
          "accountName" : {
            "format" : "string",
            "description" : "Customer name.",
            "type" : "string"
          },
          "parentAccountId" : {
            "format" : "int64",
            "description" : "Parent customer account ID.",
            "type" : "number",
            "example" : 0
          },
          "contact" : {
            "format" : "string",
            "description" : "Customer contact name.",
            "type" : "string"
          },
          "phone" : {
            "format" : "string",
            "description" : "Customer contact phone number.",
            "type" : "string"
          },
          "address" : {
            "format" : "string",
            "description" : "Customer contact address.",
            "type" : "string"
          },
          "email" : {
            "format" : "string",
            "description" : "Customer contact email address.",
            "type" : "string"
          },
          "expiresAt" : {
            "format" : "int64",
            "description" : "Customer expiration time as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "status" : {
            "format" : "int32",
            "description" : "Customer status: 1 means enabled and 0 means disabled.",
            "type" : "integer",
            "example" : 0
          },
          "createdAt" : {
            "format" : "int64",
            "description" : "Creation time as a Unix timestamp in seconds.",
            "type" : "number",
            "example" : 0
          },
          "hasChildren" : {
            "format" : "int32",
            "description" : "Whether this customer has child customers: 1 means yes and 0 means no.",
            "type" : "integer",
            "example" : 0
          },
          "children" : {
            "description" : "Child customer tree nodes.",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/CustomerTreeResponse"
            }
          }
        }
      },
      "FenceAssociationResponse" : {
        "type" : "object",
        "properties" : {
          "dimensionType" : {
            "format" : "int32",
            "description" : "No comments found.",
            "type" : "integer",
            "example" : 0
          },
          "dimensionId" : {
            "format" : "string",
            "description" : "No comments found.",
            "type" : "string"
          },
          "triggerType" : {
            "format" : "int32",
            "description" : "No comments found.",
            "type" : "integer",
            "example" : 0
          },
          "speedThreshold" : {
            "format" : "int32",
            "description" : "No comments found.",
            "type" : "integer",
            "example" : 0
          }
        }
      },
      "ResultBeanListDeviceStatusResponse" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "format" : "int32",
            "description" : "Result code. 0 means the request succeeded; any non-zero value means the request failed.",
            "type" : "integer",
            "example" : 0
          },
          "message" : {
            "format" : "string",
            "description" : "Error message. This field is empty when the request succeeds.",
            "type" : "string"
          },
          "data" : {
            "description" : "Response data returned by the endpoint.",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DeviceStatusResponse"
            }
          },
          "requestId" : {
            "format" : "string",
            "description" : "Correlation ID for an API error.",
            "type" : "string"
          }
        }
      },
      "UpdateCustomerRequest" : {
        "type" : "object",
        "properties" : {
          "accountId" : {
            "format" : "int64",
            "description" : "Customer account ID to update.",
            "type" : "number",
            "example" : 0
          },
          "accountName" : {
            "format" : "string",
            "description" : "New customer name. Omit this field to keep the existing name.",
            "type" : "string"
          },
          "contact" : {
            "format" : "string",
            "description" : "Customer contact name. Omit to keep the existing value; send an empty string to clear it.",
            "type" : "string"
          },
          "phone" : {
            "format" : "string",
            "description" : "Customer contact phone number. Omit to keep the existing value; send an empty string to clear it.",
            "type" : "string"
          },
          "email" : {
            "format" : "string",
            "description" : "Customer contact email address. Omit to keep the existing value; send an empty string to clear it.",
            "type" : "string"
          },
          "address" : {
            "format" : "string",
            "description" : "Customer contact address. Omit to keep the existing value; send an empty string to clear it.",
            "type" : "string"
          }
        },
        "required" : [ "accountId" ]
      }
    },
    "securitySchemes" : {
      "authToken" : {
        "type" : "apiKey",
        "in" : "header",
        "name" : "authToken",
        "description" : "API token returned by POST /rest/api/auth. Send it in this header for protected endpoints."
      }
    }
  }
}