/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { "/status": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Status */ get: operations["get_status_status_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/config": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Config * @description Return all configuration sections. Secret field values are masked (empty string). */ get: operations["get_config_api_config_get"]; /** * Put Config * @description Save configuration updates. * * - Blank secret value keeps the existing stored value (no change). * - Invalid values return 422 and nothing is written to the database. */ put: operations["put_config_api_config_put"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/config/smtp/test": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Post Smtp Test * @description Send a test SMTP email using the current runtime settings. * * Returns a structured result indicating success or the category of failure. * Three possible outcomes: * - 200 { "result": "success", "message": ... } * - 400 { "result": "config-error", "message": ... } (EmailConfigurationError) * - 502 { "result": "failed", "message": ... } (EmailDeliveryError) * * SMTP credentials are never echoed in the response. */ post: operations["post_smtp_test_api_config_smtp_test_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/locations": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Locations * @description Return location records with optional time-window filtering and pagination. * * - ``start`` / ``end`` are ISO8601 strings; filtering is **inclusive** on both bounds. * - Results are ordered by ``datetime`` ascending. * - ``limit`` is capped at 5000 to prevent full-table exports. */ get: operations["get_locations_api_locations_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/poo": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Poo * @description Return poo records ordered by timestamp descending (most recent first). * * ``limit`` is capped at 1000 to prevent full-table exports. */ get: operations["get_poo_api_poo_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/public-ip": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Public Ip * @description Return the current public IP state and recent history. * * - ``state`` is ``null`` if no IP check has been performed yet. * - ``history`` is ordered by ``observed_at`` descending (most recent first). * - ``limit`` applies to the history list and is capped at 1000. */ get: operations["get_public_ip_api_public_ip_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/locations/{person}/{datetime}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** * Delete Location Record * @description Delete the single location record identified by its composite PK. * * - Exactly one row is deleted; **404** if the PK does not exist. * - No batch delete / truncate path is available. */ delete: operations["delete_location_record_api_locations__person___datetime__delete"]; options?: never; head?: never; /** * Patch Location * @description Update the non-PK fields of a single location record. * * - ``person`` and ``datetime`` identify the row (composite PK) and are immutable. * - Only ``latitude``, ``longitude``, and ``altitude`` may be updated. * - Omitted body fields are left unchanged. * - Returns **404** if the PK does not exist. */ patch: operations["patch_location_api_locations__person___datetime__patch"]; trace?: never; }; "/api/poo/{timestamp}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** * Delete Poo * @description Delete the single poo record identified by its PK. * * - Exactly one row is deleted; **404** if the PK does not exist. * - No batch delete / truncate path is available. */ delete: operations["delete_poo_api_poo__timestamp__delete"]; options?: never; head?: never; /** * Patch Poo * @description Update the non-PK fields of a single poo record. * * - ``timestamp`` is the PK and is immutable. * - Only ``status``, ``latitude``, and ``longitude`` may be updated. * - Omitted body fields are left unchanged. * - Returns **404** if the PK does not exist. */ patch: operations["patch_poo_api_poo__timestamp__patch"]; trace?: never; }; "/api/session": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Session * @description Return the current session user and CSRF token. Returns 401 if not authenticated. */ get: operations["get_session_api_session_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/login": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Post Login * @description Authenticate with username and password. * * On success, sets an HttpOnly session cookie and returns the session user + CSRF token. * On failure, returns 401 with no cookie set. * Repeated failures trigger exponential back-off (429 + Retry-After). * No X-CSRF-Token required (unauthenticated endpoint). */ post: operations["post_login_api_auth_login_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/logout": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Post Logout * @description Revoke the current session and clear the session cookie. * Requires authentication and X-CSRF-Token header. * Returns 204 No Content. */ post: operations["post_logout_api_auth_logout_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/password": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Post Change Password * @description Change the current user's password. * Requires authentication and X-CSRF-Token header. * On AuthPasswordChangeError returns 400 with a generic message. * On success, force_password_change becomes False (handled by the service). * Returns 204 No Content. */ post: operations["post_change_password_api_auth_password_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/totp/setup": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Post Totp Setup * @description Generate a new pending TOTP secret, otpauth URI, and one-time recovery codes. * * The secret is stored in the DB but TOTP is NOT yet enabled (totp_enabled stays * False until the user confirms with POST /api/auth/totp/enable). * * Recovery codes are returned here as plaintext exactly once; their Argon2 hashes * are persisted immediately so enable only needs to flip the enabled flag. * * Repeating this call replaces any prior pending secret and regenerates codes. * * Requires: session cookie + X-CSRF-Token. */ post: operations["post_totp_setup_api_auth_totp_setup_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/totp/enable": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Post Totp Enable * @description Enable TOTP by confirming with the current 6-digit code from the authenticator app. * * Requires a prior call to POST /api/auth/totp/setup (so that a pending secret * exists). On success, totp_enabled becomes True. * * Returns 400 if the code is wrong or there is no pending secret. * Requires: session cookie + X-CSRF-Token. */ post: operations["post_totp_enable_api_auth_totp_enable_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/totp/disable": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** * Post Totp Disable * @description Disable TOTP. The caller must provide exactly one of: * - ``password``: the user's current login password, OR * - ``code``: the current 6-digit TOTP code. * * On success: totp_enabled=False, totp_secret cleared, all recovery codes deleted. * Returns 400 if neither credential matches or neither is provided. * Requires: session cookie + X-CSRF-Token. */ post: operations["post_totp_disable_api_auth_totp_disable_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/api/auth/totp": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** * Get Totp Status * @description Return the current TOTP status for the authenticated user. * * Response contains only ``{"enabled": bool}``. * Secret and recovery codes are NEVER returned here. * Requires: session cookie only (no CSRF — read-only). */ get: operations["get_totp_status_api_auth_totp_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/homeassistant/publish": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Publish From Homeassistant */ post: operations["publish_from_homeassistant_homeassistant_publish_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/location/record": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Create Location Record */ post: operations["create_location_record_location_record_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/poo/record": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Create Poo Record */ post: operations["create_poo_record_poo_record_post"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/poo/latest": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Notify Latest Poo */ get: operations["notify_latest_poo_poo_latest_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/public-ip/check": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Run Public Ip Check */ get: operations["run_public_ip_check_public_ip_check_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/ticktick/auth/start": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Start Ticktick Auth */ get: operations["start_ticktick_auth_ticktick_auth_start_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/ticktick/auth/code": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Handle Ticktick Auth Code */ get: operations["handle_ticktick_auth_code_ticktick_auth_code_get"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } export type webhooks = Record; export interface components { schemas: { /** ConfigField */ ConfigField: { /** Env Name */ env_name: string; /** Label */ label: string; /** Value */ value: string; /** Secret */ secret: boolean; /** Input Type */ input_type: string; /** Configured */ configured: boolean; }; /** ConfigResponse */ ConfigResponse: { /** Sections */ sections: components["schemas"]["ConfigSection"][]; }; /** ConfigSection */ ConfigSection: { /** Name */ name: string; /** Fields */ fields: components["schemas"]["ConfigField"][]; }; /** * ConfigUpdateRequest * @description Flat mapping of env_name → value, mirroring the existing form semantics. */ ConfigUpdateRequest: { /** Updates */ updates: { [key: string]: string; }; }; /** ConfigUpdateResponse */ ConfigUpdateResponse: { /** Sections */ sections: components["schemas"]["ConfigSection"][]; }; /** HTTPValidationError */ HTTPValidationError: { /** Detail */ detail?: components["schemas"]["ValidationError"][]; }; /** LocationRecord */ LocationRecord: { /** Person */ person: string; /** Datetime */ datetime: string; /** Latitude */ latitude: number; /** Longitude */ longitude: number; /** Altitude */ altitude: number | null; }; /** * LocationUpdateRequest * @description PATCH body for a location record — all fields optional; PK fields excluded. */ LocationUpdateRequest: { /** Latitude */ latitude?: number | null; /** Longitude */ longitude?: number | null; /** Altitude */ altitude?: number | null; }; /** LocationsResponse */ LocationsResponse: { /** Items */ items: components["schemas"]["LocationRecord"][]; /** Limit */ limit: number; /** Offset */ offset: number; }; /** LoginRequest */ LoginRequest: { /** Username */ username: string; /** Password */ password: string; /** Totp Code */ totp_code?: string | null; }; /** PasswordChangeRequest */ PasswordChangeRequest: { /** Current Password */ current_password: string; /** New Password */ new_password: string; /** Confirm Password */ confirm_password: string; }; /** PooRecord */ PooRecord: { /** Timestamp */ timestamp: string; /** Status */ status: string; /** Latitude */ latitude: number; /** Longitude */ longitude: number; }; /** PooResponse */ PooResponse: { /** Items */ items: components["schemas"]["PooRecord"][]; /** Limit */ limit: number; /** Offset */ offset: number; }; /** * PooUpdateRequest * @description PATCH body for a poo record — all fields optional; PK field excluded. */ PooUpdateRequest: { /** Status */ status?: string | null; /** Latitude */ latitude?: number | null; /** Longitude */ longitude?: number | null; }; /** PublicIPCheckResponse */ PublicIPCheckResponse: { /** * Status * @enum {string} */ status: "first_seen" | "unchanged" | "changed" | "error"; /** * Checked At * Format: date-time */ checked_at: string; /** Changed */ changed: boolean; }; /** PublicIPHistorySchema */ PublicIPHistorySchema: { /** Id */ id: number; /** Ipv4 */ ipv4: string; /** * Observed At * Format: date-time */ observed_at: string; /** Change Type */ change_type: string; /** Provider */ provider: string | null; }; /** PublicIPResponse */ PublicIPResponse: { state: components["schemas"]["PublicIPStateSchema"] | null; /** History */ history: components["schemas"]["PublicIPHistorySchema"][]; }; /** PublicIPStateSchema */ PublicIPStateSchema: { /** Id */ id: number; /** Current Ipv4 */ current_ipv4: string; /** Previous Ipv4 */ previous_ipv4: string | null; /** * First Seen At * Format: date-time */ first_seen_at: string; /** * Last Checked At * Format: date-time */ last_checked_at: string; /** Last Changed At */ last_changed_at: string | null; /** Last Check Status */ last_check_status: string; /** Last Check Error */ last_check_error: string | null; /** Last Provider */ last_provider: string | null; }; /** SessionResponse */ SessionResponse: { user: components["schemas"]["SessionUser"]; /** Csrf Token */ csrf_token: string; }; /** SessionUser */ SessionUser: { /** Username */ username: string; /** Force Password Change */ force_password_change: boolean; }; /** * SmtpTestResponse * @description Response from POST /api/config/smtp/test. */ SmtpTestResponse: { /** * Result * @enum {string} */ result: "success" | "config-error" | "failed"; /** Message */ message: string; }; /** StatusResponse */ StatusResponse: { /** Status */ status: string; }; /** * TotpDisableRequest * @description Disable TOTP by proving identity. * * Exactly one of ``password`` or ``code`` must be provided. */ TotpDisableRequest: { /** Password */ password?: string | null; /** Code */ code?: string | null; }; /** * TotpEnableRequest * @description The user confirms setup by providing the 6-digit TOTP code. */ TotpEnableRequest: { /** Code */ code: string; }; /** * TotpSetupResponse * @description Returned once after a setup call. * * ``secret`` and ``recovery_codes`` are **one-time plaintext values**. * They are never returned again by any subsequent API call. * The frontend must display and instruct the user to save them before confirming. */ TotpSetupResponse: { /** Secret */ secret: string; /** Otpauth Uri */ otpauth_uri: string; /** Recovery Codes */ recovery_codes: string[]; }; /** * TotpStatusResponse * @description Minimal status response — never exposes secret or recovery codes. */ TotpStatusResponse: { /** Enabled */ enabled: boolean; }; /** ValidationError */ ValidationError: { /** Location */ loc: (string | number)[]; /** Message */ msg: string; /** Error Type */ type: string; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export interface operations { get_status_status_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["StatusResponse"]; }; }; }; }; get_config_api_config_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ConfigResponse"]; }; }; }; }; put_config_api_config_put: { parameters: { query?: never; header?: { "X-CSRF-Token"?: string | null; }; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["ConfigUpdateRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ConfigUpdateResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; post_smtp_test_api_config_smtp_test_post: { parameters: { query?: never; header?: { "X-CSRF-Token"?: string | null; }; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SmtpTestResponse"]; }; }; /** @description Bad Request */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SmtpTestResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; /** @description Bad Gateway */ 502: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SmtpTestResponse"]; }; }; }; }; get_locations_api_locations_get: { parameters: { query?: { limit?: number; offset?: number; start?: string | null; end?: string | null; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["LocationsResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_poo_api_poo_get: { parameters: { query?: { limit?: number; offset?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PooResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_public_ip_api_public_ip_get: { parameters: { query?: { limit?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PublicIPResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; delete_location_record_api_locations__person___datetime__delete: { parameters: { query?: never; header?: { "X-CSRF-Token"?: string | null; }; path: { person: string; datetime: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; patch_location_api_locations__person___datetime__patch: { parameters: { query?: never; header?: { "X-CSRF-Token"?: string | null; }; path: { person: string; datetime: string; }; cookie?: never; }; requestBody?: { content: { "application/json": components["schemas"]["LocationUpdateRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["LocationRecord"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; delete_poo_api_poo__timestamp__delete: { parameters: { query?: never; header?: { "X-CSRF-Token"?: string | null; }; path: { timestamp: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; patch_poo_api_poo__timestamp__patch: { parameters: { query?: never; header?: { "X-CSRF-Token"?: string | null; }; path: { timestamp: string; }; cookie?: never; }; requestBody?: { content: { "application/json": components["schemas"]["PooUpdateRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PooRecord"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_session_api_session_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SessionResponse"]; }; }; }; }; post_login_api_auth_login_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["LoginRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SessionResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; post_logout_api_auth_logout_post: { parameters: { query?: never; header?: { "X-CSRF-Token"?: string | null; }; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; post_change_password_api_auth_password_post: { parameters: { query?: never; header?: { "X-CSRF-Token"?: string | null; }; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["PasswordChangeRequest"]; }; }; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; post_totp_setup_api_auth_totp_setup_post: { parameters: { query?: never; header?: { "X-CSRF-Token"?: string | null; }; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TotpSetupResponse"]; }; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; post_totp_enable_api_auth_totp_enable_post: { parameters: { query?: never; header?: { "X-CSRF-Token"?: string | null; }; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["TotpEnableRequest"]; }; }; responses: { /** @description Successful Response */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; post_totp_disable_api_auth_totp_disable_post: { parameters: { query?: never; header?: { "X-CSRF-Token"?: string | null; }; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["TotpDisableRequest"]; }; }; responses: { /** @description Successful Response */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Validation Error */ 422: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["HTTPValidationError"]; }; }; }; }; get_totp_status_api_auth_totp_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TotpStatusResponse"]; }; }; }; }; publish_from_homeassistant_homeassistant_publish_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; }; }; create_location_record_location_record_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; }; }; create_poo_record_poo_record_post: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; }; }; notify_latest_poo_poo_latest_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; }; }; run_public_ip_check_public_ip_check_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PublicIPCheckResponse"]; }; }; }; }; start_ticktick_auth_ticktick_auth_start_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; }; }; handle_ticktick_auth_code_ticktick_auth_code_get: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description Successful Response */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": unknown; }; }; }; }; }