Cosmos DB Restore Points

The /restorePoints/cosmosdb resource collection represents restore points of Cosmos DB for PostgreSQL accounts protected using the Backup to repository option, available in Veeam Backup for Microsoft Azure.

Get Cosmos DB Restore Points

The HTTP GET request to the /restorePoints/cosmosDb/repository endpoint retrieves a list of restore points created for Cosmos DB by Veeam Backup for Microsoft Azure.

SecurityBearer
Request
query Parameters
CosmosDbAccountId
string or null

Returns only restore points of a Cosmos DB account with the specified ID.

x-veeam-parameter-group: CosmosDbRestorePointSearchOptions
OnlyLatest
boolean

Defines whether to return only recently created restore points.

x-veeam-parameter-group: CosmosDbRestorePointSearchOptions
DataRetrievalStatuses
Array of strings or null (DataRetrievalStatus)

Returns only restore points with the specified data retrieval status.

Enum: "None" "Retrieving" "Retrieved" "Unknown"
x-veeam-parameter-group: CosmosDbRestorePointSearchOptions
PointInTime
string or null <date-time>

Returns only restore points created on the specified date and time.

x-veeam-parameter-group: CosmosDbRestorePointSearchOptions
Offset
integer <int32> >= 0

Specifies the first N items of a resource collection that will be excluded from the response.

x-veeam-parameter-group: Veeam.Azure.REST.RequestQuery.V2.PageProperties
Limit
integer <int32> >= -1

Specifies the maximum number of items of a resource collection that will be returned in the response.

x-veeam-parameter-group: Veeam.Azure.REST.RequestQuery.V2.PageProperties
StorageAccessTier
Array of strings or null or null (StorageAccessTier)

Returns only restore points stored in repositories with the specified access tier.

Enum: "Hot" "Cool" "Archive" "Inferred" "Cold"
x-veeam-parameter-group: CosmosDbRestorePointSearchOptions
ImmutabilityEnabled
boolean

Returns only restore points with the specified immutability.

x-veeam-parameter-group: CosmosDbRestorePointSearchOptions
BackupDestination
Array of strings or null (CosmosDbBackupDestination)

Returns only restore points with the specified backup destination.

Enum: "AzureBlob" "ManualBackup" "Unknown"
x-veeam-parameter-group: CosmosDbRestorePointSearchOptions
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

get/api/v8/restorePoints/cosmosDb/repository
Request samples
curl -i -X GET \
  'https://123.123.123.123/api/v8/restorePoints/cosmosDb/repository?CosmosDbAccountId=string&OnlyLatest=true&DataRetrievalStatuses=None&PointInTime=2019-08-24T14%3A15%3A22Z&Offset=0&Limit=-1&StorageAccessTier=Hot&ImmutabilityEnabled=true&BackupDestination=AzureBlob' \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
{
  • "offset": 0,
  • "limit": 0,
  • "totalCount": 0,
  • "_links": {},
  • "results": [
    ]
}

Get Cosmos DB Restore Point Data

The HTTP GET request to the /restorePoints/cosmosDb/repository/{restorePointId} endpoint retrieves information on a specific restore point of a Cosmos DB account.

SecurityBearer
Request
path Parameters
restorePointId
required
string <uuid>

Specifies the system ID assigned to a restore point in the Veeam Backup for Microsoft Azure REST API.

Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

get/api/v8/restorePoints/cosmosDb/repository/{restorePointId}
Request samples
curl -i -X GET \
  'https://123.123.123.123/api/v8/restorePoints/cosmosDb/repository/{restorePointId}' \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "Full",
  • "accountName": "string",
  • "accountId": "string",
  • "vbrId": "string",
  • "pointInTime": "2019-08-24T14:15:22Z",
  • "backupSizeBytes": 0,
  • "isCorrupted": true,
  • "gfsFlags": "string",
  • "jobSessionId": "string",
  • "backupDestination": "AzureBlob",
  • "dataRetrievalStatus": "None",
  • "retrievedDataExpirationDate": "2019-08-24T14:15:22Z",
  • "notifyBeforeRetrievedDataExpirationHours": 0,
  • "immutableTill": "2019-08-24T14:15:22Z",
  • "accessTier": "Hot",
  • "latestChainSizeBytes": 0,
  • "subscriptionId": "d079718b-ff63-45dd-947b-4950c023750f",
  • "subscriptionName": "string",
  • "tenantId": "string",
  • "tenantName": "string",
  • "regionName": "string",
  • "resourceGroupName": "string",
  • "_links": {}
}

Remove Cosmos DB Restore Point

The HTTP DELETE request to the /restorePoints/cosmosDb/{restorePointId} endpoint removes a specific restore point of a Cosmos database from the Veeam Backup for Microsoft Azure configuration database.

SecurityBearer
Request
path Parameters
restorePointId
required
string <uuid>

Specifies the system ID assigned to a restore point in the Veeam Backup for Microsoft Azure REST API.

Responses
202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

423

Locked

delete/api/v8/restorePoints/cosmosDb/repository/{restorePointId}
Request samples
curl -i -X DELETE \
  'https://123.123.123.123/api/v8/restorePoints/cosmosDb/repository/{restorePointId}' \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
{
  • "id": "string",
  • "type": "BackupRetention",
  • "localizedType": "string",
  • "executionStartTime": "2019-08-24T14:15:22Z",
  • "executionStopTime": "2019-08-24T14:15:22Z",
  • "executionDuration": "string",
  • "status": "Canceled",
  • "backupJobInfo": {
    },
  • "healthCheckJobInfo": {
    },
  • "restoreJobInfo": {
    },
  • "fileLevelRestoreJobInfo": {
    },
  • "fileShareFileLevelRestoreJobInfo": {
    },
  • "repositoryJobInfo": {
    },
  • "restorePointDataRetrievalJobInfo": {
    },
  • "retentionJobInfo": {
    },
  • "_links": {}
}

Retrieve Data from Archive

The HTTP POST request to the /restorePoints/cosmosDb/repository/{restorePointId}/retrieveData endpoint retrieves data of an archived restore point with the specified ID.

SecurityBearer
Request
path Parameters
restorePointId
required
string <uuid>

Specifies the system ID assigned to a restore point in the Veeam Backup for Microsoft Azure REST API.

Request Body schema: application/json
required
dataRetrievalPriority
required
string (DataRetrievalPriority)

Specifies the priority type for the data retrieval operation.

Enum: "Normal" "High" "Unknown"
daysToKeep
integer <int32> [ 1 .. 30 ]

Specifies the number of days for which the retrieved data will be kept.

notifyBeforeExpirationHours
integer or null <int32>

Specifies the time when a notification will be sent (in hours remaining until the expiration).

notifyAfterComplete
boolean or null

Defines whether a notification must be sent after the operation is complete.

Responses
202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

409

Conflict

415

Client Error

post/api/v8/restorePoints/cosmosDb/repository/{restorePointId}/retrieveData
Request samples
application/json
{
  • "dataRetrievalPriority": "Normal",
  • "daysToKeep": 1,
  • "notifyBeforeExpirationHours": 0,
  • "notifyAfterComplete": true
}
Response samples
application/json
{
  • "id": "string",
  • "type": "BackupRetention",
  • "localizedType": "string",
  • "executionStartTime": "2019-08-24T14:15:22Z",
  • "executionStopTime": "2019-08-24T14:15:22Z",
  • "executionDuration": "string",
  • "status": "Canceled",
  • "backupJobInfo": {
    },
  • "healthCheckJobInfo": {
    },
  • "restoreJobInfo": {
    },
  • "fileLevelRestoreJobInfo": {
    },
  • "fileShareFileLevelRestoreJobInfo": {
    },
  • "repositoryJobInfo": {
    },
  • "restorePointDataRetrievalJobInfo": {
    },
  • "retentionJobInfo": {
    },
  • "_links": {}
}

Extend Data Availability Period

The HTTP POST request to the /restorePoints/cosmosDb/repository/{restorePointId}/extendRetrievedDataAvailability endpoint extends the data availability period of a retrieved restore point with the specified ID.

SecurityBearer
Request
path Parameters
restorePointId
required
string <uuid>

Specifies the system ID assigned to a restore point in the Veeam Backup for Microsoft Azure REST API.

Request Body schema: application/json
required
numberOfDays
integer <int32> [ 1 .. 30 ]

Specifies the number of days for which the data availability period will be extended.

Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

415

Client Error

post/api/v8/restorePoints/cosmosDb/repository/{restorePointId}/extendRetrievedDataAvailability
Request samples
application/json
{
  • "numberOfDays": 1
}
Response samples
application/problem+json
{
  • "extensions": { },
  • "status": 0,
  • "title": "string",
  • "detail": "string",
  • "type": "string"
}

Perform Cosmos DB Restore From Repository

The HTTP POST request to the /restorePoints/cosmosDb/repository/{restorePointId}/restore endpoint launches a restore operation using the restore point with the specified ID.

SecurityBearer
Request
path Parameters
restorePointId
required
string <uuid>

Specifies the system ID assigned to a restore point in the Veeam Backup for Microsoft Azure REST API.

Request Body schema: application/json
required
ServiceAccountId
required
string <uuid>

Specifies the system ID assigned in the Veeam Backup for Microsoft Azure REST API to a service account whose permissions will be used to perform the restore operation.

TargetCosmosDbAccountId
required
string

Specifies the Microsoft Azure ID assigned to a Cosmos DB for PostgreSQL cluster or a Cosmos DB for MongoDB account to which the databases and collections will be restored.

DatabaseAccountId
string or null non-empty

[Applies to Cosmos DB for PostgreSQL accounts only] Specifies the system ID assigned in the Veeam Backup for Microsoft Azure REST API to a database account that will be used to access the restored database.

Reason
string

Specifies a reason for restoring the database.

object or null (MongoDbRestoreOptions)

Specifies restore settings for a Cosmos DB for MongoDB account.

Responses
202

Accepted

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

409

Conflict

415

Client Error

post/api/v8/restorePoints/cosmosDb/repository/{restorePointId}/restore
Request samples
application/json
{
  • "ServiceAccountId": "1808023c-4705-425b-a5ab-3b946508a817",
  • "DatabaseAccountId": "string",
  • "TargetCosmosDbAccountId": "string",
  • "Reason": "string",
  • "MongoDbRestoreOptions": {
    }
}
Response samples
application/json
{
  • "id": "string",
  • "type": "BackupRetention",
  • "localizedType": "string",
  • "executionStartTime": "2019-08-24T14:15:22Z",
  • "executionStopTime": "2019-08-24T14:15:22Z",
  • "executionDuration": "string",
  • "status": "Canceled",
  • "backupJobInfo": {
    },
  • "healthCheckJobInfo": {
    },
  • "restoreJobInfo": {
    },
  • "fileLevelRestoreJobInfo": {
    },
  • "fileShareFileLevelRestoreJobInfo": {
    },
  • "repositoryJobInfo": {
    },
  • "restorePointDataRetrievalJobInfo": {
    },
  • "retentionJobInfo": {
    },
  • "_links": {}
}

Get Cosmos DB Restorable Timestamps

The HTTP GET request to the /restorePoints/cosmosDb/continuous endpoint retrieves a list of restorable timestamps created by Veeam Backup for Microsoft Azure for Cosmos DB accounts protected using the Continuous backup option.

SecurityBearer
Request
query Parameters
CosmosDbAccountId
string or null

Returns only restorable timestamps of a Cosmos DB account with the specified ID.

x-veeam-parameter-group: CosmosDbContinuousRestorePointSearchOptions
DataRetrievalStatuses
Array of strings or null (DataRetrievalStatus)

Returns only restore points with the specified data retrieval status.

Enum: "None" "Retrieving" "Retrieved" "Unknown"
x-veeam-parameter-group: CosmosDbContinuousRestorePointSearchOptions
Offset
integer <int32> >= 0

Specifies the first N items of a resource collection that will be excluded from the response.

x-veeam-parameter-group: Veeam.Azure.REST.RequestQuery.V2.PageProperties
Limit
integer <int32> >= -1

Specifies the maximum number of items of a resource collection that will be returned in the response.

x-veeam-parameter-group: Veeam.Azure.REST.RequestQuery.V2.PageProperties
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

get/api/v8/restorePoints/cosmosDb/continuous
Request samples
curl -i -X GET \
  'https://123.123.123.123/api/v8/restorePoints/cosmosDb/continuous?CosmosDbAccountId=string&DataRetrievalStatuses=None&Offset=0&Limit=-1' \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
{
  • "offset": 0,
  • "limit": 0,
  • "totalCount": 0,
  • "_links": {},
  • "results": [
    ]
}

Get Cosmos DB Continuous Restore Point Data

The HTTP GET request to the /restorePoints/cosmosDb/continuous/{restorePointId} endpoint retrieves information on a restorable timestamp with the specified ID.

SecurityBearer
Request
path Parameters
restorePointId
required
string <uuid>

Specifies the system ID assigned to a restore point in the Veeam Backup for Microsoft Azure REST API.

Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

get/api/v8/restorePoints/cosmosDb/continuous/{restorePointId}
Request samples
curl -i -X GET \
  'https://123.123.123.123/api/v8/restorePoints/cosmosDb/continuous/{restorePointId}' \
  -H 'Authorization: YOUR_API_KEY_HERE'
Response samples
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "type": "Full",
  • "accountName": "string",
  • "accountId": "string",
  • "pointInTime": "2019-08-24T14:15:22Z",
  • "backupSizeBytes": 0,
  • "isCorrupted": true,
  • "gfsFlags": "string",
  • "jobSessionId": "string",
  • "dataRetrievalStatus": "None",
  • "retrievedDataExpirationDate": "2019-08-24T14:15:22Z",
  • "notifyBeforeRetrievedDataExpirationHours": 0,
  • "latestChainSizeBytes": 0,
  • "_links": {}
}