Skip to main content

Overview

Contributors

The NetApp BlueXP copy and sync service offers a simple, secure, and automated way to migrate your data to any location in the cloud or on your premises. The service enables you to convert and move data stored in any object store including NFS or SMB servers, Amazon Simple Storage Service (S3), Google Drive, Box, and more. When using this service, you can create a sync relationship to copy data from any source to any destination target.

The service exposes an associated REST API which you can programmatically use to administer the copy and sync API resources. There are eight categories of endpoints defined within the BlueXP copy and sync REST API:

  • Accounts

  • Messages

  • Data Brokers

  • Groups

  • Relationships

  • Storages

  • Reports

  • Timelines (deprecated)

See https://docs.netapp.com/us-en/bluexp-copy-sync/api-sync.html to get started with the BlueXP copy and sync API.

Note Before using the API reference documentation, review the Get started section for the BlueXP APIs. For more information about the security tokens and identifiers you'll need when using the API, review the Common workflows and tasks section.

REST implementation

HTTP methods

Method Description

POST

Create a resource

GET

Retrieve a resource instance or collection

PUT

Update specific properties of an existing resource instance

DELETE

Remove an existing resource

Request headers

Request Header Description

authorization

Required. Contains a JWT token (user)

x-account-id

Contains the tenancy account ID and can be included depending on the API call

username

Contains the SMB or SFTP username when calling the APIs related to SMB

password

Contains the SMB or SFTP password when calling the APIs related to SMB

domain

Contains the SMB domain when calling the APIs related to SMB

access-key

Contains an AWS access key when calling the APIs related to StorageGRID, IBM, or ONTAP S3

secret-key

Contains an AWS access key when calling the APIs related to StorageGRID, IBM, or ONTAP S3

storage-account-connection-string

Contains an Azure storage account connection string when calling the APIs related to Azure storage accounts

x-bucket-name

Contains a bucket name when calling the AWS list S3 private links API

private-key

Contains a Google Drive private key when calling the Google Drive APIs

client-email

Contains a Google Drive client email when calling the Google Drive APIs

subject

Contains a Google Drive subject when calling the Google Drive APIs

client-secret

Contains a Box client secret when calling the Box APIs

public-key-id

Contains a Box public key ID when calling the Box APIs

private-key

Contains a Box private key ID when calling the Box APIs

passphrase

Contains a Box passphrase ID when calling the Box APIs

x-netapp-external-request-id-src

Contains an ID to use when accessing the external vault

x-netapp-external-request-id-trg

Contains an ID to use when accessing the external vault

Query parameters

A list of all the possible query parameters available for each service component is provided in the table below. This is a summary by component, however not every query parameter can be used with each endpoint in a specific component. See the detailed descriptions of the individual API calls for more details.

Component Query Parameter

Accounts

noCreate (optional)
target (required)

Messages

last (optional)

Data Brokers

host (required)
version(optional
path(optional)
isEFS(optional)
exportName(required)
accessPoint(optional)
bucket(required)
prefix(optional)
port(optional)
storageAccountName(required)
container(required)
region(required)

Groups

host (required)
port(optional)
rootDirectory(required)
version (optional)
path (optional)
isEFS(optional)
exportName (required) accessPoint (optional)
bucket (required)
prefix (optional)
port (required/optional) storageAccountName (required)
container (required)
driveId (required)
folderId (optional or required)
folderName (optional)
clientId (required)
enterpriseId(required)
appName(optional)
region(required)

Relationships

relationships (required)

Storages

provider (optional)

Reports

reports (required)

Response headers

This API uses the standard HTTP response headers common with all BlueXP APIs. See REST implementation for more information.

HTTP status codes

HTTP Status Code Description

200

OK: Returned for successful operation completion

400

Bad Request: Returned if the input is malformed and could not be parsed

401

Unauthorized: Returned if user authentication failed or the token has expired

403

Forbidden: Returned for authorization errors depending on the resource and token

404

Not Found: Returned if the requested resource could not be found

500

Processing Error: Returned if an error occurs on the server while processing the API call


Error handling

The following processes are involved with error handling and processing:

  • The error is logged for supportability.

  • The error is also returned to the API caller on synchronous operations.

  • In case of asynchronous operations, the error will be returned on the GET /messages API.

cURL examples

The following example retrieves relationships for a specific account:

curl -X GET https://api.cloudsync.netapp.com/api/relationships-v2 -H "accept: application/json" -H "authorization: <user_token>" -H "x-account-id:<account_id>"

The following example retrieves reports for a specific account:

curl -X GET https://api.cloudsync.netapp.com/api/accounts/<account_id>/reports -H "accept: application/json" -H "authorization: <user_token>"