Documentation
Core Enums
String enums used throughout the SDK
Imports
Core enums are importable directly from scopix: from scopix import DescriptionStatus, ChatTokenType, StorageTarget. AgentCapability lives in a submodule — from scopix.types.contracts import AgentCapability.
These enums inherit from both str and Enum for JSON compatibility.
DescriptionStatus
Status of AI description generation for an image
class DescriptionStatus(str, Enum): PENDING = "pending" # Not yet started QUEUED = "queued" # In queue for processing PROCESSING = "processing" # Currently being processed COMPLETED = "completed" # Successfully completed FAILED = "failed" # Processing failed SKIPPED = "skipped" # Skipped (e.g., duplicate)ChatTokenType
Type of event in streaming chat responses
class ChatTokenType(str, Enum): TOKEN = "token" # Text token STATUS = "status" # Status update (searching, analyzing, etc.) IMAGE_RESULTS = "image_results" # Images found during response COMPLETE = "complete" # Response finished ERROR = "error" # Error occurred RECONNECTING = "reconnecting" # SDK reconnection attempt (client-side only) THINKING = "thinking" # AI reasoning content THINKING_STEP = "thinking_step" # Individual reasoning step TOOL_INVOCATION = "tool_invocation" # Agent tool being invoked TOOL_RESULT = "tool_result" # Result from agent tool CONNECTION = "connection" # Connection state change PING = "ping" # Server keep-alive CLOSE = "close" # Server closing stream AUTH_ERROR = "auth_error" # Authentication errorStorageTarget
Target storage location for uploads
class StorageTarget(str, Enum): DEFAULT = "default" # Use Scopix's managed storage CUSTOM = "custom" # Use tenant's custom S3 bucketMessageRole
Role of a message in a chat conversation
class MessageRole(str, Enum): USER = "user" # Message from user ASSISTANT = "assistant" # Response from AI SYSTEM = "system" # System messageDescriptionErrorType
Classification of description errors
class DescriptionErrorType(str, Enum): TIMEOUT = "timeout" # AI provider timed out (retryable) RATE_LIMIT = "rate_limit" # 429 response (retryable) VLM_ERROR = "vlm_error" # AI provider error (retryable) VALIDATION_ERROR = "validation" # Invalid input (permanent) RESOURCE_LIMIT = "resource_limit" # Quota exceeded (permanent) UNKNOWN = "unknown" # Unclassified (not retryable)CloudStorageProvider
Supported cloud storage providers
class CloudStorageProvider(str, Enum): GOOGLE_DRIVE = "google_drive" # Google DriveCloudStorageJobStatus
Status of a cloud storage import/export job
class CloudStorageJobStatus(str, Enum): PENDING = "pending" # Job created, waiting to start IN_PROGRESS = "in_progress" # Files are being transferred COMPLETED = "completed" # All files transferred successfully PARTIAL = "partial" # Some files succeeded, some failed FAILED = "failed" # Job failed completely CANCELLED = "cancelled" # Job was cancelledCloudStorageJobType
Type of cloud storage job
class CloudStorageJobType(str, Enum): IMPORT = "import" # Importing files from cloud storage EXPORT = "export" # Exporting files to cloud storageAgentCapability
Capability declared by an agent in its contract. Unlike the other enums on this page,AgentCapability is not re-exported at the top level — import from scopix.types.contracts.
from scopix.types.contracts import AgentCapability
class AgentCapability(str, Enum): SEARCH = "search" # Find files by query FILTER = "filter" # Narrow results by criteria ANALYSIS = "analysis" # Analyze content COMPARISON = "comparison" # Compare items EXPORT = "export" # Export/format results SUMMARIZATION = "summarization" # Summarize content RECOMMENDATION = "recommendation" # Suggest items VISUALIZATION = "visualization" # Visual output ANALYTICS = "analytics" # Compute statistics CROSS_REFERENCE = "cross_reference" # Link related items SYNTHESIS = "synthesis" # Combine information ORGANIZATION = "organization" # Categorize/organize CONVERSATIONAL = "conversational" # Multi-turn dialogueUsed in AgentContract to declare what an agent does. See Agent Data Flow Types.

