2026-10-02 00:03:48 +08:00
|
|
|
{
|
|
|
|
|
"openapi": "3.1.0",
|
|
|
|
|
"info": {
|
|
|
|
|
"title": "Pigway Frame Flow API",
|
|
|
|
|
"version": "0.1.0"
|
|
|
|
|
},
|
|
|
|
|
"paths": {
|
2026-10-05 00:52:39 +08:00
|
|
|
"/api/v1/auth/login": {
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Accounts"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Login",
|
|
|
|
|
"operationId": "login_api_v1_auth_login_post",
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Login"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": true
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/AccountView"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/auth/me": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Accounts"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Me",
|
|
|
|
|
"operationId": "me_api_v1_auth_me_get",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/AccountView"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/auth/logout": {
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Accounts"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Logout",
|
|
|
|
|
"operationId": "logout_api_v1_auth_logout_post",
|
|
|
|
|
"responses": {
|
|
|
|
|
"204": {
|
|
|
|
|
"description": "Successful Response"
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/auth/password": {
|
|
|
|
|
"put": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Accounts"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Change Password",
|
|
|
|
|
"operationId": "change_password_api_v1_auth_password_put",
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/PasswordChange"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": true
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"204": {
|
|
|
|
|
"description": "Successful Response"
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
"/health": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Health"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Health",
|
|
|
|
|
"operationId": "health_health_get",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Health"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/ready": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Health"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Ready",
|
|
|
|
|
"operationId": "ready_ready_get",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Readiness"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Readiness"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/version": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"System"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Version",
|
|
|
|
|
"operationId": "version_api_v1_version_get",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Version"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/devices": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Devices"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Devices",
|
|
|
|
|
"operationId": "devices_api_v1_devices_get",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/Device"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Response Devices Api V1 Devices Get"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/devices/{device_id}": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Devices"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Device",
|
|
|
|
|
"operationId": "device_api_v1_devices__device_id__get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "device_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "refresh",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"default": false,
|
|
|
|
|
"title": "Refresh"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Device"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/devices/{device_id}/images": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Images"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Images",
|
|
|
|
|
"operationId": "images_api_v1_devices__device_id__images_get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "device_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/GalleryImage"
|
|
|
|
|
},
|
|
|
|
|
"title": "Response Images Api V1 Devices Device Id Images Get"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/devices/{device_id}/images/{image_id}/file": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Images"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Image File",
|
|
|
|
|
"operationId": "image_file_api_v1_devices__device_id__images__image_id__file_get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "device_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "image_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Image Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "thumbnail",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"default": false,
|
|
|
|
|
"title": "Thumbnail"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {}
|
|
|
|
|
},
|
|
|
|
|
"image/jpeg": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"format": "binary"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/display": {
|
|
|
|
|
"post": {
|
|
|
|
|
"summary": "Display",
|
|
|
|
|
"operationId": "display_api_display_post",
|
|
|
|
|
"deprecated": true,
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "idempotency-key",
|
|
|
|
|
"in": "header",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Idempotency-Key"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"required": true,
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/DisplayRequest"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"202": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Accepted"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/display": {
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Display"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Display",
|
|
|
|
|
"operationId": "display_api_v1_display_post",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "idempotency-key",
|
|
|
|
|
"in": "header",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Idempotency-Key"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"required": true,
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/DisplayRequest"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"202": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Accepted"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/devices/{device_id}/display": {
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Display"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Device Display",
|
|
|
|
|
"operationId": "device_display_api_v1_devices__device_id__display_post",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "device_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "idempotency-key",
|
|
|
|
|
"in": "header",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Idempotency-Key"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"required": true,
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/DisplayRequest"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"202": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Accepted"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/render": {
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Render"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Render",
|
|
|
|
|
"operationId": "render_api_v1_render_post",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "idempotency-key",
|
|
|
|
|
"in": "header",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Idempotency-Key"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"required": true,
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/TemplateContent"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"202": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Accepted"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/devices/{device_id}/upload": {
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Images"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Upload",
|
|
|
|
|
"operationId": "upload_api_v1_devices__device_id__upload_post",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "device_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "display_now",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"default": false,
|
|
|
|
|
"title": "Display Now"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "idempotency-key",
|
|
|
|
|
"in": "header",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Idempotency-Key"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"required": true,
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/ImageContent"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/URLContent"
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/PhotoSourceContent"
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Payload"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"202": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Accepted"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/preview": {
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Render"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Preview",
|
|
|
|
|
"operationId": "preview_api_v1_preview_post",
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"content": {
|
|
|
|
|
"multipart/form-data": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Body_preview_api_v1_preview_post"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": true
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Asset"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/assets": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Images"
|
|
|
|
|
],
|
|
|
|
|
"summary": "List Assets",
|
|
|
|
|
"operationId": "list_assets_api_v1_assets_get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "limit",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 200,
|
|
|
|
|
"minimum": 1,
|
|
|
|
|
"default": 100,
|
|
|
|
|
"title": "Limit"
|
|
|
|
|
}
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "source",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"enum": [
|
|
|
|
|
"all",
|
|
|
|
|
"uploaded",
|
|
|
|
|
"generated"
|
|
|
|
|
],
|
|
|
|
|
"type": "string",
|
|
|
|
|
"default": "all",
|
|
|
|
|
"title": "Source"
|
|
|
|
|
}
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/Asset"
|
|
|
|
|
},
|
|
|
|
|
"title": "Response List Assets Api V1 Assets Get"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/assets/{asset_id}": {
|
|
|
|
|
"delete": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Images"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Delete Asset",
|
|
|
|
|
"operationId": "delete_asset_api_v1_assets__asset_id__delete",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "asset_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Asset Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"204": {
|
|
|
|
|
"description": "Successful Response"
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Images"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Asset File",
|
|
|
|
|
"operationId": "asset_file_api_v1_assets__asset_id__get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "asset_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Asset Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {}
|
|
|
|
|
},
|
|
|
|
|
"image/jpeg": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"format": "binary"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-10-05 00:52:39 +08:00
|
|
|
"/api/v1/photo-sources": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Photo sources"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Photo Sources",
|
|
|
|
|
"operationId": "photo_sources_api_v1_photo_sources_get",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/PhotoSourceView"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Response Photo Sources Api V1 Photo Sources Get"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/photo-sources/{source_id}": {
|
|
|
|
|
"put": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Photo sources"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Save Photo Source",
|
|
|
|
|
"operationId": "save_photo_source_api_v1_photo_sources__source_id__put",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "source_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Source Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"required": true,
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/PhotoSourceInput"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/PhotoSourceView"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"delete": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Photo sources"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Delete Photo Source",
|
|
|
|
|
"operationId": "delete_photo_source_api_v1_photo_sources__source_id__delete",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "source_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Source Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"204": {
|
|
|
|
|
"description": "Successful Response"
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/photo-sources/{source_id}/images": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Photo sources"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Source Images",
|
|
|
|
|
"operationId": "source_images_api_v1_photo_sources__source_id__images_get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "source_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Source Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "offset",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"minimum": 0,
|
|
|
|
|
"default": 0,
|
|
|
|
|
"title": "Offset"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "limit",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 200,
|
|
|
|
|
"minimum": 1,
|
|
|
|
|
"default": 50,
|
|
|
|
|
"title": "Limit"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "refresh",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"default": false,
|
|
|
|
|
"title": "Refresh"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/PhotoCatalog"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
"/api/v1/devices/{device_id}/images/{image_id}": {
|
|
|
|
|
"delete": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Images"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Delete Image",
|
|
|
|
|
"operationId": "delete_image_api_v1_devices__device_id__images__image_id__delete",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "device_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "image_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Image Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "confirm_current",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"default": false,
|
|
|
|
|
"title": "Confirm Current"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "idempotency-key",
|
|
|
|
|
"in": "header",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Idempotency-Key"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"202": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Accepted"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/devices/{device_id}/restore": {
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Display"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Restore",
|
|
|
|
|
"operationId": "restore_api_v1_devices__device_id__restore_post",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "device_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "idempotency-key",
|
|
|
|
|
"in": "header",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Idempotency-Key"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"202": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Accepted"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/operations": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Operations"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Operations",
|
|
|
|
|
"operationId": "operations_api_v1_operations_get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "limit",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 200,
|
|
|
|
|
"minimum": 1,
|
|
|
|
|
"default": 50,
|
|
|
|
|
"title": "Limit"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/Operation"
|
|
|
|
|
},
|
|
|
|
|
"title": "Response Operations Api V1 Operations Get"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/operations/{operation_id}": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Operations"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Operation",
|
|
|
|
|
"operationId": "operation_api_v1_operations__operation_id__get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "operation_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Operation Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Operation"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/operations/{operation_id}/reconcile": {
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Operations"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Reconcile",
|
|
|
|
|
"operationId": "reconcile_api_v1_operations__operation_id__reconcile_post",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "operation_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Operation Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"required": true,
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ReconcileRequest"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Reconciliation"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/templates": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Templates"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Templates",
|
|
|
|
|
"operationId": "templates_api_v1_templates_get",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/TemplateInfo"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Response Templates Api V1 Templates Get"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/templates/{template_id}": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Templates"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Template",
|
|
|
|
|
"operationId": "template_api_v1_templates__template_id__get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "template_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Template Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/TemplateInfo"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/templates/{template_id}/config": {
|
|
|
|
|
"put": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Templates"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Template Config",
|
|
|
|
|
"operationId": "template_config_api_v1_templates__template_id__config_put",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "template_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Template Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"required": true,
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/TemplateConfig"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/TemplateConfig"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
"delete": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Templates"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Reset Template Config",
|
|
|
|
|
"operationId": "reset_template_config_api_v1_templates__template_id__config_delete",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "template_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Template Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"204": {
|
|
|
|
|
"description": "Successful Response"
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/jobs": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Automation"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Jobs",
|
|
|
|
|
"operationId": "jobs_api_v1_jobs_get",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/Job"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Response Jobs Api V1 Jobs Get"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Automation"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Create Job",
|
|
|
|
|
"operationId": "create_job_api_v1_jobs_post",
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/JobInput"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": true
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"201": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Job"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/jobs/{job_id}": {
|
|
|
|
|
"put": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Automation"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Update Job",
|
|
|
|
|
"operationId": "update_job_api_v1_jobs__job_id__put",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "job_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Job Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"required": true,
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/JobInput"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Job"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"delete": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Automation"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Delete Job",
|
|
|
|
|
"operationId": "delete_job_api_v1_jobs__job_id__delete",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "job_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Job Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"204": {
|
|
|
|
|
"description": "Successful Response"
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Automation"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Get Job",
|
|
|
|
|
"operationId": "get_job_api_v1_jobs__job_id__get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "job_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Job Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Job"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/playlists": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Playlists"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Playlists",
|
|
|
|
|
"operationId": "playlists_api_v1_playlists_get",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/Playlist"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Response Playlists Api V1 Playlists Get"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Playlists"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Create Playlist",
|
|
|
|
|
"operationId": "create_playlist_api_v1_playlists_post",
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/PlaylistInput"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": true
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"201": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Playlist"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/playlists/{playlist_id}": {
|
|
|
|
|
"put": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Playlists"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Update Playlist",
|
|
|
|
|
"operationId": "update_playlist_api_v1_playlists__playlist_id__put",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "playlist_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Playlist Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"required": true,
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/PlaylistInput"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Playlist"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"delete": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Playlists"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Delete Playlist",
|
|
|
|
|
"operationId": "delete_playlist_api_v1_playlists__playlist_id__delete",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "playlist_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Playlist Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"204": {
|
|
|
|
|
"description": "Successful Response"
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/history": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"History"
|
|
|
|
|
],
|
|
|
|
|
"summary": "History",
|
|
|
|
|
"operationId": "history_api_v1_history_get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "limit",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 200,
|
|
|
|
|
"minimum": 1,
|
|
|
|
|
"default": 100,
|
|
|
|
|
"title": "Limit"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "array",
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/History"
|
|
|
|
|
},
|
|
|
|
|
"title": "Response History Api V1 History Get"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/settings": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Settings"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Settings View",
|
|
|
|
|
"operationId": "settings_view_api_v1_settings_get",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/SettingsView"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
"/api/v1/devices/{device_id}/official/connection": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Official"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Connection State",
|
|
|
|
|
"operationId": "connection_state_api_v1_devices__device_id__official_connection_get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "device_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "discover",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"default": false,
|
|
|
|
|
"title": "Discover"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ConnectionState"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Official"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Connection Login",
|
|
|
|
|
"operationId": "connection_login_api_v1_devices__device_id__official_connection_post",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "device_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"required": true,
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/LoginRequest"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ConnectionState"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"put": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Official"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Connection Select",
|
|
|
|
|
"operationId": "connection_select_api_v1_devices__device_id__official_connection_put",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "device_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"required": true,
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/SelectRequest"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ConnectionState"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"delete": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Official"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Connection Disconnect",
|
|
|
|
|
"operationId": "connection_disconnect_api_v1_devices__device_id__official_connection_delete",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "device_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ConnectionState"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/devices/{device_id}/widgets": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Devices"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Official Widgets",
|
|
|
|
|
"operationId": "official_widgets_api_v1_devices__device_id__widgets_get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "device_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/WidgetState"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/devices/{device_id}/current-content": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Devices"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Current Content",
|
|
|
|
|
"operationId": "current_content_api_v1_devices__device_id__current_content_get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "device_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/CurrentDisplay"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/providers/weather": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Providers"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Weather View",
|
|
|
|
|
"operationId": "weather_view_api_v1_providers_weather_get",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/WeatherView"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/settings/weather": {
|
|
|
|
|
"put": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Settings"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Weather Config",
|
|
|
|
|
"operationId": "weather_config_api_v1_settings_weather_put",
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/WeatherConfig"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": true
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/WeatherConfig"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/assets/{asset_id}/source": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Templates"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Asset Source",
|
|
|
|
|
"operationId": "asset_source_api_v1_assets__asset_id__source_get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "asset_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Asset Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"additionalProperties": true,
|
|
|
|
|
"title": "Response Asset Source Api V1 Assets Asset Id Source Get"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/jobs/{job_id}/run": {
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Automation"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Run Job",
|
|
|
|
|
"operationId": "run_job_api_v1_jobs__job_id__run_post",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "job_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Job Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "idempotency-key",
|
|
|
|
|
"in": "header",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Idempotency-Key"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"202": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Accepted"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/jobs/{job_id}/preview": {
|
|
|
|
|
"post": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Automation"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Preview Job",
|
|
|
|
|
"operationId": "preview_job_api_v1_jobs__job_id__preview_post",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "job_id",
|
|
|
|
|
"in": "path",
|
|
|
|
|
"required": true,
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Job Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "idempotency-key",
|
|
|
|
|
"in": "header",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Idempotency-Key"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"202": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/Accepted"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/settings/image-url": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Settings"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Image Url Config",
|
|
|
|
|
"operationId": "image_url_config_api_v1_settings_image_url_get",
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ImageURLConfig"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"put": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Settings"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Set Image Url Config",
|
|
|
|
|
"operationId": "set_image_url_config_api_v1_settings_image_url_put",
|
|
|
|
|
"requestBody": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ImageURLConfig"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"required": true
|
|
|
|
|
},
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ImageURLConfig"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"description": "Bad Request",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"description": "Unauthorized",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"description": "Forbidden",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"description": "Not Found",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"description": "Conflict",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"description": "Content Too Large",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"description": "Unprocessable Content",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"description": "Too Many Requests",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"description": "Internal Server Error",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"description": "Bad Gateway",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"description": "Service Unavailable",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"/api/v1/providers/poetry": {
|
|
|
|
|
"get": {
|
|
|
|
|
"tags": [
|
|
|
|
|
"Providers"
|
|
|
|
|
],
|
|
|
|
|
"summary": "Daily Poetry",
|
|
|
|
|
"operationId": "daily_poetry_api_v1_providers_poetry_get",
|
|
|
|
|
"security": [
|
|
|
|
|
{
|
|
|
|
|
"HTTPBearer": []
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"AccountSession": []
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"parameters": [
|
|
|
|
|
{
|
|
|
|
|
"name": "date",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Date"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"name": "poem_id",
|
|
|
|
|
"in": "query",
|
|
|
|
|
"required": false,
|
|
|
|
|
"schema": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Poem Id"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"responses": {
|
|
|
|
|
"200": {
|
|
|
|
|
"description": "Successful Response",
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"type": "object",
|
|
|
|
|
"additionalProperties": true,
|
|
|
|
|
"title": "Response Daily Poetry Api V1 Providers Poetry Get"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"400": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Request"
|
|
|
|
|
},
|
|
|
|
|
"401": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unauthorized"
|
|
|
|
|
},
|
|
|
|
|
"403": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Forbidden"
|
|
|
|
|
},
|
|
|
|
|
"404": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Not Found"
|
|
|
|
|
},
|
|
|
|
|
"409": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Conflict"
|
|
|
|
|
},
|
|
|
|
|
"413": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Content Too Large"
|
|
|
|
|
},
|
|
|
|
|
"422": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Unprocessable Content"
|
|
|
|
|
},
|
|
|
|
|
"429": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Too Many Requests"
|
|
|
|
|
},
|
|
|
|
|
"500": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Internal Server Error"
|
|
|
|
|
},
|
|
|
|
|
"502": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Bad Gateway"
|
|
|
|
|
},
|
|
|
|
|
"503": {
|
|
|
|
|
"content": {
|
|
|
|
|
"application/json": {
|
|
|
|
|
"schema": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorResponse"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"description": "Service Unavailable"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"components": {
|
|
|
|
|
"schemas": {
|
|
|
|
|
"Accepted": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"operation_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Operation Id"
|
|
|
|
|
},
|
|
|
|
|
"job_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Job Id"
|
|
|
|
|
},
|
|
|
|
|
"status": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"const": "accepted",
|
|
|
|
|
"title": "Status",
|
|
|
|
|
"default": "accepted"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"operation_id",
|
|
|
|
|
"job_id"
|
|
|
|
|
],
|
|
|
|
|
"title": "Accepted"
|
|
|
|
|
},
|
2026-10-05 00:52:39 +08:00
|
|
|
"AccountView": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"username": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Username"
|
|
|
|
|
},
|
|
|
|
|
"csrf_token": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Csrf Token"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"username",
|
|
|
|
|
"csrf_token"
|
|
|
|
|
],
|
|
|
|
|
"title": "AccountView"
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
"Asset": {
|
|
|
|
|
"properties": {
|
2026-10-05 00:52:39 +08:00
|
|
|
"source": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"uploaded",
|
|
|
|
|
"generated"
|
|
|
|
|
],
|
|
|
|
|
"title": "Source",
|
|
|
|
|
"default": "uploaded"
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
"asset_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Asset Id"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Name"
|
|
|
|
|
},
|
|
|
|
|
"url": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Url"
|
|
|
|
|
},
|
|
|
|
|
"created_at": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Created At"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"asset_id",
|
|
|
|
|
"name",
|
|
|
|
|
"url",
|
|
|
|
|
"created_at"
|
|
|
|
|
],
|
|
|
|
|
"title": "Asset"
|
|
|
|
|
},
|
|
|
|
|
"Body_preview_api_v1_preview_post": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"file": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"contentMediaType": "application/octet-stream",
|
|
|
|
|
"title": "File"
|
|
|
|
|
},
|
|
|
|
|
"fit": {
|
|
|
|
|
"$ref": "#/components/schemas/Fit",
|
|
|
|
|
"default": "contain"
|
|
|
|
|
},
|
|
|
|
|
"profile": {
|
|
|
|
|
"$ref": "#/components/schemas/Profile",
|
|
|
|
|
"default": "color"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"file"
|
|
|
|
|
],
|
|
|
|
|
"title": "Body_preview_api_v1_preview_post"
|
|
|
|
|
},
|
|
|
|
|
"Capabilities": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"upload": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Upload",
|
|
|
|
|
"default": true
|
|
|
|
|
},
|
|
|
|
|
"gallery": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Gallery",
|
|
|
|
|
"default": true
|
|
|
|
|
},
|
|
|
|
|
"delete": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Delete",
|
|
|
|
|
"default": true
|
|
|
|
|
},
|
|
|
|
|
"switch": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Switch",
|
|
|
|
|
"default": true
|
|
|
|
|
},
|
|
|
|
|
"remote_refresh": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Remote Refresh",
|
|
|
|
|
"default": true
|
|
|
|
|
},
|
|
|
|
|
"battery": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Battery",
|
|
|
|
|
"default": true
|
|
|
|
|
},
|
|
|
|
|
"color": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Color",
|
|
|
|
|
"default": true
|
|
|
|
|
},
|
|
|
|
|
"cloud_upload_without_display": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Cloud Upload Without Display",
|
|
|
|
|
"default": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "Capabilities"
|
|
|
|
|
},
|
2026-10-05 00:52:39 +08:00
|
|
|
"ConnectionState": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"authorized": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Authorized"
|
|
|
|
|
},
|
|
|
|
|
"username": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Username"
|
|
|
|
|
},
|
|
|
|
|
"robot_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Robot Id"
|
|
|
|
|
},
|
|
|
|
|
"mock": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Mock"
|
|
|
|
|
},
|
|
|
|
|
"devices": {
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/OfficialDevice"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Devices"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"authorized",
|
|
|
|
|
"username",
|
|
|
|
|
"robot_id",
|
|
|
|
|
"mock"
|
|
|
|
|
],
|
|
|
|
|
"title": "ConnectionState"
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
"CurrentContent": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"type": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"const": "image",
|
|
|
|
|
"title": "Type",
|
|
|
|
|
"default": "image"
|
|
|
|
|
},
|
|
|
|
|
"id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Id"
|
|
|
|
|
},
|
|
|
|
|
"cover_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Cover Id"
|
|
|
|
|
},
|
|
|
|
|
"synced": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Synced"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"id",
|
|
|
|
|
"cover_id",
|
|
|
|
|
"synced"
|
|
|
|
|
],
|
|
|
|
|
"title": "CurrentContent"
|
|
|
|
|
},
|
2026-10-05 00:52:39 +08:00
|
|
|
"CurrentDisplay": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"device_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
},
|
|
|
|
|
"image_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Image Id"
|
|
|
|
|
},
|
|
|
|
|
"synced": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Synced"
|
|
|
|
|
},
|
|
|
|
|
"source_known": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Source Known"
|
|
|
|
|
},
|
|
|
|
|
"source": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"additionalProperties": true,
|
|
|
|
|
"type": "object"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Source"
|
|
|
|
|
},
|
|
|
|
|
"asset_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Asset Id"
|
|
|
|
|
},
|
|
|
|
|
"operation_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Operation Id"
|
|
|
|
|
},
|
|
|
|
|
"preview_url": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Preview Url"
|
|
|
|
|
},
|
|
|
|
|
"previous_image_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Previous Image Id"
|
|
|
|
|
},
|
|
|
|
|
"overrides": {
|
|
|
|
|
"items": {
|
|
|
|
|
"additionalProperties": true,
|
|
|
|
|
"type": "object"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Overrides"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"device_id",
|
|
|
|
|
"image_id",
|
|
|
|
|
"synced",
|
|
|
|
|
"source_known",
|
|
|
|
|
"source",
|
|
|
|
|
"asset_id",
|
|
|
|
|
"operation_id",
|
|
|
|
|
"preview_url",
|
|
|
|
|
"previous_image_id",
|
|
|
|
|
"overrides"
|
|
|
|
|
],
|
|
|
|
|
"title": "CurrentDisplay"
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
"Device": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Id"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Name"
|
|
|
|
|
},
|
|
|
|
|
"driver": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"const": "kokonna",
|
|
|
|
|
"title": "Driver",
|
|
|
|
|
"default": "kokonna"
|
|
|
|
|
},
|
|
|
|
|
"status": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"online",
|
|
|
|
|
"offline"
|
|
|
|
|
],
|
|
|
|
|
"title": "Status"
|
|
|
|
|
},
|
|
|
|
|
"model": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Model"
|
|
|
|
|
},
|
|
|
|
|
"model_code": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Model Code"
|
|
|
|
|
},
|
|
|
|
|
"firmware": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Firmware"
|
|
|
|
|
},
|
|
|
|
|
"display": {
|
|
|
|
|
"$ref": "#/components/schemas/DisplayGeometry"
|
|
|
|
|
},
|
|
|
|
|
"power": {
|
|
|
|
|
"$ref": "#/components/schemas/Power"
|
|
|
|
|
},
|
|
|
|
|
"current_content": {
|
|
|
|
|
"$ref": "#/components/schemas/CurrentContent"
|
|
|
|
|
},
|
|
|
|
|
"last_seen_at": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Last Seen At"
|
|
|
|
|
},
|
|
|
|
|
"timezone": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Timezone"
|
|
|
|
|
},
|
|
|
|
|
"capabilities": {
|
|
|
|
|
"$ref": "#/components/schemas/Capabilities"
|
|
|
|
|
},
|
|
|
|
|
"slideshow": {
|
|
|
|
|
"additionalProperties": true,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "Slideshow"
|
|
|
|
|
},
|
|
|
|
|
"storage_used_bytes": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Storage Used Bytes"
|
|
|
|
|
},
|
|
|
|
|
"model_verified": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Model Verified",
|
|
|
|
|
"default": false
|
2026-10-02 00:11:37 +08:00
|
|
|
},
|
|
|
|
|
"can_restore": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Can Restore",
|
|
|
|
|
"default": false
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"id",
|
|
|
|
|
"name",
|
|
|
|
|
"status",
|
|
|
|
|
"model",
|
|
|
|
|
"model_code",
|
|
|
|
|
"firmware",
|
|
|
|
|
"display",
|
|
|
|
|
"power",
|
|
|
|
|
"current_content",
|
|
|
|
|
"last_seen_at",
|
|
|
|
|
"timezone"
|
|
|
|
|
],
|
|
|
|
|
"title": "Device"
|
|
|
|
|
},
|
|
|
|
|
"DisplayGeometry": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"width": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Width"
|
|
|
|
|
},
|
|
|
|
|
"height": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Height"
|
|
|
|
|
},
|
|
|
|
|
"rotation": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Rotation"
|
|
|
|
|
},
|
|
|
|
|
"color_mode": {
|
|
|
|
|
"$ref": "#/components/schemas/Profile",
|
|
|
|
|
"default": "color"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"width",
|
|
|
|
|
"height",
|
|
|
|
|
"rotation"
|
|
|
|
|
],
|
|
|
|
|
"title": "DisplayGeometry"
|
|
|
|
|
},
|
|
|
|
|
"DisplayRequest": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"device_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id",
|
|
|
|
|
"default": "living-room"
|
|
|
|
|
},
|
|
|
|
|
"content": {
|
|
|
|
|
"oneOf": [
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/ImageContent"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/URLContent"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/TemplateContent"
|
|
|
|
|
},
|
2026-10-05 00:52:39 +08:00
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/PhotoSourceContent"
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/FutureContent"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Content",
|
|
|
|
|
"discriminator": {
|
|
|
|
|
"propertyName": "type",
|
|
|
|
|
"mapping": {
|
|
|
|
|
"html": "#/components/schemas/FutureContent",
|
|
|
|
|
"image": "#/components/schemas/ImageContent",
|
|
|
|
|
"image_url": "#/components/schemas/URLContent",
|
|
|
|
|
"markdown": "#/components/schemas/FutureContent",
|
2026-10-05 00:52:39 +08:00
|
|
|
"photo_source": "#/components/schemas/PhotoSourceContent",
|
2026-10-02 00:03:48 +08:00
|
|
|
"template": "#/components/schemas/TemplateContent"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"options": {
|
|
|
|
|
"$ref": "#/components/schemas/Options"
|
|
|
|
|
},
|
|
|
|
|
"source": {
|
|
|
|
|
"$ref": "#/components/schemas/Source"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"content"
|
|
|
|
|
],
|
|
|
|
|
"title": "DisplayRequest"
|
|
|
|
|
},
|
|
|
|
|
"ErrorBody": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"code": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorCode"
|
|
|
|
|
},
|
|
|
|
|
"message": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Message"
|
|
|
|
|
},
|
|
|
|
|
"request_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Request Id"
|
|
|
|
|
},
|
|
|
|
|
"details": {
|
|
|
|
|
"additionalProperties": true,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "Details"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"code",
|
|
|
|
|
"message",
|
|
|
|
|
"request_id"
|
|
|
|
|
],
|
|
|
|
|
"title": "ErrorBody"
|
|
|
|
|
},
|
|
|
|
|
"ErrorCode": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"INVALID_REQUEST",
|
2026-10-05 00:52:39 +08:00
|
|
|
"OFFICIAL_AUTH_REQUIRED",
|
2026-10-02 00:03:48 +08:00
|
|
|
"UNAUTHORIZED",
|
|
|
|
|
"FORBIDDEN",
|
|
|
|
|
"DEVICE_NOT_FOUND",
|
|
|
|
|
"DEVICE_OFFLINE",
|
|
|
|
|
"UNSUPPORTED_CAPABILITY",
|
|
|
|
|
"RENDER_FAILED",
|
|
|
|
|
"UPLOAD_FAILED",
|
|
|
|
|
"WRITE_RESULT_UNKNOWN",
|
|
|
|
|
"RATE_LIMITED",
|
|
|
|
|
"INTERNAL_ERROR",
|
|
|
|
|
"CLOUD_UNAVAILABLE",
|
|
|
|
|
"NOT_FOUND",
|
|
|
|
|
"CONFLICT",
|
|
|
|
|
"CONFIG_REQUIRED",
|
|
|
|
|
"WRITE_DISABLED"
|
|
|
|
|
],
|
|
|
|
|
"title": "ErrorCode"
|
|
|
|
|
},
|
|
|
|
|
"ErrorResponse": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"error": {
|
|
|
|
|
"$ref": "#/components/schemas/ErrorBody"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"error"
|
|
|
|
|
],
|
|
|
|
|
"title": "ErrorResponse"
|
|
|
|
|
},
|
|
|
|
|
"Fit": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"contain",
|
|
|
|
|
"cover",
|
|
|
|
|
"smart"
|
|
|
|
|
],
|
|
|
|
|
"title": "Fit"
|
|
|
|
|
},
|
|
|
|
|
"FutureContent": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"type": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"html",
|
|
|
|
|
"markdown"
|
|
|
|
|
],
|
|
|
|
|
"title": "Type"
|
|
|
|
|
},
|
|
|
|
|
"data": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Data",
|
|
|
|
|
"default": ""
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"type"
|
|
|
|
|
],
|
|
|
|
|
"title": "FutureContent"
|
|
|
|
|
},
|
|
|
|
|
"GalleryImage": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"width": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Width"
|
|
|
|
|
},
|
|
|
|
|
"height": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Height"
|
|
|
|
|
},
|
|
|
|
|
"size_bytes": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Size Bytes"
|
|
|
|
|
},
|
|
|
|
|
"media_type": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Media Type"
|
|
|
|
|
},
|
|
|
|
|
"image_id": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Image Id"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Name"
|
|
|
|
|
},
|
|
|
|
|
"created_at": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Created At"
|
|
|
|
|
},
|
|
|
|
|
"current": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Current"
|
|
|
|
|
},
|
|
|
|
|
"url": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Url"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"image_id",
|
|
|
|
|
"name",
|
|
|
|
|
"created_at",
|
|
|
|
|
"current",
|
|
|
|
|
"url"
|
|
|
|
|
],
|
|
|
|
|
"title": "GalleryImage"
|
|
|
|
|
},
|
|
|
|
|
"Health": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"status": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Status"
|
|
|
|
|
},
|
|
|
|
|
"version": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Version",
|
|
|
|
|
"default": "0.1.0"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"status"
|
|
|
|
|
],
|
|
|
|
|
"title": "Health"
|
|
|
|
|
},
|
|
|
|
|
"History": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"id": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Id"
|
|
|
|
|
},
|
|
|
|
|
"client_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Client Id"
|
|
|
|
|
},
|
|
|
|
|
"request_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Request Id"
|
|
|
|
|
},
|
|
|
|
|
"operation_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Operation Id"
|
|
|
|
|
},
|
|
|
|
|
"device_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
},
|
|
|
|
|
"action": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Action"
|
|
|
|
|
},
|
|
|
|
|
"result": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Result"
|
|
|
|
|
},
|
|
|
|
|
"timestamp": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Timestamp"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"id",
|
|
|
|
|
"client_id",
|
|
|
|
|
"request_id",
|
|
|
|
|
"operation_id",
|
|
|
|
|
"device_id",
|
|
|
|
|
"action",
|
|
|
|
|
"result",
|
|
|
|
|
"timestamp"
|
|
|
|
|
],
|
|
|
|
|
"title": "History"
|
|
|
|
|
},
|
|
|
|
|
"ImageContent": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"type": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"const": "image",
|
|
|
|
|
"title": "Type"
|
|
|
|
|
},
|
|
|
|
|
"image_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"exclusiveMinimum": 0.0
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Image Id"
|
|
|
|
|
},
|
|
|
|
|
"image_name": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 120,
|
|
|
|
|
"minLength": 1
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Image Name"
|
|
|
|
|
},
|
|
|
|
|
"asset_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^[a-f0-9]{32}$"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Asset Id"
|
|
|
|
|
},
|
|
|
|
|
"base64": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 28000000
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Base64"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 120,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Name",
|
|
|
|
|
"default": "image.jpg"
|
|
|
|
|
},
|
|
|
|
|
"fit": {
|
|
|
|
|
"$ref": "#/components/schemas/Fit",
|
|
|
|
|
"default": "contain"
|
|
|
|
|
},
|
|
|
|
|
"profile": {
|
|
|
|
|
"$ref": "#/components/schemas/Profile",
|
|
|
|
|
"default": "color"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"type"
|
|
|
|
|
],
|
|
|
|
|
"title": "ImageContent"
|
|
|
|
|
},
|
2026-10-05 00:52:39 +08:00
|
|
|
"ImageURLConfig": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"allowed_hosts": {
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"maxItems": 30,
|
|
|
|
|
"title": "Allowed Hosts"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "ImageURLConfig"
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
"Job": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"enabled": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Enabled",
|
|
|
|
|
"default": true
|
|
|
|
|
},
|
|
|
|
|
"device_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id",
|
|
|
|
|
"default": "living-room"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 120,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Name"
|
|
|
|
|
},
|
|
|
|
|
"schedule": {
|
|
|
|
|
"$ref": "#/components/schemas/Schedule"
|
|
|
|
|
},
|
|
|
|
|
"source": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"oneOf": [
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/ImageContent"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/URLContent"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/TemplateContent"
|
|
|
|
|
},
|
2026-10-05 00:52:39 +08:00
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/PhotoSourceContent"
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/FutureContent"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"discriminator": {
|
|
|
|
|
"propertyName": "type",
|
|
|
|
|
"mapping": {
|
|
|
|
|
"html": "#/components/schemas/FutureContent",
|
|
|
|
|
"image": "#/components/schemas/ImageContent",
|
|
|
|
|
"image_url": "#/components/schemas/URLContent",
|
|
|
|
|
"markdown": "#/components/schemas/FutureContent",
|
2026-10-05 00:52:39 +08:00
|
|
|
"photo_source": "#/components/schemas/PhotoSourceContent",
|
2026-10-02 00:03:48 +08:00
|
|
|
"template": "#/components/schemas/TemplateContent"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/RestoreContent"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Source"
|
|
|
|
|
},
|
|
|
|
|
"display_duration": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 604800.0,
|
|
|
|
|
"minimum": 0.0,
|
|
|
|
|
"title": "Display Duration",
|
|
|
|
|
"default": 0
|
|
|
|
|
},
|
|
|
|
|
"restore_previous": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Restore Previous",
|
|
|
|
|
"default": false
|
|
|
|
|
},
|
|
|
|
|
"priority": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 100.0,
|
|
|
|
|
"minimum": 0.0,
|
|
|
|
|
"title": "Priority",
|
|
|
|
|
"default": 50
|
|
|
|
|
},
|
|
|
|
|
"id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Id"
|
|
|
|
|
},
|
|
|
|
|
"created_at": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Created At"
|
|
|
|
|
},
|
|
|
|
|
"updated_at": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Updated At"
|
|
|
|
|
},
|
|
|
|
|
"last_run": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Last Run"
|
|
|
|
|
},
|
|
|
|
|
"last_result": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Last Result"
|
|
|
|
|
},
|
|
|
|
|
"next_run": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Next Run"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"name",
|
|
|
|
|
"schedule",
|
|
|
|
|
"source",
|
|
|
|
|
"id",
|
|
|
|
|
"created_at",
|
|
|
|
|
"updated_at"
|
|
|
|
|
],
|
|
|
|
|
"title": "Job"
|
|
|
|
|
},
|
|
|
|
|
"JobInput": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"enabled": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Enabled",
|
|
|
|
|
"default": true
|
|
|
|
|
},
|
|
|
|
|
"device_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id",
|
|
|
|
|
"default": "living-room"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 120,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Name"
|
|
|
|
|
},
|
|
|
|
|
"schedule": {
|
|
|
|
|
"$ref": "#/components/schemas/Schedule"
|
|
|
|
|
},
|
|
|
|
|
"source": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"oneOf": [
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/ImageContent"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/URLContent"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/TemplateContent"
|
|
|
|
|
},
|
2026-10-05 00:52:39 +08:00
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/PhotoSourceContent"
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/FutureContent"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"discriminator": {
|
|
|
|
|
"propertyName": "type",
|
|
|
|
|
"mapping": {
|
|
|
|
|
"html": "#/components/schemas/FutureContent",
|
|
|
|
|
"image": "#/components/schemas/ImageContent",
|
|
|
|
|
"image_url": "#/components/schemas/URLContent",
|
|
|
|
|
"markdown": "#/components/schemas/FutureContent",
|
2026-10-05 00:52:39 +08:00
|
|
|
"photo_source": "#/components/schemas/PhotoSourceContent",
|
2026-10-02 00:03:48 +08:00
|
|
|
"template": "#/components/schemas/TemplateContent"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/RestoreContent"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Source"
|
|
|
|
|
},
|
|
|
|
|
"display_duration": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 604800.0,
|
|
|
|
|
"minimum": 0.0,
|
|
|
|
|
"title": "Display Duration",
|
|
|
|
|
"default": 0
|
|
|
|
|
},
|
|
|
|
|
"restore_previous": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Restore Previous",
|
|
|
|
|
"default": false
|
|
|
|
|
},
|
|
|
|
|
"priority": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 100.0,
|
|
|
|
|
"minimum": 0.0,
|
|
|
|
|
"title": "Priority",
|
|
|
|
|
"default": 50
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"name",
|
|
|
|
|
"schedule",
|
|
|
|
|
"source"
|
|
|
|
|
],
|
|
|
|
|
"title": "JobInput"
|
|
|
|
|
},
|
2026-10-05 00:52:39 +08:00
|
|
|
"Login": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"username": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 80,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Username"
|
|
|
|
|
},
|
|
|
|
|
"password": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 256,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Password"
|
|
|
|
|
},
|
|
|
|
|
"remember": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Remember",
|
|
|
|
|
"default": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"username",
|
|
|
|
|
"password"
|
|
|
|
|
],
|
|
|
|
|
"title": "Login"
|
|
|
|
|
},
|
|
|
|
|
"LoginRequest": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"username": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 120,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Username"
|
|
|
|
|
},
|
|
|
|
|
"password": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 256,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"format": "password",
|
|
|
|
|
"title": "Password",
|
|
|
|
|
"writeOnly": true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"username",
|
|
|
|
|
"password"
|
|
|
|
|
],
|
|
|
|
|
"title": "LoginRequest"
|
|
|
|
|
},
|
|
|
|
|
"OfficialDevice": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"id": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Id"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Name"
|
|
|
|
|
},
|
|
|
|
|
"model": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Model"
|
|
|
|
|
},
|
|
|
|
|
"model_code": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Model Code"
|
|
|
|
|
},
|
|
|
|
|
"online": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Online",
|
|
|
|
|
"default": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"id",
|
|
|
|
|
"name"
|
|
|
|
|
],
|
|
|
|
|
"title": "OfficialDevice"
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
"Operation": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"operation_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Operation Id"
|
|
|
|
|
},
|
|
|
|
|
"status": {
|
|
|
|
|
"$ref": "#/components/schemas/OperationStatus"
|
|
|
|
|
},
|
|
|
|
|
"device_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
},
|
|
|
|
|
"created_at": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Created At"
|
|
|
|
|
},
|
|
|
|
|
"updated_at": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Updated At"
|
|
|
|
|
},
|
|
|
|
|
"result": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/OperationResult"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"error": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/ErrorBody"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"request_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Request Id"
|
|
|
|
|
},
|
|
|
|
|
"client_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Client Id"
|
|
|
|
|
},
|
|
|
|
|
"action": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Action"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"operation_id",
|
|
|
|
|
"status",
|
|
|
|
|
"device_id",
|
|
|
|
|
"created_at",
|
|
|
|
|
"updated_at",
|
|
|
|
|
"request_id",
|
|
|
|
|
"client_id",
|
|
|
|
|
"action"
|
|
|
|
|
],
|
|
|
|
|
"title": "Operation"
|
|
|
|
|
},
|
|
|
|
|
"OperationResult": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"image_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Image Id"
|
|
|
|
|
},
|
|
|
|
|
"asset_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Asset Id"
|
|
|
|
|
},
|
|
|
|
|
"rendered_asset_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Rendered Asset Id"
|
|
|
|
|
},
|
|
|
|
|
"url": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Url"
|
|
|
|
|
},
|
|
|
|
|
"deferred": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Deferred",
|
|
|
|
|
"default": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "OperationResult"
|
|
|
|
|
},
|
|
|
|
|
"OperationStatus": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"QUEUED",
|
|
|
|
|
"RENDERING",
|
|
|
|
|
"UPLOADING",
|
|
|
|
|
"SYNCING",
|
|
|
|
|
"COMPLETED",
|
|
|
|
|
"FAILED",
|
|
|
|
|
"UNKNOWN"
|
|
|
|
|
],
|
|
|
|
|
"title": "OperationStatus"
|
|
|
|
|
},
|
|
|
|
|
"Options": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"duration": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 604800.0,
|
|
|
|
|
"minimum": 0.0,
|
|
|
|
|
"title": "Duration",
|
|
|
|
|
"default": 0
|
|
|
|
|
},
|
|
|
|
|
"restore_previous": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Restore Previous",
|
|
|
|
|
"default": false
|
|
|
|
|
},
|
|
|
|
|
"priority": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 100.0,
|
|
|
|
|
"minimum": 0.0,
|
|
|
|
|
"title": "Priority",
|
|
|
|
|
"default": 50
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "Options"
|
|
|
|
|
},
|
2026-10-05 00:52:39 +08:00
|
|
|
"PasswordChange": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"current_password": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 256,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Current Password"
|
|
|
|
|
},
|
|
|
|
|
"new_password": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 256,
|
|
|
|
|
"minLength": 8,
|
|
|
|
|
"title": "New Password"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"current_password",
|
|
|
|
|
"new_password"
|
|
|
|
|
],
|
|
|
|
|
"title": "PasswordChange"
|
|
|
|
|
},
|
|
|
|
|
"PhotoCatalog": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"items": {
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/PhotoItem"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Items"
|
|
|
|
|
},
|
|
|
|
|
"total": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Total"
|
|
|
|
|
},
|
|
|
|
|
"offset": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Offset"
|
|
|
|
|
},
|
|
|
|
|
"limit": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Limit"
|
|
|
|
|
},
|
|
|
|
|
"catalog_limit": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Catalog Limit"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"items",
|
|
|
|
|
"total",
|
|
|
|
|
"offset",
|
|
|
|
|
"limit",
|
|
|
|
|
"catalog_limit"
|
|
|
|
|
],
|
|
|
|
|
"title": "PhotoCatalog"
|
|
|
|
|
},
|
|
|
|
|
"PhotoItem": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Id"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Name"
|
2026-10-05 01:36:05 +08:00
|
|
|
},
|
|
|
|
|
"caption": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"additionalProperties": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"type": "object"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Caption"
|
2026-10-05 08:18:56 +08:00
|
|
|
},
|
|
|
|
|
"provider_preview": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Provider Preview",
|
|
|
|
|
"default": false
|
2026-10-05 00:52:39 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"id",
|
|
|
|
|
"name"
|
|
|
|
|
],
|
|
|
|
|
"title": "PhotoItem"
|
|
|
|
|
},
|
|
|
|
|
"PhotoSourceContent": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"type": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"const": "photo_source",
|
|
|
|
|
"title": "Type"
|
|
|
|
|
},
|
|
|
|
|
"source_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^[a-z0-9-]{1,60}$",
|
|
|
|
|
"title": "Source Id"
|
|
|
|
|
},
|
|
|
|
|
"item_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 2048
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Item Id"
|
|
|
|
|
},
|
|
|
|
|
"fit": {
|
|
|
|
|
"$ref": "#/components/schemas/Fit",
|
|
|
|
|
"default": "contain"
|
|
|
|
|
},
|
|
|
|
|
"profile": {
|
|
|
|
|
"$ref": "#/components/schemas/Profile",
|
|
|
|
|
"default": "color"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"type",
|
|
|
|
|
"source_id"
|
|
|
|
|
],
|
|
|
|
|
"title": "PhotoSourceContent"
|
|
|
|
|
},
|
|
|
|
|
"PhotoSourceInput": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 120,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Name"
|
|
|
|
|
},
|
|
|
|
|
"kind": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"local",
|
|
|
|
|
"webdav"
|
|
|
|
|
],
|
|
|
|
|
"title": "Kind"
|
|
|
|
|
},
|
|
|
|
|
"location": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 2048,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Location"
|
|
|
|
|
},
|
|
|
|
|
"recursive": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Recursive",
|
|
|
|
|
"default": true
|
|
|
|
|
},
|
|
|
|
|
"enabled": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Enabled",
|
|
|
|
|
"default": true
|
|
|
|
|
},
|
2026-10-05 01:36:05 +08:00
|
|
|
"catalog_limit": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 100000.0,
|
|
|
|
|
"minimum": 1.0,
|
|
|
|
|
"title": "Catalog Limit",
|
|
|
|
|
"default": 10000
|
|
|
|
|
},
|
2026-10-05 08:18:56 +08:00
|
|
|
"synology_previews": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Synology Previews",
|
|
|
|
|
"default": false
|
|
|
|
|
},
|
2026-10-05 01:36:05 +08:00
|
|
|
"organized_only": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Organized Only",
|
|
|
|
|
"default": false
|
|
|
|
|
},
|
|
|
|
|
"folder_caption": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Folder Caption",
|
|
|
|
|
"default": false
|
|
|
|
|
},
|
2026-10-05 00:52:39 +08:00
|
|
|
"credential_env": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^FRAME_FLOW_SOURCE_[A-Z0-9_]+$"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Credential Env"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"name",
|
|
|
|
|
"kind",
|
|
|
|
|
"location"
|
|
|
|
|
],
|
|
|
|
|
"title": "PhotoSourceInput"
|
|
|
|
|
},
|
|
|
|
|
"PhotoSourceView": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 120,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Name"
|
|
|
|
|
},
|
|
|
|
|
"kind": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"local",
|
|
|
|
|
"webdav"
|
|
|
|
|
],
|
|
|
|
|
"title": "Kind"
|
|
|
|
|
},
|
|
|
|
|
"location": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 2048,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Location"
|
|
|
|
|
},
|
|
|
|
|
"recursive": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Recursive",
|
|
|
|
|
"default": true
|
|
|
|
|
},
|
|
|
|
|
"enabled": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Enabled",
|
|
|
|
|
"default": true
|
|
|
|
|
},
|
2026-10-05 01:36:05 +08:00
|
|
|
"catalog_limit": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 100000.0,
|
|
|
|
|
"minimum": 1.0,
|
|
|
|
|
"title": "Catalog Limit",
|
|
|
|
|
"default": 10000
|
|
|
|
|
},
|
2026-10-05 08:18:56 +08:00
|
|
|
"synology_previews": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Synology Previews",
|
|
|
|
|
"default": false
|
|
|
|
|
},
|
2026-10-05 01:36:05 +08:00
|
|
|
"organized_only": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Organized Only",
|
|
|
|
|
"default": false
|
|
|
|
|
},
|
|
|
|
|
"folder_caption": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Folder Caption",
|
|
|
|
|
"default": false
|
|
|
|
|
},
|
2026-10-05 00:52:39 +08:00
|
|
|
"credential_env": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^FRAME_FLOW_SOURCE_[A-Z0-9_]+$"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Credential Env"
|
|
|
|
|
},
|
|
|
|
|
"id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"name",
|
|
|
|
|
"kind",
|
|
|
|
|
"location",
|
|
|
|
|
"id"
|
|
|
|
|
],
|
|
|
|
|
"title": "PhotoSourceView"
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
"Playlist": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"device_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id",
|
|
|
|
|
"default": "living-room"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 120,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Name"
|
|
|
|
|
},
|
|
|
|
|
"image_ids": {
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"maxItems": 100,
|
|
|
|
|
"minItems": 1,
|
|
|
|
|
"title": "Image Ids"
|
|
|
|
|
},
|
|
|
|
|
"interval_minutes": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 10080.0,
|
|
|
|
|
"minimum": 5.0,
|
|
|
|
|
"title": "Interval Minutes",
|
|
|
|
|
"default": 60
|
|
|
|
|
},
|
|
|
|
|
"mode": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"queue",
|
|
|
|
|
"random"
|
|
|
|
|
],
|
|
|
|
|
"title": "Mode",
|
|
|
|
|
"default": "queue"
|
|
|
|
|
},
|
|
|
|
|
"enabled": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Enabled",
|
|
|
|
|
"default": false
|
|
|
|
|
},
|
|
|
|
|
"id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Id"
|
|
|
|
|
},
|
|
|
|
|
"position": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Position"
|
|
|
|
|
},
|
|
|
|
|
"next_run": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Next Run"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"name",
|
|
|
|
|
"image_ids",
|
|
|
|
|
"id",
|
|
|
|
|
"position",
|
|
|
|
|
"next_run"
|
|
|
|
|
],
|
|
|
|
|
"title": "Playlist"
|
|
|
|
|
},
|
|
|
|
|
"PlaylistInput": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"device_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id",
|
|
|
|
|
"default": "living-room"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 120,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Name"
|
|
|
|
|
},
|
|
|
|
|
"image_ids": {
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"maxItems": 100,
|
|
|
|
|
"minItems": 1,
|
|
|
|
|
"title": "Image Ids"
|
|
|
|
|
},
|
|
|
|
|
"interval_minutes": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"maximum": 10080.0,
|
|
|
|
|
"minimum": 5.0,
|
|
|
|
|
"title": "Interval Minutes",
|
|
|
|
|
"default": 60
|
|
|
|
|
},
|
|
|
|
|
"mode": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"queue",
|
|
|
|
|
"random"
|
|
|
|
|
],
|
|
|
|
|
"title": "Mode",
|
|
|
|
|
"default": "queue"
|
|
|
|
|
},
|
|
|
|
|
"enabled": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Enabled",
|
|
|
|
|
"default": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"name",
|
|
|
|
|
"image_ids"
|
|
|
|
|
],
|
|
|
|
|
"title": "PlaylistInput"
|
|
|
|
|
},
|
|
|
|
|
"Power": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"battery_percent": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Battery Percent"
|
|
|
|
|
},
|
|
|
|
|
"charging": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Charging"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"battery_percent",
|
|
|
|
|
"charging"
|
|
|
|
|
],
|
|
|
|
|
"title": "Power"
|
|
|
|
|
},
|
|
|
|
|
"Profile": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"color",
|
|
|
|
|
"grayscale"
|
|
|
|
|
],
|
|
|
|
|
"title": "Profile"
|
|
|
|
|
},
|
|
|
|
|
"Readiness": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"status": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Status"
|
|
|
|
|
},
|
|
|
|
|
"checks": {
|
|
|
|
|
"additionalProperties": {
|
|
|
|
|
"type": "boolean"
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "Checks"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"status",
|
|
|
|
|
"checks"
|
|
|
|
|
],
|
|
|
|
|
"title": "Readiness"
|
|
|
|
|
},
|
|
|
|
|
"ReconcileRequest": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"acknowledge": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Acknowledge",
|
|
|
|
|
"default": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "ReconcileRequest"
|
|
|
|
|
},
|
|
|
|
|
"Reconciliation": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"operation_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Operation Id"
|
|
|
|
|
},
|
|
|
|
|
"current_image_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Current Image Id"
|
|
|
|
|
},
|
|
|
|
|
"expected_image_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "integer"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Expected Image Id"
|
|
|
|
|
},
|
|
|
|
|
"cloud_images": {
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/GalleryImage"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Cloud Images"
|
|
|
|
|
},
|
|
|
|
|
"resolved": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Resolved"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"operation_id",
|
|
|
|
|
"current_image_id",
|
|
|
|
|
"expected_image_id",
|
|
|
|
|
"cloud_images",
|
|
|
|
|
"resolved"
|
|
|
|
|
],
|
|
|
|
|
"title": "Reconciliation"
|
|
|
|
|
},
|
|
|
|
|
"RestoreContent": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"type": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"const": "restore",
|
|
|
|
|
"title": "Type"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"type"
|
|
|
|
|
],
|
|
|
|
|
"title": "RestoreContent"
|
|
|
|
|
},
|
|
|
|
|
"Schedule": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"type": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"cron",
|
|
|
|
|
"daily",
|
|
|
|
|
"weekdays",
|
|
|
|
|
"weekends",
|
|
|
|
|
"date",
|
|
|
|
|
"temporary"
|
|
|
|
|
],
|
|
|
|
|
"title": "Type"
|
|
|
|
|
},
|
|
|
|
|
"cron": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Cron"
|
|
|
|
|
},
|
|
|
|
|
"time": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Time"
|
|
|
|
|
},
|
|
|
|
|
"at": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string",
|
|
|
|
|
"format": "date-time"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "At"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"type"
|
|
|
|
|
],
|
|
|
|
|
"title": "Schedule"
|
|
|
|
|
},
|
2026-10-05 00:52:39 +08:00
|
|
|
"SelectRequest": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"robot_id": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"exclusiveMinimum": 0.0,
|
|
|
|
|
"title": "Robot Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"robot_id"
|
|
|
|
|
],
|
|
|
|
|
"title": "SelectRequest"
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
"SettingsView": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"version": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Version"
|
|
|
|
|
},
|
|
|
|
|
"mock": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Mock"
|
|
|
|
|
},
|
|
|
|
|
"write_enabled": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Write Enabled"
|
|
|
|
|
},
|
|
|
|
|
"api_key_configured": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Api Key Configured"
|
|
|
|
|
},
|
|
|
|
|
"api_token_configured": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Api Token Configured"
|
|
|
|
|
},
|
|
|
|
|
"timezone": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Timezone"
|
|
|
|
|
},
|
|
|
|
|
"device_id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Device Id"
|
|
|
|
|
},
|
|
|
|
|
"weather_provider": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Weather Provider"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"version",
|
|
|
|
|
"mock",
|
|
|
|
|
"write_enabled",
|
|
|
|
|
"api_key_configured",
|
|
|
|
|
"api_token_configured",
|
|
|
|
|
"timezone",
|
|
|
|
|
"device_id",
|
|
|
|
|
"weather_provider"
|
|
|
|
|
],
|
|
|
|
|
"title": "SettingsView"
|
|
|
|
|
},
|
|
|
|
|
"Source": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"client": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 80
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Client"
|
|
|
|
|
},
|
|
|
|
|
"request_id": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 120
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Request Id"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "Source"
|
|
|
|
|
},
|
|
|
|
|
"TemplateConfig": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"data": {
|
|
|
|
|
"additionalProperties": true,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "Data"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"data"
|
|
|
|
|
],
|
|
|
|
|
"title": "TemplateConfig"
|
|
|
|
|
},
|
|
|
|
|
"TemplateContent": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"type": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"const": "template",
|
|
|
|
|
"title": "Type"
|
|
|
|
|
},
|
|
|
|
|
"template": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"pattern": "^[a-z0-9-]{1,60}$",
|
|
|
|
|
"title": "Template"
|
|
|
|
|
},
|
|
|
|
|
"data": {
|
|
|
|
|
"additionalProperties": true,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "Data"
|
|
|
|
|
},
|
|
|
|
|
"profile": {
|
|
|
|
|
"$ref": "#/components/schemas/Profile",
|
|
|
|
|
"default": "color"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"type",
|
|
|
|
|
"template"
|
|
|
|
|
],
|
|
|
|
|
"title": "TemplateContent"
|
|
|
|
|
},
|
|
|
|
|
"TemplateInfo": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"id": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Id"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Name"
|
|
|
|
|
},
|
|
|
|
|
"width": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Width",
|
|
|
|
|
"default": 1200
|
|
|
|
|
},
|
|
|
|
|
"height": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Height",
|
|
|
|
|
"default": 1600
|
|
|
|
|
},
|
|
|
|
|
"fields": {
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Fields"
|
|
|
|
|
},
|
|
|
|
|
"defaults": {
|
|
|
|
|
"additionalProperties": true,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "Defaults"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"id",
|
|
|
|
|
"name",
|
|
|
|
|
"fields",
|
|
|
|
|
"defaults"
|
|
|
|
|
],
|
|
|
|
|
"title": "TemplateInfo"
|
|
|
|
|
},
|
|
|
|
|
"URLContent": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"type": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"const": "image_url",
|
|
|
|
|
"title": "Type"
|
|
|
|
|
},
|
|
|
|
|
"url": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 2048,
|
|
|
|
|
"title": "Url"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 120,
|
|
|
|
|
"title": "Name",
|
|
|
|
|
"default": "image.jpg"
|
|
|
|
|
},
|
|
|
|
|
"fit": {
|
|
|
|
|
"$ref": "#/components/schemas/Fit",
|
|
|
|
|
"default": "contain"
|
|
|
|
|
},
|
|
|
|
|
"profile": {
|
|
|
|
|
"$ref": "#/components/schemas/Profile",
|
|
|
|
|
"default": "color"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"type",
|
|
|
|
|
"url"
|
|
|
|
|
],
|
|
|
|
|
"title": "URLContent"
|
|
|
|
|
},
|
|
|
|
|
"Version": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"product": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Product",
|
|
|
|
|
"default": "Pigway Frame Flow"
|
|
|
|
|
},
|
|
|
|
|
"version": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Version",
|
|
|
|
|
"default": "0.1.0"
|
|
|
|
|
},
|
|
|
|
|
"api_version": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Api Version",
|
|
|
|
|
"default": "v1"
|
|
|
|
|
},
|
|
|
|
|
"commit": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Commit",
|
|
|
|
|
"default": "development"
|
|
|
|
|
},
|
|
|
|
|
"build_time": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Build Time",
|
|
|
|
|
"default": "unknown"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "Version"
|
2026-10-05 00:52:39 +08:00
|
|
|
},
|
|
|
|
|
"WeatherConfig": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"provider": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"mock",
|
|
|
|
|
"open-meteo"
|
|
|
|
|
],
|
|
|
|
|
"title": "Provider",
|
|
|
|
|
"default": "mock"
|
|
|
|
|
},
|
|
|
|
|
"location": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"maxLength": 120,
|
|
|
|
|
"minLength": 1,
|
|
|
|
|
"title": "Location",
|
|
|
|
|
"default": "\u4e0a\u6d77\u91d1\u5c71 / Shanghai Jinshan"
|
|
|
|
|
},
|
|
|
|
|
"latitude": {
|
|
|
|
|
"type": "number",
|
|
|
|
|
"maximum": 90.0,
|
|
|
|
|
"minimum": -90.0,
|
|
|
|
|
"title": "Latitude",
|
|
|
|
|
"default": 30.74
|
|
|
|
|
},
|
|
|
|
|
"longitude": {
|
|
|
|
|
"type": "number",
|
|
|
|
|
"maximum": 180.0,
|
|
|
|
|
"minimum": -180.0,
|
|
|
|
|
"title": "Longitude",
|
|
|
|
|
"default": 121.34
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "WeatherConfig"
|
|
|
|
|
},
|
|
|
|
|
"WeatherView": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"config": {
|
|
|
|
|
"$ref": "#/components/schemas/WeatherConfig"
|
|
|
|
|
},
|
|
|
|
|
"current": {
|
|
|
|
|
"additionalProperties": true,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"title": "Current"
|
|
|
|
|
},
|
|
|
|
|
"forecast": {
|
|
|
|
|
"items": {
|
|
|
|
|
"additionalProperties": true,
|
|
|
|
|
"type": "object"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Forecast"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"config",
|
|
|
|
|
"current",
|
|
|
|
|
"forecast"
|
|
|
|
|
],
|
|
|
|
|
"title": "WeatherView"
|
|
|
|
|
},
|
|
|
|
|
"Widget": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"id": {
|
|
|
|
|
"type": "integer",
|
|
|
|
|
"title": "Id"
|
|
|
|
|
},
|
|
|
|
|
"name": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Name"
|
|
|
|
|
},
|
|
|
|
|
"tags": {
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Tags"
|
|
|
|
|
},
|
|
|
|
|
"arg_keys": {
|
|
|
|
|
"items": {
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Arg Keys"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"id",
|
|
|
|
|
"name"
|
|
|
|
|
],
|
|
|
|
|
"title": "Widget"
|
|
|
|
|
},
|
|
|
|
|
"WidgetState": {
|
|
|
|
|
"properties": {
|
|
|
|
|
"source": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"enum": [
|
|
|
|
|
"live",
|
|
|
|
|
"snapshot",
|
|
|
|
|
"mock"
|
|
|
|
|
],
|
|
|
|
|
"title": "Source"
|
|
|
|
|
},
|
|
|
|
|
"configured": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Configured"
|
|
|
|
|
},
|
|
|
|
|
"status": {
|
|
|
|
|
"type": "string",
|
|
|
|
|
"title": "Status",
|
|
|
|
|
"default": "OK"
|
|
|
|
|
},
|
|
|
|
|
"observed_at": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"type": "string"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"title": "Observed At"
|
|
|
|
|
},
|
|
|
|
|
"catalog": {
|
|
|
|
|
"items": {
|
|
|
|
|
"$ref": "#/components/schemas/Widget"
|
|
|
|
|
},
|
|
|
|
|
"type": "array",
|
|
|
|
|
"title": "Catalog"
|
|
|
|
|
},
|
|
|
|
|
"current": {
|
|
|
|
|
"anyOf": [
|
|
|
|
|
{
|
|
|
|
|
"$ref": "#/components/schemas/Widget"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "null"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"current_verified": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"title": "Current Verified",
|
|
|
|
|
"default": false
|
|
|
|
|
},
|
|
|
|
|
"writable": {
|
|
|
|
|
"type": "boolean",
|
|
|
|
|
"const": false,
|
|
|
|
|
"title": "Writable",
|
|
|
|
|
"default": false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"additionalProperties": false,
|
|
|
|
|
"type": "object",
|
|
|
|
|
"required": [
|
|
|
|
|
"source",
|
|
|
|
|
"configured",
|
|
|
|
|
"catalog"
|
|
|
|
|
],
|
|
|
|
|
"title": "WidgetState"
|
2026-10-02 00:03:48 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"securitySchemes": {
|
2026-10-05 00:52:39 +08:00
|
|
|
"AccountSession": {
|
|
|
|
|
"type": "apiKey",
|
|
|
|
|
"in": "cookie",
|
|
|
|
|
"name": "frameflow_session"
|
|
|
|
|
},
|
2026-10-02 00:03:48 +08:00
|
|
|
"HTTPBearer": {
|
|
|
|
|
"type": "http",
|
|
|
|
|
"scheme": "bearer"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|