Eon snapshots API
Manage resource snapshots and point-in-time recovery points.
Manage resource snapshots and point-in-time recovery points.
openapi: 3.0.0
info:
description: The Eon.io REST API
title: Eon accounts snapshots API
version: 1.0.0
servers:
- url: /
security:
- ApiKeyAuth: []
tags:
- description: Manage resource snapshots and point-in-time recovery points.
name: snapshots
x-displayName: Snapshots
paths:
/v1/projects/{projectId}/resources/{id}/snapshots/{snapshotId}/restore-files:
post:
description: 'Description: Restores files from an Eon snapshot.
This operation is asynchronous.
It triggers a restore job and returns a job ID, which can be used to track the progress of the restore job.
You can follow the progress of the restore job by calling [Get Restore Job](/api/api-reference/jobs/restore-jobs/get-restore-job) with the job ID.
'
operationId: restoreFiles
parameters:
- description: 'ID of the project the snapshot 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.
'
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned resource ID.
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: id
required: true
schema:
format: tobedefined
type: string
style: simple
- description: ID of the Eon [snapshot](/api/api-reference/backups/snapshots/list-resource-snapshots) to restore.
example: c11d3c11-7be5-4ee4-9eb8-2024d9c04904
explode: false
in: path
name: snapshotId
required: true
schema:
format: uuid
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreFilesRequest'
required: true
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreJobInitiationResponse'
description: Restore job started.
'404':
description: Project, resource, or snapshot wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Restore Files
tags:
- snapshots
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: snapshot
key: snapshotId
- in: reqBody
entityType: restore_account
key: restoreAccountId
x-permissions:
- create:restore_file
x-audit-log:
action: trigger
entityRefs:
- entityType: restore_cloud_account
in: reqBody
key: restoreAccountId
- entityType: cloud_resource
in: path
key: id
- entityType: snapshot
in: path
key: snapshotId
- entityType: restore_job
in: resBody
key: jobId
/v1/projects/{projectId}/resources/{id}/snapshots/{snapshotId}/restore-bucket:
post:
description: 'Description: Restores a bucket from an Eon snapshot.
This operation is asynchronous.
It triggers a restore job and returns a job ID, which can be used to track the progress of the restore job.
You can follow the progress of the restore job by calling [Get Restore Job](/api/api-reference/jobs/restore-jobs/get-restore-job) with the job ID.
'
operationId: restoreBucket
parameters:
- description: 'ID of the project the snapshot 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.
'
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned resource ID.
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: id
required: true
schema:
format: tobedefined
type: string
style: simple
- description: ID of the Eon [snapshot](/api/api-reference/backups/snapshots/list-resource-snapshots) to restore.
example: c11d3c11-7be5-4ee4-9eb8-2024d9c04904
explode: false
in: path
name: snapshotId
required: true
schema:
format: uuid
type: string
style: simple
- description: 'ID of an APPROVED action approval request authorizing this operation. When set, the gateway
validates the request envelope still matches the captured one and atomically
marks it EXECUTED before letting the operation run. Single-use; ignored on routes
that are not action-approval-protected.
'
explode: false
in: header
name: X-Action-Approval-Request-Id
required: false
schema:
format: uuid
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreBucketRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/MPAInterceptedResponse'
description: 'The operation is MPA-protected. An MPA request was created in CREATED status.
The caller should confirm via the submit endpoint (POST .../submit with action CONFIRM)
or discard (action DISCARD). The operation did not run.
'
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreJobInitiationResponse'
description: Restore job started.
'404':
description: Project, resource, or snapshot wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Restore Bucket
tags:
- snapshots
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: snapshot
key: snapshotId
- in: reqBody
entityType: restore_account
key: restoreAccountId
x-permissions:
- create:restore_resource
x-mpa:
operation: MPA_OPERATION_RESTORE_RESOURCE
target:
entityType: snapshot
in: path
key: snapshotId
x-audit-log:
action: trigger
entityRefs:
- entityType: restore_cloud_account
in: reqBody
key: restoreAccountId
- entityType: cloud_resource
in: path
key: id
- entityType: snapshot
in: path
key: snapshotId
- entityType: restore_job
in: resBody
key: jobId
/v1/projects/{projectId}/resources/{id}/snapshots/{snapshotId}/restore-bigquery-dataset:
post:
description: 'Description: Restores a BigQuery dataset from an Eon snapshot.
This operation is asynchronous.
It triggers a restore job and returns a job ID, which can be used to track the progress of the restore job.
You can follow the progress of the restore job by calling [Get Restore Job](/api/api-reference/jobs/restore-jobs/get-restore-job) with the job ID.
'
operationId: restoreBigQueryDataset
parameters:
- description: 'ID of the project the snapshot 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.
'
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned resource ID.
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: id
required: true
schema:
format: tobedefined
type: string
style: simple
- description: ID of the Eon [snapshot](/api/api-reference/backups/snapshots/list-resource-snapshots) to restore.
example: c11d3c11-7be5-4ee4-9eb8-2024d9c04904
explode: false
in: path
name: snapshotId
required: true
schema:
format: uuid
type: string
style: simple
- description: 'ID of an APPROVED action approval request authorizing this operation. When set, the gateway
validates the request envelope still matches the captured one and atomically
marks it EXECUTED before letting the operation run. Single-use; ignored on routes
that are not action-approval-protected.
'
explode: false
in: header
name: X-Action-Approval-Request-Id
required: false
schema:
format: uuid
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreBigQueryDatasetRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/MPAInterceptedResponse'
description: 'The operation is MPA-protected. An MPA request was created in CREATED status.
The caller should confirm via the submit endpoint (POST .../submit with action CONFIRM)
or discard (action DISCARD). The operation did not run.
'
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreJobInitiationResponse'
description: Restore job started.
'404':
description: Project, resource, or snapshot wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Restore BigQuery Dataset
tags:
- snapshots
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: snapshot
key: snapshotId
- in: reqBody
entityType: restore_account
key: restoreAccountId
x-permissions:
- create:restore_resource
x-mpa:
operation: MPA_OPERATION_RESTORE_RESOURCE
target:
entityType: snapshot
in: path
key: snapshotId
x-audit-log:
action: trigger
entityRefs:
- entityType: restore_cloud_account
in: reqBody
key: restoreAccountId
- entityType: cloud_resource
in: path
key: id
- entityType: snapshot
in: path
key: snapshotId
- entityType: restore_job
in: resBody
key: jobId
/v1/projects/{projectId}/resources/{id}/snapshots/{snapshotId}/restore-ec2-ebs-volume:
post:
description: 'Description: Restores an EBS volume from an Eon snapshot.
This operation is asynchronous.
It triggers a restore job and returns a job ID, which can be used to track the progress of the restore job.
You can follow the progress of the restore job by calling [Get Restore Job](/api/api-reference/jobs/restore-jobs/get-restore-job) with the job ID.
'
operationId: restoreEbsVolume
parameters:
- description: 'ID of the project the snapshot 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.
'
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned resource ID.
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: id
required: true
schema:
format: tobedefined
type: string
style: simple
- description: ID of the Eon [snapshot](/api/api-reference/backups/snapshots/list-resource-snapshots) to restore.
example: c11d3c11-7be5-4ee4-9eb8-2024d9c04904
explode: false
in: path
name: snapshotId
required: true
schema:
format: uuid
type: string
style: simple
- description: 'ID of an APPROVED action approval request authorizing this operation. When set, the gateway
validates the request envelope still matches the captured one and atomically
marks it EXECUTED before letting the operation run. Single-use; ignored on routes
that are not action-approval-protected.
'
explode: false
in: header
name: X-Action-Approval-Request-Id
required: false
schema:
format: uuid
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreVolumeToEbsRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/MPAInterceptedResponse'
description: 'The operation is MPA-protected. An MPA request was created in CREATED status.
The caller should confirm via the submit endpoint (POST .../submit with action CONFIRM)
or discard (action DISCARD). The operation did not run.
'
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreJobInitiationResponse'
description: Restore job started.
'404':
description: Volume, snapshot, or restore account wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Restore EBS Volume
tags:
- snapshots
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: snapshot
key: snapshotId
- in: reqBody
entityType: restore_account
key: restoreAccountId
x-permissions:
- create:restore_resource
x-mpa:
operation: MPA_OPERATION_RESTORE_RESOURCE
target:
entityType: snapshot
in: path
key: snapshotId
x-audit-log:
action: trigger
entityRefs:
- entityType: restore_cloud_account
in: reqBody
key: restoreAccountId
- entityType: cloud_resource
in: path
key: id
- entityType: snapshot
in: path
key: snapshotId
- entityType: restore_job
in: resBody
key: jobId
/v1/projects/{projectId}/resources/{id}/snapshots/{snapshotId}/convert-ec2-ebs-snapshot:
post:
description: 'Description: Restores an Eon volume snapshot to an EBS snapshot.
This operation is asynchronous.
It triggers a restore job and returns a job ID, which can be used to track the progress of the restore job.
You can follow the progress of the restore job by calling [Get Restore Job](/api/api-reference/jobs/restore-jobs/get-restore-job) with the job ID.
'
operationId: restoreToEbsSnapshot
parameters:
- description: 'ID of the project the snapshot 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.
'
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned resource ID.
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
- description: ID of the Eon [snapshot](/api/api-reference/backups/snapshots/list-resource-snapshots) to restore.
example: c11d3c11-7be5-4ee4-9eb8-2024d9c04904
explode: false
in: path
name: snapshotId
required: true
schema:
format: uuid
type: string
style: simple
- description: 'ID of an APPROVED action approval request authorizing this operation. When set, the gateway
validates the request envelope still matches the captured one and atomically
marks it EXECUTED before letting the operation run. Single-use; ignored on routes
that are not action-approval-protected.
'
explode: false
in: header
name: X-Action-Approval-Request-Id
required: false
schema:
format: uuid
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreVolumeToEbsSnapshotRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/MPAInterceptedResponse'
description: 'The operation is MPA-protected. An MPA request was created in CREATED status.
The caller should confirm via the submit endpoint (POST .../submit with action CONFIRM)
or discard (action DISCARD). The operation did not run.
'
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreJobInitiationResponse'
description: Restore job started.
'404':
description: Volume, snapshot, or restore account not found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Restore to EBS Snapshot
tags:
- snapshots
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: snapshot
key: snapshotId
- in: reqBody
entityType: restore_account
key: restoreAccountId
x-permissions:
- create:restore_resource
x-mpa:
operation: MPA_OPERATION_RESTORE_RESOURCE
target:
entityType: snapshot
in: path
key: snapshotId
x-audit-log:
action: trigger
entityRefs:
- entityType: restore_cloud_account
in: reqBody
key: restoreAccountId
- entityType: cloud_resource
in: path
key: id
- entityType: snapshot
in: path
key: snapshotId
- entityType: restore_job
in: resBody
key: jobId
/v1/projects/{projectId}/resources/{id}/snapshots/{snapshotId}/restore-rds-instance:
post:
description: 'Description: Restores an RDS instance from an Eon snapshot.
This operation is asynchronous.
It triggers a restore job and returns a job ID, which can be used to track the progress of the restore job.
You can follow the progress of the restore job by calling [Get Restore Job](/api/api-reference/jobs/restore-jobs/get-restore-job) with the job ID.
'
operationId: restoreDatabase
parameters:
- description: 'ID of the project the snapshot 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.
'
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned resource ID.
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
- description: ID of the Eon [snapshot](/api/api-reference/backups/snapshots/list-resource-snapshots) to restore.
example: c11d3c11-7be5-4ee4-9eb8-2024d9c04904
explode: false
in: path
name: snapshotId
required: true
schema:
format: uuid
type: string
style: simple
- description: 'ID of an APPROVED action approval request authorizing this operation. When set, the gateway
validates the request envelope still matches the captured one and atomically
marks it EXECUTED before letting the operation run. Single-use; ignored on routes
that are not action-approval-protected.
'
explode: false
in: header
name: X-Action-Approval-Request-Id
required: false
schema:
format: uuid
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreDbToRdsInstanceRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/MPAInterceptedResponse'
description: 'The operation is MPA-protected. An MPA request was created in CREATED status.
The caller should confirm via the submit endpoint (POST .../submit with action CONFIRM)
or discard (action DISCARD). The operation did not run.
'
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreJobInitiationResponse'
description: Restore job started.
'404':
description: Project, resource, or snapshot wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Restore RDS Instance
tags:
- snapshots
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: snapshot
key: snapshotId
- in: reqBody
entityType: restore_account
key: restoreAccountId
x-permissions:
- create:restore_resource
x-mpa:
operation: MPA_OPERATION_RESTORE_RESOURCE
target:
entityType: snapshot
in: path
key: snapshotId
x-audit-log:
action: trigger
entityRefs:
- entityType: cloud_resource
in: path
key: id
- entityType: snapshot
in: path
key: snapshotId
- entityType: restore_cloud_account
in: reqBody
key: restoreAccountId
- entityType: restore_job
in: resBody
key: jobId
/v1/projects/{projectId}/resources/{id}/snapshots/{snapshotId}/restore-ec2-instance:
post:
description: 'Description: Restores an EC2 instance from an Eon snapshot.
When restoring an EC2 instance, you''ll need to specify the configurations of the instance and each volume you want to restore.
You can retrieve the configurations from the snapshot by calling [Get Snapshot](/api/api-reference/backups/snapshots/get-snapshot) or [List Resource Snapshots](/api/api-reference/backups/snapshots/list-resource-snapshots).
This operation is asynchronous.
It triggers a restore job and returns a job ID, which can be used to track the progress of the restore job.
You can follow the progress of the restore job by calling [Get Restore Job](/api/api-reference/jobs/restore-jobs/get-restore-job) with the job ID.
'
operationId: restoreEc2Instance
parameters:
- description: 'ID of the project the snapshot 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.
'
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned resource ID.
example: fb806ce1-1cd3-5034-928a-33a87be714da
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
- description: ID of the Eon [snapshot](/api/api-reference/backups/snapshots/list-resource-snapshots) to restore.
example: 3dc6c0c6-f94d-5e85-a174-4b981a4bb262
explode: false
in: path
name: snapshotId
required: true
schema:
format: uuid
type: string
style: simple
- description: 'ID of an APPROVED action approval request authorizing this operation. When set, the gateway
validates the request envelope still matches the captured one and atomically
marks it EXECUTED before letting the operation run. Single-use; ignored on routes
that are not action-approval-protected.
'
explode: false
in: header
name: X-Action-Approval-Request-Id
required: false
schema:
format: uuid
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreAwsEc2InstanceRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/MPAInterceptedResponse'
description: 'The operation is MPA-protected. An MPA request was created in CREATED status.
The caller should confirm via the submit endpoint (POST .../submit with action CONFIRM)
or discard (action DISCARD). The operation did not run.
'
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/RestoreJobInitiationResponse'
description: Restore job started.
'404':
description: Project, resource, or snapshot wasn't found.
1XX:
description: Informational
3XX:
description: Redirect
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Client Error
5XX:
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
description: Internal Server Error
summary: Restore EC2 Instance
tags:
- snapshots
x-internal: false
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: snapshot
key: snapshotId
- in: reqBody
entityType: restore_account
key: restoreAccountId
x-permissions:
- create:restore_resource
x-mpa:
operation: MPA_OPERATION_RESTORE_RESOURCE
target:
entityType: snapshot
in: path
key: snapshotId
x-audit-log:
action: trigger
entityRefs:
- entityType: cloud_resource
in: path
key: id
- entityType: snapshot
in: path
key: snapshotId
- entityType: restore_cloud_account
in: reqBody
key: restoreAccountId
- entityType: restore_job
in: resBody
key: jobId
/v1/projects/{projectId}/resources/{id}/snapshots/{snapshotId}/restore-dynamo-db-table:
post:
description: 'Description: Restores a DynamoDB table from an Eon snapshot.
This operation is asynchronous.
It triggers a restore job and returns a job ID, which can be used to track the progress of the restore job.
You can follow the progress of the restore job by calling [Get Restore Job](/api/api-reference/jobs/restore-jobs/get-restore-job) with the job ID.
'
operationId: restoreDynamoDBTable
parameters:
- description: 'ID of the project the snapshot 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.
'
example: 1ee34dc5-0a7c-4e56-a820-917371e05c8d
explode: false
in: path
name: projectId
required: true
schema:
format: uuid
type: string
style: simple
- description: Eon-assigned resource ID.
example: 2f97ca76-6a78-55d8-94d3-66c2f2cfff23
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
- description: ID of the Eon [snapshot](/api/api-reference/backups/snapshots/list-resource-snapshots) to restore.
example: ac3014c2-9ab3-5d7f-ab4c-73412d6b9ef5
explode: false
in: path
name: snapshotId
required: true
schema:
format: uuid
type: string
style: simple
- description: 'ID of an APPROVED action approval request authorizing this operation. When set, the gateway
validates the request envelope still matches the captured one and atomically
marks it EXECUTED before letting the operation run. Single-use; ignored on routes
that are not ac
# --- truncated at 32 KB (170 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/eon/refs/heads/main/openapi/eon-snapshots-api-openapi.yml