---
title: "List schedules"
method: GET
path: "/v3/agents/{agent_key}/schedules"
tags: ["Agent Schedules"]
---

# List schedules

`GET /v3/agents/{agent_key}/schedules`

## Request

- Base URL: `https://my.orq.ai`
- URL: `https://my.orq.ai/v3/agents/{agent_key}/schedules`
- Auth: HTTP bearer

Lists all schedules attached to the specified agent, most recent first.

## Path parameters

- `agent_key` string, required: The unique routing key of the agent the schedule belongs to.

## Response `200`

Schedules listed (empty array if none).

- object
  - `schedules` PublicSchedule[], nullable, required
    - `_id` string, required: ULID identifying this schedule.
    - `agent_key` string, required
    - `agent_tag` string: Pinned agent version. Omit to always run the agent's current active version.
    - `created` string, date-time, required
    - `created_by_id` string, required: ID of the API key that created the schedule.
    - `display_name` string: Human-readable name of the schedule. Omitted for schedules created before display names were required.
    - `expression` string, required: 6-field cron expression. Schedules stored before the cron-only restriction may also return an @every duration or an @at RFC3339 timestamp.
    - `generation` integer, required: Monotonic counter incremented when the schedule's firing cadence changes, allowing outdated in-flight triggers to be ignored.
    - `is_active` boolean, required: Whether the schedule is currently firing. Legacy once schedules flip to false automatically after firing.
    - `last_triggered_at` string, date-time: Timestamp of the most recent firing, if any.
    - `payload` PublicSchedulePayload, required
      - `input` unknown
      - `memory_entity_id` string: Optional memory store entity ID to attach to each run.
      - `metadata` object: Opaque string key/value pairs attached to every response generated by this schedule.
      - `variables` object: Template variables substituted into instructions. Supports secret values: {"secret": true, "value": "..."}.
    - `trigger_count` integer, required: Total firings since creation or last expression/type change.
    - `type` 'cron' | 'once' | 'interval', required: Schedule type. Only cron can be created or updated; once and interval only appear on schedules stored before that restriction.
    - `updated` string, date-time, required
    - `updated_by_id` string: ID of the API key that last updated the schedule. Omitted until the schedule is updated.

## Other responses

- `401`: Authentication required. See https://docs.orq.ai/reference/errors for the error codes.
- `404`: The resource does not exist. See https://docs.orq.ai/reference/errors for the error codes.

## Changes

> 554 revisions in range; 71 not diffed.

- **2026-10-23** `0b4e519a544f`: 2 info
  - added the non-success response with the status `401`
  - added the non-success response with the status `404`
- **2026-10-23** `732aed62833a`: 2 info
  - removed the non-success response with the status `401`
  - removed the non-success response with the status `404`
- **2026-10-22** `4f826b2c3a0e`: 2 info
  - added the non-success response with the status `401`
  - added the non-success response with the status `404`
- **2026-10-22** `8f0dc569f247`: 2 info
  - removed the non-success response with the status `401`
  - removed the non-success response with the status `404`
- **2026-10-21** `08b800d640e6`: 2 info
  - added the non-success response with the status `401`
  - added the non-success response with the status `404`

[Operation history](https://skmtc.dev/orq-ai/apis/orq-ai-api/changes/v3/agents/:agent_key/schedules/get.md)

---

[API](https://skmtc.dev/orq-ai/apis/orq-ai-api.md) - [All operations](https://skmtc.dev/orq-ai/apis/orq-ai-api/llms.txt) - [OpenAPI document](https://skmtc.dev/orq-ai/apis/orq-ai-api/revisions/928a71e92252?raw)
