{"components":{"schemas":{"ApiErrorBody":{"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"type":"object"},"BatchRequest":{"properties":{"ops":{"items":{"$ref":"#/components/schemas/SettingOp"},"type":"array"}},"required":["ops"],"type":"object"},"CreateStorageResponse":{"allOf":[{"$ref":"#/components/schemas/SummaryDto"},{"properties":{"id":{"type":"string"},"management_url":{"type":"string"}},"required":["id","management_url"],"type":"object"}]},"FileInfoDto":{"properties":{"etag":{"type":"string"},"path":{"type":"string"},"size":{"format":"int64","minimum":0,"type":"integer"}},"required":["path","size","etag"],"type":"object"},"FilePageDto":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FileInfoDto"},"type":"array"},"next_cursor":{"type":["string","null"]}},"required":["items"],"type":"object"},"ServiceStatus":{"properties":{"status":{"example":"unavailable","type":"string"}},"required":["status"],"type":"object"},"SettingEntryDto":{"properties":{"key":{"type":"string"},"value":{"type":"object"}},"required":["key","value"],"type":"object"},"SettingOp":{"oneOf":[{"properties":{"key":{"type":"string"},"op":{"enum":["set"],"type":"string"},"value":{}},"required":["key","value","op"],"type":"object"},{"properties":{"key":{"type":"string"},"op":{"enum":["delete"],"type":"string"}},"required":["key","op"],"type":"object"}]},"SettingsPageDto":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SettingEntryDto"},"type":"array"},"next_cursor":{"type":["string","null"]}},"required":["items"],"type":"object"},"SummaryDto":{"properties":{"created_at":{"format":"int64","minimum":0,"type":"integer"},"files":{"format":"int32","minimum":0,"type":"integer"},"last_used":{"format":"int64","minimum":0,"type":"integer"},"quota_bytes":{"format":"int64","minimum":0,"type":"integer"},"settings":{"format":"int32","minimum":0,"type":"integer"},"used_bytes":{"format":"int64","minimum":0,"type":"integer"}},"required":["quota_bytes","used_bytes","files","settings","created_at","last_used"],"type":"object"},"UpgradeChallengeResponse":{"properties":{"challenge":{"type":"string"},"difficulty_bits":{"format":"int32","minimum":0,"type":"integer"},"expires_at":{"format":"int64","minimum":0,"type":"integer"}},"required":["challenge","difficulty_bits","expires_at"],"type":"object"},"UpgradeClaimRequest":{"properties":{"challenge":{"type":"string"},"nonce":{"type":"string"},"proof":{"type":["string","null"]}},"required":["challenge","nonce"],"type":"object"}},"securitySchemes":{"bearer_auth":{"scheme":"bearer","type":"http"}}},"info":{"description":"Small anonymous capability-based cloud storage","license":{"identifier":"AGPL-3.0-only","name":"AGPL-3.0-only"},"title":"scs","version":"0.3.0"},"openapi":"3.1.0","paths":{"/healthz":{"get":{"operationId":"health","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceStatus"}}},"description":""},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server concurrency limit reached","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}}},"tags":[]},"head":{"operationId":"head_health","responses":{"200":{"description":""},"503":{"description":"Server concurrency limit reached","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}}},"tags":[]}},"/readyz":{"get":{"operationId":"readiness","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceStatus"}}},"description":""},"503":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ServiceStatus"},{"$ref":"#/components/schemas/ApiErrorBody"}]}}},"description":"Dependency unavailable (status body), or request admission exhausted (API error body)","headers":{"Retry-After":{"description":"Optional; present only for request admission overload, not dependency unavailability","schema":{"type":"integer"}}}}},"tags":[]},"head":{"operationId":"head_readiness","responses":{"200":{"description":""},"503":{"description":"Dependency unavailable (status body), or request admission exhausted (API error body)","headers":{"Retry-After":{"description":"Optional; present only for request admission overload, not dependency unavailability","schema":{"type":"integer"}}}}},"tags":[]}},"/v1/files":{"get":{"operationId":"list_files","parameters":[{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"format":"int32","minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FilePageDto"}}},"description":""},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Storage or item not found, or invalid capability"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]},"head":{"operationId":"head_files","parameters":[{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"format":"int32","minimum":0,"type":"integer"}}],"responses":{"200":{"description":""},"400":{"description":""},"404":{"description":"Storage or item not found, or invalid capability"},"409":{"description":""},"413":{"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"description":"Internal storage or server failure"},"503":{"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]}},"/v1/files/{path}":{"delete":{"operationId":"delete_file","parameters":[{"in":"path","name":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":""},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Storage or item not found, or invalid capability"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]},"get":{"operationId":"get_file","parameters":[{"in":"path","name":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/octet-stream":{"schema":{"format":"binary","type":"string"}}},"description":"","headers":{"ETag":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Storage or item not found, or invalid capability"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]},"head":{"operationId":"head_file","parameters":[{"in":"path","name":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"","headers":{"ETag":{"schema":{"type":"string"}}}},"400":{"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"description":"Storage or item not found, or invalid capability"},"413":{"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"description":"Internal storage or server failure"},"503":{"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]},"put":{"operationId":"put_file","parameters":[{"in":"path","name":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/octet-stream":{"schema":{"format":"binary","type":"string"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileInfoDto"}}},"description":"","headers":{"ETag":{"schema":{"type":"string"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Storage or item not found, or invalid capability"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]}},"/v1/settings":{"get":{"operationId":"get_settings","parameters":[{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"format":"int32","minimum":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsPageDto"}}},"description":""},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Storage or item not found, or invalid capability"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]},"head":{"operationId":"head_settings","parameters":[{"in":"query","name":"cursor","required":false,"schema":{"type":"string"}},{"in":"query","name":"limit","required":false,"schema":{"format":"int32","minimum":0,"type":"integer"}}],"responses":{"200":{"description":""},"400":{"description":""},"404":{"description":"Storage or item not found, or invalid capability"},"409":{"description":""},"413":{"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"description":"Internal storage or server failure"},"503":{"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]},"put":{"operationId":"replace_settings","requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummaryDto"}}},"description":""},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Storage or item not found, or invalid capability"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]}},"/v1/settings/{key}":{"delete":{"operationId":"delete_setting","parameters":[{"in":"path","name":"key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummaryDto"}}},"description":""},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Storage or item not found, or invalid capability"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]},"get":{"operationId":"get_setting","parameters":[{"in":"path","name":"key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{}}},"description":""},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Storage or item not found, or invalid capability"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]},"head":{"operationId":"head_setting","parameters":[{"in":"path","name":"key","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""},"400":{"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"description":"Storage or item not found, or invalid capability"},"413":{"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"description":"Internal storage or server failure"},"503":{"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]},"put":{"operationId":"set_setting","parameters":[{"in":"path","name":"key","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummaryDto"}}},"description":""},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Storage or item not found, or invalid capability"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]}},"/v1/settings:batch":{"post":{"operationId":"batch_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummaryDto"}}},"description":""},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Storage or item not found, or invalid capability"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]}},"/v1/storage":{"delete":{"operationId":"delete_storage","responses":{"204":{"description":""},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]},"get":{"operationId":"get_storage","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummaryDto"}}},"description":""},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]},"head":{"operationId":"head_storage","responses":{"200":{"description":""},"400":{"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"description":""},"413":{"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"description":"Internal storage or server failure"},"503":{"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]}},"/v1/storages":{"post":{"operationId":"create_storage","responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateStorageResponse"}}},"description":""},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}}},"security":[{"bearer_auth":[]}],"tags":[]}},"/v1/upgrades/challenge":{"post":{"operationId":"upgrade_challenge","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpgradeChallengeResponse"}}},"description":""},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Invalid request, parameters, or duplicate singleton headers"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request, response, quota, or storage resource limit exceeded"},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Internal storage or server failure"},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]}},"/v1/upgrades/claim":{"post":{"operationId":"upgrade_claim","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpgradeClaimRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SummaryDto"}}},"description":""},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"412":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Rate limit exceeded","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":""},"503":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Server or storage overloaded, or commit outcome unknown; verify state before retrying an unknown commit","headers":{"Retry-After":{"description":"Optional retry delay in seconds; omitted when the commit outcome is unknown","schema":{"type":"integer"}}}},"504":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorBody"}}},"description":"Request timed out"}},"security":[{"bearer_auth":[]}],"tags":[]}}},"tags":[{"description":"Anonymous capability storage API","name":"scs"}]}