{"openapi":"3.1.0","info":{"title":"ZenML Pro API Server_prod","description":"The API to interact with the ZenML Pro. ","version":"0.13.11"},"paths":{"/workspaces":{"post":{"tags":["workspaces"],"summary":"Create Workspace Endpoint","description":"Create or enroll a workspace.\n\nArgs:\n    workspace_create: Workspace create model.\n    organization_id: ID of the organization to which the workspace belongs\n        to.\n    force: If it should be created regardless of workspace limits.\n    enroll: Set if this is an unmanaged workspace that is being enrolled.\n    name: Name of the workspace.\n    description: Description of the workspace.\n    rbac: RBAC component.\n    auth_context: Auth context.\n    workspace_manager: Workspace manager.\n    organization_manager: Organization manager.\n\nReturns:\n    Model of the created workspace.\n\nRaises:\n    IllegalOperationError: If the operation is not allowed.","operationId":"create_workspace_endpoint_workspaces_post","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Organization Id"}},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},{"name":"description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}},{"name":"enroll","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Enroll"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceCreate"},{"type":"null"}],"title":"Workspace Create"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["workspaces"],"summary":"List Workspaces Endpoint","description":"Endpoint to list workspaces.\n\nOnly superusers can list all workspaces, without membership.\n\nArgs:\n    tenant_id: Deprecated, use workspace_id instead.\n    tenant_name: Deprecated, use workspace_name instead.\n    workspace_id: Workspace ID to filter by.\n    workspace_name: Workspace name to filter by.\n    url: Workspace service URL to filter by.\n    organization_id: Organization ID to filter by.\n    status: Filter by workspace status.\n    is_managed: Filter by whether the workspace is managed by ZenML Pro.\n    owner_id: Id of the Workspace owner\n    offset: Offset for pagination.\n    limit: Limit for pagination.\n    auth_context: Auth context.\n    workspace_manager: Workspace manager.\n    organization_manager: Organization manager.\n    rbac: RBAC component.\n\nReturns:\n    List of all workspaces within the given filter params.\n\nRaises:\n    IllegalOperationError: If the operation is not allowed.","operationId":"list_workspaces_endpoint_workspaces_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"tenant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Tenant Id"}},{"name":"tenant_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant Name"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}},{"name":"workspace_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Name"}},{"name":"url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},{"name":"organization_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Organization Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceStatus"},{"type":"null"}],"title":"Status"}},{"name":"is_managed","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Managed"}},{"name":"owner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Id"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceRead"},"title":"Response List Workspaces Endpoint Workspaces Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["workspaces"],"summary":"Delete All Workspaces Endpoint","description":"Delete all workspaces.\n\nArgs:\n    user: Authenticated user.\n    workspace_manager: Workspace manager.\n\nRaises:\n    IllegalOperationError: If a regular user tries to force delete or if\n        the operation is not allowed in the current environment.","operationId":"delete_all_workspaces_endpoint_workspaces_delete","security":[{"OAuth2ComboScheme":[]}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/workspaces/{workspace_id_or_name}":{"get":{"tags":["workspaces"],"summary":"Get Workspace Endpoint","description":"Get a workspace by ID or name.\n\nArgs:\n    workspace_id_or_name: ID or name of the workspace to get.\n    auth_context: Auth context.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nReturns:\n    Model of the workspace.\n\nRaises:\n    IllegalOperationError: If the operation is not allowed.","operationId":"get_workspace_endpoint_workspaces__workspace_id_or_name__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id_or_name","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Workspace Id Or Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/deploy":{"patch":{"tags":["workspaces"],"summary":"Deploy Workspace Endpoint","description":"Lets the caller deploy a specific workspace.\n\nArgs:\n    workspace_id: ID of the workspace to get.\n    user: Authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nReturns:\n    Updated workspace.\n\nRaises:\n    EntityConflictError: If the workspace is already deployed.","operationId":"deploy_workspace_endpoint_workspaces__workspace_id__deploy_patch","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/deactivate":{"patch":{"tags":["workspaces"],"summary":"Deactivate Workspace Endpoint","description":"Deactivate a workspace.\n\nArgs:\n    workspace_id: ID of the workspace to deactivate.\n    user: Authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nReturns:\n    Model of the deactivated workspace.\n\nRaises:\n    EntityConflictError: If the workspace is not in a state that can be\n        deactivated.","operationId":"deactivate_workspace_endpoint_workspaces__workspace_id__deactivate_patch","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}":{"patch":{"tags":["workspaces"],"summary":"Update Workspace Endpoint","description":"Update a workspace.\n\nArgs:\n    workspace_id: ID of the workspace to update.\n    workspace_update: Workspace update.\n    force: If the workspace resources should be updated even if there are\n        no changes in the configuration.\n    auth_context: Auth context.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n    organization_manager: Organization manager.\n\nReturns:\n    Model of the updated workspace.\n\nRaises:\n    IllegalOperationError: If a regular user tries to update admin\n        configuration attributes.\n    IllegalOperationError: If trying to update the workspace owner to a user\n        which is not a member of the organization.\n    IllegalOperationError: If a regular user tries to update the workspace\n        to an older ZenML version.","operationId":"update_workspace_endpoint_workspaces__workspace_id__patch","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["workspaces"],"summary":"Delete Workspace Endpoint","description":"Delete a workspace.\n\nArgs:\n    workspace_id: ID of the workspace to delete.\n    force: If it should be force deleted regardless of\n        orphaned infrastructure resources.\n    user: Authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n    codespace_manager: Codespace manager.\n\nReturns:\n    Model of the deleted workspace.\n\nRaises:\n    IllegalOperationError: If a regular user tries to force delete.","operationId":"delete_workspace_endpoint_workspaces__workspace_id__delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id_or_name}/members":{"get":{"tags":["workspaces"],"summary":"List Workspace Members Endpoint","description":"Endpoint to list workspace members.\n\nArgs:\n    workspace_id_or_name: ID or name of the workspace for which to list the\n        members.\n    role_id: ID of the role to filter by.\n    current_user_only: Only list the membership of the current user.\n    include_teams: Include teams in the result.\n    include_users: Include users in the result.\n    include_service_accounts: Include service accounts in the result.\n    include_invitations: Include invitations in the result.\n    user: The authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nReturns:\n    List of workspace members.","operationId":"list_workspace_members_endpoint_workspaces__workspace_id_or_name__members_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id_or_name","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Workspace Id Or Name"}},{"name":"role_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Role Id"}},{"name":"current_user_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Current User Only"}},{"name":"include_users","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Users"}},{"name":"include_service_accounts","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Service Accounts"}},{"name":"include_teams","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Teams"}},{"name":"include_invitations","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Invitations"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberRead"},"title":"Response List Workspace Members Endpoint Workspaces  Workspace Id Or Name  Members Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id}/members":{"delete":{"tags":["workspaces"],"summary":"Remove Workspace Member Endpoint","description":"Endpoint to remove a member from a workspace.\n\nArgs:\n    workspace_id: ID of the workspace from which to remove the user.\n    user_id: ID of the user to remove from the workspace.\n    team_id: ID of the team to remove from the workspace.\n    invitation_id: ID of the invitation to remove from the workspace.\n    user: The authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nRaises:\n    ValueError: If multiple or none of user_id, team_id, or invitation_id\n        are specified.\n    IllegalOperationError: If the user is the workspace owner.","operationId":"remove_workspace_member_endpoint_workspaces__workspace_id__members_delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"invitation_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/{workspace_id_or_name}/projects/{project_id}/members":{"get":{"tags":["workspaces"],"summary":"List Project Members Endpoint","description":"Endpoint to list project members.\n\nArgs:\n    workspace_id_or_name: ID or name of the workspace for which to list the\n        members.\n    project_id: ID of the project for which to list the members.\n    role_id: ID of the role to filter by.\n    include_teams: Include teams in the result.\n    include_users: Include users in the result.\n    include_service_accounts: Include service accounts in the result.\n    include_invitations: Include invitations in the result.\n    user: The authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nReturns:\n    List of project members.","operationId":"list_project_members_endpoint_workspaces__workspace_id_or_name__projects__project_id__members_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id_or_name","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Workspace Id Or Name"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}},{"name":"role_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Role Id"}},{"name":"include_users","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Users"}},{"name":"include_service_accounts","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Service Accounts"}},{"name":"include_teams","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Teams"}},{"name":"include_invitations","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Invitations"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberRead"},"title":"Response List Project Members Endpoint Workspaces  Workspace Id Or Name  Projects  Project Id  Members Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["workspaces"],"summary":"Remove Project Member Endpoint","description":"Endpoint to remove a member from a project.\n\nArgs:\n    workspace_id_or_name: ID or name of the workspace.\n    project_id: ID of the project from which to remove the user.\n    user_id: ID of the user to remove from the project.\n    team_id: ID of the team to remove from the project.\n    invitation_id: ID of the invitation to remove from the project.\n    user: The authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nRaises:\n    ValueError: If multiple or none of user_id, team_id, or invitation_id\n        are specified.","operationId":"remove_project_member_endpoint_workspaces__workspace_id_or_name__projects__project_id__members_delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id_or_name","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Workspace Id Or Name"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"invitation_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspaces/validation/workspace_name/{workspace_name}":{"get":{"tags":["workspaces"],"summary":"Validate Workspace Name Endpoint","description":"Endpoint to validate a workspace name.\n\nArgs:\n    workspace_name: Workspace name to validate.\n    workspace_manager: Workspace manager\n\nReturns:\n    Whether the workspace name is valid.","operationId":"validate_workspace_name_endpoint_workspaces_validation_workspace_name__workspace_name__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_name","in":"path","required":true,"schema":{"type":"string","title":"Workspace Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Validate Workspace Name Endpoint Workspaces Validation Workspace Name  Workspace Name  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/workspace_status":{"patch":{"tags":["workspaces"],"summary":"Workspace Status Update Endpoint","description":"Endpoint used to update the internal status of an existing workspace.\n\nArgs:\n    request: HTTP request.\n    workspace_update: Workspace status update model.\n    tenant_id: Deprecated, use workspace_id instead.\n    workspace_id: ID of the workspace to update. Only required for internal\n        services that are not authenticated with a workspace session token.\n    auth_context: Auth context.\n    workspace_manager: Workspace manager.\n\nRaises:\n    IllegalOperationError: If the user lacks permission to call this\n        endpoint.\n    ValueError: If the workspace update or workspace ID are required but not\n        provided.\n\nReturns:\n    Model of the updated workspace or None if the workspace was deleted.","operationId":"workspace_status_update_endpoint_workspace_status_patch","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"tenant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Tenant Id"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceStatusUpdate"},{"type":"null"}],"title":"Workspace Update"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceRead"},{"type":"null"}],"title":"Response Workspace Status Update Endpoint Workspace Status Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users":{"get":{"tags":["users"],"summary":"List Users Endpoint","description":"List users.\n\nArgs:\n    offset: Offset for pagination\n    limit: Limit for pagination\n    user_id: Filter by user ID\n    oauth_provider: Filter by OAuth provider\n    oauth_id: Filter by OAuth ID\n    email: Filter by email\n    is_active: Filter by active status\n    user: Authorized user\n    user_manager: User manager\n\nReturns:\n    List of users matching the filter criteria","operationId":"list_users_endpoint_users_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","lte":100,"default":100,"title":"Limit"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"oauth_provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oauth Provider"}},{"name":"oauth_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oauth Id"}},{"name":"email","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserRead"},"title":"Response List Users Endpoint Users Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/authorize_server":{"get":{"tags":["users"],"summary":"Authorize Server User","description":"Authorize a Cloud user to access a ZenML server.\n\nThis endpoint is called by workspace ZenML servers and possibly other\nauthorized workspace-level services to validate that they have permissions\nto access a ZenML Pro workspace. This is also the endpoint called in the\nsecond phase of the workspace authorization flow for web clients.\n\nArgs:\n    request: The HTTP request\n    server_id: ZenML server ID\n    auth_context: Authentication context\n    workspace_manager: Workspace manager\n\nReturns:\n    The currently authenticated user.\n\nRaises:\n    IllegalOperationError: If a workspace authorization token is used that\n        was not issued for the given workspace.","operationId":"authorize_server_user_users_authorize_server_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"server_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"Server Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/me":{"get":{"tags":["users"],"summary":"Get Current User Endpoint","description":"Get the currently authenticated user.\n\nArgs:\n    user: Authenticated user\n\nReturns:\n    The currently authenticated user.","operationId":"get_current_user_endpoint_users_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}}},"security":[{"OAuth2ComboScheme":[]}]},"patch":{"tags":["users"],"summary":"Update Current User Endpoint","description":"Update the currently authenticated user.\n\nArgs:\n    user_update: User update\n    user: Authenticated user\n    user_manager: User manager\n\nReturns:\n    The updated user.\n\nRaises:\n    ValueError: If the user is internal, service account, or the username is\n        the admin username.","operationId":"update_current_user_endpoint_users_me_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2ComboScheme":[]}]}},"/users/me/api_keys":{"get":{"tags":["users"],"summary":"List User Api Keys Endpoint","description":"List API keys for the current user.\n\nArgs:\n    offset: Offset for pagination\n    limit: Limit for pagination\n    name: Filter by name\n    is_active: Filter by active status\n    user: Authorized user\n    user_manager: User manager\n\nReturns:\n    List of API keys matching the filter criteria\n\nRaises:\n    IllegalOperationError: If the user is a service account.","operationId":"list_user_api_keys_endpoint_users_me_api_keys_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","lte":100,"default":100,"title":"Limit"}},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/APIKeyRead"},"title":"Response List User Api Keys Endpoint Users Me Api Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["users"],"summary":"Create User Api Key Endpoint","description":"Create an API key for the current user.\n\nArgs:\n    api_key_create: API key create\n    user: Authorized user\n    user_manager: User manager\n\nReturns:\n    The created API key.\n\nRaises:\n    IllegalOperationError: If the user is a service account.","operationId":"create_user_api_key_endpoint_users_me_api_keys_post","security":[{"OAuth2ComboScheme":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/me/api_keys/{api_key_name_or_id}":{"get":{"tags":["users"],"summary":"Get User Api Key Endpoint","description":"Get an API key for the current user.\n\nArgs:\n    api_key_name_or_id: API key name or ID\n    user: Authorized user\n    user_manager: User manager\n\nReturns:\n    The API key.\n\nRaises:\n    IllegalOperationError: If the user is a service account.","operationId":"get_user_api_key_endpoint_users_me_api_keys__api_key_name_or_id__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"api_key_name_or_id","in":"path","required":true,"schema":{"type":"string","title":"Api Key Name Or Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["users"],"summary":"Update User Api Key Endpoint","description":"Update an API key for the current user.\n\nArgs:\n    api_key_name_or_id: API key name or ID\n    api_key_update: API key update\n    user: Authorized user\n    user_manager: User manager\n\nReturns:\n    The updated API key.\n\nRaises:\n    IllegalOperationError: If the user is a service account.","operationId":"update_user_api_key_endpoint_users_me_api_keys__api_key_name_or_id__patch","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"api_key_name_or_id","in":"path","required":true,"schema":{"type":"string","title":"Api Key Name Or Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["users"],"summary":"Delete User Api Key Endpoint","description":"Delete an API key for the current user.\n\nArgs:\n    api_key_name_or_id: API key name or ID\n    user: Authorized user\n    user_manager: User manager\n\nRaises:\n    IllegalOperationError: If the user is a service account.","operationId":"delete_user_api_key_endpoint_users_me_api_keys__api_key_name_or_id__delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"api_key_name_or_id","in":"path","required":true,"schema":{"type":"string","title":"Api Key Name Or Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/me/api_keys/{api_key_name_or_id}/rotate":{"put":{"tags":["users"],"summary":"Rotate User Api Key Endpoint","description":"Rotate an API key for the current user.\n\nArgs:\n    api_key_name_or_id: API key name or ID\n    api_key_rotate: API key rotation request\n    user: Authorized user\n    user_manager: User manager\n\nReturns:\n    The rotated API key.\n\nRaises:\n    IllegalOperationError: If the user is a service account.","operationId":"rotate_user_api_key_endpoint_users_me_api_keys__api_key_name_or_id__rotate_put","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"api_key_name_or_id","in":"path","required":true,"schema":{"type":"string","title":"Api Key Name Or Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRotate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/{user_id_or_username}":{"get":{"tags":["users"],"summary":"Get User Endpoint","description":"Get a user.\n\nArgs:\n    user_id_or_username: User ID or username\n    authorized_user: Authenticated user\n    user_manager: User manager\n\nReturns:\n    The user with the given ID.\n\nRaises:\n    IllegalOperationError: If the user is not allowed to access other users.","operationId":"get_user_endpoint_users__user_id_or_username__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"user_id_or_username","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"User Id Or Username"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/{user_id}":{"patch":{"tags":["users"],"summary":"Update User Endpoint","description":"Update a user.\n\nArgs:\n    user_id: User ID\n    user_update: User update\n    user: Authenticated user\n    user_manager: User manager\n\nReturns:\n    The updated user.\n\nRaises:\n    IllegalOperationError: If the operation is not allowed or the user does not\n        exist.","operationId":"update_user_endpoint_users__user_id__patch","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["users"],"summary":"Delete User Endpoint","description":"Delete a user.\n\nArgs:\n    user_id: User ID to delete\n    user: Authenticated user\n    user_manager: User manager\n    workspace_manager: Workspace manager\n    organization_manager: Organization manager\n\nRaises:\n    ValueError: If the user is internal.\n    IllegalOperationError: If the operation is not allowed.","operationId":"delete_user_endpoint_users__user_id__delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invitations/{invitation_id}":{"get":{"tags":["invitations"],"summary":"Get Invitation Endpoint","description":"Get a pending invitation.\n\nArgs:\n    invitation_id: ID of the invitation.\n    user: The authenticated user.\n    invitation_manager: Invitation manager.\n\nReturns:\n    The pending invitation.","operationId":"get_invitation_endpoint_invitations__invitation_id__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendingInvitation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["invitations"],"summary":"Respond To Invitation Endpoint","description":"Accept or decline a pending invitation.\n\nArgs:\n    invitation_id: ID of the invitation.\n    accept: Whether to accept the invitation or not.\n    user: The authenticated user.\n    invitation_manager: Invitation manager.\n\nReturns:\n    ID of the organization if the invitation was accepted.","operationId":"respond_to_invitation_endpoint_invitations__invitation_id__post","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invitation Id"}},{"name":"accept","in":"query","required":true,"schema":{"type":"boolean","title":"Accept"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Response Respond To Invitation Endpoint Invitations  Invitation Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invitations":{"get":{"tags":["invitations"],"summary":"List Pending Invitations Endpoint","description":"List pending invitations for the authenticated user.\n\nArgs:\n    user: The authenticated user.\n    invitation_manager: Invitation manager.\n\nReturns:\n    List of pending invitations.","operationId":"list_pending_invitations_endpoint_invitations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PendingInvitation"},"type":"array","title":"Response List Pending Invitations Endpoint Invitations Get"}}}}},"security":[{"OAuth2ComboScheme":[]}]}},"/releases":{"get":{"tags":["release"],"summary":"List Releases Endpoint","description":"List all available releases.\n\nArgs:\n    release_service: Service for which to list releases.\n\nReturns:\n    A read model of the release.","operationId":"list_releases_endpoint_releases_get","parameters":[{"name":"release_service","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ReleaseService"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReleaseBase"},"title":"Response List Releases Endpoint Releases Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/releases/{release_service}":{"get":{"tags":["release"],"summary":"Get Release Endpoint","description":"Get a specific or latest release.\n\nArgs:\n    release_service: Service for which to get the release for.\n    version: Specific version to fetch the release for. If not\n        specified, the latest release will be returned.\n\nReturns:\n    Specific or latest release for service type.","operationId":"get_release_endpoint_releases__release_service__get","parameters":[{"name":"release_service","in":"path","required":true,"schema":{"$ref":"#/components/schemas/ReleaseService"}},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseBase"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/login":{"post":{"tags":["auth"],"summary":"Oauth:Login","description":"Authenticates the user and returns an access token.\n\nThis endpoint supports two grant types:\n\n* standard OAuth2 password grant type - only supported for the admin user\nand only available if the admin account is enabled\n* standard OAuth2 device authorization grant type\n\nArgs:\n    request: The request object.\n    response: The response object.\n    auth_form_data: The authentication form data.\n    user_manager: The user manager.\n    workspace_manager: The workspace manager.\n\nReturns:\n    An admin access token.\n\nRaises:\n    ValueError: If the grant type is invalid.","operationId":"oauth_login_auth_login_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_oauth_login_auth_login_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuth2LoginResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/connections":{"get":{"tags":["auth"],"summary":"Connections","description":"List all available active Auth0 connections.\n\nThe returned list explicitly excludes enterprise connections to not\ninadvertently leak sensitive information.\n\nReturns:\n    List of available and active Auth0 connections.","operationId":"connections_auth_connections_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Auth0Connection"},"type":"array","title":"Response Connections Auth Connections Get"}}}}}}},"/auth/authorize":{"get":{"tags":["auth"],"summary":"Oauth:Openid.Authorize","description":"Implements the authorize endpoint that returns the Oauth2 login url.\n\nArgs:\n    request: The user request\n    connection_type: The particular connection type to use. If provided,\n        the rest of the arguments are used to determine which Auth0\n        connection to use, otherwise they are ignored and the default OAuth2\n        login flow is started. If set to `Auth0ConnectionType.SOCIAL`, the\n        `connection` argument must be provided. If set to\n        `Auth0ConnectionType.DATABASE` or `Auth0ConnectionType.ENTERPRISE`,\n        the `email` argument must be provided.\n    connection: The Auth0 connection to use. Only used if `connection_type`\n        is set to `Auth0ConnectionType.SOCIAL` to choose the social\n        Auth0 connection to use.\n    email: The email to use for login. Only used if `connection_type`\n        is set to `Auth0ConnectionType.DATABASE` or\n        `Auth0ConnectionType.ENTERPRISE` to choose the Auth0 enterprise\n        connection to use and/or to pre-fill the email field in the login\n        form.\n\nReturns:\n    The Url to start the login flow.\n\nRaises:\n    HTTPException: 400 if the connection name is not provided or if the\n        connection type is invalid, 403 if the connection is not enabled\n        or if there is no active connection configured for the given email\n        domain.","operationId":"oauth_openid_authorize_auth_authorize_get","parameters":[{"name":"connection_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Auth0ConnectionType"},{"type":"null"}],"title":"Connection Type"}},{"name":"connection","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Connection"}},{"name":"email","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuth2AuthorizeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/callback":{"get":{"tags":["auth"],"summary":"Oauth:Openid.Callback","description":"The callback endpoint that gets the OAuth2 authorization code grant response.\n\nArgs:\n    response: The response object\n    tokens: The authorization state token, ID token and access\n        token\n    user_manager: The User Manager to use\n\nReturns:\n    An OAuth2 login response with the JWT session token.\n\nRaises:\n    AuthorizationException: If the user could not be authenticated.","operationId":"oauth_openid_callback_auth_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"code_verifier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code Verifier"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuth2LoginResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/logout":{"post":{"tags":["auth"],"summary":"Oauth:Logout","description":"Logs out the user.\n\nArgs:\n    request: The request object.\n    response: The response object.\n    user: The authorized user.\n\nReturns:\n    The logout response.","operationId":"oauth_logout_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuth2LogoutResponse"}}}}},"security":[{"OAuth2ComboScheme":[]}]}},"/auth/device_authorization":{"post":{"tags":["auth"],"summary":"Device Authorization","description":"OAuth2 device authorization endpoint.\n\nThis endpoint implements the first step of the OAuth2 device authorization\ngrant flow as defined in https://tools.ietf.org/html/rfc8628. It is called\nto initiate the device authorization flow by requesting a device and user\ncode for a given client ID.\n\nA new OAuth device is created in PENDING state, stored in the DB and\nreturned to the client along with a pair of newly generated device and user\ncodes that are set to expire after a certain time.\n\nThe client may pass an existing OAuth device ID, if it has previously ran\nthe device authorization flow before and it was already assigned a device\nfor the same client ID. In this case, the existing device entry is reused\nand new device and user codes are generated.\n\nArgs:\n    request: The request object.\n    client_id: The client ID.\n    device_id: The device ID, if the device is already registered.\n    user_manager: The user manager.\n\nReturns:\n    The device authorization response.","operationId":"device_authorization_auth_device_authorization_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_device_authorization_auth_device_authorization_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthDeviceAuthorizationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/api_token":{"get":{"tags":["auth"],"summary":"Api Token","description":"Generate an API token for the current user.\n\nUse this endpoint to generate a short-lived API token for the current user\nthat can be used for generic automation tasks.\n\nArgs:\n    auth_context: The authentication context.\n\nReturns:\n    The API token.","operationId":"api_token_auth_api_token_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"string","title":"Response Api Token Auth Api Token Get"}}}}},"security":[{"OAuth2ComboScheme":[]}]}},"/auth/tenant_authorization/{workspace_id}":{"post":{"tags":["auth"],"summary":"Workspace Authorization","description":"Authorize an external service to access a ZenML workspace.\n\nThis is the first phase in the workspace authorization flow for web clients:\n\n* the web client sends a request to this endpoint to initiate an\nauthorization flow\n* the user credentials are passed along in the HTTP-only authentication\ncookie\n* if the user is authorized to access the ZenML workspace, a one-time\nshort-lived authorization token linked to the user and workspace is generated\nand returned to the client\n* in the second phase, the external service calls the Cloud API using the\none-time workspace authorization token to confirm the user's access to the\nworkspace\n\nArgs:\n    workspace_id: The workspace ID.\n    auth_context: Authentication context\n    workspace_manager: Workspace manager\n    user_manager: User manager\n\nReturns:\n    A workspace authorization token.","operationId":"workspace_authorization_auth_tenant_authorization__workspace_id__post","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuth2LoginResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/workspace_authorization/{workspace_id}":{"post":{"tags":["auth"],"summary":"Workspace Authorization","description":"Authorize an external service to access a ZenML workspace.\n\nThis is the first phase in the workspace authorization flow for web clients:\n\n* the web client sends a request to this endpoint to initiate an\nauthorization flow\n* the user credentials are passed along in the HTTP-only authentication\ncookie\n* if the user is authorized to access the ZenML workspace, a one-time\nshort-lived authorization token linked to the user and workspace is generated\nand returned to the client\n* in the second phase, the external service calls the Cloud API using the\none-time workspace authorization token to confirm the user's access to the\nworkspace\n\nArgs:\n    workspace_id: The workspace ID.\n    auth_context: Authentication context\n    workspace_manager: Workspace manager\n    user_manager: User manager\n\nReturns:\n    A workspace authorization token.","operationId":"workspace_authorization_auth_workspace_authorization__workspace_id__post","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuth2LoginResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/devices":{"get":{"tags":["auth"],"summary":"List Authorized Devices","description":"Gets a list of active OAuth2 authorized devices belonging to a user.\n\nArgs:\n    offset: Offset for pagination.\n    limit: Limit for pagination.\n    user: The authorized user.\n    user_manager: The user manager.\n\nReturns:\n    List of OAuth2 authorized device objects.","operationId":"list_authorized_devices_devices_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","lte":100,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OAuthDeviceRead"},"title":"Response List Authorized Devices Devices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/devices/{device_id_or_user_code}":{"get":{"tags":["auth"],"summary":"Get Authorization Device","description":"Gets a specific OAuth2 authorized device using its unique ID.\n\nArgs:\n    device_id_or_user_code: The ID or user code of the OAuth2 authorized\n        device to get.\n    user: The authorized user.\n    user_manager: The user manager.\n\nReturns:\n    A specific OAuth2 authorized device object.\n\nRaises:\n    OAuthDeviceNotFound: If the device with the given ID does not exist,\n        does not belong to the current user or could not be verified using\n        the given user code.","operationId":"get_authorization_device_devices__device_id_or_user_code__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"device_id_or_user_code","in":"path","required":true,"schema":{"type":"string","title":"Device Id Or User Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthDeviceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/devices/verify":{"put":{"tags":["auth"],"summary":"Verify Authorized Device","description":"Verifies an OAuth2 authorized device using its unique user code.\n\nThis endpoint implements the web user authorization step in the OAuth2\ndevice authorization grant flow as defined in\nhttps://tools.ietf.org/html/rfc8628. It is called from the dashboard to\nverify an OAuth device using its user code.\n\nThe request is expected to contain at least the user code. Optionally,\nthe trusted device flag can be set to indicate that the device is trusted\nand will not require a re-verification in the near future. Additionally,\nthe dashboard may set metadata fields to store additional information about\nthe device that will be passed to the client at the end of the device\nauthorization flow (e.g. a default workspace ID to be pre-selected).\n\nIf the user code is valid, the device is marked as verified and associated\nwith the user that authorized the device. This association is required to\nbe able to issue access tokens or revoke the device later on. The user code\nis invalidated and cannot be used for further authorizations.\n\nArgs:\n    request: The model containing the verification request.\n    user: The authorized user.\n    user_manager: The user manager.\n\nReturns:\n    The updated OAuth2 authorized device object.","operationId":"verify_authorized_device_devices_verify_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthDeviceVerificationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthDeviceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2ComboScheme":[]}]}},"/devices/{device_id}":{"put":{"tags":["auth"],"summary":"Update Authorized Device","description":"Updates a specific OAuth2 authorized device using its unique ID.\n\nArgs:\n    device_id: The ID of the OAuth2 authorized device to update.\n    update: The model containing the attributes to update.\n    user: The authorized user.\n    user_manager: The user manager.\n\nReturns:\n    The updated OAuth2 authorized device object.\n\nRaises:\n    OAuthDeviceNotFound: If the device with the given ID does not exist or\n        does not belong to the current user.","operationId":"update_authorized_device_devices__device_id__put","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Device Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthDeviceUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthDeviceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["auth"],"summary":"Delete Authorized Device","description":"Deletes a specific OAuth2 authorized device using its unique ID.\n\nArgs:\n    device_id: The ID of the OAuth2 authorized device to delete.\n    user: The authorized user.\n    user_manager: The user manager.\n\nRaises:\n    OAuthDeviceNotFound: If the device with the given ID does not exist or\n        does not belong to the current user.","operationId":"delete_authorized_device_devices__device_id__delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"device_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Device Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles":{"post":{"tags":["roles"],"summary":"Create Role Endpoint","description":"Endpoint to create a role.\n\nArgs:\n    role: The role to create.\n    user: The authenticated user.\n    rbac: RBAC component.\n\nRaises:\n    IllegalOperationError: If the role is an organization role.\n    IllegalOperationError: If the role has no permissions.\n\nReturns:\n    The created role.","operationId":"create_role_endpoint_roles_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2ComboScheme":[]}]}},"/roles/{role_id}":{"get":{"tags":["roles"],"summary":"Get Role Endpoint","description":"Endpoint to get a role.\n\nArgs:\n    role_id: ID of the role to get.\n    user: The authenticated user.\n    rbac: RBAC component.\n\nReturns:\n    The role.","operationId":"get_role_endpoint_roles__role_id__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Role Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["roles"],"summary":"Update Role Endpoint","description":"Endpoint to update a role.\n\nArgs:\n    role_id: ID of the role to update.\n    update: The role update.\n    user: The authenticated user.\n    rbac: RBAC component.\n\nRaises:\n    IllegalOperationError: If the role has no permissions.\n\nReturns:\n    The updated role.","operationId":"update_role_endpoint_roles__role_id__patch","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Role Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["roles"],"summary":"Delete Role Endpoint","description":"Endpoint to delete a role.\n\nArgs:\n    role_id: ID of the role to delete.\n    user: The authenticated user.\n    rbac: RBAC component.\n\nRaises:\n    IllegalOperationError: If the role is system managed.","operationId":"delete_role_endpoint_roles__role_id__delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Role Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/{role_id}/permissions":{"get":{"tags":["roles"],"summary":"List Role Permissions Endpoint","description":"Endpoint to list the permissions of a role.\n\nArgs:\n    role_id: ID of the role to list permissions for.\n    user: The authenticated user.\n    rbac: RBAC component.\n\nReturns:\n    The permissions of the role.","operationId":"list_role_permissions_endpoint_roles__role_id__permissions_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Role Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Permission-Output"},"title":"Response List Role Permissions Endpoint Roles  Role Id  Permissions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/roles/{role_id}/assignments":{"get":{"tags":["roles"],"summary":"List Role Assignments Endpoint","description":"Endpoint to list role assignments.\n\nArgs:\n    role_id: ID of the role for which to list assignments.\n    workspace_id: ID of the workspace for which to list assignments.\n    project_id: ID of the project for which to list assignments.\n    user: The authenticated user.\n    rbac: RBAC component.\n\nReturns:\n    The users and teams that have this role assigned to them.","operationId":"list_role_assignments_endpoint_roles__role_id__assignments_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Role Id"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleAssignmentRead"},"title":"Response List Role Assignments Endpoint Roles  Role Id  Assignments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["roles"],"summary":"Assign Role Endpoint","description":"Endpoint to assign a role.\n\nArgs:\n    role_id: ID of the role to assign.\n    user_id: ID of the user to assign the role to.\n    team_id: ID of the team to assign the role to.\n    invitation_id: ID of the invitation to assign the role to.\n    workspace_id: ID of the workspace to assign the role to.\n    project_id: ID of the project to assign the role to.\n    user: The authenticated user.\n    rbac: RBAC component.\n    organization_manager: Organization manager.\n\nReturns:\n    Model of the created role assignment.\n\nRaises:\n    ValueError: If both or None of user_id and team_id are specified.\n    ValueError: If project_id is specified but workspace_id is not.\n    IllegalOperationError: If the user/team and role are not part of the\n        same organization.\n    IllegalOperationError: If the role can't be assigned at the given scope.\n    IllegalOperationError: If the role is a share role.","operationId":"assign_role_endpoint_roles__role_id__assignments_post","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Role Id"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"invitation_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invitation Id"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleAssignmentRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["roles"],"summary":"Revoke Role Endpoint","description":"Endpoint to revoke a role.\n\nArgs:\n    role_id: ID of the role to revoke.\n    user_id: ID of the user to revoke the role from.\n    team_id: ID of the team to revoke the role from.\n    invitation_id: ID of the invitation to revoke the role from.\n    workspace_id: ID of the workspace to revoke the role from.\n    project_id: ID of the project to revoke the role from.\n    user: The authenticated user.\n    rbac: RBAC component.\n    organization_manager: Organization manager.\n\nRaises:\n    IllegalOperationError: If trying to revoke the admin role of an\n        organization owner or the last assigned role of any organization\n        member.","operationId":"revoke_role_endpoint_roles__role_id__assignments_delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"role_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Role Id"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"invitation_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invitation Id"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}},{"name":"project_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/permissions":{"get":{"tags":["permissions"],"summary":"Public Has Permission Endpoint","description":"Public endpoint to check if the user has certain permissions.\n\nArgs:\n    resource: The resource the user wants to perform the action on.\n    action: The action the user wants to perform on the resource.\n    user: The authenticated user.\n    rbac: RBAC component.\n\nReturns:\n    Whether the user has permissions to perform the action on that resource.","operationId":"public_has_permission_endpoint_permissions_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"resource","in":"query","required":true,"schema":{"type":"string","title":"Resource"}},{"name":"action","in":"query","required":true,"schema":{"type":"string","title":"Action"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Public Has Permission Endpoint Permissions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/check_permissions":{"get":{"tags":["rbac"],"summary":"Has Permission Endpoint","description":"Endpoint to check if a user has permissions to act on resources.\n\nArgs:\n    user_id: ID of the user for which to check the permissions.\n    action: The action the user wants to perform on the resources.\n    resources: The resources the user wants to perform the action on.\n    auth_context: The authentication context.\n    rbac: RBAC component.\n\nReturns:\n    A dictionary mapping resources to a boolean which indicates whether\n    the user has permissions to perform the action on that resource.","operationId":"has_permission_endpoint_rbac_check_permissions_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}},{"name":"action","in":"query","required":true,"schema":{"type":"string","title":"Action"}},{"name":"resources","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"title":"Resources"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Has Permission Endpoint Rbac Check Permissions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["rbac"],"summary":"Has Permission Endpoint V2","description":"Endpoint to check if a user has permissions to act on resources.\n\nArgs:\n    user_id: ID of the user for which to check the permissions.\n    action: The action the user wants to perform on the resources.\n    resources: The resources the user wants to perform the action on.\n    auth_context: The authentication context.\n    rbac: RBAC component.\n\nReturns:\n    A dictionary mapping resources to a boolean which indicates whether\n    the user has permissions to perform the action on that resource.","operationId":"has_permission_endpoint_v2_rbac_check_permissions_post","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}},{"name":"action","in":"query","required":true,"schema":{"type":"string","title":"Action"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"title":"Resources"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"boolean"},"title":"Response Has Permission Endpoint V2 Rbac Check Permissions Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/allowed_resource_ids":{"get":{"tags":["rbac"],"summary":"Allowed Resource Ids Endpoint","description":"Endpoint to get allowed resource IDs.\n\nArgs:\n    user_id: ID of the user for which to get the allowed resource ids.\n    resource: The resource for which to get the IDs.\n    action: The action for which to get the IDs.\n    auth_context: The authentication context.\n    rbac: RBAC component.\n\nReturns:\n    A dictionary containing the allowed IDs and a boolean which specifies\n    whether the user has full access to the resource.","operationId":"allowed_resource_ids_endpoint_rbac_allowed_resource_ids_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}},{"name":"resource","in":"query","required":true,"schema":{"type":"string","title":"Resource"}},{"name":"action","in":"query","required":true,"schema":{"type":"string","title":"Action"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Allowed Resource Ids Endpoint Rbac Allowed Resource Ids Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/resources":{"delete":{"tags":["rbac"],"summary":"Delete Resources Endpoint","description":"Endpoint to delete resources.\n\nArgs:\n    resources: The resources to delete.\n    auth_context: The authentication context.\n    rbac: RBAC component.\n\nRaises:\n    ValueError: If the resource is missing an ID.","operationId":"delete_resources_endpoint_rbac_resources_delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"resources","in":"query","required":false,"schema":{"type":"array","items":{"type":"string"},"title":"Resources"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rbac/resource_members":{"get":{"tags":["rbac"],"summary":"List Resource Members Endpoint","description":"Endpoint to list resource members.\n\nArgs:\n    resource: The resource for which to get the members.\n    user: The authenticated user.\n    rbac: RBAC component.\n    db: DB session.\n\nReturns:\n    List of resource members.\n\nRaises:\n    ValueError: If the resource is missing an ID or workspace scope.","operationId":"list_resource_members_endpoint_rbac_resource_members_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"resource","in":"query","required":true,"schema":{"type":"string","title":"Resource"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ResourceMemberRead"},"title":"Response List Resource Members Endpoint Rbac Resource Members Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["rbac"],"summary":"Update Resource Membership Endpoint","description":"Endpoint to add resource members.\n\nArgs:\n    user_id: ID of the user to add as resource member.\n    team_id: ID of the team to add as resource member.\n    sharing_user_id: ID of the user that is sharing the resource.\n    resource: The resource for which to get the members.\n    actions: Actions that the user should be able to perform on the\n        resource.\n    auth_context: The authentication context.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n    user_manager: User manager.\n    db: DB session.\n\nRaises:\n    IllegalOperationError: If the user is not an internal user.\n    ValueError: If the resource is missing an ID or workspace scope.","operationId":"update_resource_membership_endpoint_rbac_resource_members_post","security":[{"OAuth2ComboScheme":[]}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_resource_membership_endpoint_rbac_resource_members_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/teams":{"post":{"tags":["teams"],"summary":"Create Team Endpoint","description":"Endpoint to create a team.\n\nArgs:\n    team: The team to create.\n    user: The authenticated user.\n    rbac: RBAC component.\n    db: The DB session.\n\nReturns:\n    Model of the created team.","operationId":"create_team_endpoint_teams_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2ComboScheme":[]}]}},"/teams/{team_id}":{"get":{"tags":["teams"],"summary":"Get Team Endpoint","description":"Endpoint to get a team.\n\nArgs:\n    team_id: ID of the team to get.\n    user: The authenticated user.\n    rbac: RBAC component.\n    db: The DB session.\n\nReturns:\n    Model of the team.","operationId":"get_team_endpoint_teams__team_id__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["teams"],"summary":"Update Team Endpoint","description":"Endpoint to update a team.\n\nArgs:\n    team_id: ID of the team to update.\n    update: The team update.\n    user: The authenticated user.\n    rbac: RBAC component.\n    db: The DB session.\n\nReturns:\n    Model of the updated team.","operationId":"update_team_endpoint_teams__team_id__patch","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["teams"],"summary":"Delete Team Endpoint","description":"Endpoint to delete a team.\n\nArgs:\n    team_id: ID of the team to delete.\n    user: The authenticated user.\n    rbac: RBAC component.\n    db: The DB session.","operationId":"delete_team_endpoint_teams__team_id__delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/teams/{team_id}/members":{"get":{"tags":["teams"],"summary":"List Team Members Endpoint","description":"Endpoint to list team members.\n\nArgs:\n    team_id: ID of the team for which to list the members.\n    user: The authenticated user.\n    rbac: RBAC component.\n    db: The DB session.\n\nReturns:\n    List of team members.","operationId":"list_team_members_endpoint_teams__team_id__members_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TeamAssignmentRead"},"title":"Response List Team Members Endpoint Teams  Team Id  Members Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["teams"],"summary":"Add Team Member Endpoint","description":"Endpoint to add a team member.\n\nArgs:\n    team_id: ID of the team to which to add a member.\n    user_id: ID of the user to add to the team.\n    invitation_id: ID of the invitation to add to the team.\n    user: The authenticated user.\n    rbac: RBAC component.\n    db: The DB session.\n    organization_manager: Organization manager.\n\nRaises:\n    ValueError: If both or None of user_id and invitation_id are specified.\n    IllegalOperationError: If the user/invitation is not part of the\n        teams organization.","operationId":"add_team_member_endpoint_teams__team_id__members_post","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"invitation_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["teams"],"summary":"Remove Team Member Endpoint","description":"Endpoint to remove a member from a team.\n\nArgs:\n    team_id: ID of the team from which to remove the user.\n    user_id: ID of the user to remove from the team.\n    invitation_id: ID of the invitation to remove from the team.\n    user: The authenticated user.\n    rbac: RBAC component.\n    db: The DB session.\n\nRaises:\n    ValueError: If both or None of user_id and invitation_id are specified.","operationId":"remove_team_member_endpoint_teams__team_id__members_delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"team_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Team Id"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"invitation_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations":{"post":{"tags":["organizations"],"summary":"Create Organization Endpoint","description":"Endpoint to create an organization.\n\nArgs:\n    organization: The organization to create.\n    user: The authenticated user.\n    rbac: RBAC component.\n    organization_manager: Organization manager\n\nRaises:\n    IllegalOperationError: If the user is not allowed to create an\n        organization for another user or to set sensitive user fields.\n        Also raised if the user is a service account.\n    OrganizationLimitExceeded: If the user already has an organization.\n\nReturns:\n    Model of the created organization.","operationId":"create_organization_endpoint_organizations_post","security":[{"OAuth2ComboScheme":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["organizations"],"summary":"List Organizations Endpoint","description":"Endpoint to list organizations.\n\nArgs:\n    name: Filter by organization name.\n    offset: Query offset.\n    limit: Query limit.\n    auth_context: The authentication context.\n    rbac: RBAC component.\n    organization_manager: Organization manager\n    owner_id: Id of the Organization owner\n    owner_username: Username of the Organization owner\n\nReturns:\n    List of organization models.","operationId":"list_organizations_endpoint_organizations_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","lte":100,"default":100,"title":"Limit"}},{"name":"owner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Id"}},{"name":"owner_username","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Username"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OrganizationRead"},"title":"Response List Organizations Endpoint Organizations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id_or_name}":{"get":{"tags":["organizations"],"summary":"Get Organization Endpoint","description":"Endpoint to get an organization.\n\nArgs:\n    organization_id_or_name: ID or name of the organization to get.\n    include_subscription_status: Whether to include the subscription status of the org\n    auth_context: The authentication context.\n    rbac: RBAC component.\n    organization_manager: Organization manager\n\nReturns:\n    Model of the organization.","operationId":"get_organization_endpoint_organizations__organization_id_or_name__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id_or_name","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Organization Id Or Name"}},{"name":"include_subscription_status","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Subscription Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}":{"patch":{"tags":["organizations"],"summary":"Update Organization Endpoint","description":"Endpoint to update an organization.\n\nArgs:\n    organization_id: ID of the organization to update.\n    update: The organization update.\n    user: The authenticated user.\n    rbac: RBAC component.\n    organization_manager: Organization manager\n    user_manager: User manager\n\nReturns:\n    Model of the updated organization.\n\nRaises:\n    IllegalOperationError: If the user does not have permissions to update\n        the organization.","operationId":"update_organization_endpoint_organizations__organization_id__patch","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["organizations"],"summary":"Delete Organization Endpoint","description":"Endpoint to delete an organization.\n\nArgs:\n    organization_id: ID of the organization to delete.\n    user: The authenticated user.\n    organization_manager: Organization manager\n\nRaises:\n    IllegalOperationError: If the user does not have permissions to delete\n        the organization.","operationId":"delete_organization_endpoint_organizations__organization_id__delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/trial":{"get":{"tags":["organizations"],"summary":"Is Org On Trial Endpoint","description":"Get subscription plan for a specific organization.\n\nArgs:\n    organization_id: The organization id\n    auth_context: The authentication context\n    rbac: The RBAC component\n    organization_manager: The organization manager\n\nReturns:\n    bool: True if the organization is on trial, False otherwise.","operationId":"is_org_on_trial_endpoint_organizations__organization_id__trial_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Is Org On Trial Endpoint Organizations  Organization Id  Trial Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/invitations":{"post":{"tags":["organizations"],"summary":"Create Organization Invitation Endpoint","description":"Create an invitation for the organization.\n\nArgs:\n    organization_id: ID of the organization.\n    invitation: The invitation to create.\n    user: The authenticated user.\n    rbac: RBAC component.\n    invitation_manager: Invitation manager.\n\nRaises:\n    RoleNotFound: If the role does not exist or does not belong to the\n        organization.\n    ValueError: If the invitation role is not an organization role.\n\nReturns:\n    The invitation.","operationId":"create_organization_invitation_endpoint_organizations__organization_id__invitations_post","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["organizations"],"summary":"List Organization Invitations Endpoint","description":"List invitations for the organization.\n\nArgs:\n    organization_id: The organization ID.\n    inviting_user_id: Filter by the ID of the inviting user.\n    email: Filter by the email.\n    only_pending: If True, only include pending invitations.\n    user: The authenticated user.\n    rbac: RBAC component.\n    invitation_manager: Invitation manager.\n\nReturns:\n    List of invitations.","operationId":"list_organization_invitations_endpoint_organizations__organization_id__invitations_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"inviting_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Inviting User Id"}},{"name":"email","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"}},{"name":"only_pending","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Only Pending"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/InvitationRead"},"title":"Response List Organization Invitations Endpoint Organizations  Organization Id  Invitations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/invitations/{invitation_id}":{"delete":{"tags":["organizations"],"summary":"Delete Organization Invitation Endpoint","description":"Delete an invitation.\n\nArgs:\n    organization_id: The ID of the organization,\n    invitation_id: ID of the invitation to delete.\n    user: The authenticated user.\n    rbac: RBAC component.\n    invitation_manager: Invitation manager.","operationId":"delete_organization_invitation_endpoint_organizations__organization_id__invitations__invitation_id__delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"invitation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/members":{"get":{"tags":["organizations"],"summary":"List Organization Members Endpoint","description":"Endpoint to list organization members.\n\nArgs:\n    organization_id: ID of the organization for which to list the members.\n    role_id: ID of the role to filter by.\n    include_teams: Include teams in the result.\n    include_users: Include users in the result.\n    include_service_accounts: Include service accounts in the result.\n    include_invitations: Include invitations in the result.\n    user: The authenticated user.\n    rbac: RBAC component.\n    organization_manager: Organization manager\n\nReturns:\n    List of organization members.","operationId":"list_organization_members_endpoint_organizations__organization_id__members_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"role_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Role Id"}},{"name":"include_users","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Users"}},{"name":"include_service_accounts","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Service Accounts"}},{"name":"include_teams","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Teams"}},{"name":"include_invitations","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Invitations"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberRead"},"title":"Response List Organization Members Endpoint Organizations  Organization Id  Members Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["organizations"],"summary":"Remove Organization Member Endpoint","description":"Endpoint to remove a member from an organization.\n\nArgs:\n    organization_id: ID of the organization from which to remove the user.\n    user_id: ID of the user to remove from the organization.\n    user: The authenticated user.\n    rbac: RBAC component.\n    organization_manager: Organization manager.\n    user_manager: User manager.\n\nRaises:\n    IllegalOperationError: If the member is a service account.","operationId":"remove_organization_member_endpoint_organizations__organization_id__members_delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/roles":{"get":{"tags":["organizations"],"summary":"List Organization Roles Endpoint","description":"Endpoint to list roles of an organization.\n\nArgs:\n    organization_id: Organization id.\n    name: Name of the role to filter by.\n    user_id: User ID to filter by.\n    team_id: Team ID to filter by.\n    resource: Resource to filter by.\n    action: Action to filter by.\n    system_managed: Filter by the system managed property.\n    type: Type of the role to filter by.\n    level: Level of the role to filter by.\n    assigned_to_current_user: If True, only include roles assigned to the\n        current user.\n    workspace_scope: Scope at which the role is assigned.\n    project_scope: Scope at which the role is assigned.\n    offset: Offset for pagination.\n    limit: Limit for pagination.\n    user: Authenticated user.\n    rbac: RBAC component.\n\nRaises:\n    ValueError: If both `user_id` and `assigned_to_current_user` are set.\n\nReturns:\n    List of all roles matching the given filters.","operationId":"list_organization_roles_endpoint_organizations__organization_id__roles_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"resource","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource"}},{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"name":"system_managed","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"System Managed"}},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/RoleType"},{"type":"null"}],"default":"normal","title":"Type"}},{"name":"level","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/ScopeLevel"}},{"type":"null"}],"title":"Level"}},{"name":"assigned_to_current_user","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Assigned To Current User"}},{"name":"workspace_scope","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Scope"}},{"name":"project_scope","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Scope"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleRead"},"title":"Response List Organization Roles Endpoint Organizations  Organization Id  Roles Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/teams":{"get":{"tags":["organizations"],"summary":"List Organization Teams Endpoint","description":"Endpoint to list teams of an organization.\n\nArgs:\n    organization_id: Organization ID.\n    name: Name of the team to filter by.\n    offset: Offset for pagination.\n    limit: Limit for pagination.\n    user: Authenticated user.\n    rbac: RBAC component.\n    db: Async db session.\n\nReturns:\n    List of all teams matching the given filters.","operationId":"list_organization_teams_endpoint_organizations__organization_id__teams_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TeamRead"},"title":"Response List Organization Teams Endpoint Organizations  Organization Id  Teams Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/workspaces":{"get":{"tags":["organizations"],"summary":"List Organization Workspaces Endpoint","description":"Endpoint to list workspaces of an organization.\n\nArgs:\n    organization_id: Organization ID.\n    status: Filter for only workspaces with this status.\n    offset: Offset for pagination.\n    limit: Limit for pagination.\n    auth_context: The authentication context.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nReturns:\n    List of all workspaces matching the given filters.","operationId":"list_organization_workspaces_endpoint_organizations__organization_id__workspaces_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceStatus"},{"type":"null"}],"title":"Status"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceRead"},"title":"Response List Organization Workspaces Endpoint Organizations  Organization Id  Workspaces Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/tenants":{"get":{"tags":["organizations"],"summary":"List Organization Workspaces Endpoint","description":"Endpoint to list workspaces of an organization.\n\nArgs:\n    organization_id: Organization ID.\n    status: Filter for only workspaces with this status.\n    offset: Offset for pagination.\n    limit: Limit for pagination.\n    auth_context: The authentication context.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nReturns:\n    List of all workspaces matching the given filters.","operationId":"list_organization_workspaces_endpoint_organizations__organization_id__tenants_get","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceStatus"},{"type":"null"}],"title":"Status"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceRead"},"title":"Response List Organization Workspaces Endpoint Organizations  Organization Id  Tenants Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/workspaces/{workspace_name}":{"get":{"tags":["organizations"],"summary":"Get Organization Workspace Endpoint","description":"Endpoint to get a workspace of an organization.\n\nArgs:\n    organization_id: Organization ID.\n    workspace_name: Name of the workspace.\n    auth_context: The authentication context.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nRaises:\n    WorkspaceNotFound: If the workspace is not found.\n\nReturns:\n    The workspace.","operationId":"get_organization_workspace_endpoint_organizations__organization_id__workspaces__workspace_name__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"workspace_name","in":"path","required":true,"schema":{"type":"string","title":"Workspace Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/tenant/{workspace_name}":{"get":{"tags":["organizations"],"summary":"Get Organization Workspace Endpoint","description":"Endpoint to get a workspace of an organization.\n\nArgs:\n    organization_id: Organization ID.\n    workspace_name: Name of the workspace.\n    auth_context: The authentication context.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nRaises:\n    WorkspaceNotFound: If the workspace is not found.\n\nReturns:\n    The workspace.","operationId":"get_organization_workspace_endpoint_organizations__organization_id__tenant__workspace_name__get","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"workspace_name","in":"path","required":true,"schema":{"type":"string","title":"Workspace Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/validation/name/{organization_name}":{"get":{"tags":["organizations"],"summary":"Validate Organization Name Endpoint","description":"Endpoint to validate an organization name.\n\nArgs:\n    organization_name: Organization name to validate.\n    organization_manager: Organization manager\n\nReturns:\n    Whether the organization name is valid.","operationId":"validate_organization_name_endpoint_organizations_validation_name__organization_name__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_name","in":"path","required":true,"schema":{"type":"string","title":"Organization Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Validate Organization Name Endpoint Organizations Validation Name  Organization Name  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/service_accounts":{"get":{"tags":["organizations"],"summary":"List Service Accounts Endpoint","description":"List service accounts.\n\nArgs:\n    organization_id: Organization ID\n    offset: Offset for pagination\n    limit: Limit for pagination\n    service_account_id: Filter by service account ID\n    username: Filter by username\n    email: Filter by email\n    is_active: Filter by active status\n    user: Authorized user\n    user_manager: User manager\n    rbac: RBAC component.\n\nReturns:\n    List of service accounts matching the filter criteria","operationId":"list_service_accounts_endpoint_organizations__organization_id__service_accounts_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","lte":100,"default":100,"title":"Limit"}},{"name":"service_account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Service Account Id"}},{"name":"username","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"}},{"name":"email","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceAccountRead"},"title":"Response List Service Accounts Endpoint Organizations  Organization Id  Service Accounts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["organizations"],"summary":"Create Service Account Endpoint","description":"Create a service account.\n\nArgs:\n    organization_id: The organization ID\n    service_account_create: The service account to create\n    user: The user creating the service account\n    rbac: The RBAC component\n    user_manager: The user manager\n    organization_manager: The organization manager\n\nReturns:\n    The created user.\n\nRaises:\n    IllegalOperationError: If a service account tries to create another\n        service account.","operationId":"create_service_account_endpoint_organizations__organization_id__service_accounts_post","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/service_accounts/{service_account_id_or_username}":{"get":{"tags":["organizations"],"summary":"Get Service Account Endpoint","description":"Get a service account.\n\nArgs:\n    organization_id: Organization ID.\n    service_account_id_or_username: Service account ID or username.\n    authorized_user: Authenticated user\n    user_manager: User manager\n    rbac: RBAC component.\n\nReturns:\n    The service account with the given ID.","operationId":"get_service_account_endpoint_organizations__organization_id__service_accounts__service_account_id_or_username__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"service_account_id_or_username","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Service Account Id Or Username"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["organizations"],"summary":"Update Service Account Endpoint","description":"Update a service account.\n\nArgs:\n    organization_id: Organization ID.\n    service_account_id_or_username: Service account ID or username.\n    service_account_update: Service account update\n    user: Authenticated user\n    user_manager: User manager\n    rbac: RBAC component.\n\nReturns:\n    The updated service account.","operationId":"update_service_account_endpoint_organizations__organization_id__service_accounts__service_account_id_or_username__patch","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"service_account_id_or_username","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Service Account Id Or Username"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceAccountRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["organizations"],"summary":"Delete Service Account Endpoint","description":"Delete a user.\n\nArgs:\n    organization_id: Organization ID.\n    service_account_id_or_username: Service account ID or username.\n    user: Authenticated user\n    user_manager: User manager\n    workspace_manager: Workspace manager\n    rbac: RBAC component.\n\nRaises:\n    IllegalOperationError: If a service account tries to delete another\n        service account.\n    ValueError: If the service account is still associated with any\n        workspaces.","operationId":"delete_service_account_endpoint_organizations__organization_id__service_accounts__service_account_id_or_username__delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"service_account_id_or_username","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Service Account Id Or Username"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/service_accounts/{service_account_id_or_username}/api_keys":{"get":{"tags":["organizations"],"summary":"List Service Account Api Keys Endpoint","description":"List API keys for a service account.\n\nArgs:\n    organization_id: Organization ID.\n    service_account_id_or_username: Service account ID or username\n    offset: Offset for pagination\n    limit: Limit for pagination\n    name: Filter by name\n    is_active: Filter by active status\n    user: Authorized user\n    user_manager: User manager\n    rbac: RBAC component.\n\nReturns:\n    List of API keys matching the filter criteria","operationId":"list_service_account_api_keys_endpoint_organizations__organization_id__service_accounts__service_account_id_or_username__api_keys_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"service_account_id_or_username","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Service Account Id Or Username"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","lte":100,"default":100,"title":"Limit"}},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/APIKeyRead"},"title":"Response List Service Account Api Keys Endpoint Organizations  Organization Id  Service Accounts  Service Account Id Or Username  Api Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["organizations"],"summary":"Create Service Account Api Key Endpoint","description":"Create an API key for a service account.\n\nArgs:\n    organization_id: Organization ID.\n    service_account_id_or_username: Service account ID or username\n    api_key_create: API key create\n    user: Authorized user\n    user_manager: User manager\n    rbac: RBAC component.\n\nReturns:\n    The created API key.\n\nRaises:\n    IllegalOperationError: If a service account is used to create an API\n        key.","operationId":"create_service_account_api_key_endpoint_organizations__organization_id__service_accounts__service_account_id_or_username__api_keys_post","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"service_account_id_or_username","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Service Account Id Or Username"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/service_accounts/{service_account_id_or_username}/api_keys/{api_key_name_or_id}":{"get":{"tags":["organizations"],"summary":"Get Service Account Api Key Endpoint","description":"Get an API key for a service account.\n\nArgs:\n    organization_id: Organization ID.\n    service_account_id_or_username: Service account ID or username\n    api_key_name_or_id: API key name or ID\n    user: Authorized user\n    user_manager: User manager\n    rbac: RBAC component.\n\nReturns:\n    The API key.","operationId":"get_service_account_api_key_endpoint_organizations__organization_id__service_accounts__service_account_id_or_username__api_keys__api_key_name_or_id__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"service_account_id_or_username","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Service Account Id Or Username"}},{"name":"api_key_name_or_id","in":"path","required":true,"schema":{"type":"string","title":"Api Key Name Or Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["organizations"],"summary":"Update Service Account Api Key Endpoint","description":"Update an API key for a service account.\n\nArgs:\n    organization_id: Organization ID.\n    service_account_id_or_username: Service account ID or username\n    api_key_name_or_id: API key name or ID\n    api_key_update: API key update\n    user: Authorized user\n    user_manager: User manager\n    rbac: RBAC component.\n\nReturns:\n    The updated API key.\n\nRaises:\n    IllegalOperationError: If a service account is used to update an API\n        key.","operationId":"update_service_account_api_key_endpoint_organizations__organization_id__service_accounts__service_account_id_or_username__api_keys__api_key_name_or_id__patch","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"service_account_id_or_username","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Service Account Id Or Username"}},{"name":"api_key_name_or_id","in":"path","required":true,"schema":{"type":"string","title":"Api Key Name Or Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["organizations"],"summary":"Delete Service Account Api Key Endpoint","description":"Delete an API key for a service account.\n\nArgs:\n    organization_id: Organization ID.\n    service_account_id_or_username: Service account ID or username\n    api_key_name_or_id: API key name or ID\n    user: Authorized user\n    user_manager: User manager\n    rbac: RBAC component.","operationId":"delete_service_account_api_key_endpoint_organizations__organization_id__service_accounts__service_account_id_or_username__api_keys__api_key_name_or_id__delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"service_account_id_or_username","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Service Account Id Or Username"}},{"name":"api_key_name_or_id","in":"path","required":true,"schema":{"type":"string","title":"Api Key Name Or Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/organizations/{organization_id}/service_accounts/{service_account_id_or_username}/api_keys/{api_key_name_or_id}/rotate":{"put":{"tags":["organizations"],"summary":"Rotate Service Account Api Key Endpoint","description":"Rotate an API key for a service account.\n\nArgs:\n    organization_id: Organization ID.\n    service_account_id_or_username: Service account ID or username\n    api_key_name_or_id: API key name or ID\n    api_key_rotate: API key rotation request\n    user: Authorized user\n    user_manager: User manager\n    rbac: RBAC component.\n\nReturns:\n    The rotated API key.\n\nRaises:\n    IllegalOperationError: If a service account is used to rotate an API\n        key.","operationId":"rotate_service_account_api_key_endpoint_organizations__organization_id__service_accounts__service_account_id_or_username__api_keys__api_key_name_or_id__rotate_put","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"service_account_id_or_username","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Service Account Id Or Username"}},{"name":"api_key_name_or_id","in":"path","required":true,"schema":{"type":"string","title":"Api Key Name Or Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRotate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"tags":["health"],"summary":"Health","description":"Endpoint functioning as health and liveness check.\n\nArgs:\n    db: AsyncSession to interact with the database.\n\nReturns:\n    The status of the healthcheck.\n\nRaises:\n    HTTPException: If the database health check fails.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Health Health Get"}}}}}}},"/server/info":{"get":{"tags":["server"],"summary":"Server Info","description":"Get information about the server.\n\nReturns:\n    Information about the server.","operationId":"server_info_server_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerModel"}}}}}}},"/usage-event":{"post":{"tags":["pricing"],"summary":"Report Usage Increment","description":"Report usage as raw events or state updates.\n\nArgs:\n    usage: Report of the usage of a feature.\n    auth_context: The authentication context.\n    organization_manager: The organization manager\n    workspace_manager: The workspace manager\n\nRaises:\n    IllegalOperationError: If the user is not internal.","operationId":"report_usage_increment_usage_event_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RawUsageEvent"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2ComboScheme":[]}]}},"/usage-batch":{"post":{"tags":["pricing"],"summary":"Batch Usage Endpoint","description":"Endpoint to sync usage.\n\nArgs:\n    usage: Dictionary of the usage. Maps workspace ID to a dictionary of\n        features and their usage counts.\n    background_tasks: FastAPI background tasks.\n    auth_context: The authentication context.\n    workspace_manager: The workspace manager.\n\nRaises:\n    IllegalOperationError: If usage is reported for an incorrect workspace.","operationId":"batch_usage_endpoint_usage_batch_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{"additionalProperties":{"type":"integer"},"type":"object"},"propertyNames":{"format":"uuid"},"type":"object","title":"Usage"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2ComboScheme":[]}]}},"/organizations/{organization_id}/entitlement/{feature}":{"get":{"tags":["pricing"],"summary":"Get Entitlement","description":"Get entitlement for a specific feature.\n\nArgs:\n    organization_id: The organization id\n    feature: The name of the feature\n    auth_context: The authentication context\n    rbac: The RBAC component\n    organization_manager: The organization manager\n\nRaises:\n    IllegalOperationError: If the user is not internal.","operationId":"get_entitlement_organizations__organization_id__entitlement__feature__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Organization Id"}},{"name":"feature","in":"path","required":true,"schema":{"type":"string","title":"Feature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tenants":{"post":{"tags":["tenants"],"summary":"Create Workspace Endpoint","description":"Create or enroll a workspace.\n\nArgs:\n    workspace_create: Workspace create model.\n    organization_id: ID of the organization to which the workspace belongs\n        to.\n    force: If it should be created regardless of workspace limits.\n    enroll: Set if this is an unmanaged workspace that is being enrolled.\n    name: Name of the workspace.\n    description: Description of the workspace.\n    rbac: RBAC component.\n    auth_context: Auth context.\n    workspace_manager: Workspace manager.\n    organization_manager: Organization manager.\n\nReturns:\n    Model of the created workspace.\n\nRaises:\n    IllegalOperationError: If the operation is not allowed.","operationId":"create_workspace_endpoint_tenants_post","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"organization_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Organization Id"}},{"name":"name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},{"name":"description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}},{"name":"enroll","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Enroll"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceCreate"},{"type":"null"}],"title":"Workspace Create"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["tenants"],"summary":"List Workspaces Endpoint","description":"Endpoint to list workspaces.\n\nOnly superusers can list all workspaces, without membership.\n\nArgs:\n    tenant_id: Deprecated, use workspace_id instead.\n    tenant_name: Deprecated, use workspace_name instead.\n    workspace_id: Workspace ID to filter by.\n    workspace_name: Workspace name to filter by.\n    url: Workspace service URL to filter by.\n    organization_id: Organization ID to filter by.\n    status: Filter by workspace status.\n    is_managed: Filter by whether the workspace is managed by ZenML Pro.\n    owner_id: Id of the Workspace owner\n    offset: Offset for pagination.\n    limit: Limit for pagination.\n    auth_context: Auth context.\n    workspace_manager: Workspace manager.\n    organization_manager: Organization manager.\n    rbac: RBAC component.\n\nReturns:\n    List of all workspaces within the given filter params.\n\nRaises:\n    IllegalOperationError: If the operation is not allowed.","operationId":"list_workspaces_endpoint_tenants_get","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"tenant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Tenant Id"}},{"name":"tenant_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tenant Name"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}},{"name":"workspace_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Name"}},{"name":"url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},{"name":"organization_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Organization Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceStatus"},{"type":"null"}],"title":"Status"}},{"name":"is_managed","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Managed"}},{"name":"owner_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Id"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceRead"},"title":"Response List Workspaces Endpoint Tenants Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["tenants"],"summary":"Delete All Workspaces Endpoint","description":"Delete all workspaces.\n\nArgs:\n    user: Authenticated user.\n    workspace_manager: Workspace manager.\n\nRaises:\n    IllegalOperationError: If a regular user tries to force delete or if\n        the operation is not allowed in the current environment.","operationId":"delete_all_workspaces_endpoint_tenants_delete","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tenants/{workspace_id_or_name}":{"get":{"tags":["tenants"],"summary":"Get Workspace Endpoint","description":"Get a workspace by ID or name.\n\nArgs:\n    workspace_id_or_name: ID or name of the workspace to get.\n    auth_context: Auth context.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nReturns:\n    Model of the workspace.\n\nRaises:\n    IllegalOperationError: If the operation is not allowed.","operationId":"get_workspace_endpoint_tenants__workspace_id_or_name__get","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id_or_name","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Workspace Id Or Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tenants/{workspace_id}/deploy":{"patch":{"tags":["tenants"],"summary":"Deploy Workspace Endpoint","description":"Lets the caller deploy a specific workspace.\n\nArgs:\n    workspace_id: ID of the workspace to get.\n    user: Authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nReturns:\n    Updated workspace.\n\nRaises:\n    EntityConflictError: If the workspace is already deployed.","operationId":"deploy_workspace_endpoint_tenants__workspace_id__deploy_patch","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tenants/{workspace_id}/deactivate":{"patch":{"tags":["tenants"],"summary":"Deactivate Workspace Endpoint","description":"Deactivate a workspace.\n\nArgs:\n    workspace_id: ID of the workspace to deactivate.\n    user: Authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nReturns:\n    Model of the deactivated workspace.\n\nRaises:\n    EntityConflictError: If the workspace is not in a state that can be\n        deactivated.","operationId":"deactivate_workspace_endpoint_tenants__workspace_id__deactivate_patch","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tenants/{workspace_id}":{"patch":{"tags":["tenants"],"summary":"Update Workspace Endpoint","description":"Update a workspace.\n\nArgs:\n    workspace_id: ID of the workspace to update.\n    workspace_update: Workspace update.\n    force: If the workspace resources should be updated even if there are\n        no changes in the configuration.\n    auth_context: Auth context.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n    organization_manager: Organization manager.\n\nReturns:\n    Model of the updated workspace.\n\nRaises:\n    IllegalOperationError: If a regular user tries to update admin\n        configuration attributes.\n    IllegalOperationError: If trying to update the workspace owner to a user\n        which is not a member of the organization.\n    IllegalOperationError: If a regular user tries to update the workspace\n        to an older ZenML version.","operationId":"update_workspace_endpoint_tenants__workspace_id__patch","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["tenants"],"summary":"Delete Workspace Endpoint","description":"Delete a workspace.\n\nArgs:\n    workspace_id: ID of the workspace to delete.\n    force: If it should be force deleted regardless of\n        orphaned infrastructure resources.\n    user: Authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n    codespace_manager: Codespace manager.\n\nReturns:\n    Model of the deleted workspace.\n\nRaises:\n    IllegalOperationError: If a regular user tries to force delete.","operationId":"delete_workspace_endpoint_tenants__workspace_id__delete","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tenants/{workspace_id_or_name}/members":{"get":{"tags":["tenants"],"summary":"List Workspace Members Endpoint","description":"Endpoint to list workspace members.\n\nArgs:\n    workspace_id_or_name: ID or name of the workspace for which to list the\n        members.\n    role_id: ID of the role to filter by.\n    current_user_only: Only list the membership of the current user.\n    include_teams: Include teams in the result.\n    include_users: Include users in the result.\n    include_service_accounts: Include service accounts in the result.\n    include_invitations: Include invitations in the result.\n    user: The authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nReturns:\n    List of workspace members.","operationId":"list_workspace_members_endpoint_tenants__workspace_id_or_name__members_get","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id_or_name","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Workspace Id Or Name"}},{"name":"role_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Role Id"}},{"name":"current_user_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Current User Only"}},{"name":"include_users","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Users"}},{"name":"include_service_accounts","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Service Accounts"}},{"name":"include_teams","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Teams"}},{"name":"include_invitations","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Invitations"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberRead"},"title":"Response List Workspace Members Endpoint Tenants  Workspace Id Or Name  Members Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tenants/{workspace_id}/members":{"delete":{"tags":["tenants"],"summary":"Remove Workspace Member Endpoint","description":"Endpoint to remove a member from a workspace.\n\nArgs:\n    workspace_id: ID of the workspace from which to remove the user.\n    user_id: ID of the user to remove from the workspace.\n    team_id: ID of the team to remove from the workspace.\n    invitation_id: ID of the invitation to remove from the workspace.\n    user: The authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nRaises:\n    ValueError: If multiple or none of user_id, team_id, or invitation_id\n        are specified.\n    IllegalOperationError: If the user is the workspace owner.","operationId":"remove_workspace_member_endpoint_tenants__workspace_id__members_delete","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"invitation_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tenants/{workspace_id_or_name}/projects/{project_id}/members":{"get":{"tags":["tenants"],"summary":"List Project Members Endpoint","description":"Endpoint to list project members.\n\nArgs:\n    workspace_id_or_name: ID or name of the workspace for which to list the\n        members.\n    project_id: ID of the project for which to list the members.\n    role_id: ID of the role to filter by.\n    include_teams: Include teams in the result.\n    include_users: Include users in the result.\n    include_service_accounts: Include service accounts in the result.\n    include_invitations: Include invitations in the result.\n    user: The authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nReturns:\n    List of project members.","operationId":"list_project_members_endpoint_tenants__workspace_id_or_name__projects__project_id__members_get","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id_or_name","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Workspace Id Or Name"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}},{"name":"role_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Role Id"}},{"name":"include_users","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Users"}},{"name":"include_service_accounts","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Service Accounts"}},{"name":"include_teams","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Teams"}},{"name":"include_invitations","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Invitations"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MemberRead"},"title":"Response List Project Members Endpoint Tenants  Workspace Id Or Name  Projects  Project Id  Members Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["tenants"],"summary":"Remove Project Member Endpoint","description":"Endpoint to remove a member from a project.\n\nArgs:\n    workspace_id_or_name: ID or name of the workspace.\n    project_id: ID of the project from which to remove the user.\n    user_id: ID of the user to remove from the project.\n    team_id: ID of the team to remove from the project.\n    invitation_id: ID of the invitation to remove from the project.\n    user: The authenticated user.\n    rbac: RBAC component.\n    workspace_manager: Workspace manager.\n\nRaises:\n    ValueError: If multiple or none of user_id, team_id, or invitation_id\n        are specified.","operationId":"remove_project_member_endpoint_tenants__workspace_id_or_name__projects__project_id__members_delete","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id_or_name","in":"path","required":true,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"string"}],"title":"Workspace Id Or Name"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Project Id"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"}},{"name":"invitation_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Invitation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tenants/validation/workspace_name/{workspace_name}":{"get":{"tags":["tenants"],"summary":"Validate Workspace Name Endpoint","description":"Endpoint to validate a workspace name.\n\nArgs:\n    workspace_name: Workspace name to validate.\n    workspace_manager: Workspace manager\n\nReturns:\n    Whether the workspace name is valid.","operationId":"validate_workspace_name_endpoint_tenants_validation_workspace_name__workspace_name__get","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_name","in":"path","required":true,"schema":{"type":"string","title":"Workspace Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"boolean","title":"Response Validate Workspace Name Endpoint Tenants Validation Workspace Name  Workspace Name  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tenant_status":{"patch":{"tags":["tenants"],"summary":"Workspace Status Update Endpoint","description":"Endpoint used to update the internal status of an existing workspace.\n\nArgs:\n    request: HTTP request.\n    workspace_update: Workspace status update model.\n    tenant_id: Deprecated, use workspace_id instead.\n    workspace_id: ID of the workspace to update. Only required for internal\n        services that are not authenticated with a workspace session token.\n    auth_context: Auth context.\n    workspace_manager: Workspace manager.\n\nRaises:\n    IllegalOperationError: If the user lacks permission to call this\n        endpoint.\n    ValueError: If the workspace update or workspace ID are required but not\n        provided.\n\nReturns:\n    Model of the updated workspace or None if the workspace was deleted.","operationId":"workspace_status_update_endpoint_tenant_status_patch","deprecated":true,"security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"tenant_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Tenant Id"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceStatusUpdate"},{"type":"null"}],"title":"Workspace Update"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceRead"},{"type":"null"}],"title":"Response Workspace Status Update Endpoint Tenant Status Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/codespaces":{"post":{"tags":["codespaces","codespaces"],"summary":"Create Codespace","description":"Main endpoint to initiate codespace creation.\n\nArgs:\n    codespace: The codespace creation request.\n    user: The authenticated user.\n    workspace_manager: The workspace manager.\n    codespace_manager: The codespace manager.\n\nReturns:\n    The created codespace.\n\nRaises:\n    IllegalOperationError: If the user is not authorized to create a codespace.\n    CodespaceException: If the ZenML store URL and version are not found for the workspace.","operationId":"create_codespace_codespaces_post","security":[{"OAuth2ComboScheme":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodespaceCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodespaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["codespaces","codespaces"],"summary":"List Codespaces","description":"Fetches all codespaces associated with the authenticated user.\n\nArgs:\n    workspace_id: The ID of the workspace to filter codespaces by.\n    template_id: The ID of the template to filter codespaces by.\n    codespace_manager: The codespace manager.\n    user: The authenticated user.\n\nReturns:\n    A list of codespace models.","operationId":"list_codespaces_codespaces_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}},{"name":"template_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CodespaceRead"},"title":"Response List Codespaces Codespaces Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/codespaces/{codespace_id}":{"get":{"tags":["codespaces","codespaces"],"summary":"Get Codespace","description":"Fetches details for a specific codespace and schedules a background status sync.\n\nArgs:\n    codespace_id: The ID of the codespace to fetch details for.\n    background_tasks: FastAPI background tasks runner.\n    user: The authenticated user.\n    codespace_manager: The codespace manager.\n\nReturns:\n    A CodespaceRead object containing the codespace details.","operationId":"get_codespace_codespaces__codespace_id__get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"codespace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Codespace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodespaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["codespaces","codespaces"],"summary":"Delete Codespace","description":"Cancels a running codespace in provider (if applicable) and deletes it from the database.\n\nArgs:\n    codespace_id: The ID of the codespace to delete.\n    user: The authenticated user.\n    codespace_manager: The codespace manager.\n\nRaises:\n    CodespaceNotFound: If the codespace is not found or not owned by the user.\n    CodespaceException: If an unexpected error occurs while deleting the codespace.","operationId":"delete_codespace_codespaces__codespace_id__delete","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"codespace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Codespace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/codespaces/{codespace_id}/status":{"get":{"tags":["codespaces","codespaces"],"summary":"Get Codespace Status","description":"Fetches the status of a specific codespace.\n\nArgs:\n    codespace_id: The ID of the codespace to fetch status for.\n    user: The authenticated user.\n    codespace_manager: The codespace manager.\n\nReturns:\n    The status of the codespace.","operationId":"get_codespace_status_codespaces__codespace_id__status_get","security":[{"OAuth2ComboScheme":[]}],"parameters":[{"name":"codespace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Codespace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodespaceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/stigg-webhook":{"post":{"tags":["pricing"],"summary":"Stigg Webhook","description":"Stigg webhook.\n\nArgs:\n    request: The request.\n    background_tasks: FastAPI background tasks.\n    stigg_webhooks_secret: The stigg secret value from the headers.\n    organization_manager: The organization manager.\n\nRaises:\n    ValueError: If the stigg secret is invalid or missing.","operationId":"stigg_webhook_stigg_webhook_post","parameters":[{"name":"stigg-webhooks-secret","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stigg-Webhooks-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"APIKeyCreate":{"properties":{"name":{"type":"string","maxLength":50,"minLength":1,"title":"The name of the API Key."},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"The description of the API Key."},"expires_in_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"The number of minutes after which the API key is set to expire."}},"type":"object","required":["name"],"title":"APIKeyCreate","description":"Request model for API keys."},"APIKeyRead":{"properties":{"id":{"type":"string","format":"uuid","title":"The unique API key id."},"created":{"type":"string","format":"date-time","title":"The creation date of the API key."},"updated":{"type":"string","format":"date-time","title":"The last update date of the API key."},"name":{"type":"string","maxLength":50,"minLength":1,"title":"The name of the API Key."},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The API key. Only set immediately after creation or rotation."},"is_active":{"type":"boolean","title":"Whether the API key is active.","default":true},"account":{"$ref":"#/components/schemas/UserRead","title":"The account associated with this API key."},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"The description of the API Key."},"retain_period_minutes":{"type":"integer","title":"Number of minutes for which the previous key is still valid after it has been rotated."},"last_login":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time when the API key was last used to log in."},"last_rotated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time when the API key was last rotated."},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"The expiration date and time of the API key."}},"type":"object","required":["id","created","updated","name","account","retain_period_minutes"],"title":"APIKeyRead","description":"Read model for API keys."},"APIKeyRotate":{"properties":{"retain_period_minutes":{"type":"integer","title":"Number of minutes for which the previous key is still valid after it has been rotated.","default":0},"expires_in_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"The number of minutes after which the new API key is set to expire."}},"type":"object","title":"APIKeyRotate","description":"Request model for API key rotation."},"APIKeyUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"New name for the API Key."},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"New description for the API Key."},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Whether the API key is active."}},"type":"object","title":"APIKeyUpdate","description":"Update model for API keys."},"AWSIAMRoleAuthConfig":{"properties":{"region":{"type":"string","title":"Region","description":"The AWS region where the secrets are stored."},"aws_access_key_id":{"type":"string","title":"Aws Access Key Id","description":"The AWS access key ID to use to authenticate."},"aws_secret_access_key":{"type":"string","title":"Aws Secret Access Key","description":"The AWS secret access key to use to authenticate."},"role_arn":{"type":"string","title":"Role Arn","description":"The AWS IAM role ARN to use to authenticate."}},"type":"object","required":["region","aws_access_key_id","aws_secret_access_key","role_arn"],"title":"AWSIAMRoleAuthConfig","description":"AWS IAM role authentication configuration.\n\nThis class reflects the attributes that can be configured for the\nAWS Service Connector IAM role authentication method."},"AWSIAMRoleAuthSettings":{"properties":{"auth_method":{"type":"string","const":"iam-role","title":"Auth Method","default":"iam-role"},"auth_config":{"anyOf":[{"$ref":"#/components/schemas/AWSIAMRoleAuthConfig"},{"type":"null"}],"description":"The service connector authentication configuration to use for the secrets store. Either this field or the auth_config_secret field must be set."},"auth_config_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Config Secret","description":"The ID of a secret containing the service connector authentication configuration to use for the secrets store. If this field is set, the auth_config field is ignored. The secret is expected to contain the same fields supported by the auth_config field."}},"type":"object","title":"AWSIAMRoleAuthSettings","description":"AWS IAM role authentication settings."},"AWSImplicitAuthConfig":{"properties":{"region":{"type":"string","title":"Region","description":"The AWS region where the secrets are stored."},"role_arn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Arn","description":"Optional AWS IAM role to assume."}},"type":"object","required":["region"],"title":"AWSImplicitAuthConfig","description":"AWS implicit authentication configuration.\n\nThis class reflects the attributes that can be configured for the\nAWS Service Connector implicit authentication method."},"AWSImplicitAuthSettings":{"properties":{"auth_method":{"type":"string","const":"implicit","title":"Auth Method","default":"implicit"},"auth_config":{"anyOf":[{"$ref":"#/components/schemas/AWSImplicitAuthConfig"},{"type":"null"}],"description":"The service connector authentication configuration to use for the secrets store. Either this field or the auth_config_secret field must be set."},"auth_config_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Config Secret","description":"The ID of a secret containing the service connector authentication configuration to use for the secrets store. If this field is set, the auth_config field is ignored. The secret is expected to contain the same fields supported by the auth_config field."}},"type":"object","title":"AWSImplicitAuthSettings","description":"AWS implicit authentication settings.\n\nThe implicit authentication method uses the AWS IAM role attached to\nthe service account running the ZenML server without requiring\nany additional configuration. This is only possible if the ZenML\nworkspace is running on AWS."},"AWSSecretKeyAuthConfig":{"properties":{"region":{"type":"string","title":"Region","description":"The AWS region where the secrets are stored."},"aws_access_key_id":{"type":"string","title":"Aws Access Key Id","description":"The AWS access key ID to use to authenticate."},"aws_secret_access_key":{"type":"string","title":"Aws Secret Access Key","description":"The AWS secret access key to use to authenticate."}},"type":"object","required":["region","aws_access_key_id","aws_secret_access_key"],"title":"AWSSecretKeyAuthConfig","description":"AWS secret key authentication configuration.\n\nThis class reflects the attributes that can be configured for the\nAWS Service Connector secret key authentication method."},"AWSSecretKeyAuthSettings":{"properties":{"auth_method":{"type":"string","const":"secret-key","title":"Auth Method","default":"secret-key"},"auth_config":{"anyOf":[{"$ref":"#/components/schemas/AWSSecretKeyAuthConfig"},{"type":"null"}],"description":"The service connector authentication configuration to use for the secrets store. Either this field or the auth_config_secret field must be set."},"auth_config_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Config Secret","description":"The ID of a secret containing the service connector authentication configuration to use for the secrets store. If this field is set, the auth_config field is ignored. The secret is expected to contain the same fields supported by the auth_config field."}},"type":"object","title":"AWSSecretKeyAuthSettings","description":"AWS secret key authentication settings."},"AWSSecretsStoreConfiguration-Input":{"properties":{"type":{"type":"string","const":"aws","title":"Type","default":"aws"},"settings":{"oneOf":[{"$ref":"#/components/schemas/AWSImplicitAuthSettings"},{"$ref":"#/components/schemas/AWSIAMRoleAuthSettings"},{"$ref":"#/components/schemas/AWSSecretKeyAuthSettings"}],"title":"Settings","description":"The authentication configuration to use for the secrets store.","discriminator":{"propertyName":"auth_method","mapping":{"iam-role":"#/components/schemas/AWSIAMRoleAuthSettings","implicit":"#/components/schemas/AWSImplicitAuthSettings","secret-key":"#/components/schemas/AWSSecretKeyAuthSettings"}}}},"type":"object","required":["settings"],"title":"AWSSecretsStoreConfiguration","description":"ZenML AWS secrets store configuration."},"AWSSecretsStoreConfiguration-Output":{"properties":{"type":{"type":"string","const":"aws","title":"Type","default":"aws"},"settings":{"oneOf":[{"$ref":"#/components/schemas/AWSImplicitAuthSettings"},{"$ref":"#/components/schemas/AWSIAMRoleAuthSettings"},{"$ref":"#/components/schemas/AWSSecretKeyAuthSettings"}],"title":"Settings","description":"The authentication configuration to use for the secrets store.","discriminator":{"propertyName":"auth_method","mapping":{"iam-role":"#/components/schemas/AWSIAMRoleAuthSettings","implicit":"#/components/schemas/AWSImplicitAuthSettings","secret-key":"#/components/schemas/AWSSecretKeyAuthSettings"}}}},"type":"object","required":["settings"],"title":"AWSSecretsStoreConfiguration","description":"ZenML AWS secrets store configuration."},"Auth0Connection":{"properties":{"name":{"type":"string","title":"Name"},"type":{"$ref":"#/components/schemas/Auth0ConnectionType"},"display_name":{"type":"string","title":"Display Name"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"domains":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Domains"},"enabled":{"type":"boolean","title":"Enabled","default":true}},"type":"object","required":["name","type","display_name"],"title":"Auth0Connection","description":"Auth0 connection configuration.\n\nAttributes:\n    name: The name of the connection.\n    type: The type of the connection. Must be one of the values in the\n        Auth0ConnectionType enum (i.e. \"enterprise\", \"social\" or\n        \"database\").\n    display_name: The display name of the connection. Only set for social\n        (i.e. non-enterprise) connections. If not present, the name is used\n        as the display name.\n    logo_url: The URL of the connection's logo. Only set for social\n        (i.e. non-enterprise) connections.\n    domains: The domains of the connection. Only set for enterprise\n        connections. Used to distinguish between different enterprise\n        connections based on the domains of the email address used to log\n        in.\n    enabled: Whether the connection is enabled. If set to False, the\n        connection will not be used for authentication."},"Auth0ConnectionType":{"type":"string","enum":["social","enterprise","database"],"title":"Auth0ConnectionType","description":"Enum for Auth0 connection types."},"AzureSecretsStoreConfiguration-Input":{"properties":{"type":{"type":"string","const":"azure","title":"Type","default":"azure"},"settings":{"$ref":"#/components/schemas/AzureServicePrincipalAuthSettings","description":"The authentication configuration to use for the secrets store."}},"additionalProperties":true,"type":"object","required":["settings"],"title":"AzureSecretsStoreConfiguration","description":"Azure secrets store configuration."},"AzureSecretsStoreConfiguration-Output":{"properties":{"type":{"type":"string","const":"azure","title":"Type","default":"azure"},"settings":{"$ref":"#/components/schemas/AzureServicePrincipalAuthSettings","description":"The authentication configuration to use for the secrets store."}},"additionalProperties":true,"type":"object","required":["settings"],"title":"AzureSecretsStoreConfiguration","description":"Azure secrets store configuration."},"AzureServicePrincipalAuthConfig":{"properties":{"azure_client_id":{"type":"string","title":"Azure Client Id","description":"The Azure client ID to use to authenticate."},"azure_client_secret":{"type":"string","title":"Azure Client Secret","description":"The Azure client secret to use to authenticate."},"azure_tenant_id":{"type":"string","title":"Azure Tenant Id","description":"The Azure tenant ID to use to authenticate."}},"type":"object","required":["azure_client_id","azure_client_secret","azure_tenant_id"],"title":"AzureServicePrincipalAuthConfig","description":"Azure service account configuration.\n\nThis class reflects the attributes that can be configured for the\nAzure Service Connector service principal authentication method."},"AzureServicePrincipalAuthSettings":{"properties":{"auth_method":{"type":"string","const":"service-principal","title":"Auth Method","default":"service-principal"},"auth_config":{"anyOf":[{"$ref":"#/components/schemas/AzureServicePrincipalAuthConfig"},{"type":"null"}],"description":"The service connector authentication configuration to use for the secrets store. Either this field or the auth_config_secret field must be set."},"auth_config_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Config Secret","description":"The ID of a secret containing the service connector authentication configuration to use for the secrets store. If this field is set, the auth_config field is ignored. The secret is expected to contain the same fields supported by the auth_config field."},"key_vault_name":{"type":"string","title":"Key Vault Name","description":"The name of the Azure Key Vault where the secrets are stored."}},"type":"object","required":["key_vault_name"],"title":"AzureServicePrincipalAuthSettings","description":"Azure service account settings."},"Body_device_authorization_auth_device_authorization_post":{"properties":{"client_id":{"type":"string","format":"uuid","title":"Client Id"},"device_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Device Id"}},"type":"object","required":["client_id"],"title":"Body_device_authorization_auth_device_authorization_post"},"Body_oauth_login_auth_login_post":{"properties":{"grant_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grant Type"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Secret"},"device_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Device Code"},"audience":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience"}},"type":"object","title":"Body_oauth_login_auth_login_post"},"Body_update_resource_membership_endpoint_rbac_resource_members_post":{"properties":{"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id"},"team_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Team Id"},"sharing_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Sharing User Id"},"resource":{"type":"string","title":"Resource"},"actions":{"items":{"type":"string"},"type":"array","title":"Actions"}},"type":"object","title":"Body_update_resource_membership_endpoint_rbac_resource_members_post"},"CodespaceCreate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Display name for the codespace"},"owner_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Id"},"template_id":{"type":"string","title":"Template Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"zenml_active_stack_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Zenml Active Stack Id","description":"The active stack ID for the codespace"},"zenml_active_project_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Zenml Active Project Id","description":"The active project ID for the codespace"},"zenml_store_api_key":{"type":"string","title":"Zenml Store Api Key"},"zenml_store_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zenml Store Url"},"zenml_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zenml Version"},"status":{"$ref":"#/components/schemas/CodespaceStatus","description":"The status of the codespace.","default":"Initiated"},"access_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"},"ide_type":{"anyOf":[{"type":"string","enum":["vscode","jupyter","both"]},{"type":"null"}],"title":"Ide Type","description":"The type of IDE to launch","default":"both"}},"type":"object","required":["template_id","workspace_id","zenml_store_api_key"],"title":"CodespaceCreate","description":"Request model to create a codespace."},"CodespaceRead":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"owner_id":{"type":"string","format":"uuid","title":"Owner Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"created":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created"},"updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated"},"provider_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider Id"},"template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id"},"status":{"anyOf":[{"$ref":"#/components/schemas/CodespaceStatus"},{"type":"null"}]},"uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uri"},"jupyter_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jupyter Uri"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"access_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"},"ide_type":{"anyOf":[{"type":"string","enum":["vscode","jupyter","both"]},{"type":"null"}],"title":"Ide Type","description":"The type of IDE launched","default":"both"}},"type":"object","required":["owner_id","workspace_id"],"title":"CodespaceRead","description":"Response model for codespace details."},"CodespaceStatus":{"type":"string","enum":["Initiated","Creating","Running","Stopped","Failed","Deleting"],"title":"CodespaceStatus","description":"Enum for codespace statuses."},"GCPExternalAccountAuthConfig":{"properties":{"project_id":{"type":"string","title":"Project Id","description":"GCP Project ID where the secrets are stored."},"external_account_json":{"anyOf":[{"type":"string"},{"additionalProperties":{"type":"string"},"type":"object"}],"title":"External Account Json","description":"The JSON content of the GCP external account file to use to authenticate. Can be passed in as a JSON string or a dictionary."}},"type":"object","required":["project_id","external_account_json"],"title":"GCPExternalAccountAuthConfig","description":"GCP external account configuration.\n\nThis class reflects the attributes that can be configured for the\nGCP Service Connector external account (workload identity) authentication\nmethod."},"GCPExternalAccountAuthSettings":{"properties":{"auth_method":{"type":"string","const":"external-account","title":"Auth Method","default":"external-account"},"auth_config":{"anyOf":[{"$ref":"#/components/schemas/GCPExternalAccountAuthConfig"},{"type":"null"}],"description":"The service connector authentication configuration to use for the secrets store. Either this field or the auth_config_secret field must be set."},"auth_config_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Config Secret","description":"The ID of a secret containing the service connector authentication configuration to use for the secrets store. If this field is set, the auth_config field is ignored. The secret is expected to contain the same fields supported by the auth_config field."}},"type":"object","title":"GCPExternalAccountAuthSettings","description":"GCP external account settings."},"GCPSecretsStoreConfiguration-Input":{"properties":{"type":{"type":"string","const":"gcp","title":"Type","default":"gcp"},"settings":{"oneOf":[{"$ref":"#/components/schemas/GCPServiceAccountAuthSettings"},{"$ref":"#/components/schemas/GCPExternalAccountAuthSettings"}],"title":"Settings","description":"The authentication configuration to use for the secrets store.","discriminator":{"propertyName":"auth_method","mapping":{"external-account":"#/components/schemas/GCPExternalAccountAuthSettings","service-account":"#/components/schemas/GCPServiceAccountAuthSettings"}}}},"type":"object","required":["settings"],"title":"GCPSecretsStoreConfiguration","description":"GCP secrets store configuration."},"GCPSecretsStoreConfiguration-Output":{"properties":{"type":{"type":"string","const":"gcp","title":"Type","default":"gcp"},"settings":{"oneOf":[{"$ref":"#/components/schemas/GCPServiceAccountAuthSettings"},{"$ref":"#/components/schemas/GCPExternalAccountAuthSettings"}],"title":"Settings","description":"The authentication configuration to use for the secrets store.","discriminator":{"propertyName":"auth_method","mapping":{"external-account":"#/components/schemas/GCPExternalAccountAuthSettings","service-account":"#/components/schemas/GCPServiceAccountAuthSettings"}}}},"type":"object","required":["settings"],"title":"GCPSecretsStoreConfiguration","description":"GCP secrets store configuration."},"GCPServiceAccountAuthConfig":{"properties":{"project_id":{"type":"string","title":"Project Id","description":"GCP Project ID where the secrets are stored."},"service_account_json":{"anyOf":[{"type":"string"},{"additionalProperties":{"type":"string"},"type":"object"}],"title":"Service Account Json","description":"The JSON content of the GCP service account file to use to authenticate. Can be passed in as a JSON string or a dictionary."}},"type":"object","required":["project_id","service_account_json"],"title":"GCPServiceAccountAuthConfig","description":"GCP service account configuration.\n\nThis class reflects the attributes that can be configured for the\nGCP Service Connector service account authentication method."},"GCPServiceAccountAuthSettings":{"properties":{"auth_method":{"type":"string","const":"service-account","title":"Auth Method","default":"service-account"},"auth_config":{"anyOf":[{"$ref":"#/components/schemas/GCPServiceAccountAuthConfig"},{"type":"null"}],"description":"The service connector authentication configuration to use for the secrets store. Either this field or the auth_config_secret field must be set."},"auth_config_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Config Secret","description":"The ID of a secret containing the service connector authentication configuration to use for the secrets store. If this field is set, the auth_config field is ignored. The secret is expected to contain the same fields supported by the auth_config field."}},"type":"object","title":"GCPServiceAccountAuthSettings","description":"GCP service account settings."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HashiCorpVaultAWSAuthConfig":{"properties":{"vault_addr":{"type":"string","title":"Vault Addr","description":"The URL of the HashiCorp Vault server."},"vault_namespace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vault Namespace","description":"The Vault Enterprise namespace. Not required for Vault OSS."},"auth_mount_point":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Mount Point","description":"The mount point to use for the authentication method."},"mount_point":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mount Point","description":"The mount point to use for the secrets."},"max_versions":{"type":"integer","title":"Max Versions","description":"The maximum number of secret versions to keep.","default":1},"aws_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Role","description":"The AWS Vault role to use to authenticate with the Vault server."},"aws_header_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aws Header Value","description":"The AWS header value to use to authenticate with the Vault server."}},"type":"object","required":["vault_addr"],"title":"HashiCorpVaultAWSAuthConfig","description":"HashiCorp Vault AWS authentication configuration."},"HashiCorpVaultAWSAuthSettings":{"properties":{"auth_method":{"type":"string","const":"aws","title":"Auth Method","default":"aws"},"auth_config":{"anyOf":[{"$ref":"#/components/schemas/HashiCorpVaultAWSAuthConfig"},{"type":"null"}],"description":"The authentication configuration to use for the secrets store. Either this field or the auth_config_secret field must be set."},"auth_config_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Config Secret","description":"The ID of a secret containing the service connector authentication configuration to use for the secrets store. If this field is set, the auth_config field is ignored. The secret is expected to contain the same fields supported by the auth_config field."}},"type":"object","title":"HashiCorpVaultAWSAuthSettings","description":"HashiCorp Vault AWS authentication settings."},"HashiCorpVaultAppRoleAuthConfig":{"properties":{"vault_addr":{"type":"string","title":"Vault Addr","description":"The URL of the HashiCorp Vault server."},"vault_namespace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vault Namespace","description":"The Vault Enterprise namespace. Not required for Vault OSS."},"auth_mount_point":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Mount Point","description":"The mount point to use for the authentication method."},"mount_point":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mount Point","description":"The mount point to use for the secrets."},"max_versions":{"type":"integer","title":"Max Versions","description":"The maximum number of secret versions to keep.","default":1},"app_role_id":{"type":"string","title":"App Role Id","description":"The App Role ID to use to authenticate with the Vault server."},"app_secret_id":{"type":"string","title":"App Secret Id","description":"The App Secret ID to use to authenticate with the Vault server."}},"type":"object","required":["vault_addr","app_role_id","app_secret_id"],"title":"HashiCorpVaultAppRoleAuthConfig","description":"HashiCorp Vault App Role authentication configuration."},"HashiCorpVaultAppRoleAuthSettings":{"properties":{"auth_method":{"type":"string","const":"app_role","title":"Auth Method","default":"app_role"},"auth_config":{"anyOf":[{"$ref":"#/components/schemas/HashiCorpVaultAppRoleAuthConfig"},{"type":"null"}],"description":"The authentication configuration to use for the secrets store. Either this field or the auth_config_secret field must be set."},"auth_config_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Config Secret","description":"The ID of a secret containing the service connector authentication configuration to use for the secrets store. If this field is set, the auth_config field is ignored. The secret is expected to contain the same fields supported by the auth_config field."}},"type":"object","title":"HashiCorpVaultAppRoleAuthSettings","description":"HashiCorp Vault App Role authentication settings."},"HashiCorpVaultSecretsStoreConfiguration-Input":{"properties":{"type":{"type":"string","const":"hashicorp","title":"Type","default":"hashicorp"},"settings":{"oneOf":[{"$ref":"#/components/schemas/HashiCorpVaultTokenAuthSettings"},{"$ref":"#/components/schemas/HashiCorpVaultAWSAuthSettings"},{"$ref":"#/components/schemas/HashiCorpVaultAppRoleAuthSettings"}],"title":"Settings","description":"The authentication configuration to use for the secrets store.","discriminator":{"propertyName":"auth_method","mapping":{"app_role":"#/components/schemas/HashiCorpVaultAppRoleAuthSettings","aws":"#/components/schemas/HashiCorpVaultAWSAuthSettings","token":"#/components/schemas/HashiCorpVaultTokenAuthSettings"}}}},"type":"object","required":["settings"],"title":"HashiCorpVaultSecretsStoreConfiguration","description":"HashiCorp Vault secrets store configuration."},"HashiCorpVaultSecretsStoreConfiguration-Output":{"properties":{"type":{"type":"string","const":"hashicorp","title":"Type","default":"hashicorp"},"settings":{"oneOf":[{"$ref":"#/components/schemas/HashiCorpVaultTokenAuthSettings"},{"$ref":"#/components/schemas/HashiCorpVaultAWSAuthSettings"},{"$ref":"#/components/schemas/HashiCorpVaultAppRoleAuthSettings"}],"title":"Settings","description":"The authentication configuration to use for the secrets store.","discriminator":{"propertyName":"auth_method","mapping":{"app_role":"#/components/schemas/HashiCorpVaultAppRoleAuthSettings","aws":"#/components/schemas/HashiCorpVaultAWSAuthSettings","token":"#/components/schemas/HashiCorpVaultTokenAuthSettings"}}}},"type":"object","required":["settings"],"title":"HashiCorpVaultSecretsStoreConfiguration","description":"HashiCorp Vault secrets store configuration."},"HashiCorpVaultTokenAuthConfig":{"properties":{"vault_addr":{"type":"string","title":"Vault Addr","description":"The URL of the HashiCorp Vault server."},"vault_namespace":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vault Namespace","description":"The Vault Enterprise namespace. Not required for Vault OSS."},"auth_mount_point":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Mount Point","description":"The mount point to use for the authentication method."},"mount_point":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mount Point","description":"The mount point to use for the secrets."},"max_versions":{"type":"integer","title":"Max Versions","description":"The maximum number of secret versions to keep.","default":1},"vault_token":{"type":"string","title":"Vault Token","description":"The token used to authenticate with the Vault server."}},"type":"object","required":["vault_addr","vault_token"],"title":"HashiCorpVaultTokenAuthConfig","description":"HashiCorp Vault token authentication configuration."},"HashiCorpVaultTokenAuthSettings":{"properties":{"auth_method":{"type":"string","const":"token","title":"Auth Method","default":"token"},"auth_config":{"anyOf":[{"$ref":"#/components/schemas/HashiCorpVaultTokenAuthConfig"},{"type":"null"}],"description":"The authentication configuration to use for the secrets store. Either this field or the auth_config_secret field must be set."},"auth_config_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Config Secret","description":"The ID of a secret containing the service connector authentication configuration to use for the secrets store. If this field is set, the auth_config field is ignored. The secret is expected to contain the same fields supported by the auth_config field."}},"type":"object","title":"HashiCorpVaultTokenAuthSettings","description":"HashiCorp Vault token authentication settings."},"InfraProviderType":{"type":"string","enum":["argocd"],"title":"InfraProviderType","description":"Enum for infrastructure provider type."},"InvitationCreate":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"role_id":{"type":"string","format":"uuid","title":"Role Id"}},"type":"object","required":["email","role_id"],"title":"InvitationCreate","description":"Invitation create model."},"InvitationRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"inviting_user_id":{"type":"string","format":"uuid","title":"Inviting User Id"},"email":{"type":"string","format":"email","title":"Email"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"expiration_date":{"type":"string","format":"date-time","title":"Expiration Date"},"state":{"$ref":"#/components/schemas/InvitationState"}},"type":"object","required":["id","inviting_user_id","email","organization_id","expiration_date","state"],"title":"InvitationRead","description":"Invitation read model."},"InvitationState":{"type":"string","enum":["pending","declined","expired"],"title":"InvitationState","description":"All invitation states."},"MemberRead":{"properties":{"user":{"anyOf":[{"$ref":"#/components/schemas/UserRead"},{"type":"null"}]},"team":{"anyOf":[{"$ref":"#/components/schemas/TeamRead"},{"type":"null"}]},"invitation":{"anyOf":[{"$ref":"#/components/schemas/InvitationRead"},{"type":"null"}]},"roles":{"items":{"$ref":"#/components/schemas/MemberRoleAssignment"},"type":"array","title":"Roles","default":[]}},"type":"object","title":"MemberRead","description":"Organization/Workspace/Project member model."},"MemberRoleAssignment":{"properties":{"role_id":{"type":"string","format":"uuid","title":"Role Id"},"level":{"$ref":"#/components/schemas/ScopeLevel"},"via_team":{"type":"boolean","title":"Via Team"}},"type":"object","required":["role_id","level","via_team"],"title":"MemberRoleAssignment","description":"Member role assignment."},"OAuth2AuthorizeResponse":{"properties":{"authorization_url":{"type":"string","title":"Authorization Url"}},"type":"object","required":["authorization_url"],"title":"OAuth2AuthorizeResponse","description":"OAuth 2.0 authorization response."},"OAuth2LoginResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"expires_in":{"type":"integer","title":"Expires In"},"token_type":{"type":"string","title":"Token Type","default":"bearer"},"device_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Device Id"},"device_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Device Metadata"}},"type":"object","required":["access_token","expires_in"],"title":"OAuth2LoginResponse","description":"OAuth 2.0 login response."},"OAuth2LogoutResponse":{"properties":{"logout_url":{"type":"string","title":"Logout Url"}},"type":"object","required":["logout_url"],"title":"OAuth2LogoutResponse","description":"OAuth 2.0 logout response."},"OAuthDeviceAuthorizationResponse":{"properties":{"device_code":{"type":"string","title":"Device Code"},"user_code":{"type":"string","title":"User Code"},"verification_uri":{"type":"string","title":"Verification Uri"},"verification_uri_complete":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Uri Complete"},"expires_in":{"type":"integer","title":"Expires In"},"interval":{"type":"integer","title":"Interval"}},"type":"object","required":["device_code","user_code","verification_uri","expires_in","interval"],"title":"OAuthDeviceAuthorizationResponse","description":"OAuth2 device authorization grant response."},"OAuthDeviceRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"The OAuth2 device ID."},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"The name of the OAuth2 device."},"created":{"type":"string","format":"date-time","title":"Created","description":"The creation date of the OAuth2 device."},"updated":{"type":"string","format":"date-time","title":"Updated","description":"The date the OAuth2 device was last updated."},"user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"User Id","description":"The user ID owning the OAuth2 device."},"client_id":{"type":"string","format":"uuid","title":"Client Id","description":"The client ID of the OAuth2 device."},"expires":{"type":"string","format":"date-time","title":"Expires","description":"The expiration date of the OAuth2 device after which the device can no longer be used in the OAuth2 authorized device flow."},"trusted_device":{"type":"boolean","title":"Trusted Device","description":"Whether the OAuth2 device was marked as trusted. A trusted device has a much longer validity time."},"status":{"$ref":"#/components/schemas/OAuthDeviceStatus","description":"The status of the OAuth2 device."},"os":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Os","description":"The operating system of the device used for authentication."},"ip_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Address","description":"The IP address of the device used for authentication."},"hostname":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hostname","description":"The hostname of the device used for authentication."},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City","description":"The city where the device is located."},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region","description":"The region where the device is located."},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country","description":"The country where the device is located."},"last_login":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Login","description":"The date of the last successful login."},"device_metadata":{"additionalProperties":true,"type":"object","title":"Device Metadata","description":"Additional metadata associated with the OAuth2 device.","default":{}}},"type":"object","required":["id","created","updated","client_id","expires","trusted_device","status"],"title":"OAuthDeviceRead","description":"Response body for OAuth2 devices."},"OAuthDeviceStatus":{"type":"string","enum":["pending","authorized"],"title":"OAuthDeviceStatus","description":"The OAuth device status."},"OAuthDeviceUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"The new name of the OAuth2 device."},"device_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Device Metadata","description":"The new metadata of the OAuth2 device."}},"type":"object","title":"OAuthDeviceUpdate","description":"OAuth2 device update model."},"OAuthDeviceVerificationRequest":{"properties":{"user_code":{"type":"string","title":"User Code"},"trusted_device":{"type":"boolean","title":"Trusted Device","default":false},"device_metadata":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Device Metadata"}},"type":"object","required":["user_code"],"title":"OAuthDeviceVerificationRequest","description":"OAuth2 device authorization verification request."},"OrganizationCreate":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id"},"name":{"type":"string","maxLength":50,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Description"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"links":{"anyOf":[{"items":{"$ref":"#/components/schemas/OrganizationLink"},"type":"array"},{"type":"null"}],"title":"Links","description":"Optional list of organization links to show in the dashboard."},"owner_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Id","description":"The UUID of the organization owner. If not set, the current user is set as the owner."}},"type":"object","required":["name"],"title":"OrganizationCreate","description":"Model for creating organizations."},"OrganizationLink":{"properties":{"label":{"type":"string","maxLength":60,"title":"Label","description":"Human-readable label for this link."},"url":{"type":"string","maxLength":2048,"title":"Url","description":"Absolute http(s) URL that the link points to."}},"type":"object","required":["label","url"],"title":"OrganizationLink","description":"Model for a link used in the organization settings."},"OrganizationRead":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"id":{"type":"string","format":"uuid","title":"Id"},"created":{"type":"string","format":"date-time","title":"Created"},"updated":{"type":"string","format":"date-time","title":"Updated"},"owner":{"$ref":"#/components/schemas/UserRead"},"links":{"items":{"$ref":"#/components/schemas/OrganizationLink"},"type":"array","title":"Links","description":"User-defined organization links shown in the dashboard."},"has_active_subscription":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Active Subscription","description":"If the organization has an active subscription. This means the subscription is either in the trial period or the organization is billed for it."},"trial_expiry":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Trial Expiry","description":"Time in seconds until the trial expires. If the organization is not in trial, this will be `None`."}},"type":"object","required":["name","id","created","updated","owner"],"title":"OrganizationRead","description":"Model for viewing organizations."},"OrganizationUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Description"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"links":{"anyOf":[{"items":{"$ref":"#/components/schemas/OrganizationLink"},"type":"array"},{"type":"null"}],"title":"Links","description":"List of organization links to show in the dashboard. If set, replaces the entire list."},"owner_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Id"}},"type":"object","title":"OrganizationUpdate","description":"Model for updating organizations."},"PendingInvitation":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"organization_name":{"type":"string","title":"Organization Name"},"organization_logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization Logo Url"},"organization_member_count":{"type":"integer","title":"Organization Member Count"},"inviting_user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inviting User Name"},"inviting_user_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inviting User Avatar Url"},"expiration_date":{"type":"string","format":"date-time","title":"Expiration Date"}},"type":"object","required":["id","organization_name","organization_member_count","expiration_date"],"title":"PendingInvitation","description":"Pending invitation model."},"Permission-Input":{"properties":{"resource":{"$ref":"#/components/schemas/UnscopedResource"},"action":{"type":"string","title":"Action"}},"type":"object","required":["resource","action"],"title":"Permission","description":"Permission model."},"Permission-Output":{"properties":{"resource":{"$ref":"#/components/schemas/UnscopedResource"},"action":{"type":"string","title":"Action"}},"type":"object","required":["resource","action"],"title":"Permission","description":"Permission model."},"RawUsageEvent":{"properties":{"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"The organization that this usage can be attributed to."},"feature":{"$ref":"#/components/schemas/SubscriptionFeature","description":"The feature whose usage is being reported."},"total":{"type":"integer","title":"Total","description":"The total amount of entities of this type."},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","description":"Allows attaching additional metadata to events.","default":{}}},"type":"object","required":["organization_id","feature","total"],"title":"RawUsageEvent","description":"Model for reporting raw usage of a feature.\n\nIn case of consumables the UsageReport allows the Pricing Backend to\nincrement the usage per time-frame by 1."},"ReleaseBase":{"properties":{"version":{"type":"string","title":"Version"}},"type":"object","required":["version"],"title":"ReleaseBase","description":"Pydantic Model for a Release."},"ReleaseService":{"type":"string","enum":["zenml"],"title":"ReleaseService","description":"Service types for releases."},"ResourceMemberRead":{"properties":{"user":{"anyOf":[{"$ref":"#/components/schemas/UserRead"},{"type":"null"}]},"team":{"anyOf":[{"$ref":"#/components/schemas/TeamRead"},{"type":"null"}]},"role":{"anyOf":[{"$ref":"#/components/schemas/RoleRead"},{"type":"null"}]},"allowed_actions":{"items":{"type":"string"},"type":"array","title":"Allowed Actions","default":[]}},"type":"object","title":"ResourceMemberRead","description":"Resource member model."},"RoleAssignmentRead":{"properties":{"user":{"anyOf":[{"$ref":"#/components/schemas/UserRead"},{"type":"null"}]},"team":{"anyOf":[{"$ref":"#/components/schemas/TeamRead"},{"type":"null"}]},"invitation":{"anyOf":[{"$ref":"#/components/schemas/InvitationRead"},{"type":"null"}]},"role":{"$ref":"#/components/schemas/RoleRead"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"},"project_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Project Id"}},"type":"object","required":["role","organization_id"],"title":"RoleAssignmentRead","description":"Model for viewing role assignments."},"RoleCreate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Description"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"level":{"$ref":"#/components/schemas/ScopeLevel"},"system_managed":{"type":"boolean","title":"System Managed"},"type":{"$ref":"#/components/schemas/RoleType","default":"normal"},"permissions":{"items":{"$ref":"#/components/schemas/Permission-Input"},"type":"array","title":"Permissions","default":[]}},"type":"object","required":["organization_id","level","system_managed"],"title":"RoleCreate","description":"Model for creating roles."},"RoleRead":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Description"},"id":{"type":"string","format":"uuid","title":"Id"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"},"level":{"$ref":"#/components/schemas/ScopeLevel"},"system_managed":{"type":"boolean","title":"System Managed"},"type":{"$ref":"#/components/schemas/RoleType"}},"type":"object","required":["id","organization_id","level","system_managed","type"],"title":"RoleRead","description":"Model for viewing roles."},"RoleType":{"type":"string","enum":["normal","share"],"title":"RoleType","description":"Enum that represents the type of a role."},"RoleUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Description"},"permissions":{"items":{"$ref":"#/components/schemas/Permission-Input"},"type":"array","title":"Permissions","default":[]}},"type":"object","title":"RoleUpdate","description":"Model for updating roles."},"ScopeLevel":{"type":"string","enum":["organization","workspace","project"],"title":"ScopeLevel","description":"Scope levels."},"ServerDeploymentType":{"type":"string","enum":["saas","on_prem"],"title":"ServerDeploymentType","description":"The OAuth grant types."},"ServerModel":{"properties":{"deployment_type":{"$ref":"#/components/schemas/ServerDeploymentType"},"sso_enabled":{"type":"boolean","title":"Sso Enabled"},"password_enabled":{"type":"boolean","title":"Password Enabled"}},"type":"object","required":["deployment_type","sso_enabled","password_enabled"],"title":"ServerModel","description":"Model for all Server info."},"ServiceAccountCreate":{"properties":{"username":{"type":"string","maxLength":50,"minLength":1,"pattern":"^[a-zA-Z0-9_\\-@.]+$","title":"Username","description":"The unique username for the service account."},"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"A user friendly name for the service account."},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"The description of the service account."},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"role_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"The role ID of the service account."},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The avatar URL of the service account."},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Additional metadata associated with the service account."},"is_active":{"type":"boolean","title":"Whether the service account is active or not.","default":true}},"type":"object","required":["username"],"title":"ServiceAccountCreate","description":"Model for service account creation."},"ServiceAccountRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"username":{"type":"string","maxLength":50,"minLength":1,"pattern":"^[a-zA-Z0-9_\\-@.]+$","title":"Username","description":"The unique username for the service account."},"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"A user friendly name for the service account."},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"The description of the service account."},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"The email address associated with the service account."},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The avatar URL of the service account."},"metadata":{"additionalProperties":true,"type":"object","title":"Additional metadata associated with the service account.","default":{}},"organization_id":{"type":"string","format":"uuid","title":"Organization Id","description":"The ID of the organization that the service account belongs to."},"is_active":{"type":"boolean","title":"Whether the service account is active.","default":true},"api_key_count":{"type":"integer","title":"The number of API keys associated with the service account."},"last_login":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Time when the service account was last used to log in."}},"type":"object","required":["id","username","organization_id","api_key_count"],"title":"ServiceAccountRead","description":"Model for displaying service account information."},"ServiceAccountUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1,"pattern":"^[a-zA-Z0-9_\\-@.]+$"},{"type":"null"}],"title":"The new name for the service account."},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"The new description of the service account."},"username":{"anyOf":[{"type":"string","maxLength":50,"minLength":1,"pattern":"^[a-zA-Z0-9_\\-@.]+$"},{"type":"null"}],"title":"Username","description":"The unique username for the service account."},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"The new email address associated with the service account."},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"The new avatar URL of the service account."},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"New additional metadata associated with the service account."},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Whether the service account is active or not."}},"type":"object","title":"ServiceAccountUpdate","description":"Model for service account updates."},"ServiceTier":{"type":"string","enum":["basic","high_availability","high_performance"],"title":"ServiceTier","description":"The service tiers."},"SqlSecretsStoreConfiguration":{"properties":{"type":{"type":"string","const":"sql","title":"Type","default":"sql"}},"type":"object","title":"SqlSecretsStoreConfiguration","description":"ZenML SQL secrets store configuration."},"SubscriptionFeature":{"type":"string","enum":["user","service_account","tenant","project","pipeline_run","pipeline","model","template_run","concurrent_run","schedule","resource_pool"],"title":"SubscriptionFeature","description":"All explicit features of the Subscription."},"TeamAssignmentRead":{"properties":{"user":{"anyOf":[{"$ref":"#/components/schemas/UserRead"},{"type":"null"}]},"invitation":{"anyOf":[{"$ref":"#/components/schemas/InvitationRead"},{"type":"null"}]}},"type":"object","title":"TeamAssignmentRead","description":"Team assignment model."},"TeamCreate":{"properties":{"name":{"type":"string","maxLength":50,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Description"},"organization_id":{"type":"string","format":"uuid","title":"Organization Id"}},"type":"object","required":["name","organization_id"],"title":"TeamCreate","description":"Model for creating teams."},"TeamRead":{"properties":{"name":{"type":"string","maxLength":50,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Description"},"id":{"type":"string","format":"uuid","title":"Id"},"created":{"type":"string","format":"date-time","title":"Created"},"updated":{"type":"string","format":"date-time","title":"Updated"},"member_count":{"type":"integer","title":"Member Count"}},"type":"object","required":["name","id","created","updated","member_count"],"title":"TeamRead","description":"Model for viewing teams."},"TeamUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Description"}},"type":"object","title":"TeamUpdate","description":"Model for updating teams."},"UnscopedResource":{"properties":{"level":{"$ref":"#/components/schemas/ScopeLevel"},"type":{"type":"string","title":"Type"},"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"}},"type":"object","required":["level","type"],"title":"UnscopedResource","description":"Resource definition model."},"UserRead":{"properties":{"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"password_expired":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Password Expired"},"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Name","description":"The name of the user."},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url","description":"The avatar URL of the user."},"company":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Company","description":"The company of the user."},"job_title":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Job Title","description":"The job title of the user."},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Additional metadata associated with the user."},"id":{"type":"string","format":"uuid","title":"Id"},"username":{"anyOf":[{"type":"string","maxLength":50,"minLength":1,"pattern":"^[a-zA-Z0-9_\\-@.]+$"},{"type":"string","format":"email"}],"title":"Username","description":"The unique username for the account. For OAuth2 user accounts, this is the same as the email address."},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"The email address associated with the account. For OAuth2 user accounts, this is the unique identifier for the user and is also used as the username."},"oauth_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oauth Provider","description":"The external OAuth2 provider that the user is associated with."},"oauth_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Oauth Id","description":"The external OAuth2 ID of the user."},"is_active":{"type":"boolean","title":"Is Active","description":"Whether the account is active.","default":true},"is_superuser":{"type":"boolean","title":"Is Superuser","description":"Whether the account is a superuser.","default":false},"is_service_account":{"type":"boolean","title":"Is Service Account","description":"Whether the account is a service account.","default":false},"organization_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Organization Id","description":"The ID of the organization that the service account belongs to. Only set for service accounts."},"is_onboarded":{"type":"boolean","title":"Is Onboarded","description":"Whether the user has completed onboarding.","default":false}},"type":"object","required":["id","username"],"title":"UserRead","description":"User model for displaying user account and service account information.\n\nThis model is currently used for both user accounts and service accounts\nto ensure backward compatibility."},"UserUpdate":{"properties":{"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"password_expired":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Password Expired"},"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Name","description":"The name of the user."},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url","description":"The avatar URL of the user."},"company":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Company","description":"The company of the user."},"job_title":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Job Title","description":"The job title of the user."},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata","description":"Additional metadata associated with the user."},"username":{"anyOf":[{"type":"string","maxLength":50,"minLength":1,"pattern":"^[a-zA-Z0-9_\\-@.]+$"},{"type":"null"}],"title":"Username","description":"New username for the user. Not possible to change the username for OAuth2 user accounts because it's the same as the email address provided by the external OAuth2 provider."},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email","description":"New email address for the user. Not possible to change the email address for OAuth2 user accounts because it's the same as the email address provided by the external OAuth2 provider."},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Whether the user account is active."},"is_onboarded":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Whether the user has completed onboarding."},"is_superuser":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Whether the user is a superuser."}},"type":"object","title":"UserUpdate","description":"Model for user updates."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WorkspaceCreate":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id","description":"Custom workspace ID. Use to enroll an existing workspace or to restore a deleted workspace."},"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Name","description":"The name of the workspace."},"display_name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Display Name","description":"The display name of the workspace."},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Description","description":"The description of the workspace."},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url","description":"The logo URL of the workspace."},"owner_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Id","description":"The UUID of the workspace owner. If not set, the current user is set as the owner."},"organization_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Organization Id","description":"The UUID of the organization the workspace belongs to. If not set, the organization where the current user is owner is set as the workspace's organization."},"is_managed":{"type":"boolean","title":"Is Managed","description":"Whether the workspace is managed by ZenML Pro or managed externally and enrolled.","default":true},"enrollment_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Enrollment Key","description":"Credentials generated externally for enrolled workspaces. If not set, credentials are generated as part of the enrollment process."},"zenml_service":{"$ref":"#/components/schemas/ZenMLServiceCreate","description":"The ZenML service configuration. If not set, a default configuration is generated."}},"type":"object","title":"WorkspaceCreate","description":"Pydantic Model for creating a workspace."},"WorkspaceRead":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","maxLength":50,"minLength":1,"title":"Name","description":"The name of the workspace."},"display_name":{"type":"string","maxLength":50,"minLength":1,"title":"Display Name","description":"The display name of the workspace."},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Description","description":"The description of the workspace."},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url","description":"The logo URL of the workspace."},"organization":{"$ref":"#/components/schemas/OrganizationRead"},"owner":{"$ref":"#/components/schemas/UserRead"},"is_managed":{"type":"boolean","title":"Is Managed","description":"Whether the workspace is managed by ZenML Pro or managed externally and enrolled.","default":true},"enrollment_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Enrollment Key","description":"Credentials generated for enrolled workspaces. Only set for enrolled workspaces and only during the enrollment process."},"zenml_service":{"$ref":"#/components/schemas/ZenMLServiceRead","description":"The ZenML service."},"usage_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Usage Counts","description":"The usage counts of the workspace."},"desired_state":{"$ref":"#/components/schemas/WorkspaceStatus","description":"The desired state of the workspace."},"state_reason":{"$ref":"#/components/schemas/WorkspaceStatusReason","description":"The reason for the current workspace state."},"status":{"$ref":"#/components/schemas/WorkspaceStatus","description":"The current operational state of the workspace."},"created":{"type":"string","format":"date-time","title":"Created"},"updated":{"type":"string","format":"date-time","title":"Updated"},"status_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Status Updated","description":"The time the status was last updated."}},"type":"object","required":["id","name","display_name","organization","owner","zenml_service","usage_counts","desired_state","state_reason","status","created","updated"],"title":"WorkspaceRead","description":"Pydantic Model for viewing a workspace."},"WorkspaceStatus":{"type":"string","enum":["not_initialized","pending","available","failed","deactivated","deleted"],"title":"WorkspaceStatus","description":"Enum that represents the desired state or status of a workspace.\n\nThese values can be used in two places:\n\n* in the `desired_state` field of a workspace object, to indicate the\ndesired state of the workspace (with the exception of `PENDING` and `FAILED`\nwhich are not valid values for `desired_state`)\n* in the `status` field of a workspace object, to indicate the current state\nof the workspace"},"WorkspaceStatusReason":{"type":"string","enum":["user_action","inactive","subscription_ended"],"title":"WorkspaceStatusReason","description":"Enum that represents the reason for the status of a workspace.\n\nSometimes, workspaces are put in a certain state because of a specific\ninternal reason and not because the user explicitly requested it. This enum\nrepresents those reasons."},"WorkspaceStatusUpdate":{"properties":{"status":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceStatus"},{"type":"null"}],"description":"The new operational status of the workspace."},"zenml_service":{"anyOf":[{"$ref":"#/components/schemas/ZenMLServiceStatusUpdate"},{"type":"null"}],"description":"The ZenML service status update."}},"type":"object","title":"WorkspaceStatusUpdate","description":"Defines all status fields that can be updated for a workspace."},"WorkspaceUpdate":{"properties":{"owner_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Owner Id","description":"The new owner of the workspace."},"zenml_service":{"anyOf":[{"$ref":"#/components/schemas/ZenMLServiceUpdate"},{"type":"null"}],"description":"The ZenML service update."},"desired_state":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceStatus"},{"type":"null"}],"description":"The new desired state of the workspace."},"state_reason":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceStatusReason"},{"type":"null"}],"description":"The reason for the new workspace state. Should only be set if the desired state is also updated."},"display_name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Display Name","description":"The new display name of the workspace."},"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Name","description":"The new name of the workspace."},"description":{"anyOf":[{"type":"string","maxLength":256,"minLength":1},{"type":"null"}],"title":"Description","description":"The new description of the workspace."},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url","description":"The new logo URL of the workspace."}},"type":"object","title":"WorkspaceUpdate","description":"Update model for a workspace."},"ZenMLAdminArgoCDProviderConfig":{"properties":{"github_client":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Github Client","description":"Optional overrides for Git source and destination repositories, branches, template and config paths, and Terraform remote state when this workspace is deployed via the ArgoCD provider. Examples: set ``ref_dst`` to pin the application branch, or ``tf_state_bucket`` for workspace-specific remote state."}},"type":"object","title":"ZenMLAdminArgoCDProviderConfig","description":"Settings for the ArgoCD infra provider under ``provider_config.argocd``."},"ZenMLAdminProviderConfig":{"properties":{"terraform":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Terraform","description":"Terraform variable names mapped to JSON-serializable values; merged into the tenant Terraform workspace. Examples: ``cluster_name`` set to ``my-eks``, ``node_instance_type`` set to ``m5.large``."},"argocd":{"anyOf":[{"$ref":"#/components/schemas/ZenMLAdminArgoCDProviderConfig"},{"type":"null"}],"description":"Settings consumed only when ``provider_type`` is ``InfraProviderType.argocd``; ignored for other infrastructure providers."}},"type":"object","title":"ZenMLAdminProviderConfig","description":"Structured deployment overrides for ZenML admin ``provider_config``."},"ZenMLAdminServiceConfiguration-Input":{"properties":{"helm_chart_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Helm Chart Version","description":"The Helm chart version to use for the ZenML server. If not set, the ZenML service version is used."},"image_repository":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Repository","description":"Custom image repository to use for the ZenML server."},"image_tag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Tag","description":"Custom image tag to use for the ZenML server."},"debug":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Debug","description":"Whether to run the ZenML server in debug mode."},"rbac_implementation_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rbac Implementation Source","description":"The RBAC implementation source to use for the ZenML server."},"workload_manager_implementation_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workload Manager Implementation Source","description":"The workload manager implementation source to use for the ZenML server."},"feature_gate_implementation_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feature Gate Implementation Source","description":"The feature gate implementation source to use for the ZenML server."},"environment_vars":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Environment Vars","description":"Environment variables to set for the ZenML server."},"secret_environment_vars":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Secret Environment Vars","description":"Secret environment variables to set for the ZenML server."},"provider_type":{"anyOf":[{"$ref":"#/components/schemas/InfraProviderType"},{"type":"null"}],"description":"The infrastructure provider type.","default":"argocd"},"provider_config":{"anyOf":[{"$ref":"#/components/schemas/ZenMLAdminProviderConfig"},{"type":"null"}],"description":"Structured deployment overrides: optional ``terraform`` map merged into Terraform variables; optional ``argocd`` bucket for the ArgoCD provider."},"service_tier":{"anyOf":[{"$ref":"#/components/schemas/ServiceTier"},{"type":"null"}],"description":"The service tier to use for the ZenML server. If set, it takes precedence over the resources field."},"resources":{"anyOf":[{"$ref":"#/components/schemas/ZenMLServiceResources"},{"type":"null"}],"description":"The resources configuration for the ZenML server. If not set, the resources are auto-populated based on the service tier, if present."},"features":{"anyOf":[{"$ref":"#/components/schemas/ZenMLFeaturesConfiguration"},{"type":"null"}],"description":"The features configuration for the ZenML server."}},"type":"object","title":"ZenMLAdminServiceConfiguration","description":"ZenML admin service configuration."},"ZenMLAdminServiceConfiguration-Output":{"properties":{"helm_chart_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Helm Chart Version","description":"The Helm chart version to use for the ZenML server. If not set, the ZenML service version is used."},"image_repository":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Repository","description":"Custom image repository to use for the ZenML server."},"image_tag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Tag","description":"Custom image tag to use for the ZenML server."},"debug":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Debug","description":"Whether to run the ZenML server in debug mode."},"rbac_implementation_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rbac Implementation Source","description":"The RBAC implementation source to use for the ZenML server."},"workload_manager_implementation_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workload Manager Implementation Source","description":"The workload manager implementation source to use for the ZenML server."},"feature_gate_implementation_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feature Gate Implementation Source","description":"The feature gate implementation source to use for the ZenML server."},"environment_vars":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Environment Vars","description":"Environment variables to set for the ZenML server."},"secret_environment_vars":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Secret Environment Vars","description":"Secret environment variables to set for the ZenML server."},"provider_type":{"anyOf":[{"$ref":"#/components/schemas/InfraProviderType"},{"type":"null"}],"description":"The infrastructure provider type.","default":"argocd"},"provider_config":{"anyOf":[{"$ref":"#/components/schemas/ZenMLAdminProviderConfig"},{"type":"null"}],"description":"Structured deployment overrides: optional ``terraform`` map merged into Terraform variables; optional ``argocd`` bucket for the ArgoCD provider."},"service_tier":{"anyOf":[{"$ref":"#/components/schemas/ServiceTier"},{"type":"null"}],"description":"The service tier to use for the ZenML server. If set, it takes precedence over the resources field."},"resources":{"anyOf":[{"$ref":"#/components/schemas/ZenMLServiceResources"},{"type":"null"}],"description":"The resources configuration for the ZenML server. If not set, the resources are auto-populated based on the service tier, if present."},"features":{"anyOf":[{"$ref":"#/components/schemas/ZenMLFeaturesConfiguration"},{"type":"null"}],"description":"The features configuration for the ZenML server."}},"type":"object","title":"ZenMLAdminServiceConfiguration","description":"ZenML admin service configuration."},"ZenMLFeaturesConfiguration":{"properties":{"schedules":{"anyOf":[{"$ref":"#/components/schemas/ZenMLScheduleConfiguration"},{"type":"null"}],"description":"The schedule configuration."},"resource_pools":{"anyOf":[{"$ref":"#/components/schemas/ZenMLResourcePoolConfiguration"},{"type":"null"}],"description":"The resource pool configuration."}},"type":"object","title":"ZenMLFeaturesConfiguration","description":"ZenML features configuration."},"ZenMLResourcePoolConfiguration":{"properties":{"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled","description":"Whether to enable resource pools."}},"type":"object","title":"ZenMLResourcePoolConfiguration","description":"ZenML resource pool configuration."},"ZenMLScheduleConfiguration":{"properties":{"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled","description":"Whether to enable schedules."}},"type":"object","title":"ZenMLScheduleConfiguration","description":"ZenML schedule configuration."},"ZenMLServiceConfiguration":{"properties":{"version":{"type":"string","title":"Version","description":"The ZenML version."},"analytics_enabled":{"type":"boolean","title":"Analytics Enabled","description":"Whether to enable or disable analytics.","default":true},"secrets_store":{"oneOf":[{"$ref":"#/components/schemas/SqlSecretsStoreConfiguration"},{"$ref":"#/components/schemas/AWSSecretsStoreConfiguration-Output"},{"$ref":"#/components/schemas/GCPSecretsStoreConfiguration-Output"},{"$ref":"#/components/schemas/AzureSecretsStoreConfiguration-Output"},{"$ref":"#/components/schemas/HashiCorpVaultSecretsStoreConfiguration-Output"}],"title":"Secrets Store","description":"The ZenML secrets store configuration.","discriminator":{"propertyName":"type","mapping":{"aws":"#/components/schemas/AWSSecretsStoreConfiguration-Output","azure":"#/components/schemas/AzureSecretsStoreConfiguration-Output","gcp":"#/components/schemas/GCPSecretsStoreConfiguration-Output","hashicorp":"#/components/schemas/HashiCorpVaultSecretsStoreConfiguration-Output","sql":"#/components/schemas/SqlSecretsStoreConfiguration"}}},"backup_secrets_store":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/SqlSecretsStoreConfiguration"},{"$ref":"#/components/schemas/AWSSecretsStoreConfiguration-Output"},{"$ref":"#/components/schemas/GCPSecretsStoreConfiguration-Output"},{"$ref":"#/components/schemas/AzureSecretsStoreConfiguration-Output"},{"$ref":"#/components/schemas/HashiCorpVaultSecretsStoreConfiguration-Output"}],"discriminator":{"propertyName":"type","mapping":{"aws":"#/components/schemas/AWSSecretsStoreConfiguration-Output","azure":"#/components/schemas/AzureSecretsStoreConfiguration-Output","gcp":"#/components/schemas/GCPSecretsStoreConfiguration-Output","hashicorp":"#/components/schemas/HashiCorpVaultSecretsStoreConfiguration-Output","sql":"#/components/schemas/SqlSecretsStoreConfiguration"}}},{"type":"null"}],"title":"Backup Secrets Store","description":"The backup ZenML secrets store configuration."},"admin":{"$ref":"#/components/schemas/ZenMLAdminServiceConfiguration-Output","description":"Admin service configuration options."}},"type":"object","required":["version","secrets_store","admin"],"title":"ZenMLServiceConfiguration","description":"ZenML service configuration."},"ZenMLServiceConfigurationCreate":{"properties":{"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version","description":"The ZenML version."},"analytics_enabled":{"type":"boolean","title":"Analytics Enabled","description":"Whether to enable or disable analytics.","default":true},"secrets_store":{"oneOf":[{"$ref":"#/components/schemas/SqlSecretsStoreConfiguration"},{"$ref":"#/components/schemas/AWSSecretsStoreConfiguration-Input"},{"$ref":"#/components/schemas/GCPSecretsStoreConfiguration-Input"},{"$ref":"#/components/schemas/AzureSecretsStoreConfiguration-Input"},{"$ref":"#/components/schemas/HashiCorpVaultSecretsStoreConfiguration-Input"}],"title":"Secrets Store","description":"The ZenML secrets store configuration. If not set, a default SQL store configuration is generated.","discriminator":{"propertyName":"type","mapping":{"aws":"#/components/schemas/AWSSecretsStoreConfiguration-Input","azure":"#/components/schemas/AzureSecretsStoreConfiguration-Input","gcp":"#/components/schemas/GCPSecretsStoreConfiguration-Input","hashicorp":"#/components/schemas/HashiCorpVaultSecretsStoreConfiguration-Input","sql":"#/components/schemas/SqlSecretsStoreConfiguration"}}},"backup_secrets_store":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/SqlSecretsStoreConfiguration"},{"$ref":"#/components/schemas/AWSSecretsStoreConfiguration-Input"},{"$ref":"#/components/schemas/GCPSecretsStoreConfiguration-Input"},{"$ref":"#/components/schemas/AzureSecretsStoreConfiguration-Input"},{"$ref":"#/components/schemas/HashiCorpVaultSecretsStoreConfiguration-Input"}],"discriminator":{"propertyName":"type","mapping":{"aws":"#/components/schemas/AWSSecretsStoreConfiguration-Input","azure":"#/components/schemas/AzureSecretsStoreConfiguration-Input","gcp":"#/components/schemas/GCPSecretsStoreConfiguration-Input","hashicorp":"#/components/schemas/HashiCorpVaultSecretsStoreConfiguration-Input","sql":"#/components/schemas/SqlSecretsStoreConfiguration"}}},{"type":"null"}],"title":"Backup Secrets Store","description":"The backup ZenML secrets store configuration."},"admin":{"anyOf":[{"$ref":"#/components/schemas/ZenMLAdminServiceConfiguration-Input"},{"type":"null"}],"description":"Admin service configuration options."}},"type":"object","title":"ZenMLServiceConfigurationCreate","description":"ZenML service configuration create model."},"ZenMLServiceConfigurationUpdate":{"properties":{"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version","description":"The ZenML version."},"analytics_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Analytics Enabled","description":"Whether to enable or disable analytics."},"secrets_store":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/SqlSecretsStoreConfiguration"},{"$ref":"#/components/schemas/AWSSecretsStoreConfiguration-Input"},{"$ref":"#/components/schemas/GCPSecretsStoreConfiguration-Input"},{"$ref":"#/components/schemas/AzureSecretsStoreConfiguration-Input"},{"$ref":"#/components/schemas/HashiCorpVaultSecretsStoreConfiguration-Input"}],"discriminator":{"propertyName":"type","mapping":{"aws":"#/components/schemas/AWSSecretsStoreConfiguration-Input","azure":"#/components/schemas/AzureSecretsStoreConfiguration-Input","gcp":"#/components/schemas/GCPSecretsStoreConfiguration-Input","hashicorp":"#/components/schemas/HashiCorpVaultSecretsStoreConfiguration-Input","sql":"#/components/schemas/SqlSecretsStoreConfiguration"}}},{"type":"null"}],"title":"Secrets Store","description":"The ZenML secrets store configuration."},"backup_secrets_store":{"anyOf":[{"oneOf":[{"$ref":"#/components/schemas/SqlSecretsStoreConfiguration"},{"$ref":"#/components/schemas/AWSSecretsStoreConfiguration-Input"},{"$ref":"#/components/schemas/GCPSecretsStoreConfiguration-Input"},{"$ref":"#/components/schemas/AzureSecretsStoreConfiguration-Input"},{"$ref":"#/components/schemas/HashiCorpVaultSecretsStoreConfiguration-Input"}],"discriminator":{"propertyName":"type","mapping":{"aws":"#/components/schemas/AWSSecretsStoreConfiguration-Input","azure":"#/components/schemas/AzureSecretsStoreConfiguration-Input","gcp":"#/components/schemas/GCPSecretsStoreConfiguration-Input","hashicorp":"#/components/schemas/HashiCorpVaultSecretsStoreConfiguration-Input","sql":"#/components/schemas/SqlSecretsStoreConfiguration"}}},{"type":"null"}],"title":"Backup Secrets Store","description":"The backup ZenML secrets store configuration."},"admin":{"anyOf":[{"$ref":"#/components/schemas/ZenMLAdminServiceConfiguration-Input"},{"type":"null"}],"description":"Admin service configuration options."}},"additionalProperties":false,"type":"object","title":"ZenMLServiceConfigurationUpdate","description":"ZenML service configuration update."},"ZenMLServiceCreate":{"properties":{"configuration":{"anyOf":[{"$ref":"#/components/schemas/ZenMLServiceConfigurationCreate"},{"type":"null"}],"description":"The service configuration. If not set, a default configuration is generated for managed workspaces. This field is ignored for enrolled workspaces."},"status":{"anyOf":[{"$ref":"#/components/schemas/ZenMLServiceStatus"},{"type":"null"}],"description":"Information about the service status. Can be set for enrolled workspaces to indicate the initial status of the service. Ignored for managed workspaces."}},"type":"object","title":"ZenMLServiceCreate","description":"ZenML service create model."},"ZenMLServiceRead":{"properties":{"configuration":{"anyOf":[{"$ref":"#/components/schemas/ZenMLServiceConfiguration"},{"type":"null"}],"description":"The service configuration. Only set for managed workspaces."},"status":{"anyOf":[{"$ref":"#/components/schemas/ZenMLServiceStatus"},{"type":"null"}],"description":"Information about the service status. Only set if the service is deployed and active."}},"type":"object","title":"ZenMLServiceRead","description":"Pydantic Model for viewing a ZenML service."},"ZenMLServiceResources":{"properties":{"replicas":{"type":"integer","title":"Replicas","description":"The number of replicas to run for the ZenML server."},"cpu":{"type":"string","title":"Cpu","description":"The Kubernetes CPU resource to allocate for each ZenML server pod."},"memory":{"type":"string","title":"Memory","description":"The Kubernetes memory resource to allocate for each ZenML server pod."},"max_cpu":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Max Cpu","description":"The Kubernetes CPU resource limit to set for each ZenML server pod."},"max_memory":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Max Memory","description":"The Kubernetes memory resource limit to set for each ZenML server pod."},"memory_migration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Memory Migration","description":"The Kubernetes memory resource to allocate for the ZenML migration pod."},"max_memory_migration":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Max Memory Migration","description":"The Kubernetes memory resource limit to set for the ZenML migration pod."},"autoscaling_enabled":{"type":"boolean","title":"Autoscaling Enabled","description":"Whether to enable autoscaling for the ZenML server.","default":false},"min_replicas":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Replicas","description":"The minimum number of replicas to run for the ZenML server. Only relevant if autoscaling is enabled."},"max_replicas":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Replicas","description":"The maximum number of replicas to run for the ZenML server. Only relevant if autoscaling is enabled."},"thread_pool_size":{"type":"integer","title":"Thread Pool Size","description":"The thread pool size to use for the ZenML HTTP server. If not set, the default value of 40 is used.","default":40},"db_pool_size":{"type":"integer","title":"Db Pool Size","description":"The connection pool size to use for the ZenML database client. If not set, the default value of 20 is used. The db_pool_size and db_pool_overflow values determine the maximum number of connections and their sum should be equal to or greater than the thread_pool_size value.","default":20},"db_pool_overflow":{"type":"integer","title":"Db Pool Overflow","description":"The connection pool overflow size to use for the ZenML database client. If not set, the default value of 20 is used. The db_pool_size and db_pool_overflow values determine the maximum number of connections and their sum should be equal to or greater than the thread_pool_size value. Can be set to 0 to disable overflow or to -1 to allow unlimited overflow. Note that even setting this value to -1 will not allow more connections than the maximum number of threads can handle at the same time, which may be a bit more than the actual thread pool size (i.e. a thread might use 2-3 connections at the same time).","default":20},"workspace_node_pool":{"type":"string","title":"Workspace Node Pool","description":"The Kubernetes node pool to use for the ZenML workspace. Pod tolerations and labels will be set according to this value. If not set, the main shared node pool is used.","default":"main"},"workload_node_pool":{"type":"string","title":"Workload Node Pool","description":"The Kubernetes node pool to use for the ZenML workspace workloads (e.g. run templates). Pod tolerations and labels will be set according to this value. If not set, the main shared node pool is used.","default":"main"},"max_concurrent_template_runs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Concurrent Template Runs","description":"The maximum number of concurrent template runs to allow for the workspace."},"memory_run_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Memory Run Template","description":"The Kubernetes memory resource to allocate for the ZenML run template pods."},"max_memory_run_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Max Memory Run Template","description":"The Kubernetes memory resource limit to set for the ZenML run template pods."},"max_storage_size":{"type":"integer","title":"Max Storage Size","description":"The maximum managed storage size to allow for the workspace (bytes).","default":1073741824}},"type":"object","required":["replicas","cpu","memory"],"title":"ZenMLServiceResources","description":"ZenML service resources options."},"ZenMLServiceStatus":{"properties":{"server_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Server Url","description":"The ZenML server URL."},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version","description":"The ZenML server version."},"storage_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Storage Size","description":"The current storage size of the workspace (bytes)."},"storage_size_last_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Storage Size Last Updated","description":"The last time the storage size was updated."},"storage_access_blocked":{"type":"boolean","title":"Storage Access Blocked","description":"Whether the storage access is blocked.","default":false}},"type":"object","title":"ZenMLServiceStatus","description":"ZenML service status."},"ZenMLServiceStatusUpdate":{"properties":{"status":{"anyOf":[{"$ref":"#/components/schemas/ZenMLServiceStatus"},{"type":"null"}],"description":"Updated information about the service status. Only set if the service is deployed and active."}},"type":"object","title":"ZenMLServiceStatusUpdate","description":"ZenML service status update model."},"ZenMLServiceUpdate":{"properties":{"configuration":{"anyOf":[{"$ref":"#/components/schemas/ZenMLServiceConfigurationUpdate"},{"type":"null"}],"description":"The service configuration update. If not set, the configuration is not updated."}},"type":"object","title":"ZenMLServiceUpdate","description":"ZenML service update model."}},"securitySchemes":{"OAuth2ComboScheme":{"type":"oauth2","flows":{"clientCredentials":{"scopes":{},"tokenUrl":"/auth/login"},"authorizationCode":{"refreshUrl":"https://zenmlcloud.eu.auth0.com/oauth/token","scopes":{},"authorizationUrl":"https://zenmlcloud.eu.auth0.com/authorize?scope=openid+email+profile&audience=https%3A%2F%2Fcloudapi.zenml.io","tokenUrl":"https://zenmlcloud.eu.auth0.com/oauth/token"}}}}}}