> This page is for API.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.eon.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.eon.io/_mcp/server.

# Get Restore Job

GET https://%7Baccount-domain%7D.console.eon.io/api/v1/projects/{projectId}/restore-jobs/{jobId}

Retrieves a restore job by ID.

Reference: https://docs.eon.io/api/api-reference/jobs/restore-jobs/get-restore-job

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Path parameters

- `projectId` (string, required) — ID of the project the job is in. You can get your project ID from the [API Credentials](https://console.eon.io/global-management/api-credentials) page in your global management console.
- `jobId` (string, required) — ID of the job to retrieve.

## Response

### 200

Job retrieved.

- `job` (RestoreJob, required)

## Errors

### 404 Not Found Error

Job wasn't found.

- `any`

## Types

### RestoreJob

- `jobExecutionDetails` (JobExecutionDetails, required) — Information about the restore job.
- `destinationDetails` (DestinationDetails, required)
- `restoreType` (enum, required) — Type of restore. Value represents the cloud provider, resource type, and restore method.
  - Allowed values: `RESTORE_JOB_TYPE_UNSPECIFIED`, `AWS_S3_OBJECT_RESTORE`, `AWS_S3_BUCKET_RESTORE`, `AWS_EC2_FILE_RESTORE`, `AWS_EC2_INSTANCE_RESTORE`, `AWS_EC2_AMI_CONVERT`, `AWS_EC2_EBS_VOLUME_RESTORE`, `AWS_EC2_EBS_SNAPSHOT_CONVERT`, `AWS_EC2_RECORD_RESTORE`, `AWS_RDS_INSTANCE_RESTORE`, `AWS_RDS_RECORD_RESTORE`, `AWS_EKS_NAMESPACE_RESTORE`, `AWS_EKS_NAMESPACE_RECORD_RESTORE`, `AWS_EKS_FILE_RESTORE`, `AWS_DYNAMO_DB_TABLE_RESTORE`, `AWS_DYNAMO_DB_TABLE_TO_EXISTING_TABLE_RESTORE`, `AWS_DYNAMO_DB_RECORD_RESTORE`, `AZURE_STORAGE_ACCOUNT_RESTORE`, `AZURE_STORAGE_ACCOUNT_BLOB_RESTORE`, `AZURE_VM_FILE_RESTORE`, `AZURE_VM_DISK_RESTORE`, `AZURE_VM_INSTANCE_RESTORE`, `AZURE_VM_RECORD_RESTORE`, `AZURE_SQL_DATABASE_RECORD_RESTORE`, `AZURE_SQL_DATABASE_RESTORE`, `AZURE_SQL_VM_INSTANCE_RESTORE`, `AZURE_SQL_VM_RECORD_RESTORE`, `GCP_CLOUD_STORAGE_BUCKET_RESTORE`, `GCP_CLOUD_STORAGE_OBJECT_RESTORE`, `GCP_COMPUTE_ENGINE_FILE_RESTORE`, `GCP_COMPUTE_ENGINE_DISK_RESTORE`, `GCP_COMPUTE_ENGINE_INSTANCE_RESTORE`, `GCP_COMPUTE_ENGINE_RECORD_RESTORE`, `GCP_CLOUD_SQL_DATABASE_RESTORE`, `GCP_CLOUD_SQL_RECORD_RESTORE`, `GCP_BIGQUERY_DATASET_RESTORE`, `GCP_BIGQUERY_RECORD_RESTORE`, `GCP_BIGQUERY_NATIVE_RESTORE_DATASET`, `GCP_BIGQUERY_NATIVE_RESTORE_TABLE`, `RDS_NATIVE_PITR_RESTORE`, `AWS_FSX_RESTORE`, `ATLAS_CLUSTER_RESTORE`, `ATLAS_CLUSTER_RECORD_RESTORE`
- `resourceDetails` (ResourceDetails, optional) — Information about the resource being restored. Represents the resource's state at the time it was backed up.
- `snapshotDetails` (JobSnapshotDetails, optional) — Information about the Eon snapshot being restored.
- `vault` (RestoreJobVault, optional, nullable) — Information about the vault the snapshot is being restored from.

### JobExecutionDetails

- `jobId` (string, required) — Job ID.
- `status` (enum, required) — Job status. `JOB_UNSPECIFIED` is supported only in responses.
  - Allowed values: `JOB_UNSPECIFIED`, `JOB_PENDING`, `JOB_RUNNING`, `JOB_COMPLETED`, `JOB_FAILED`, `JOB_PARTIAL`, `JOB_CANCELED`, `JOB_REJECTED`, `JOB_SKIPPED`
- `createdTime` (datetime, required) — Date and time the job was created.
- `expectedStartTime` (datetime, optional, nullable) — Date and time the job is expected to start. Returned only for pending jobs.
- `startTime` (datetime, optional, nullable) — Date and time the job started.
- `endTime` (datetime, optional, nullable) — Date and time the job finished.
- `durationSeconds` (long, optional, nullable) — How long the job took, in seconds.
- `errorCode` (enum, optional) — Code indicating the type of error.
  - Allowed values: `INTERNAL_JOB_ERROR`, `JOB_CANCELED_ERROR`, `CLOUD_OPERATION_FAILED`, `FAILED_TO_GET_RESOURCE_INFORMATION`, `RESOURCE_IS_TERMINATED`, `INVALID_RESOURCE_STATE`, `INVALID_RESOURCE_CONFIGURATION`, `RESOURCE_CONFLICT`, `UNSUPPORTED_OPERATION_ON_RESOURCE`, `FAILED_TO_CREATE_RESOURCE`, `FAILED_TO_START_RESOURCE`, `FAILED_TO_STOP_RESOURCE`, `FAILED_TO_GET_STORAGE_INFORMATION`, `FAILED_TO_CREATE_STORAGE`, `FAILED_TO_DELETE_STORAGE`, `FAILED_TO_ATTACH_STORAGE`, `FAILED_TO_DETACH_STORAGE`, `FAILED_TO_CREATE_IMAGE`, `FAILED_TO_GET_SNAPSHOT_INFORMATION`, `FAILED_TO_TAKE_SNAPSHOT`, `FAILED_TO_USE_SNAPSHOT`, `FAILED_TO_DELETE_SNAPSHOT`, `SNAPSHOT_QUOTA_EXCEEDED`, `RESOURCE_USAGE_QUOTA_EXCEEDED`, `AUTHENTICATION_FAILURE`, `INVALID_ACCOUNT_CONFIGURATION`, `INVALID_VAULT_CONFIGURATION`, `INVALID_INPUT_PARAMETERS`, `TOO_MANY_REQUESTS`, `BACKUP_CONFLICT`, `CLASSIFICATION_CONFLICT`, `FAILED_TO_RUN_QUERY`, `OPERATION_DENIED_BY_CONFIGURATION`, `INSUFFICIENT_ENCRYPTION_PERMISSIONS`
- `statusMessage` (string, optional) — Message that gives additional details about the job status, if applicable.

### DestinationDetails

- `restoreAccountId` (string, required) — Eon-assigned restore account ID.
- `providerAccountId` (string, required) — Cloud-provider-assigned restore account ID.
- `cloudProvider` (enum, required) — Cloud provider. `PROVIDER_UNSPECIFIED` is supported only in responses.
  - Allowed values: `AWS`, `AZURE`, `GCP`, `MONGO_ATLAS`, `PROVIDER_UNSPECIFIED`
- `region` (string, required) — Region the data is restored to.
- `restoreResult` (RestoreResult, optional)

### ResourceDetails

- `id` (string, required) — Eon-assigned resource ID.
- `providerResourceId` (string, required) — Cloud-provider-assigned resource ID.
- `resourceName` (string, required) — Resource display name.
- `resourceType` (enum, required) — Resource type identifier combining cloud provider and service type. `RESOURCE_TYPE_UNSPECIFIED` is supported only in responses.
  - Allowed values: `AWS_EC2`, `AWS_RDS`, `AWS_S3`, `AWS_EFS`, `AWS_FSX`, `AWS_EKS_NAMESPACE`, `AWS_DYNAMO_DB`, `AZURE_VIRTUAL_MACHINE`, `AZURE_FILE_SHARE`, `AZURE_STORAGE_ACCOUNT`, `AZURE_DISK`, `AZURE_SQL_DATABASE`, `AZURE_SQL_MANAGED_INSTANCE`, `AZURE_SQL_VIRTUAL_MACHINE`, `AZURE_MYSQL`, `AZURE_POSTGRESQL`, `AZURE_COSMOSDB_MONGODB`, `AZURE_COSMOSDB_NOSQL`, `ATLAS_MONGODB_CLUSTER`, `GCP_COMPUTE_ENGINE_INSTANCE`, `GCP_CLOUD_SQL_INSTANCE`, `GCP_CLOUD_STORAGE_BUCKET`, `RESOURCE_TYPE_UNSPECIFIED`
- `providerAccountId` (string, required) — Cloud-provider-assigned account ID.
- `cloudProvider` (enum, required) — Cloud provider. `PROVIDER_UNSPECIFIED` is supported only in responses.
  - Allowed values: `AWS`, `AZURE`, `GCP`, `MONGO_ATLAS`, `PROVIDER_UNSPECIFIED`
- `region` (string, required) — Region the resource is hosted in.
- `sourceStorageSizeBytes` (long, required) — Total storage size at the source, in bytes.

### JobSnapshotDetails

Eon snapshot.

- `pointInTime` (datetime, required) — Date and time of the resource that's preserved by the snapshot.
- `id` (string, optional) — Snapshot ID.
- `expirationTime` (datetime, optional) — Date and time the snapshot's retention is expected to expire, after which it's marked for deletion.

### RestoreJobVault

Information about the vault the snapshot is being restored from.

### RestoreResult

- `awsEc2Instance` (AwsEc2InstanceRestoreResult, optional)
- `awsEbsVolume` (AwsEbsVolumeRestoreResult, optional)
- `azureDisk` (AzureDiskRestoreResult, optional)
- `azureVmInstance` (AzureVmInstanceRestoreResult, optional)
- `gcpVmInstance` (GcpVmInstanceRestoreResult, optional)
- `gcpBigQuery` (GcpBigQueryDatasetRestoreResult, optional)

### BackupVault

- `id` (string, required) — Vault ID.
- `vaultAccountId` (string, required) — Eon-assigned ID of the vault account.
- `providerAccountId` (string, required) — Cloud provider-assigned ID of the vault account.
- `name` (string, required) — Vault display name.
- `region` (string, required) — Region where the vault is located.
- `isManagedByEon` (boolean, required) — Whether the vault is in an Eon-managed vault account.
- `vaultAttributes` (VaultProviderAttributes, required) — Cloud-provider-specific vault attributes.

### AwsEc2InstanceRestoreResult

- `instanceId` (string, required) — ID of the restored EC2 instance.

### AwsEbsVolumeRestoreResult

- `volumeId` (string, required) — ID of the restored EBS volume.

### AzureDiskRestoreResult

- `diskId` (string, required) — ID of the restored Azure disk.

### AzureVmInstanceRestoreResult

- `instanceId` (string, required) — ID of the restored VM instance.

### GcpVmInstanceRestoreResult

- `instanceId` (string, required) — ID of the restored VM instance.

### GcpBigQueryDatasetRestoreResult

- `datasetId` (string, required) — ID of the restored BigQuery dataset.

### VaultProviderAttributes

Cloud-provider-specific vault attributes.

- `cloudProvider` (enum, required) — Cloud provider. `PROVIDER_UNSPECIFIED` is supported only in responses.
  - Allowed values: `AWS`, `AZURE`, `GCP`, `MONGO_ATLAS`, `PROVIDER_UNSPECIFIED`
- `aws` (AwsVaultConfig, optional) — AWS-specific vault configuration.

### AwsVaultConfig

AWS-specific vault configuration.

- `encryptionKey` (string, optional) — ARN of the KMS key used for encryption. Omitted if the key is managed by Eon.

## Examples

**Response**

```json
{
  "job": {
    "jobExecutionDetails": {
      "jobId": "2cfe604d-1fc3-5db2-9f4c-2044f08e9411",
      "status": "JOB_PENDING",
      "createdTime": "2025-06-12T20:18:35.073285Z",
      "expectedStartTime": "2025-06-12T20:38:35.073285Z",
      "startTime": "2025-06-12T20:28:35.073285Z",
      "endTime": "2025-06-12T20:50:53.130436Z",
      "durationSeconds": 1338,
      "errorCode": "INVALID_RESOURCE_STATE",
      "statusMessage": "string"
    },
    "destinationDetails": {
      "restoreAccountId": "146586e8-f69a-5148-9d7b-7c3a6b006048",
      "providerAccountId": "836638811603",
      "cloudProvider": "AWS",
      "region": "us-east-1",
      "restoreResult": {
        "awsEc2Instance": {
          "instanceId": "i-1234567890abcdef0"
        },
        "awsEbsVolume": {
          "volumeId": "vol-1234567890abcdef0"
        },
        "azureDisk": {
          "diskId": "i-1234567890abcdef0"
        },
        "azureVmInstance": {
          "instanceId": "string"
        },
        "gcpVmInstance": {
          "instanceId": "string"
        },
        "gcpBigQuery": {
          "datasetId": "my_restored_dataset"
        }
      }
    },
    "restoreType": "AWS_EC2_INSTANCE_RESTORE",
    "resourceDetails": {
      "id": "d38906a7-ef8e-50f5-868e-2109ab881b15",
      "providerResourceId": "db-IPQ7PQ3Q7UMA2LIGOOSUV3B5XU",
      "resourceName": "customers db",
      "resourceType": "AWS_EC2",
      "providerAccountId": "123456789012",
      "cloudProvider": "AWS",
      "region": "eu-central-1",
      "sourceStorageSizeBytes": 561566973952
    },
    "snapshotDetails": {
      "pointInTime": "2024-10-29T23:01:30Z",
      "id": "67e0447a-10a4-5cde-8fc2-2a8cac051e16",
      "expirationTime": "2025-01-20T09:40:26Z"
    },
    "vault": {
      "id": "37732835-d768-5990-ba93-a7c2d2e6d754",
      "isManagedByEon": true,
      "name": "AWS US East 1",
      "providerAccountId": "123412341234",
      "region": "us-east-1",
      "vaultAccountId": "1ee34dc5-0a7c-4e56-a820-917371e05c8d",
      "vaultAttributes": {
        "aws": {
          "encryptionKey": "arn:aws:kms:us-east-1:123456789012:key/4692190d-ae52-56fe-9937-6aa2c4e3df62"
        },
        "cloudProvider": "AWS"
      }
    }
  }
}
```

**SDK Code**

```python
import requests

url = "https://{account-domain}.console.eon.io/api/v1/projects/1ee34dc5-0a7c-4e56-a820-917371e05c8d/restore-jobs/806f6781-1d66-4c7d-9f0e-e7da04e12541"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://{account-domain}.console.eon.io/api/v1/projects/1ee34dc5-0a7c-4e56-a820-917371e05c8d/restore-jobs/806f6781-1d66-4c7d-9f0e-e7da04e12541';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://{account-domain}.console.eon.io/api/v1/projects/1ee34dc5-0a7c-4e56-a820-917371e05c8d/restore-jobs/806f6781-1d66-4c7d-9f0e-e7da04e12541")
  .header("Authorization", "Bearer <token>")
  .asString();
```