# IRPCScheduledJobsAdmin.GetScheduledJobs

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Administration API](https://developer.m-files.com/APIs/gRPC-API/admin/index.md) > [Scheduled jobs](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCScheduledJobsAdmin/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCScheduledJobsAdmin/GetScheduledJobs/

Badges: `Administration API / specialized` `admin` `session` `idempotent`

Gets the scheduled jobs of the server (server-level session) or of the vault (vault session),
with their run state.

- **Service:** [Scheduled jobs](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCScheduledJobsAdmin/index.md) `MFiles.IRPCScheduledJobsAdmin`
- **gRPC method:** `/MFiles.IRPCScheduledJobsAdmin/GetScheduledJobs`
- **HTTP (mf-http-grpc):** `POST /grpc/v1/get-scheduled-jobs`
- **Request:** [`GetScheduledJobsRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCScheduledJobsAdmin/GetScheduledJobs/index.md#request)
- **Response:** [`GetScheduledJobsResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCScheduledJobsAdmin/GetScheduledJobs/index.md#response)
- **Book and level:** Administration API, specialized
- **Kind:** admin
- **Session:** Required: the session ID from LogIn in the mfiles-session-id-bin metadata.
- **Idempotent:** yes
- **Returns metadata structure version:** no
- **Streaming:** none (unary)

<a id="remarks"></a>

## Remarks

- Returns only the jobs the caller has rights to; fails with "Access denied." if it has rights
  to none. Temporary jobs are not included.
- In a vault session, optimize vault jobs are returned only if the session was opened with
  `client_data.capabilities.vault_level_optimization_jobs` true.
- Allowed also when the vault is offline.

<a id="request"></a>

## Request: GetScheduledJobsRequest

No fields.

<a id="response"></a>

## Response: GetScheduledJobsResponse

A structure that specifies the response type for the corresponding method.

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `jobs[]` | repeated [`ScheduledJob`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ScheduledJob/index.md) | The scheduled jobs. |
| `jobs[].id` | `int32` | Job ID. |
| `jobs[].name` | `string` | Job name. |
| `jobs[].is_enabled` | `bool` | If true, the job is enabled (runs according to the specified schedule). |
| `jobs[].schedule` | `bytes` | The schedule of this job (a serialized Task object of Task Scheduler). |
| `jobs[].type` | [`JobType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.JobType/index.md) | Job type. Values: `JOB_TYPE_UNINITIALIZED` (0), `JOB_TYPE_BACKUP` (1), `JOB_TYPE_RESTORE` (2), `JOB_TYPE_COPY_VAULT` (3), `JOB_TYPE_VERIFY_VAULT` (4), `JOB_TYPE_ARCHIVE_OBJECTS` (5), `JOB_TYPE_ARCHIVE_OLD_VERSIONS` (6), `JOB_TYPE_RESTORE_FROM_ARCHIVE` (7), `JOB_TYPE_OPTIMIZE_VAULT` (8), `JOB_TYPE_RECALCULATE_PROPERTY` (9), `JOB_TYPE_MIGRATE_VAULT` (10), `JOB_TYPE_ENCRYPT_FILE_DATA` (11). |
| `jobs[].data` | [`JobDataUnion`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.JobDataUnion/index.md) | The job details as a union. |
| `jobs[].data.backup` | [`BackupJob`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.BackupJob/index.md) (oneof data) | Backup job. |
| `jobs[].data.restore` | [`RestoreJob`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.RestoreJob/index.md) (oneof data) | Restore job. |
| `jobs[].data.copy_vault` | [`CopyVaultJob`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.CopyVaultJob/index.md) (oneof data) | Vault copying job. |
| `jobs[].data.verify_vault` | [`VerifyVaultJob`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.VerifyVaultJob/index.md) (oneof data) | Vault verifying job. |
| `jobs[].data.archive_objects` | [`ArchiveDocsJob`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ArchiveDocsJob/index.md) (oneof data) | Archiving documents job. |
| `jobs[].data.archive_old_versions` | [`ArchiveOldVersionsJob`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ArchiveOldVersionsJob/index.md) (oneof data) | Archiving old document versions job. |
| `jobs[].data.restore_from_archive` | [`RestoreFromArchiveJob`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.RestoreFromArchiveJob/index.md) (oneof data) | Restoring documents from archive job. |
| `jobs[].data.optimize_vault` | [`OptimizeVaultJob`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.OptimizeVaultJob/index.md) (oneof data) | Optimize the vault. |
| `jobs[].data.recalculate_property` | [`RecalculateJob`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.RecalculateJob/index.md) (oneof data) | Recalculate a property. |
| `jobs[].data.migrate_vault` | [`MigrateVaultJob`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.MigrateVaultJob/index.md) (oneof data) | Vault migration job. |
| `jobs[].data.encrypt_file_data` | [`EncryptFileDataJob`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.EncryptFileDataJob/index.md) (oneof data) | Vault file data encryption job. |
| `jobs[].is_temporary` | `bool` | True if the job is temporary and thus executed only once. Temporary jobs are not scheduled so their run info should not be interpreted. |
| `run_infos[]` | repeated [`ScheduledJobRunInfo`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ScheduledJobRunInfo/index.md) | The run state of each job, at the same index as in `jobs`. |
| `run_infos[].is_running` | `bool` | True if the job is currently running. |
| `run_infos[].next_run_utc` | [`google.protobuf.Timestamp`](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp) | The next time the job will run. Zero to indicate no next run time. |
| `run_infos[].last_run_utc` | [`google.protobuf.Timestamp`](https://protobuf.dev/reference/protobuf/google.protobuf/#timestamp) | The last time the job ran. Zero to indicate that the job has never run (or is still running for the first time). |
| `run_infos[].last_run_succeeded` | `bool` | True if the last run at ftLastRun was successful, false otherwise. |
| `run_infos[].last_run_errors` | `string` | Error string from the last run (if any). |
| `run_infos[].last_run_cancelled` | `bool` | True if the job is cancelled. |
| `run_infos[].current_step` | `int32` | -1 or a current job step. 0 indicates the beginning. When positive, value depends on the underlying job that is being executed. Steps are numbered sequentially from 1 to forward. |
| `run_infos[].curent_step_completion` | `int32` | -1 or the completion percent of a current job. This is always an estimate. |
| `run_infos[].output` | [`ScheduledJobOutputInfo`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ScheduledJobOutputInfo/index.md) | The output information on the job. Available only when the job is not running (e.g. bRunning and is false). |
| `run_infos[].output.id` | `int32` | Job ID. |
| `run_infos[].output.message` | `string` | General output info message. |
| `run_infos[].output.type` | [`JobType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.JobType/index.md) | Job type. Values: `JOB_TYPE_UNINITIALIZED` (0), `JOB_TYPE_BACKUP` (1), `JOB_TYPE_RESTORE` (2), `JOB_TYPE_COPY_VAULT` (3), `JOB_TYPE_VERIFY_VAULT` (4), `JOB_TYPE_ARCHIVE_OBJECTS` (5), `JOB_TYPE_ARCHIVE_OLD_VERSIONS` (6), `JOB_TYPE_RESTORE_FROM_ARCHIVE` (7), `JOB_TYPE_OPTIMIZE_VAULT` (8), `JOB_TYPE_RECALCULATE_PROPERTY` (9), `JOB_TYPE_MIGRATE_VAULT` (10), `JOB_TYPE_ENCRYPT_FILE_DATA` (11). |
| `run_infos[].output.data` | [`JobOutputInfoDataUnion`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.JobOutputInfoDataUnion/index.md) | The job output info details as a union. |
