{
  "host": "setup.athom.com",
  "basePath": "/api",
  "operations": {
    "createSession": {
      "path": "/",
      "method": "post",
      "parameters": {}
    },
    "getSession": {
      "path": "/{sessionId}",
      "method": "get",
      "parameters": {
        "sessionId": {
          "in": "path",
          "type": "string",
          "required": true
        }
      }
    },
    "updateSession": {
      "path": "/{sessionId}",
      "method": "put",
      "parameters": {
        "sessionId": {
          "in": "path",
          "type": "string",
          "required": true
        },
        "data": {
          "in": "body",
          "type": "object",
          "required": true,
          "unpack": true,
          "properties": {
            "sn": {
              "type": "string"
            }
          }
        }
      }
    },
    "deleteSession": {
      "path": "/{sessionId}",
      "method": "delete",
      "parameters": {
        "sessionId": {
          "in": "path",
          "type": "string",
          "required": true
        }
      }
    },
    "getSessionState": {
      "path": "/{sessionId}/state",
      "method": "get",
      "parameters": {
        "sessionId": {
          "in": "path",
          "type": "string",
          "required": true
        }
      }
    },
    "setSessionState": {
      "path": "/{sessionId}/state",
      "method": "put",
      "parameters": {
        "sessionId": {
          "in": "path",
          "type": "string",
          "required": true
        },
        "data": {
          "in": "body",
          "type": "object",
          "required": true,
          "unpack": true,
          "properties": {
            "state": {
              "type": "string"
            }
          }
        }
      }
    },
    "getSessionCommands": {
      "path": "/{sessionId}/command",
      "method": "get",
      "parameters": {
        "sessionId": {
          "in": "path",
          "type": "string",
          "required": true
        }
      }
    },
    "createSessionCommand": {
      "path": "/{sessionId}/command",
      "method": "post",
      "parameters": {
        "sessionId": {
          "in": "path",
          "type": "string",
          "required": true
        },
        "manager": {
          "type": "string",
          "in": "body"
        },
        "command": {
          "type": "string",
          "in": "body"
        },
        "args": {
          "type": "object",
          "in": "body"
        }
      }
    },
    "updateSessionCommandResponse": {
      "path": "/{sessionId}/command/{commandId}",
      "method": "put",
      "parameters": {
        "sessionId": {
          "in": "path",
          "type": "string",
          "required": true
        },
        "commandId": {
          "in": "path",
          "type": "string",
          "required": true
        },
        "result": {
          "type": "array",
          "in": "body"
        }
      }
    },
    "loginByDelegationToken": {
      "path": "/{sessionId}/login-token",
      "method": "post",
      "parameters": {
        "sessionId": {
          "in": "path",
          "type": "string",
          "required": true
        },
        "data": {
          "in": "body",
          "type": "object",
          "required": true,
          "unpack": true,
          "properties": {
            "token": {
              "type": "string"
            }
          }
        }
      }
    },
    "updateSessionHomey": {
      "path": "/{sessionId}/reset",
      "method": "post",
      "parameters": {
        "sessionId": {
          "in": "path",
          "type": "string",
          "required": true
        },
        "data": {
          "in": "body",
          "type": "object",
          "required": true,
          "unpack": true,
          "properties": {
            "factoryreset": {
              "type": "boolean"
            },
            "name": {
              "type": "string"
            },
            "token": {
              "type": "string"
            },
            "extraProperties": {
              "type": "object"
            }
          }
        }
      }
    },
    "getSessionVoice": {
      "path": "/{sessionId}/voice",
      "method": "get",
      "parameters": {
        "sessionId": {
          "in": "path",
          "type": "string",
          "required": true
        },
        "language": {
          "in": "query",
          "type": "string",
          "required": true
        }
      }
    },
    "getSessionBackups": {
      "path": "/{sessionId}/backup",
      "method": "get",
      "parameters": {
        "sessionId": {
          "in": "path",
          "type": "string",
          "required": true
        }
      }
    },
    "getTimezone": {
      "path": "/timezone",
      "method": "get",
      "parameters": {}
    }
  }
}