Examples
REQUEST

CURL *hnd = curl_easy_init();

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

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "x_api_key: {{apiKey}}");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

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

(client/post "{{baseUrl}}/featured_resources" {:headers {:x_api_key "{{apiKey}}"}})
require "http/client"

url = "{{baseUrl}}/featured_resources"
headers = HTTP::Headers{
  "x_api_key" => "{{apiKey}}"
}

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}}/featured_resources"),
    Headers =
    {
        { "x_api_key", "{{apiKey}}" },
    },
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/featured_resources");
var request = new RestRequest("", Method.Post);
request.AddHeader("x_api_key", "{{apiKey}}");
var response = client.Execute(request);
package main

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

func main() {

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

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

	req.Header.Add("x_api_key", "{{apiKey}}")

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

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

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

}
POST /baseUrl/featured_resources HTTP/1.1
X_api_key: {{apiKey}}
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/featured_resources")
  .setHeader("x_api_key", "{{apiKey}}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/featured_resources"))
    .header("x_api_key", "{{apiKey}}")
    .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}}/featured_resources")
  .post(null)
  .addHeader("x_api_key", "{{apiKey}}")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/featured_resources")
  .header("x_api_key", "{{apiKey}}")
  .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}}/featured_resources');
xhr.setRequestHeader('x_api_key', '{{apiKey}}');

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/featured_resources',
  headers: {x_api_key: '{{apiKey}}'}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/featured_resources';
const options = {method: 'POST', headers: {x_api_key: '{{apiKey}}'}};

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}}/featured_resources',
  method: 'POST',
  headers: {
    x_api_key: '{{apiKey}}'
  }
};

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

val request = Request.Builder()
  .url("{{baseUrl}}/featured_resources")
  .post(null)
  .addHeader("x_api_key", "{{apiKey}}")
  .build()

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

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/featured_resources',
  headers: {
    x_api_key: '{{apiKey}}'
  }
};

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}}/featured_resources',
  headers: {x_api_key: '{{apiKey}}'}
};

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

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

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

req.headers({
  x_api_key: '{{apiKey}}'
});

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}}/featured_resources',
  headers: {x_api_key: '{{apiKey}}'}
};

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

const url = '{{baseUrl}}/featured_resources';
const options = {method: 'POST', headers: {x_api_key: '{{apiKey}}'}};

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

NSDictionary *headers = @{ @"x_api_key": @"{{apiKey}}" };

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/featured_resources"]
                                                       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}}/featured_resources" in
let headers = Header.add (Header.init ()) "x_api_key" "{{apiKey}}" in

Client.call ~headers `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/featured_resources",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => [
    "x_api_key: {{apiKey}}"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/featured_resources', [
  'headers' => [
    'x_api_key' => '{{apiKey}}',
  ],
]);

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

$request->setHeaders([
  'x_api_key' => '{{apiKey}}'
]);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/featured_resources');
$request->setRequestMethod('POST');
$request->setHeaders([
  'x_api_key' => '{{apiKey}}'
]);

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

echo $response->getBody();
$headers=@{}
$headers.Add("x_api_key", "{{apiKey}}")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/featured_resources' -Method POST -Headers $headers
$headers=@{}
$headers.Add("x_api_key", "{{apiKey}}")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/featured_resources' -Method POST -Headers $headers
import http.client

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

payload = ""

headers = { 'x_api_key': "{{apiKey}}" }

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

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

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

url = "{{baseUrl}}/featured_resources"

payload = ""
headers = {"x_api_key": "{{apiKey}}"}

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

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

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

payload <- ""

response <- VERB("POST", url, body = payload, add_headers('x_api_key' = '{{apiKey}}'), content_type(""))

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

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

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

request = Net::HTTP::Post.new(url)
request["x_api_key"] = '{{apiKey}}'

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

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

response = conn.post('/baseUrl/featured_resources') do |req|
  req.headers['x_api_key'] = '{{apiKey}}'
end

puts response.status
puts response.body
use reqwest;

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

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("x_api_key", "{{apiKey}}".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}}/featured_resources \
  --header 'x_api_key: {{apiKey}}'
http POST {{baseUrl}}/featured_resources \
  x_api_key:'{{apiKey}}'
wget --quiet \
  --method POST \
  --header 'x_api_key: {{apiKey}}' \
  --output-document \
  - {{baseUrl}}/featured_resources
import Foundation

let headers = ["x_api_key": "{{apiKey}}"]

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/featured_resources")! 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()
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "code": 401,
  "message": "401: Request not authorized. Please provide a valid API key for access."
}
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "code": 404,
  "message": "Record not found"
}
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "code": 411,
  "message": "Unable to complete the request",
  "errors": [
    "Sample error from server"
  ]
}
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "code": 500,
  "message": "We're sorry, but something went wrong",
  "errors": [
    "NoMethodError",
    "undefined method `application' for nil:NilClass"
  ]
}
POST Creates a new collection
{{baseUrl}}/collections
Examples
REQUEST

CURL *hnd = curl_easy_init();

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

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

(client/post "{{baseUrl}}/collections")
require "http/client"

url = "{{baseUrl}}/collections"

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

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

func main() {

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

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

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

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

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

}
POST /baseUrl/collections HTTP/1.1
Host: example.com

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

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/collections"))
    .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}}/collections")
  .post(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/collections")
  .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}}/collections');

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

const options = {method: 'POST', url: '{{baseUrl}}/collections'};

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

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}}/collections',
  method: 'POST',
  headers: {}
};

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

val request = Request.Builder()
  .url("{{baseUrl}}/collections")
  .post(null)
  .build()

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

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/collections',
  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: 'POST', url: '{{baseUrl}}/collections'};

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

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

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

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}}/collections'};

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

const url = '{{baseUrl}}/collections';
const options = {method: 'POST'};

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}}/collections"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];

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}}/collections" in

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

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/collections');

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

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/collections');
$request->setRequestMethod('POST');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/collections' -Method POST 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/collections' -Method POST 
import http.client

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

conn.request("POST", "/baseUrl/collections")

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

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

url = "{{baseUrl}}/collections"

response = requests.post(url)

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

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

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

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

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

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

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

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

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

response = conn.post('/baseUrl/collections') do |req|
end

puts response.status
puts response.body
use reqwest;

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

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

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

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/collections
http POST {{baseUrl}}/collections
wget --quiet \
  --method POST \
  --output-document \
  - {{baseUrl}}/collections
import Foundation

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

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 List of all DOIs
{{baseUrl}}/dois
HEADERS

X_API_KEY
{{apiKey}}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/dois");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "x_api_key: {{apiKey}}");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

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

(client/get "{{baseUrl}}/dois" {:headers {:x_api_key "{{apiKey}}"}})
require "http/client"

url = "{{baseUrl}}/dois"
headers = HTTP::Headers{
  "x_api_key" => "{{apiKey}}"
}

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

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

func main() {

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

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

	req.Header.Add("x_api_key", "{{apiKey}}")

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

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

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

}
GET /baseUrl/dois HTTP/1.1
X_api_key: {{apiKey}}
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/dois")
  .setHeader("x_api_key", "{{apiKey}}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/dois"))
    .header("x_api_key", "{{apiKey}}")
    .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}}/dois")
  .get()
  .addHeader("x_api_key", "{{apiKey}}")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/dois")
  .header("x_api_key", "{{apiKey}}")
  .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}}/dois');
xhr.setRequestHeader('x_api_key', '{{apiKey}}');

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/dois',
  headers: {x_api_key: '{{apiKey}}'}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/dois';
const options = {method: 'GET', headers: {x_api_key: '{{apiKey}}'}};

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}}/dois',
  method: 'GET',
  headers: {
    x_api_key: '{{apiKey}}'
  }
};

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

val request = Request.Builder()
  .url("{{baseUrl}}/dois")
  .get()
  .addHeader("x_api_key", "{{apiKey}}")
  .build()

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

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/dois',
  headers: {
    x_api_key: '{{apiKey}}'
  }
};

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}}/dois',
  headers: {x_api_key: '{{apiKey}}'}
};

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

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

const req = unirest('GET', '{{baseUrl}}/dois');

req.headers({
  x_api_key: '{{apiKey}}'
});

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}}/dois',
  headers: {x_api_key: '{{apiKey}}'}
};

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

const url = '{{baseUrl}}/dois';
const options = {method: 'GET', headers: {x_api_key: '{{apiKey}}'}};

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

NSDictionary *headers = @{ @"x_api_key": @"{{apiKey}}" };

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/dois"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
[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}}/dois" in
let headers = Header.add (Header.init ()) "x_api_key" "{{apiKey}}" in

Client.call ~headers `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/dois",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "x_api_key: {{apiKey}}"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/dois', [
  'headers' => [
    'x_api_key' => '{{apiKey}}',
  ],
]);

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

$request->setHeaders([
  'x_api_key' => '{{apiKey}}'
]);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/dois');
$request->setRequestMethod('GET');
$request->setHeaders([
  'x_api_key' => '{{apiKey}}'
]);

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

echo $response->getBody();
$headers=@{}
$headers.Add("x_api_key", "{{apiKey}}")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/dois' -Method GET -Headers $headers
$headers=@{}
$headers.Add("x_api_key", "{{apiKey}}")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/dois' -Method GET -Headers $headers
import http.client

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

headers = { 'x_api_key': "{{apiKey}}" }

conn.request("GET", "/baseUrl/dois", headers=headers)

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

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

url = "{{baseUrl}}/dois"

headers = {"x_api_key": "{{apiKey}}"}

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

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

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

response <- VERB("GET", url, add_headers('x_api_key' = '{{apiKey}}'), content_type("application/octet-stream"))

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

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

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

request = Net::HTTP::Get.new(url)
request["x_api_key"] = '{{apiKey}}'

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

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

response = conn.get('/baseUrl/dois') do |req|
  req.headers['x_api_key'] = '{{apiKey}}'
end

puts response.status
puts response.body
use reqwest;

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

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("x_api_key", "{{apiKey}}".parse().unwrap());

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

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

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/dois \
  --header 'x_api_key: {{apiKey}}'
http GET {{baseUrl}}/dois \
  x_api_key:'{{apiKey}}'
wget --quiet \
  --method GET \
  --header 'x_api_key: {{apiKey}}' \
  --output-document \
  - {{baseUrl}}/dois
import Foundation

let headers = ["x_api_key": "{{apiKey}}"]

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/dois")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
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()
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "doi:10.26207/002c-bb83": [
    "a0fc525b-0d49-48e0-a385-f86bd13bce4d",
    "146a74e3-ae66-4802-b5f8-471bcac80d58"
  ],
  "doi:10.18113/dmnf-6dzs": [
    "87287b53-76be-424e-b202-bc6d521c841b"
  ]
}
POST Publishes a new work
{{baseUrl}}/ingest
HEADERS

X_API_KEY
{{apiKey}}
BODY json

{
  "metadata": {
    "title": "",
    "work_type": "",
    "description": "",
    "published_date": "",
    "publisher_statement": "",
    "keyword": [],
    "subtitle": "",
    "publisher": [],
    "subject": [],
    "language": [],
    "identifier": [],
    "based_near": [],
    "owner": "",
    "manufacturer": "",
    "model": "",
    "instrument_type": "",
    "measured_variable": "",
    "available_date": "",
    "decommission_date": "",
    "related_identifier": "",
    "instrument_resource_type": "",
    "funding_reference": "",
    "related_url": [],
    "sub_work_type": "",
    "program": "",
    "degree": "",
    "source": [],
    "creators": [
      {
        "display_name": "",
        "surname": "",
        "given_name": "",
        "email": "",
        "psu_id": "",
        "orcid": ""
      }
    ],
    "contributor": [],
    "rights": "",
    "visibility": "",
    "embargoed_until": "",
    "version_name": "",
    "doi": ""
  },
  "content": [
    {}
  ],
  "depositor": "",
  "permissions": {}
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

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

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

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\n}");

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

(client/post "{{baseUrl}}/ingest" {:headers {:x_api_key "{{apiKey}}"}
                                                   :content-type :json
                                                   :form-params {:metadata {:title ""
                                                                            :work_type ""
                                                                            :description ""
                                                                            :published_date ""
                                                                            :publisher_statement ""
                                                                            :keyword []
                                                                            :subtitle ""
                                                                            :publisher []
                                                                            :subject []
                                                                            :language []
                                                                            :identifier []
                                                                            :based_near []
                                                                            :owner ""
                                                                            :manufacturer ""
                                                                            :model ""
                                                                            :instrument_type ""
                                                                            :measured_variable ""
                                                                            :available_date ""
                                                                            :decommission_date ""
                                                                            :related_identifier ""
                                                                            :instrument_resource_type ""
                                                                            :funding_reference ""
                                                                            :related_url []
                                                                            :sub_work_type ""
                                                                            :program ""
                                                                            :degree ""
                                                                            :source []
                                                                            :creators [{:display_name ""
                                                                                        :surname ""
                                                                                        :given_name ""
                                                                                        :email ""
                                                                                        :psu_id ""
                                                                                        :orcid ""}]
                                                                            :contributor []
                                                                            :rights ""
                                                                            :visibility ""
                                                                            :embargoed_until ""
                                                                            :version_name ""
                                                                            :doi ""}
                                                                 :content [{}]
                                                                 :depositor ""
                                                                 :permissions {}}})
require "http/client"

url = "{{baseUrl}}/ingest"
headers = HTTP::Headers{
  "x_api_key" => "{{apiKey}}"
  "content-type" => "application/json"
}
reqBody = "{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\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}}/ingest"),
    Headers =
    {
        { "x_api_key", "{{apiKey}}" },
    },
    Content = new StringContent("{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\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}}/ingest");
var request = new RestRequest("", Method.Post);
request.AddHeader("x_api_key", "{{apiKey}}");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

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

func main() {

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

	payload := strings.NewReader("{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\n}")

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

	req.Header.Add("x_api_key", "{{apiKey}}")
	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/ingest HTTP/1.1
X_api_key: {{apiKey}}
Content-Type: application/json
Host: example.com
Content-Length: 1027

{
  "metadata": {
    "title": "",
    "work_type": "",
    "description": "",
    "published_date": "",
    "publisher_statement": "",
    "keyword": [],
    "subtitle": "",
    "publisher": [],
    "subject": [],
    "language": [],
    "identifier": [],
    "based_near": [],
    "owner": "",
    "manufacturer": "",
    "model": "",
    "instrument_type": "",
    "measured_variable": "",
    "available_date": "",
    "decommission_date": "",
    "related_identifier": "",
    "instrument_resource_type": "",
    "funding_reference": "",
    "related_url": [],
    "sub_work_type": "",
    "program": "",
    "degree": "",
    "source": [],
    "creators": [
      {
        "display_name": "",
        "surname": "",
        "given_name": "",
        "email": "",
        "psu_id": "",
        "orcid": ""
      }
    ],
    "contributor": [],
    "rights": "",
    "visibility": "",
    "embargoed_until": "",
    "version_name": "",
    "doi": ""
  },
  "content": [
    {}
  ],
  "depositor": "",
  "permissions": {}
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/ingest")
  .setHeader("x_api_key", "{{apiKey}}")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/ingest"))
    .header("x_api_key", "{{apiKey}}")
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\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  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/ingest")
  .post(body)
  .addHeader("x_api_key", "{{apiKey}}")
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/ingest")
  .header("x_api_key", "{{apiKey}}")
  .header("content-type", "application/json")
  .body("{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\n}")
  .asString();
const data = JSON.stringify({
  metadata: {
    title: '',
    work_type: '',
    description: '',
    published_date: '',
    publisher_statement: '',
    keyword: [],
    subtitle: '',
    publisher: [],
    subject: [],
    language: [],
    identifier: [],
    based_near: [],
    owner: '',
    manufacturer: '',
    model: '',
    instrument_type: '',
    measured_variable: '',
    available_date: '',
    decommission_date: '',
    related_identifier: '',
    instrument_resource_type: '',
    funding_reference: '',
    related_url: [],
    sub_work_type: '',
    program: '',
    degree: '',
    source: [],
    creators: [
      {
        display_name: '',
        surname: '',
        given_name: '',
        email: '',
        psu_id: '',
        orcid: ''
      }
    ],
    contributor: [],
    rights: '',
    visibility: '',
    embargoed_until: '',
    version_name: '',
    doi: ''
  },
  content: [
    {}
  ],
  depositor: '',
  permissions: {}
});

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

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

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

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/ingest',
  headers: {x_api_key: '{{apiKey}}', 'content-type': 'application/json'},
  data: {
    metadata: {
      title: '',
      work_type: '',
      description: '',
      published_date: '',
      publisher_statement: '',
      keyword: [],
      subtitle: '',
      publisher: [],
      subject: [],
      language: [],
      identifier: [],
      based_near: [],
      owner: '',
      manufacturer: '',
      model: '',
      instrument_type: '',
      measured_variable: '',
      available_date: '',
      decommission_date: '',
      related_identifier: '',
      instrument_resource_type: '',
      funding_reference: '',
      related_url: [],
      sub_work_type: '',
      program: '',
      degree: '',
      source: [],
      creators: [
        {
          display_name: '',
          surname: '',
          given_name: '',
          email: '',
          psu_id: '',
          orcid: ''
        }
      ],
      contributor: [],
      rights: '',
      visibility: '',
      embargoed_until: '',
      version_name: '',
      doi: ''
    },
    content: [{}],
    depositor: '',
    permissions: {}
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/ingest';
const options = {
  method: 'POST',
  headers: {x_api_key: '{{apiKey}}', 'content-type': 'application/json'},
  body: '{"metadata":{"title":"","work_type":"","description":"","published_date":"","publisher_statement":"","keyword":[],"subtitle":"","publisher":[],"subject":[],"language":[],"identifier":[],"based_near":[],"owner":"","manufacturer":"","model":"","instrument_type":"","measured_variable":"","available_date":"","decommission_date":"","related_identifier":"","instrument_resource_type":"","funding_reference":"","related_url":[],"sub_work_type":"","program":"","degree":"","source":[],"creators":[{"display_name":"","surname":"","given_name":"","email":"","psu_id":"","orcid":""}],"contributor":[],"rights":"","visibility":"","embargoed_until":"","version_name":"","doi":""},"content":[{}],"depositor":"","permissions":{}}'
};

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}}/ingest',
  method: 'POST',
  headers: {
    x_api_key: '{{apiKey}}',
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "metadata": {\n    "title": "",\n    "work_type": "",\n    "description": "",\n    "published_date": "",\n    "publisher_statement": "",\n    "keyword": [],\n    "subtitle": "",\n    "publisher": [],\n    "subject": [],\n    "language": [],\n    "identifier": [],\n    "based_near": [],\n    "owner": "",\n    "manufacturer": "",\n    "model": "",\n    "instrument_type": "",\n    "measured_variable": "",\n    "available_date": "",\n    "decommission_date": "",\n    "related_identifier": "",\n    "instrument_resource_type": "",\n    "funding_reference": "",\n    "related_url": [],\n    "sub_work_type": "",\n    "program": "",\n    "degree": "",\n    "source": [],\n    "creators": [\n      {\n        "display_name": "",\n        "surname": "",\n        "given_name": "",\n        "email": "",\n        "psu_id": "",\n        "orcid": ""\n      }\n    ],\n    "contributor": [],\n    "rights": "",\n    "visibility": "",\n    "embargoed_until": "",\n    "version_name": "",\n    "doi": ""\n  },\n  "content": [\n    {}\n  ],\n  "depositor": "",\n  "permissions": {}\n}'
};

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

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/ingest")
  .post(body)
  .addHeader("x_api_key", "{{apiKey}}")
  .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/ingest',
  headers: {
    x_api_key: '{{apiKey}}',
    '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({
  metadata: {
    title: '',
    work_type: '',
    description: '',
    published_date: '',
    publisher_statement: '',
    keyword: [],
    subtitle: '',
    publisher: [],
    subject: [],
    language: [],
    identifier: [],
    based_near: [],
    owner: '',
    manufacturer: '',
    model: '',
    instrument_type: '',
    measured_variable: '',
    available_date: '',
    decommission_date: '',
    related_identifier: '',
    instrument_resource_type: '',
    funding_reference: '',
    related_url: [],
    sub_work_type: '',
    program: '',
    degree: '',
    source: [],
    creators: [
      {
        display_name: '',
        surname: '',
        given_name: '',
        email: '',
        psu_id: '',
        orcid: ''
      }
    ],
    contributor: [],
    rights: '',
    visibility: '',
    embargoed_until: '',
    version_name: '',
    doi: ''
  },
  content: [{}],
  depositor: '',
  permissions: {}
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/ingest',
  headers: {x_api_key: '{{apiKey}}', 'content-type': 'application/json'},
  body: {
    metadata: {
      title: '',
      work_type: '',
      description: '',
      published_date: '',
      publisher_statement: '',
      keyword: [],
      subtitle: '',
      publisher: [],
      subject: [],
      language: [],
      identifier: [],
      based_near: [],
      owner: '',
      manufacturer: '',
      model: '',
      instrument_type: '',
      measured_variable: '',
      available_date: '',
      decommission_date: '',
      related_identifier: '',
      instrument_resource_type: '',
      funding_reference: '',
      related_url: [],
      sub_work_type: '',
      program: '',
      degree: '',
      source: [],
      creators: [
        {
          display_name: '',
          surname: '',
          given_name: '',
          email: '',
          psu_id: '',
          orcid: ''
        }
      ],
      contributor: [],
      rights: '',
      visibility: '',
      embargoed_until: '',
      version_name: '',
      doi: ''
    },
    content: [{}],
    depositor: '',
    permissions: {}
  },
  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}}/ingest');

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

req.type('json');
req.send({
  metadata: {
    title: '',
    work_type: '',
    description: '',
    published_date: '',
    publisher_statement: '',
    keyword: [],
    subtitle: '',
    publisher: [],
    subject: [],
    language: [],
    identifier: [],
    based_near: [],
    owner: '',
    manufacturer: '',
    model: '',
    instrument_type: '',
    measured_variable: '',
    available_date: '',
    decommission_date: '',
    related_identifier: '',
    instrument_resource_type: '',
    funding_reference: '',
    related_url: [],
    sub_work_type: '',
    program: '',
    degree: '',
    source: [],
    creators: [
      {
        display_name: '',
        surname: '',
        given_name: '',
        email: '',
        psu_id: '',
        orcid: ''
      }
    ],
    contributor: [],
    rights: '',
    visibility: '',
    embargoed_until: '',
    version_name: '',
    doi: ''
  },
  content: [
    {}
  ],
  depositor: '',
  permissions: {}
});

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}}/ingest',
  headers: {x_api_key: '{{apiKey}}', 'content-type': 'application/json'},
  data: {
    metadata: {
      title: '',
      work_type: '',
      description: '',
      published_date: '',
      publisher_statement: '',
      keyword: [],
      subtitle: '',
      publisher: [],
      subject: [],
      language: [],
      identifier: [],
      based_near: [],
      owner: '',
      manufacturer: '',
      model: '',
      instrument_type: '',
      measured_variable: '',
      available_date: '',
      decommission_date: '',
      related_identifier: '',
      instrument_resource_type: '',
      funding_reference: '',
      related_url: [],
      sub_work_type: '',
      program: '',
      degree: '',
      source: [],
      creators: [
        {
          display_name: '',
          surname: '',
          given_name: '',
          email: '',
          psu_id: '',
          orcid: ''
        }
      ],
      contributor: [],
      rights: '',
      visibility: '',
      embargoed_until: '',
      version_name: '',
      doi: ''
    },
    content: [{}],
    depositor: '',
    permissions: {}
  }
};

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

const url = '{{baseUrl}}/ingest';
const options = {
  method: 'POST',
  headers: {x_api_key: '{{apiKey}}', 'content-type': 'application/json'},
  body: '{"metadata":{"title":"","work_type":"","description":"","published_date":"","publisher_statement":"","keyword":[],"subtitle":"","publisher":[],"subject":[],"language":[],"identifier":[],"based_near":[],"owner":"","manufacturer":"","model":"","instrument_type":"","measured_variable":"","available_date":"","decommission_date":"","related_identifier":"","instrument_resource_type":"","funding_reference":"","related_url":[],"sub_work_type":"","program":"","degree":"","source":[],"creators":[{"display_name":"","surname":"","given_name":"","email":"","psu_id":"","orcid":""}],"contributor":[],"rights":"","visibility":"","embargoed_until":"","version_name":"","doi":""},"content":[{}],"depositor":"","permissions":{}}'
};

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

NSDictionary *headers = @{ @"x_api_key": @"{{apiKey}}",
                           @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"metadata": @{ @"title": @"", @"work_type": @"", @"description": @"", @"published_date": @"", @"publisher_statement": @"", @"keyword": @[  ], @"subtitle": @"", @"publisher": @[  ], @"subject": @[  ], @"language": @[  ], @"identifier": @[  ], @"based_near": @[  ], @"owner": @"", @"manufacturer": @"", @"model": @"", @"instrument_type": @"", @"measured_variable": @"", @"available_date": @"", @"decommission_date": @"", @"related_identifier": @"", @"instrument_resource_type": @"", @"funding_reference": @"", @"related_url": @[  ], @"sub_work_type": @"", @"program": @"", @"degree": @"", @"source": @[  ], @"creators": @[ @{ @"display_name": @"", @"surname": @"", @"given_name": @"", @"email": @"", @"psu_id": @"", @"orcid": @"" } ], @"contributor": @[  ], @"rights": @"", @"visibility": @"", @"embargoed_until": @"", @"version_name": @"", @"doi": @"" },
                              @"content": @[ @{  } ],
                              @"depositor": @"",
                              @"permissions": @{  } };

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/ingest"]
                                                       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}}/ingest" in
let headers = Header.add_list (Header.init ()) [
  ("x_api_key", "{{apiKey}}");
  ("content-type", "application/json");
] in
let body = Cohttp_lwt_body.of_string "{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/ingest",
  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([
    'metadata' => [
        'title' => '',
        'work_type' => '',
        'description' => '',
        'published_date' => '',
        'publisher_statement' => '',
        'keyword' => [
                
        ],
        'subtitle' => '',
        'publisher' => [
                
        ],
        'subject' => [
                
        ],
        'language' => [
                
        ],
        'identifier' => [
                
        ],
        'based_near' => [
                
        ],
        'owner' => '',
        'manufacturer' => '',
        'model' => '',
        'instrument_type' => '',
        'measured_variable' => '',
        'available_date' => '',
        'decommission_date' => '',
        'related_identifier' => '',
        'instrument_resource_type' => '',
        'funding_reference' => '',
        'related_url' => [
                
        ],
        'sub_work_type' => '',
        'program' => '',
        'degree' => '',
        'source' => [
                
        ],
        'creators' => [
                [
                                'display_name' => '',
                                'surname' => '',
                                'given_name' => '',
                                'email' => '',
                                'psu_id' => '',
                                'orcid' => ''
                ]
        ],
        'contributor' => [
                
        ],
        'rights' => '',
        'visibility' => '',
        'embargoed_until' => '',
        'version_name' => '',
        'doi' => ''
    ],
    'content' => [
        [
                
        ]
    ],
    'depositor' => '',
    'permissions' => [
        
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json",
    "x_api_key: {{apiKey}}"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/ingest', [
  'body' => '{
  "metadata": {
    "title": "",
    "work_type": "",
    "description": "",
    "published_date": "",
    "publisher_statement": "",
    "keyword": [],
    "subtitle": "",
    "publisher": [],
    "subject": [],
    "language": [],
    "identifier": [],
    "based_near": [],
    "owner": "",
    "manufacturer": "",
    "model": "",
    "instrument_type": "",
    "measured_variable": "",
    "available_date": "",
    "decommission_date": "",
    "related_identifier": "",
    "instrument_resource_type": "",
    "funding_reference": "",
    "related_url": [],
    "sub_work_type": "",
    "program": "",
    "degree": "",
    "source": [],
    "creators": [
      {
        "display_name": "",
        "surname": "",
        "given_name": "",
        "email": "",
        "psu_id": "",
        "orcid": ""
      }
    ],
    "contributor": [],
    "rights": "",
    "visibility": "",
    "embargoed_until": "",
    "version_name": "",
    "doi": ""
  },
  "content": [
    {}
  ],
  "depositor": "",
  "permissions": {}
}',
  'headers' => [
    'content-type' => 'application/json',
    'x_api_key' => '{{apiKey}}',
  ],
]);

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

$request->setHeaders([
  'x_api_key' => '{{apiKey}}',
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'metadata' => [
    'title' => '',
    'work_type' => '',
    'description' => '',
    'published_date' => '',
    'publisher_statement' => '',
    'keyword' => [
        
    ],
    'subtitle' => '',
    'publisher' => [
        
    ],
    'subject' => [
        
    ],
    'language' => [
        
    ],
    'identifier' => [
        
    ],
    'based_near' => [
        
    ],
    'owner' => '',
    'manufacturer' => '',
    'model' => '',
    'instrument_type' => '',
    'measured_variable' => '',
    'available_date' => '',
    'decommission_date' => '',
    'related_identifier' => '',
    'instrument_resource_type' => '',
    'funding_reference' => '',
    'related_url' => [
        
    ],
    'sub_work_type' => '',
    'program' => '',
    'degree' => '',
    'source' => [
        
    ],
    'creators' => [
        [
                'display_name' => '',
                'surname' => '',
                'given_name' => '',
                'email' => '',
                'psu_id' => '',
                'orcid' => ''
        ]
    ],
    'contributor' => [
        
    ],
    'rights' => '',
    'visibility' => '',
    'embargoed_until' => '',
    'version_name' => '',
    'doi' => ''
  ],
  'content' => [
    [
        
    ]
  ],
  'depositor' => '',
  'permissions' => [
    
  ]
]));

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'metadata' => [
    'title' => '',
    'work_type' => '',
    'description' => '',
    'published_date' => '',
    'publisher_statement' => '',
    'keyword' => [
        
    ],
    'subtitle' => '',
    'publisher' => [
        
    ],
    'subject' => [
        
    ],
    'language' => [
        
    ],
    'identifier' => [
        
    ],
    'based_near' => [
        
    ],
    'owner' => '',
    'manufacturer' => '',
    'model' => '',
    'instrument_type' => '',
    'measured_variable' => '',
    'available_date' => '',
    'decommission_date' => '',
    'related_identifier' => '',
    'instrument_resource_type' => '',
    'funding_reference' => '',
    'related_url' => [
        
    ],
    'sub_work_type' => '',
    'program' => '',
    'degree' => '',
    'source' => [
        
    ],
    'creators' => [
        [
                'display_name' => '',
                'surname' => '',
                'given_name' => '',
                'email' => '',
                'psu_id' => '',
                'orcid' => ''
        ]
    ],
    'contributor' => [
        
    ],
    'rights' => '',
    'visibility' => '',
    'embargoed_until' => '',
    'version_name' => '',
    'doi' => ''
  ],
  'content' => [
    [
        
    ]
  ],
  'depositor' => '',
  'permissions' => [
    
  ]
]));
$request->setRequestUrl('{{baseUrl}}/ingest');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'x_api_key' => '{{apiKey}}',
  'content-type' => 'application/json'
]);

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

echo $response->getBody();
$headers=@{}
$headers.Add("x_api_key", "{{apiKey}}")
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/ingest' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "metadata": {
    "title": "",
    "work_type": "",
    "description": "",
    "published_date": "",
    "publisher_statement": "",
    "keyword": [],
    "subtitle": "",
    "publisher": [],
    "subject": [],
    "language": [],
    "identifier": [],
    "based_near": [],
    "owner": "",
    "manufacturer": "",
    "model": "",
    "instrument_type": "",
    "measured_variable": "",
    "available_date": "",
    "decommission_date": "",
    "related_identifier": "",
    "instrument_resource_type": "",
    "funding_reference": "",
    "related_url": [],
    "sub_work_type": "",
    "program": "",
    "degree": "",
    "source": [],
    "creators": [
      {
        "display_name": "",
        "surname": "",
        "given_name": "",
        "email": "",
        "psu_id": "",
        "orcid": ""
      }
    ],
    "contributor": [],
    "rights": "",
    "visibility": "",
    "embargoed_until": "",
    "version_name": "",
    "doi": ""
  },
  "content": [
    {}
  ],
  "depositor": "",
  "permissions": {}
}'
$headers=@{}
$headers.Add("x_api_key", "{{apiKey}}")
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/ingest' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "metadata": {
    "title": "",
    "work_type": "",
    "description": "",
    "published_date": "",
    "publisher_statement": "",
    "keyword": [],
    "subtitle": "",
    "publisher": [],
    "subject": [],
    "language": [],
    "identifier": [],
    "based_near": [],
    "owner": "",
    "manufacturer": "",
    "model": "",
    "instrument_type": "",
    "measured_variable": "",
    "available_date": "",
    "decommission_date": "",
    "related_identifier": "",
    "instrument_resource_type": "",
    "funding_reference": "",
    "related_url": [],
    "sub_work_type": "",
    "program": "",
    "degree": "",
    "source": [],
    "creators": [
      {
        "display_name": "",
        "surname": "",
        "given_name": "",
        "email": "",
        "psu_id": "",
        "orcid": ""
      }
    ],
    "contributor": [],
    "rights": "",
    "visibility": "",
    "embargoed_until": "",
    "version_name": "",
    "doi": ""
  },
  "content": [
    {}
  ],
  "depositor": "",
  "permissions": {}
}'
import http.client

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

payload = "{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\n}"

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

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

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

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

url = "{{baseUrl}}/ingest"

payload = {
    "metadata": {
        "title": "",
        "work_type": "",
        "description": "",
        "published_date": "",
        "publisher_statement": "",
        "keyword": [],
        "subtitle": "",
        "publisher": [],
        "subject": [],
        "language": [],
        "identifier": [],
        "based_near": [],
        "owner": "",
        "manufacturer": "",
        "model": "",
        "instrument_type": "",
        "measured_variable": "",
        "available_date": "",
        "decommission_date": "",
        "related_identifier": "",
        "instrument_resource_type": "",
        "funding_reference": "",
        "related_url": [],
        "sub_work_type": "",
        "program": "",
        "degree": "",
        "source": [],
        "creators": [
            {
                "display_name": "",
                "surname": "",
                "given_name": "",
                "email": "",
                "psu_id": "",
                "orcid": ""
            }
        ],
        "contributor": [],
        "rights": "",
        "visibility": "",
        "embargoed_until": "",
        "version_name": "",
        "doi": ""
    },
    "content": [{}],
    "depositor": "",
    "permissions": {}
}
headers = {
    "x_api_key": "{{apiKey}}",
    "content-type": "application/json"
}

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

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

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

payload <- "{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, add_headers('x_api_key' = '{{apiKey}}'), content_type("application/json"), encode = encode)

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

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

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

request = Net::HTTP::Post.new(url)
request["x_api_key"] = '{{apiKey}}'
request["content-type"] = 'application/json'
request.body = "{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\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/ingest') do |req|
  req.headers['x_api_key'] = '{{apiKey}}'
  req.body = "{\n  \"metadata\": {\n    \"title\": \"\",\n    \"work_type\": \"\",\n    \"description\": \"\",\n    \"published_date\": \"\",\n    \"publisher_statement\": \"\",\n    \"keyword\": [],\n    \"subtitle\": \"\",\n    \"publisher\": [],\n    \"subject\": [],\n    \"language\": [],\n    \"identifier\": [],\n    \"based_near\": [],\n    \"owner\": \"\",\n    \"manufacturer\": \"\",\n    \"model\": \"\",\n    \"instrument_type\": \"\",\n    \"measured_variable\": \"\",\n    \"available_date\": \"\",\n    \"decommission_date\": \"\",\n    \"related_identifier\": \"\",\n    \"instrument_resource_type\": \"\",\n    \"funding_reference\": \"\",\n    \"related_url\": [],\n    \"sub_work_type\": \"\",\n    \"program\": \"\",\n    \"degree\": \"\",\n    \"source\": [],\n    \"creators\": [\n      {\n        \"display_name\": \"\",\n        \"surname\": \"\",\n        \"given_name\": \"\",\n        \"email\": \"\",\n        \"psu_id\": \"\",\n        \"orcid\": \"\"\n      }\n    ],\n    \"contributor\": [],\n    \"rights\": \"\",\n    \"visibility\": \"\",\n    \"embargoed_until\": \"\",\n    \"version_name\": \"\",\n    \"doi\": \"\"\n  },\n  \"content\": [\n    {}\n  ],\n  \"depositor\": \"\",\n  \"permissions\": {}\n}"
end

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

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

    let payload = json!({
        "metadata": json!({
            "title": "",
            "work_type": "",
            "description": "",
            "published_date": "",
            "publisher_statement": "",
            "keyword": (),
            "subtitle": "",
            "publisher": (),
            "subject": (),
            "language": (),
            "identifier": (),
            "based_near": (),
            "owner": "",
            "manufacturer": "",
            "model": "",
            "instrument_type": "",
            "measured_variable": "",
            "available_date": "",
            "decommission_date": "",
            "related_identifier": "",
            "instrument_resource_type": "",
            "funding_reference": "",
            "related_url": (),
            "sub_work_type": "",
            "program": "",
            "degree": "",
            "source": (),
            "creators": (
                json!({
                    "display_name": "",
                    "surname": "",
                    "given_name": "",
                    "email": "",
                    "psu_id": "",
                    "orcid": ""
                })
            ),
            "contributor": (),
            "rights": "",
            "visibility": "",
            "embargoed_until": "",
            "version_name": "",
            "doi": ""
        }),
        "content": (json!({})),
        "depositor": "",
        "permissions": json!({})
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("x_api_key", "{{apiKey}}".parse().unwrap());
    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}}/ingest \
  --header 'content-type: application/json' \
  --header 'x_api_key: {{apiKey}}' \
  --data '{
  "metadata": {
    "title": "",
    "work_type": "",
    "description": "",
    "published_date": "",
    "publisher_statement": "",
    "keyword": [],
    "subtitle": "",
    "publisher": [],
    "subject": [],
    "language": [],
    "identifier": [],
    "based_near": [],
    "owner": "",
    "manufacturer": "",
    "model": "",
    "instrument_type": "",
    "measured_variable": "",
    "available_date": "",
    "decommission_date": "",
    "related_identifier": "",
    "instrument_resource_type": "",
    "funding_reference": "",
    "related_url": [],
    "sub_work_type": "",
    "program": "",
    "degree": "",
    "source": [],
    "creators": [
      {
        "display_name": "",
        "surname": "",
        "given_name": "",
        "email": "",
        "psu_id": "",
        "orcid": ""
      }
    ],
    "contributor": [],
    "rights": "",
    "visibility": "",
    "embargoed_until": "",
    "version_name": "",
    "doi": ""
  },
  "content": [
    {}
  ],
  "depositor": "",
  "permissions": {}
}'
echo '{
  "metadata": {
    "title": "",
    "work_type": "",
    "description": "",
    "published_date": "",
    "publisher_statement": "",
    "keyword": [],
    "subtitle": "",
    "publisher": [],
    "subject": [],
    "language": [],
    "identifier": [],
    "based_near": [],
    "owner": "",
    "manufacturer": "",
    "model": "",
    "instrument_type": "",
    "measured_variable": "",
    "available_date": "",
    "decommission_date": "",
    "related_identifier": "",
    "instrument_resource_type": "",
    "funding_reference": "",
    "related_url": [],
    "sub_work_type": "",
    "program": "",
    "degree": "",
    "source": [],
    "creators": [
      {
        "display_name": "",
        "surname": "",
        "given_name": "",
        "email": "",
        "psu_id": "",
        "orcid": ""
      }
    ],
    "contributor": [],
    "rights": "",
    "visibility": "",
    "embargoed_until": "",
    "version_name": "",
    "doi": ""
  },
  "content": [
    {}
  ],
  "depositor": "",
  "permissions": {}
}' |  \
  http POST {{baseUrl}}/ingest \
  content-type:application/json \
  x_api_key:'{{apiKey}}'
wget --quiet \
  --method POST \
  --header 'x_api_key: {{apiKey}}' \
  --header 'content-type: application/json' \
  --body-data '{\n  "metadata": {\n    "title": "",\n    "work_type": "",\n    "description": "",\n    "published_date": "",\n    "publisher_statement": "",\n    "keyword": [],\n    "subtitle": "",\n    "publisher": [],\n    "subject": [],\n    "language": [],\n    "identifier": [],\n    "based_near": [],\n    "owner": "",\n    "manufacturer": "",\n    "model": "",\n    "instrument_type": "",\n    "measured_variable": "",\n    "available_date": "",\n    "decommission_date": "",\n    "related_identifier": "",\n    "instrument_resource_type": "",\n    "funding_reference": "",\n    "related_url": [],\n    "sub_work_type": "",\n    "program": "",\n    "degree": "",\n    "source": [],\n    "creators": [\n      {\n        "display_name": "",\n        "surname": "",\n        "given_name": "",\n        "email": "",\n        "psu_id": "",\n        "orcid": ""\n      }\n    ],\n    "contributor": [],\n    "rights": "",\n    "visibility": "",\n    "embargoed_until": "",\n    "version_name": "",\n    "doi": ""\n  },\n  "content": [\n    {}\n  ],\n  "depositor": "",\n  "permissions": {}\n}' \
  --output-document \
  - {{baseUrl}}/ingest
import Foundation

let headers = [
  "x_api_key": "{{apiKey}}",
  "content-type": "application/json"
]
let parameters = [
  "metadata": [
    "title": "",
    "work_type": "",
    "description": "",
    "published_date": "",
    "publisher_statement": "",
    "keyword": [],
    "subtitle": "",
    "publisher": [],
    "subject": [],
    "language": [],
    "identifier": [],
    "based_near": [],
    "owner": "",
    "manufacturer": "",
    "model": "",
    "instrument_type": "",
    "measured_variable": "",
    "available_date": "",
    "decommission_date": "",
    "related_identifier": "",
    "instrument_resource_type": "",
    "funding_reference": "",
    "related_url": [],
    "sub_work_type": "",
    "program": "",
    "degree": "",
    "source": [],
    "creators": [
      [
        "display_name": "",
        "surname": "",
        "given_name": "",
        "email": "",
        "psu_id": "",
        "orcid": ""
      ]
    ],
    "contributor": [],
    "rights": "",
    "visibility": "",
    "embargoed_until": "",
    "version_name": "",
    "doi": ""
  ],
  "content": [[]],
  "depositor": "",
  "permissions": []
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/ingest")! 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()
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "code": 401,
  "message": "401: Request not authorized. Please provide a valid API key for access."
}
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "code": 404,
  "message": "Record not found"
}
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "code": 411,
  "message": "Unable to complete the request",
  "errors": [
    "Sample error from server"
  ]
}
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "code": 500,
  "message": "We're sorry, but something went wrong",
  "errors": [
    "NoMethodError",
    "undefined method `application' for nil:NilClass"
  ]
}
POST Requests a pre-signed URL to upload a file into ScholarSphere's S3 instance
{{baseUrl}}/uploads
HEADERS

X_API_KEY
{{apiKey}}
BODY json

{
  "extension": "",
  "content_md5": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

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

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

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

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

(client/post "{{baseUrl}}/uploads" {:headers {:x_api_key "{{apiKey}}"}
                                                    :content-type :json
                                                    :form-params {:extension ""
                                                                  :content_md5 ""}})
require "http/client"

url = "{{baseUrl}}/uploads"
headers = HTTP::Headers{
  "x_api_key" => "{{apiKey}}"
  "content-type" => "application/json"
}
reqBody = "{\n  \"extension\": \"\",\n  \"content_md5\": \"\"\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}}/uploads"),
    Headers =
    {
        { "x_api_key", "{{apiKey}}" },
    },
    Content = new StringContent("{\n  \"extension\": \"\",\n  \"content_md5\": \"\"\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}}/uploads");
var request = new RestRequest("", Method.Post);
request.AddHeader("x_api_key", "{{apiKey}}");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"extension\": \"\",\n  \"content_md5\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

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

func main() {

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

	payload := strings.NewReader("{\n  \"extension\": \"\",\n  \"content_md5\": \"\"\n}")

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

	req.Header.Add("x_api_key", "{{apiKey}}")
	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/uploads HTTP/1.1
X_api_key: {{apiKey}}
Content-Type: application/json
Host: example.com
Content-Length: 42

{
  "extension": "",
  "content_md5": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/uploads")
  .setHeader("x_api_key", "{{apiKey}}")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"extension\": \"\",\n  \"content_md5\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/uploads"))
    .header("x_api_key", "{{apiKey}}")
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"extension\": \"\",\n  \"content_md5\": \"\"\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  \"extension\": \"\",\n  \"content_md5\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/uploads")
  .post(body)
  .addHeader("x_api_key", "{{apiKey}}")
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/uploads")
  .header("x_api_key", "{{apiKey}}")
  .header("content-type", "application/json")
  .body("{\n  \"extension\": \"\",\n  \"content_md5\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  extension: '',
  content_md5: ''
});

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

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

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

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/uploads',
  headers: {x_api_key: '{{apiKey}}', 'content-type': 'application/json'},
  data: {extension: '', content_md5: ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/uploads';
const options = {
  method: 'POST',
  headers: {x_api_key: '{{apiKey}}', 'content-type': 'application/json'},
  body: '{"extension":"","content_md5":""}'
};

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}}/uploads',
  method: 'POST',
  headers: {
    x_api_key: '{{apiKey}}',
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "extension": "",\n  "content_md5": ""\n}'
};

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

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"extension\": \"\",\n  \"content_md5\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/uploads")
  .post(body)
  .addHeader("x_api_key", "{{apiKey}}")
  .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/uploads',
  headers: {
    x_api_key: '{{apiKey}}',
    '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({extension: '', content_md5: ''}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/uploads',
  headers: {x_api_key: '{{apiKey}}', 'content-type': 'application/json'},
  body: {extension: '', content_md5: ''},
  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}}/uploads');

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

req.type('json');
req.send({
  extension: '',
  content_md5: ''
});

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}}/uploads',
  headers: {x_api_key: '{{apiKey}}', 'content-type': 'application/json'},
  data: {extension: '', content_md5: ''}
};

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

const url = '{{baseUrl}}/uploads';
const options = {
  method: 'POST',
  headers: {x_api_key: '{{apiKey}}', 'content-type': 'application/json'},
  body: '{"extension":"","content_md5":""}'
};

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

NSDictionary *headers = @{ @"x_api_key": @"{{apiKey}}",
                           @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"extension": @"",
                              @"content_md5": @"" };

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/uploads"]
                                                       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}}/uploads" in
let headers = Header.add_list (Header.init ()) [
  ("x_api_key", "{{apiKey}}");
  ("content-type", "application/json");
] in
let body = Cohttp_lwt_body.of_string "{\n  \"extension\": \"\",\n  \"content_md5\": \"\"\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/uploads",
  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([
    'extension' => '',
    'content_md5' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json",
    "x_api_key: {{apiKey}}"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/uploads', [
  'body' => '{
  "extension": "",
  "content_md5": ""
}',
  'headers' => [
    'content-type' => 'application/json',
    'x_api_key' => '{{apiKey}}',
  ],
]);

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

$request->setHeaders([
  'x_api_key' => '{{apiKey}}',
  'content-type' => 'application/json'
]);

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

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'extension' => '',
  'content_md5' => ''
]));
$request->setRequestUrl('{{baseUrl}}/uploads');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'x_api_key' => '{{apiKey}}',
  'content-type' => 'application/json'
]);

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

echo $response->getBody();
$headers=@{}
$headers.Add("x_api_key", "{{apiKey}}")
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/uploads' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "extension": "",
  "content_md5": ""
}'
$headers=@{}
$headers.Add("x_api_key", "{{apiKey}}")
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/uploads' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "extension": "",
  "content_md5": ""
}'
import http.client

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

payload = "{\n  \"extension\": \"\",\n  \"content_md5\": \"\"\n}"

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

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

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

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

url = "{{baseUrl}}/uploads"

payload = {
    "extension": "",
    "content_md5": ""
}
headers = {
    "x_api_key": "{{apiKey}}",
    "content-type": "application/json"
}

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

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

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

payload <- "{\n  \"extension\": \"\",\n  \"content_md5\": \"\"\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, add_headers('x_api_key' = '{{apiKey}}'), content_type("application/json"), encode = encode)

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

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

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

request = Net::HTTP::Post.new(url)
request["x_api_key"] = '{{apiKey}}'
request["content-type"] = 'application/json'
request.body = "{\n  \"extension\": \"\",\n  \"content_md5\": \"\"\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/uploads') do |req|
  req.headers['x_api_key'] = '{{apiKey}}'
  req.body = "{\n  \"extension\": \"\",\n  \"content_md5\": \"\"\n}"
end

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

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

    let payload = json!({
        "extension": "",
        "content_md5": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("x_api_key", "{{apiKey}}".parse().unwrap());
    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}}/uploads \
  --header 'content-type: application/json' \
  --header 'x_api_key: {{apiKey}}' \
  --data '{
  "extension": "",
  "content_md5": ""
}'
echo '{
  "extension": "",
  "content_md5": ""
}' |  \
  http POST {{baseUrl}}/uploads \
  content-type:application/json \
  x_api_key:'{{apiKey}}'
wget --quiet \
  --method POST \
  --header 'x_api_key: {{apiKey}}' \
  --header 'content-type: application/json' \
  --body-data '{\n  "extension": "",\n  "content_md5": ""\n}' \
  --output-document \
  - {{baseUrl}}/uploads
import Foundation

let headers = [
  "x_api_key": "{{apiKey}}",
  "content-type": "application/json"
]
let parameters = [
  "extension": "",
  "content_md5": ""
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/uploads")! 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()
GET Search for a DOI
{{baseUrl}}/dois/:doi
HEADERS

X_API_KEY
{{apiKey}}
QUERY PARAMS

doi
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/dois/:doi");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "x_api_key: {{apiKey}}");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

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

(client/get "{{baseUrl}}/dois/:doi" {:headers {:x_api_key "{{apiKey}}"}})
require "http/client"

url = "{{baseUrl}}/dois/:doi"
headers = HTTP::Headers{
  "x_api_key" => "{{apiKey}}"
}

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

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

func main() {

	url := "{{baseUrl}}/dois/:doi"

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

	req.Header.Add("x_api_key", "{{apiKey}}")

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

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

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

}
GET /baseUrl/dois/:doi HTTP/1.1
X_api_key: {{apiKey}}
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/dois/:doi")
  .setHeader("x_api_key", "{{apiKey}}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/dois/:doi"))
    .header("x_api_key", "{{apiKey}}")
    .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}}/dois/:doi")
  .get()
  .addHeader("x_api_key", "{{apiKey}}")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/dois/:doi")
  .header("x_api_key", "{{apiKey}}")
  .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}}/dois/:doi');
xhr.setRequestHeader('x_api_key', '{{apiKey}}');

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/dois/:doi',
  headers: {x_api_key: '{{apiKey}}'}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/dois/:doi';
const options = {method: 'GET', headers: {x_api_key: '{{apiKey}}'}};

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}}/dois/:doi',
  method: 'GET',
  headers: {
    x_api_key: '{{apiKey}}'
  }
};

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

val request = Request.Builder()
  .url("{{baseUrl}}/dois/:doi")
  .get()
  .addHeader("x_api_key", "{{apiKey}}")
  .build()

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

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/dois/:doi',
  headers: {
    x_api_key: '{{apiKey}}'
  }
};

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}}/dois/:doi',
  headers: {x_api_key: '{{apiKey}}'}
};

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

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

const req = unirest('GET', '{{baseUrl}}/dois/:doi');

req.headers({
  x_api_key: '{{apiKey}}'
});

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}}/dois/:doi',
  headers: {x_api_key: '{{apiKey}}'}
};

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

const url = '{{baseUrl}}/dois/:doi';
const options = {method: 'GET', headers: {x_api_key: '{{apiKey}}'}};

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

NSDictionary *headers = @{ @"x_api_key": @"{{apiKey}}" };

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/dois/:doi"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
[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}}/dois/:doi" in
let headers = Header.add (Header.init ()) "x_api_key" "{{apiKey}}" in

Client.call ~headers `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/dois/:doi",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "x_api_key: {{apiKey}}"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/dois/:doi', [
  'headers' => [
    'x_api_key' => '{{apiKey}}',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/dois/:doi');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders([
  'x_api_key' => '{{apiKey}}'
]);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/dois/:doi');
$request->setRequestMethod('GET');
$request->setHeaders([
  'x_api_key' => '{{apiKey}}'
]);

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

echo $response->getBody();
$headers=@{}
$headers.Add("x_api_key", "{{apiKey}}")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/dois/:doi' -Method GET -Headers $headers
$headers=@{}
$headers.Add("x_api_key", "{{apiKey}}")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/dois/:doi' -Method GET -Headers $headers
import http.client

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

headers = { 'x_api_key': "{{apiKey}}" }

conn.request("GET", "/baseUrl/dois/:doi", headers=headers)

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

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

url = "{{baseUrl}}/dois/:doi"

headers = {"x_api_key": "{{apiKey}}"}

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

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

url <- "{{baseUrl}}/dois/:doi"

response <- VERB("GET", url, add_headers('x_api_key' = '{{apiKey}}'), content_type("application/octet-stream"))

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

url = URI("{{baseUrl}}/dois/:doi")

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

request = Net::HTTP::Get.new(url)
request["x_api_key"] = '{{apiKey}}'

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

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

response = conn.get('/baseUrl/dois/:doi') do |req|
  req.headers['x_api_key'] = '{{apiKey}}'
end

puts response.status
puts response.body
use reqwest;

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

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("x_api_key", "{{apiKey}}".parse().unwrap());

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

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

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/dois/:doi \
  --header 'x_api_key: {{apiKey}}'
http GET {{baseUrl}}/dois/:doi \
  x_api_key:'{{apiKey}}'
wget --quiet \
  --method GET \
  --header 'x_api_key: {{apiKey}}' \
  --output-document \
  - {{baseUrl}}/dois/:doi
import Foundation

let headers = ["x_api_key": "{{apiKey}}"]

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/dois/:doi")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
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()
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

[
  {
    "url": "/resources/a0fc525b-0d49-48e0-a385-f86bd13bce4d"
  }
]
PUT Updates a file's metadata
{{baseUrl}}/files
HEADERS

X_API_KEY
{{apiKey}}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/files");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "x_api_key: {{apiKey}}");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

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

(client/put "{{baseUrl}}/files" {:headers {:x_api_key "{{apiKey}}"}})
require "http/client"

url = "{{baseUrl}}/files"
headers = HTTP::Headers{
  "x_api_key" => "{{apiKey}}"
}

response = HTTP::Client.put url, headers: headers
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Put,
    RequestUri = new Uri("{{baseUrl}}/files"),
    Headers =
    {
        { "x_api_key", "{{apiKey}}" },
    },
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/files");
var request = new RestRequest("", Method.Put);
request.AddHeader("x_api_key", "{{apiKey}}");
var response = client.Execute(request);
package main

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

func main() {

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

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

	req.Header.Add("x_api_key", "{{apiKey}}")

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

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

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

}
PUT /baseUrl/files HTTP/1.1
X_api_key: {{apiKey}}
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("PUT", "{{baseUrl}}/files")
  .setHeader("x_api_key", "{{apiKey}}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/files"))
    .header("x_api_key", "{{apiKey}}")
    .method("PUT", 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}}/files")
  .put(null)
  .addHeader("x_api_key", "{{apiKey}}")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.put("{{baseUrl}}/files")
  .header("x_api_key", "{{apiKey}}")
  .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('PUT', '{{baseUrl}}/files');
xhr.setRequestHeader('x_api_key', '{{apiKey}}');

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

const options = {
  method: 'PUT',
  url: '{{baseUrl}}/files',
  headers: {x_api_key: '{{apiKey}}'}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/files';
const options = {method: 'PUT', headers: {x_api_key: '{{apiKey}}'}};

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}}/files',
  method: 'PUT',
  headers: {
    x_api_key: '{{apiKey}}'
  }
};

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

val request = Request.Builder()
  .url("{{baseUrl}}/files")
  .put(null)
  .addHeader("x_api_key", "{{apiKey}}")
  .build()

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

const options = {
  method: 'PUT',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/files',
  headers: {
    x_api_key: '{{apiKey}}'
  }
};

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: 'PUT',
  url: '{{baseUrl}}/files',
  headers: {x_api_key: '{{apiKey}}'}
};

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

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

const req = unirest('PUT', '{{baseUrl}}/files');

req.headers({
  x_api_key: '{{apiKey}}'
});

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}}/files',
  headers: {x_api_key: '{{apiKey}}'}
};

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

const url = '{{baseUrl}}/files';
const options = {method: 'PUT', headers: {x_api_key: '{{apiKey}}'}};

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

NSDictionary *headers = @{ @"x_api_key": @"{{apiKey}}" };

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/files"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PUT"];
[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}}/files" in
let headers = Header.add (Header.init ()) "x_api_key" "{{apiKey}}" in

Client.call ~headers `PUT uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/files",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => [
    "x_api_key: {{apiKey}}"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('PUT', '{{baseUrl}}/files', [
  'headers' => [
    'x_api_key' => '{{apiKey}}',
  ],
]);

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

$request->setHeaders([
  'x_api_key' => '{{apiKey}}'
]);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/files');
$request->setRequestMethod('PUT');
$request->setHeaders([
  'x_api_key' => '{{apiKey}}'
]);

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

echo $response->getBody();
$headers=@{}
$headers.Add("x_api_key", "{{apiKey}}")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/files' -Method PUT -Headers $headers
$headers=@{}
$headers.Add("x_api_key", "{{apiKey}}")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/files' -Method PUT -Headers $headers
import http.client

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

payload = ""

headers = { 'x_api_key': "{{apiKey}}" }

conn.request("PUT", "/baseUrl/files", payload, headers)

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

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

url = "{{baseUrl}}/files"

payload = ""
headers = {"x_api_key": "{{apiKey}}"}

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

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

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

payload <- ""

response <- VERB("PUT", url, body = payload, add_headers('x_api_key' = '{{apiKey}}'), content_type(""))

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

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

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

request = Net::HTTP::Put.new(url)
request["x_api_key"] = '{{apiKey}}'

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

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

response = conn.put('/baseUrl/files') do |req|
  req.headers['x_api_key'] = '{{apiKey}}'
end

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

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

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("x_api_key", "{{apiKey}}".parse().unwrap());

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

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

    dbg!(results);
}
curl --request PUT \
  --url {{baseUrl}}/files \
  --header 'x_api_key: {{apiKey}}'
http PUT {{baseUrl}}/files \
  x_api_key:'{{apiKey}}'
wget --quiet \
  --method PUT \
  --header 'x_api_key: {{apiKey}}' \
  --output-document \
  - {{baseUrl}}/files
import Foundation

let headers = ["x_api_key": "{{apiKey}}"]

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/files")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
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()
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

The client is not authorized to perform the requested action
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "message": "File was successfully updated"
}
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "code": 401,
  "message": "401: Request not authorized. Please provide a valid API key for access."
}
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "code": 404,
  "message": "Record not found"
}
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "code": 411,
  "message": "Unable to complete the request",
  "errors": [
    "Sample error from server"
  ]
}
RESPONSE HEADERS

Content-Type
application/json
RESPONSE BODY json

{
  "code": 500,
  "message": "We're sorry, but something went wrong",
  "errors": [
    "NoMethodError",
    "undefined method `application' for nil:NilClass"
  ]
}