---
title: "List Scheduled Tasks"
method: GET
path: "/v1/agents/{agent_id}/scheduled-tasks"
tags: ["API v1", "Agents", "Scheduled Tasks"]
---

# List Scheduled Tasks

`GET /v1/agents/{agent_id}/scheduled-tasks`

## Request

- Base URL: `https://api.xpander.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.xpander.ai/v1/agents/{agent_id}/scheduled-tasks`
- Auth: API key in header `x-api-key`

List an agent's recurring scheduled tasks.

## Path parameters

- `agent_id` string, required

## Response `200`

Successful Response

- ScheduledTask[]
  - `id` string, required: Source-node id. Pass it to update/remove/run the task.
  - `title` string, nullable: Human-readable label for the task.
  - `cron` string, required: Cron expression (5-field crontab, UTC), e.g. '0 9 * * *'.
  - `prompt` string, required: Instruction the agent runs on each fire.
  - `enabled` boolean: Whether the task is active. Disabled tasks keep their config but do not fire.
  - `type` 'scheduled-job' | 'live-surface': What a scheduled task drives — a plain job vs a live-surface regeneration.
  - `managed` boolean: Managed by xpander. The platform owns cron/prompt/title; pause or resume it via `enabled`.
  - `managed_kind` string, nullable: Managed flavor - 'heartbeat' schedules derive from Autonomous mode and accept a user prompt addition.
  - `user_prompt` string, nullable: The user's own addition to a heartbeat prompt; the platform appends its read-only part at run time.
  - `llm_model_provider` string, nullable: Run this task on a specific LLM provider instead of the agent's own (e.g. 'amazon_bedrock').
  - `llm_model_name` string, nullable: Run this task on a specific model id instead of the agent's own; pairs with llm_model_provider.
  - `laptop` ScheduledTaskLaptop: The xpander Desktop laptop a scheduled task runs on when the app is open there.
    - `device_id` string, required: The desktop computer's device id.
    - `owner_id` string, required: The member whose desktop computer it is; only they bind it, and the task runs as them.
    - `bound_at` string, nullable: When the desktop computer was bound (ISO-8601 UTC).
  - `conversation_mode` 'same' | 'new': Which conversation a schedule's fires run in.
  - `conversation_id` string, nullable: The conversation every fire continues, in `same` mode; empty in `new` mode.
  - `owner_id` string, nullable: Read-only: the member the task runs as.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/xpander/apis/xpander-ai-api-service.md) - [All operations](https://skmtc.dev/xpander/apis/xpander-ai-api-service/llms.txt) - [OpenAPI document](https://skmtc.dev/xpander/apis/xpander-ai-api-service/revisions/4389ec0875d0?raw)
