List schedules
Every schedule on an agent, with its state and next fire time. The schedules dashboard read.
STATE_PAUSED. That is what you want for a dashboard: you need to see the paused ones to resume them.
nextFireAt tells you what runs next
Pass includeInfo: true to get nextFireAt. This endpoint is one of the few where info is gated: without the flag, a list row carries only createdBy and totalFires, and nextFireAt is added when you ask. (The single-schedule get returns it either way.) The field to reach for is nextFireAt, the timestamp of the upcoming fire, computed from the spec:
nextFireAt is present on a STATE_ACTIVE schedule with future fire times and absent on a paused or archived one, so its presence doubles as a live/not-live signal. Sort the list on it client-side to see what fires soonest.
A schedule with STATE_ACTIVE and no nextFireAt is one with no remaining fire times (a calendar rule whose dates have all passed). One that shows active but produces no runs is usually an unpublished agent: the schedule stays active while the agent cannot fire.
Paging
limit and cursor page the list the usual way; the SDK iterator follows the cursor. There is no state filter, so slice by state on the client:
Related
Create a schedule
info surface.Schedule an agent
Publish an agent
List objectives
agentScheduleId to see what a schedule ran.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Workspace ID.
"workspace_01HXKD2E5NQM3T9AYWCF133E3Q"
Agent ID. Accepts the canonical agent_… form or the external_id:<value> form.
"agent_01HXKD2E5NQM3T9AYWCFMGWT9Y"
Query Parameters
Maximum number of results to return.
Pagination cursor from previous response.
Filter expression (query param: prefix).
Free-form search query.
Filters by metadata labels. Comma-separated key=value pairs, e.g. "env=prod,team=ai". A resource matches only if every pair matches exactly (AND semantics).
Sort order for results (asc or desc by creation time).
When true, the info field on each returned schedule is populated.
Requests with this flag count more against your rate limit.