{"openapi":"3.1.0","info":{"title":"MacLink 账号服务","version":"1.1.1"},"paths":{"/healthz":{"get":{"summary":"Health","operationId":"health_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/config":{"get":{"summary":"Config","operationId":"config_v1_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/auth/register":{"post":{"summary":"Register","operationId":"register_v1_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Register"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/login":{"post":{"summary":"Login","operationId":"login_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Login"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/me":{"get":{"summary":"Me","operationId":"me_v1_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/auth/logout":{"post":{"summary":"Logout","operationId":"logout_v1_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/auth/sessions":{"get":{"summary":"Sessions","operationId":"sessions_v1_auth_sessions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/auth/sessions/{session_id}":{"delete":{"summary":"Revoke Session","operationId":"revoke_session_v1_auth_sessions__session_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/refresh":{"post":{"summary":"Refresh","operationId":"refresh_v1_auth_refresh_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/auth/password":{"post":{"summary":"Password","operationId":"password_v1_auth_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordChange"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/auth/recover":{"post":{"summary":"Recover","operationId":"recover_v1_auth_recover_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Recovery"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/auth/recovery-codes":{"post":{"summary":"Recover Codes","operationId":"recover_codes_v1_auth_recovery_codes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Password"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/clients/challenges":{"post":{"summary":"Client Challenge","operationId":"client_challenge_v1_clients_challenges_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientChallenge"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/clients/bind":{"post":{"summary":"Client Bind","operationId":"client_bind_v1_clients_bind_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Signature"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/clients":{"get":{"summary":"Clients","operationId":"clients_v1_clients_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/clients/{client_id}":{"delete":{"summary":"Client Delete","operationId":"client_delete_v1_clients__client_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"string","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/device-challenges":{"post":{"summary":"Device Challenge","operationId":"device_challenge_v1_device_challenges_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceChallenge"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/device-auth":{"post":{"summary":"Device Authenticate","operationId":"device_authenticate_v1_device_auth_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Signature"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices/me/heartbeat":{"post":{"summary":"Heartbeat","operationId":"heartbeat_v1_devices_me_heartbeat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Heartbeat"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/devices/me/offline":{"post":{"summary":"Offline","operationId":"offline_v1_devices_me_offline_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/devices/me/policy":{"get":{"summary":"Policy","operationId":"policy_v1_devices_me_policy_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connections","in":"query","required":false,"schema":{"type":"string","default":"","title":"Connections"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices/me/grants/{grant_id}":{"delete":{"summary":"Host Revoke Grant","operationId":"host_revoke_grant_v1_devices_me_grants__grant_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"grant_id","in":"path","required":true,"schema":{"type":"string","title":"Grant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices/me/pairing-codes":{"post":{"summary":"Pair Code","operationId":"pair_code_v1_devices_me_pairing_codes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Permissions"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/devices/me/approvals":{"get":{"summary":"Approvals","operationId":"approvals_v1_devices_me_approvals_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/devices/me/approvals/{approval_id}/prepare":{"post":{"summary":"Prepare Approval","operationId":"prepare_approval_v1_devices_me_approvals__approval_id__prepare_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"approval_id","in":"path","required":true,"schema":{"type":"string","title":"Approval Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices/me/approvals/approve":{"post":{"summary":"Approve","operationId":"approve_v1_devices_me_approvals_approve_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Signature"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/devices/me/approvals/{approval_id}/deny":{"post":{"summary":"Deny","operationId":"deny_v1_devices_me_approvals__approval_id__deny_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"approval_id","in":"path","required":true,"schema":{"type":"string","title":"Approval Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices":{"get":{"summary":"Devices","operationId":"devices_v1_devices_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/pairing/claim":{"post":{"summary":"Claim","operationId":"claim_v1_pairing_claim_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Claim"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/devices/{device_id}":{"patch":{"summary":"Rename","operationId":"rename_v1_devices__device_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Rename"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices/{device_id}/trust-client":{"post":{"summary":"Trust","operationId":"trust_v1_devices__device_id__trust_client_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices/{device_id}/grants":{"get":{"summary":"Grants","operationId":"grants_v1_devices__device_id__grants_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices/{device_id}/grants/change":{"post":{"summary":"Change Grant","operationId":"change_grant_v1_devices__device_id__grants_change_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeGrant"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices/{device_id}/grants/{grant_id}":{"delete":{"summary":"Revoke Grant","operationId":"revoke_grant_v1_devices__device_id__grants__grant_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}},{"name":"grant_id","in":"path","required":true,"schema":{"type":"string","title":"Grant Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices/{device_id}/shares":{"post":{"summary":"Share","operationId":"share_v1_devices__device_id__shares_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Share"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Shares","operationId":"shares_v1_devices__device_id__shares_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices/{device_id}/shares/{share_id}":{"delete":{"summary":"Revoke Share","operationId":"revoke_share_v1_devices__device_id__shares__share_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}},{"name":"share_id","in":"path","required":true,"schema":{"type":"string","title":"Share Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/shares/redeem":{"post":{"summary":"Redeem","operationId":"redeem_v1_shares_redeem_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Redeem"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/connections/challenges":{"post":{"summary":"Connect Challenge","operationId":"connect_challenge_v1_connections_challenges_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionChallenge"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/connections":{"post":{"summary":"Connect","operationId":"connect_v1_connections_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Signature"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/connections/{request_id}":{"get":{"summary":"Connection","operationId":"connection_v1_connections__request_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Cancel","operationId":"cancel_v1_connections__request_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices/me/connections":{"get":{"summary":"Pending","operationId":"pending_v1_devices_me_connections_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/devices/me/connections/{request_id}":{"get":{"summary":"Host Connection","operationId":"host_connection_v1_devices_me_connections__request_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices/me/connections/{request_id}/prepare":{"post":{"summary":"Prepare Connection","operationId":"prepare_connection_v1_devices_me_connections__request_id__prepare_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/devices/me/connections/approve":{"post":{"summary":"Approve Connection","operationId":"approve_connection_v1_devices_me_connections_approve_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Signature"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/events":{"get":{"summary":"Events","operationId":"events_v1_events_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/v1/devices/{device_id}/events":{"get":{"summary":"Device Events","operationId":"device_events_v1_devices__device_id__events_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","title":"Device Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ChangeGrant":{"properties":{"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"},"account_id":{"type":"string","maxLength":36,"minLength":36,"title":"Account Id"},"expires_at":{"type":"integer","title":"Expires At","default":0}},"additionalProperties":false,"type":"object","required":["account_id"],"title":"ChangeGrant"},"Claim":{"properties":{"pairing_code":{"type":"string","format":"password","title":"Pairing Code","writeOnly":true}},"additionalProperties":false,"type":"object","required":["pairing_code"],"title":"Claim"},"ClientChallenge":{"properties":{"public_key":{"type":"string","maxLength":128,"title":"Public Key"},"name":{"type":"string","maxLength":80,"minLength":1,"title":"Name"}},"additionalProperties":false,"type":"object","required":["public_key","name"],"title":"ClientChallenge"},"ConnectionChallenge":{"properties":{"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"},"device_id":{"type":"string","maxLength":36,"minLength":36,"title":"Device Id"}},"additionalProperties":false,"type":"object","required":["device_id"],"title":"ConnectionChallenge"},"DeviceChallenge":{"properties":{"public_key":{"type":"string","maxLength":128,"title":"Public Key"},"action":{"type":"string","enum":["device.register","device.login"],"title":"Action"},"name":{"type":"string","maxLength":80,"minLength":1,"title":"Name","default":"我的 Mac"},"platform":{"type":"string","maxLength":40,"minLength":1,"title":"Platform","default":"macOS"}},"additionalProperties":false,"type":"object","required":["public_key","action"],"title":"DeviceChallenge"},"Endpoint":{"properties":{"host":{"type":"string","maxLength":80,"minLength":1,"title":"Host"},"port":{"type":"integer","maximum":65535.0,"minimum":1.0,"title":"Port"}},"additionalProperties":false,"type":"object","required":["host","port"],"title":"Endpoint"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"Heartbeat":{"properties":{"endpoints":{"items":{"$ref":"#/components/schemas/Endpoint"},"type":"array","maxItems":24,"title":"Endpoints"},"name":{"anyOf":[{"type":"string","maxLength":80,"minLength":1},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","title":"Heartbeat"},"Login":{"properties":{"username":{"type":"string","maxLength":32,"minLength":1,"title":"Username"},"password":{"type":"string","format":"password","title":"Password","writeOnly":true}},"additionalProperties":false,"type":"object","required":["username","password"],"title":"Login"},"Password":{"properties":{"password":{"type":"string","format":"password","title":"Password","writeOnly":true}},"additionalProperties":false,"type":"object","required":["password"],"title":"Password"},"PasswordChange":{"properties":{"old_password":{"type":"string","format":"password","title":"Old Password","writeOnly":true},"new_password":{"type":"string","format":"password","title":"New Password","writeOnly":true}},"additionalProperties":false,"type":"object","required":["old_password","new_password"],"title":"PasswordChange"},"Permissions":{"properties":{"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"}},"additionalProperties":false,"type":"object","title":"Permissions"},"Recovery":{"properties":{"username":{"type":"string","maxLength":32,"minLength":3,"title":"Username"},"recovery_code":{"type":"string","format":"password","title":"Recovery Code","writeOnly":true},"new_password":{"type":"string","format":"password","title":"New Password","writeOnly":true}},"additionalProperties":false,"type":"object","required":["username","recovery_code","new_password"],"title":"Recovery"},"Redeem":{"properties":{"share_token":{"type":"string","format":"password","title":"Share Token","writeOnly":true}},"additionalProperties":false,"type":"object","required":["share_token"],"title":"Redeem"},"Register":{"properties":{"username":{"type":"string","maxLength":32,"minLength":3,"title":"Username"},"password":{"type":"string","format":"password","title":"Password","writeOnly":true},"display_name":{"type":"string","maxLength":80,"title":"Display Name","default":""}},"additionalProperties":false,"type":"object","required":["username","password"],"title":"Register"},"Rename":{"properties":{"name":{"type":"string","maxLength":80,"minLength":1,"title":"Name"}},"additionalProperties":false,"type":"object","required":["name"],"title":"Rename"},"Share":{"properties":{"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"},"single_connection":{"type":"boolean","title":"Single Connection","default":false},"expires_at":{"type":"integer","title":"Expires At"},"max_uses":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Max Uses","default":1},"recipient":{"anyOf":[{"type":"string","maxLength":32,"minLength":3},{"type":"null"}],"title":"Recipient"}},"additionalProperties":false,"type":"object","required":["expires_at"],"title":"Share"},"Signature":{"properties":{"challenge_id":{"type":"string","maxLength":36,"minLength":36,"title":"Challenge Id"},"signature":{"type":"string","maxLength":86,"minLength":86,"title":"Signature"}},"additionalProperties":false,"type":"object","required":["challenge_id","signature"],"title":"Signature"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}}}