Projects

The /projects resource collection represents all projects added to the Veeam Backup for Google Cloud configuration database.

Get Collection of ProjectsDeprecated

The HTTP GET request to the /projects endpoint retrieves a list of all projects added to the Veeam Backup for Google Cloud configuration database.

SecurityBearer
Request
query Parameters
filter
string

Returns only specific items of a resource collection in the response. To learn how to use the filter parameter, see the Veeam Backup for Google Cloud REST API Reference, section Filter Parameter.

orderby
string

Specifies the order of items in the response. For more information, see the Veeam Backup for Google Cloud REST API Reference Overview, section Orderby Parameter.

offset
integer <int32>

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

limit
integer <int32>

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

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/projects
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Add ProjectDeprecated

The HTTP POST request to the /projects endpoint adds a project to the Veeam Backup for Google Cloud configuration database.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Request Body schema: application/json
required
projectId
required
string

Specifies the Google Cloud ID assigned to a project.

serviceAccountEmail
required
string

Specifies the email address provisioned in Google Cloud during creation of the service account used to access the specified project.

useForSnapshot
required
boolean

Defines whether VM instances that belong to the project can be protected by cloud-native snapshots using the specified service account.

useForBackup
required
boolean

Defines whether VM instances that belong to the project can be protected by image-level backups using the specified service account.

useForRestore
required
boolean

Defines whether VM instances can be restored to the project using the specified service account.

useForRepository
required
boolean

Defines whether backup repositories can be deployed to the project using the specified service account.

useForWorker
required
boolean

Defines whether worker instances can be launched in the project using the specified service account.

useForSqlSnapshot
required
boolean

Defines whether Cloud SQL instances that belong to the project can be protected by cloud-native snapshots using the specified service account.

useForSqlBackup
required
boolean

Defines whether Cloud SQL instances that belong to the project can be protected by image-level backups using the specified service account.

useForSqlRestore
required
boolean

Defines whether Cloud SQL instances can be restored to the project using the specified service account.

useForSqlStaging
required
boolean

Defines whether Cloud SQL staging instances can be launched in the project using the specified service account.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

404

Not Found. One or more resources specified in the request could not be found in the specified resource collection.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/projects
Request samples
application/json
{
  • "projectId": "string",
  • "serviceAccountEmail": "string",
  • "useForSnapshot": true,
  • "useForBackup": true,
  • "useForRestore": true,
  • "useForRepository": true,
  • "useForWorker": true,
  • "useForSqlSnapshot": true,
  • "useForSqlBackup": true,
  • "useForSqlRestore": true,
  • "useForSqlStaging": true
}
Response samples
application/json
{
  • "project": {
    },
  • "issues": [
    ]
}

Get Project DataDeprecated

The HTTP GET request to the /projects/{projectId} endpoint retrieves information on a project with the specified ID.

SecurityBearer
Request
path Parameters
projectId
required
string

Google Cloud ID assigned to a project.

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

404

Not Found. One or more resources specified in the request could not be found in the specified resource collection.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/projects/{projectId}
Request samples
Response samples
application/json
{
  • "id": "string",
  • "name": "string",
  • "isStandalone": true,
  • "useForSnapshot": true,
  • "useForBackup": true,
  • "useForRestore": true,
  • "useForRepository": true,
  • "useForWorker": true,
  • "useForSqlSnapshot": true,
  • "useForSqlBackup": true,
  • "useForSqlRestore": true,
  • "useForSqlStaging": true
}

Modify ProjectDeprecated

The HTTP PUT request to the /projects/{projectId} endpoint updates settings of a project with the specified ID.

SecurityBearer
Request
path Parameters
projectId
required
string

Google Cloud ID assigned to a project.

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Request Body schema: application/json
required
serviceAccountEmail
required
string

Specifies the email address provisioned in Google Cloud during creation of the service account used to access the specified project.

useForSnapshot
required
boolean

Defines whether VM instances that belong to the project can be protected by cloud-native snapshots using the specified service account.

useForBackup
required
boolean

Defines whether VM instances that belong to the project can be protected by image-level backups using the specified service account.

useForRestore
required
boolean

Defines whether VM instances can be restored to the project using the specified service account.

useForRepository
required
boolean

Defines whether backup repositories can be deployed to the project using the specified service account.

useForWorker
required
boolean

Defines whether worker instances can be launched in the project using the specified service account.

useForSqlSnapshot
required
boolean

Defines whether Cloud SQL instances that belong to the project can be protected by cloud-native snapshots using the specified service account.

useForSqlBackup
required
boolean

Defines whether Cloud SQL instances that belong to the project can be protected by image-level backups using the specified service account.

useForSqlRestore
required
boolean

Defines whether Cloud SQL instances can be restored to the project using the specified service account.

useForSqlStaging
required
boolean

Defines whether Cloud SQL staging instances can be launched in the project using the specified service account.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

404

Not Found. One or more resources specified in the request could not be found in the specified resource collection.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

put/api/v1/projects/{projectId}
Request samples
application/json
{
  • "serviceAccountEmail": "string",
  • "useForSnapshot": true,
  • "useForBackup": true,
  • "useForRestore": true,
  • "useForRepository": true,
  • "useForWorker": true,
  • "useForSqlSnapshot": true,
  • "useForSqlBackup": true,
  • "useForSqlRestore": true,
  • "useForSqlStaging": true
}
Response samples
application/json
{
  • "project": {
    },
  • "issues": [
    ]
}

Remove ProjectDeprecated

The HTTP DELETE request to the /projects/{projectId} endpoint removes a specific project from the configuration database.

SecurityBearer
Request
path Parameters
projectId
required
string

Google Cloud ID assigned to a project.

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
204

No Content

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

404

Not Found. One or more resources specified in the request could not be found in the specified resource collection.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

delete/api/v1/projects/{projectId}
Request samples
Response samples
application/json
{
  • "success": true,
  • "issues": [
    ]
}

Get Collection of CMEKs for Project

The HTTP GET request to the /projects/{projectId}/accounts/{serviceAccountId}/encryptionKeys endpoint retrieves a list of all Google Cloud Key Management Service (Cloud KMS) customer-managed encryption keys (CMEKs) available to a project with the specified ID.

SecurityBearer
Request
path Parameters
projectId
required
string

Specifies the Google Cloud ID assigned to a project.

serviceAccountId
required
string <uuid>

Specifies the system ID assigned in the Veeam Backup for Google Cloud REST API to a service account.

query Parameters
filter
string

Returns only specific items of a resource collection in the response. To learn how to use the filter parameter, see the Veeam Backup for Google Cloud REST API Reference, section Filter Parameter.

orderby
string

Specifies the order of items in the response. For more information, see the Veeam Backup for Google Cloud REST API Reference Overview, section Orderby Parameter.

offset
integer <int32>

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

limit
integer <int32>

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

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/projects/{projectId}/accounts/{serviceAccountId}/encryptionKeys
Request samples
Response samples
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get Collection of CMEKs for Region

The HTTP GET request to the /projects/{projectId}/accounts/{serviceAccountId}/regions/{regionId}/encryptionKeys endpoint retrieves a list of all Google Cloud Key Management Service (Cloud KMS) customer-managed encryption keys (CMEKs) stored in the specific region in a project with the specified ID.

SecurityBearer
Request
path Parameters
projectId
required
string

Specifies the Google Cloud ID assigned to a project.

serviceAccountId
required
string <uuid>

Specifies the system ID assigned in the Veeam Backup for Google Cloud REST API to a service account.

regionId
required
string <uuid>

Specifies the system ID assigned in the Veeam Backup for Google Cloud REST API to a Google Cloud region.

query Parameters
filter
string

Returns only specific items of a resource collection in the response. To learn how to use the filter parameter, see the Veeam Backup for Google Cloud REST API Reference, section Filter Parameter.

orderby
string

Specifies the order of items in the response. For more information, see the Veeam Backup for Google Cloud REST API Reference Overview, section Orderby Parameter.

offset
integer <int32>

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

limit
integer <int32>

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

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/projects/{projectId}/accounts/{serviceAccountId}/regions/{regionId}/encryptionKeys
Request samples
Response samples
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get Collection of Regions

The HTTP GET request to the /projects/{projectId}/regions endpoint retrieves a list of all regions available in the project with the specified ID.

SecurityBearer
Request
path Parameters
projectId
required
string

Google Cloud ID assigned to a project

query Parameters
filter
string

Returns only specific items of a resource collection in the response. To learn how to use the filter parameter, see the Veeam Backup for Google Cloud REST API Reference, section Filter Parameter.

orderby
string

Specifies the order of items in the response. For more information, see the Veeam Backup for Google Cloud REST API Reference Overview, section Orderby Parameter.

offset
integer <int32>

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

limit
integer <int32>

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

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/projects/{projectId}/regions
Request samples
Response samples
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get Instance Types Available in Regions

The HTTP GET request to the /projects/{projectId}/accounts/{serviceAccountId}/regions/machineTypes endpoint retrieves a list of types of VM instances available in all specific regions in the project with the specified ID.

SecurityBearer
Request
path Parameters
projectId
required
string

Google Cloud ID assigned to a project

serviceAccountId
required
string <uuid>

System ID assigned in the Veeam Backup for Google Cloud REST API to a service account.

query Parameters
regions
required
Array of strings <uuid>

Specifies system IDs assigned in the Veeam Backup for Google Cloud REST API to Google Cloud regions.

filter
string

Returns only specific items of a resource collection in the response. To learn how to use the filter parameter, see the Veeam Backup for Google Cloud REST API Reference, section Filter Parameter.

orderby
string

Specifies the order of items in the response. For more information, see the Veeam Backup for Google Cloud REST API Reference Overview, section Orderby Parameter.

offset
integer <int32>

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

limit
integer <int32>

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

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/projects/{projectId}/accounts/{serviceAccountId}/regions/machineTypes
Request samples
Response samples
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get Region Availability Zones

The HTTP GET request to the /projects/{projectId}/regions/{regionId}/zones endpoint retrieves a list of availability zones of a specific region in the specified project.

SecurityBearer
Request
path Parameters
projectId
required
string

Google Cloud ID assigned to a project.

regionId
required
string <uuid>

System ID assigned in the Veeam Backup for Google Cloud REST API to a region.

query Parameters
filter
string

Returns only specific items of a resource collection in the response. To learn how to use the filter parameter, see the Veeam Backup for Google Cloud REST API Reference, section Filter Parameter.

orderby
string

Specifies the order of items in the response. For more information, see the Veeam Backup for Google Cloud REST API Reference Overview, section Orderby Parameter.

offset
integer <int32>

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

limit
integer <int32>

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

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/projects/{projectId}/regions/{regionId}/zones
Request samples
Response samples
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get Instance Types Available in Availability Zone

The HTTP GET request to the /projects/{projectId}/accounts/{serviceAccountId}/zones/{zoneId}/machineTypes endpoint retrieves a list of types of VM instances available in a specific availability zone in the specified project.

SecurityBearer
Request
path Parameters
projectId
required
string

Google Cloud ID assigned to a project

serviceAccountId
required
string <uuid>

System ID assigned in the Veeam Backup for Google Cloud REST API to a service account.

zoneId
required
string <uuid>

System ID assigned in the Veeam Backup for Google Cloud REST API to an availability zone.

query Parameters
filter
string

Returns only specific items of a resource collection in the response. To learn how to use the filter parameter, see the Veeam Backup for Google Cloud REST API Reference, section Filter Parameter.

orderby
string

Specifies the order of items in the response. For more information, see the Veeam Backup for Google Cloud REST API Reference Overview, section Orderby Parameter.

offset
integer <int32>

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

limit
integer <int32>

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

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/projects/{projectId}/accounts/{serviceAccountId}/zones/{zoneId}/machineTypes
Request samples
Response samples
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get Cloud SQL Instance Types Available in Availability Zone

The HTTP GET request to the /projects/{projectId}/accounts/{serviceAccountId}/zones/{zoneId}/sqlMachineTypes endpoint retrieves a list of types of Cloud SQL instances available in a specific availability zone in project with the specified ID.

SecurityBearer
Request
path Parameters
projectId
required
string

System ID assigned to the project in the Veeam Backup for Google Cloud REST API.

serviceAccountId
required
string <uuid>

System ID assigned in the Veeam Backup for Google Cloud REST API to a service account.

zoneId
required
string <uuid>

System ID assigned in the Veeam Backup for Google Cloud REST API to the availability zone.

query Parameters
filter
string

Returns only specific items of a resource collection in the response. To learn how to use the filter parameter, see the Veeam Backup for Google Cloud REST API Reference, section Filter Parameter.

orderby
string

Specifies the order of items in the response. For more information, see the Veeam Backup for Google Cloud REST API Reference Overview, section Orderby Parameter.

offset
integer <int32>

Excludes from a response the first N items of a resource collection.

limit
integer <int32>

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

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/projects/{projectId}/accounts/{serviceAccountId}/zones/{zoneId}/sqlMachineTypes
Request samples
Response samples
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get Cloud Spanner Instance Configurations

The HTTP GET request to the /projects/{projectId}/accounts/{serviceAccountId}/spannerInstanceConfigurations endpoint retrieves a list of configurations of Cloud Spanner instances available in a project with the specified ID.

SecurityBearer
Request
path Parameters
projectId
required
string

System ID assigned to the project in the Veeam Backup for Google Cloud REST API.

serviceAccountId
required
string <uuid>

System ID assigned in the Veeam Backup for Google Cloud REST API to a service account.

query Parameters
filter
string

Returns only specific items of a resource collection in the response. To learn how to use the filter parameter, see the Veeam Backup for Google Cloud REST API Reference, section Filter Parameter.

orderby
string

Specifies the order of items in the response. For more information, see the Veeam Backup for Google Cloud REST API Reference Overview, section Orderby Parameter.

offset
integer <int32>

Excludes from a response the first N items of a resource collection.

limit
integer <int32>

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

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/projects/{projectId}/accounts/{serviceAccountId}/spannerInstanceConfigurations
Request samples
Response samples
{
  • "data": [
    ],
  • "pagination": {
    }
}

Get Collection of Service Accounts for Project

The HTTP GET request to the /projects/{projectId}/serviceAccounts endpoint retrieves a list of all service accounts associated with a specific project.

SecurityBearer
Request
path Parameters
projectId
required
string

Google Cloud ID assigned to a project.

query Parameters
filter
string

Returns only specific items of a resource collection in the response. To learn how to use the filter parameter, see the Veeam Backup for Google Cloud REST API Reference, section Filter Parameter.

orderby
string

Specifies the order of items in the response. For more information, see the Veeam Backup for Google Cloud REST API Reference Overview, section Orderby Parameter.

offset
integer <int32>

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

limit
integer <int32>

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

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/projects/{projectId}/serviceAccounts
Request samples
Response samples
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Create HMAC Key

The HTTP POST request to the /projects/{projectId}/serviceAccounts/{serviceAccountId}/hmacKey endpoint allows you to create a new HMAC key and associate it with the specific service account.

SecurityBearer
Request
path Parameters
projectId
required
string

Google Cloud ID assigned to a project.

serviceAccountId
required
string <uuid>

System ID assigned in the Veeam Backup for Google Cloud REST API to a service account.

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

404

Not Found. One or more resources specified in the request could not be found in the specified resource collection.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/projects/{projectId}/serviceAccounts/{serviceAccountId}/hmacKey
Request samples
Response samples
application/json
{
  • "hmacKey": {
    },
  • "issues": [
    ]
}

Get Collection of HMAC Keys

The HTTP GET request to the /projects/{projectId}/serviceAccounts/{serviceAccountId}/hmacKey endpoint retrieves a list of all HMAC keys associated with a specific service account in the specified project.

SecurityBearer
Request
path Parameters
projectId
required
string

Google Cloud ID assigned to a project.

serviceAccountId
required
string <uuid>

System ID assigned in the Veeam Backup for Google Cloud REST API to a service account.

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

404

Not Found. One or more resources specified in the request could not be found in the specified resource collection.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

get/api/v1/projects/{projectId}/serviceAccounts/{serviceAccountId}/hmacKey
Request samples
Response samples
application/json
{
  • "serviceAccountId": "a814cf67-aaac-43ae-acb4-8d34e82a4b4c",
  • "hmacKeyAccessId": "string"
}

Add Existing HMAC Key

The HTTP POST request to the /projects/{projectId}/serviceAccounts/{serviceAccountId}/hmacKey/addExisting endpoint allows you to add an existing HMAC key of the specified service account to Veeam Backup for Google Cloud.

SecurityBearer
Request
path Parameters
projectId
required
string

Specifies the Google Cloud ID assigned to a project.

serviceAccountId
required
string <uuid>

Specifies the system ID assigned in the Veeam Backup for Google Cloud REST API to a service account.

header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Request Body schema: application/json
required

Specifies the HMAC key access ID and secret.

accessId
required
string

Specifies the access ID of an HMAC key.

secretKey
required
string

Specifies the secret key of the service account.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

404

Not Found. One or more resources specified in the request could not be found in the specified resource collection.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/projects/{projectId}/serviceAccounts/{serviceAccountId}/hmacKey/addExisting
Request samples
application/json
{
  • "accessId": "string",
  • "secretKey": "string"
}
Response samples
application/json
{
  • "hmacKey": {
    },
  • "issues": [
    ]
}

Generate Permissions ScriptDeprecated

The HTTP POST request to the /projects/downloadGrantPermissionsScript endpoint generates a script that you can further use in Google Cloud console to assign specific permissions to a service account to access the specified project.

SecurityBearer
Request
header Parameters
x-api-version
required
string
Default: 1.4-rev0

Specifies the current revision of the Veeam Backup for Google Cloud REST API.

Request Body schema: application/json
required
projectId
required
string

Specifies the Google Cloud ID assigned to a project.

serviceAccountEmail
required
string

Specifies the email address provisioned in Google Cloud during creation of the service account used to access the specified project.

useForSnapshot
required
boolean

Defines whether VM instances that belong to the project can be protected by cloud-native snapshots using the specified service account.

useForBackup
required
boolean

Defines whether VM instances that belong to the project can be protected by image-level backups using the specified service account.

useForRestore
required
boolean

Defines whether VM instances can be restored to the project using the specified service account.

useForRepository
required
boolean

Defines whether backup repositories can be deployed to the project using the specified service account.

useForWorker
required
boolean

Defines whether worker instances can be launched in the project using the specified service account.

useForSqlSnapshot
required
boolean

Defines whether Cloud SQL instances that belong to the project can be protected by cloud-native snapshots using the specified service account.

useForSqlBackup
required
boolean

Defines whether Cloud SQL instances that belong to the project can be protected by image-level backups using the specified service account.

useForSqlRestore
required
boolean

Defines whether Cloud SQL instances can be restored to the project using the specified service account.

useForSqlStaging
required
boolean

Defines whether Cloud SQL staging instances can be launched in the project using the specified service account.

Responses
200

OK

400

Bad Request. The request body is malformed, incomplete or otherwise invalid

401

Unauthorized. The authorization header has been expected but not found (or found but is expired).

403

Forbidden. The user sending a request does not have adequate privileges to access one or more objects specified in the request.

500

Internal Server Error. The request has been received but could not be completed because of an internal error at the server side.

post/api/v1/projects/downloadGrantPermissionsScript
Request samples
application/json
{
  • "projectId": "string",
  • "serviceAccountEmail": "string",
  • "useForSnapshot": true,
  • "useForBackup": true,
  • "useForRestore": true,
  • "useForRepository": true,
  • "useForWorker": true,
  • "useForSqlSnapshot": true,
  • "useForSqlBackup": true,
  • "useForSqlRestore": true,
  • "useForSqlStaging": true
}
Response samples
"string"

Document updated 11/19/2025

Page content applies to build 7.0.0.47