Skip to main content
The Figranium Kotlin SDK uses strongly typed data classes, typealiases, and kotlinx.serialization for all API payloads. This page documents the public model layer: JSON typealiases, the Task data class, execution types, and supporting configuration structs.

Typealiases

The SDK provides two typealiases for convenience:
Models.kt
Use JSONObject when you need to accept or return arbitrary JSON shapes, such as task inputs or execution results. RuntimeVariables is the type for variable overrides at execution time.

TaskVariable

TaskVariable declares a typed variable on a task.
Models.kt

Task

Task defines a browser automation workflow. It is a @Serializable data class with all properties exposed directly.
Models.kt
The primary constructor requires name, url, and mode. All other fields are optional and default to null.

Action

Action is the atomic unit of a task. It is a @Serializable data class.
Models.kt
The primary constructor requires type. All other fields are optional. The Actions object helpers auto-generate an id in the format act_<type>_<uuid> when id is null.

ExecuteTaskOptions

ExecuteTaskOptions is passed to runTask and other execution methods to override variables and configure the run.
Models.kt

ExecutionResult

ExecutionResult is the generic return type for task executions. T is the deserialized data type.
Models.kt

Execution

Execution represents a single recorded run.
Models.kt

StreamEvent

StreamEvent wraps a Server-Sent Events payload.
Models.kt
The SDK uses StreamEvent<JsonElement> for execution and selector streams.

Supporting data classes

StealthConfig

Models.kt

TaskTranslation

Models.kt

TaskOutput

Models.kt

Schedule

Models.kt

Other types

Actions

Build action lists with typed helpers.

Variables

Declare and reference task variables.

Tasks resource

Save, version, and execute tasks.

Execution resource

Run scrape, agent, and headful executions.