POST CompleteSnapshot
{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount
HEADERS

x-amz-ChangedBlocksCount
QUERY PARAMS

snapshotId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "x-amz-changedblockscount: ");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount" {:headers {:x-amz-changedblockscount ""}})
require "http/client"

url = "{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount"
headers = HTTP::Headers{
  "x-amz-changedblockscount" => ""
}

response = HTTP::Client.post url, headers: headers
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Post,
    RequestUri = new Uri("{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount"),
    Headers =
    {
        { "x-amz-changedblockscount", "" },
    },
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount");
var request = new RestRequest("", Method.Post);
request.AddHeader("x-amz-changedblockscount", "");
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("x-amz-changedblockscount", "")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/snapshots/completion/:snapshotId HTTP/1.1
X-Amz-Changedblockscount: 
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount")
  .setHeader("x-amz-changedblockscount", "")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount"))
    .header("x-amz-changedblockscount", "")
    .method("POST", HttpRequest.BodyPublishers.noBody())
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount")
  .post(null)
  .addHeader("x-amz-changedblockscount", "")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount")
  .header("x-amz-changedblockscount", "")
  .asString();
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount');
xhr.setRequestHeader('x-amz-changedblockscount', '');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount',
  headers: {'x-amz-changedblockscount': ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount';
const options = {method: 'POST', headers: {'x-amz-changedblockscount': ''}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount',
  method: 'POST',
  headers: {
    'x-amz-changedblockscount': ''
  }
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount")
  .post(null)
  .addHeader("x-amz-changedblockscount", "")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/snapshots/completion/:snapshotId',
  headers: {
    'x-amz-changedblockscount': ''
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount',
  headers: {'x-amz-changedblockscount': ''}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('POST', '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount');

req.headers({
  'x-amz-changedblockscount': ''
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'POST',
  url: '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount',
  headers: {'x-amz-changedblockscount': ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount';
const options = {method: 'POST', headers: {'x-amz-changedblockscount': ''}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"x-amz-changedblockscount": @"" };

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount" in
let headers = Header.add (Header.init ()) "x-amz-changedblockscount" "" in

Client.call ~headers `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_HTTPHEADER => [
    "x-amz-changedblockscount: "
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount', [
  'headers' => [
    'x-amz-changedblockscount' => '',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'x-amz-changedblockscount' => ''
]);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount');
$request->setRequestMethod('POST');
$request->setHeaders([
  'x-amz-changedblockscount' => ''
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("x-amz-changedblockscount", "")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount' -Method POST -Headers $headers
$headers=@{}
$headers.Add("x-amz-changedblockscount", "")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount' -Method POST -Headers $headers
import http.client

conn = http.client.HTTPSConnection("example.com")

headers = { 'x-amz-changedblockscount': "" }

conn.request("POST", "/baseUrl/snapshots/completion/:snapshotId", headers=headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount"

headers = {"x-amz-changedblockscount": ""}

response = requests.post(url, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount"

response <- VERB("POST", url, add_headers('x-amz-changedblockscount' = ''), content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-amz-changedblockscount"] = ''

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.post('/baseUrl/snapshots/completion/:snapshotId') do |req|
  req.headers['x-amz-changedblockscount'] = ''
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount";

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("x-amz-changedblockscount", "".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount' \
  --header 'x-amz-changedblockscount: '
http POST '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount' \
  x-amz-changedblockscount:''
wget --quiet \
  --method POST \
  --header 'x-amz-changedblockscount: ' \
  --output-document \
  - '{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount'
import Foundation

let headers = ["x-amz-changedblockscount": ""]

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/snapshots/completion/:snapshotId#x-amz-ChangedBlocksCount")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
GET GetSnapshotBlock
{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#blockToken
QUERY PARAMS

blockToken
snapshotId
blockIndex
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#blockToken" {:query-params {:blockToken ""}})
require "http/client"

url = "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/snapshots/:snapshotId/blocks/:blockIndex?blockToken= HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken"))
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken")
  .asString();
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('GET', '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#blockToken',
  params: {blockToken: ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/snapshots/:snapshotId/blocks/:blockIndex?blockToken=',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#blockToken',
  qs: {blockToken: ''}
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#blockToken');

req.query({
  blockToken: ''
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'GET',
  url: '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#blockToken',
  params: {blockToken: ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken');

echo $response->getBody();
setUrl('{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#blockToken');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData([
  'blockToken' => ''
]);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#blockToken');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
  'blockToken' => ''
]));

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/snapshots/:snapshotId/blocks/:blockIndex?blockToken=")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#blockToken"

querystring = {"blockToken":""}

response = requests.get(url, params=querystring)

print(response.json())
library(httr)

url <- "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#blockToken"

queryString <- list(blockToken = "")

response <- VERB("GET", url, query = queryString, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/snapshots/:snapshotId/blocks/:blockIndex') do |req|
  req.params['blockToken'] = ''
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#blockToken";

    let querystring = [
        ("blockToken", ""),
    ];

    let client = reqwest::Client::new();
    let response = client.get(url)
        .query(&querystring)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken'
http GET '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken'
wget --quiet \
  --method GET \
  --output-document \
  - '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken'
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex?blockToken=#blockToken")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
GET ListChangedBlocks
{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks
QUERY PARAMS

secondSnapshotId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks")
require "http/client"

url = "{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/snapshots/:secondSnapshotId/changedblocks HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks"))
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks")
  .asString();
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('GET', '{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/snapshots/:secondSnapshotId/changedblocks',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'GET',
  url: '{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks');

echo $response->getBody();
setUrl('{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/snapshots/:secondSnapshotId/changedblocks")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/snapshots/:secondSnapshotId/changedblocks') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/snapshots/:secondSnapshotId/changedblocks
http GET {{baseUrl}}/snapshots/:secondSnapshotId/changedblocks
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/snapshots/:secondSnapshotId/changedblocks
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/snapshots/:secondSnapshotId/changedblocks")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
GET ListSnapshotBlocks
{{baseUrl}}/snapshots/:snapshotId/blocks
QUERY PARAMS

snapshotId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/snapshots/:snapshotId/blocks");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/snapshots/:snapshotId/blocks")
require "http/client"

url = "{{baseUrl}}/snapshots/:snapshotId/blocks"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/snapshots/:snapshotId/blocks"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/snapshots/:snapshotId/blocks");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/snapshots/:snapshotId/blocks"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/snapshots/:snapshotId/blocks HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/snapshots/:snapshotId/blocks")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/snapshots/:snapshotId/blocks"))
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("{{baseUrl}}/snapshots/:snapshotId/blocks")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/snapshots/:snapshotId/blocks")
  .asString();
const data = null;

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('GET', '{{baseUrl}}/snapshots/:snapshotId/blocks');

xhr.send(data);
import axios from 'axios';

const options = {method: 'GET', url: '{{baseUrl}}/snapshots/:snapshotId/blocks'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/snapshots/:snapshotId/blocks';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/snapshots/:snapshotId/blocks',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/snapshots/:snapshotId/blocks")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/snapshots/:snapshotId/blocks',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {method: 'GET', url: '{{baseUrl}}/snapshots/:snapshotId/blocks'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/snapshots/:snapshotId/blocks');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {method: 'GET', url: '{{baseUrl}}/snapshots/:snapshotId/blocks'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/snapshots/:snapshotId/blocks';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/snapshots/:snapshotId/blocks"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/snapshots/:snapshotId/blocks" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/snapshots/:snapshotId/blocks",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/snapshots/:snapshotId/blocks');

echo $response->getBody();
setUrl('{{baseUrl}}/snapshots/:snapshotId/blocks');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/snapshots/:snapshotId/blocks');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/snapshots/:snapshotId/blocks' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/snapshots/:snapshotId/blocks' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/snapshots/:snapshotId/blocks")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/snapshots/:snapshotId/blocks"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/snapshots/:snapshotId/blocks"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/snapshots/:snapshotId/blocks")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/snapshots/:snapshotId/blocks') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/snapshots/:snapshotId/blocks";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/snapshots/:snapshotId/blocks
http GET {{baseUrl}}/snapshots/:snapshotId/blocks
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/snapshots/:snapshotId/blocks
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/snapshots/:snapshotId/blocks")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
PUT PutSnapshotBlock
{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm
HEADERS

x-amz-Data-Length
x-amz-Checksum
x-amz-Checksum-Algorithm
QUERY PARAMS

snapshotId
blockIndex
BODY json

{
  "BlockData": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "x-amz-data-length: ");
headers = curl_slist_append(headers, "x-amz-checksum: ");
headers = curl_slist_append(headers, "x-amz-checksum-algorithm: ");
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"BlockData\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/put "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm" {:headers {:x-amz-data-length ""
                                                                                                                                                        :x-amz-checksum ""
                                                                                                                                                        :x-amz-checksum-algorithm ""}
                                                                                                                                              :content-type :json
                                                                                                                                              :form-params {:BlockData ""}})
require "http/client"

url = "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm"
headers = HTTP::Headers{
  "x-amz-data-length" => ""
  "x-amz-checksum" => ""
  "x-amz-checksum-algorithm" => ""
  "content-type" => "application/json"
}
reqBody = "{\n  \"BlockData\": \"\"\n}"

response = HTTP::Client.put url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Put,
    RequestUri = new Uri("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm"),
    Headers =
    {
        { "x-amz-data-length", "" },
        { "x-amz-checksum", "" },
        { "x-amz-checksum-algorithm", "" },
    },
    Content = new StringContent("{\n  \"BlockData\": \"\"\n}")
    {
        Headers =
        {
            ContentType = new MediaTypeHeaderValue("application/json")
        }
    }
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm");
var request = new RestRequest("", Method.Put);
request.AddHeader("x-amz-data-length", "");
request.AddHeader("x-amz-checksum", "");
request.AddHeader("x-amz-checksum-algorithm", "");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"BlockData\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm"

	payload := strings.NewReader("{\n  \"BlockData\": \"\"\n}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("x-amz-data-length", "")
	req.Header.Add("x-amz-checksum", "")
	req.Header.Add("x-amz-checksum-algorithm", "")
	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
PUT /baseUrl/snapshots/:snapshotId/blocks/:blockIndex HTTP/1.1
X-Amz-Data-Length: 
X-Amz-Checksum: 
X-Amz-Checksum-Algorithm: 
Content-Type: application/json
Host: example.com
Content-Length: 21

{
  "BlockData": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("PUT", "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm")
  .setHeader("x-amz-data-length", "")
  .setHeader("x-amz-checksum", "")
  .setHeader("x-amz-checksum-algorithm", "")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"BlockData\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm"))
    .header("x-amz-data-length", "")
    .header("x-amz-checksum", "")
    .header("x-amz-checksum-algorithm", "")
    .header("content-type", "application/json")
    .method("PUT", HttpRequest.BodyPublishers.ofString("{\n  \"BlockData\": \"\"\n}"))
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"BlockData\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm")
  .put(body)
  .addHeader("x-amz-data-length", "")
  .addHeader("x-amz-checksum", "")
  .addHeader("x-amz-checksum-algorithm", "")
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.put("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm")
  .header("x-amz-data-length", "")
  .header("x-amz-checksum", "")
  .header("x-amz-checksum-algorithm", "")
  .header("content-type", "application/json")
  .body("{\n  \"BlockData\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  BlockData: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('PUT', '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm');
xhr.setRequestHeader('x-amz-data-length', '');
xhr.setRequestHeader('x-amz-checksum', '');
xhr.setRequestHeader('x-amz-checksum-algorithm', '');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'PUT',
  url: '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm',
  headers: {
    'x-amz-data-length': '',
    'x-amz-checksum': '',
    'x-amz-checksum-algorithm': '',
    'content-type': 'application/json'
  },
  data: {BlockData: ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm';
const options = {
  method: 'PUT',
  headers: {
    'x-amz-data-length': '',
    'x-amz-checksum': '',
    'x-amz-checksum-algorithm': '',
    'content-type': 'application/json'
  },
  body: '{"BlockData":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm',
  method: 'PUT',
  headers: {
    'x-amz-data-length': '',
    'x-amz-checksum': '',
    'x-amz-checksum-algorithm': '',
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "BlockData": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"BlockData\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm")
  .put(body)
  .addHeader("x-amz-data-length", "")
  .addHeader("x-amz-checksum", "")
  .addHeader("x-amz-checksum-algorithm", "")
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'PUT',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/snapshots/:snapshotId/blocks/:blockIndex',
  headers: {
    'x-amz-data-length': '',
    'x-amz-checksum': '',
    'x-amz-checksum-algorithm': '',
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({BlockData: ''}));
req.end();
const request = require('request');

const options = {
  method: 'PUT',
  url: '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm',
  headers: {
    'x-amz-data-length': '',
    'x-amz-checksum': '',
    'x-amz-checksum-algorithm': '',
    'content-type': 'application/json'
  },
  body: {BlockData: ''},
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('PUT', '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm');

req.headers({
  'x-amz-data-length': '',
  'x-amz-checksum': '',
  'x-amz-checksum-algorithm': '',
  'content-type': 'application/json'
});

req.type('json');
req.send({
  BlockData: ''
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'PUT',
  url: '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm',
  headers: {
    'x-amz-data-length': '',
    'x-amz-checksum': '',
    'x-amz-checksum-algorithm': '',
    'content-type': 'application/json'
  },
  data: {BlockData: ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm';
const options = {
  method: 'PUT',
  headers: {
    'x-amz-data-length': '',
    'x-amz-checksum': '',
    'x-amz-checksum-algorithm': '',
    'content-type': 'application/json'
  },
  body: '{"BlockData":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"x-amz-data-length": @"",
                           @"x-amz-checksum": @"",
                           @"x-amz-checksum-algorithm": @"",
                           @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"BlockData": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PUT"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm" in
let headers = Header.add_list (Header.init ()) [
  ("x-amz-data-length", "");
  ("x-amz-checksum", "");
  ("x-amz-checksum-algorithm", "");
  ("content-type", "application/json");
] in
let body = Cohttp_lwt_body.of_string "{\n  \"BlockData\": \"\"\n}" in

Client.call ~headers ~body `PUT uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => json_encode([
    'BlockData' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json",
    "x-amz-checksum: ",
    "x-amz-checksum-algorithm: ",
    "x-amz-data-length: "
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('PUT', '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm', [
  'body' => '{
  "BlockData": ""
}',
  'headers' => [
    'content-type' => 'application/json',
    'x-amz-checksum' => '',
    'x-amz-checksum-algorithm' => '',
    'x-amz-data-length' => '',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders([
  'x-amz-data-length' => '',
  'x-amz-checksum' => '',
  'x-amz-checksum-algorithm' => '',
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'BlockData' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'BlockData' => ''
]));
$request->setRequestUrl('{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm');
$request->setRequestMethod('PUT');
$request->setBody($body);

$request->setHeaders([
  'x-amz-data-length' => '',
  'x-amz-checksum' => '',
  'x-amz-checksum-algorithm' => '',
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("x-amz-data-length", "")
$headers.Add("x-amz-checksum", "")
$headers.Add("x-amz-checksum-algorithm", "")
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{
  "BlockData": ""
}'
$headers=@{}
$headers.Add("x-amz-data-length", "")
$headers.Add("x-amz-checksum", "")
$headers.Add("x-amz-checksum-algorithm", "")
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{
  "BlockData": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"BlockData\": \"\"\n}"

headers = {
    'x-amz-data-length': "",
    'x-amz-checksum': "",
    'x-amz-checksum-algorithm': "",
    'content-type': "application/json"
}

conn.request("PUT", "/baseUrl/snapshots/:snapshotId/blocks/:blockIndex", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm"

payload = { "BlockData": "" }
headers = {
    "x-amz-data-length": "",
    "x-amz-checksum": "",
    "x-amz-checksum-algorithm": "",
    "content-type": "application/json"
}

response = requests.put(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm"

payload <- "{\n  \"BlockData\": \"\"\n}"

encode <- "json"

response <- VERB("PUT", url, body = payload, add_headers('x-amz-data-length' = '', 'x-amz-checksum' = '', 'x-amz-checksum-algorithm' = ''), content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["x-amz-data-length"] = ''
request["x-amz-checksum"] = ''
request["x-amz-checksum-algorithm"] = ''
request["content-type"] = 'application/json'
request.body = "{\n  \"BlockData\": \"\"\n}"

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
  headers: {'Content-Type' => 'application/json'}
)

response = conn.put('/baseUrl/snapshots/:snapshotId/blocks/:blockIndex') do |req|
  req.headers['x-amz-data-length'] = ''
  req.headers['x-amz-checksum'] = ''
  req.headers['x-amz-checksum-algorithm'] = ''
  req.body = "{\n  \"BlockData\": \"\"\n}"
end

puts response.status
puts response.body
use std::str::FromStr;
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm";

    let payload = json!({"BlockData": ""});

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("x-amz-data-length", "".parse().unwrap());
    headers.insert("x-amz-checksum", "".parse().unwrap());
    headers.insert("x-amz-checksum-algorithm", "".parse().unwrap());
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("PUT").unwrap(), url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request PUT \
  --url '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm' \
  --header 'content-type: application/json' \
  --header 'x-amz-checksum: ' \
  --header 'x-amz-checksum-algorithm: ' \
  --header 'x-amz-data-length: ' \
  --data '{
  "BlockData": ""
}'
echo '{
  "BlockData": ""
}' |  \
  http PUT '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm' \
  content-type:application/json \
  x-amz-checksum:'' \
  x-amz-checksum-algorithm:'' \
  x-amz-data-length:''
wget --quiet \
  --method PUT \
  --header 'x-amz-data-length: ' \
  --header 'x-amz-checksum: ' \
  --header 'x-amz-checksum-algorithm: ' \
  --header 'content-type: application/json' \
  --body-data '{\n  "BlockData": ""\n}' \
  --output-document \
  - '{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm'
import Foundation

let headers = [
  "x-amz-data-length": "",
  "x-amz-checksum": "",
  "x-amz-checksum-algorithm": "",
  "content-type": "application/json"
]
let parameters = ["BlockData": ""] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/snapshots/:snapshotId/blocks/:blockIndex#x-amz-Data-Length&x-amz-Checksum&x-amz-Checksum-Algorithm")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
POST StartSnapshot
{{baseUrl}}/snapshots
BODY json

{
  "VolumeSize": 0,
  "ParentSnapshotId": "",
  "Tags": [
    {
      "Key": "",
      "Value": ""
    }
  ],
  "Description": "",
  "ClientToken": "",
  "Encrypted": false,
  "KmsKeyArn": "",
  "Timeout": 0
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/snapshots");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/snapshots" {:content-type :json
                                                      :form-params {:VolumeSize 0
                                                                    :ParentSnapshotId ""
                                                                    :Tags [{:Key ""
                                                                            :Value ""}]
                                                                    :Description ""
                                                                    :ClientToken ""
                                                                    :Encrypted false
                                                                    :KmsKeyArn ""
                                                                    :Timeout 0}})
require "http/client"

url = "{{baseUrl}}/snapshots"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}"

response = HTTP::Client.post url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Post,
    RequestUri = new Uri("{{baseUrl}}/snapshots"),
    Content = new StringContent("{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}")
    {
        Headers =
        {
            ContentType = new MediaTypeHeaderValue("application/json")
        }
    }
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/snapshots");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/snapshots"

	payload := strings.NewReader("{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/snapshots HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 210

{
  "VolumeSize": 0,
  "ParentSnapshotId": "",
  "Tags": [
    {
      "Key": "",
      "Value": ""
    }
  ],
  "Description": "",
  "ClientToken": "",
  "Encrypted": false,
  "KmsKeyArn": "",
  "Timeout": 0
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/snapshots")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/snapshots"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}"))
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/snapshots")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/snapshots")
  .header("content-type", "application/json")
  .body("{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}")
  .asString();
const data = JSON.stringify({
  VolumeSize: 0,
  ParentSnapshotId: '',
  Tags: [
    {
      Key: '',
      Value: ''
    }
  ],
  Description: '',
  ClientToken: '',
  Encrypted: false,
  KmsKeyArn: '',
  Timeout: 0
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/snapshots');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/snapshots',
  headers: {'content-type': 'application/json'},
  data: {
    VolumeSize: 0,
    ParentSnapshotId: '',
    Tags: [{Key: '', Value: ''}],
    Description: '',
    ClientToken: '',
    Encrypted: false,
    KmsKeyArn: '',
    Timeout: 0
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/snapshots';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"VolumeSize":0,"ParentSnapshotId":"","Tags":[{"Key":"","Value":""}],"Description":"","ClientToken":"","Encrypted":false,"KmsKeyArn":"","Timeout":0}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/snapshots',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "VolumeSize": 0,\n  "ParentSnapshotId": "",\n  "Tags": [\n    {\n      "Key": "",\n      "Value": ""\n    }\n  ],\n  "Description": "",\n  "ClientToken": "",\n  "Encrypted": false,\n  "KmsKeyArn": "",\n  "Timeout": 0\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/snapshots")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/snapshots',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  VolumeSize: 0,
  ParentSnapshotId: '',
  Tags: [{Key: '', Value: ''}],
  Description: '',
  ClientToken: '',
  Encrypted: false,
  KmsKeyArn: '',
  Timeout: 0
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/snapshots',
  headers: {'content-type': 'application/json'},
  body: {
    VolumeSize: 0,
    ParentSnapshotId: '',
    Tags: [{Key: '', Value: ''}],
    Description: '',
    ClientToken: '',
    Encrypted: false,
    KmsKeyArn: '',
    Timeout: 0
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('POST', '{{baseUrl}}/snapshots');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  VolumeSize: 0,
  ParentSnapshotId: '',
  Tags: [
    {
      Key: '',
      Value: ''
    }
  ],
  Description: '',
  ClientToken: '',
  Encrypted: false,
  KmsKeyArn: '',
  Timeout: 0
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'POST',
  url: '{{baseUrl}}/snapshots',
  headers: {'content-type': 'application/json'},
  data: {
    VolumeSize: 0,
    ParentSnapshotId: '',
    Tags: [{Key: '', Value: ''}],
    Description: '',
    ClientToken: '',
    Encrypted: false,
    KmsKeyArn: '',
    Timeout: 0
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/snapshots';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"VolumeSize":0,"ParentSnapshotId":"","Tags":[{"Key":"","Value":""}],"Description":"","ClientToken":"","Encrypted":false,"KmsKeyArn":"","Timeout":0}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"VolumeSize": @0,
                              @"ParentSnapshotId": @"",
                              @"Tags": @[ @{ @"Key": @"", @"Value": @"" } ],
                              @"Description": @"",
                              @"ClientToken": @"",
                              @"Encrypted": @NO,
                              @"KmsKeyArn": @"",
                              @"Timeout": @0 };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/snapshots"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/snapshots" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/snapshots",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'VolumeSize' => 0,
    'ParentSnapshotId' => '',
    'Tags' => [
        [
                'Key' => '',
                'Value' => ''
        ]
    ],
    'Description' => '',
    'ClientToken' => '',
    'Encrypted' => null,
    'KmsKeyArn' => '',
    'Timeout' => 0
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/snapshots', [
  'body' => '{
  "VolumeSize": 0,
  "ParentSnapshotId": "",
  "Tags": [
    {
      "Key": "",
      "Value": ""
    }
  ],
  "Description": "",
  "ClientToken": "",
  "Encrypted": false,
  "KmsKeyArn": "",
  "Timeout": 0
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/snapshots');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'VolumeSize' => 0,
  'ParentSnapshotId' => '',
  'Tags' => [
    [
        'Key' => '',
        'Value' => ''
    ]
  ],
  'Description' => '',
  'ClientToken' => '',
  'Encrypted' => null,
  'KmsKeyArn' => '',
  'Timeout' => 0
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'VolumeSize' => 0,
  'ParentSnapshotId' => '',
  'Tags' => [
    [
        'Key' => '',
        'Value' => ''
    ]
  ],
  'Description' => '',
  'ClientToken' => '',
  'Encrypted' => null,
  'KmsKeyArn' => '',
  'Timeout' => 0
]));
$request->setRequestUrl('{{baseUrl}}/snapshots');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/snapshots' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "VolumeSize": 0,
  "ParentSnapshotId": "",
  "Tags": [
    {
      "Key": "",
      "Value": ""
    }
  ],
  "Description": "",
  "ClientToken": "",
  "Encrypted": false,
  "KmsKeyArn": "",
  "Timeout": 0
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/snapshots' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "VolumeSize": 0,
  "ParentSnapshotId": "",
  "Tags": [
    {
      "Key": "",
      "Value": ""
    }
  ],
  "Description": "",
  "ClientToken": "",
  "Encrypted": false,
  "KmsKeyArn": "",
  "Timeout": 0
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/snapshots", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/snapshots"

payload = {
    "VolumeSize": 0,
    "ParentSnapshotId": "",
    "Tags": [
        {
            "Key": "",
            "Value": ""
        }
    ],
    "Description": "",
    "ClientToken": "",
    "Encrypted": False,
    "KmsKeyArn": "",
    "Timeout": 0
}
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/snapshots"

payload <- "{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/snapshots")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}"

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
  headers: {'Content-Type' => 'application/json'}
)

response = conn.post('/baseUrl/snapshots') do |req|
  req.body = "{\n  \"VolumeSize\": 0,\n  \"ParentSnapshotId\": \"\",\n  \"Tags\": [\n    {\n      \"Key\": \"\",\n      \"Value\": \"\"\n    }\n  ],\n  \"Description\": \"\",\n  \"ClientToken\": \"\",\n  \"Encrypted\": false,\n  \"KmsKeyArn\": \"\",\n  \"Timeout\": 0\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/snapshots";

    let payload = json!({
        "VolumeSize": 0,
        "ParentSnapshotId": "",
        "Tags": (
            json!({
                "Key": "",
                "Value": ""
            })
        ),
        "Description": "",
        "ClientToken": "",
        "Encrypted": false,
        "KmsKeyArn": "",
        "Timeout": 0
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/snapshots \
  --header 'content-type: application/json' \
  --data '{
  "VolumeSize": 0,
  "ParentSnapshotId": "",
  "Tags": [
    {
      "Key": "",
      "Value": ""
    }
  ],
  "Description": "",
  "ClientToken": "",
  "Encrypted": false,
  "KmsKeyArn": "",
  "Timeout": 0
}'
echo '{
  "VolumeSize": 0,
  "ParentSnapshotId": "",
  "Tags": [
    {
      "Key": "",
      "Value": ""
    }
  ],
  "Description": "",
  "ClientToken": "",
  "Encrypted": false,
  "KmsKeyArn": "",
  "Timeout": 0
}' |  \
  http POST {{baseUrl}}/snapshots \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "VolumeSize": 0,\n  "ParentSnapshotId": "",\n  "Tags": [\n    {\n      "Key": "",\n      "Value": ""\n    }\n  ],\n  "Description": "",\n  "ClientToken": "",\n  "Encrypted": false,\n  "KmsKeyArn": "",\n  "Timeout": 0\n}' \
  --output-document \
  - {{baseUrl}}/snapshots
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "VolumeSize": 0,
  "ParentSnapshotId": "",
  "Tags": [
    [
      "Key": "",
      "Value": ""
    ]
  ],
  "Description": "",
  "ClientToken": "",
  "Encrypted": false,
  "KmsKeyArn": "",
  "Timeout": 0
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/snapshots")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()