> ## Documentation Index
> Fetch the complete documentation index at: https://hub.hcompany.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve a schedule

> Fetch a schedule by id.

**Returns** the schedule object.

***

## Path parameters

<ParamField path="schedule_id" type="string" required>
  The schedule's id (UUID).
</ParamField>

***

## The schedule object

<ResponseField name="id" type="string">
  Unique id (UUID).
</ResponseField>

<ResponseField name="name" type="string">
  Display name.
</ResponseField>

<ResponseField name="description" type="string | null">
  Optional description.
</ResponseField>

<ResponseField name="timing" type="object">
  When the schedule fires: `type` (`"cron"`), `expression` (five-field cron), and `timezone` (IANA name the expression is evaluated in).
</ResponseField>

<ResponseField name="session_request" type="object">
  Template used to create each scheduled session, in the [Create session](/computer-use-agents/sessions/create) body shape. Re-resolved on every fire.
</ResponseField>

<ResponseField name="paused" type="boolean">
  Whether the schedule is paused. Paused schedules do not fire automatically but can still be [triggered](/computer-use-agents/schedules/trigger).
</ResponseField>

<ResponseField name="pause_note" type="string | null">
  Why the schedule is paused: the note passed to [Pause](/computer-use-agents/schedules/pause), or an explanatory note when it was paused automatically after repeated failures.
</ResponseField>

<ResponseField name="next_run_times" type="string[]">
  The next 5 fire times (UTC, RFC 3339). Empty while paused.
</ResponseField>

<ResponseField name="last_run_at" type="string | null">
  When the schedule last fired automatically. Manual triggers do not update it.
</ResponseField>

<ResponseField name="created_at" type="string">
  When the schedule was created.
</ResponseField>

<ResponseField name="updated_at" type="string">
  When the schedule was last modified.
</ResponseField>

***

## Examples

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://agp.eu.hcompany.ai/api/v2/schedules/9f8e7d6c-5b4a-4c3d-8e2f-1a0b9c8d7e6f" \
    -H "Authorization: Bearer $HAI_API_KEY"
  ```

  ```python Python theme={null}
  from hai_agents import Client

  client = Client()

  schedule = client.schedules.get_schedule("9f8e7d6c-5b4a-4c3d-8e2f-1a0b9c8d7e6f")
  print(schedule.name, schedule.next_run_times)
  ```

  ```typescript TypeScript theme={null}
  import { HaiAgentsClient } from "hai-agents";

  const client = new HaiAgentsClient();

  const schedule = await client.schedules.getSchedule({ scheduleId: "9f8e7d6c-5b4a-4c3d-8e2f-1a0b9c8d7e6f" });
  console.log(schedule.name, schedule.nextRunTimes);
  ```
</CodeGroup>

```json Response theme={null}
{
  "id": "9f8e7d6c-5b4a-4c3d-8e2f-1a0b9c8d7e6f",
  "name": "morning-market-scan",
  "description": "Weekday scan of new Paris listings",
  "timing": {"type": "cron", "expression": "0 9 * * 1-5", "timezone": "Europe/Paris"},
  "session_request": {
    "agent": "h/web-surfer-flash",
    "messages": [
      {"type": "user_message", "message": "Scan new apartment listings in Paris 11e and summarize the top five"}
    ],
    "max_time_s": 3600
  },
  "paused": false,
  "pause_note": null,
  "next_run_times": [
    "2026-07-06T07:00:00Z",
    "2026-07-07T07:00:00Z",
    "2026-07-08T07:00:00Z",
    "2026-07-09T07:00:00Z",
    "2026-07-10T07:00:00Z"
  ],
  "last_run_at": "2026-07-03T07:00:00Z",
  "created_at": "2026-06-20T12:00:00Z",
  "updated_at": "2026-07-03T07:00:00Z"
}
```

***

## Errors

| Status | Cause                                          |
| ------ | ---------------------------------------------- |
| `404`  | No schedule with this id in your organization. |
