# uip eval schedule

> Syntax and options for `uip eval schedule`, which creates, lists, updates, pauses, resumes, and deletes recurring evaluation-run schedules for an Orchestrator process.

`uip eval schedule` manages recurring evaluation runs for an Orchestrator process: create a cron-triggered schedule that runs a given eval set against the process on a timer, then list, inspect, update, pause, resume, or delete it. This is the scheduled counterpart to a one-off run — see [`uip eval`](./uip-eval.md) for the overview of the whole `eval` subsystem, including `execute-and-evaluate` (run once, synchronously) and `run` (inspect past runs). For what an eval set actually contains, see [`uip eval eval-set`](./uip-eval-sets-evaluations.md).

Every schedule belongs to one process (`--process-key`) and runs one eval set (`--eval-set-id`) on a five-field UTC cron expression.

## Synopsis

```
uip eval schedule create  --process-key <guid> --eval-set-id <guid> --cron <expr> [--workload-id <guid>] [--folder-key <guid>] [--tenant <tenant>]
uip eval schedule list    --process-key <guid> [--tenant <tenant>]
uip eval schedule get     <schedule-id> --process-key <guid> [--tenant <tenant>]
uip eval schedule update  <schedule-id> --process-key <guid> [--eval-set-id <guid>] [--cron <expr>] [--tenant <tenant>]
uip eval schedule pause   <schedule-id> --process-key <guid> [--tenant <tenant>]
uip eval schedule resume  <schedule-id> --process-key <guid> [--tenant <tenant>]
uip eval schedule delete  <schedule-id> --process-key <guid> [--tenant <tenant>]
```

## Verbs

| Verb | Purpose |
|---|---|
| `create` | Create a new recurring schedule for a process. |
| `list` | List every schedule for a process. |
| `get` | Fetch one schedule by ID. |
| `update` | Change a schedule's eval set and/or cron expression. |
| `pause` | Pause an active schedule. |
| `resume` | Resume a paused schedule. |
| `delete` | Delete a schedule. |

## uip eval schedule create

Create a schedule that runs an eval set against a process on a recurring UTC cron trigger.

If `--workload-id` or `--folder-key` are omitted, the command looks up the eval set first (`GET .../evalSets/<eval-set-id>`) and fills both in from it — you only need to pass them explicitly to override that resolution.

### Options

| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | `--process-key` | GUID | — | **Required.** Process key (deployment GUID) — identifies the Orchestrator release. |
| — | `--workload-id` | GUID | resolved from eval set | Workload ID. |
| — | `--eval-set-id` | GUID | — | **Required.** Eval set to run on each trigger. |
| — | `--cron` | cron expression | — | **Required.** Five-field cron expression, evaluated in UTC (for example `"0 9 * * *"` for daily at 9 AM UTC). |
| — | `--folder-key` | GUID | resolved from eval set | Orchestrator folder key. |
| — | `--tenant` | name | session default | UiPath tenant name. Plain option, not deprecated. |

### Examples

```bash
# Daily at 9 AM UTC
uip eval schedule create --process-key 9e4b2f17-7c3a-4d81-b592-3f6e8a1d5c09 \
  --eval-set-id f3a7d219-8b4c-4e62-a951-7d3f6e2c8b04 --cron "0 9 * * *"
```

### Data shape (--output json)

```json
{
  "Code": "EvalScheduleCreated",
  "Data": {
    "ScheduleId": "b2c3d4e5-0000-0000-0000-000000000001",
    "WorkloadId": "a1b2c3d4-0000-0000-0000-000000000001",
    "ProcessKey": "9e4b2f17-7c3a-4d81-b592-3f6e8a1d5c09",
    "FolderKey": "a9f3b2c1-7d4e-4a8b-9c2f-5e1d3b6a8f7e",
    "EvalSetId": "f3a7d219-8b4c-4e62-a951-7d3f6e2c8b04",
    "CronExpression": "0 9 * * *",
    "Status": "active",
    "CreatedAt": "2025-04-15T10:29:55Z"
  }
}
```

`UpdatedAt` is present only once a schedule has been changed at least once (absent on a fresh `create` response).

## uip eval schedule list

List every schedule registered for a process.

### Options

| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | `--process-key` | GUID | — | **Required.** Process key. |
| — | `--tenant` | name | session default | UiPath tenant name. |

### Examples

```bash
uip eval schedule list --process-key 9e4b2f17-7c3a-4d81-b592-3f6e8a1d5c09
```

### Data shape (--output json)

```json
{
  "Code": "EvalScheduleList",
  "Data": [
    {
      "ScheduleId": "b2c3d4e5-0000-0000-0000-000000000001",
      "WorkloadId": "a1b2c3d4-0000-0000-0000-000000000001",
      "ProcessKey": "9e4b2f17-7c3a-4d81-b592-3f6e8a1d5c09",
      "FolderKey": "a9f3b2c1-7d4e-4a8b-9c2f-5e1d3b6a8f7e",
      "EvalSetId": "f3a7d219-8b4c-4e62-a951-7d3f6e2c8b04",
      "CronExpression": "0 9 * * *",
      "Status": "active",
      "CreatedAt": "2025-04-15T10:29:55Z"
    }
  ]
}
```

## uip eval schedule get

Fetch one schedule by ID.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<schedule-id>` | yes | Schedule GUID, from `create` or `list`. |

### Options

| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | `--process-key` | GUID | — | **Required.** Process key. |
| — | `--tenant` | name | session default | UiPath tenant name. |

### Examples

```bash
uip eval schedule get b2c3d4e5-0000-0000-0000-000000000001 \
  --process-key 9e4b2f17-7c3a-4d81-b592-3f6e8a1d5c09
```

### Data shape (--output json)

```json
{
  "Code": "EvalScheduleDetails",
  "Data": {
    "ScheduleId": "b2c3d4e5-0000-0000-0000-000000000001",
    "WorkloadId": "a1b2c3d4-0000-0000-0000-000000000001",
    "ProcessKey": "9e4b2f17-7c3a-4d81-b592-3f6e8a1d5c09",
    "FolderKey": "a9f3b2c1-7d4e-4a8b-9c2f-5e1d3b6a8f7e",
    "EvalSetId": "f3a7d219-8b4c-4e62-a951-7d3f6e2c8b04",
    "CronExpression": "0 9 * * *",
    "Status": "active",
    "CreatedAt": "2025-04-15T10:29:55Z"
  }
}
```

## uip eval schedule update

Change a schedule's eval set and/or cron expression. At least one of `--eval-set-id`/`--cron` is required — passing neither fails client-side before any network call.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<schedule-id>` | yes | Schedule to update. |

### Options

| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | `--process-key` | GUID | — | **Required.** Process key. |
| — | `--eval-set-id` | GUID | — | New eval set. At least one of this or `--cron` is required. |
| — | `--cron` | cron expression | — | New five-field cron expression, UTC. At least one of this or `--eval-set-id` is required. |
| — | `--tenant` | name | session default | UiPath tenant name. |

### Examples

```bash
uip eval schedule update b2c3d4e5-0000-0000-0000-000000000001 \
  --process-key 9e4b2f17-7c3a-4d81-b592-3f6e8a1d5c09 --cron "0 */6 * * *"
```

### Data shape (--output json)

```json
{
  "Code": "EvalScheduleUpdated",
  "Data": {
    "ScheduleId": "b2c3d4e5-0000-0000-0000-000000000001",
    "WorkloadId": "a1b2c3d4-0000-0000-0000-000000000001",
    "ProcessKey": "9e4b2f17-7c3a-4d81-b592-3f6e8a1d5c09",
    "FolderKey": "a9f3b2c1-7d4e-4a8b-9c2f-5e1d3b6a8f7e",
    "EvalSetId": "f3a7d219-8b4c-4e62-a951-7d3f6e2c8b04",
    "CronExpression": "0 */6 * * *",
    "Status": "active",
    "CreatedAt": "2025-04-15T10:29:55Z",
    "UpdatedAt": "2025-04-16T08:00:00Z"
  }
}
```

Omitting both `--eval-set-id` and `--cron` fails with:

```json
{
  "Result": "Failure",
  "Message": "At least one of --eval-set-id or --cron must be provided.",
  "Instructions": "Provide the field(s) you want to update."
}
```

## uip eval schedule pause

Pause an active schedule — no further runs trigger until `resume`.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<schedule-id>` | yes | Schedule to pause. |

### Options

| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | `--process-key` | GUID | — | **Required.** Process key. |
| — | `--tenant` | name | session default | UiPath tenant name. |

### Examples

```bash
uip eval schedule pause b2c3d4e5-0000-0000-0000-000000000001 \
  --process-key 9e4b2f17-7c3a-4d81-b592-3f6e8a1d5c09
```

### Data shape (--output json)

```json
{
  "Code": "EvalSchedulePaused",
  "Data": {
    "ScheduleId": "b2c3d4e5-0000-0000-0000-000000000001",
    "WorkloadId": "a1b2c3d4-0000-0000-0000-000000000001",
    "ProcessKey": "9e4b2f17-7c3a-4d81-b592-3f6e8a1d5c09",
    "FolderKey": "a9f3b2c1-7d4e-4a8b-9c2f-5e1d3b6a8f7e",
    "EvalSetId": "f3a7d219-8b4c-4e62-a951-7d3f6e2c8b04",
    "CronExpression": "0 9 * * *",
    "Status": "paused",
    "CreatedAt": "2025-04-15T10:29:55Z"
  }
}
```

## uip eval schedule resume

Resume a paused schedule.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<schedule-id>` | yes | Schedule to resume. |

### Options

| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | `--process-key` | GUID | — | **Required.** Process key. |
| — | `--tenant` | name | session default | UiPath tenant name. |

### Examples

```bash
uip eval schedule resume b2c3d4e5-0000-0000-0000-000000000001 \
  --process-key 9e4b2f17-7c3a-4d81-b592-3f6e8a1d5c09
```

### Data shape (--output json)

```json
{
  "Code": "EvalScheduleResumed",
  "Data": {
    "ScheduleId": "b2c3d4e5-0000-0000-0000-000000000001",
    "WorkloadId": "a1b2c3d4-0000-0000-0000-000000000001",
    "ProcessKey": "9e4b2f17-7c3a-4d81-b592-3f6e8a1d5c09",
    "FolderKey": "a9f3b2c1-7d4e-4a8b-9c2f-5e1d3b6a8f7e",
    "EvalSetId": "f3a7d219-8b4c-4e62-a951-7d3f6e2c8b04",
    "CronExpression": "0 9 * * *",
    "Status": "active",
    "CreatedAt": "2025-04-15T10:29:55Z"
  }
}
```

## uip eval schedule delete

Delete a schedule permanently.

### Arguments

| Name | Required | Purpose |
|---|---|---|
| `<schedule-id>` | yes | Schedule to delete. |

### Options

| Short | Long | Value | Default | Description |
|---|---|---|---|---|
| — | `--process-key` | GUID | — | **Required.** Process key. |
| — | `--tenant` | name | session default | UiPath tenant name. |

### Examples

```bash
uip eval schedule delete b2c3d4e5-0000-0000-0000-000000000001 \
  --process-key 9e4b2f17-7c3a-4d81-b592-3f6e8a1d5c09
```

### Data shape (--output json)

```json
{
  "Code": "EvalScheduleDeleted",
  "Data": { "ScheduleId": "b2c3d4e5-0000-0000-0000-000000000001" }
}
```

## Related commands

- [`uip eval`](./uip-eval.md) — overview, `execute-and-evaluate`, and `run`.
- [`uip eval evaluator`](./uip-eval-evaluators.md) — define the evaluators a schedule's eval set can use.
- [`uip eval eval-set` / `evaluation`](./uip-eval-sets-evaluations.md) — define what a schedule actually runs.

## See also

- [`uip or` overview](./uip-or.md) — shared conventions for every `uip or` verb.
- [Global options](./global-options.md)
- [Exit codes](./exit-codes.md)
