{"openapi":"3.1.0","info":{"title":"Parklab DB","version":"0.2.0"},"paths":{"/healthz":{"get":{"tags":["operations"],"summary":"Health","operationId":"health_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/service":{"get":{"tags":["discovery"],"summary":"Info","operationId":"info_api_v1_service_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/register":{"post":{"tags":["authentication"],"summary":"Register","operationId":"register_api_v1_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Signup"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/login":{"post":{"tags":["authentication"],"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/AuthResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/refresh":{"post":{"tags":["authentication"],"summary":"Refresh","operationId":"refresh_api_v1_auth_refresh_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Refresh"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/recover":{"post":{"tags":["authentication"],"summary":"Recover","operationId":"recover_api_v1_auth_recover_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Recover"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["authentication"],"summary":"Logout","operationId":"logout_api_v1_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/account":{"get":{"tags":["account"],"summary":"Me","operationId":"me_api_v1_account_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["account"],"summary":"Update","operationId":"update_api_v1_account_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Account"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/account/password":{"post":{"tags":["account"],"summary":"Password","operationId":"password_api_v1_account_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordChange"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/account/recovery-codes":{"post":{"tags":["account"],"summary":"Recovery Codes","operationId":"recovery_codes_api_v1_account_recovery_codes_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecoveryRegenerate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecoveryResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/api-keys":{"get":{"tags":["credentials"],"summary":"Keys","operationId":"keys_api_v1_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyList"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["credentials"],"summary":"Create Key","operationId":"create_key_api_v1_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuedKey"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/api-keys/{credential_id}":{"delete":{"tags":["credentials"],"summary":"Revoke Key","operationId":"revoke_key_api_v1_api_keys__credential_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"credential_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Credential Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/api-keys/{credential_id}/rotate":{"post":{"tags":["credentials"],"summary":"Rotate Key","operationId":"rotate_key_api_v1_api_keys__credential_id__rotate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"credential_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Credential Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssuedKey"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects":{"post":{"tags":["projects"],"summary":"Create","operationId":"create_api_v1_projects_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["projects"],"summary":"List Projects","operationId":"list_projects_api_v1_projects_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"include_trash","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Trash"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Projects"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}":{"get":{"tags":["projects"],"summary":"Get","operationId":"get_api_v1_projects__project_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["projects"],"summary":"Update","operationId":"update_api_v1_projects__project_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectChanges"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["projects"],"summary":"Delete","operationId":"delete_api_v1_projects__project_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteConfirmation"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/restore":{"post":{"tags":["projects"],"summary":"Restore","operationId":"restore_api_v1_projects__project_id__restore_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/projects/{project_id}/quota":{"put":{"tags":["projects","operator"],"summary":"Quota","operationId":"quota_api_v1_admin_projects__project_id__quota_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotaValue"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Project"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/schemas":{"get":{"tags":["schema"],"summary":"Schemas","operationId":"schemas_api_v1_projects__project_id__schemas_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemasResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/tables":{"get":{"tags":["schema"],"summary":"Tables","operationId":"tables_api_v1_projects__project_id__tables_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}},{"name":"schema_name","in":"query","required":false,"schema":{"type":"string","default":"public","title":"Schema Name"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TablesResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/table":{"get":{"tags":["schema"],"summary":"Table","operationId":"table_api_v1_projects__project_id__table_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}},{"name":"table_name","in":"query","required":true,"schema":{"type":"string","title":"Table Name"}},{"name":"schema_name","in":"query","required":false,"schema":{"type":"string","default":"public","title":"Schema Name"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TableResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/definition":{"get":{"tags":["schema"],"summary":"Definition","operationId":"definition_api_v1_projects__project_id__definition_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}},{"name":"table_name","in":"query","required":true,"schema":{"type":"string","title":"Table Name"}},{"name":"kind","in":"query","required":true,"schema":{"type":"string","title":"Kind"}},{"name":"schema_name","in":"query","required":false,"schema":{"type":"string","default":"public","title":"Schema Name"}},{"name":"name","in":"query","required":false,"schema":{"type":"string","default":"","title":"Name"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":16000,"minimum":1,"default":16000,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefinitionResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Account":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"username":{"type":"string","title":"Username"},"display_name":{"type":"string","title":"Display Name"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"is_operator":{"type":"boolean","title":"Is Operator"}},"type":"object","required":["id","username","display_name","created_at","is_operator"],"title":"Account"},"AccountUpdate":{"properties":{"username":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Username"},"display_name":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Display Name"}},"additionalProperties":false,"type":"object","title":"AccountUpdate"},"AuthResult":{"properties":{"account":{"$ref":"#/components/schemas/Account"},"tokens":{"$ref":"#/components/schemas/Tokens"},"recovery_codes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Recovery Codes"}},"type":"object","required":["account","tokens"],"title":"AuthResult"},"ColumnInfo":{"properties":{"name":{"type":"string","title":"Name"},"position":{"type":"integer","title":"Position"},"type_name":{"type":"string","title":"Type Name"},"type_oid":{"type":"integer","title":"Type Oid"},"nullable":{"type":"boolean","title":"Nullable"},"default":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default"},"definition_truncated":{"type":"boolean","title":"Definition Truncated"},"identity":{"type":"string","title":"Identity"},"generated":{"type":"string","title":"Generated"},"collation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Collation"}},"type":"object","required":["name","position","type_name","type_oid","nullable","default","definition_truncated","identity","generated","collation"],"title":"ColumnInfo"},"ConstraintInfo":{"properties":{"name":{"type":"string","title":"Name"},"kind":{"type":"string","title":"Kind"},"columns":{"items":{"type":"string"},"type":"array","title":"Columns"},"definition":{"type":"string","title":"Definition"},"definition_truncated":{"type":"boolean","title":"Definition Truncated"},"validated":{"type":"boolean","title":"Validated"},"enforced":{"type":"boolean","title":"Enforced"},"deferrable":{"type":"boolean","title":"Deferrable"},"initially_deferred":{"type":"boolean","title":"Initially Deferred"},"referenced_schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referenced Schema"},"referenced_table":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referenced Table"},"referenced_columns":{"items":{"type":"string"},"type":"array","title":"Referenced Columns"}},"type":"object","required":["name","kind","columns","definition","definition_truncated","validated","enforced","deferrable","initially_deferred","referenced_schema","referenced_table","referenced_columns"],"title":"ConstraintInfo"},"Credential":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"kind":{"type":"string","title":"Kind"},"name":{"type":"string","title":"Name"},"project_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"},"profile":{"type":"string","title":"Profile"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"last_used_at":{"type":"string","format":"date-time","title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"}},"type":"object","required":["id","kind","name","project_id","profile","created_at","expires_at","last_used_at","revoked_at"],"title":"Credential"},"DefinitionResult":{"properties":{"text":{"type":"string","title":"Text"},"total_characters":{"type":"integer","title":"Total Characters"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"}},"type":"object","required":["text","total_characters","next_offset"],"title":"DefinitionResult"},"DeleteConfirmation":{"properties":{"confirm_project_id":{"type":"string","format":"uuid","title":"Confirm Project Id","description":"Must equal project_id; no human approval required"}},"additionalProperties":false,"type":"object","required":["confirm_project_id"],"title":"DeleteConfirmation"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IndexInfo":{"properties":{"name":{"type":"string","title":"Name"},"definition":{"type":"string","title":"Definition"},"definition_truncated":{"type":"boolean","title":"Definition Truncated"},"unique":{"type":"boolean","title":"Unique"},"primary":{"type":"boolean","title":"Primary"},"valid":{"type":"boolean","title":"Valid"}},"type":"object","required":["name","definition","definition_truncated","unique","primary","valid"],"title":"IndexInfo"},"IssuedKey":{"properties":{"credential":{"$ref":"#/components/schemas/Credential"},"secret":{"type":"string","title":"Secret","description":"Shown once; store securely and never log it"}},"type":"object","required":["credential","secret"],"title":"IssuedKey"},"KeyCreate":{"properties":{"name":{"type":"string","maxLength":80,"minLength":1,"title":"Name"},"project_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"},"profile":{"type":"string","enum":["account","read","write","admin"],"title":"Profile","default":"account"}},"additionalProperties":false,"type":"object","required":["name"],"title":"KeyCreate"},"KeyList":{"properties":{"credentials":{"items":{"$ref":"#/components/schemas/Credential"},"type":"array","title":"Credentials"}},"type":"object","required":["credentials"],"title":"KeyList"},"Login":{"properties":{"login":{"type":"string","maxLength":64,"title":"Login","description":"Login name or stable account UUID"},"password":{"type":"string","format":"password","title":"Password","writeOnly":true}},"additionalProperties":false,"type":"object","required":["login","password"],"title":"Login"},"PasswordChange":{"properties":{"current_password":{"type":"string","format":"password","title":"Current Password","writeOnly":true},"new_password":{"type":"string","format":"password","title":"New Password","writeOnly":true}},"additionalProperties":false,"type":"object","required":["current_password","new_password"],"title":"PasswordChange"},"Project":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"slug":{"type":"string","title":"Slug"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"status":{"type":"string","title":"Status"},"quota_bytes":{"type":"integer","title":"Quota Bytes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"deleted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deleted At"},"purge_after":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Purge After"},"last_error_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error Code"},"used_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Used Bytes"},"storage_status":{"type":"string","title":"Storage Status","default":"not_measured"}},"type":"object","required":["id","slug","name","description","status","quota_bytes","created_at","updated_at","deleted_at","purge_after","last_error_code"],"title":"Project"},"ProjectChanges":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":120,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"}},"additionalProperties":false,"type":"object","title":"ProjectChanges"},"ProjectCreate":{"properties":{"slug":{"type":"string","pattern":"^[a-z][a-z0-9_-]{2,63}$","title":"Slug"},"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"},"description":{"type":"string","maxLength":2000,"title":"Description","default":""},"idempotency_key":{"type":"string","format":"uuid","title":"Idempotency Key","description":"Persist and reuse this UUID to safely retry creation"}},"additionalProperties":false,"type":"object","required":["slug","name","idempotency_key"],"title":"ProjectCreate"},"Projects":{"properties":{"projects":{"items":{"$ref":"#/components/schemas/Project"},"type":"array","title":"Projects"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"}},"type":"object","required":["projects","next_offset"],"title":"Projects"},"QuotaValue":{"properties":{"quota_bytes":{"type":"integer","multipleOf":1024.0,"maximum":9.223372036854776e+18,"minimum":1024.0,"title":"Quota Bytes"}},"additionalProperties":false,"type":"object","required":["quota_bytes"],"title":"QuotaValue"},"Recover":{"properties":{"login":{"type":"string","maxLength":64,"title":"Login"},"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":["login","recovery_code","new_password"],"title":"Recover"},"RecoveryRegenerate":{"properties":{"current_password":{"type":"string","format":"password","title":"Current Password","writeOnly":true}},"additionalProperties":false,"type":"object","required":["current_password"],"title":"RecoveryRegenerate"},"RecoveryResult":{"properties":{"recovery_codes":{"items":{"type":"string"},"type":"array","title":"Recovery Codes"}},"type":"object","required":["recovery_codes"],"title":"RecoveryResult"},"Refresh":{"properties":{"refresh_token":{"type":"string","format":"password","title":"Refresh Token","writeOnly":true}},"additionalProperties":false,"type":"object","required":["refresh_token"],"title":"Refresh"},"Relation":{"properties":{"schema_name":{"type":"string","title":"Schema Name"},"name":{"type":"string","title":"Name"},"kind":{"type":"string","title":"Kind"},"row_security":{"type":"boolean","title":"Row Security"}},"type":"object","required":["schema_name","name","kind","row_security"],"title":"Relation"},"SchemaInfo":{"properties":{"name":{"type":"string","title":"Name"},"can_create":{"type":"boolean","title":"Can Create"}},"type":"object","required":["name","can_create"],"title":"SchemaInfo"},"SchemasResult":{"properties":{"schemas":{"items":{"$ref":"#/components/schemas/SchemaInfo"},"type":"array","title":"Schemas"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"}},"type":"object","required":["schemas","next_offset"],"title":"SchemasResult"},"Signup":{"properties":{"username":{"type":"string","maxLength":64,"title":"Username","description":"Unique lowercase login name, 3–64 characters"},"password":{"type":"string","format":"password","title":"Password","description":"16–1024 characters; store it securely","writeOnly":true},"display_name":{"type":"string","maxLength":120,"title":"Display Name","default":""}},"additionalProperties":false,"type":"object","required":["username","password"],"title":"Signup"},"Success":{"properties":{"ok":{"type":"boolean","title":"Ok","default":true}},"type":"object","title":"Success"},"TableResult":{"properties":{"table":{"$ref":"#/components/schemas/Relation"},"columns":{"items":{"$ref":"#/components/schemas/ColumnInfo"},"type":"array","title":"Columns"},"constraints":{"items":{"$ref":"#/components/schemas/ConstraintInfo"},"type":"array","title":"Constraints"},"indexes":{"items":{"$ref":"#/components/schemas/IndexInfo"},"type":"array","title":"Indexes"},"triggers":{"items":{"$ref":"#/components/schemas/TriggerInfo"},"type":"array","title":"Triggers"},"next_offsets":{"additionalProperties":{"anyOf":[{"type":"integer"},{"type":"null"}]},"type":"object","title":"Next Offsets"},"view_definition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"View Definition"},"view_definition_truncated":{"type":"boolean","title":"View Definition Truncated"}},"type":"object","required":["table","columns","constraints","indexes","triggers","next_offsets","view_definition","view_definition_truncated"],"title":"TableResult"},"TablesResult":{"properties":{"tables":{"items":{"$ref":"#/components/schemas/Relation"},"type":"array","title":"Tables"},"next_offset":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Offset"}},"type":"object","required":["tables","next_offset"],"title":"TablesResult"},"Tokens":{"properties":{"token_type":{"type":"string","title":"Token Type","default":"Bearer"},"access_token":{"type":"string","title":"Access Token"},"expires_in":{"type":"integer","title":"Expires In"},"refresh_token":{"type":"string","title":"Refresh Token"},"refresh_expires_in":{"type":"integer","title":"Refresh Expires In"}},"type":"object","required":["access_token","expires_in","refresh_token","refresh_expires_in"],"title":"Tokens"},"TriggerInfo":{"properties":{"name":{"type":"string","title":"Name"},"definition":{"type":"string","title":"Definition"},"definition_truncated":{"type":"boolean","title":"Definition Truncated"},"enabled":{"type":"string","title":"Enabled"}},"type":"object","required":["name","definition","definition_truncated","enabled"],"title":"TriggerInfo"},"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"}}}}