Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.xpander.ai/llms.txt

Use this file to discover all available pages before exploring further.

Tasks.alist returns task summaries for a given agent. Tasks.alist_user_tasks does the same scoped to a single end-user across all agents.
from xpander_sdk import Tasks

tasks = Tasks()
items = await tasks.alist(agent_id="agent-123")
for item in items:
    print(item.id, item.status.value, item.title or "(no title)")

Parameters

ParameterTypeRequiredDefaultDescription
agent_idstrYesAgent whose tasks to list.
filtersdictNoNoneQuery filters. Supported keys: user_id, parent_task_id, triggering_agent_id, status, internal_status.

Returns list[TasksListItem]

FieldTypeDescription
idstrTask ID.
agent_idstrOwning agent.
user_idstr | NoneEnd-user the task was created for.
parent_task_idstr | NoneIf this is a sub-task.
triggering_agent_idstr | NoneIf this task was kicked off by another agent.
organization_idstrOwning org.
statusAgentExecutionStatusCurrent status.
created_atdatetime | NoneCreation timestamp.
updated_atdatetime | NoneLast-update timestamp.
source_node_typestr | NoneTrigger origin (webhook, slack, sdk, …).
resultstr | NoneFinal result if completed.
titlestr | NoneTask title.
To load the full Task (including input, files, deep-planning state, tokens, activity log access), call .aload() on the item or pass item.id to tasks.aget().

Examples

Filter by status

from xpander_sdk import AgentExecutionStatus

failed = await tasks.alist(
    agent_id="agent-123",
    filters={"status": AgentExecutionStatus.Failed.value},
)
The status filter accepts the lowercase string value: "pending", "executing", "completed", "failed", etc.

Filter by end-user

mine = await tasks.alist(
    agent_id="agent-123",
    filters={"user_id": "user_42"},
)

Tasks for a user

alist_user_tasks searches across every agent the user has interacted with:
items = await tasks.alist_user_tasks(user_id="user_42")
ParameterTypeRequiredDescription
user_idstrYesEnd-user identifier.
filtersdictNoSame filter keys as above, minus user_id.

Sync versions

items = tasks.list(agent_id="agent-123")
items = tasks.list_user_tasks(user_id="user_42")

Errors

Raises ModuleException on failure. Common statuses:
StatusCause
401 / 403Auth failure or wrong organization.
404Agent doesn’t exist (or you can’t access it).
500Server error.