Skip to main content

FiscusClient Class (API Reference)

The FiscusClient class is the main entry point to the Fiscus SDK. It is responsible for executing operations across various connectors, managing authentication, handling WebSocket connections, and providing detailed logging and auditing for API interactions.

Initialization

__init__

__init__(self, api_key: str, user_id: Optional[str] = None, logging_level: str = 'INFO', log_to_file: bool = False, log_file_path: Optional[str] = None, enable_audit_logging: bool = False, connection_type: FiscusConnectionType = FiscusConnectionType.REST, response_format: FiscusResponseFormat = FiscusResponseFormat.TEXT, retries: int = 3, backoff_factor: float = 0.5, context_loader: Optional[Callable[[], Dict[str, Any]]] = None, context_saver: Optional[Callable[[Dict[str, Any]], None]] = None, **kwargs)

Parameters:
  • api_key (str): The API key used to authenticate with the Fiscus SDK.
  • user_id (Optional[str]): A unique identifier for the user. If provided, it creates a FiscusUser instance linked to the client.
  • logging_level (str): Logging level (e.g., 'DEBUG', 'INFO'). Defaults to 'INFO'.
  • log_to_file (bool): Whether to log events to a file. Defaults to False.
  • log_file_path (Optional[str]): Path to the log file, required if log_to_file is set to True.
  • enable_audit_logging (bool): Whether to enable audit logging. Defaults to False.
  • connection_type (FiscusConnectionType): Enum to specify the connection type. Defaults to FiscusConnectionType.REST.
  • response_format (FiscusResponseFormat): Enum to specify the response format. Defaults to FiscusResponseFormat.TEXT.
  • retries (int): The number of retries for failed API calls. Defaults to 3.
  • backoff_factor (float): Factor to determine the exponential backoff time between retries. Defaults to 0.5.
  • context_loader (Optional[Callable]): Callable to load user context. Defaults to None.
  • context_saver (Optional[Callable]): Callable to save user context. Defaults to None.
  • **kwargs: Additional custom options for the client.

Methods

execute

execute(self, connector_name: Optional[str] = None, operation: Optional[str] = None, params: Optional[Dict[str, Any]] = None, callbacks: Optional[Dict[str, FiscusCallback]] = None, custom_options: Optional[Dict[str, Any]] = None, tasks: Optional[List[Dict[str, Any]]] = None, connection_type: Optional[FiscusConnectionType] = FiscusConnectionType.REST, response_format: Optional[FiscusResponseFormat] = FiscusResponseFormat.TEXT, user: Optional[FiscusUser] = None) -> FiscusResponse

Executes one or more operations synchronously.

Parameters:
  • connector_name (Optional[str]): Name of the connector for the operation. Required unless tasks are provided.
  • operation (Optional[str]): The name of the operation to be executed. Required unless tasks are provided.
  • params (Optional[Dict[str, Any]]): Parameters for the operation.
  • callbacks (Optional[Dict[str, FiscusCallback]]): A dictionary of callback functions for success, error, and other events.
  • custom_options (Optional[Dict[str, Any]]): Custom options for the execution.
  • tasks (Optional[List[Dict[str, Any]]]): A list of tasks to be executed as a workflow.
  • connection_type (Optional[FiscusConnectionType]): Specifies whether the request should be handled over REST or WEBSOCKET. Defaults to FiscusConnectionType.REST.
  • response_format (Optional[FiscusResponseFormat]): Specifies whether the response should be returned in TEXT or JSON format. Defaults to FiscusResponseFormat.TEXT.
  • user (Optional[FiscusUser]): The user associated with the operation.
Returns:
  • FiscusResponse: The response object containing the result of the operation.

execute_async

execute_async(self, connector_name: Optional[str] = None, operation: Optional[str] = None, params: Optional[Dict[str, Any]] = None, callbacks: Optional[Dict[str, FiscusCallback]] = None, custom_options: Optional[Dict[str, Any]] = None, tasks: Optional[List[Dict[str, Any]]] = None, connection_type: Optional[FiscusConnectionType] = FiscusConnectionType.REST, response_format: Optional[FiscusResponseFormat] = FiscusResponseFormat.TEXT, user: Optional[FiscusUser] = None) -> FiscusResponse

Executes one or more operations asynchronously.

Parameters:
  • Same as execute.
Returns:
  • FiscusResponse: The response object containing the result of the operation.

ai_execute

ai_execute(self, input: str, callbacks: Optional[Dict[str, FiscusCallback]] = None, custom_overrides: Optional[Dict[str, Any]] = None, connection_type: Optional[FiscusConnectionType] = FiscusConnectionType.REST, response_format: Optional[FiscusResponseFormat] = FiscusResponseFormat.TEXT, user: Optional[FiscusUser] = None) -> FiscusResponse

Executes an AI-based dynamic workflow based on user input synchronously.

Parameters:
  • input (str): The input string for the AI-based workflow.
  • callbacks (Optional[Dict[str, FiscusCallback]]): A dictionary of callback functions for success, error, and other events.
  • custom_overrides (Optional[Dict[str, Any]]): Custom overrides for execution.
  • connection_type (Optional[FiscusConnectionType]): Specifies the connection type (REST or WEBSOCKET). Defaults to FiscusConnectionType.REST.
  • response_format (Optional[FiscusResponseFormat]): Specifies the response format (TEXT or JSON). Defaults to FiscusResponseFormat.TEXT.
  • user (Optional[FiscusUser]): The user associated with the operation.
Returns:
  • FiscusResponse: The response object containing the result of the operation.

ai_execute_async

ai_execute_async(self, input: str, callbacks: Optional[Dict[str, FiscusCallback]] = None, custom_overrides: Optional[Dict[str, Any]] = None, connection_type: Optional[FiscusConnectionType] = FiscusConnectionType.REST, response_format: Optional[FiscusResponseFormat] = FiscusResponseFormat.TEXT, user: Optional[FiscusUser] = None) -> FiscusResponse

Executes an AI-based dynamic workflow asynchronously.

Parameters:
  • Same as ai_execute.
Returns:
  • FiscusResponse: The response object containing the result of the operation.

stop_stream

stop_stream(self) -> None

Stops an active WebSocket stream.

Parameters:
  • None.
Returns:
  • None.

restart_stream

restart_stream(self) -> None

Restarts a previously stopped WebSocket stream.

Parameters:
  • None.
Returns:
  • None.