openapi: 3.0.0
info:
description: The Eon.io REST API
title: Eon accounts backups API
version: 1.0.0
servers:
- url: /
security:
- ApiKeyAuth: []
tags:
- name: backups
paths:
/v1/projects/{projectId}/resources/{id}/take-snapshot:
post:
description: 'Description: Takes an on-demand snapshot of the specified resource.
This operation is asynchronous.
It triggers a backup job and returns a job ID, which can be used to track the progress of the backup job.
You can follow the progress of the backup job by calling [Get Backup Job](/api/api-reference/jobs/backup-jobs/get-backup-job) with the job ID.
'
operationId: takeSnapshot
parameters:
- description: 'ID of the project the resource 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 ID of the resource to back up.
example: 043090df-9fe5-4f89-9859-45db589c2936
explode: false
in: path
name: id
required: true
schema:
format: uuid
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TakeSnapshotRequest'
required: true
responses:
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/TakeSnapshotResponse'
description: Backup job started.
'429':
description: Limit exceeded for the number of simultaneous on-demand backup jobs.
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: Take Snapshot
tags:
- backups
x-internal: false
x-mcp: true
x-permissions:
- create:jobs
x-audit-log:
action: trigger
entityRefs:
- entityType: backup_job
in: resBody
key: jobId
- entityType: cloud_resource
in: path
key: id
x-data-access:
excluded: false
entityRefs:
- in: path
entityType: resource
key: id
components:
schemas:
TakeSnapshotResponse:
example:
jobId: 9892ecab-22d5-47ca-b2b4-70369e80b90a
properties:
jobId:
description: Backup job ID.
example: 9892ecab-22d5-47ca-b2b4-70369e80b90a
format: uuid
type: string
required:
- jobId
type: object
TakeSnapshotRequest:
example:
vaultId: 0d79d713-78df-5870-882f-0089d05396b6
retentionDays: 30
properties:
vaultId:
description: 'Eon-assigned ID of the vault to store the snapshot in.
'
example: 0d79d713-78df-5870-882f-0089d05396b6
type: string
retentionDays:
description: Number of days to retain the snapshot.
example: 30
type: integer
required:
- retentionDays
- vaultId
type: object
Error:
example:
error: error
properties:
error:
type: string
type: object
securitySchemes:
ApiKeyAuth:
bearerFormat: JWT
scheme: bearer
type: http