---
title: "Search cron jobs"
method: GET
path: "/v1/admin/cron-jobs"
tags: ["admin"]
---

# Search cron jobs

`GET /v1/admin/cron-jobs`

## Request

- Base URL: `https://api.patricia.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.patricia.app/v1/admin/cron-jobs`
- Auth: HTTP bearer

List cron jobs with filtering, sorting, and pagination.

## Query parameters

- `q` string, nullable: ANTLR filter expression
- `limit` integer, nullable: Page size
- `sort_by` string, nullable: Sort expression (e.g. created_at:desc)
- `fields` string, nullable: Field projection (e.g. id,name)
- `pq` string, nullable: Pagination cursor query
- `from_prev` boolean: Backward pagination flag

## Response `200`

Paginated cron job list.

- ModelsCronCronJobSearchValidator: Typed cursor-paginated list response.
  - `items` ModelsCronCronJobFullValidator[], required
    - `id` string, uuid, required
    - `tenant_id` string, uuid, required
    - `name` string, required
    - `schedule` string, nullable
    - `local_schedule` string, nullable
    - `timezone` string, nullable
    - `run_at` string, date-time, nullable
    - `kind_code` 'reminder' | 'task', required: What a fired ``CronJob`` does (plan 02 §6). ``reminder`` pings the originating conversation with the stored message (no agent run); ``task`` runs the stored prompt as a scheduled agent action and delivers the result back to that conversation.
    - `delivery_conversation_id` string, uuid, nullable
    - `delivery_channel_id` string, nullable
    - `delivery_destination_kind` 'dm' | 'channel' | 'unknown_channel', nullable
    - `billing_skip_reason` 'no_credits' | 'subscription_inactive', nullable
    - `delivery_channel_name` string, nullable
    - `created_by_actor_id` string, uuid, nullable
    - `built_in_template_key` string, nullable
    - `viewer_may_change_instructions` boolean, nullable
    - `auto_approve_level` 'read_only' | 'read_and_write', nullable
    - `summary` string, nullable
    - `instructions` string, nullable
    - `instructions_author_actor_id` string, uuid, nullable
    - `prompt` string, required
    - `condition_script` string, nullable
    - `enabled` boolean, required
    - `model` string, required
    - `cost_tier` string, nullable
    - `locked_by` string, nullable
    - `lease_expires_at` string, date-time, nullable
    - `last_run_at` string, date-time, nullable
    - `next_run_at` string, date-time, nullable
    - `run_count` integer, required
    - `max_runs` integer, nullable
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
  - `first` string, nullable
  - `next` string, nullable
  - `previous` string, nullable

## Other responses

- `401`: Unauthorized
- `403`: Permission denied (PERMISSION_DENIED) or email not verified (EMAIL_NOT_VERIFIED)
- `422`: Validation error

---

[API](https://skmtc.dev/patricia/apis/patricia-api.md) · [All operations](https://skmtc.dev/patricia/apis/patricia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/patricia/apis/patricia-api/revisions/0dfb44495ea1?raw)
